作业6 访问控制
题目
设计一个投票系统APP,投票信息关乎隐私,一般采用无记名投票,但在网络上投票具有可溯源性,明文传输别人窃听,就会知道投票人投谁的票。为了保护隐私、又要确认每个人都投了票,要求设计一款APP。
软件需求:
1、采用网络服务器server + 用户手机app模式,
2、主要功能包括:注册、登陆、报名参加选举人、app投票、统计公布选举结果。
3、投票,单选,内容为各选举人加弃权。
4、确认每个人都投了票,而且投了有效票。
5、任何人(包括服务器管理员)也不能知道投票人投了什么票。
6、网络传输要防止窃听。
设计要求,
1、写清楚你的系统为了完成上述功能要求,设计了那些功能模块,每个模块有什么功能;
2、写清楚你的认证协议,要核实身份,是不是有效注册用户;
3、写清楚你是如何保证隐私不被别人得到的;
4、写清楚如何保证无法伪造投票。
解答
模块列举
注册/登陆模块:用户采用实名信息注册账号后,在登陆时输入服务器中有的账号和正确的密码才可登陆。
报名参加选举人模块:用户采用实名信息填写报名表,向服务器提交,经审核信息无误后方可成为选举人。
投票模块:投票人进行匿名投票,未进行投票会被提醒。
统计&公示模块:对投票结果进行统计后,公示选举结果。
认证协议
采用Kerryberos认证协议。注册用户阶段:
①身份验证服务交换:用户完成身份认证,获得访问TGS的票据。
②票据授予服务交换:获得访问服务器的票据。
登录阶段:用户使用经AS认证的票据向服务器进行身份验证,服务器验证用户是否具有权限。
隐私保护
为网站配置SSL,在用户与服务器之间传递信息时,使用不对称密钥加密,防止窃听。
使用基于角色的访问控制,只有服务器有访问统计模块的权限,用户无法访问统计模块。
防止伪造
使用公开密钥通信。发送信息时用公钥加密,解读信息时采用私钥解密。
分类:
网络安全概论作业
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理