作业6 访问控制

题目

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

软件需求:

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

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

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

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

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

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

设计要求,

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

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

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

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

解答

模块列举

注册/登陆模块:用户采用实名信息注册账号后,在登陆时输入服务器中有的账号和正确的密码才可登陆。

报名参加选举人模块:用户采用实名信息填写报名表,向服务器提交,经审核信息无误后方可成为选举人。

投票模块:投票人进行匿名投票,未进行投票会被提醒。

统计&公示模块:对投票结果进行统计后,公示选举结果。

认证协议

采用Kerryberos认证协议。注册用户阶段:

身份验证服务交换:用户完成身份认证,获得访问TGS的票据。

②票据授予服务交换:获得访问服务器的票据。

登录阶段:用户使用经AS认证的票据向服务器进行身份验证,服务器验证用户是否具有权限。

隐私保护

为网站配置SSL,在用户与服务器之间传递信息时,使用不对称密钥加密,防止窃听。

使用基于角色的访问控制,只有服务器有访问统计模块的权限,用户无法访问统计模块。

防止伪造

使用公开密钥通信。发送信息时用公钥加密,解读信息时采用私钥解密。

posted @   Matrix_250  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示