코드소프트 망신 사건

파일:Attachment/1 79.jpg
모든 것을 요약해주는 사진 한장.

1 개요

2009년 3월, 코드소프트라는 기업에서 2008년 12월 4일에 특허를 받은 새로운 암호 알고리즘을 개발했다고 발표하고, 현상금 1천만 원을 내걸고 깨보라고 선언했는데 꼴랑 2시간 만에 깨져서 망신당한 사건. 2일도 아니고 2시간이다! #

코드소프트에서는 3월 16일부터 6월 30일까지 진행한다고 했으나, 문제를 낸 당일 겨우 2시간 만에 깨져서 망신을 당하고 말았다.#(…)

암호를 해체한 것은 PlayXP의 Kesarr였다고 한다.#

2 암호화 알고리즘 MaskCrypt의 문제점

MaskCrypt는 ‘다국어 텍스트 문자열 암호화를 위한 대칭키 암호 알고리즘 보완 방법’으로 2008년 특허를 받은 알고리즘으로, 제작자의 발표에 따르면 암호화된 한글이 깨지지 않고 길이가 그대로 유지되기 때문에 DB에 자유롭게 저장할 수 있는 것이 장점이며, C, Java, JavaScript까지 사용했다고 한다.

Kesarr는 JavaScript 소스를 기반으로 암호화를 해석했다. 그가 분석한 이 암호화 알고리즘의 약점은 다음과 같다.

  • 평문과 암호문의 각 문자가 1:1로 대응하여 확산 효과가 없다.
  • 공백문자, 구두점 등 특수문자가 그대로 남아 있기 때문에 문장 구조를 파악하기 쉬워 빈도 분석이 매우 간단하다.
  • 비밀키의 각 문자가 아스키 코드의 일반 문자로 한정되어 있어서 경우의 수가 많지 않다.
  • 비밀키의 각 문자가 암호문의 한 문자를 만들어내기 때문에 혼돈 효과가 없어 글자별로 테스트하기 쉽다.
  • 비밀키의 길이를 파악하기도 쉽다.

사실, 이 해설대로라면 MaskCrypt는 기껏해야 고전 암호 수준으로, 현대적인 암호 알고리즘은 아니다.(…)

이것은 원리적으로 16세기에 만들어진(…) 비지넬 암호(Vigenere cipher)와 비슷한 것으로 보인다. 비지넬 암호는 단순 치환식 암호보다 한 단계 더 나아간 것으로, 모든 암호를 같은 키로 변환하는 단순 치환식 암호와는 달리 다소 긴 키를 사용하여 키의 길이만큼 반복해가며 암호를 만든다.

비지넬 암호는 1863년에 비교적 효율적인 카시스키 테스트라는 해독법이 나왔으며, 현대라면 PC를 사용해서 10초 이내에 깰 수 있다.

혼돈(confusion)과 확산(diffusion) 효과의 개념은 클로드 섀넌이 제시한 것이다. 1949년에.(…)

말하자면 4~500년 전 수준의 암호 알고리즘.

게다가 공백과 구두점, 특수문자를 변환하지 않는다는 치명적인 문제점이 있기 때문에 빈도분석이 쉬워서 더욱 간단히 깰 수 있다. 알고리즘을 직접 알아내야 하는 상황이니까 2시간이나 걸렸지, 알고리즘이 알려져 있는 것을 전제로 하는 실전 상황이라면 이 암호가 돌파당하는 데 걸리는 시간은 수초 이내일 것이다. 암호화로서의 의미가 없는 수준이다.(…)

현대에 쓰이는 암호 방식에서 일반적으로 소스 코드알고리즘이 공개되는 것은 흔히 있는 일[1]이므로, 알고리즘이 알려졌다는 것은 현대 암호에서는 해독당한 것의 변명이 되지 못한다.

3 현재

홈페이지에 접속하면 굉장히 오래 전부터 서비스 준비 중이라는 문구만 있고 아무것도 없다. 그 외에 다른 정보는 전혀 없는 상황이다. 언젠가는 판매용 도메인이 돼서 다른 사람이 사서 다른 홈페이지가 될지도 모를 일이다. KISREPORT에 코드소프트웨어라는 폐업한 곳이 있는데 그게 저 코드소프트인지는 알 수 없다.

2013년 6월 확인결과, 이미 판매용 도메인이 되었다. 도메인인 codesoft.co.kr을 WHOIS 서비스에서 검색해 보면 2010년에 재등록되어 개인 소유 도메인이 되어 있고, 해당 서비스 준비중 문구는 도메인 등록업체에서 기본 제공하는 공사중 페이지이다. 코드소프트는 폐업한 듯하다. 그렇게 직원들은 뿔뿔이 흩어졌겠지.
  1. 현대에 유명한 암호 알고리즘은 거의 대부분 알고리즘과 소스 코드가 공개되어 있다.