第五次作业 身份认证
问题:
今天校园里到处是快递小哥,同学们也经常帮别人取快递,快递小哥不会很细致的核实身份,就允许代领,存在很多不安全因素。
设计一款基于手机的app,用于快递小哥验证身份,顾客领取快递。具体认证方法不限,简单易行。
(1)给出:app包含哪些部分(可加图示),每部分的功能;
(2)模仿kerberos的写法,描述交互过程,并加说明。
解答:
1>快递小哥:查看订单信息;确定身份信息
顾客:快递状态;生成的身份认证信息
服务器:为每个用户分配独立身份认证信息(例如序列号等);更新快递状态;为快递员安排任务
2>为了便于表说明,以下用 C 表示客户,用 V 表示快递员,用 S 表示服务器中一个TGS。
快递员与客户在登陆时都要进行 Kerberos 协议的身份认证,通过AS获取对S访问的 ticket,向S确认自己的身份,获取相应的密钥。在取件时;C需要向V出示由S和V共享的密钥加密认证信息。这里描述三者交互
第一阶段C V都通过As获得ticket
第二阶段
C -> V:ID || AUT。
V —> C:Ec.v[ID2||Ticket ]
ID:说告诉V要去件的货物信息
AUT:由C自己生成,确定是自己
Ec.S[ ]:使用C和S共享的密钥加密;保护该信息
ID2:告诉C这是货物信息为ID的取件认证
Ticket:C须出示的认证信息,Ticket = EV.S[ID || AUT ],其中EV.S[ ]是使用V和S共享的密钥加密
第三阶段
C —> V:Ticket || ID||AUT
V —> C :是否给货物
快递员V将该信息解密,得到客户C是否可信的信息。如果可信,则将快递交付给客户C,否则拒绝交付