【信安作业】0510-5身份认证
题目
今天校园里到处是快递小哥,同学们也经常帮别人取快递,快递小哥不会很细致的核实身份,就允许代领,存在很多不安全因素。
设计一款基于手机的app,用于快递小哥验证身份,顾客领取快递。具体认证方法不限,简单易行。
(1)给出:app包含哪些部分(可加图示),每部分的功能;
(2)模仿kerberos的写法,描述交互过程,并加说明。
解答
一、app包含部分及功能
1.客户端
快递小哥/顾客通过客户端访问后台验证端,以自身的注册信息(如名字、身份证号)作为ID向后台验证端发送信号
快递小哥/顾客通过客户端访问后台验证端,获取快递信息及密码
3.后台验证端
对客户端的访问进行身份认证
对快递信息进行一定的加密,得出对应的密码并发给客户端
二、交互过程说明
1.身份验证服务交换:顾客完成身份认证,获得访问权限,登录app
(1)C->S:IDc||TS1
(2)S->C:Ekc[B0||TS2]
注:(1)为顾客C请求访问后台验证系统S并获取快递信息(如表示位于货架位置的取件码)(2)为返回加密后的票据信息
IDc:顾客C的用户标识;TS1:让S验证C的时钟与S的时钟是否同步的;
Ekc:基于用户口令的加密,使得S和C可以验证口令,并保护信息;B0:顾客C在系统S登记的已到未取的快递信息;TS2:告诉用户该信息签发的时间
2.密码获取:顾客选择需要领取的快递,将信息发给S,S加密出相应的验证密码返给顾客
(1)C->S:IDc||B1||TS3
(2)S->C:Ekc[key||TS4]
注:(1)为顾客C向S发送需要领取的快递信息(2)为S返给顾客用于最终验证的密码
B1:顾客C需要领取的快递信息;key:经过用只有后台验证系统S知道的密钥S加密得到的最终密码;key=Eks[IDc||B1||TS3];Eks:只有S知道的密钥,严格保密
3.快递领取服务交换:快递小哥完成身份认证,获得最终验证的密码
(1)A->S:IDa||B1||TS5
(2)S->A:Eka[key||TS6]
注:(1)为快递小哥A向S发送接收领取快递信息(2)为S返给快递小哥验证用的密码
IDa:快递小哥A的用户标识;Eka:基于快递小哥口令的加密,使S和A可以验证口令,并保护信息
由此,该app构建完成,用户C可以从后台系统S获取快递总信息B0,并发送需要领取的快递信息B1;然后快递小哥A可以通过app查看领取信息B1,并通过身份认证得到验证密码key;于是快递小哥A通过信息B1找到快递,领取时通过只有快递小哥A、系统S和顾客C知道的密码key,可以验证顾客信息,由此达到核实身份,减少不安全因素的目的。本系统的关键在于保证key和Eks的机密性。