第八章部分习题答案

第15题


  • 原题题目:
  考虑图8-18中的鉴别协议,其中Alice向Bob鉴别她自己,我们看来工作正常(即我们没有发现其中有缺陷)。现在假定当Alice向Bob鉴别她自己的同时,Bob必须向Alice鉴别他自己。给出一个情况,此时Trudy假装是Alice,向Bob鉴别她自己是Alice。(提示:该协议运行的顺序,鉴别过程可由Trudy或Bob发起,能够任意地交织在一起。特别注意Bob和Alice将使用不重数这样一个事实,如果不小心的话,能够恶意地使用相同的不重数)。
  • 解题思路:鉴别协议ap4.0中,Trudy只需要获得不重数R的加密结果KA-B(R)并将其向Bob发送,即可成功假装为Alice。注意到Alice和Bob使用的是对称密钥加密,如果Trudy能够向Bob发送这个不重数R,就能获得其加密结果KA-B(R),因此就需要在Trudy意图伪装成Alice的同时,Bob向Trudy发起鉴权,这与题目的假设条件一致。
  • 问题答案:有如下Trudy和Bob之间的时序图,按照时序图上标注的步骤,即可做到Trudy向Bob鉴别自己是Alice。

 

第26题


  • 原题题目:
  假设Alice要使用TOR类似的服务访问Web站点activist.com,该服务使用两个不串通的代理服务器Proxy1和Proxy2。Alice首先从某个中央服务器获得对Proxy1和Proxy2的证书(每个都包含一个公钥)。用K1+()、K2+()、K1-()、K2-()表示加密/解密时所使用的RSA公钥和RSA私钥。
  a.使用一幅时序图,提供一个(尽可能简单的)协议允许Alice创建一个用于Proxy1的共享密钥S1。S1(m)表示为使用共享密钥S1对数据m加密/解密。
  b.使用时序图,提供一个(尽可能简单的)协议允许Alice创建一个对于Proxy2的共享会话密钥S2,而不向Proxy2透露她的IP地址。
  c.现在假设创建了共享密钥S1和S2。使用时序图提供一个协议(尽可能简单并且不使用公开密钥密码),该协议允许Alice从activist.com请求一个html页面而不向Proxy2透露她的IP地址,并且不向Proxy1透露她正在访问哪个站点。你的图应当终止在一个HTTP请求到达activist.com。
  • 解题思路:TOR服务即使用一个代理链,终端用户对目的网站的访问通过代理链来转发,题目中的数据流向是Alice->Proxy1->Proxy2->目标服务器,并且要求Proxy1不知道访问网址,Proxy2不知道原始IP,这有点类似于隧道技术的思想(IPV4-IPV6隧道或者IPsec隧道,但实际又有所区别),我们将Proxy1与Proxy2看成隧道两端:Proxy1只负责为Alice向Proxy2转发数据,但具体数据是什么,Proxy1并不关心;Proxy2只负责将Proxy1发送的数据进行解包,并完成实际工作,对Proxy2来说请求来源就是Proxy1。
  • 问题a答案:Alice使用Proxy1公钥加密共享密钥并发送给Proxy1,Proxy1使用私钥解密拿到S1。
  • 问题b答案:Alice使用Proxy2公钥加密共享密钥S2,然后使用共享密钥加密前面的数据,发送给Proxy1,并要求Proxy1使用S1解密后将解密数据发送给Proxy2。
  • 问题c答案:类似于问题b的处理方式,不过这次全部使用共享密钥,如下图
posted @ 2021-05-16 09:27  re-phoenix  阅读(194)  评论(0编辑  收藏  举报
levels of contents