Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

정보 시스템에 기밀성이 꼭 필요한 이유는 무엇일까?

기밀성이란 무엇인가?

기밀성(Confidentiality)은 민감한 정보가 허가되지 않은 당사자에게 노출되지 않도록 보호하는 것을 의미합니다. 기밀성을 확보하는 방법은 크게 두 가지가 있으며, 이를 조합하여 활용하기도 합니다. 첫 번째는 기밀로 유지해야 할 정보에 대한 접근 자체를 제한하는 것이고, 두 번째는 기밀 정보를 암호화하는 것입니다. 기밀성은 때때로 '비밀 유지(Secrecy)'라고도 불립니다.

보안의 핵심 목표로서의 기밀성

기밀성은 정보 보안의 핵심 목표 중 하나입니다. 기밀성을 강화하면 내부 통제력이 높아지고, 내부 및 외부 요인으로부터의 무단 접근을 차단할 수 있어 자원과 자산의 기밀성과 무결성을 동시에 지킬 수 있습니다.

역할 기반(Role-based) 보안 방식을 활용하면 사용자나 열람자에게 적절한 권한을 부여할 수 있습니다. 예를 들어, 특정 부서의 직원에게만 해당 데이터에 대한 접근 권한을 승인하는 방식입니다.

기밀성의 기본 원칙

기밀성의 원칙은 데이터 접근을 엄격하게 승인된 인원으로만 제한하는 것입니다. 사용자는 논리적 통제 수단(예: PC 비밀번호)과 물리적 통제 수단(예: ID 카드)을 포함한 접근 통제 시스템을 안전하게 유지할 책임이 있습니다.

따라서 모든 직원이 정보 보안 인식 교육과 모범 사례에 대해 철저히 훈련받는 것이 필수적입니다. 또한 정보 공유를 제한하고 가용성 제한 사항을 명확히 규정해야 부주의로 인한 기밀 유출을 예방할 수 있습니다.

강력한 비밀번호 관리

비밀번호는 정보를 보호하는 가장 기본적인 수단입니다. 강력한 비밀번호는 최소 8자 이상이어야 하며, 대문자와 소문자, 숫자, 특수문자를 모두 포함해야 합니다. 비밀번호는 동료나 IT 지원 담당자와도 절대 공유해서는 안 되며, 노출 사실을 발견하면 즉시 변경해야 합니다.

비밀번호를 정기적으로 변경하면 해커가 비밀번호를 추측할 수 있는 시간을 줄일 수 있고, 이미 비밀번호를 탈취했더라도 계정을 사용하지 못하도록 막을 수 있습니다. 일반적으로 최소 90일마다 한 번씩 비밀번호를 변경하는 것이 권장됩니다.

시스템 설계에서의 기밀성 확보

기밀성은 교환되는 데이터가 허가되지 않은 사용자에게 노출되지 않도록 보장합니다. 여기서 말하는 '사용자'는 사람뿐만 아니라 애플리케이션, 프로세스, 다른 시스템까지 포함하는 넓은 개념입니다. 따라서 시스템을 설계할 때는 기밀성을 강제할 수 있는 충분한 통제 구조를 마련하고, 승인된 사용자가 데이터로 무엇을 할 수 있고 없는지 명시하는 정책을 함께 수립해야 합니다.

정보의 민감도와 기밀성 수준

정보가 민감할수록 요구되는 기밀성 수준도 높아집니다. 따라서 모든 민감한 정보는 항상 통제하고 모니터링해야 합니다. 자동차 시스템을 예로 들면, 차량 내부와 외부 모두에서 데이터를 보호해야 하며, 저장 중일 때(Data at Rest), 전송 중일 때(Data in Motion), 처리 중일 때(Data in Use) 각각의 상태에서 기밀성을 유지해야 합니다.

처리 중인 데이터(Data in Use)는 메모리 보호 기법으로 보호할 수 있습니다. 암호화 기술은 저장 중인 데이터와 전송 중인 데이터의 기밀성을 확보하는 데 매우 효과적입니다. 다만 암호화는 연산 복잡도를 높이고 지연 시간(Latency)을 증가시킬 수 있으므로, 실시간 성능이 중요한 시스템에서는 신중하게 적용해야 합니다.