軟體需求:
3、投票,單選,內容為各選舉人加棄權。
4、確認每個人都投了票,而且投了有效票。
5、任何人(包括伺服器管理員)也不能知道投票人投了什麼票。
6、網路傳輸要防止竊聽。
設計要求,
1、寫清楚你的系統為了完成上述功能要求,設計了那些功能模組,每個模組有什麼功能;
2、寫清楚你的認證協議,要核實身份,是不是有效註冊使用者;
3、寫清楚你是如何保證隱私不被別人得到的;
4、寫清楚如何保證無法偽造投票。
作答如下:
功能模組簡述:
模組
功能
登入/註冊模組
使用者用來登入和註冊
報名參加選舉人
使用者可以報名進而參與選舉
使用者對自己想要投票的人進行匿名投票
統計公布選舉結果
投票截止後,公示結果
認證協議:
借助kerberos;
使用者先去和as認證獲得訪問tgs的票據;再向tgs證實自己已被as認證;再用返回的ticket來與伺服器身份驗證交換,進而獲得服務。
藉此可以很輕鬆地實現 登入/註冊模組的認證問題。
保證隱私:
在訪問控制模型上採用rbac的方式。
這樣的話引入了role的概念,使得有以下幾種角色:
1.參選人
2.投票人
3.投票發布者
不同的角色有不同的訪問許可權,其中只有投票發布者才有檢視結果的權利。
同時**要配置ssl,即採用https而非http
這樣對於伺服器的信任可以通過ca證書來解決;
而非對稱加密也使得安全性進一步得到提高,防止其他人竊取資訊。
防止偽造投票:
防止他人偽造:
1、系統生成一對金鑰(公鑰和私鑰)並將公鑰向使用者公開。
2、得到該公鑰的使用者使用該金鑰對機密資訊進行加密後再傳送給系統。
3、系統再用自己儲存的另一把專用金鑰(私鑰)對加密後的資訊進行解密。系統只能用其專用金鑰(私鑰)解密由對應的公鑰加密後的資訊。
在傳輸過程中,即使攻擊者截獲了傳輸的密文,並得到了系統的公鑰,也無法破解密文,因為只有系統的私鑰才能解密密文。
同樣,如果系統要回覆加密資訊給使用者,那麼需要使用者先公布使用者的公鑰給系統用於加密,使用者自己儲存使用者的私鑰用於解密。
防止乙個使用者多次投票:
投完票後把他的role變了即可。
作業6 訪問控制
背景 軟體需求 3 投票,單選,內容為各選舉人加棄權。4 確認每個人都投了票,而且投了有效票。5 任何人 包括伺服器管理員 也不能知道投票人投了什麼票。6 網路傳輸要防止竊聽。設計要求 1 寫清楚你的系統為了完成上述功能要求,設計了那些功能模組,每個模組有什麼功能 2 寫清楚你的認證協議,要核實身份...
作業6 訪問控制
一 功能模組 註冊模組 使用者註冊和登入。報名模組 選舉人輸入個人身份資訊報名,伺服器為其分配投票資格。投票模組 統計投票人投票的有效性以及是否所有使用者均已投票。如果使用者未投票或投票無效,就提醒使用者重新投票。統計模組 投票完成後統計每位候選者所得票數並公示。二 認證協議 採用kerberos加...
作業6 訪問控制
1.功能模組 1 註冊登入模組。2 報名模組 報名 參加選舉人。3 投票模組 設定使用者投某一選舉人票或者棄權為選項。4 推送模組 將投票通知推送給有投票權的使用者,需要手動確認。5 統計投票結果公示模組 統計並公示投票結果。2.認證協議 採用kerberos加密認證方式,每位使用者向伺服器申請ti...