제4장 암호 문구란?
지난 3장에서 보았듯 공개키 방식 즉 비대칭키 방식 암호화에서 가장 중요한 요소는 비밀열쇠다. 더 이상 비밀열쇠를 교환하지 않아도 되지만 비밀열쇠를 안전하게 관리하는 것이 이 암호화 방식의 핵심사항이다. 기술적으로 보면 비밀열쇠는 여러분의 컴퓨터에 저장된 파일을 말한다. 이 파일을 남이 이용하지 못하게 하려면 두 가지 방법으로 안전하게 관리하여야 한다.
첫 번째로 다른 사람이 절대 그 파일을 사용하거나 읽지 못하게 해야 한다 그런데 컴퓨터 관리자는 모든 파일을 사용할 수 있고, 컴퓨터를 분실할 수도 있으며 바이러스나 웜 또는 트로이 목마 등 다양한 방식으로 해커가 파일을 획득할 수 있다.
그래서 우리는 암호문구라는 다른 보호막이 필요하다. 암호 문구는 패스워드와 다르다. 암호 문구는 여러 단어로 구성해야 한다. 또 절대로 어디에 써 두어서는 안 된다. 그리고 예상할 수 있는 문장이어서도 안 된다. 독특하고 외우기 쉬운 암호 문장을 만드는 방법은 여러 가지가 있다. 여러분이 외울 수 있는 간단한 문장을 생각해보자.
People in glass houses should not be throwing stones.
위 문장에서 세 번째 문자를 계속 추출해보자.
oegsoehloerisn(People in glass houses should not be throwing stones.)
이 문자열의 순서를 외우는 것은 쉽지 않겠지만, 원래 문장을 잘 알고 있다면 어떻게 문자열을 만드는지 잊지 않을 수 있다. 여러 번 이 문자열을 사용하면 잊지 않고 기억할 수 있으면서 다른 사람은 도저히 추측해 볼 수 없는 문자가 된다.
여러분이 절대 잊을 수 없는 사건을 생각해 보자. 아마도 자녀나 배우자와 관계된 일이나 별한 휴가지 경험, 개인적으로 잘 알고 있는 노래 가사는 통상 절대 잊지 않는다. 대문자와 소문자, 숫자와 특수문자를 섞어서 사용한다. 하지만 외국에서도 사용하는 경우가 있다면 외국의 문자판은 나라별로 다를 수 있다는 점을 고려하여야 한다.
일부러 맞춤법을 틀리게 하여 만든 글자를 사용하는 것도 좋은 방법이다. 비논리적이지만 본인만 기억할 수 있는 문장도 좋은 방법이다. 이렇게 긴 암호 문구는 비밀을 유지하는데 매우 편리하다.
짧고 특수문자를 쓴 암호문구가 외우기는 좋지만 잘 잊어버린다는 점에 유념하여야 한다.
매우 빨리 깨지는 암호 문구는 다음과 같다.
• 다른 이메일 계정이나 모바일 폰에서 사용하는 암호문구와 동일한 암호 문구를 사용하면
다른 사람에게 노출 되어서 안전하지 않을 수 있다. 해커가 해독에 성공하면 사용하는 암
호 문구는 의미가 없다.
• 사전에 있는 암호 문구는 의미가 없다. 암호 문구에 쓰인 단어를 한번 알아낸 후에는 전
자사전에 들어있는 암호 문구를 모두 점검하는 암호 문구 검색 프로그램을 이용하면 몇
분 만에 암호 문구를 알 수 있다.
• 생년월일이나 이름 그리고 공공정보를 사용하면 안 된다. 암호를 해독하려는 사람에게는
여러분의 이메일을 이용하여 이런 정보를 쉽게 찾을 수 있다.
• 예를 들어 “사느냐 죽느냐 그것이 문제로다.”와 같이 누구나 잘 알고 있는 문장은 쓸모가
없다. 이런 문장은 암호해독 프로그램이 많이 이용한다.
• 8자 이하이거나 한 단어로 구성한 암호 문구는 안 된다. 긴 문장을 생각해 두는 것이 매
우 중요하다.
암호 문구를 만들 때 위 사례와 같은 암호 문구를 사용하지 않아야 한다. 여러분의 암호 문구를 훔치려는 사람에게 위와 같은 암호 문구는 금방 해독이 된다. 잊어버리지도 않고 해독이 되지 않는 암호 문구를 만들려면 매우 독특해야 한다. 제 7장에서 암호열쇠 한 쌍을 만들 때 암호문구가 필요하다. 그 전에 검토할 문제가 하나 더 있다. 비밀 메시지를 당신에게 보낸 사람의 실체를 확인할 수 있는 수단이 필요하다.