打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
《密码术的奥秘》日常生活中的密码术
userphoto

2023.01.14 广东

关注

引言

本书自始至终反复强调了密码术与现代生活的关系,并且用实际生活中的例子阐明了一些重要的议题。这一章将描述数个不关联的、利用密码术为人们提供安全服务的情况。其中很多场景几乎是普通人每天都会遇到的,但是他们可能并没有意识到其中存在的安全风险以及加密所起的作用。对于每种情况,我们都会描绘密码术的用途,讨论有关安全的议题,指出它是如何应用的。

从ATM中取现金

当一个人从ATM中提取现金时,他需要使用一张塑料制的内含磁条的卡片,并知道相关的PIN。顾客将他们的卡片插入ATM插口,输入PIN,再输入取款数目。在一次典型的交易中,如果是在线交易,该系统需要检验卡上的PIN是否正确,再允许顾客提取他所要求的现金额。这个验证很可能是由银行的主计算机进行的,因此ATM与主计算机之间必须进行双边通信。ATM将卡中记录的详情及PIN发送给主计算机,主机回复授权交易或是拒绝交易。很明显,这些通信需要保护。

虽然取钱的数目不一定需要保密,但必须保证机器给出的钱数与用户从银行账户上提取的款项数额相同。所以,信息的完整性必须得到某种形式的保护。此外,银行方面有理由担心ATM对同一个授权交易的回复进行多次付款,这就要求在回复信息中加入序列号以避免重复执行授权交易。

所有银行都告诫他们的顾客要保守PIN的秘密,因为任何偷到或拾到卡的人,只要知道了正确的PIN就可以使用这张卡。当然,银行必须保证PIN不会在他们的系统中受到损害,因此PIN在传送时以及在用于验证其合法性的数据库中都是加了密的。这一过程中使用的算法是ECB模式的DES。因为DES加密64比特的区组,而PIN一般是4位数,因此含有PIN的区组在加密前需要填满位数。如果对所有顾客所填充的内容都一样,那么对于任何得到加密后的PIN区组的人来说,虽然他们不知道正确的密钥,但他们能够识别出共享该PIN的所有顾客。为了消除这种隐患,我们使用一种填充内容依赖于顾客卡中的详细信息的填充技术。

使用加密的方法就可避免截听ATM与主计算机之间通信的拦截者获知PIN。加密也可以避免那些能够进入银行数据库的人读取PIN。但是正如我们在前面的讨论中已经指出的那样,加密并不能预防骗子猜到某人的PIN。任何人拾获或偷到一张银行卡,都可以将它插入ATM并试试运气来猜一猜。因为至多只有10,000个四位数的PIN,猜成功的机会虽然很小,但尚未达到不可能的程度。为了对付这种情况,大多数ATM只允许试三次PIN,三次都错则将卡吞掉。这种举措是合理的,它不给骗子过多的猜测机会,又避免了卡的真正主人插入卡后因输入错误而引起的不便。正如我们所强调的,加密的方法不能抵御他人猜出PIN的危险。

一些ATM网络现在使用智能卡,其中用上了公钥密码术。此时,用户的卡中包含了他们的私钥以及由卡的发行人签署的证书,以确认他们的公钥值。ATM发出一个质询供卡签署,从而认证这张卡。就像所有依赖于证书的系统那样,为了检查证书的有效性,终端中必须存有卡的发行者的真实的公钥副本。某些系统通过将这些公钥值存在ATM中而实现这一要求。

付费电视

任何一位订购付费电视系统服务的人,都要求能看到那些他们付了费的节目,并且希望那些没有付费的人看不到这些节目。付费电视系统是访问受到控制的广播网络的一个例子。这类网络中的信息——在此例中是电视节目——传播的范围极广,但接收到信号的人中只有一部分人能看懂信息。为达到这一目的,最常用的方法就是使用密钥对广播信号加密,使得只有信息的预定接收者知道该密钥。建立和管理这样的系统的方式有很多。

