岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Linux频道 >> Linux编程 >> SHELL编程 >> Linux频道正文
用GPG加密使您的信息安全保障无忧二(图)
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-10 17:04:04

  导入公钥
  
  作为用户,也会收到别人的GPG公钥,它们可能来自网站、电子邮件、FTP和目录服务等,只要信任其来源,就可以将其导入自己的GPG环境,之后才可以与相应的人员进行基于GPG的各种应用。导入公钥的过程可以分为以下三步:
  
  1.导入
  
  比如,Terry收到朋友Brian的公钥文件brian.gpg,可以使用以下命令导入文件:
  
  #gpg --import terry.gpg
  
  2.核对“指纹”
  
  公钥是可以伪造的。James可以伪造一个Brian的公钥,然后想办法让Terry得到。如果Terry对收到的公钥不加验证,那么他发给Brian的加密邮件就可能被James解密。GPG的架构中并没有一个PKI这样的证书管理系统,GPG的公钥信任是通过“Truth Web”实现的。
  
  生成Terry公钥的“指纹”:
  
  #gpg --fingerprint terry@mykms.org
  pub 1024D/7234E374 2004-09-10 Terry
  Yu (for test) <terry@mykms.org>
  Key fingerprint = A58F D71A 28BA
  499D 805B 588E 82FB CD0F 7234 E374
  sub 2048g/4907EA0A 2004-09-10 [expires: 2005-09-10]
  
  这个“指纹”是惟一的。可以通过与对方核对“指纹”是否一致,来确定这个公钥是否可信和合法。
  
  3.签名
  
  在成功导入,并确定这个公钥是可以相任之后,要立即对这个公钥进行签名。这样,就可以验证来自对方邮件的真实性了。
  
  对公钥进行签名可以使用如下命令:
  
  #gpg --sing-key brian@mykms.org
  
  或者
  #gpg --edit-key name
  #command > sign
  
  检查对方邮件,比如Brian的签名:
  
  #gpg --check-sigs brian@mykms.org
  
  现在,有了Brian签名的公钥,通过这个公钥就可以和Brain进行非对称加密通信了。
  
  应用GPG
  
  GPG使用的是非对称的密钥体系,用户拥有一对密钥,包括一个公钥和一个私钥。公钥对外公布,私钥则由自己保存。使用公钥加密的数据可以用私钥解密,同样,使用私钥加密的数据可以用公钥解密。
  
  非对称的密钥可以用来加密和做数字签名。当用户关心信息保密性时,使用加密功能;当用户关注信息完整性及不可抵赖性时,使用数字签名功能;当用户需要同时关注信息的机密性、完整性及不可抵赖性时,可以将加密和数学签名混合使用。
  
  简单了解这些密码学概念后,就可以开始真正的应用实践了。
  
  对文件进行加密和数字签名
  
  KDE中提供了图形化的加密操作方法。比如,在KDE中对一个文件加密,只需在KDE文件管理器Konqueror中选中该文件,单击右键选择“Actions”中的“Encrypt File”就可以加密文件。加密后的文件以.asc结尾。
  
  对于图形方式的加密操作不多做介绍,下面将重点放在命令行操作方式上,介绍命令行下的各种文件加密和签名的操作方法。
  
  1.对文件进行数字签名
  
  #gpg --clearsign policy.txt
  You need a passphrase to unlock the secret key for
  user: "test (test) <test@yahoo.com.cn>"
  1024-bit DSA key, ID ADD93830, created 2004-07-01
  
  运行以上命令,生成一个名为report.txt.asc的文件,该文件中除了原文件信息外还包含数字签名信息。
  
  2.验证文件的数字签名
  
  #gpg --verify policy.txt.asc
  gpg: Signature made 2004年11月04日 星期四 15时58分07秒 UTC using DSA key ID ADD93830
  gpg: Good signature from "test (test) <test@yahoo.com.cn>"
  
  以上命令运行的结果显示该签名是正确的。
  
  3.用指定的公钥对文件加密
  
  #gpg --encrypt -r terry@mykms.org report.txt
  gpg: checking the trustdb
  gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1
  gpg: next trustdb check due at 2005-09-10
  
  运行以上命令,使用自己的公钥加密report.txt文件,生成加密文件report.txt.gpg。如果使用编辑软件打开该加密文件,会发现它包含的是一些不可理解的字符和乱码。
  
  4.用私钥对加密文件解密
  
  #gpg --decrypt report.txt.gpg >report.txt
  You need a passphrase to unlock the secret key for
  user: "test1 (unclassfication) <test@yahoo.com.cn>"
  2048-bit ELG-E key, ID 33735683, created 2004-09-29
  (main key ID 79EB3D97)
  gpg: encrypted with 2048-bit ELG-E key, ID 33735683,
  created 2004-09-29
  "test1 (unclassfication) <test@yahoo.com.cn>"
  
  以上命令要求输入对应私钥的保护口令才能成功解密,解密后的文件内容被输出到report.txt文件中。
  
  5.用公钥同时进行文件签名和加密
  
  #gpg -se -r test@yahoo.com.cn report.txt
  You need a passphrase to unlock the secret key for
  user: "test (test) <test@yahoo.com.cn>"
  1024-bit DSA key, ID ADD93830, created 2004-07-01
  
  以上命令要求输入对应私钥的保护口令,输入正确的口令后,签名和加密成功完成。
  
  这些都是应用GPG签名和加密文件的一些常用命令,更详细的用法可以参考GPG的帮助文件。
  
  对电子邮件进行加密和数字签名
  
  实际上,GPG应用最多的地方是在电子邮件的加密和数字签名上。许多电子邮件客户端软件都支持PGP/GPG方式的加密及数字签名。这里以Kmail为例,介绍如何设置Kmail,并利用Kmail发送加密及数字签名的电子邮件。
  
  Kmail是KDE环境中的电子邮件客户端,类似于Windows下的Outlook Ex

[1] [2] 下一页


  • 上一个Linux频道:
  • 下一个Linux频道:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    天龙八部私服 传世私服 传奇世界私服 传奇私服 bet365 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365