메뉴 건너뛰기

SayClub.org

정보보안(InfoSec)

<스테가노그래피> - 비밀통신(메시지 존재 자체를 은닉)
스테가노그래피(steganography)는 전달하려는 기밀 정보를 파일, 메시지, 이미지 또는 비디오를 다른 파일, 메시지, 이미지 또는 비디오 안에 숨기는 심층 암호 기술이다. 스테가노그라피라고도 쓴다.
스테가노그래피라는 단어는 그리스어 스테가노(στεγᾰνός)는 "덮어지거나 감추어진" 뜻과 "통신하다"는 그래피(γραφή)를 결합한 것이다.
스테가노그래피는 비밀키 암호라고 볼 수 있다. 스테가노그래피 방법은 메시지의 존재 자체를 은폐하는 방법이다. 간단한 예로는 고전부터 쓰이는 단순한 메시지를 숨기는 방식으로 식초나 레몬을 이용하여 종이에 쓴 글자를 보면 전혀 보이지 않지만, 종이에 살짝 불로 가열해 주면 식초 안의 아세트산에서 산수와 산소가 날아가고 남아 있는 탄소가 열에 타서 글자가 나타나는 방식이지만, 현대에서는 파일의 LSB나 이미지 파일의 픽셀 RGB정보에서 각 픽셀의 LSB를 변화시켜 메시지를 숨기는 방식 등이 있다. 스테가노그래피가 많이 쓰이는 파일은 주로 이미지와 MP3 등의 매체이며 문서파일에 메시지를 숨기는 경우 또한 많이 쓰이고 있다. 문서파일의 경우, docs나 pptx의 경우에는 압축파일의 기능을 가지고 있으므로 압축해제로 그 안에 숨기거나 또는 문서내용과 섞어 메시지를 숨기기도 한다. 장점으로는 파일안에 파일을 숨기는 방식이며 숨긴 방식을 모르면 제 3자가 알아채기 힘들다. 암호화의 경우 제 3자도 역시 암호화된 데이터라는 것을 간파하고 복호화를 시도할 수 있지만 스테가노그래피의 경우 암호화 여부 조차 알기 힘들기 때문에 더욱 안전하다. 하지만 본래 파일의 해시값(MD5, SHA1)을 알고 있다면 해시값 대조를 통하여 알아낼 수 있다. 잘못된 알고리즘으로 인하여 커버데이터를 손상시켜 의심을 유발할 수 있으며 대량의 데이터를 은닉하기 힘들다는 단점이 있다. 또한 평범한 파일 안에 비밀 파일을 넣기 때문에 겉으로 드러나는 메시지보다 파일 용량이부풀려질 수밖에 없어 의심을 살 수 있다는 것이며 스테가노그래피 기법을 통해 숨기려는 파일은 대부분 암호화가 되어 있지 않기 때문에 스테가노그래피라는 점만 확인되면 툴을 이용해 비밀 메시지가 바로 드러날 수 있다는 단점이 있다.

<크립토그래피> - (내용의 암호화)
=->전치법(transposition)
=->대체법(substitution)  =-> 코드(code) (단어의 대체)
=->사이퍼(cipher)(글자의 대체)

'숨겨진'이라는 뜻의 그리스어 크립토스(kryptos)에서 유래한 크립토그래피의 목적은 메시지의 존재 자체를 감추는 것이 아니라, 그 의미를 감추는 것이다.

크립토그래피에서는 메시지를 주고받는 사람들 사이에 미리 정해 놓은 규칙에 따라 메시지를 의미 없는 문자의 나열로 바꾸어 놓는다.

<전치법(transposition)>
의미 : 메시지 안에 들어 있는 문자의 위치를 바꾸는 방법

전치법의 대표적인 방법으로 스키테일 암호가 있다. 사용자는 동일한 원통형 막대기를 나눠 갖고 비밀리에 보내야할 메시지가 있을경우 스키테일에 가느다란 양피지 리본을 위에서 아래로 감은 다음 옆으로 메시지를 적는다. 리본을 풀어내면 그 내용은 아무나 읽을 수 없고 오직 같은 굵기의 원통 막대기를 가진 사람만이 메시지를 읽을 수 있다.

또한 글자의 위치를 무작위로 바꾸는 방법은 보안성이 매우 좋지만 아무런 논리가 없이 글자를 섞었다면 적 뿐만이 아니라 자기편도 해독해내기가 어렵다는 것이다.

<대체법(substitution)>
의미 : 배열은 그대로 이지만 각각의 글자가 다른 글자로 바꾸는 방법

대체법에는 두가지 방법이 있는데, 코드와 사이퍼 입니다.

위에 썼듯이 코드는 단어를 대체하는 것이고 사이퍼는 글자를 대체 하는 것입니다.

대체법의 대표적인 방법으로 시저암호가 있습니다. A는 D로 B는 E로 바꿔 읽는 단순 대치식 암호입니다.

코드는 사이퍼보다 보안성이 높은 것처럼 보입니다. 단어가 낱개의 글자보다 빈도분석법을 사용한 암호해독에 의해 무너질 확률이 훨씬 작기 때문입니다. 코드의 경우에는 수천 개에 달하는 코드워드의 참뜻이 무엇인지 밝혀내야 하기 때문이다.

그러나 조금만 더 생각해보면 코드는 사이퍼보다 두가지 결점을 가지고 있습니다. 송신자와 수신자간에 정확한 의사소통이 되기 위해서 원문 텍스트를 대체할 수 있는 코드를 미리 만들어 놓아야합니다.

1. 이 코드를 모두 담은 코드북은 수백쪽에 달하는 사전과 같아서 이를 만드는 데만도 엄청난 노력이 필요합니다. 이것을 가지고 다니는 것도 매우 불편한 일입니다.
2. 이 코드북이 적의 손에 넘어가는 상황을 상상해 봅시다. 그 피해는 상상을 초월하며, 처음부터 새로운 코드북을 만들기 위해서는 많은 노력이 필요합니다.

위로