你有没有自问过,电子邮件在传输过程中会不会被别人读取?不幸的是,即便是陌生人也可以不动声色地截取甚至篡改你的电子邮件。
在传统的邮寄方式(又称“蜗牛”)中,信件通常是封在信封内,贴上邮票,然后在邮局间传递,直到它们到达其目的地。通过互联网来邮寄信件没有传统方式安全;电子邮件通常在服务器间明文传输,没有采取任何特别措施来防止通信被别人偷看或篡改。
要帮助你保护个人隐私权,Red Hat Linux 9 包括了 GnuPG - GNU Privacy Guard (GNU 隐私卫士)- 它在典型 Red Hat Linux 安装中被默认安装。它又称为 GPG .
GnuPG 是用于安全通信的工具;它是对 PGP(Pretty Good Privacy,一种广受欢迎的加密程序)加密技术的完全和免费的代替。使用 GnuPG,你可以给你的数据和通信加密,并可以使用 数码签名(digitally signing) 来验证你的通信。GnuPG 还能够解密及校验 PGP 5. x 。
因为 GnuPG 和其它加密标准兼容,你的安全通信可能会与其它操作系统(如 Windows 和 Macintosh)上的电子邮件程序兼容。
GnuPG 使用 公钥加密术(public key cryptography) 来为用户提供安全的数据交换。在公钥加密术方案中,你生成两把钥匙:公钥和密钥。你和通信对方或钥匙服务器互换你的公钥,你决不应该出示你的密钥。
加密依赖于对钥匙的使用。在传统的或对称的加密术中,传输双方都有相同的钥匙,他们可以使用这把相同的钥匙来给彼此的传输解密。在公钥加密术中,两把钥匙并存:一把公钥,一把密钥。个人或组织把他们的密钥保密,但是公布他们的公钥。用公钥加密的数据只能用密钥才能解密;用密钥加密的数据只能用公钥才能解密。
重要:记住,你可以把公钥送给任何你想与之进行安全通信的人,但是你决不能向任何人提供你的密钥。
加密术的多数知识已超出本书涉及的范围;关于它的著述比比皆是。在本章中,我们只希望你对 GnuPG 有足够的了解,因而能在你自己的通信中开始使用加密术。关于 GnuPG、PGP 和加密技术的详细信息,请参见第 B.8 节。
B.1.配置文件在你第一次运行 GnuPG 命令的时候,你的主目录中会创建一个 .gnupg 目录。从版本 1.2 起,其配置文件名已从 .gnupg/options 改为 .gnupg/gpg.conf 。如果在你的主目录中找不到 .gnupg/gpg.conf , .gnupg/options 文件就会被使用。如果你只使用版本 1.2 或更高,推荐你使用以下格式重新命名你的配置文件:
mv ~/.gnupg/options ~/.gnupg/gpg.conf如果你从 1.0.7 以前的版本中升级,你可以在你的钥匙圈中创建签名缓存来减短钥匙圈的访问时间。要执行这一操作,执行一次以下命令:
gpg --rebuild-keydb-caches B.2.警告消息在执行 GnuPG 命令时,你可能会看到这条消息:
gpg: Warning: using insecure memory!出现该警告是由于非根用户无法锁定内存页。如果用户无法锁定内存页,他们可以执行内存外的“拒绝服务”(DoS)攻击;这就可能会造成安全问题。有关细节请参阅 http://www.gnupg.org/(en)/documentation/faqs.Html#q6.1 。
[1] [2] [3] 下一页
你可能会看到以下消息:
如果你的配置文件的权限被设置为允许其他人读取,这则消息就会被显示。如果你看到这条警告,推荐你执行以下命令来改变文件的权限:
chmod 600 ~/.gnupg/gpg.conf另一条常见的警告消息是:
gpg: WARNING: unsafe enclosing Directory permissions on configuration file "/home/ username /.gnupg/gpg.conf"如果你的配置文件所在的目录的权限被设置为允许其他人读取,这则消息就会被显示。如果你看到这条警告,推荐你执行以下命令来改变文件的权限:
chmod 700 ~/.gnupg如果你从以前的版本中升级 GnuPG,你可能会看到以下消息:
gpg: /home/ username /.gnupg/gpg.conf:82: deprecated option "honor-http-proxy" gpg: please use "keyserver-options honor-http-proxy" instead出现该警告是因为你的 ~/.gnupg/gpg.conf 文件包含以下行:
honor-http-proxy版本 1.0.7 和更高喜欢使用另一种语法。把以上行改成:
keyserver-options honor-http-proxy B.3.生成钥匙对要开始使用 GnuPG,你必须首先生成一组新的钥匙对:一把公钥和一把密钥。
要生成钥匙对,在 shell 提示下,键入以下命令:
gpg --gen-key因为你使用最频繁的是你的用户帐号,你应该登录到你的用户帐号(而不是根帐号)时执行该命令。
你会看到一个介绍屏幕,其中有钥匙选项,包括一个 推荐的选项(默认),该屏幕类似:
gpg (GnuPG) 1.2.1; Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details.Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (5) RSA (sign only) Your selection?
多数要求你选择选项的屏幕会在括号内列出默认选项。你可以按 [Enter] 键来接受默认选项。
在第一个屏幕上,你应该接受默认选项: (1) DSA and ElGamal 。该选项会允许你生成数码签名,并用两种技术来加密(和解密)。键入 1 然后按 [Enter] 键。
下一步,选择钥匙大小或长短。通常,钥匙越长,你的消息抵御攻击的能力就越强。默认的 1024 位对多数用户来说已足够强劲,因此按 [Enter] 键来接受默认。
上一页 [1] [2] [3] 下一页
下一个选项请你指定钥匙的有效期,通常,使用默认值( 0 = key does not eXPire )就可以。如果你想设立一个 过期日期,请记住,你需要通知和你互换公钥的人员 这个过期日期并向他们提供一把新公钥。如果你不设立过期日期,你会被要求确认这个决定。按 [y] 来确认你的决定。
你的下一个任务是提供用户 ID,这包括你的姓名、电子邮件地址,以及其它可选注解。当你结束后,你的面前就会出现你输入的信息的摘要。
一旦你接受了你的选择,你还必须输入一个口令句。
窍门:和你的帐号口令一样,好的词组口令是 GnuPG 安全保障的基本条件。譬如,你可以在口令中混和大小写字母、数字或标点符号。
输入并校验口令句之后,你的钥匙就生成了。你会 看到一条和以下相仿的消息:
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during(出处:http://www.sheup.com)
输入并校验口令句之后,你的钥匙就生成了。你会 看到一条和以下相仿的消息:
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during(出处:http://www.sheup.com/)