信息安全概论作业六

题干

设计一个投票系统APP,投票信息关乎隐私,一般采用无记名投票,但在网络上投票具有可溯源性,明文传输别人窃听,就会知道投票人投谁的票。为了保护隐私、又要确认每个人都投了票,要求设计一款APP。

软件需求:

1、采用网络服务器server + 用户手机app模式,

2、主要功能包括:注册、登陆、报名参加选举人、app投票、统计公布选举结果。

3、投票,单选,内容为各选举人加弃权。

4、确认每个人都投了票,而且投了有效票。

5、任何人(包括服务器管理员)也不能知道投票人投了什么票。

6、网络传输要防止窃听。

设计要求,

1、写清楚你的系统为了完成上述功能要求,设计了那些功能模块,每个模块有什么功能;

2、写清楚你的认证协议,要核实身份,是不是有效注册用户;

3、写清楚你是如何保证隐私不被别人得到的;

4、写清楚如何保证无法伪造投票。

大家加油吧。

 

解答

1. 功能模块

认证模块

进行注册或登录

报名模块

用户报名参加投票,服务器为其分配角色

投票模块

已报名的用户可公正参与投票

公示模块

公式投票结果

 

2. 身份认证

与上一次作业一样,这里采用Kerberos认证,其中前两个阶段与作业5的注册、登录设计几乎一致。用户向服务器请求ticket和TGS票据,进行身份验证。考虑到后续需要进行访问控制,在认证的第三阶段会进行一个额外的步骤——验证用户的角色Role是否具有权限。

 

3. 隐私保护

首先采用基于用户的访问控制模型RBAC,为用户分配适当的角色,让投票者只有投票的权限,访问投票结果的权限只给投票主办方,即使是管理员也没有权限访问结果。此外使用公开密钥密码通信也能提高信息的安全性,没有接收方的私钥,攻击者即使得到了密文和公钥也无法对密文进行破译。这样在一定程度上也能保护信息安全。

 

4. 防止伪造

使用公开密钥密码通信,主办方向用户发送信息时,用用户的公钥加密,用户收到后用自己的私钥解密;用户向主办方发送信息时,用主办方的公钥加密,主办方收到后用自己的私钥解密。整个过程中私钥不会进行传输,使攻击者无法截获私钥,因此能够确保身份,防止伪造。

posted @ 2022-05-20 21:56  zzzz罗  阅读(105)  评论(0)    收藏  举报