一.前言:
随着网际网络的蓬勃发展,各种网络上的应用不断的推陈出新,在我们的日常生活当中,无论是生活作息或是办公业务,网络对你我来说,已经是生活中不可或缺的一环了! 有很多时候我们需要藉助网络来散布讯息,或是透过网络而得到想要的信息。网络是如此的便利好用,但是,你有没有担心过: 如果是重要而且极机密的资料,在茫茫网海里传递时,要如何确保资料的安全及保密呢?
是的,信息安全是非常重要的课题。网际网络的建置不是一昧要求愈来愈快而已,只有在信息安全无虑的基础之下,我们才能放心的将重要资料交付给网络,让网络能为大家作更多元化的应用,例如网络报税、电子商务等等。有鉴于此,计算中心着手进行本院 Public Key Infrastructure 计划(网址: http://www.sinica.edu.tw/cc/netsrv/pks.html),来推动院内公钥加密系统(Public Key Cryptosystems)。首先以中心同仁的薪资通知为例,我们将传统的薪资单改以加密后的电子邮件寄出,收件人必需用个人的私钥及密码才能解读。PKI基本上可达到文件加密及电子签章的功能,换言之,该份文件以收件人的公钥加密后,只有持有私钥的收件人才能解读,即使文件被窃取也不怕资料外泄;再者,送件人以个人私钥加签于该份文份上,收件人取得后,以送件人的公钥加以核算,若一致就表示这份文件确实是由对方发出而且没有遭到篡改。本计划中,最关键的密码技术部份,我们建议使用 PGP (Pretty Good Privacy) 系统为核心。本文将针对下列部份作详细介绍:
1. PGP 运作简介: 对称式与非对称式密码系统。
2. PGP for Windows 软件的安装及使用。
3. 以薪资加密邮件为例,如何在邮件软件中解读。
若您想更深入了解 PGP 的加解密技术及相关信息,请进入我们整理的 PGP 参考网页 (http://www.sinica.edu.tw/cc/netsrv/security/pgp.html),这里收集了中外各家的 PGP 相关网站,内容丰富、深入浅出,只要稍加研读,一定获益良多,而且您将了解,以目前的密码学技术而言,PGP 的确是一项成熟、让人放心使用的加解密工具。
二.PGP 运作简介
※本节部份内容摘录自工研院电通所樊国桢博士所撰「电子文件交换与公开金钥基盘建设(一)」(http://www.gss.com.tw/gsseis/11/fa.htm)有完整全文。
◆对称式密码系统◆
对称金钥密码系统,历史悠久,加/解密速度快是其优点,但因其加密金钥与解 密金钥为相同一把金钥,信息的传送方如何在加密之后,将该把加密金钥以安全的方式传送给接收方,如何使双方能共享该把秘密金钥,以利其解密,是此密码 系统的一大问题,因此,对称金钥密码系统较不适合多人使用的应用。著名的对称金钥密码系统算法有DES、RC2、RC4、IDEA、GOST、SAFER、FEAL、Skipjack、Blowfish等﹝Schneier,B.1996﹞,对称金钥密码系统所使用金钥安全长度的选择可参考Blaze等人的研究﹝Blaze,M.et al.1996﹞。
图 2.1 对称金钥密码系统之问题
◆非对称式密码系统◆
非对称式密码系统一般也称之为「公开金钥密码系统」,则改善了对称金钥密码系统的缺点,其加密金钥与解密金钥不是同一把。每一对金钥(Key Pair)包含两把相互对应的金钥,一把为可以公开的加密金钥(以下称「公钥」,Public Key)与一把必须保持机密的解密金钥(以下称「私钥」,Private Key )。运算速度较慢是公开金钥密码系统的缺点,以RSA为例,与对称金钥密码系统相较于加密部份大概慢了一千倍到五千倍﹝Pfleeger,C.P.1997﹞。
在使用时,任何人均可将其加密金钥公开,让可能与其通信的人知道,当任何人欲传送讯息予该接收方时,可将讯息使用该接收方所公布的「公钥」加密之后,再加以传送。该加密后的讯息,只有既定接收方所拥有与此把公钥相对应之「私钥」可以将该讯息解密,所以公开金钥密码系统可以达到让素昧平生的双方,不需要事先交换金钥即可从事秘密通讯的特性。
相反的,当讯息以传送方的「私钥」加密之后,任何拥有与该「私钥」相对应之「公钥」者均可以将之解密,但因「私钥」只有传送方拥有,且保持机密不予公开,因此,以私钥所加密之讯息可视为传送对该讯息之签章。但公开金钥密码系统因运算速度较慢,实务上,签章时均以对该文件之「文件汇记」(Message Digest)加以签章的方式,代替对整份文件签章。
「文件汇记」必须可以将任意长度的讯息加以浓缩转换为一固定长度的讯息摘要,且必须具备足以分辨文件的特性,一般均是使用密码学上具有「不可逆」与「抗碰撞(Collision-resistant)」特性的安全杂凑函数,来计算文件汇记。目前常见的文件汇记函数有 RSA公司MD家族之MD2、MD4、MD5,美国国家标准局(NIST)的 SHA、SHA-1、与欧盟 RIPE项目之RIPEMD 、RIPEMD-128、RIPEMD-160等。其中 RSA公司已公开宣称\fs24 MD2、MD4与MD5,均不完全适合使用于未来的电子文件签章应用,其所推荐适合未来签章使用的文件汇记函数为SHA-1与RIPEMD-160﹝RSA Laboratories 1996b,1996c﹞。著名的公开金钥密码系统与数字签章算法有Deffi-Hellman、RSA、DSA、ElGamal、Knapsack、Rabin等﹝RSA Laboratories 1996a﹞。
基于公开金钥密码系统不需要事先交换金钥,即可从事秘密通讯的优点与实现数字签章的特性,目前在开放性的网络上,最常使用的方法就是利用所谓的公开金钥密码系统,来对所要传递资料进行加密或签章。
在实际应用上,基于效率的考量,一般均以公开金钥密码系统搭配对称金钥密码系统使用,即使用对称金钥密码系统加密欲传送的信息,再将该把「对称加密金钥」以接收方公开金钥密码系统之「公钥」加密,组成所谓的「电子信封」,并将此金钥交予公正第三者保管,然后将此电子信封传送给接收方。接收方必须先以自己的「私钥」将电子信封拆封,以获得「对称金钥解密金钥」,再以该对称金钥解密金钥解出真正的讯息,兼顾方便与效率。由此可见,公开金钥密码系统,在通讯中扮演重要的角色。图2.2是公开金钥密码系统与对称金钥密码系统整合应用示意。
图 2.2 公开金钥密码系统与对称金钥密码系统整合应用
三.关于PGP (Pretty Good Privacy)
PGP 从 1991年由原作者 Philip Zimmermann 发表后,立刻非常引人注目,在近代密码学相关产品中,PGP 可说是最被广泛采用的软件包。因为一方面他采用被全世界密码学专家公认最安全而且最可信赖的几种基本密码算法,例如 IDEA 对称式文件加密算法、RSA 或 Diffie-Hellman 的非对称式加密算法处理公开金钥及私钥之加解密、以及利用 SHA1 单向杂凑函数应用在文件标注、电子签章认证上。这些密码算法都是早已公开发表的,并且曾经被学者反复推算验证过的加解密算法。PGP 的作者将这几种密码学技术整合并程序化后,成为一套极为好用的软件包; 另一方面 PGP 作者采用一切公开(包含其程序原始码在内),而且是全球性的免费软件(注)方式发行,不致让人怀疑会有所谓的程序暗门(Trapdoor)存在,因此更深获全球广大使用者的信任。
笔者在研读 PGP 相关技术时,也稍微涉猎其发展历程,发现非常有趣。因为美国官方一直对密码器出口有严格的限制,Zimmermann 未经美国政府许可即在全世界散发 PGP,且造成风行,因此多年来他一直是被官方起诉的对象,直到 1996年才解除追诉。所以在 PGP 2.x.i 的版本都将程序原始码放到国外以规避美国法律限制,但是 1997年发表的 PGP 5.0i 却是第一个合法由美国出口的版本,让全世界的爱用者都可以放心使用,为什么呢? 因为他将程序原始码印刷成书(12大本,超过6000页),然后合法的出口到国外,在欧洲由热心的义工群,将书本重新电子扫描,转译回程序代码后,再编译成原来的 PGP 5.0。可以想见整个过程非常辛苦,但也巧妙的避开了美国法律规范。之后的 PGP 5.5.3i 也是采用相同的作法发行,这段称之为「The PGPi scanning project」的过程,详述于http://www.pgpi.com/project/。文中还特别强调所有的文件扫描工作都已完成,目前不需要义工支持了。因此当我们在享用 PGP 大餐时,请记得 Zimmermann 多年来奋斗的勇气及幕后一群热心义工们的付出。(注)
◆PGP 最新消息◆
网络上有关 PGP 的资料非常丰富,其中最重要的网站是 PGPi.com (http://www.pgpi.com),这里会随时更新 PGP 的相关讯息,并且提供适合各种操作系统的最新版 PGP 软件,我们可在该网页上选择「Download PGP」版面,然后依次指定你想要的版本是: 美国版或国际版、操作系统、免费或商业版等之后,就会得知 PGP 最新版的讯息,最后选择最近的 FTP 站下传,非常方便。
举例来说: 非美国地区的用户,免费的 PGP 在 Windows/Mac 环境最新版是 PGP 5.5.3i,在 Unix 环境最新版是 PGP 5.0i。本文将继续介绍 PGP 5.5.3i for Windows 的安装及使用。
图 3.1 PGPi.com 网站提供各种版本的 PGP