首页 理论教育 托管加密标准介绍及应用

托管加密标准介绍及应用

时间:2023-07-02 理论教育 版权反馈
【摘要】:1993年4月,美国政府为了满足其电信安全、公众安全和国家安全,提出了托管加密标准。该标准所使用的密钥托管技术不仅提供了强加密功能,同时也为政府机构提供了实施法律授权下的监听功能。评价结果认为Skipjack算法的强度高于DES,并且未发现陷门。

托管加密标准介绍及应用

1993年4月,美国政府为了满足其电信安全、公众安全和国家安全,提出了托管加密标准(Escrowed Encryption Standard,EES)。该标准所使用的密钥托管技术不仅提供了强加密功能,同时也为政府机构提供了实施法律授权下的监听功能。它提供了一个备用的解密途径,政府机构在需要时,可通过密钥托管技术解密用户的信息,而用户的密钥若丢失或损坏,也可通过密钥托管技术恢复自己的密钥。所以这个备用的手段不仅对政府有用,而且对用户自己也有用。

EES标准于1994年2月正式被美国政府公布采用,标准中密钥托管技术的核心是通过一个防窜扰的芯片(称为Clipper芯片)来实现的,它是由美国国家安全局(NSA)主持开发的软硬件密码部件。Clipper芯片的主要内容和特性如下。

1.Clipper芯片的构成

每个使用EES的用户都有一个Clipper芯片,在芯片中装有以下密码部件:

●Skipjack算法

●80bit的族密钥FK(Family Key),同一批芯片的族密钥都相同;

●32bit的芯片单元识别符UID(Unique Identifier);

●80bit的芯片单元密钥UK(Unique Key),它是两个80bit的芯片单元密钥分量UK1UK2异或

●控制软件

这些密码部件被固化在芯片上,所有芯片均由安全密封信息设备(Secure Compartmen-ted Information Facility,SCIF)进行编程。SCIF的工作过程如下:

1)接收托管机构1的秘密随机串K1和托管机构2的秘密随机串K2,作为各芯片和单元密钥的种子。

2)将用户的单元识别符UID通过填充不同后缀得到三个64bit的UID1UID2UID3,使用K1K2加密得到64bit的R1R2R3,这里

Ri=EK1DK2EK1UIDi))),i=1,2,3其中,E表示Skipjack加密变换;D表示Skipjack解密变换。

3)将R1R2R3级联成64bit×3=192bit长的串,取前80bit作为UK1,次80bit作为UK2,其余丢弃,并将UK1UK2分别发送给托管机构1和托管机构2。

4)计算UK=UK1UK2作为用户的单元密钥。

2.Skipjack算法

Clipper芯片采用Skipjack算法,该算法是由美国NSA 1985年设计的,用于加密/解密用户间通信的消息。它是一个对称分组加密算法,密钥长80bit,明文和密文的分组长均为64bit,轮数为32,可使用ECB、CBC、OFB和CFB四种工作模式。

Skipjack算法的内部细节没有对外公开,1990年美国政府完成了对该算法的评估工作。评价结果认为Skipjack算法的强度高于DES,并且未发现陷门。Skipjack算法的密钥长是80bit,比DES的密钥长24bit,通过穷举搜索的暴力攻击比DES多224倍的搜索,所以Skip-jack算法比DES算法要安全得多。又由于Clipper芯片是防窜扰的,所以没有人(包括芯片的拥有者)能访问它的内容,因此Skipjack算法可得到很好的保护。

3.Clipper芯片的加密/解密过程

法律强制访问域(Law Enforcement Access Field,LEAF)是EES的一个主要特征。LEAF在Clipper芯片上为法律实施提供“后门”的部分,通过这个域,法律实施部门可在法律授权下,实现对用户通信的解密。(www.xing528.com)

Clipper芯片中装有密码部件,能实现对消息的加密和解密。假设用户A是发送者,用户B是接收者,A想用他的芯片ClipA把加密消息M发送给用户B,具体的加密/解密过程如下:

1)用户A和B用任意一个密钥协商方案确定了双方的会话密钥K,其长度为80bit。

2)A将KM输入给ClipA,经过ClipA加密算法生成密文C=EKM)及LEAF(AK),A将C和LEAF(AK)发送给B。

LEAF(AK)具有以下形式:

LEAF(AK)=EFKTAK))

其中TAK)=(UIDAEUKAK),fAKIV))

fAKIV)是由某一秘密函数f产生的一个16bit校验和,IV是一个初始向量。

3)B收到密文C和LEAF(AK)后,将会话密钥K、密文C和LEAF(AK)输入ClipB

4)ClipB使用FK解密LEAF(AK),得到

TAK)=(UIDAEUKAK),fAKIV))

5)ClipB计算fAKIV),并检查是否与收到的校验和一致,若不一致,就停止;否则,进行第6)步。

6)ClipB使用会话密钥K解密C=EKM),获得明文M

4.授权机构的监听

政府机构为了监听用户的通信,首先必须取得法院的许可证书,并将许可证书出示给通信服务的提供者,并从服务提供者租用线路以截取被监听者的通信。假定政府机构要监听用户A给用户B发送的消息,所做的工作如下:

1)该机构截获用户A给用户B发送的密文C和LEAF(AK),使用族密钥FK对LEAF(AK)解密,获得用户A的单元识别符UIDA

2)政府机构在取得法院的许可证书后,向两个密钥托管机构提交法庭给他的监听用户A的委托书和用户A的单元识别符UIDA

3)两个密钥托管机构验证委托书后,给政府机构分别提供用户A的单元密钥分量UK1UK2,计算UKA=UK1UK2可得用户A的单元密钥。

4)政府机构使用FKUKA解密LEAF(AK)获得会话密钥K,使用会话密钥K解密EKM)获得M

没有法院的许可证书,除了两个密钥托管机构外,其他任何人不能获得任何Clipper芯片的单元密钥,当然没有人能找到任何特定通信双方的会话密钥。这样,所有用户的秘密性都能得到保证。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