본문 바로가기
공부/KISA

취약한 암호화 알고리즘 사용 - KISA 소프트웨어 개발 보안 가이드

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

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

 

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

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

www.kisa.or.kr


구현 단계 시큐어코딩 가이드 - 보안 기능 - 취약한 암호화 알고리즘 사용

가. 개요 

  • SW 개발자들은 환경설정 파일에 저장된 패스워드를 보호하기 위하여 간단한 인코딩 함수를 이용하여 패스워드를 감추는 방법을 사용하기도 한다. 그렇지만 base64와 같은 지나치게 간단한 인코딩 함수로는 패스워드를 제대로 보호할 수 없다.
  • 정보보호 측면에서 취약하거나 위험한 암호화 알고리즘을 사용해서는 안 된다. 표준화되지 않은 암호화 알고리즘을 사용하는 것은 공격자가 알고리즘을 분석하여 무력화시킬 수 있는 가능성을 높일 수도 있다. 몇몇 오래된 암호화 알고리즘의 경우는 컴퓨터의 성능이 향상됨에 따라 취약해지기도 해서, 예전에는 해독하는데 몇십 억년이 걸릴 것이라고 예상되던 알고리즘이 며칠이나 몇 시간 내에 해독되기도 한다. RC2, RC4, RC5, RC6, MD4, MD5, SHA1, DES 알고리즘이 여기에 해당된다.

나. 보안대책

  • 자신만의 암호화 알고리즘을 개발하는 것은 위험하며, 학계 및 업계에서 이미 검증된 표준화된 알고리즘을 사용한다. 기존에 취약하다고 알려진 DES, RC5등의 암호 알고리즘을 대 신하여, 3 DES, AES, SEED 등의 안전한 암호 알고리즘으로 대체하여 사용한다. 또한, 업무 관련 내용, 개인정보 등에 대한 암호 알고리즘 적용 시, IT보안인증 사무국이 안전성을 확인한 검증필 암호모듈을 사용해야 한다.

다. 코드예제

JAVA
더보기

다음 예제는 취약한 DES 알고리즘으로 암호화하고 있다.

아래 코드처럼 안전하다고 알려진 AES 알고리즘 등을 적용해야 한다.

 

 

C#
더보기

다음 예제는 취약한 DES 알고리즘을 사용하고 있다.

아래 코드처럼 안전하다고 알려진 AES 알고리즘 등을 적용해야 한다.

 

C
더보기

다음 예제는 취약한 DES 알고리즘을 사용하고 있는 C 코드이다.

안전하다고 알려진 AES 알고리즘을 사용하도록 한다


참고자료

반응형

댓글