PGP는 RSA 공개 키 암호화 시스템을 기반으로 한 이메일 암호화 소프트웨어입니다. 이를 사용하여 무단 읽기를 방지하기 위해 이메일을 기밀로 유지할 수 있으며, 수신자가 이메일이 귀하에게서 온 것인지 확인할 수 있도록 이메일에 디지털 서명을 할 수도 있습니다. 이를 통해 기밀 채널이 키를 미리 전달할 필요 없이 한 번도 만난 적이 없는 사람들과 안전하게 통신할 수 있습니다. 신중한 키 관리, RSA와 기존 암호화의 하이브리드 알고리즘, 디지털 서명을 위한 메일 요약 알고리즘, 암호화 전 압축 등, 우수한 인체공학적 디자인을 사용합니다. 강력하고 빠릅니다. 그리고 소스코드는 무료입니다.
사실 PGP의 기능은 위에서 언급한 것 이상입니다. PGP는 파일을 암호화하는 데 사용할 수 있으며 RADIX 형식을 생성하는 데도 사용할 수 있습니다. MIME 64 형식) 인코딩 파일입니다.
PGP의 창립자는 미국인 필 짐머만이다. 그의 창의성은 RSA 공개키 시스템의 편리함과 전통적인 암호화 시스템의 빠른 속도를 결합하고 디지털 서명 및 키 인증 관리 메커니즘에 독창적인 설계를 갖고 있다는 점에 있습니다. 따라서 PGP는 거의 가장 널리 사용되는 공개 키 암호화 소프트웨어 패키지가 되었습니다.
PGP는 공용 암호화 소프트웨어입니다. 암호화는 보안을 위한 것이며, 개인정보 보호는 인간의 기본권입니다. 현대 사회에서는 이메일과 인터넷을 통한 파일 전송이 생활의 일부가 되었습니다. 이메일 보안 문제가 점점 더 중요해지고 있습니다. 인터넷에서 전송되는 데이터는 암호화되지 않는다는 사실은 누구나 알고 있습니다. 귀하의 정보를 보호하지 않으면 제3자가 귀하의 비밀을 쉽게 알아낼 수 있습니다. ; 또 다른 문제는 정보 인증입니다. 이메일이 제3자에 의해 변조되지 않았음을 수신자에게 확신시키려면 디지털 서명 기술이 필요합니다. RSA 공개 키 시스템의 특성상 위의 두 가지 요구 사항인
개인 정보 보호와 인증을 충족하는 데 매우 적합합니다.
RSA(Rivest-Shamir-Adleman) 알고리즘은 큰 수를 소인수로 분해하는 것이 불가능하다는 가정에 기초한 공개키 시스템입니다. 간단히 말해서, 두 개의 매우 큰 소수를 찾으십시오. 하나는 세상에 공개되어 있고 다른 하나는 아무에게도 알려지지 않습니다. 하나는 "공개 키"라고 하고 다른 하나는 "개인 키"(공개; 키; & 비밀 키; 또는; 개인; 키)라고 합니다. 이 두 키는 상호보완적입니다. 즉, 공개 키로 암호화된 암호문을 개인 키로 해독할 수 있으며 그 반대의 경우도 마찬가지입니다. A가 B에게 편지를 보내고 싶어하고 두 사람이 서로의 공개 키를 알고 있다고 가정해 보겠습니다. A는 B의 공개 키를 사용하여 이메일을 암호화하고 보냅니다. B는 이메일을 받은 후 자신의 개인 키를 사용하여 A의 원본 텍스트를 해독할 수 있습니다. B의 개인 키를 아는 사람은 아무도 없기 때문에 A 자신도 편지를 해독할 수 없으므로 편지의 기밀 유지 문제가 해결됩니다. 반면 B의 공개키는 모두가 알고 있기 때문에 모두 B에게 편지를 보낼 수 있으므로 B는 그것이 A가 보낸 편지인지 확신할 수 없다. 인증 문제가 발생하는데 이때는 디지털 서명이 유용하다.
디지털 서명을 설명하기 전에 먼저 '메시지; 다이제스트'가 무엇인지 먼저 설명해야 합니다. 쉽게 말하면 특정 알고리즘을 사용하여 서명의 '본질'을 반영할 수 있는 메시지를 계산하는 것입니다. 메시지가 변경되면 이 번호도 변경됩니다. 그런 다음 이 번호와 작성자 이름(실제로 작성자 키에 있음) 및 날짜 등을 서명으로 사용할 수 있습니다. 정확하게 말하면 PGP는 128비트 이진수를 "이메일 다이제스트"로 사용합니다. 이를 생성하는 데 사용되는 알고리즘은 MD5(메시지; 다이제스트; 5)입니다. MD5의 제안자는 PGP에서 사용되는 코드입니다. Colin Plumb이 작성했으며 MD5 자체는 공용 소프트웨어입니다. 따라서 PGP의 법적 용어에는 언급되어 있지 않습니다. MD5는 단방향 해시 알고리즘으로, CRC 검사 코드와 달리 원본과 동일한 "본질"을 가진 대체 이메일을 찾기가 어렵습니다.
디지털 서명으로 돌아가서 A는 자신의 개인 키를 사용하여 위의 128비트 "본질"을 암호화하고 이를 이메일에 첨부한 다음 B의 공개 키를 사용하여 전체 이메일을 암호화합니다. 이런 방식으로 B가 암호문을 수신한 후 B는 자신의 개인 키를 사용하여 이메일을 해독하고 A의 원본 텍스트와 서명을 얻습니다. 또한 B의 PGP는 원본 텍스트에서 128비트 "본질"을 계산한 다음 A의 공개 키를 사용합니다. 키를 해독하여 얻은 숫자를 비교하여 일치하면 해당 이메일이 실제로 A에서 온 것임을 의미합니다. 이런 방식으로 두 가지 요구 사항이 모두 충족됩니다.
PGP는 암호화 없이만 서명할 수 있습니다. 이는 자신의 신원을 증명하기 위해(이것이 인터넷에서 유일한 방법입니다) 신고인이 자신의 서명을 할 수 있습니다. 개인 키. 이를 통해 수신자는 보낸 사람의 신원을 확인할 수 있으며 보낸 사람이 자신의 진술을 거부하는 것을 방지할 수 있습니다. 이는 발송인이 편지를 거부하는 것을 방지하고 편지가 도중에 변조되는 것을 방지할 수 있어 상업 분야에서 큰 응용 가능성을 가지고 있습니다.
그렇다면 PGP가 RSA와 기존 암호화의 하이브리드 알고리즘을 사용한다고 말하는 이유는 무엇입니까? RSA 알고리즘은 계산량이 매우 많고 속도 측면에서 대량의 데이터를 암호화하는 데 적합하지 않기 때문에 PGP는 실제로 RSA 자체를 암호화에 사용하지 않고 IDEA라는 전통적인 암호화 알고리즘을 사용합니다. 먼저 전통적인 암호화가 무엇인지 설명하겠습니다. 간단히 말해서 키를 사용하여 일반 텍스트를 암호화한 다음 동일한 키를 사용하여 이를 해독합니다. 이 방법의 대표적인 것이 곱셈 암호화인 DES(US; Fed eral; Data Encryption; Standard)입니다. 주요 단점은 키 전송 채널이 보안 문제를 해결할 수 없고 네트워크 환경에서 이메일 암호화 요구에 적합하지 않다는 것입니다.
2009-1-20 23:37 답글
이탈리아
lvchenyang_
팬 24명
루 2명
IDEA는 특허를 받은 알고리즘으로, 특허 보유자는 ETH이며 스위스 회사인 Ascom-Tech입니다.
비상업적 IDEA 구현에 대해서는 수수료를 지불할 필요가 없습니다. IDEA의 암호화(복호화) 속도는 RSA보다 훨씬 빠르므로 실제로 PGP는 무작위로 생성된 키(암호화마다 다름)를 사용하여 IDEA 알고리즘을 사용하여 일반 텍스트를 암호화한 다음 RSA 알고리즘을 사용하여 키를 암호화합니다. 이러한 방식으로 수신자는 RSA를 사용하여 임의 키를 해독한 다음 IDEA를 사용하여 이메일 자체를 해독합니다. 이러한 체인 암호화는 RSA 시스템의 기밀성과 IDEA 알고리즘의 속도를 모두 달성합니다. PGP의 창의성의 절반은 왜 RSA 시스템이 1970년대에 제안되었으나 아직까지 추진 및 적용되지 않았는가? 속도가 너무 느리네요! 그렇다면 PGP 창의성의 나머지 절반은 어디에 있습니까? 다음으로 PGP 키 관리에 대해 이야기하겠습니다.
성숙한 암호화 시스템에는 성숙한 키 관리 메커니즘이 동반되어야 합니다. 공개키 시스템은 키 분배를 비밀로 유지하기 어려운 기존 암호화 시스템의 단점을 해결하기 위해 제안되었습니다. 예를 들어, 네트워크 해커가 사용하는 일반적인 방법 중 하나는 "듣기"입니다. 키가 네트워크를 통해 전송되면 너무 위험합니다. 예를 들어 이전 버전의 Novell Netware에서는 사용자의 비밀번호가 회선에서 일반 텍스트로 전송되었으므로 청취자가 다른 사람의 비밀번호를 쉽게 얻을 수 있었습니다. 물론 Netware 4.1의 패킷 헤더에 있는 사용자 비밀번호는 이제 암호화됩니다. PGP의 경우 공개키를 공개해야 하므로 도청 방지에는 문제가 없습니다. 그러나 공개키 공개에는 공개키 변조(Public; Key; Tampering) 등의 보안 문제가 여전히 존재한다. 이는 대부분의 초보자가 이를 빨리 발견할 수 없기 때문에 공개키 암호화 시스템의 가장 큰 취약점일 수 있다. 당신이 얻은 공개 키가 그것이 속한 것으로 보이는 사람의 것인지 확인해야 합니다. 이 문제를 명확하게 하기 위해 예를 들어 설명하고 PGP를 사용하여 이 허점을 올바르게 연결하는 방법에 대해 설명하겠습니다.
당신과 Alice 사이의 통신을 예로 들어보겠습니다. Alice에게 편지를 보내려면 Alice의 공개 키가 있어야 합니다. BBS에서 Alice의 공개 키를 다운로드하여 암호화하는 데 사용했습니다. BBS의 이메일 기능을 이용해 앨리스에게 편지를 보냈습니다. 안타깝게도 Charlie라는 다른 사용자가 BBS에 몰래 들어가 Alice의 이름을 사용하여 생성한 키 쌍의 공개 키로 Alice의 공개 키를 대체했다는 사실을 귀하와 Alice 모두 알지 못합니다. 그러면 메시지를 보내는 데 사용하는 공개 키는 Alice의 것이 아니라 Charlie의 것입니다. 획득한 공개 키의 사용자 이름이 "Alice"이기 때문에 모든 것이 정상적으로 보입니다. 따라서 Charlie는 자신의 손에 있는 개인 키를 사용하여 Alice에게 보낸 편지의 암호를 해독할 수 있으며, 심지어 Alice의 실제 공개 키를 사용하여 귀하의 편지를 Alice에게 전달할 수도 있으므로, 그가 보낸 편지를 변경하려는 경우 아무도 의심하지 않게 됩니다. 앨리스에게, 앨리스의 편지에도 아무런 문제가 없습니다. 게다가, 그는 당신이나 다른 사람에게 편지를 보내기 위해 앨리스의 서명을 위조할 수도 있습니다. 왜냐하면 당신의 손에 있는 공개 키가 위조되었기 때문에 당신은 그것이 정말로 앨리스가 보낸 편지라고 생각할 것입니다.
이런 상황을 방지하는 가장 좋은 방법은 앨리스가 수천 마일 떨어져 있거나 그것을 볼 수 없을 때 앨리스의 공개 키를 직접 받는 등 다른 사람에게 공개 키를 조작할 기회를 주지 않는 것입니다. . 이것은 매우 어렵습니다. PGP는 이 문제를 해결하기 위해 공개 키 도입 메커니즘을 개발했습니다. 예를 들어, 당신과 Alice가 같은 친구 David가 있고 David가 자신의 손에 있는 Alice의 공개 키가 정확하다는 것을 알고 있는 경우(공개 키를 인증하는 방법에 대한 PGP의 또 다른 방법이 있는데, 이에 대해서는 여기에서 가정하고 나중에 논의하겠습니다) David는 Alice를 통해 자신의 공개 키를 인증했습니다. 이러한 방식으로 David는 자신의 개인 키를 사용하여 Alice의 공개 키에 서명할 수 있습니다(위에서 언급한 서명 방법 사용). 이는 공개 키가 Alice의 소유임을 보장한다는 것을 나타냅니다. 물론 David가 Alice에게 제공한 공개 키를 확인하려면 David의 공개 키를 사용해야 합니다. 마찬가지로 David도 Alice에게 공개 키를 인증하여 David가 귀하와 Alice 사이의 "소개자"가 되도록 할 수 있습니다. 이러한 방식으로 Alice 또는 David는 David가 서명한 Alice의 공개 키를 BBS에 안전하게 업로드하여 귀하가 이를 발견하지 않고는 BBS 관리자라도 이를 조작할 수 있습니다. 이는 공개 채널에서 공개 키를 전송하는 안전한 방법입니다.
어떤 사람들은 다음과 같이 질문할 수 있습니다. David의 공개 키를 어떻게 안전하게 얻나요? 이것은 닭이냐 달걀이냐의 문제가 아닌가요? 당신이 획득한 데이비드의 공개키도 가짜일 가능성이 있지만, 이를 위해서는 문제아가 전체 과정에 참여해야 하며, 당신 셋을 잘 알고 오랫동안 계획을 세워야 하는데 이는 일반적으로 불가능합니다. 물론 PGP는 이러한 가능성에 대한 예방적 제안도 가지고 있는데, 이는 일반적으로 모든 사람이 신뢰하는 사람이나 기관이 이 역할을 하도록 하는 것입니다. 그는 "키 웨이터" 또는 "인증 기관"이라고 부릅니다. 그가 서명한 모든 공개 키는 진짜로 간주되므로 모든 사람이 그의 공개 키 사본만 갖고 있으면 됩니다. 예, 왜냐하면 그렇습니다. 그는 이 서비스를 광범위하게 제공하지만 그의 공개 키는 널리 유포되기 때문에 그의 공개 키를 위조하는 것은 극히 어렵습니다. 이러한 '권한'은 개인이 아닌 통제기관이나 정부기관이 행사하기에 적합하며, 계층적 인증체계를 갖춘 기관은 이미 존재한다.
2009-1-20 23:37 답글
이탈리아
lvchenyang_
팬 24명
루 3명
매우 분산된 사람들을 위해 PGP는 개인 키 추천 방법을 선호합니다. 왜냐하면 이러한 유기적 비공식성은 사람들의 자연스러운 사회적 상호 작용을 더 잘 반영할 수 있고 사람들은 또한 신뢰할 수 있는 사람을 자유롭게 선택하여 소개할 수 있기 때문입니다. 어쨌든 모르는 사람을 만나는 것과 마찬가지다. 각 공개 키에는 하나 이상의 "사용자; ID"가 있습니다. 이름을 사용하고, 혼동을 피하기 위해 이메일 주소를 추가하는 것이 가장 좋습니다.
주의! 따라야 할 한 가지 규칙은 공개 키를 사용하기 전에 먼저 인증해야 한다는 것입니다! ! ! 어떤 유혹에 노출되더라도, 물론 이러한 유혹이 있을지라도, 공개 채널(특히 기밀로 보이는 채널)에서 얻은 공개 키를 직접 신뢰해서는 안 되며 절대 신뢰해서는 안 됩니다. 지인으로부터 공개키를 소개받거나, 상대방에게 직접 인증을 해보세요. 마찬가지로, 실제 생활과 마찬가지로 다른 사람의 공개 키에 함부로 서명하고 인증해서는 안 됩니다. 집 열쇠는 신뢰할 수 있는 사람에게만 제공해야 합니다.
다음으로 전화를 통해 키를 인증하는 방법에 대해 말씀드리겠습니다. 각 키에는 고유한 ID(keyID)가 있습니다. keyID는 8자리 16진수입니다. 두 키가 동일한 keyID를 가질 확률은 10억분의 1입니다.
또한 PGP는 보다 안정적인 식별 방법을 제공합니다. 키: "키"; 지문. 각 키는 16개의 8자리 16진수 숫자에 해당합니다. 그리고 누구도 특정 지문으로 키를 지정할 수 없습니다. 무작위로 생성되며, 지문에서 누군가의 공개 키를 얻을 수 없습니다. 그런 다음 전화로 그 사람의 지문을 확인하여 그 사람의 공개 키를 인증할 수 있습니다. David와 통화하여 David를 통해 Alice의 공개 키를 인증합니다. 이는 직접 인증과 간접 소개의 조합입니다.
이는 다음과 같은 방법으로 서명된 자신의 공개 키를 수집하는 것입니다. 대부분의 사람들이 그들 중 적어도 한 명을 알고 있으므로 간접적으로 공개 키를 인증할 수 있도록 공개 장소로 보냅니다. 마찬가지로 친구의 공개 키에 서명한 후 그 사람에게 다시 보내야 합니다. 실제 사회에서 사람들의 상호 작용과 마찬가지로 PGP는 귀하가 얻은 공개 키 중 어느 것이 친구에 의해 소개되었는지 자동으로 알아냅니다. 친구의 친구, 친구의 친구가 소개한 친구... 친구가 소개한 친구... 서로 다른 신뢰 수준으로 나누는 데 도움이 되며, 그 사람에 대한 신뢰도를 결정할 수 있습니다. 여러 수준에서 공개 키를 참조할 수 있는 기능이 있습니다.
PGP의 작성자인 Phil Zimmermann은 다음과 같이 말했습니다. 믿으세요." 일시적이지 않습니다. 나에게는 결코 거짓말을 하지 않을 것이라고 믿는 친구가 있습니다. 그런데 대통령은 절대로 거짓말을 하지 않는다고 믿는 바보인데, 나는 분명히 대통령은 절대 거짓말을 하지 않는다고 생각한다.
공개 키의 보안은 PGP 보안의 핵심이므로 여기서는 전통적인 단일 키 시스템과 마찬가지로 개인 키의 기밀성도 결정적입니다. 즉, 개인키가 변조되는 문제는 없지만, RSA의 개인키는 매우 긴 숫자이므로 사용자가 이를 기억하는 것이 불가능하다는 문제가 있습니다. 사용자가 무작위로 생성된 RSA 개인 키를 지정할 수 있도록 합니다. 비밀번호(패스; 단계)는 비밀번호를 제공해야만 사용할 수 있습니다. 비밀번호로 개인 키를 암호화하는 방법은 PGP 자체만큼 기밀이므로 보안이 유지됩니다. 개인 키는 실제로 사용자를 위한 것입니다. 물론 개인 키 파일 자체의 기밀성은 위험합니다. 왜냐하면 크래커가 필요로 하는 모든 것은 귀하의 암호를 탐지하기 위해 철저한 방법을 사용하는 것이기 때문입니다. 여기에서 손실되는 것은 보안 계층입니다. 개인 키를 개인 키처럼 유지하고 누구도 이에 액세스할 수 없도록 하십시오.
보안 문제에 대한 PGP의 신중한 고려는 모든 항목에 반영됩니다. PGP의 측면에서 각 암호화의 실제 키는 난수입니다. 컴퓨터가 실제 난수를 생성할 수 없다는 것은 누구나 알고 있습니다. PGP 프로그램은 RSA 키와 같은 키 난수 생성에 매우 주의를 기울입니다. 난수 시드는 키보드의 시간 간격으로 얻어집니다.
디스크의 randseed.bin 파일은 이메일과 동일한 강도로 암호화됩니다. 이렇게 하면 다른 사람이 randseed.bin 파일에서 실제 암호화 키의 패턴을 분석하는 것을 효과적으로 방지할 수 있습니다.
여기서는 PGP의 사전 암호화 사전 압축 처리에 대해 언급하고 싶습니다. PGP 코어는 PKZIP 알고리즘을 사용하여 암호화 전에 일반 텍스트를 압축합니다. 한편, 이메일의 경우 압축, 암호화된 후 7비트로 인코딩된 암호문은 일반 텍스트보다 짧을 수 있으므로 네트워크 전송 시간이 절약됩니다. 반면에 일반 텍스트가 압축된 후에는 실제로 변환과 동일하며 정보가 더 지저분해지고 체계적이지 않으며 일반 텍스트 공격에 대한 저항력이 더 강해집니다. PGP에 사용되는 PKZIP 알고리즘은 원본 작성자의 승인을 받았습니다. PKZIP 알고리즘은 압축률과 압축 속도가 우수하여 널리 알려진 압축 알고리즘입니다.
PKZIP은 PGP 버전 2.0 호환 알고리즘에서 사용됩니다.
그럼 'PGP의 보안' 기사에서 PGP 보안 문제를 소개하겠습니다. 나는 올바른 사용 방법을 따르는 한 PGP가 매우 안전하다는 것을 모든 사람에게 알리기 위해 위에서 많은 말을 했습니다. PGP 설치 및 사용에 대한 자세한 내용은 "PGP; 2.6.3i 설치 및 사용" 문서를 참조하세요. 영어 문서를 읽을 때 불명확한 어휘가 있다면 "PGP 용어집" 기사에서 단서를 찾아보세요. PGP; 2.6.3i는 모든 사람에게 사용을 권장하는 PGP 버전입니다. 이 버전에 대한 자세한 질문은 "PGPi; 질문 및 답변" 문서를 참조하세요.
PGP로 서명된 글은 현재 인터넷 어디에서나 볼 수 있으며, PGP 버전도 빠르게 업데이트되고 있으며 몇 달 안에 PGP 3.0이 출시될 예정이라고 합니다. 전 세계적으로 점점 더 많은 사람들이 PGP를 사용하고 있으며, 우리 중국인도 법적 개인 정보 보호 권리를 보호하는 데 주의를 기울여야 합니다. 나는 중국에서 PGP의 사용을 홍보하기 위해 이 기사를 번역하고 편집했습니다. 아직은 새로운 일이지만 인터넷 공간(사이버스페이스)에서 확실히 빠르게 성장할 것이라고 봐야 한다. 비록 중국이 늦게 시작했지만 미국만큼 나쁘지는 않을 것이다.