암호화란 무엇인가?

암호화는 코드, 암호, 비밀 메시지의 수리 과학이다. 역사를 통해, 사람들은 상대방 외에 누구도 읽을 수 없도록 서로 메시지를 주고받기 위해 암호를 이용해왔다.

오늘날 우리는 암호화를 수행할 수 있는 컴퓨터를 갖고 있다. 디지털 암호화 기술은 단순 비밀 메시지를 넘어 확대되었다. 오늘날 암호화는 메시지의 발신자를 확인하거나, 토르(Tor)를 이용해 익명으로 웹을 검색하는 것과 같이 더 정교한 목적을 위해 사용된다.

어떤 상황에서는, 암호화는 상당히 자동적이고 간단하다. 그러나 암호화가 잘못 이용되는 경우도 있으며, 이것을 더 잘 이해할수록, 더 안전하게 이용할 수 있다.

 

암호화를 이해하기 위한 세 개의 개념

개인키(Private Key)와 공개키(Public Key)

암호화를 이해하는 가장 중요한 개념 중 하나가 ‘키’이다. 일반적인 형태의 암호화는 개인키를 갖고 있는데, 이것은 자신의 컴퓨터에 비밀리에 저장되고, 당신에게만 보내진 메시지를 읽는데 사용된다. 또한, 개인키는 당신이 다른 사람에게 보낸 메시지에 위조 불가능한 디지털 서명을 할 수 있도록 한다. 공개키는 다른 사람에게 주거나 공개하여 사람들이 당신과 비밀리에 통신할 수 있도록 하거나, 당신의 서명을 확인할 수 있는 파일이다. 개인키와 공개키는 쌍으로 만들어지지만, 같은 것은 아니다.

보안 인증서

또 다른 매우 중요한 개념은 보안 인증서이다. 웹 브라우저는 HTTPS를 사용하는 사이트와 암호화된 연결을 할 수 있다. 그렇게 할 때, 웹 브라우저는 (www.jinbo.net 과 같은) 도메인 네임의 공개키를 체크하기 위해 인증서를 검토한다. 인증서는 당신이 어떤 사람이나 웹사이트의 올바른 공개키를 알고 있는지 결정하기 위한 하나의 방법이며, 그들과 안전하게 통신하도록 한다.

때때로 당신은 웹에서 인증서와 관련된 에러 메시지를 본 적이 있을 것이다. 가장 일반적으로, 이것은 호텔이나 카페의 네트워크가 웹사이트와 당신의 비밀 통신을 방해하려고 하기 때문에 발생한다. 또한, 인증 시스템 내의 오류 때문에 발생하는 경우도 많다. 그러나 가끔 해커, 도둑, 경찰, 정보기관이 암호화된 연결을 방해하려고 하기 때문에 발생한다.

불행하게도 이러한 경우들의 차이를 알기는 극히 힘들다. 따라서, 만일 당신이 계정을 갖고 있는 사이트에 관련되었거나, 어떤 민감한 정보를 읽고 있을 때에는 인증서 경고를 무시해서는 안된다.

키 지문

“지문”이라는 단어는 컴퓨터 보안 영역에서 서로 다른 많은 것을 의미한다. 그 중 하나가 “키 지문”인데, 이는 “342e 2309 bd20 0912 ff10 6c63 2192 1928”와 같은 일련의 문자열이다. 이는 인터넷의 어떤 사람이 올바른 개인키를 사용하고 있음을 고유하고 안전하게 체크할 수 있도록 한다. 만일 당신이 어떤 사람의 키 지문이 올바르다는 것을 체크한다면, 이는 그것이 진짜로 그들이라는 더 높은 수준의 확실성을 제공한다. 그러나 그것이 완벽한 것은 아니다. 왜냐하면, 키가 복제되거나 도난당한 경우, 다른 누군가가 같은 지문을 사용할 수 있기 때문이다.

이 글은 EFF의 What Is Encryption?(2014년 11월 3일 마지막 업데이트)을 기초로 한 것입니다.