在典型的付费电视系统中,每个节目在播送之前用其唯一密钥加密。那些为观看这些节目而付费的人,其实是付钱购买该密钥。显然,这就引发了一个密钥管理问题,即如何才能把密钥配送到预订该节目的观众手中。这个问题通常的解决办法是发给该网络的每位用户一张智能卡,卡中包含了用户独有的私钥,对应于一种非对称加密算法。然后用户将智能卡插到读卡器上,这种读卡器可以是电视机的一部分,也可以是由电视网络运营商提供的附加装置。当用户为一个节目付费之后,用来加密该节目的对称密钥在用用户的公钥加密后传送。结合第八章的内容,这种类型的系统使用了对称算法和非对称算法混合而成的两个层次的密钥结构。

优良保密协议(PGP)

优良保密协议最初是20世纪80年代后期由菲尔·齐默尔曼(Phil Zimmermann)开创的。它是一种用户友好型产品,用于在个人电脑上进行的加密,使用对称和非对称两种加密术。它的很多版本现在还在使用之中。在此我们只讨论一般性概念,而不专注于任何一个特定版本或用途。

PGP使用的是两个层次的密钥结构,其中对称会话密钥用于保护数据,非对称密钥既用来签名,也用来保护对称会话密钥。PGP有多种用途,包括电子邮件保密及安全文件存储等。1991年一个公告版上公布了PGP,这招致了齐默尔曼与美国政府(声称公布PGP是非法出口密码术)及各种专利所有者之间的辩论。这场争辩直到1997年才得到解决。PGP成为一种免费软件,很多新的个人电脑的软件中都包括了它。

我们前面已经讨论过,使用非对称加密的主要困难在于密钥认证。我们已讨论过一种解决方法,就是在一种公钥基础设施(PKI)中使用认证中心网络。PGP针对公钥认证问题引入了一种不同的解决方法,即建立信任网

信任网可按下列方式建立。首先,每个用户签署自己真实的公钥,这就是说,本质上用户成了他们自己的认证中心。现在假设用户A和B每人都有这样的由自己签署的密钥。如果用户B“信任”用户A,则B会很乐意签署A的公钥并认为其是可信的。所以,用户B在本质上就成了用户A的认证中心。现在假设用户C不认识用户A,但他想确定A的公钥是可信的。如果C“信任”签署过A的公钥的任一用户,那么C会愉快地接受用户A的公钥并认为其是可信的。这个用户被称为是把A介绍给C的介绍人。利用这种交叉签署公钥的方式,一个大型的、错综复杂的、已认证公钥的网络(信任网)就可以建立起来。它使得用户能够根据自己判断的签署了公钥的人的可信程度,对每个公钥给予某种程度的信任。

自1991年公布以来,PGP有了很多版本,最近的版本(2001年版)是第7版。早期的PGP版本使用RSA和IDEA作为非对称和对称的加密算法;而PGP的后期版本(默认值)用迪菲–赫尔曼协议/贾迈勒算法和CAST作为它们的非对称和对称的加密算法。我们现在简单勾画一下利用PGP的各种选项对电子邮件进行加密的过程。

PGP密钥选项

这个选项显示一个窗口,其中列有系统储备的该用户的所有非对称密钥对、其他用户的所有公钥及它们的可信程度,以及一张与其中每个密钥相对应的签名表。在这个窗口中还有一些工具性程序,用于验证和签署其他用户的公钥,以及导出和导入标有签名者的公钥。这个选项还允许用户根据由移动鼠标和敲击键盘导出的数据生成新的非对称密钥对。然后,用户的密钥对中的私钥是用对称加密算法和用户选择的口令短语或密钥来加密和保存的。

加密选项

通过这个选项可以用一种带有会话密钥的对称加密算法给信息加密,其中的会话密钥是根据移动鼠标或敲击键盘导出的数据确定的。这个会话密钥要用接收者的公钥来加密,然后可将加密的信息与加密的会话密钥发送给接收者。接收者可以用他的私钥恢复对称的会话密钥从而得到信息。

签名选项

这个选项使用发送者的私钥来签署信息。接收者可用发送者的公钥来检验这个签名。

加密与签名选项

这个选项是用来签署并加密信息的,上面已分别简述过这两项操作。

解密/验证选项

这一选项使接收者能够对加密信息进行解密,或是核实签名(或两者皆做)。

安全网络浏览

现在很多人都在网上购物。为此他们几乎肯定要使用信用卡,这意味着他们的信用卡上的详细资料一定会通过网络传送。正是这些详细资料的安全问题,常被人们认为是这种购物形式尚未进一步普及的一个主要原因。在这一小节里,我们将讨论在网络上,信用卡中的详细资料是如何得以保护的,并讨论由此引出的其他安全问题。

