背景
軟體需求:
3、投票,單選,內容為各選舉人加棄權。
4、確認每個人都投了票,而且投了有效票。
5、任何人(包括伺服器管理員)也不能知道投票人投了什麼票。
6、網路傳輸要防止竊聽。
設計要求:
1、寫清楚你的系統為了完成上述功能要求,設計了那些功能模組,每個模組有什麼功能;
2、寫清楚你的認證協議,要核實身份,是不是有效註冊使用者;
3、寫清楚你是如何保證隱私不被別人得到的;
4、寫清楚如何保證無法偽造投票。
答:功能模組簡述
模組功能
註冊將使用者名稱與密碼儲存至server,並生成自己的私鑰儲存在本地,將公鑰上傳至伺服器
登入server檢查使用者身份,如果身份合法則允許建立通訊,使用者獲得使用各種功能的許可權
報名參加選舉人
使用者向server傳送請求(只使用自己的私鑰加密),server在投票列表中加入該使用者
已驗證身份的使用者向server匿名傳送投票資訊,使用環加密;server對其進行認證
統計公布選舉結果
server對使用者傳送的投票資訊進行認證和統計,並實時公布選舉結果
認證協議
在非匿名、需要確認報名者身份(具體是哪乙個人)的部分,使用kerberos進行身份認證(傳輸資訊中包含加密過的使用者id、時間戳等)。
在匿名、需要確認使用者(不需要確認具體是誰)是否合法的的投票部分,使用者直接使用環加密對投票資訊進行加密,server直接根據加密後的資訊判斷該資訊是否由合法使用者發出,並同時進行解密。
隱私保證
使用者端與server的通訊應在安全通道中進行,並對傳輸資訊進行加密。使用者需保管好自己的私鑰。
在使用者進行「報名參加選舉人」操作時,使用者端與server會使用kerberos進行身份認證,可以保證客戶端與server的真實性。
無法偽造
環加密演算法中,需要使用n個公鑰(包括資訊傳送者)及資訊傳送者的個人私鑰生成簽名。在aos環加密中使用的變色龍雜湊是一種輸入為特定結構的雜湊函式,其中包含陷門(trapdoor)。直到陷門的使用者可以通過構造輸入資料使在改變輸入的情況下使得輸出不變。
根據變色龍雜湊的特性可知,它不具有碰撞性。aos環簽名由於基於離散對數問題,在使用者不洩露私鑰的情況下,資訊的偽造幾乎是不可能的。
作業6 訪問控制
一 功能模組 註冊模組 使用者註冊和登入。報名模組 選舉人輸入個人身份資訊報名,伺服器為其分配投票資格。投票模組 統計投票人投票的有效性以及是否所有使用者均已投票。如果使用者未投票或投票無效,就提醒使用者重新投票。統計模組 投票完成後統計每位候選者所得票數並公示。二 認證協議 採用kerberos加...
作業6 訪問控制
1.功能模組 1 註冊登入模組。2 報名模組 報名 參加選舉人。3 投票模組 設定使用者投某一選舉人票或者棄權為選項。4 推送模組 將投票通知推送給有投票權的使用者,需要手動確認。5 統計投票結果公示模組 統計並公示投票結果。2.認證協議 採用kerberos加密認證方式,每位使用者向伺服器申請ti...
作業6 訪問控制
模組功能 註冊登入模組 使用者進行賬號註冊和登入 報名模組 使用者報名成為選舉人 投票模組 使用者對選舉人進行投票 統計公示模組 系統對各選舉人的票數進行統計並公示 認證協議 使用kerberos協議。登入時採用身份驗證服務交換,使用者與後台服務交換後取得訪問tgs的票據用於票據授予服務交換,獲得訪...