参考答案:
【问题1】
实现完整性。
如果只调整A用户的处理机制,B用户的处理方式不变,则不能互换计算顺序;接收方接收到H[Ek(M)]后再使用共享密钥对其解密得到的结果,无论如何都不可能与H(M)相同,也就无法判断信息传输过程中有无被篡改。
如果B用户的处理机制也做相应调整,如接收方对接收到的明文也采用同样的方式,先用共享密钥加密,再对其进行hash运算,得到的结果与接收到的H[Ek(M)]进行对比;这样则可以互换计算顺序,通过互换同样也可达到以上安全目标。
【问题2】
能实现保密性和完整性。
【问题3】
(1)Ek[ M||SKA(H(M)) ] (2)PKA
详细解析:
【问题1】解析
通过以上保密通信方式,接收方可以相信报文未被修改。如果攻击者改变了报文,因为已假定攻击者不知道密钥K,所以他不知道如何对Ek[H(M)]作相应修改。这将使接收方计算出的 H(M)将不等于接收到的 H(M)。
如果只调整A用户的处理机制,B用户的处理方式不变,也就是说,接收方接收到H[Ek(M)]后再使用共享密钥对其解密得到的结果,与H(M)无论怎样都不可能相同,也就无法判断信息传输过程中有无被篡改,这样则不能互换计算顺序;
如果B用户的处理机制也做相应调整,接收方对接收到的明文也采用同样的方式,先用共享密钥加密,再对其进行hash运算,得到的结果与接收到的H[Ek(M)]进行对比;如此改变其计算顺序,因攻击者不知道密钥K,且hash函数的单向性和抗弱碰撞性,攻击者也很难对H[Ek(M)]作相应修改;这样则可以互换计算顺序,通过互换同样也可达到以上安全目标。
【问题2】
通过双方共享的密钥K对M和H(M)进行加密后,可以在保证信息完整性的基础上进一步实现信息的保密性。
【问题3】
其安全通信模型基本流程为:发送方先对明文M进行hash运算,对结果H(M)进行签名,即SKA(H(M),接着用收发双方的共享密钥K对明文M和签名摘要SKA(H(M))进行加密,得到Ek[ M||SKA(H(M)) ],将其传送给接收方;接收方接收该内容后,首先使用同样的共享密钥K进行解密,得到明文M和签名摘要SKA(H(M),然后再使用A的公钥PKA对签名摘要SKA(H(M))进行验证,若验证成功,则得到H(M),接着对接收到的明文M进行同样的Hash运算,将其结果与接收到的H(M)进行对比,以验证信息的完整性。