본문 바로가기
공부/KISA

암호키 관리 - KISA 소프트웨어 개발 보안 가이드

by Skogkatt의 개인 블로그 2020. 7. 14.
반응형

https://www.kisa.or.kr/public/laws/laws3.jsp

 

기술안내서 가이드 < 관련법령·기술안내서 < 자료실 : 한국인터넷진흥원

기술안내서 가이드 한국인터넷진흥원 기술안내서 가이드 입니다. 게시판 목록 보기 기술안내서 가이드 표 대분류 소분류 기술안내서 가이드 대상 수준 인터넷 진흥 및 이용 활성화 인터넷 진흥

www.kisa.or.kr


분석∙설계단계 SW 보안강화 - 설계보안항목 정의 및 설계 시 고려 사항 - 암호키 관리

설명

  • 암호키 생성, 분배, 접근, 파기 등 안전하게 암호키 생명주기를 관리할 수 있는 방법을 설계해야 한다.

설계항목내용

  • DB 데이터 암호화에 사용되는 암호키는 한국인터넷진흥원의 「암호이용 안내서」에서 정의하고 있는 방법을 적용해야 한다.
  • 설정 파일(xml, Properties) 내의 중요정보 암호화에 사용되는 암호키는 암호화해서 별도의 디렉 터리에 보관해야 한다.

가. 취약점 개요

사례 1: 하드코드 된 암호키
  • 코드 내부에 하드코드 된 암호화 키를 사용하여 암호화를 수행하면 암호화된 정보가 유출될 가능성이 높아진다.
사례 2: 주석 문 안에 포함된 암호키
  • 주석문 안에 암호키에 대한 설명이 포함되어 있는 경우, 공격자가 소스코드에 접근할 수 있다면 아주 쉽게 암호키가 노출될 수 있다.

나. 설계 시 고려사항

1. DB 데이터 암호화에 사용되는 암호키는 한국인터넷진흥원의 「암호이용 안내서」에서 정의하고 있는 방법을 적용해야 한다

(ㄱ) 암호키 관리 규칙 생성 시 고려사항
  • 1. DB 데이터 암호화에 사용되는 암호키는 데이터가 저장되는 데이터베이스와 물리적으로 분리된 장소에 별도로 보관한다.
  • 2. 암호화 키를 생성, 분배, 사용, 폐기하는 키의 생명주기 관리를 위한 명시적인 암호화 정책을 적용한다.
  • 3. 패스워드나 암호화 키는 메모리에 저장하지 않는다
  • 4. 패스워드나 암호키가 메모리에 저장되어야 하는 경우 사용종료 후 메모리를 0으로 초기화한다.
  • 5. 암호키 생성 및 변경 시 암호키에 대한 백업 기능을 구현한다.
  • 6. 대칭키 암호 알고리즘에 사용되는 비밀키의 송신자 사용기간은 최대 2년, 수신자 사용기간은 최대 5년으로 설정한다.
  • 7. 공개키 암호 알고리즘에서 사용되는 암호화 공개키는 최대 2년, 복호화 개인키는 최대 2년, 검 증용 공개키는 최소 3년, 서명용 개인키는 최대 3년으로 설정한다
(ㄴ) 조직의 보호 목적에 따라 암호키 관리 수준을 지정
  • NIST에서 제정한 FIPS 140‐2의 레벨로써, 조직의 보호 목적에 따라 적절히 채택한다.
(ㄷ) 키 생명주기 기준 암호화 키 관리 프로세스를 구축
  • 키 생성 – 암호화 키와 패스워드를 생성, 사용, 관리하는 사람 등을 명시하고 키를 생성하는데 사용하는 프로그램 등 어떠한 방법으로 생성하는지에 대한 절차를 명시한다.
  • 키 사용 – 암호화 키와 패스워드를 어떠한 방법으로 사용하는지에 대한 절차, 생성한 키의 종류에 따른 변경주기, 인가된 사용자만 키에 접근할 수 있는 접근통제 방법 및 요구사항 등을 명시한다.
  • 키 폐기 – 키의 사용주기가 다 된 경우 및 사용 용도가 끝난 경우 등 생성한 키를 폐기하여야 하는 경우를 명시하고, 암호화 키와 패스워드를 안전하게 폐기하는 절차 및 요구사항 등을 명시한다.
(ㄹ) 키 복구 방안
  • 사용자 퇴사 등으로 인해 사용자 이외의 사람에게 키 복구가 필요한 경우, 암호화 키는 정보보호 담당자의 관리 하에 암호화 키 관리대장 등에서 복구하고, 패스워드는 정보보호 담당자가 임시 패스워드를 발급하는 등 키 복구에 대한 방안을 마련하도록 한다
(ㅁ) 암호키 사용 유효기간
  • 암ㆍ복호화 키의 사용이 일정 시간을 넘은 경우 사용자 인터페이스를 통해 키 사용기간이 경과했음을 알리고 새로운 키 생성을 권장하도록 설계한다. [표 3‐17]는 NIST에서 권고하는 암호키 사용 유효기간이다.

2. 설정 파일(xml, Properties) 내의 중요정보 암호화에 사용되는 암호키는 암호화해서 별도의 디렉터리에 보관해야 한다.

  • 설정 파일 내의 중요 정보 암호화에 사용된 암호키는 마스터키를 이용하여 암호화하여 별도의 디렉터리에 보관한다.

참고자료

반응형

댓글