信息安全概论作业 身份认证

Description

今天校园里到处是快递小哥,同学们也经常帮别人取快递,快递小哥不会很细致的核实身份,就允许代领,存在很多不安全因素。

设计一款基于手机的app,用于快递小哥验证身份,顾客领取快递。具体认证方法不限,简单易行。
(1)给出:app包含哪些部分(可加图示),每部分的功能;
(2)模仿kerberos的写法,描述交互过程,并加说明。

Solution

首先,这个APP应当具有一个服务器部分,它连接快递员与用户的客户端部分。结合现实生活中的经验,快递小哥认证来收快递的人是不是真的用户,应该通过基于验证码的服务器查询的方式。

那么这个收发快递的过程可以分为以下几个步骤:

1.快递小哥本人登录,进行身份认证

假设快递小哥是\(Deliver\),服务器是\(AS\),那么按照\(Kerberos\)的方式会进行这样的通信:

\(Deliver->AS: ID_{deliver}||ID_{tgs}||TS_1\)

\(AS->Deliver: E_{deliver}[K_{deliver,tgs}||ID_{tgs}||TS_2||Lifetime_{deliver}||Ticket_{deliver}]\)

其中,\(ID_{deliver}\)是快递的编号,\(ID_{tgs}\)是请求访问的\(TGS\)编号,\(TS_1\)为时间戳,\(E_{deliver}\)为快递员的密钥加密,\(Ticket\)为服务器发送的签证,\(Lifetime\)为其有效期。

2.当快递小哥送到货物的时候,向服务器发送信息,然后服务器发送信息给用户客户端

\(Deliver->AS: ID_{user}||Info||Ticket_{deliver}\)

\(AS->User: E_{user}[Info||Code||Lifetime]\)

其中\(Info\)为快递信息,\(Code\)为验证码,\(Lifetime\)为快递信息的有效期。

3.用户进行登录,完成身份认证

\(User->AS: ID_{user}||ID_{tgs}||TS_3\)

\(AS->User: E_{user}[K_{user,tgs}||TS_4||Lifetime_{user}||Ticket_{user}]\)

这个和快递员登录时的身份认证方法基本相同。

4.用户与快递小哥碰面,向快递小哥出示验证码\(Code\)(这也相当于通信),快递小哥询问服务器\(Code\)是否正确

\(User->Deliver: Info||Code||Lifetime\)

\(Deliver->AS: Info||Code||Lifetime\)

\(AS->Deliver: Result\)

最终快递小哥通过结果\(Result\)判断是不是真的\(User\)本人。

posted @ 2022-05-14 23:26  ywy_c_asm  阅读(159)  评论(0编辑  收藏  举报