安全的网上浏览是电子商务的本质特征。安全套接字层协议(SSL)传送层安全协议(TLS)是两个重要的协议,专门用于核实网站的可靠性。它们促进对敏感数据的加密,并帮助确保网络浏览器与网站之间所交换信息的完整性。下面我们来专门谈一谈SSL。

SSL是客户–服务器协议的一个例子,其中网络浏览器是客户,而网站是服务器。客户启动保密通信,而服务器应答顾客的请求。SSL最基本的功能是用来在浏览器和所选网站之间建立一个发送加密数据(例如信用卡的详细资料)的信道。

在讨论这个协议之前,我们要指出网络浏览器一般都掌握着一些加密算法,以及若干受到广泛认可的认证中心的公钥值。

浏览器发给网站的初始信息通常被称为“顾客来了”,在其中浏览器必须给服务器发送一张表,内容是浏览器能够支持的加密参数。然而,虽然最开始的信息交换可以使加密得以进行,但该信息并不能向网站确认浏览器的身份。事实上,在很多实际应用中,网站不能验证浏览器,认证协议只是让浏览器来验证网站。这样做常常是明智的。例如,若人们想通过网上浏览器买东西,那么对他们来说很重要的一点就是去确认他们所浏览的网站是可信任的。另一方面,经销商可能有其他的方法验证用户的身份,甚至可以不去关心它。例如,经销商在收到某个信用卡号码之后可以通过信用卡核发机构来直接确证这个号码。

网站为了能通过浏览器的认证,需要给浏览器发送其公钥证书,若浏览器有合适的公钥,那么这份证书就给浏览器提供了一份该网站公钥的可靠副本。作为建立安全信道的一部分,浏览器需再向网站发送一个适用于商定的对称算法的会话密钥。该会话密钥是用网站的公钥进行加密的,这就使得浏览器确信只有被选定的网站才能用这个公钥。于是,SSL为第八章中所讨论的混合密钥管理系统提供了另一个日常生活中的例子。同时它也是PKI用于实体认证的一个例子。

GSM移动电话的使用

移动电话吸引用户的主要原因之一,是其能让他们信步漫游,并且几乎能从任何地方拨打电话。然而,因为移动电话是无线的,所以电话信息须通过无线电波传播,直到它到达最近的一个通信基站后才经固定的陆线传送。因为拦截无线电讯号很可能比拦截陆线上的电话容易,所以人们最初的要求是GSM的安全性至少应与传统的固定电话相当。为满足这个要求,从手机到最近的基站的信息传输是加密进行的。另一个更严重的安全课题是运营商面临的难题,他们需要辨认出这是谁的电话,以便知道该由谁来付账。所以对GSM而言,存在下述两个主要的安全要求:机密性——这是顾客的要求,以及用户认证——这是服务系统提出的要求。

每个用户都配发有一张个人专用的智能卡,称为SIM,它包含一个只有运营商知道的128比特的保密认证值。这个值用作质询–应答认证协议的密钥,该协议的算法由运营商选定。当用户打电话时,他的个人身份通过基站传送给系统的运营商。由于基站不知道SIM的密钥,甚至也可能不知道认证算法,中心系统需生成一个质询,连同适用于这张卡的应答一并发回基站。这使基站能够检验应答的有效性。

除了认证算法外,SIM还包含一个流密码加密算法,这在整个网络中是通用的。这个算法用来加密从移动电话传送到基站的信息。对这些加密密钥的管理是很精巧的,需使用认证协议。认证算法接收128比特的质询,并计算出一个128比特的应答,该应答依赖于卡上的认证密钥。然而,只有32比特从SIM传到基站作为应答。

这意味着当认证过程完成时,还有96比特的加密信息只有SIM、基站和主计算机知道。在这些比特中,64比特被用来确定加密密钥。注意,每次进行认证时加密密钥都会变更。(弗雷德·派珀)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数据加密纵横谈
PGP工作原理及其安全体制
手机邮箱系统安全机制的设计与实现
密码故事(下)
USB KEY 身份认证简介
无线路由器一键wps加密是怎么用?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服