•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
1. 개요2. 원리3. 실재


1. 개요[편집]

OpenPGP는 PGP의 오픈 소스 버전으로 RFC 1991, RFC 2440부터 시작되어 최종적으로 RFC 9580이라는 이름으로 등록된 인터넷 표준 암호화 프로토콜이다. OpenPGP는 비대칭 암호화 방식(공개키 암호화 방식)을 사용하여 텍스트와 파일을 서명/암호화한다.

2. 원리[편집]

단순하게 설명하자면, 각 사용자는 개인키(Private Key)와 공개키(Public Key)를 가진다. 공개키로는 텍스트와 파일을 암호화하고 개인키로는 암호화된 객체에 서명한다. 이때 암호화 시 자신의 공개키를 사용하는 것이 아닌 상대의 공개키를 사용한다. 아래의 예시를 보자.
  • A가 B에게 메일을 보내려고 한다.
  • A는 메일을 다 쓰고 B의 공개키로 암호화한 다음 A 자신의 개인키로 서명한다. 이후 B에게 암호화된 메일을 전송한다.
  • B는 자신의 공개키로 암호화된 메시지를 자신의 개인키로 복호화하고, A의 공개키로 A의 서명을 검증한다.
중요한 것은, 개인키로는 공개키로 암호화된 내용을 복호화할 수 있고, 공개키로는 개인키로 암호화된 내용을 복호화할 수 있다는 점이다.

위의 예시에서 A와 B가 모두 상대의 공개키를 알고 있으면, A와 B가 "알고 있는" 키는 총 3개다. 자신의 공개키와 개인키 한 쌍, 그리고 상대의 공개키. 암호화와 복호화 과정 모두에서 자신의 개인키와 상대의 공개키가 쓰이는데, 자신의 공개키로 암호화된 내용을 자신의 개인키를 통해서만 해독할 수 있으니 보안성이 우수하며 상대가 개인키로 서명한 것도 상대의 공개키로 확인할 수 있으므로 메시지의 발송자 또한 명확히 알 수 있다.

즉 내용의 기밀성이 보장되며, 메시지 전송자가 메시지를 보냈음을 확실하게 알 수 있으므로 부인 방지의 기능도 한다.

3. 실재[편집]

gpg4win을 이용해 윈도우에서도 얼마든지 OpenPGP를 사용할 수 있다. 주로 이메일을 보낼 때 OpenPGP를 사용하여 보내는데, 이를 위해 thunderbird[1]에서는 OpenPGP를 네이티브로 지원한다. 또 mailvelope라는 확장 프로그램으로 웹 메일에서도 OpenPGP를 사용할 수 있다. 기본적으로는 Kleopatra라는 프로그램을 이용해 OpenPGP로 파일과 텍스트를 암호화할 수 있으며 이는 gpg4win에 기본적으로 동봉되어 있다.

또 yubikey 등의 보안 키에서 OpenPGP를 지원하는 경우가 있는데 이런 경우 키에 OpenPGP키를 밀어넣으면 키가 있어야만 암호화와 서명이 가능하니 신중히 판단해서 사용하면 된다.
[1] 모질라 재단에서 만든 이메일 클라이언트