Proven by Intelligence
보이지 않는 안전을 인텔리전스로 증명하다.
기술 인사이트를 만나보세요.
금융기관, 인터넷쇼핑몰 등에서는 금융거래 기록, 제품 판매 가격, 개인 정보, 영업 비밀 및 재무 기록 등의 중요한 데이터를 DB(Database)에 저장하고 있습니다.

그런데 이러한 중요한 정보를 담고 있는 데이터는 전자금융 감독규정, ISMS-P 인증 기준(Information Security Management System) 등에 의거하여 ID, 비밀번호 등을 이용하여 필히 접근 통제를 해야 합니다. 또한, 암호화 키 관리 규정과 같이 비밀번호 생성 규칙, 분기별 1회 이상 비밀번호 변경, 비밀번호 보관 시 암호화를 하는 등에 대한 조치를 해야 합니다.

그럼 지금부터 어떻게 DB의 비밀번호를 보다 안전하게 효율적으로 관리할 수 있는지 살펴보겠습니다.
📋 ISMS 암호화 키 관리 기준

📑 전자금융 감독 규정 해설 (금융감독원)

애플리케이션 개발 시 DB 연동 로직을 구현하기 위해서는 위와 같은 내부 사용자 비밀번호 관리 규정을 준수하는 것이 상당히 불편합니다. 특히나 애플리케이션 코드상에 DB 접속 정보를 어떻게 관리해야 하는가 하는 것은 상당히 번거로운 작업입니다. DB 접근에 대한 URL, ID, 비밀번호 등을 하드 코드 시켜 놓거나 별도의 Property 파일 내에 URL, ID, 비밀번호 등을 저장해 놓고 애플리케이션에서 참조하도록 하는 경우가 많습니다. 그런데 이렇게 하는 경우 애플리케이션 개발자 모두에게 주요 DB 접근에 대한 비밀번호가 노출되어 내부자에 의한 비밀번호 유출 사고가 발생할 수 있고 URL, ID, 비밀번호 등을 갱신할 때마다 애플리케이션 소스코드를 변경해야 하는 불편함은 여전히 존재합니다.
💿 개발 편의성 및 보안성 향상을 위한 NeoKeyManager
NeoKeyManager는 사내 암호화 키에 대한 접근 통제 및 라이프 사이클을 관리할 뿐만 아니라 애플리케이션에서 사용하는 DB 접근 URL, ID, 비밀번호 등의 시스템 민감정보에 대해서도 통합 관리함으로써 보안 관리자의 관리 편의성 및 개발자의 개발 편의성을 높일 수 있습니다.

[그림 1] NeoKeyManager 관리 화면
위와 같이 NeoKeyManager에서는 비밀번호, ID, URL 등의 시스템 민감정보를 안전하게 암호화시켜 관리하고 사용자에게는 범용 고유 식별자(UUID, Universally Unique Identifier)를 통해 실제 값이 노출되지 않은 채 사용할 수 있도록 안전하게 보호하고 있습니다. 이를 통해 내부자 공격에 의한 보안 사고를 방지할 수 있으며 정해진 유효기간에 따라 자동으로 시스템 민감정보 값을 갱신하기 때문에 보안팀의 관리 편의성을 높일 수 있습니다.

[그림 2] 시스템 민감 정보에 대한 Property 파일 및 소스코드 예제
특히 시스템 민감정보를 Property 형식으로 관리하고 있는 Java 애플리케이션 개발자들은 Spring Framework, Spring Boot의 Annotation 방식으로 손쉽게 민감정보를 연결하여 사용할 수 있습니다. 이를 통해 개발자는 시스템 민감정보 갱신으로 인한 소스코드 변경을 할 필요가 없어 개발 편의성을 향상시킬 수 있으며, 추가적으로 외주 개발자와의 협업 시에도 민감정보 노출에 따른 보안 사고 발생에 대한 스트레스에서 벗어날 수 있습니다.
보다 자세한 관리 방법은 담당자에게 문의하시면 설명해 드리겠습니다.
📧 nkm_biz@mdsit.co.kr ✍️ 문의남기기
