GunPG实用教程 (RSA加密解密)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内容目录
一. GunPG的概念 (2)
二. GunPG的应用 (2)
三. GunPG的配置及钥匙数据库/钥匙环 (3)
四. 使用流程 (3)
五. Email中使用GunPG的配置流程 (5)
1.Outlook Express (5)
2.Mozilla Thunderbird (5)
3.Gmail、MSN Hotmail、Yahoo Webmail (8)
六. GunPG的前端UI集成 (9)
1.Ubuntu Gnome 桌面环境下的“密码和加密钥匙” (9)
2.Ubuntu Gnome 桌面环境下文件浏览器的右键菜单 (10)
七. 快速指令查询 (13)
一. GunPG的概念
PGP(Pretty Good Privacy)是最为有名的加密工具之一。从9.0版开始,PGP已经发展成为个人计算机数据保护的一个全面的解决方案。它除了可以对Outlook、 Outlook Express、Eudora以及Entourage中的电子邮件进行加密和解密以外,还能对AOL即时消息工具中的对话进行加密。不仅如此,PGP甚至 可以对整个硬盘进行加密,阻止非法访问。还有,使用PGP Zip模块,你还能对文档和目录进行压缩和加密。现在,在PGP的网上商城 , PGP的最新版—PGP Desktop Home 9.5售价为95欧元(约合950人民币)
GNU Privacy Guard(GnuPG)是一个完全免费的公钥加密技术软件包( 基于PKI原理,PGP的开源方案 ),在企业网络应用中,使用GunPG对在公共网络或者局域网内传输的信息进行数字签名或加密保护,有利于提高企业网络的安全并降低安全验证成本,下载可以从GunPG官方网站上下载。
GunPG是完全免费的公钥加密技术软件包,其有4个含义:
1.如所有其他GUN产品一样,可以免费获得它。
2.可以得到它的源代码,并安装GUN库一般公共许可(LGPL)规定,任何人都可以自由修改它并可以重新发布。与一般的公共许可协议(GPL)不同,LGPL也允许商业销售商编写建立在GunPG上的专用软件产品,而无须被迫发布它们的源代码
3.避免了如IDEA和RSA这样的受专利制约的算法,因此,不必向任何一方支付许可费就可以使用它。
4.GnuPG是在德国开发的,因此,它逃避了美国的出口限制
二. GunPG的应用
1.生成标识自己身份的密钥对,公钥和私钥,公钥可以在网络上对外公布,用于代表自己的身份,别人通过公钥加
密发送给你的数据或者通过公钥验证你的对数据产生的数字签名;私钥必须自己妥善保存,用于解密别人发送给你的数据,同时用来对数据产生数字签名。
2.非对称加密:公钥加密的数据必须由私钥来解密。当你想把数据安全地传输到另一方,可以使用对方的公钥对数
据进行加密,这样加密后的数据就只有对方(拥有私钥的一方 )才能解密,这样就不怕数据在传输过程中被截获。
3.身份确认:当数据接收方不能确定或怀疑接收到的数据是否由你本人发出时,此时你可以使用你的私钥对数据进
行数字签名(签名后只有用你的公钥才能验证签名的正确性),对方就可以通过你的公钥验证数据是否由你本人发出。
4.加密数据+签名确认:如果你想安全把数据发送到另一方,使用对方的公钥对数据进行加密,同时再用自己的私
钥对加密后的数据进行签名,这样对方就可以用你的公钥验证数据是否由你本人所发送,签名验证后(相信数据是发自你本人)才对数据进行解密,以防数据在传输过程中被截获且同时更改加密数据及签名数据,确保不被欺骗。
注意:通过可信的渠道把自己的公钥安全交到对方手上是整个安全数据通讯的首要条件!!!同PKI的CA机构一样,你也可以使用或建立可信的CA( 信用中介),再集中用这个CA对所有用户的公钥进行数字签名,然后所有用户都导入及使用此CA的公钥对其他用户的公钥进行信任验证( 确认对方是否由此CA签发以及来检查对方“声称他是他自己”的正确性)。
三. GunPG的配置及钥匙数据库/钥匙环
1.正常安装了GunGP后,程序二进制文件:/usr/bin/gpg
2.配置文件目录:~/.gnupg
~/.gnupg/gpg.conf– 配置文件
~/.gnupg/trustdb.gpg – 信任库
~/.gnupg/pubring.gpg – 公钥库
~/.gnupg/secring.gpg – 私钥库
备份时只需要把~/.gnupg整个目录备份即可,恢复时覆盖整个目录即可
四. 使用流程
1.生成钥匙对“ gpg --gen-key”,生成过程中采用默认值即可,gpg会使用“真实姓名,Email地址以及注释”来组
成一个UserID,以标识钥匙对,如下例子:
真实姓名: MyName
电子邮件地址: myname@
注释: MyIdentification
您选择了这个用户标识:
MyName (MyIdentification)
同时会提示输入私钥的保护密码,以降低私钥被盗使用的危险,以后每次访问私钥( 签名或解密 )时gpg都会提示输入保护密码进行身份验证
2.导出钥匙对中的公钥
# --armor 表示加内容转换成可见的ASCII码输出,否则是二进制不可见内容
gpg --export --armor MyName > myname.gpg.pub.asc
或者
gpg --export --armor myname@ > myname.gpg.pub.asc
3.把导出的公钥通过安全的途径发送给对方
4.对方收到公钥后:
○先通过“gpg --import myname.gpg.pub.asc”导入公钥到自己的公钥库
○“gpg --fingerprint MyName”打印出导入后公钥的指纹( 此时可通过第三方途径,如:EMail,电话等方式向对方确认指纹的正确性,此步聚称“验证公钥的有效性” ,当然如公钥的传输途径是可靠的话
可以直接忽略此步聚)
○当确认公钥的正确性后,必须对此公钥进行签名(使用对方自己的私钥对导入公钥进行签名,以告诉gpg此公钥是可靠的经过验证的,可用于以后的加密及签名验证用途):
gpg --edit-key MyName