彭嬌
摘 要:互聯(lián)網(wǎng)技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展與應(yīng)用為人們的生活和工作帶來了巨大的幫助,同時(shí),也帶來了相應(yīng)的數(shù)據(jù)安全風(fēng)險(xiǎn)?;赟ocket的數(shù)字簽名技術(shù)主要用于網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中實(shí)現(xiàn)數(shù)據(jù)的安全傳輸,對(duì)信息發(fā)送方的身份以及發(fā)送內(nèi)容的認(rèn)可,還可以驗(yàn)證發(fā)送的信息在傳輸過程中有無變動(dòng),以確保傳輸數(shù)據(jù)的完整、真實(shí)和不可抵賴性。
關(guān)鍵詞:互聯(lián)網(wǎng)+ 數(shù)據(jù)傳輸 數(shù)據(jù)簽名
中圖分類號(hào):TP309 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2017)03(b)-0132-02
1 “互聯(lián)網(wǎng)+”時(shí)代數(shù)據(jù)安全需求
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)為代表的新一代信息通信技術(shù)與經(jīng)濟(jì)社會(huì)各領(lǐng)域、各行業(yè)的深度融合和跨界融合,為行業(yè)的發(fā)展、人們的生活和工作帶來了極大的方便。同時(shí),由于網(wǎng)絡(luò)的開放性及可擴(kuò)充性,伴隨著技術(shù)的廣泛使用而出現(xiàn)許多安全問題,例如信息的丟失、泄露、服務(wù)中斷等,最終造成的經(jīng)濟(jì)損失甚至危及國家安全。所以必須運(yùn)用各種服務(wù)和安全技術(shù)來保證數(shù)據(jù)的完整、機(jī)密和可用性。通常數(shù)據(jù)安全服務(wù)的分類有以下幾類。
(1)保密性:保證數(shù)據(jù)在計(jì)算機(jī)網(wǎng)絡(luò)中傳輸時(shí)僅能被已授權(quán)允許讀取的終端獲得。
(2)完整性:主要是指數(shù)據(jù)在網(wǎng)絡(luò)傳輸和使用過程中沒有被篡改、丟失等。
(3)可用性:確保授權(quán)的用戶在需要時(shí)可隨時(shí)隨地訪問數(shù)據(jù),即保障數(shù)據(jù)資源不因誤操作、系統(tǒng)故障等原因造成服務(wù)未能及時(shí)響應(yīng)、資源丟失、妨礙對(duì)資源的使用等情況。
(4)可追溯性:通過數(shù)據(jù)的標(biāo)識(shí)確保數(shù)據(jù)的來源可被跟蹤。
(5)訪問控制:確保只有合法的用戶對(duì)受保護(hù)的網(wǎng)絡(luò)數(shù)據(jù)資源進(jìn)行授權(quán)的訪問,非法的用戶或合法用戶對(duì)未授權(quán)的數(shù)據(jù)資源都無法訪問。
2 數(shù)字簽名技術(shù)
科學(xué)技術(shù)的發(fā)展,使得互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)逐步改變?nèi)藗兊纳?,更需要建立?jì)算機(jī)安全機(jī)制以保證信息的完整性、機(jī)密性和可用性。本文主要以數(shù)字簽名技術(shù)為例,保證信息的來源的真實(shí)性與信息本身的完整性。
2.1 數(shù)字簽名的概念
數(shù)字簽名是一種認(rèn)證機(jī)制,是公鑰密碼學(xué)發(fā)展過程中一個(gè)重要的組成部分,是公鑰密碼算法的典型應(yīng)用。在ISO7498-2標(biāo)準(zhǔn)中數(shù)字簽名定義為:“附加在數(shù)據(jù)單元上的一些數(shù)據(jù),或是對(duì)數(shù)據(jù)單元所作的密碼變換,這種數(shù)據(jù)和變換允許數(shù)據(jù)單元的接收者用以確認(rèn)數(shù)據(jù)單元來源和數(shù)據(jù)單元的完整性,并保護(hù)數(shù)據(jù),防止被人(例如接收者)進(jìn)行偽造”。數(shù)據(jù)的發(fā)送方使用自己的私鑰對(duì)數(shù)據(jù)校驗(yàn)和其他與數(shù)據(jù)內(nèi)容相關(guān)的信息進(jìn)行處理,完成對(duì)數(shù)據(jù)的合法“簽名”,數(shù)據(jù)接收方則利用發(fā)送方的公鑰來驗(yàn)證收到的消息上的“數(shù)字簽名”,以確認(rèn)簽名的合法性與數(shù)據(jù)的完整性。
2.2 數(shù)字簽名的基本原理
數(shù)字簽名只涉及通信雙方,即簽名方使用自己的私鑰對(duì)整個(gè)消息或者對(duì)于消息的散列值進(jìn)行簽名,驗(yàn)證者使用簽名者的公鑰進(jìn)行驗(yàn)證。其主要包括三個(gè)過程:一是生成公鑰和私鑰,其中公鑰可以對(duì)外公開,接收方用它來解密,而私鑰是信息的發(fā)送方用于數(shù)據(jù)加密使用。數(shù)字簽名中的私鑰只有簽名者自己才知道,其他人無法構(gòu)造出正確的簽名效果;二是簽名文件內(nèi)容,將生成的密鑰寫入或保存到文件中;三是發(fā)送簽名后的數(shù)據(jù)及公鑰,通過網(wǎng)絡(luò)或其他通信方式發(fā)送給用戶,用戶接收到簽名文件和數(shù)據(jù)文件后,就可以拿公鑰來檢驗(yàn)數(shù)據(jù)文件中的數(shù)字簽名。在具體的使用過程中,可以通過DSA算法來實(shí)現(xiàn)。
(1)選擇系統(tǒng)參數(shù)。
p:512位的素?cái)?shù),其中2L-1
q:160位的素?cái)?shù)且q|p-1;
g:滿足g=h(p-1)/q mod p;
H:為散列函數(shù);
x:用戶的私鑰,0 y:用戶的公鑰,y=gxmodp; p、q、g為系統(tǒng)發(fā)布的公共參數(shù),與公鑰y公開;私鑰x保密。 (2)簽名。 設(shè)要簽名的消息為M,0 r=(gkmodp)modq s=[k-1(H(M)+xr)]modq (r,s)即為M的簽名。簽名者將M連同(r,s)一起存放,或發(fā)送給驗(yàn)證者。 (3)驗(yàn)證。 驗(yàn)證者獲得M和(r,s),需要驗(yàn)證(r,s)是否是M的簽名。 首先檢查r和s是否屬于[0,q],若不是,則(r,s)不是簽名值。 否則,計(jì)算: w=s-1modq u1=(H(M)w)modq u2=rwmodq v=((gu1yu2)modp)modq 如果v=r,則所獲得的(r,s)是M的合法簽名。 3 基于Socket的數(shù)據(jù)簽名技術(shù)的實(shí)現(xiàn) 3.1 Socket網(wǎng)絡(luò)通信的實(shí)現(xiàn)過程 Socket是網(wǎng)絡(luò)上運(yùn)行的兩個(gè)程序間雙向通信連接的一個(gè)端口。當(dāng)通信時(shí)可以使用Socket建立套接字對(duì)象并連接在一起。Socket通常用于客戶/服務(wù)器程序。服務(wù)器端在運(yùn)行許多服務(wù)進(jìn)程時(shí),等待客戶程序的服務(wù)請(qǐng)求,并處理這些服務(wù)請(qǐng)求。 基于Socket的網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)主要包括服務(wù)器端和客戶端程序?qū)崿F(xiàn)兩部分構(gòu)成。 3.1.1 使用ServerSocket類建立服務(wù)器端Socket (1)創(chuàng)建基于某個(gè)端口的ServerSocket對(duì)象,綁定監(jiān)聽端口,即服務(wù)器端程序監(jiān)聽指定端口的Socket。 (2)ServerSocket對(duì)象一直處于監(jiān)聽狀態(tài),通過accept( )方法來接收客戶端發(fā)送過來的Socket連接請(qǐng)求。
(3)連接建立后,通過輸入流讀取客戶端發(fā)送的請(qǐng)求信息。
(4)通過輸出流向客戶端發(fā)送響應(yīng)信息。
(5)客戶端和服務(wù)器端通信完畢后,關(guān)閉相關(guān)資源。
3.1.2 使用Socket類建立客戶端Socket
相對(duì)于服務(wù)器端而言,客戶端要簡(jiǎn)單一些,只需要知道服務(wù)器端的IP地址及服務(wù)器提供的端口號(hào)就可以創(chuàng)建一個(gè)Socket對(duì)象。
(1)以服務(wù)器的IP地址和端口號(hào)為參數(shù),調(diào)用Socket類創(chuàng)建Socket對(duì)象,在Socket對(duì)象創(chuàng)建過程中包含了向服務(wù)器請(qǐng)求建立通信連接。
(2)建立連接后,通過輸出流向服務(wù)器端發(fā)送請(qǐng)求信息;
(3)通過輸入流獲取服務(wù)器響應(yīng)的信息。
(4)客戶端和服務(wù)器端通信完畢后,關(guān)閉相關(guān)資源。
客戶端Socket與服務(wù)器端Socket的整體通信模式如圖1所示。
3.2 基于Socket的數(shù)據(jù)簽名技術(shù)的實(shí)現(xiàn)
客戶端使用Socket類建立負(fù)責(zé)連接到服務(wù)器的套接字對(duì)象,指明需要連接的服務(wù)器的地址和端口號(hào);服務(wù)器端建立一個(gè)ServerSocket對(duì)象,綁定監(jiān)聽端口,并通過accept() 方法監(jiān)聽并接收客戶端請(qǐng)求,方便客戶端成功地連接到服務(wù)器上;兩者建立連接后,客戶端使用輸出流向服務(wù)器端發(fā)送請(qǐng)求信息,該消息使用客戶端選取的私鑰x對(duì)其進(jìn)行數(shù)字簽名,服務(wù)器端則使用輸入流讀取客戶端發(fā)送的請(qǐng)求信息,對(duì)獲取到的請(qǐng)求消息使用客戶端的公鑰y對(duì)其簽名進(jìn)行驗(yàn)證,確認(rèn)消息來源的真實(shí)性和完整性,服務(wù)器端通過輸出流向客戶端發(fā)送響應(yīng)信息,該消息使用服務(wù)器端選取的私鑰x'對(duì)其進(jìn)行數(shù)字簽名,客戶端則通過輸入流獲取服務(wù)器響應(yīng)的信息,并對(duì)服務(wù)器端發(fā)送過來的響應(yīng)信息使用服務(wù)器端產(chǎn)生的公鑰y`對(duì)其簽名進(jìn)行驗(yàn)證,以保證消息的傳送的過程中不會(huì)被篡改、丟失;客戶端和服務(wù)器端就通過這種方式進(jìn)行信息通信。
4 結(jié)語
網(wǎng)絡(luò)數(shù)據(jù)傳輸安全不僅是技術(shù)問題,同時(shí)也是一個(gè)安全管理問題。網(wǎng)絡(luò)數(shù)據(jù)傳輸安全無論現(xiàn)在乃至今后都是一個(gè)很重要的課題,它已成為網(wǎng)絡(luò)應(yīng)用發(fā)展的一個(gè)瓶頸。網(wǎng)絡(luò)數(shù)據(jù)傳輸安全的有效控制和網(wǎng)絡(luò)安全技術(shù)的正確使用,決定著互聯(lián)網(wǎng)技術(shù)的發(fā)展方向。如何保障網(wǎng)絡(luò)數(shù)據(jù)傳輸安全已成為未來網(wǎng)絡(luò)應(yīng)用的重中之重,成為人們?nèi)粘jP(guān)注的焦點(diǎn)。該文主要分析研究了網(wǎng)絡(luò)數(shù)據(jù)基于Socket的數(shù)字簽名技術(shù),不僅能保證通信雙方之間的信息不被第三方篡改,并能防止通信過程中雙方發(fā)生否認(rèn)的現(xiàn)象。
參考文獻(xiàn)
[1] 郭亞軍,宋建華.信息安全原理與技術(shù)[M].北京:清華大學(xué)出版社,2015.
[2] 宋秀娥.高校數(shù)字圖書館安全體系及問題研究[J].福建電腦,2016(2):60-61.
[3] 路璐,王新龍.探究云計(jì)算下數(shù)字圖書館數(shù)據(jù)安全的問題[J].山西電子技術(shù),2014(3):90-91.
[4] 王新忠,楊波.基于SOCKET的數(shù)據(jù)傳輸安全技術(shù)研究[J].科技廣場(chǎng),2016(7):72-77.