数据加密有效防止了数据被窃听、截获,但也存在副作用。如果犯罪分子利用加密进行秘密通信,执法部门就难以对犯罪活动追踪溯源。如果用户的密钥丢失或损坏,使用该密钥加密的数据将无法解密。密钥托管系统(即托管加密系统)允许授权者(包括用户、企业职员、政府官员)在特定的条件下解密密文。对于密钥托管的作用,政府的要求和商业部门的要求不同。政府的目的是利用密钥托管解密已加密的信息,如监听犯罪嫌疑人的通信。商业密钥托管的目的是能够在用户的密钥丢失或损坏时可靠地恢复明文或者密钥。常见的密钥托管方案有密钥托管标准、门限密钥托管、部分密钥托管等。
1.密钥托管标准
1993年,美国商业部颁发了密钥托管加密标准(Escrow Encryption Standard,EES)。EES允许法律执行部门在法院授权的情况下能够进行搭线窃听,对可疑人员进行秘密跟踪。EES规定使用专门授权制造的且算法不予公布的硬件芯片实施商用加密。该密码体制在法律许可时进行密钥恢复,不需破译而直接侦听。EES应用了两个特性:一个不公开的加密算法(Skipjack算法),它是一个对称的分组密码,密钥长度为80 bit,用于加/解密用户间通信的消息;另一个提供“后门”的法律实施访问域(Law Enforcement Access Field,LEAF),通过这个访问域,政府部门可以在法律授权下,取得用户间通信的会话密钥。但是,EES也存在一些缺陷,比如,系统使用的算法Skipjack是保密的,托管机构需要大量的数据来存储托管密钥。
2.门限密钥托管
Micali提出了门限密钥托管方案,也称为公平密码系统。门限密钥托管采用(t,n)门限方案与密钥托管算法相结合,一个用户把要托管的密钥分成n个部分,分发给n个托管人,其中至少t个托管人一起才能恢复出用户密钥,而少于t个托管人是无法恢复出密钥的。协议执行过程如下:
(1)Alice产生她的私钥/公钥密钥对,她把私钥分成几个公开和秘密部分。
(2)Alice发送给每个托管人一个公开的部分及对应的秘密部分。这些消息必须加密。她把公钥发送给KDC(密钥分配中心)。(www.daowen.com)
(3)每个托管人验证所得到的公开部分和秘密部分的正确性。每个托管人将秘密部分存放在安全的地方并把公开部分发送给KDC。
(4)KDC检查公开部分和公钥,如果是正确的,那么KDC在公钥上签名生成公钥证书,并把证书发送给Alice或发布在某个数据库上。
如果法庭要求进行搭线窃听,那么每个托管人就把他的那部分交给KDC,KDC能重新构造出私钥。在交出密钥前,无论是KDC还是任何一个托管人都不能重新构造出私钥,所有托管人一起才能重新构造出这个私钥。与门限方案相结合,能够实现只需要托管人的一个子集(例如,5个中的3个)便能重新构造出私钥。
3.部分密钥托管
部分密钥托管方案是Shamir提出的,这种方案的目的是使监听机构延迟恢复密钥,这可以避免法律授权下的大规模监听事件的发生。这种方案具体为:用户要托管的密钥分成x和α两个部分,其中,x就是要托管的密钥部分,而α是一个位数较少的密钥部分。被托管的x部分可以采用门限密钥托管方案来进行托管。如果想要恢复出用户密钥,在恢复x部分的同时,还需要利用穷举搜索确定α部分。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。