암호학에 대한 상식 정리 차원:
블록암호화 알고리즘에서 ECB모드를 사용할 때 문제점.
http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29


(Image by Larry Ewing)
좌측의 평문 이미지가 블록암호화 알고리즘을 이용해 ECB 모드로 암호화(우측 이미지)되었을때... 평문과 1대1로 매핑되는 것을 볼 수 있다.
위의 위키피디아 자료에는 사고사례도 나옴.
이번 암호대회에 대한 부정확한 정보가 많아서, 일단 언급이 되고 있는 ECB 모드에 대해 정리.
ECB 모드의 이런 특징으로 인해 MaskCrypt와 관련해 ECB가 많이 언급되는 듯 하다.
MaskCrypt에 대한 상세 소개는 해당 회사 홈페이지(http://209.85.173.132/search?q=cache:wOzi_g88vuYJ:www.codesoft.co.kr/kor/maskcrypt/product/maskcrypt_introduction.ppt+MaskCrypt&cd=3&hl=ko&ct=clnk&gl=kr)에 나와 있다(해당 회사 홈페이지 접근 문제로 구글 캐쉬 사용).
일부에서 얘기하듯 ECB모드의 문제는 아니며, 회사 자료에도 나와 있듯이 MaskCrypt 알고리즘의 특징은
1. 암호학적인 관점 보다는 소프트웨어공학적인 시각으로 접근한 실용 암호 기술.
2. 비밀키의 길이에 제한이 없는 스트림 알고리즘(Stream Cipher)을 사용.
한다는 점이다.
MaskCrypt의 또다른 특징으로 해당 회사는
1. 문자열의 코드를 분석하여 일부 비트만 암호화
2. 동일한 문자 코드 영역 유지 (한글이 깨지지 않습니다.)
3. 동일한 문자 길이 유지
를 들고 있는데, 해커는 이 특징(MaskCrypt의 장점이자 단점)을 잘 공략한 것으로 보인다.
해당 알고리즘의 한계는 "암호학적인 관점보다는 소프트웨어 공학적인 시각으로 접근한 실용 암호 기술"이라는 문장이 잘 표현해주고 있다. 즉, "암호학적 측면에선 한계가 있지만, 실용적인 용도로 사용하기엔 별 무리가 없을 듯 하다"라는 생각을 좀 더 우아하게 표현한 것이다.
개인적인 추측지만, 자료 상에 언급된 내용으로 보아 개발사는 해당 알고리즘의 한계를 이미 알고 있었을 가능성이 높다.
대회 개최는 아마 홍보가 꼭 필요한 회사 측면을 고려하여, 개발자들이 이를 만류할 근거가 부족했기 때문에 한게 아닌가 싶은데 (회사 생활하다보면 기술적으로는 옳지 않지만, 정치적으로는 옳기 때문에 어쩔 수 없이 따라가야 하는 경우가 자주 발생하는 법)... 결과적으로는 좋지 않은 결과가 나왔다. 어디까지나 결과론적인 이야기이다.
개발사가 원한 정답은 아마 '상금으로 거금 1천만원을 걸고 전세계 해커들이 달려들어 해독을 시도했으나, 절대 깰 수 없었던 난공불락의 알고리즘'이었을 것이다. 홍보 문구로 넣기 좋으니까...
공격에 성공한 이가 Diffusion과 Confusion같은 전문 용어를 사용한 것으로 보아 암호학을 전공하고 있거나, 암호학에 대해 공부한 적이 있는 사람이라는 것을 유추할 수 있다. 개발사로선 까마귀 날자 배떨어지듯이... 한마디로 재수가 없었던 것이다.
참고 자료:
Charles P. Pfleeger, Security in Computing, 2nd Ed. pp. 55~56, p. 59 (현재는 4판까지 나와 있는 듯)
이글루스 가든 - professional secur...
블록암호화 알고리즘에서 ECB모드를 사용할 때 문제점.
http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29


(Image by Larry Ewing)
좌측의 평문 이미지가 블록암호화 알고리즘을 이용해 ECB 모드로 암호화(우측 이미지)되었을때... 평문과 1대1로 매핑되는 것을 볼 수 있다.
위의 위키피디아 자료에는 사고사례도 나옴.
이번 암호대회에 대한 부정확한 정보가 많아서, 일단 언급이 되고 있는 ECB 모드에 대해 정리.
ECB 모드의 이런 특징으로 인해 MaskCrypt와 관련해 ECB가 많이 언급되는 듯 하다.
MaskCrypt에 대한 상세 소개는 해당 회사 홈페이지(http://209.85.173.132/search?q=cache:wOzi_g88vuYJ:www.codesoft.co.kr/kor/maskcrypt/product/maskcrypt_introduction.ppt+MaskCrypt&cd=3&hl=ko&ct=clnk&gl=kr)에 나와 있다(해당 회사 홈페이지 접근 문제로 구글 캐쉬 사용).
일부에서 얘기하듯 ECB모드의 문제는 아니며, 회사 자료에도 나와 있듯이 MaskCrypt 알고리즘의 특징은
1. 암호학적인 관점 보다는 소프트웨어공학적인 시각으로 접근한 실용 암호 기술.
2. 비밀키의 길이에 제한이 없는 스트림 알고리즘(Stream Cipher)을 사용.
한다는 점이다.
MaskCrypt의 또다른 특징으로 해당 회사는
1. 문자열의 코드를 분석하여 일부 비트만 암호화
2. 동일한 문자 코드 영역 유지 (한글이 깨지지 않습니다.)
3. 동일한 문자 길이 유지
를 들고 있는데, 해커는 이 특징(MaskCrypt의 장점이자 단점)을 잘 공략한 것으로 보인다.
해당 알고리즘의 한계는 "암호학적인 관점보다는 소프트웨어 공학적인 시각으로 접근한 실용 암호 기술"이라는 문장이 잘 표현해주고 있다. 즉, "암호학적 측면에선 한계가 있지만, 실용적인 용도로 사용하기엔 별 무리가 없을 듯 하다"라는 생각을 좀 더 우아하게 표현한 것이다.
개인적인 추측지만, 자료 상에 언급된 내용으로 보아 개발사는 해당 알고리즘의 한계를 이미 알고 있었을 가능성이 높다.
대회 개최는 아마 홍보가 꼭 필요한 회사 측면을 고려하여, 개발자들이 이를 만류할 근거가 부족했기 때문에 한게 아닌가 싶은데 (회사 생활하다보면 기술적으로는 옳지 않지만, 정치적으로는 옳기 때문에 어쩔 수 없이 따라가야 하는 경우가 자주 발생하는 법)... 결과적으로는 좋지 않은 결과가 나왔다. 어디까지나 결과론적인 이야기이다.
개발사가 원한 정답은 아마 '상금으로 거금 1천만원을 걸고 전세계 해커들이 달려들어 해독을 시도했으나, 절대 깰 수 없었던 난공불락의 알고리즘'이었을 것이다. 홍보 문구로 넣기 좋으니까...
공격에 성공한 이가 Diffusion과 Confusion같은 전문 용어를 사용한 것으로 보아 암호학을 전공하고 있거나, 암호학에 대해 공부한 적이 있는 사람이라는 것을 유추할 수 있다. 개발사로선 까마귀 날자 배떨어지듯이... 한마디로 재수가 없었던 것이다.
참고 자료:
Charles P. Pfleeger, Security in Computing, 2nd Ed. pp. 55~56, p. 59 (현재는 4판까지 나와 있는 듯)
이글루스 가든 - professional secur...



덧글
sonnet 2009/03/20 11:20 # 답글
ECB란 생각은 해보질 않았는데, 그런 식으로 생각할 수도 있겠네요. 저도 좀 생각을 정리해 봐야 겠습니다.
자라 2009/03/21 14:40 # 답글
"개발자들이 이를 만류할 근거가 부족했기 때문에 " <= 이게 정답 같습니다.아무리 봐도 (암호화에 대해 잘 알던 모르던) 개발자들이 저런 이벤트를 하겠다고 할만큼 배짱이 두둑할 것 같진 않군요..
이러다가 한참 시간이 흐른 후, 은근슬쩍 제품 소개 문구에 "해킹 대회 개최" 정도만 들어가고, 마치 그 문구가 제품에 대한 개발사의 자신감을 표명하는 듯 홍보되게 되지 않을까 조심스레 예측합니다.
실제로 (별 생각 없이) 제품을 구매하는 사람들이야 판매자들의 사탕발림에 쉬 넘어갈테니까요..