freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的兩個通用安全模塊的設計與實現(xiàn)—計算機(論文)(編輯修改稿)

2025-01-12 09:35 本頁面
 

【文章內(nèi)容簡介】 計算機使用單向函數(shù)計算,然后把單向函數(shù)的運算結(jié)果和它以前存儲的單向函數(shù)值進行比較。由于計算機不再存儲口令表,所以敵手侵入計算機偷取口令的威脅就減少了。 ( 2) 基于 SKEY 原理 SKEY 是進行口令認證方式之一 , 體現(xiàn)了一次性特性,它的實現(xiàn)過程如下:當用戶輸入初始口令 pass,系統(tǒng)計算 pass1=f(pass), pass2=f(pass1),??,pass(n+1)=f(passn)。其中 n+1 為用戶要求生成的口令個數(shù),系統(tǒng)將 pass, pass1, pass2,?? passn 這些口令給用戶保管,而將 pass(n+1)存在數(shù)據(jù)庫里該用戶的名字后面,當用戶第一次登錄時,輸入用戶名和口令 passn,系統(tǒng)計算 f(passn),并把它和數(shù)據(jù)庫里 pass(n+1)比較,如果匹配,就證明該用戶身份是真的。然后系統(tǒng)將 passn 代替 pass(n+1)。用戶將 passn作 廢 ,下次登錄時用 pass(n1),以此類推。當用完后重新再 獲取 。 以上這兩種處理口令的過程中,消息摘要的生成是利用 MD5 算法 求得。 MD (Message Digest)消息摘要算法是一種單向散列函數(shù),是當前最為普遍的哈希算法, MD5 是第 5個版本。對任意長的輸入, MD5 算法都將產(chǎn)生一個 128 位的輸出。MD5 算法是按 512 位進行處理的,首先它對輸入的數(shù)據(jù)進行補位,使得數(shù)據(jù)位長度對 512 求余的結(jié)果是 448。具體補位操作: 先 補一個 1,然后補 0直 至滿足上圖 7 服務器接收文件及處理流程圖 失敗信息 失敗 成功 成功 開始 與客戶端建立 SSL 連接 等待客戶端連接請求 選擇解密文件 顯示并保存明文 出錯信息 解 密 選擇密文保存目錄 失敗 接收密文 述要求,再用一個 64 位的數(shù)字表示數(shù)據(jù)的原始長度,這樣數(shù)據(jù)就被填補成長度為 512 位的倍數(shù)。 接著 對數(shù)據(jù)依次 按 每次處理 512 位,每次進行 4 輪,每輪 16步總共 64 步的數(shù)據(jù)變 換 處理,每次輸出的結(jié)果為 128 位,然后 把前一次的輸出作為下一次數(shù)據(jù)變換的輸入初始值,這樣最后輸出一個 128 位的雜湊結(jié)果。 文件安全傳輸部分方案設計 根據(jù)文件安全傳輸 部分功能模塊流程圖 , 文件安全傳輸?shù)?方案設計主要 涉及到在文件傳輸前用 DES 加密算法 給要傳輸?shù)奈募用艿玫揭粋€加密后的密文,再將密文通過系統(tǒng)建立 SSL 協(xié)議 文件安全傳輸?shù)陌踩ǖ纻鹘o密文的接收端 。在接收端密文接收成功后,接收端可以根據(jù)需要,將密文解密成明文,并自動保存在系統(tǒng)默認目錄下。 DES 加密算法 DES 是一個分組加密算法,它 將明文 以 64 位為分組對數(shù)據(jù)加密。 64 位一組的明文從算法的一端 輸入, 64位的密文從另一端輸出。 DES是個對稱算法:加密和解密用的是同一算法 (除密鑰編排不同以外 )。密鑰通常表示為 64 位的數(shù),但每個第 8 位都用作奇偶校驗,因此密鑰真正的長度是 56 位。 整個算法是 先經(jīng)過初始置換 IP的處理 擾亂數(shù)據(jù)的原來順序 ,然后進行 16 輪迭代運算,最后經(jīng)過初始置換 IP 的逆置換 IP1得出 64 位的 加密結(jié)果。整個算法如圖 8,其中一輪 DES如圖 9所示。 輸出 輸入 明文 64bit 碼 初始變換 IP 逆初始變換 IP1 密文 64bit 碼 16 輪乘積變換 圖 8 DES算法 SSL 協(xié)議 1. SSL 協(xié)議概述 SSL 協(xié)議 (Secure Socket Layer,安全套接層協(xié)議 )是基 于對稱密鑰算法和公鑰加密算法的加密傳輸信道的協(xié)議,位于應用層與傳輸層之間,獨立于應用層協(xié)議,在 SSL 協(xié)議上可加載任何高層應用協(xié)議,應用程序可使用 SSL應用接口為各類客戶端 /服務器產(chǎn)品提供安全傳輸服務,現(xiàn)已成為保密通信的標準。 SSL 協(xié)議采用 RSA, DES 等加密技術(shù)來實現(xiàn)數(shù)據(jù)的保密性,采用 MD5 信息摘要算法等來實現(xiàn)數(shù)據(jù)的完整性,使用數(shù)字證書進行身份認證。 2. SSL 協(xié)議體系結(jié)構(gòu) SSL 協(xié)議是一個中間層協(xié)議,在 OSI模型中, SSL 介于傳輸層 (如 TCP/IP)和應用層之間,為應用程序提供了一條安全的網(wǎng)絡傳輸通道,提 供 TCP/IP 通信協(xié)議數(shù)據(jù)加密、版本號、會話密鑰、數(shù)據(jù)壓縮方法、數(shù)據(jù)完整性校驗算法、客戶端與服務器端身份驗證等功能。它的主要目標是在兩個通信應用之間提供私有性和可靠性。 3. SSL 協(xié)議的分層模型 SSL 協(xié)議是一個分層的協(xié)議,共有兩層組成。處于 SSL協(xié)議底層的是 SSL記錄層協(xié)議 (SSL Record Protocol,它位于可靠的傳輸層協(xié)議 (如 TCP/IP)之上,用于封裝高層協(xié)議的數(shù)據(jù)。高層協(xié)議主要包括 SSL 握手協(xié)議 (SSL HandshakeProtocol)、改變加密約定協(xié)議 (Change Cipher Spec Protocol)、報警協(xié)議 (AlertPT39。OtOC01)等。 其中 SSL 握手協(xié)議允許服務方和客戶方相互認證,并在應用層協(xié)議傳送數(shù)據(jù)之前協(xié)商出一個加密算法和會話密鑰,是 SSL 協(xié)議的核心。 SSL 主要的工作流程包括:網(wǎng)絡連接建立;與該連接相關(guān)的加密方式和壓縮方式選擇;雙方的身份識別;本次傳輸密鑰的確定;加密的數(shù)據(jù)傳輸;網(wǎng)絡連接圖 9 一輪 DES 的關(guān)閉。 4. 應用 數(shù)據(jù)的傳輸過程 (1)應用程序把應用數(shù)據(jù)提交給本地的 SSL。 (2)發(fā)送端的 SSL根據(jù)需要 : a)使用指定的壓縮算法,壓縮應用數(shù)據(jù) 。 b)使用散列算法對壓縮后的數(shù)據(jù) 計算散列值 。 c)把散列值和壓縮數(shù)據(jù)一起用加密算法加密 。 (3)密文通過網(wǎng)絡傳給對方 。 (4)接收方的 SSL a)用相同的加密算法對密文解密,得到明文 。 b)用相同的散列算法對明文中的應用數(shù)據(jù)散列 。 c)計算得到的散列值與明文中的散列值比較 。 (5)如果一致,則明文有效,接收方的 SSL 把明文解壓后得到應用數(shù)據(jù)上交給應用層。否則就丟棄數(shù)據(jù),并向發(fā)送方發(fā)出警告信息。嚴重的錯誤有可能引起再次的協(xié)商或連接中斷。 數(shù)據(jù)庫的設計 在 SQL Server 2021 數(shù)據(jù)庫 系統(tǒng)里利用企業(yè)管理器創(chuàng)建一個名為 MyDB 的數(shù)據(jù)庫,并 在這個數(shù)據(jù)庫 中 設計 一個表 ,表名為 Person, 這個 表 用于記 錄注冊用戶的 用戶名、口令信息、一次性口令的有效次數(shù)等相關(guān)信息,用戶每次登錄系統(tǒng)都要到此表進行身份驗證 。表的設計如 表 1所示: 表 1 用戶相關(guān)信息表 表 Person 的說明 : 1) ID 用戶編號,類型是整型; 2) NAME 是用戶 注冊 名; 3) PASSWORD 是主鍵,是 口令 經(jīng)過處理后保存的口令 處理結(jié)果 ; 4) RAND 是隨機數(shù),用于加密傳輸?shù)奈募?nèi)容 的相關(guān)參數(shù)之一 ; 5) TIMES 是 記錄 一次 性口令 用戶登錄的有效次數(shù)。 Atribute Type ID int NAME nchar PASSWORD nchar RAND nchar TIMES int 4 系統(tǒng)設計與實現(xiàn) 總體結(jié)構(gòu)圖 根據(jù)需求分析 及方案設計 的結(jié)果, 系統(tǒng)設計與實現(xiàn)的 總體結(jié)構(gòu)如圖 10 所示 。 與數(shù)據(jù)庫建立連接 本系統(tǒng)是 使用 JDBCODBC 橋驅(qū)動程序連接數(shù)據(jù)庫 的, JDBCODBC 橋接 器是用 和一個用于訪問 ODBC 驅(qū)動程序的本地庫實現(xiàn)的。首先建立 ODBC數(shù)據(jù)源。 ODBC 數(shù)據(jù)源存儲了如何與指定的數(shù)據(jù)建立程序的連接的有關(guān)信息。 先在 WINDOWS ODBC 數(shù)據(jù)源管理器中,建立一個名為“ Person”的數(shù)據(jù)源的兩 個 通 用 安 全 模 塊 的 設 計 與 實 現(xiàn) 口令身份驗證模塊 文件安全傳輸 模塊 客戶端文件選擇 客戶端文件加密及發(fā)送 服務器密文接收 服務器對密文處理 用戶口令驗證并登入 默認口令注冊 一次 性 口令注冊 一次 性 口令修改 默認口令修改 口令生成及處理模塊 文件內(nèi)容加解密處理模塊 保存密 /明文處理模塊 圖 10 總體結(jié)構(gòu)圖 步驟如下:在“控制面板”里的“管理工具”中打開 ODBC 數(shù)據(jù)源管理器,選擇“系統(tǒng) DSN”標簽,單擊“添加”按鈕,選擇數(shù)據(jù)源的驅(qū)動程序為 SQL Server,輸入數(shù)據(jù)源名稱為“ Person”,服務器選“本地”,用“使用網(wǎng)絡登錄 ID的 WINDOWS NT 驗證”,單擊“下一步”,在“更改默認的數(shù)據(jù)庫為”單選框,選擇數(shù)據(jù)庫為“ MyDB”,單擊“下一步”接受所有的默認選項。完成后,點“測試數(shù)據(jù)源”按鈕,測試提示成功,則數(shù)據(jù)源配置成功。接著 可以在程序中調(diào)用 方法加載 JDBCODBC 驅(qū)動程序 ,再調(diào)用 方法發(fā)出連接請求。與數(shù)據(jù)庫連接的部分代碼如下: ( )。 String url=jdbc:odbc:Person。 Connection Insertconnection = ( url)。 口令認證及存儲方式設計 本系統(tǒng)口令認 證模塊的默認口令實現(xiàn)的原理是基于單向函數(shù),用 MD5算出口令摘要,并保存在數(shù)據(jù)庫里,以后每次登錄都先將口令計算出摘要,與數(shù)據(jù)庫里的摘要比較。 一次 性口令 實現(xiàn)原理及身份驗證過程是基于 SKEY 原理 ,每次計算的 方 法是當用戶第一次注冊時,用 MD5 計算出口令的消息摘要,并從中截取用戶要求的口令長度的字符串,作為一個口令生成,如果用戶口要求的口令生成的個數(shù)大于 1,則將這個生成的口令再用 MD5 計算出口令的消息摘要,并從中截取用戶要求的口令長度的字符串,依此類推,計算出用戶要求的個數(shù),并將最后一個生成的口令存于數(shù)據(jù)庫中,當用 戶用這些口令進行身份驗證時就與 SKEY 的認證過程一樣 。 數(shù)字證書創(chuàng)建 在 DOS 下使用 J2SDK 提供的 keytool 工具創(chuàng)建密鑰庫,密鑰庫名為mykeystore,添加一個名為 mytest 的證書, mykeystore 密鑰庫為服務器的密鑰庫。將 mytest 證書導出到 clienttrust 密鑰庫中。 clienttrust 密鑰庫為客戶端信任的密鑰庫。 關(guān)鍵代碼說明 1. 口令生成及處理模塊 此模塊使用的頻率比較多,在用戶登錄、注冊、口令更改功能中都要反復用到,因此將此 模塊 功能封裝在接口 ProductKey 中,方便其它程序 的調(diào)用。在接口里定義 了 兩個同名的方法 DigestKey(String str)和 DigestKey(String str,int a,int b),由 MyProductKey 類具體實現(xiàn)它的方法, 其 中 str 表示 要進行 處理的口令 字符串 , a 表示 用戶 口令的長度 , b 表示 用戶輸入 口令的個數(shù),前一個方法用于默認口令處理 返回一個些口令的摘要 ,后一個方法用于一次 性 口令 處理 ,返回一系列一次性口令 。 DigestKey(String str)是將用戶輸入的口令生成消息摘要,一次 性口令的處理方法 DigestKey(String str, int a, int b)是將用戶初始輸入的口令生成消息摘要,然后 截取消息 摘要字符串的前三個字符,后三個字符,接著根據(jù)用戶要求的口令長度 a,再從 消息 摘要字符串 中第 14 位開始 截取 a6 個字符,將這三次取得的字符串連接 一起 得到一個 一次性 口令。然后將這個口令按上面方法再產(chǎn)生 一 次性 口令。依此循環(huán),循環(huán) b次最后得到 b個口令。最終生成用戶要求數(shù)量的口令及口令長度。 此模塊生成消息摘要的部 分 代碼如下: MessageDigest m=(MD5)。 ((UTF8))。 byte s[ ]=( )。 MessageDigest 類提供了計算消息摘要的方法,首先生成 m 的對像,執(zhí)行update()方法將原始數(shù)據(jù)傳遞給該對象,然后執(zhí)行 digest()方法得到消息摘要。 一次性口令處理方法部分代碼如下: public String[] DigestKey(String str,int a,int b){ ?? for(int j=0。 jnum。 j++){ MessageDigest m=(MD5)。 ((UTF8))。 byte s[ ]=( )。 String result=。 for (int i=0。 i。 i++){ result+=(s[i])
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1