本發(fā)明涉及通信領(lǐng)域,特別涉及一種pos交易加密系統(tǒng)、方法、posp前置服務(wù)器和pos終端。
背景技術(shù):
隨著網(wǎng)絡(luò)和手機的普及,現(xiàn)在其本上所有的商戶都有網(wǎng)絡(luò)環(huán)境,而不一定有電話線路。但現(xiàn)在的網(wǎng)絡(luò)pos(pointofsale,銷售終端)因為考慮到數(shù)據(jù)的安全性,必須采用專線,而專線費用太高無法進行推廣。而采用電話線路增加了用戶pos的交易成本。如果采用公共網(wǎng)絡(luò)又擔(dān)心用戶的卡號密碼等信息的泄漏。
因此,如何研制一種低費用高安全性的pos交易方式是當(dāng)前研究方向。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種pos交易加密系統(tǒng)、方法、posp前置服務(wù)器(posp,收單管理系統(tǒng))和pos終端,以提供低費用高安全性的pos交易方式。其具體方案如下:
一種posp前置服務(wù)器,包括:
公鑰發(fā)放模塊,用于接收pos終端的公鑰請求信息,將生成的公鑰發(fā)送給所述pos終端;
通信密鑰生成模塊,用于接收所述pos終端利用所述公鑰加密的密鑰生成信息,利用私鑰解密,得到所述密鑰生成信息,從所述密鑰生成信息中提取第一密鑰,利用所述密鑰生成信息生成通信密鑰,并發(fā)送給所述pos終端利用所述第一密鑰加密的通信密鑰;
第一報文轉(zhuǎn)發(fā)模塊,用于接收所述pos終端利用所述通信密鑰加密的第一報文,利用所述通信密鑰解密,得到所述第一報文,并將所述第一報文轉(zhuǎn)發(fā)到posp服務(wù)器;
第二報文轉(zhuǎn)發(fā)模塊,用于接收所述posp服務(wù)器發(fā)送的第二報文,利用所述通信密鑰加密所述第二報文,并轉(zhuǎn)發(fā)至所述pos終端。
優(yōu)選的,所述通信密鑰生成模塊,具體用于利用所述pos終端生成的隨機數(shù)和所述posp前置服務(wù)器生成的隨機數(shù),生成所述通信密鑰。
優(yōu)選的,所述公鑰發(fā)放模塊,包括:
更新單元,用于定時更新所述公鑰和相應(yīng)的所述私鑰,并生成當(dāng)前公鑰的版本號;
檢測單元,用于檢測所述pos終端發(fā)送的所述公鑰的版本號與當(dāng)前保存的所述公鑰的版本號是否一致;
發(fā)放單元,用于如果檢測所述pos終端發(fā)送的所述公鑰的版本號與當(dāng)前保存的所述公鑰的版本號不一致,則將當(dāng)前保存的所述公鑰發(fā)送給所述pos終端。
優(yōu)選的,所述第二報文轉(zhuǎn)發(fā)模塊,具體用于利用所述pos終端建立的所述通信密鑰與通訊鏈路的相互映射關(guān)系,利用與所述pos終端通訊的鏈路查找到與所述pos終端相應(yīng)的所述通信密鑰,利用所述通信密鑰加密所述第二報文,并轉(zhuǎn)發(fā)至所述pos終端。
本發(fā)明還公開了一種pos終端,包括:
請求發(fā)送模塊,用于發(fā)送公鑰請求信息至posp前置服務(wù)器;
信息生成模塊,用于接收所述posp前置服務(wù)器發(fā)送的公鑰,生成密鑰生成信息,并發(fā)送利用所述公鑰加密的所述密鑰生成信息;
報文加密模塊,用于接收所述posp前置服務(wù)器發(fā)送的利用第一密鑰加密的通信密鑰,利用所述第一密鑰解密,得到通信密鑰,利用所述通信密鑰加密第一報文,并發(fā)送所述第一報文至所述posp前置服務(wù)器;
報文接收模塊,用于接收所述posp前置服務(wù)器發(fā)送的利用所述通信密鑰加密的所述第二報文,并利用所述通信密鑰解密,得到所述第二報文。
優(yōu)選的,所述報文加密模塊,具體用于利用所述通信密鑰對所述第一報文進行des加密。
優(yōu)選的,所述報文加密模塊,包括:
映射建立單元,用于將所述第一報文發(fā)送至所述posp前置服務(wù)器,并建立所述通信密鑰與所述posp服務(wù)器通訊使用的鏈路之間的映射關(guān)系。
優(yōu)選的,所述請求發(fā)送模塊,包括:
檢測單元,用于檢測是否保存有所述公鑰;
請求單元,用于當(dāng)所述檢測單元檢測到未保存有所述公鑰,則發(fā)送所述公鑰請求信息至所述posp前置服務(wù)器;
更新單元,用于接收所述posp前置服務(wù)器發(fā)送的公鑰,并覆蓋保存在本地的公鑰。
本發(fā)明還公開了一種pos交易加密系統(tǒng),包括前述公開的posp前置服務(wù)器以及pos終端。
本發(fā)明還公開了一種pos交易加密方法,包括:
pos終端發(fā)送公鑰請求信息至posp前置服務(wù)器;
所述posp前置服務(wù)器發(fā)送公鑰至所述pos終端;
所述pos終端生成密鑰生成信息,利用接收所述posp前置服務(wù)器發(fā)送的所述公鑰加密所述密鑰生成信息,并將加密后的所述密鑰生成信息發(fā)送至所述posp前置服務(wù)器;
所述posp前置服務(wù)器接收加密后的所述密鑰生成信息,利用私鑰解密,得到密鑰生成信息,從所述密鑰生成信息中提取第一密鑰,并利用所述密鑰生成信息生成通信密鑰,且發(fā)送利用所述第一密鑰加密的所述通信密鑰至所述pos終端;
所述pos終端利用所述第一密鑰解密,得到所述通信密鑰,利用所述通信密鑰加密第一報文,并發(fā)送所述第一報文至所述posp前置服務(wù)器;
所述posp前置服務(wù)器利用所述通信密鑰解密,得到所述第一報文,并將所述第一報文轉(zhuǎn)發(fā)到posp服務(wù)器;
所述posp服務(wù)器發(fā)送第二報文至所述posp前置服務(wù)器;
所述posp前置服務(wù)器利用所述通信密鑰加密所述第二報文,并轉(zhuǎn)發(fā)至所述pos終端;
所述pos終端利用所述通信密鑰解密,得到所述第二報文。
本發(fā)明中,posp前置服務(wù)器,包括:公鑰發(fā)放模塊,用于接收pos終端的公鑰請求信息,將生成的公鑰發(fā)送給pos終端;通信密鑰生成模塊,用于接收pos終端利用公鑰加密的密鑰生成信息,利用私鑰解密,得到密鑰生成信息,從密鑰生成信息中提取第一密鑰,利用密鑰生成信息生成通信密鑰,并發(fā)送給pos終端利用第一密鑰加密的通信密鑰;第一報文轉(zhuǎn)發(fā)模塊,用于接收pos終端利用通信密鑰加密的第一報文,利用通信密鑰解密,得到第一報文,并將第一報文轉(zhuǎn)發(fā)到posp服務(wù)器;第二報文轉(zhuǎn)發(fā)模塊,用于接收posp服務(wù)器發(fā)送的第二報文,利用通信密鑰加密第二報文,并轉(zhuǎn)發(fā)至pos終端??梢?,本發(fā)明posp前置服務(wù)器向pos終端發(fā)送公鑰以用于加密posp前置服務(wù)器和pos終端的初始通信內(nèi)容,再利用pos終端生成的密鑰生成信息生成通信密鑰,pos終端再利用通信密鑰加密報文,且pos終端和posp服務(wù)器之間的通訊都經(jīng)由posp前置服務(wù)器進行加密和解密,實現(xiàn)了一次一密,即一次通訊一種密鑰,極大地提高了通訊的安全性,同時,不會增加過高的成本。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種posp前置服務(wù)器結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例公開的一種pos終端結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例公開的一種交易加密方法流程示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種posp前置服務(wù)器,參見圖1所示,該posp前置服務(wù)器包括公鑰發(fā)放模塊11、通信密鑰生成模塊12、第一報文轉(zhuǎn)發(fā)模塊13和第二報文轉(zhuǎn)發(fā)模塊14;其中,
公鑰發(fā)放模塊11,用于接收pos終端的公鑰請求信息,將生成的公鑰發(fā)送給pos終端。
具體的,公鑰將由公鑰發(fā)放模塊11自行生成,當(dāng)接收到pos終端的公鑰請求信息時,公鑰發(fā)放模塊11便利用公鑰請求信息,將公鑰發(fā)送給pos終端。
通信密鑰生成模塊12,用于接收pos終端利用公鑰加密的密鑰生成信息,利用私鑰解密,得到密鑰生成信息,從密鑰生成信息中提取第一密鑰,利用密鑰生成信息生成通信密鑰,并發(fā)送給pos終端利用第一密鑰加密的通信密鑰。
具體的,為了保證密鑰的安全性和可靠性,接收pos終端生成的密鑰生成信息,利用密鑰生成信息可以生成新的通信密鑰,以保證后續(xù)通信時能夠使用新生成的通信密鑰,進一步的增加安全性,同時從密鑰生成信息中提取出第一密鑰,利用第一密鑰加密通信密鑰,并發(fā)送給pos終端。
可以理解的是,公鑰發(fā)放模塊11在生成公鑰的同時也會生成相應(yīng)的私鑰,以利用私鑰解密使用相應(yīng)公鑰加密的文件。
第一報文轉(zhuǎn)發(fā)模塊13,用于接收pos終端利用通信密鑰加密的第一報文,利用通信密鑰解密,得到第一報文,并將第一報文轉(zhuǎn)發(fā)到posp服務(wù)器。
具體的,第一報文為pos終端向posp服務(wù)器發(fā)送的報文,pos終端向posp服務(wù)器發(fā)送第一報文前,需先將利用通信密鑰加密的第一報文發(fā)送至posp前置服務(wù)器,由posp前置服務(wù)器利用通信密鑰進行解密,使得第一報文變?yōu)槊鞔a報文,再將第一報文轉(zhuǎn)發(fā)至posp服務(wù)器,避免posp服務(wù)器無法解密。
第二報文轉(zhuǎn)發(fā)模塊14,用于接收posp服務(wù)器發(fā)送的第二報文,利用通信密鑰加密第二報文,并轉(zhuǎn)發(fā)至pos終端。
具體的,posp服務(wù)器向pos終端發(fā)送第二報文時,需先將第二報文發(fā)送至posp前置服務(wù)器,由posp前置服務(wù)器利用通信密鑰加密第二報文,再轉(zhuǎn)發(fā)至pos終端。
可見,本發(fā)明實施例posp前置服務(wù)器向pos終端發(fā)送公鑰以用于加密posp前置服務(wù)器和pos終端的初始通信內(nèi)容,再利用pos終端生成的密鑰生成信息生成通信密鑰,pos終端再利用通信密鑰加密報文,且pos終端和posp服務(wù)器之間的通訊都經(jīng)由posp前置服務(wù)器進行加密和解密,實現(xiàn)了一次一密,即一次通訊一種密鑰,極大地提高了通訊的安全性,同時,不會增加過高的成本。
上述通信密鑰生成模塊12,可以具體用于利用pos終端生成的隨機數(shù)和posp前置服務(wù)器生成的隨機數(shù),生成通信密鑰。
需要說明的是,pos終端發(fā)送的密鑰生成信息中包括pos終端生成的隨機數(shù),同時,posp前置服務(wù)器也可以生成隨機數(shù),利用pos終端發(fā)送的密鑰生成信息中的隨機數(shù)和posp前置服務(wù)器生成的隨機數(shù),生成通信密鑰;其中,利用pos終端生成的隨機數(shù)可以作為第一密鑰用來加密通信密鑰。
上述公鑰發(fā)放模塊11,具體可以包括更新單元、檢測單元和發(fā)放單元;其中,
更新單元,用于定時更新公鑰和相應(yīng)的私鑰,并生成當(dāng)前公鑰的版本號。
具體的,為了提高安全系數(shù),公鑰發(fā)放模塊11定時更新保存的公鑰和相應(yīng)的私鑰,同時為當(dāng)前公鑰生成相應(yīng)的版本號,以便于區(qū)別當(dāng)前公鑰是否一致,例如,公鑰發(fā)放模塊11每24小時更新一次公鑰和相應(yīng)的私鑰,更新時新的公鑰和私鑰將覆蓋舊的公鑰和私鑰,并保存在公鑰發(fā)放模塊11,同時,將生成當(dāng)前公鑰的版本號。
檢測單元,用于檢測pos終端發(fā)送的公鑰的版本號與當(dāng)前保存的公鑰的版本號是否一致。
具體的,posp前置服務(wù)器接收pos終端發(fā)送的利用公鑰加密的密鑰生成信息,從中判別pos終端發(fā)送的公鑰的版本號與當(dāng)前保存的公鑰的版本號是否一致。
可以理解的是,公鑰本身攜帶有公鑰的版本號,因此,任何使用公鑰加密的文件,都可以識別公鑰的版本號。
發(fā)放單元,用于如果檢測pos終端發(fā)送的公鑰的版本號與當(dāng)前保存的公鑰的版本號不一致,則將當(dāng)前保存的公鑰發(fā)送給pos終端。
具體的,在檢測到公鑰版本號不同后,posp前置服務(wù)器將當(dāng)前保存的公鑰發(fā)送給pos終端,以使pos終端更新公鑰。
可以理解的是,一臺posp前置服務(wù)器可能負(fù)責(zé)多臺pos終端,因此,當(dāng)多臺pos終端與posp服務(wù)器進行通信時,不同的通信密碼可能造成混淆,導(dǎo)致posp前置服務(wù)器服務(wù)順利的進行加密和解密,為此,第二報文轉(zhuǎn)發(fā)模塊14,具體用于利用pos終端建立的通信密鑰與通訊鏈路的相互映射關(guān)系,利用與pos終端通訊的鏈路查找到與pos終端相應(yīng)的通信密鑰,利用通信密鑰加密第二報文,并轉(zhuǎn)發(fā)至pos終端;利用每臺pos終端與posp前置服務(wù)器獨有的鏈路與每臺pos終端相應(yīng)的通信密鑰建立起的映射關(guān)系,posp前置服務(wù)器利用與pos終端通訊的鏈路查找到與pos終端相應(yīng)的通信密鑰,便可以順利地進行加密和解密操作,而不至于出現(xiàn)錯誤。
本發(fā)明實施例公開了還一種pos終端,參見圖2所示,該pos終端包括請求發(fā)送模塊21、信息生成模塊22、報文加密模塊23和報文接收模塊24;其中,
請求發(fā)送模塊21,用于發(fā)送公鑰請求信息至posp前置服務(wù)器。
具體的,當(dāng)pos終端未保存有公約時,發(fā)送公鑰請求信息至posp前置服務(wù)器,以獲取公鑰。
信息生成模塊22,用于接收posp前置服務(wù)器發(fā)送的公鑰,生成密鑰生成信息,并發(fā)送利用公鑰加密的密鑰生成信息。
其中,密鑰生成信息可以為隨機生成的隨機數(shù)。
報文加密模塊23,用于接收posp前置服務(wù)器發(fā)送的利用第一密鑰加密的通信密鑰,利用第一密鑰解密,得到通信密鑰,利用通信密鑰加密第一報文,并發(fā)送第一報文至posp前置服務(wù)器;
報文接收模塊24,用于接收posp前置服務(wù)器發(fā)送的利用通信密鑰加密的第二報文,并利用通信密鑰解密,得到第二報文。
具體的,上述報文加密模塊23,可以具體用于利用通信密鑰對第一報文進行des加密;利用通信密鑰對報文每8個字節(jié)進行des加密,不足8個字節(jié)的位置用十六進制的f填補。
上述報文加密模塊23,可以包括映射建立單元;其中,
映射建立單元,用于將第一報文發(fā)送至posp前置服務(wù)器,并建立通信密鑰與posp服務(wù)器通訊使用的鏈路之間的映射關(guān)系。
進一步的,上述請求發(fā)送模塊21,可以包括檢測單元、請求單元和更新單元;其中,
檢測單元,用于檢測是否保存有公鑰;
請求單元,用于當(dāng)檢測單元檢測到未保存有公鑰,則發(fā)送公鑰請求信息至posp前置服務(wù)器;
更新單元,用于接收posp前置服務(wù)器發(fā)送的公鑰,并覆蓋保存在本地的公鑰。
其次,本發(fā)明還公開了一種pos交易加密系統(tǒng),包括前述實施例中公開的posp前置服務(wù)器以及pos終端。關(guān)于該posp前置服務(wù)器以及pos終端的具體構(gòu)造可以參考前述實施例中公開的相應(yīng)內(nèi)容,在此不再進行重復(fù)贅述。
與前述實施例中公開的pos交易加密系統(tǒng)對應(yīng)的,本發(fā)明實施例相應(yīng)公開了一種的pos交易加密方法,參見圖3所示,該方法包括:
步驟s11:pos終端發(fā)送公鑰請求信息至posp前置服務(wù)器。
步驟s12:posp前置服務(wù)器發(fā)送公鑰至pos終端。
步驟s13:pos終端生成密鑰生成信息,利用posp前置服務(wù)器發(fā)送的公鑰加密密鑰生成信息,并將加密后的密鑰生成信息發(fā)送至posp前置服務(wù)器。
步驟s14:posp前置服務(wù)器接收加密后的密鑰生成信息,利用私鑰解密,得到密鑰生成信息,從密鑰生成信息中提取第一密鑰,并利用密鑰生成信息生成通信密鑰,且發(fā)送利用第一密鑰加密的通信密鑰至pos終端。
具體的,posp前置服務(wù)器利用pos終端生成的隨機數(shù)和posp前置服務(wù)器自身生成的隨機數(shù),生成通信密鑰。
步驟s15:pos終端利用第一密鑰解密,得到通信密鑰,利用通信密鑰加密第一報文,并發(fā)送第一報文至posp前置服務(wù)器。
具體的,利用通信密鑰對第一報文進行des加密,利用通信密鑰對報文每8個字節(jié)進行des加密,不足8個字節(jié)的位置用十六進制的f填補。
步驟s16:posp前置服務(wù)器利用通信密鑰解密,得到第一報文,并將第一報文轉(zhuǎn)發(fā)到posp服務(wù)器。
步驟s17:posp服務(wù)器發(fā)送第二報文至posp前置服務(wù)器。
步驟s18:posp前置服務(wù)器利用通信密鑰加密第二報文,并轉(zhuǎn)發(fā)至pos終端。
步驟s19:pos終端利用通信密鑰解密,得到第二報文。
本發(fā)明實施例中,步驟s11:pos終端發(fā)送公鑰請求信息至posp前置服務(wù)器,具體可以包括步驟s111至步驟s113;其中,
步驟s111:posp前置服務(wù)器定時更新公鑰和相應(yīng)的私鑰,并生成當(dāng)前公鑰的版本號。
步驟s112:pos終端檢測是否保存有公鑰;
步驟s113:如果否,則發(fā)送公鑰請求信息至posp前置服務(wù)器。
具體的,如果是,則發(fā)送利用公鑰加密的密鑰生成信息至posp前置服務(wù)器。
進一步的,上述步驟s12:posp前置服務(wù)器發(fā)送公鑰至pos終端,具體可以包括步驟s121和步驟s122;其中,
步驟s121:檢測pos終端發(fā)送的公鑰的版本號與當(dāng)前保存的公鑰的版本號是否一致;
步驟s122:如果檢測pos終端發(fā)送的公鑰的版本號與當(dāng)前保存的公鑰的版本號不一致,則將當(dāng)前保存的公鑰發(fā)送給pos終端。
具體的,如果一致,則執(zhí)行后續(xù)步驟。
需要說明的是,pos終端建立通信密鑰與posp服務(wù)器通訊使用的鏈路之間的映射關(guān)系,posp前置服務(wù)器利用映射關(guān)系和與pos終端通訊的鏈路查找到與pos終端相應(yīng)的通信密鑰,利用通信密鑰加密第二報文,并轉(zhuǎn)發(fā)至pos終端。
可見,本發(fā)明實施例posp前置服務(wù)器向pos終端發(fā)送公鑰以用于加密posp前置服務(wù)器和pos終端的初始通信內(nèi)容,再利用pos終端生成的密鑰生成信息生成通信密鑰,pos終端再利用通信密鑰加密報文,且pos終端和posp服務(wù)器之間的通訊都經(jīng)由posp前置服務(wù)器進行加密和解密,實現(xiàn)了一次一密,即一次通訊一種密鑰,極大地提高了通訊的安全性,同時,不會增加過高的成本。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種pos交易加密系統(tǒng)、方法、posp前置服務(wù)器和pos終端進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。