분류: 보안기능 / 하드코드된 중요정보, 주석문 안에 포함된 시스템 주요정보
가. 항목명
암호키 관리
나. 취약점 설명
하드코드된 암호키: 코드 내부에 암호화 키를 하드코딩하여 사용하여 노출되는 취약점
주석문 안에 포함된 암호키: 주석문 안에 암호키에 대한 설명이 포함된 경우 공격자 접근 시 노출되는 취약점
다. 보안대책
① DB데이터 암호화에 사용되는 암호키는 KISA 가이드 방법을 적용해야 한다.
② 설장파일(XML, Properties) 내의 중요정보 암호화에 사용되는 키는 암호화해서 별도 디렉토리에 보관한다.
라. 설계시 고려사항
① DB데이터 암호화에 사용하는 암호키는 암호 키 관리 안내서에서 정의하는 관리방법을 적용한다.
- 암호키 관리 규칙 생성 시 고려사항
1. 암호키는 데이터가 저장되는 DB와 물리적으로 분리된 장소에 보관
2. 키의 생명주기 관리를 위한 명시적인 암호화 정책 적용
3. 메모리에 저장안함
4. 메모리에 저장되야하는 경우 사용종료 후 메모리를 0으로 초기화
5. 암호키에 대한 백업기능 구현
6. 암호 알고리즘에 사용되는 키 종류에 따라 사용 유효기간 설정
- 조직의 보호 목적에 따라 암호키 관리 수준 지정 FIPS 140-2 레벨로 조직의 보호목적에 따라 적절히 채택
Level 1: 기본적인 보안요구사항 충족(최소한의 보안) 제공
Level 2: 침입 이후에 변조가 나타내는 증거를 제공함으로 써 물리적 보안메커니즘 제공
Level 3: 침입을 감지하면 저장된 키를 삭제
Level 4: 암호모듈 외부 전압이나 온도 등을 감지하여 슈퍼쿨링 등 환경이상 변화 시 암호키 삭제
- 키 생명주기 기준 암호화 키 관리 프로세스 구축
- 키 복구 방안: 암호 키는 담당자의 관리 하에 암호화키 관리대장에서 복구하고 임시 발급 등 복구에 대한 방안을 마련
- 암호 키 사용 유효기간을 적용
- 대칭키 송신자 2년 수신자 (송신자 사용기간+3년)이하
- 공개키 암호화키, 복호화 개인키, 검증용 공개키, 서명용 개인키 2,2,1~3, 크기에 따라 다름
마. 진단기준 및 세부사항
① 설정파일(XML, Proterties) 내의 중요정보 암호화에 사용하는 키는 암호화해서 별도 디렉토리에 저장
- 설정파일(XML, Properties) 에 저장되는 중요정보(DB계정정보, 시스템 중요정보)가 암호화되어 저장
- 설정파일에 저장된 중요정보의 암복호화에 사용되는 키는 설정파일과 별도 위치에 저장
- 암호키 생성 및 변경방법 수립하고 암호키 백업정책 정의
- 암호 키 사용기간 정의
- 대칭키: 송신자 2년, (송신자+3년) 이내
- 비대칭키: 암호 공개키 2년, 개인키 2년, 검증용 공개키 1~3년, 서명용 개인키 키 크기에 따라 다름
- 암호키 사용 시 사용 종료 후 메모리 0으로 초기화
바. 안전한 보안설계의 예
No | 요구사항명 | 해결방안 | 검수기준 | 비고 |
1 | DB사용자 계정에 최소권한 부여 | 애플리케이션에서 사용하는 DB 사용자 계정은 애플리케이션에서 사용하는 테이블, 뷰, 프로시저에 대해서만 사용권한을 부여한다 | 애플리케이션에서 사용하는 DB사용자 계정은 테이블, 뷰, 프로시저에 대한 권한만 적용된다. | 지속적인 DB사용자 계정 관리가 필요 |
'보안 > SW보안약점 진단원' 카테고리의 다른 글
[설계보안] 보안기능-중요정보 저장 (0) | 2022.06.25 |
---|---|
[설계보안] 보안기능-암호연산 (0) | 2022.06.25 |
[설계보안] 보안기능-중요자원 접근통제 (0) | 2022.06.25 |
[설계보안] 보안기능-비밀번호 관리 (0) | 2022.06.24 |
[설계보안] 보안기능-인증 수행 제한 (0) | 2022.06.24 |