본문 바로가기

IT정보/SW보안약점 진단원

2.6 암호연산

2.6 암호연산

1. 보안약점 항목

  • 취약한 암호화 알고리즘 사용
  • 충분하지 않은 키 길이 사용
  • 적절하지 않은 난수 값 사용
  • 부적절한 인증서 유효성 검증
  • 솔트 없이 일방향 해쉬함수 사용

2. 설명

  • 국제표준 또는 검증필 암호모듈로 등재된 안전한 암호 알고리즘을 선정하고 충분한 암호키 길이, 솔트, 충분한 난수 값을 적용한 안전한 암호연산 수행방법을 설계한다.

3. 보안대책

  • 대칭키 또는 비대칭키를 이용해서 암·복호화를 수행해야 하는 경우 한국인터넷진흥원의 『암호이용안내서』에서 
    정의하고 있는 암호화 알고리즘과 안전성이 보장되는 암호키 길이를 사용해야 한다.
  • 복호화되지 않는 암호화를 수행하기 위해 해시함수를 사용하는 경우 안전한 해시 알고리즘 과 솔트값을 적용하여 암호화해야 한다.
  •  난수 생성 시 안전한 난수 생성 알고리즘을 사용해야 한다.

4. 진단기준

  • 암호키를 관리하기 위한 정책이 수립되어 있으며, 안전하게 암호키를 관리하기 위한 방법이 설계에 반영되어 있는가?
  • 암호키가 안전하게 관리되는지 점검하는 테스트 계획이 수립되어 있는가?

사례1 : 취약한 암호알고리즘 사용
소프트웨어 개발자들은 환경설정 파일에 저장된 비밀번호를 보호하기 위하여 간단한 인코딩 함수를
이용하여 비밀번호를 감추는 방법을 사용하기도 한다. 그렇지만 base64와 같은 지나치게 간단한 인코딩
함수를 사용하면 비밀번호를 안전하게 보호할 수 없다.

 

사례2 : 충분하지 않은 키 길이 사용
검증된 암호화 알고리즘을 사용하더라도 키 길이가 충분히 길지 않으면 짧은 시간 안에 키를 찾아낼
수 있고 이를 이용해 공격자가 암호화된 데이터나 비밀번호를 복호화 할 수 있게 된다.

 

 

사례3 : 적절하지 않은 난수 값 사용
예측 가능한 난수를 사용하는 것은 시스템의 보안약점을 유발한다. 예측 불가능한 숫자가 필요한
상황에서 예측 가능한 난수를 사용한다면, 공격자는 SW에서 생성되는 다음 숫자를 예상하여 시스템을
공격하는 것이 가능하다.

사례4 : 솔트 없이 사용하는 일방향 해시함수
비밀번호 저장시 일방향 해시함수의 성질을 이용하여 비밀번호의 해시값을 저장한다. 만약 비밀번호를
솔트(Salt)없이 해시하여 저장한다면, 공격자는 레인보우 테이블과 같이 가능한 모든 비밀번호에
대해 해시값을 미리 계산하고, 이를 이용한 전수조사로 비밀번호를 찾을 수 있게 된다.

 

'IT정보 > SW보안약점 진단원' 카테고리의 다른 글

2.8 중요정보 전송  (0) 2023.09.02
2.7 중요정보 저장  (0) 2023.08.25
2.5 암호키 관리  (0) 2023.08.25
2.4 중요자원 접근통제  (0) 2023.08.25
2.3 비밀번호 관리  (0) 2023.08.25