본 게시물은 한국형 암호모듈 검증제도를 새롭게 접한 이들을 대상으로 합니다.
암호란 왜 필요할까요?
Wi-Fi를 예시로 시작하겠습니다. 여러분, 공공 Wi-Fi를 많이 사용하실 겁니다. 이 Wi-Fi에는 암호 및 인증 방식이 여러가지가 있습니다. WPA2, WEP 등이 있는데요!
여기서 WEP는 암호가 걸려있지 않은 것을 뜻하고, WPA2는 암호화 등이 가능하여 네트워크 스니핑(코로 킁킁대서 데이터를 엿보는 것임..)에 안전합니다. (비교적)
WEP를 모르신다고요?
스타벅스 Wi-Fi 중에 Secure가 붙지 않은 것이 있습니다. 사용해보신 적 있으신가요? 이게 WEP에 해당합니다.
무슨 상관이냐고요?
패킷 스니핑 도구인 WireShark를 사용하더라도, WEP는 아래처럼 중요정보를 모~두 탈취 당하실 수 있습니다.
네, 이를 막기 위한 장치로 통신 암호화가 있습니다.
이 암호화를 편하게 해주는 장치가 암호모듈입니다.
암호모듈은 S/W에서는 라이브러리에 해당합니다. 다시 말해, 라이브러리 사용자가 활용하기 편해야하고, 사용하려는 알고리즘과 그에 대한 파라미터가 같다면 그 누가 사용하더라도 통신이 정상 처리 되어야 한다는 겁니다.
이 부분을 다시 말하자면, A와 B가 서로 다른 대칭키 암호를 사용하고 있다고 하겠습니다.
A는 대한민국이라는 단어를 암호화 처리했을 때, 출력값으로 AA2231가 나옵니다.
B는 같은 단어를 암호화 처리하면 BBLZKS가 나옵니다.
이 말은 즉, A와 B가 사용하는 암호 방식이 다르다는 것을 의미합니다.
서로 모르니까 안전한거 아니냐구요?
하지만, 적을 속여야지 우리팀까지 속이면 곤란합니다. 통신 자체가 안될 수 있어요.
통신을 정상화 시킬 수 있어야하고, 표준화된 설계도가 있다면 이를 해결할 수 있습니다.
이 표준은 미국의 NIST와 국내에선 국정원과 국가보안기술연구소가 만들고 있습니다.
대단한 분들이지요. 표준으로는 대표적으로 FIPS 140-2, FIPS 140-3, KS X ISO/IEC 19790, KS X ISO/IEC 24759가 있습니다. (물론, 암호 알고리즘 자체에 대한 구현 및 아이디어는 공모전을 통해 나오는게 보통입니다.)
표준 및 안내서에 따라 KCMVP 시험자들이 암호모듈을 시험하고, 개발업체에서는 구현을 하게 됩니다.
시험과 관련된 구성조직과 시험절차는 아래와 같습니다.
신청기관은 개발업체에 해당합니다. 공공, 민간 그리고 학계까지 다양합니다.
시험기관은 국가보안기술연구소, 한국인터넷진흥원 그리고 한국시스템보증이 있습니다. ('24.8.25 기준)
KCMVP의 모태가 되는 CMVP가 S/W 암호모듈 검증은 민간에게 넘기는 것을 보아, 국내의 민간 시험기관도 점점 확대될 것으로 예상합니다.
그리고 검증기관은 국가정보원이 있습니다.
KCMVP 개발업체가 가져야할 주요 역량은 아래와 같다고 말씀드릴 수 있습니다.
1. 암호 수학
2. 인증 문서 작성
3. 발표 능력 및 깡 (본인보다 잘하는 시험자들을 이겨내야 하는 일입니다.)
KCMVP 업무를 수행해야 하는 입문자 분들께 도움이 되기를 바랍니다.
감사합니다!