楊品林
摘 要: 基于公鑰密碼方案的電子商務(wù)平臺(tái)身份認(rèn)證算法需要采用大數(shù)據(jù)運(yùn)算完成加密解密,導(dǎo)致身份認(rèn)證運(yùn)算效率降低。為了提高身份認(rèn)證效率,設(shè)計(jì)并實(shí)現(xiàn)基于哈希算法的電子商務(wù)平臺(tái)身份認(rèn)證方案,其分別針對(duì)用戶(hù)登錄和付款過(guò)程進(jìn)行實(shí)體認(rèn)證和起源認(rèn)證,采用用戶(hù)名以及一次性口令結(jié)合單向哈希算法完成實(shí)體認(rèn)證。通過(guò)哈希算法、公鑰密鑰以及對(duì)稱(chēng)密鑰系統(tǒng)對(duì)信息實(shí)施操作完成數(shù)據(jù)起源認(rèn)證,并給出基于哈希算法的電子商務(wù)平臺(tái)身份認(rèn)證方案的實(shí)現(xiàn)過(guò)程。實(shí)驗(yàn)結(jié)果說(shuō)明,所設(shè)計(jì)的身份認(rèn)證方案具有較高的認(rèn)證效率和認(rèn)證精度。
關(guān)鍵詞: 電子商務(wù)平臺(tái); 身份認(rèn)證; 算法設(shè)計(jì); 哈希算法
中圖分類(lèi)號(hào): TN99?34; TP393.08 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)23?0155?03
Abstract: The previous identity authentication algorithm based on public key cryptography scheme for e?commerce platform requires the big data operation to complete the data encryption and decryption, which results in the low operation efficiency of identity authentication. In order to improve the efficiency of identify authentication, the Hash algorithm based identify authentication scheme of e?commerce platform was designed and implemented. With which, the entity authentication and origin authentication are carried out for the user login and payment process respectively. The user name and one?time password are combined with one?way Hash algorithm to realize the entity authentication. The Hash algorithm, public secret key and symmetric key system are adopted to operate the information for data origin authentication. The realization process of the Hash algorithm based identity authentication scheme for e?commerce platform is given. The experimental result shows that the identify authentication scheme has high authentication efficiency and authentication precision.
Keywords: e?commerce platform; identity authentication; algorithm design; Hash algorithm
0 引 言
隨著電子商務(wù)的快速發(fā)展,電子商務(wù)的安全問(wèn)題也逐漸凸顯。其中身份認(rèn)證是電子商務(wù)安全問(wèn)題研究的重點(diǎn)方向。電子交易進(jìn)行前,買(mǎi)賣(mài)雙方進(jìn)行由第三方擔(dān)保的雙方身份認(rèn)證可避免第三方假冒交易一方的身份,出現(xiàn)破壞交易的現(xiàn)象[1]。經(jīng)過(guò)研究發(fā)現(xiàn),當(dāng)前的電子商務(wù)平臺(tái)的身份認(rèn)證方法主要采用公鑰密碼方案,通過(guò)大數(shù)據(jù)運(yùn)算完成加密解密,使得身份認(rèn)證的運(yùn)算效率大大降低。因此,尋求高效率的電子商務(wù)平臺(tái)身份認(rèn)證方法具有重要的現(xiàn)實(shí)意義。
為了提高身份認(rèn)證效率,設(shè)計(jì)并實(shí)現(xiàn)基于哈希算法的電子商務(wù)平臺(tái)身份認(rèn)證方案,實(shí)驗(yàn)結(jié)果說(shuō)明,本文方案具有較高的認(rèn)證效率和認(rèn)證精度。
1 哈希算法的電子商務(wù)平臺(tái)身份認(rèn)證方案
1.1 哈希算法
單向哈希函數(shù)可賦予[M]專(zhuān)屬的標(biāo)識(shí)。若A用數(shù)字簽名算法[H(M)]對(duì)[M]實(shí)施簽名,則B可形成符合[H(M)=H(M)]的其他信息[M,]則B就是A對(duì)[M]的簽名。
1.2 總體身份認(rèn)證方案
電子商務(wù)由商務(wù)網(wǎng)絡(luò)服務(wù)提供商、商品提供商、銀行以及客戶(hù)構(gòu)成??蛻?hù)和供貨商登錄電子商務(wù)網(wǎng)站面臨的安全威脅主要存在登錄和付款過(guò)程中[2?3]。因此,設(shè)計(jì)身份認(rèn)證方案需要對(duì)該兩個(gè)過(guò)程進(jìn)行重點(diǎn)分析。本文設(shè)計(jì)的電子商務(wù)平臺(tái)身份認(rèn)證方案采用實(shí)體認(rèn)證和起源認(rèn)證,分別對(duì)用戶(hù)登錄和付款過(guò)程實(shí)施身份認(rèn)證,具有較高的安全性。
面向電子商務(wù)認(rèn)證過(guò)程中的需求,通過(guò)用戶(hù)名以及一次性口令的認(rèn)證方案完成實(shí)體認(rèn)證:各用戶(hù)名在服務(wù)器的數(shù)據(jù)庫(kù)內(nèi)同專(zhuān)屬校驗(yàn)值相關(guān)聯(lián)[4];用戶(hù)輸入用戶(hù)名和口令完成身份認(rèn)證,通過(guò)單向函數(shù)運(yùn)算口令,時(shí)間戳完成一次性密碼。
數(shù)據(jù)起源的認(rèn)證方案為:若通信雙方是A和B,B要求認(rèn)證A,A無(wú)需認(rèn)證B,則A向B傳遞證書(shū),B采集到證書(shū)后通過(guò)操作可對(duì)A進(jìn)行認(rèn)證。如果A和B要求進(jìn)行雙向認(rèn)證,則通過(guò)兩次單向認(rèn)證的手段完成身份認(rèn)證。
1.3 具體身份認(rèn)證方案
1.3.1 實(shí)體認(rèn)證
實(shí)體認(rèn)證的安全性主要集中在和用戶(hù)名對(duì)應(yīng)的口令上。一般可以在此處采用口令方案結(jié)合單向哈希算法進(jìn)行,用圖1描述。
圖1中,[t]用于描述時(shí)間戳;[p]是用戶(hù)ID以及口令的集成;[H( )]是哈希函數(shù),其用于采集時(shí)間戳參數(shù);[p]以及[p]是哈希運(yùn)算獲取的值。客戶(hù)向服務(wù)器傳遞[p、]時(shí)間戳[t]通過(guò)哈希運(yùn)算后獲取哈希值[p、]用戶(hù)名以及時(shí)間戳[5]。服務(wù)器從數(shù)據(jù)庫(kù)中獲取同用戶(hù)名相關(guān)的口令,并對(duì)采集到的時(shí)間戳[t]實(shí)施哈希運(yùn)算獲取[M,]若[p]以及[p]一致,則服務(wù)器通過(guò)用戶(hù)身份認(rèn)證。該種方案能夠解決重放攻擊,當(dāng)用戶(hù)未對(duì)口令進(jìn)行調(diào)控時(shí),攻擊者采用獲取的認(rèn)證交換信息無(wú)法獲取真實(shí)的信息,不能完成信息的重放。若攻擊者可對(duì)認(rèn)證服務(wù)器實(shí)施攻擊,攻擊則能夠得到用戶(hù)的真實(shí)口令,此時(shí)需要對(duì)圖1描述的實(shí)體認(rèn)證Ⅰ進(jìn)行調(diào)整,用圖2描述。endprint
圖2描述的認(rèn)證過(guò)程是:客戶(hù)運(yùn)算口令同其他用戶(hù)名的哈希函數(shù)值[p],將[p]值存儲(chǔ)到服務(wù)器中,基于[p]值和時(shí)間戳運(yùn)算獲取哈希值[p,]向服務(wù)器傳遞用戶(hù)名、時(shí)間戳以及[p。]服務(wù)器按照用戶(hù)名在數(shù)據(jù)庫(kù)內(nèi)獲取相應(yīng)的[p],基于[p]和時(shí)間戳運(yùn)算得到哈希值[p,]對(duì)比[p]和[p]完成用戶(hù)身份認(rèn)證。該種認(rèn)證方案可確保在服務(wù)器端數(shù)據(jù)庫(kù)被攻擊的狀態(tài)下,攻擊者僅能獲取哈希值,不能得到用戶(hù)的真實(shí)口令信息。
1.3.2 數(shù)據(jù)起源認(rèn)證
數(shù)據(jù)起源認(rèn)證對(duì)電子商務(wù)平臺(tái)中的在線付款以及數(shù)字簽名進(jìn)行身份認(rèn)證。通過(guò)哈希算法以及公鑰密鑰系統(tǒng)對(duì)信息實(shí)施操作完成身份認(rèn)證。
圖3描述的認(rèn)證過(guò)程為:數(shù)據(jù)發(fā)送方A將傳遞的消息[M]采用公開(kāi)密鑰系統(tǒng)內(nèi)A的密鑰[SA]加密成C,則有[C=SA(M)]。A將傳遞的消息[M]以及時(shí)間戳采用哈希函數(shù)[H]運(yùn)算獲取哈希值[h,]則有[h=H(M,t)]。A向認(rèn)證方傳遞[C,h,t,]則有[Send(C,h,t)]。認(rèn)證方B采集到全部消息[Receive(C,h,t)],B將采集到的C用A的公鑰解密獲取[M,]則有[M=PA(C)=PA(SA(M))=M]。B將采集的[t]以及[M]通過(guò)哈希算法運(yùn)算獲取哈希值,則有[h=H(M,t)]。認(rèn)證方B判斷[h]和采集到的[h]是否一致[6],如果一致說(shuō)明消息是安全的,采用私鑰發(fā)送方傳遞消息[verify(h,h)]。B判斷時(shí)間戳以及此刻時(shí)間是否超過(guò)設(shè)置的時(shí)間[verify(timenow-t)]。數(shù)據(jù)發(fā)送方傳遞認(rèn)證反饋信息[7],該信息需要通過(guò)數(shù)據(jù)發(fā)送方進(jìn)行認(rèn)證。
以上描述的方案采用公鑰密鑰系統(tǒng)完成加密,導(dǎo)致系統(tǒng)的運(yùn)行效率降低。因此,當(dāng)電子商務(wù)平臺(tái)中存在大規(guī)模認(rèn)證信息時(shí),設(shè)計(jì)了圖4描述的數(shù)據(jù)起源認(rèn)證Ⅱ,提高系統(tǒng)運(yùn)行效率。其采用高效率的對(duì)稱(chēng)密鑰加密(如DES)消息原文[8],再采用該密鑰加密傳遞的信息,通過(guò)私鑰對(duì)消息的哈希值以及時(shí)間戳實(shí)施加密。
發(fā)送方通過(guò)對(duì)稱(chēng)密鑰加密DES完成消息的加密,對(duì)信息以及時(shí)間戳運(yùn)算哈希值,采用私鑰對(duì)哈希值以及時(shí)間戳實(shí)施加密,并將DES加密后的信息以及私鑰加密的信息都反饋給接收方。接收方對(duì)DES加密的消息實(shí)施解密,獲取消息原文采用對(duì)稱(chēng)公鑰進(jìn)行加密[9],獲取時(shí)間戳以及哈希值,基于解密獲取的時(shí)間戳和消息運(yùn)算哈希值是否一致,若一致則說(shuō)明通過(guò)驗(yàn)證。
2 哈希算法的電子商務(wù)平臺(tái)身份認(rèn)證方案的實(shí)現(xiàn)
基于哈希算法的電子商務(wù)平臺(tái)身份認(rèn)證方案的實(shí)現(xiàn)過(guò)程中,需要塑造網(wǎng)絡(luò)服務(wù)器和客戶(hù)端,通過(guò)客戶(hù)端的登錄實(shí)現(xiàn)身份認(rèn)證。一個(gè)客戶(hù)端向另一客戶(hù)端傳遞認(rèn)證證書(shū),在另一客戶(hù)端實(shí)施認(rèn)證,實(shí)現(xiàn)數(shù)據(jù)起源認(rèn)證。若為相互認(rèn)證,則在客戶(hù)端A完成客戶(hù)端B的認(rèn)證后,通過(guò)B對(duì)A進(jìn)行認(rèn)證,通過(guò)MFC架構(gòu)塑造服務(wù)器同客戶(hù)端程序間的關(guān)聯(lián)性。通過(guò)統(tǒng)一的網(wǎng)絡(luò)功能和用戶(hù)接口實(shí)現(xiàn)不同功能間的協(xié)同運(yùn)作。設(shè)計(jì)mdclass類(lèi)實(shí)現(xiàn)哈希算法運(yùn)算功能。該類(lèi)的成員函數(shù)MDFile()和MDsitrgn()能夠運(yùn)算文件以及字符串,產(chǎn)生哈希值。
服務(wù)器可完成監(jiān)聽(tīng)連接、塑造連接以及控制通信等功能。設(shè)計(jì)CListeningSocket類(lèi)實(shí)現(xiàn)監(jiān)聽(tīng)連接,該類(lèi)采用OnAccept()成員函數(shù)監(jiān)聽(tīng)連接,塑造可實(shí)施連接的CClientSocket類(lèi)。CClientSocket類(lèi)采用OnReceive()成員函數(shù)對(duì)消息進(jìn)行采集和操作,確保網(wǎng)絡(luò)信息傳遞的順利運(yùn)行??蛻?hù)端的功能是提供不同的實(shí)驗(yàn)用戶(hù)接口。
實(shí)體認(rèn)證是客戶(hù)端輸入用戶(hù)名和口令,再基于輸入的信息運(yùn)算哈希值,將該哈希值同時(shí)間戳運(yùn)算獲取哈希值,再向服務(wù)器反饋?zhàn)罱K運(yùn)算的哈希值、用戶(hù)名以及時(shí)間戳。服務(wù)器按照用戶(hù)名數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的哈希值,同采集的時(shí)間戳運(yùn)算獲取哈希值,對(duì)比分析該哈希值同采集的哈希值,完成身份驗(yàn)證。
數(shù)據(jù)起源認(rèn)證時(shí)發(fā)送方在客戶(hù)端的編輯區(qū)域中輸入數(shù)據(jù),敲擊Authentication按鍵后,對(duì)其實(shí)施私鑰加密,運(yùn)算初始數(shù)據(jù)和即刻時(shí)間的哈希值。再向驗(yàn)證方反饋數(shù)據(jù)、時(shí)間戳以及哈希值。驗(yàn)證方基于數(shù)據(jù)以及時(shí)間戳運(yùn)算哈希值,對(duì)比分析運(yùn)算獲取的哈希值和采集的哈希值,完成身份驗(yàn)證,將認(rèn)證反饋信息傳遞給發(fā)送方。
3 實(shí)驗(yàn)結(jié)果與分析
通過(guò)實(shí)驗(yàn)對(duì)本文提出的基于哈希算法的電子商務(wù)平臺(tái)身份認(rèn)證方案的性能進(jìn)行檢測(cè),通過(guò)ARU8類(lèi)型處理器以及Linux操作系統(tǒng)塑造電子商務(wù)模擬平臺(tái),將基于公鑰密碼的身份認(rèn)證方案當(dāng)成對(duì)比分析方案。實(shí)驗(yàn)不斷提升待進(jìn)行身份認(rèn)證的用戶(hù)數(shù)量,統(tǒng)計(jì)本文方案和基于公鑰密碼的身份認(rèn)證方案的認(rèn)證效率情況,用圖5描述。
分析圖5可得,隨著用戶(hù)數(shù)量的不斷增加,兩種認(rèn)證方案的認(rèn)證效率都出現(xiàn)了下降趨勢(shì),當(dāng)用戶(hù)數(shù)量低于200時(shí),兩種方案的認(rèn)證效率差別不高;當(dāng)用戶(hù)數(shù)量高于200時(shí),基于公鑰密碼的身份認(rèn)證方案的認(rèn)證效率大幅度降低,本文方案的認(rèn)證效率變化較為平穩(wěn),表明本文方案的認(rèn)證效率遠(yuǎn)遠(yuǎn)高于基于公鑰密碼的身份認(rèn)證方案。
實(shí)驗(yàn)檢測(cè)本文方案和基于公鑰密碼的認(rèn)證方案在不同用戶(hù)數(shù)下的錯(cuò)誤拒絕率和錯(cuò)誤通過(guò)率情況,結(jié)果分別用圖6和圖7描述。
分析圖6和圖7能夠看出,隨著用戶(hù)數(shù)的增加,兩種方案的錯(cuò)誤通過(guò)率和錯(cuò)誤拒絕率都逐漸降低,本文方案的錯(cuò)誤通過(guò)率相對(duì)較低,錯(cuò)誤拒絕率相對(duì)更高。當(dāng)用戶(hù)數(shù)高于250時(shí),本文方案的錯(cuò)誤通過(guò)率和錯(cuò)誤拒絕率開(kāi)始出現(xiàn)顯著下降趨勢(shì),而對(duì)比方案的錯(cuò)誤通過(guò)率和錯(cuò)誤拒絕率卻保持平穩(wěn),說(shuō)明本文方案提高了電子商務(wù)平臺(tái)身份認(rèn)證的精確度,具有較強(qiáng)的適應(yīng)能力。
4 結(jié) 語(yǔ)
本文設(shè)計(jì)并實(shí)現(xiàn)了基于哈希算法的電子商務(wù)平臺(tái)身份認(rèn)證方案,實(shí)驗(yàn)結(jié)果說(shuō)明該方案具有較高的認(rèn)證效率和精度,并且具有較高的適應(yīng)性能。
參考文獻(xiàn)
[1] 郭寶丹.移動(dòng)電子商務(wù)的安全問(wèn)題及對(duì)策探索[J].產(chǎn)業(yè)與科技論壇,2015,14(15):46?47.
[2] 龐永春,孫子文,王堯,等.基于手機(jī)觸摸屏傳感器多點(diǎn)觸摸身份認(rèn)證算法[J].計(jì)算機(jī)應(yīng)用,2015,35(6):1780?1784.
[3] 談玲,張琭.交互式多生物特征識(shí)別技術(shù)在電子商務(wù)中的應(yīng)用[J].電信科學(xué),2015,31(10):124?129.
[4] 王黎明,陳庭貴,孫瀾.移動(dòng)廣告中基于交易認(rèn)證模式的雙向認(rèn)證移動(dòng)支付算法[J].荊楚理工學(xué)院學(xué)報(bào),2016,31(4):41?47.
[5] 馬瑞敏,卞藝杰,陳超,等.基于Hadoop的電子商務(wù)個(gè)性化推薦算法:以電影推薦為例[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,24(5):111?117.
[6] 徐春婕,史天運(yùn),劉碩研,等.基于面部不變特征的鐵路實(shí)名制檢票人臉身份認(rèn)證算法[J].中國(guó)鐵道科學(xué),2015,36(1):133?139.
[7] 高華.電子商務(wù)智能推薦系統(tǒng)中的案例檢索算法探討[J].長(zhǎng)春大學(xué)學(xué)報(bào),2016,26(2):14?17.
[8] 劉巧平,周斌,于丹,等.基于橢圓曲線的4G網(wǎng)絡(luò)身份認(rèn)證算法的研究[J].河南科學(xué),2016,34(4):477?480.
[9] 李丹丹,華蕊.基于模糊綜合評(píng)價(jià)法的移動(dòng)商務(wù)身份認(rèn)證評(píng)價(jià)[J].微電子學(xué)與計(jì)算機(jī),2016,33(3):65?68.endprint