對(duì)云支付限制密鑰進(jìn)行加密及解密的方法、裝置和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種對(duì)云支付的限制密鑰進(jìn)行加解密的方法、裝置及系統(tǒng),其中解密方法包括:基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰,其中,所述私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法;基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已采用所述公鑰加密的限制密鑰進(jìn)行解密。通過(guò)本發(fā)明,基于分段倍點(diǎn)運(yùn)算算法利用非對(duì)稱私鑰對(duì)限制密鑰進(jìn)行解密,可提高云支付的安全性。
【專利說(shuō)明】
對(duì)云支付限制密鑰進(jìn)行加密及解密的方法、裝置和系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及移動(dòng)設(shè)備安全技術(shù)領(lǐng)域,尤其涉及一種對(duì)云支付限制密鑰進(jìn)行加密及解密的方法、裝置和系統(tǒng)?!颈尘凹夹g(shù)】[00〇2] HCE(Host Card Emulat1n)技術(shù)又稱為主機(jī)模擬卡片技術(shù),最初由美國(guó)初創(chuàng)公司 SimplyTapp提出并開發(fā),目前在我國(guó)主要應(yīng)用于移動(dòng)支付行業(yè),例如云支付(也稱:云閃付) 等創(chuàng)新應(yīng)用。HCE模式下傳統(tǒng)NFC的實(shí)體安全模塊SE被遠(yuǎn)程托管的云端SE(Cloud Secure Element或SE on the Cloud)所取代,移動(dòng)設(shè)備即使沒有SE模塊也可實(shí)現(xiàn)安全的NFC應(yīng)用。
[0003]HCE云支付的核心原理是基于動(dòng)態(tài)更新策略,提前推送限制密鑰(LUK,Limit Usage Key)到移動(dòng)應(yīng)用,用戶拍卡消費(fèi)時(shí),移動(dòng)應(yīng)用使用限制密鑰生成應(yīng)用密文,應(yīng)用密文由云端系統(tǒng)聯(lián)機(jī)驗(yàn)證。HCE云支付的主要特點(diǎn)是通過(guò)后臺(tái)風(fēng)控手段降低風(fēng)險(xiǎn),例如對(duì)限制密鑰的使用時(shí)間、使用次數(shù)、累計(jì)金額等多方面限制,當(dāng)限制密鑰超過(guò)限制后,觸發(fā)限制密鑰的更新與下載。
[0004]雖然通過(guò)風(fēng)控手段可以降低風(fēng)險(xiǎn),但由于限制密鑰提前推送的特點(diǎn),無(wú)法預(yù)先判斷該密鑰所應(yīng)用的交易額度;另外,由于Android系統(tǒng)的開放性,無(wú)法實(shí)現(xiàn)高安全級(jí)別的密鑰存儲(chǔ)。因此,卡模擬應(yīng)用需要額外的安全防護(hù),以保障用戶權(quán)益及系統(tǒng)的安全性。
[0005]為此,目前主流HCE方案采用基于Access PIN(訪問密碼)的限制密鑰保護(hù)機(jī)制。 Access PIN是為保護(hù)限制密鑰而設(shè)置的用戶口令,用戶在注冊(cè)申請(qǐng)?jiān)贫酥Ц顿~戶時(shí)需要同時(shí)設(shè)置Access PIN,并由云端支付平臺(tái)保存。[〇〇〇6]云端支付平臺(tái)生成限制密鑰后,以Access PIN作為輸入?yún)?shù),通過(guò)對(duì)稱加密過(guò)程 (FuncLUK2PX)將限制密鑰(LUK_A2)轉(zhuǎn)化為移動(dòng)應(yīng)用可以存儲(chǔ)的字符串(PX_LUK);當(dāng)云端支付平臺(tái)下發(fā)新的參數(shù)信息到移動(dòng)應(yīng)用后,移動(dòng)應(yīng)用將PX_LUK保存在本地安全存儲(chǔ)庫(kù)中;用戶在啟動(dòng)閃付交易時(shí),移動(dòng)應(yīng)用提示用戶輸入Ac ce s s P i n,通過(guò)對(duì)稱解密過(guò)程 (FuncPX2LUK)完成限制密鑰的恢復(fù)及應(yīng)用密文計(jì)算;應(yīng)用密文經(jīng)NFC非接通道最終由云端支付平臺(tái)聯(lián)機(jī)驗(yàn)證。
[0007]雖然Access PIN可以對(duì)限制密鑰起到一定的保護(hù)作用,但由于云端支付平臺(tái)需要保存Access PIN的必要性,以及對(duì)稱加密手段保護(hù)限制密鑰的特點(diǎn),導(dǎo)致經(jīng)營(yíng)管理以及交易過(guò)程等方面存在不可避免的潛在隱患。此問題可應(yīng)用國(guó)密數(shù)字證書技術(shù)有效解決。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的是提高云支付的安全性。
[0009]根據(jù)本發(fā)明的一個(gè)方面,提供了一種對(duì)云支付的限制密鑰進(jìn)行加密的方法,所述方法包括:
[0010]獲取基于非對(duì)稱加密算法計(jì)算得到的公鑰;
[0011]采用所述公鑰對(duì)云支付的限制密鑰進(jìn)行加密;
[0012]其中,與所述公鑰對(duì)應(yīng)的私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法。
[0013]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種對(duì)云支付的限制密鑰進(jìn)行解密的方法,所述方法包括:
[0014]基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰,其中,所述私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法;
[0015]基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已采用所述公鑰加密的限制密鑰進(jìn)行解密。
[0016]根據(jù)本發(fā)明的另一個(gè)方面,提供一種對(duì)云支付的限制密鑰進(jìn)行加解密的方法,所述方法包括:
[0017]在移動(dòng)設(shè)備端基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰,其中,所述私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法;
[0018]在云端獲取所述公鑰,并利用所述公鑰對(duì)限制密鑰進(jìn)行加密;
[0019]當(dāng)用戶進(jìn)行云支付操作時(shí),在移動(dòng)設(shè)備端,基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已采用所述公鑰加密的限制密鑰進(jìn)行解密。
[0020]根據(jù)本發(fā)明的另一個(gè)方面,提供一種對(duì)云支付的限制密鑰進(jìn)行加密的裝置,所述裝置包括:
[0021]用于獲取基于非對(duì)稱加密算法計(jì)算得到的公鑰的裝置;
[0022]用于采用所述公鑰對(duì)云支付的限制密鑰進(jìn)行加密的裝置;
[0023]其中,與所述公鑰對(duì)應(yīng)的私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法。
[0024]根據(jù)本發(fā)明的另一個(gè)方面,提供一種對(duì)云支付的限制密鑰進(jìn)行解密的裝置,所述裝置包括:
[0025]用于基于非對(duì)稱加密算法計(jì)算公鑰和私鑰的裝置,其中,所述私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、 特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法;以及,
[0026]用于基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已用公鑰加密的限制密鑰進(jìn)行解密的裝置。
[0027]根據(jù)本發(fā)明的另一個(gè)方面,提供一種對(duì)云支付的限制密鑰進(jìn)行加解密的系統(tǒng),所述系統(tǒng)包括:
[0028]用于基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰的,以及,當(dāng)用戶進(jìn)行云支付操作時(shí),基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已采用所述公鑰加密的限制密鑰進(jìn)行解密的移動(dòng)設(shè)備,其中,所述私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法
[0029]用于獲取所述公鑰,并利用所述公鑰對(duì)限制密鑰進(jìn)行加密的云端設(shè)備。
[0030]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):通過(guò)非對(duì)稱算法生成私鑰和公鑰,在云端設(shè)備上利用公鑰對(duì)限制密鑰進(jìn)行加密,在移動(dòng)設(shè)備上利用私鑰進(jìn)行解密,由于非對(duì)稱算法的安全性高,由此提高限制密鑰的安全性。另外,由于基于用戶因子、設(shè)備因子、隨機(jī)因子三個(gè)互不相關(guān)因子生成私鑰,這三個(gè)因子缺一不可,用戶因子不作存儲(chǔ)而由用戶掌握,設(shè)備因子是移動(dòng)設(shè)備特有的,只能在用戶生成私鑰時(shí)綁定的移動(dòng)設(shè)備上設(shè)置,這三個(gè)方面互相牽制,在私鑰解密時(shí)這三個(gè)因子必須與生成私鑰時(shí)的三個(gè)因子一致,極大提高加密保護(hù)的安全性。私鑰解密過(guò)程通過(guò)三個(gè)因子迭代運(yùn)算,不暴露完整私鑰,極大提高了私鑰安全性。
[0031]另外,由于本發(fā)明實(shí)施例中,私鑰采用干擾保護(hù)機(jī)制,即通過(guò)移動(dòng)設(shè)備盾插件對(duì)私鑰進(jìn)行加擾,后臺(tái)的分布式密鑰機(jī)進(jìn)行解擾才能恢復(fù)數(shù)字簽名。只有分布式密鑰機(jī)才能解擾。如果加擾的私鑰被任何第三方攔截,第三方都無(wú)法解擾恢復(fù)數(shù)字簽名。即,采用干擾機(jī)制,每一個(gè)數(shù)字簽名,都需要移動(dòng)端、后臺(tái)密鑰機(jī)共同作用完成,私鑰彼此屏蔽,過(guò)程彼此牽制,缺一不可,大大提高了私鑰的安全性。而分布式密鑰機(jī)只能消除簽名干擾成分,即解擾, 不能生成用戶簽名,確保用戶簽名生成的私密性。【附圖說(shuō)明】[〇〇32]通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0033]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的限制密鑰加解密方法在移動(dòng)設(shè)備及云端設(shè)備之間的雙端交互流程圖。
[0034]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的限制密鑰加解密私鑰方法在移動(dòng)設(shè)備盾插件及分布式密鑰機(jī)之間生成私鑰的雙端交互流程圖。
[0035]圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的限制密鑰加解密方法中在移動(dòng)設(shè)備盾插件及分布式密鑰機(jī)之間驗(yàn)證私鑰的雙端交互流程圖。
[0036]圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的云端側(cè)的限制密鑰加密設(shè)備的框圖。
[0037]圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的移動(dòng)設(shè)備側(cè)的限制密鑰解密設(shè)備的框圖。 [〇〇38]圖6示出了本發(fā)明的一個(gè)實(shí)施例的限制密鑰加解密系統(tǒng)的框圖?!揪唧w實(shí)施方式】
[0039]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
[0040]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的限制密鑰加解密方法在移動(dòng)設(shè)備及云端設(shè)備之間的雙端交互流程圖。本申請(qǐng)的一個(gè)實(shí)施例的云支付限制密鑰的加解密系統(tǒng)包括移動(dòng)設(shè)備和云端設(shè)備。其中,移動(dòng)設(shè)備例如手機(jī)、ipad等智能移動(dòng)終端,云端設(shè)備例如是云端支付平臺(tái)設(shè)備。在移動(dòng)設(shè)備側(cè),負(fù)責(zé)利用非對(duì)稱算法生成用于對(duì)云支付限制密鑰進(jìn)行加解密的公鑰和私鑰,并在用戶進(jìn)行云支付操作時(shí),利用私鑰對(duì)已采用公鑰加密的限制密鑰進(jìn)行解密。在云端設(shè)備側(cè),負(fù)責(zé)獲取公鑰,并利用公鑰對(duì)限制密鑰進(jìn)行加密。[0041 ]如圖1所示,一種對(duì)云支付的限制密鑰進(jìn)行加解密的方法包括:
[0042]S11、移動(dòng)設(shè)備基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰;[〇〇43]S12、云端設(shè)備獲取公鑰;
[0044]S13、云端設(shè)備利用公鑰對(duì)限制密鑰進(jìn)行加密;
[0045]S14、移動(dòng)設(shè)備獲取加密后的限制密鑰;
[0046]S15、當(dāng)用戶進(jìn)行云支付操作時(shí),基于分段倍點(diǎn)運(yùn)算的算法,移動(dòng)設(shè)備采用私鑰對(duì)已加密的限制密鑰進(jìn)行解密。
[0047]其中,非對(duì)稱加密算法是一種密鑰的保護(hù)算法。非對(duì)稱加密算法需要兩個(gè)密鑰:公開密鑰(publickey,本文簡(jiǎn)稱公鑰)和私有密鑰(privatekey,本文簡(jiǎn)稱私鑰)。公鑰與私鑰是一對(duì),如果用公鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法。非對(duì)稱加密算法實(shí)現(xiàn)機(jī)密信息交換的基本過(guò)程是:甲方生成一對(duì)密鑰并將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對(duì)機(jī)密信息進(jìn)行加密后再發(fā)送給甲方;甲方再用自己保存的另一把專用密鑰對(duì)加密后的信息進(jìn)行解密。[〇〇48]本申請(qǐng)對(duì)采取何種分段倍點(diǎn)運(yùn)算的算法不做限制。例如,可以采用SM2(橢圓曲線公鑰密碼算法),等等。例如采取SM2橢圓曲線的算法,其核心是倍點(diǎn)運(yùn)算,倍點(diǎn)運(yùn)算基于離散對(duì)數(shù)分解的挑戰(zhàn)保障私鑰安全,倍點(diǎn)運(yùn)算同時(shí)也滿足分配律。
[0049]特別的,本申請(qǐng)實(shí)施例中,在移動(dòng)設(shè)備端基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的私鑰。其中,用戶因子是用戶為解密限制密鑰輸入的口令的、特定于用戶的因子,設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法。
[0050]由于本申請(qǐng)實(shí)施例中對(duì)私鑰采取多因子分段生成的方式,因此可極大提高私鑰的安全性。下面介紹私鑰生成的原理及過(guò)程。
[0051]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的私鑰生成過(guò)程在移動(dòng)設(shè)備盾插件及分布式密鑰機(jī)之間的雙端交互流程圖。本申請(qǐng)的一個(gè)實(shí)施例的私鑰生成驗(yàn)證系統(tǒng)包括移動(dòng)設(shè)備盾插件、分布式密鑰機(jī)、以及認(rèn)證平臺(tái)。移動(dòng)設(shè)備盾插件位于用戶的移動(dòng)設(shè)備上,例如綁定移動(dòng)設(shè)備的應(yīng)用中。而分布式密鑰機(jī)位于后臺(tái)服務(wù)器,例如機(jī)房中。二者分布式協(xié)同運(yùn)算,為用戶提供私鑰功能。移動(dòng)設(shè)備盾插件作為安全插件嵌入移動(dòng)設(shè)備應(yīng)用程序中,供移動(dòng)設(shè)備應(yīng)用程序調(diào)用。移動(dòng)設(shè)備盾插件協(xié)同分布式密鑰機(jī)完成密鑰運(yùn)算。分布式密鑰機(jī)可以是專門的密碼設(shè)備,部署在服務(wù)器端的專用設(shè)備,作為輔助設(shè)備協(xié)同移動(dòng)設(shè)備盾插件實(shí)現(xiàn)分布式密鑰運(yùn)算,輔助保障簽名過(guò)程的安全。
[0052]以用戶移動(dòng)設(shè)備(如手機(jī))上的云支付應(yīng)用為例。用戶在開通移動(dòng)設(shè)備上的云支付應(yīng)用(例如通過(guò)下載云支付應(yīng)用(例如云閃付app)安裝到移動(dòng)設(shè)備上)時(shí),云支付應(yīng)用綁定有一個(gè)移動(dòng)設(shè)備盾插件,該插件與U盾不同,它不是單獨(dú)存在,而是綁定在安裝的云支付應(yīng)用中的,用于在私鑰生成和驗(yàn)證中與分布式密鑰機(jī)協(xié)同運(yùn)算,完成私鑰的生成和驗(yàn)證。安裝云支付應(yīng)用后,用戶需要完成注冊(cè)。在注冊(cè)時(shí)輸入用戶口令。用戶要記住該口令,并且在以后每次通過(guò)云支付應(yīng)用辦理業(yè)務(wù)(例如轉(zhuǎn)賬)時(shí)要輸入相同的口令。這時(shí),移動(dòng)設(shè)備盾插件根據(jù)基于該用戶口令生成的用戶因子、獲取到的隨機(jī)因子和特定于移動(dòng)設(shè)備的設(shè)備因子, 生成私鑰,并利用加擾因子加擾后發(fā)給后臺(tái)的分布式密鑰機(jī)。分布式密鑰機(jī)對(duì)該私鑰解擾后發(fā)給認(rèn)證平臺(tái)登記。當(dāng)用戶以后需要通過(guò)該云支付應(yīng)用辦理業(yè)務(wù)(如轉(zhuǎn)賬)時(shí),需要完成私鑰的驗(yàn)證過(guò)程。驗(yàn)證用戶才能辦理該業(yè)務(wù),否則交易不安全。這時(shí),用戶需要輸入自己在注冊(cè)時(shí)輸入的用戶口令。移動(dòng)設(shè)備盾插件基于該用戶口令通過(guò)與在注冊(cè)時(shí)基于用戶口令得到用戶因子相同的算法得到與注冊(cè)時(shí)相同的用戶因子。用戶在注冊(cè)時(shí)生成私鑰的過(guò)程中獲取的隨機(jī)因子是固定保存在用戶的移動(dòng)設(shè)備中的,因此,移動(dòng)設(shè)備盾插件也可以獲取到存儲(chǔ)的生產(chǎn)私鑰的過(guò)程中使用的隨機(jī)因子。設(shè)備因子是特定于移動(dòng)設(shè)備的,也可以由移動(dòng)設(shè)備盾插件獲取到。此時(shí)獲取到的設(shè)備因子也是與生成私鑰時(shí)相同的。因此,此時(shí)移動(dòng)設(shè)備盾插件基于此時(shí)的用戶因子、隨機(jī)因子、設(shè)備因子生成的待驗(yàn)證私鑰應(yīng)該也是與生成私鑰時(shí)生成的私鑰相同的。移動(dòng)設(shè)備盾插件將該待驗(yàn)證私鑰加擾后發(fā)到分布式密鑰機(jī),由分布式密鑰機(jī)解擾后發(fā)到認(rèn)證平臺(tái),與用戶注冊(cè)時(shí)生成且登記在認(rèn)證平臺(tái)的私鑰進(jìn)行比對(duì)驗(yàn)證。 從理論上,該待驗(yàn)證私鑰與用戶注冊(cè)時(shí)生成且登記在認(rèn)證平臺(tái)的私鑰應(yīng)該相同。如不相同, 則說(shuō)明用戶輸入了錯(cuò)誤的用戶口令、用戶使用的不是一開始注冊(cè)所用的移動(dòng)設(shè)備、或者生成的私鑰或待認(rèn)證私鑰在傳輸?shù)倪^(guò)程中遭到了非法篡改。由于本發(fā)明實(shí)施例中,基于用戶因子、設(shè)備因子、隨機(jī)因子三個(gè)互不相關(guān)因子生成私鑰,這三個(gè)因子缺一不可,用戶因子不作存儲(chǔ)而由用戶掌握,設(shè)備因子是移動(dòng)設(shè)備特有的,這三個(gè)因子互相牽制,在驗(yàn)證私鑰時(shí)這三個(gè)因子必須完全與生成私鑰時(shí)的三個(gè)因子一致,才能驗(yàn)證通過(guò),使得即使在用戶口令泄露等情況下其他人也很難僅憑用戶口令驗(yàn)證成功,極大提高了私鑰安全性。而且,私鑰采用干擾保護(hù)機(jī)制,即通過(guò)移動(dòng)設(shè)備盾插件對(duì)私鑰進(jìn)行加擾,后臺(tái)的分布式密鑰機(jī)進(jìn)行解擾才能恢復(fù)私鑰。只有分布式密鑰機(jī)才能解擾。如果加擾的私鑰被任何第三方攔截,第三方都無(wú)法解擾恢復(fù)私鑰而分布式密鑰機(jī)只能消除簽名干擾成分,即解擾,不能生成用戶簽名,因此分布式密鑰機(jī)端的管理者也無(wú)法私自篡改用戶簽名,這種移動(dòng)設(shè)備盾插件和分布式密鑰機(jī)相互牽制的方式確保了用戶簽名生成的私密性。
[0053]分布式密鑰機(jī)在后臺(tái)用于與移動(dòng)設(shè)備盾插件相配合完成私鑰生成和驗(yàn)證過(guò)程中的運(yùn)算,如解擾等。例如,每個(gè)云支付應(yīng)用的機(jī)房設(shè)置一臺(tái)分布式密鑰機(jī),負(fù)責(zé)該應(yīng)用所下發(fā)的所有云支付應(yīng)用相關(guān)的私鑰的生成和驗(yàn)證。[〇〇54]如圖2所示,根據(jù)本發(fā)明一個(gè)實(shí)施例的移動(dòng)設(shè)備盾插件側(cè)的一種私鑰生成方法包括:
[0055]步驟S110、獲取基于用戶為生成私鑰輸入的口令的、特定于用戶的用戶因子;[〇〇56]步驟S120、獲取隨機(jī)因子;[〇〇57]步驟S130、獲取用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的設(shè)備因子;
[0058] 步驟S140、基于所述用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)私鑰生成算法,生成私鑰, 其中私鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,私鑰都不同的算法。[〇〇59]下面對(duì)這些步驟進(jìn)行詳細(xì)描述。[〇〇6〇]步驟S110、獲取基于用戶為生成私鑰輸入的口令的、特定于用戶的用戶因子。[〇〇61 ] 在一個(gè)實(shí)施例中,步驟S110包括:[〇〇62]獲取用戶輸入的口令;
[0063]將獲取的口令輸入用戶因子生成算法,得到特定于用戶的用戶因子,其中所述用戶因子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。[〇〇64]如前所述,用戶輸入的口令是用戶在注冊(cè)時(shí)輸入用戶口令。一般,在用戶注冊(cè)時(shí), 與移動(dòng)設(shè)備盾插件所綁定的應(yīng)用的界面會(huì)提示用戶輸入用戶口令。當(dāng)用戶輸入該口令后, 移動(dòng)設(shè)備盾插件就獲取了該口令。用戶要記住該口令,并且在以后每次通過(guò)云支付應(yīng)用辦理業(yè)務(wù)(例如轉(zhuǎn)賬)時(shí)要輸入相同的口令。[〇〇65]所述用戶因子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。 而且,在驗(yàn)證待驗(yàn)證私鑰時(shí),產(chǎn)生待驗(yàn)證私鑰也要采用同樣的用戶因子生成算法生成驗(yàn)證時(shí)的用戶因子。
[0066]用戶因子是已有概念,是特定于用戶的一個(gè)因子,例如隨用戶不同而不同的一個(gè)數(shù)。用戶因子生成算法的特點(diǎn)是輸入的口令與輸出的值(用戶因子)都唯一對(duì)應(yīng)性,即輸入的口令不同,產(chǎn)生的用戶因子都不同。目前已知許多算法可用于用戶因子生成算法,故不贅述。[〇〇67] 步驟S120、獲取隨機(jī)因子。[〇〇68] 在一個(gè)實(shí)施例中,步驟S120包括:
[0069]接收分布式密鑰機(jī)發(fā)送的硬件隨機(jī)數(shù);
[0070]在本地產(chǎn)生本地隨機(jī)數(shù);
[0071]將所述硬件隨機(jī)數(shù)與所述本地隨機(jī)數(shù)合成,得到隨機(jī)因子。[〇〇72]隨機(jī)因子一般是指隨機(jī)產(chǎn)生的數(shù)。
[0073]該實(shí)施例中的隨機(jī)因子分為兩部分。一部分是硬件隨機(jī)數(shù),是從分布式密鑰機(jī)接收來(lái)的。另一部分是本地隨機(jī)數(shù),是移動(dòng)設(shè)備盾插件本地產(chǎn)生的。該隨機(jī)因子由兩部分合成的好處是,由于該隨機(jī)因子一部分來(lái)自于分布式密鑰機(jī),即使移動(dòng)設(shè)備盾插件受到攻擊,攻擊者也僅僅是能掌握本地產(chǎn)生的隨機(jī)數(shù);而該隨機(jī)因子還有一部分來(lái)自本地,即使分布式密鑰機(jī)受到攻擊,也僅僅是其中來(lái)自分布式密鑰機(jī)的部分遭到破譯,仍然無(wú)法竊取整個(gè)隨機(jī)因子,提高了私鑰生成的安全性。[〇〇74]步驟S130、獲取用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的設(shè)備因子。[〇〇75]該設(shè)備因子可以是用戶輸入口令的移動(dòng)設(shè)備上的設(shè)備ID或設(shè)備出廠號(hào)等,也可以是基于設(shè)備ID或設(shè)備出廠號(hào)等進(jìn)行某種特定的運(yùn)算而得到的一個(gè)數(shù)。移動(dòng)設(shè)備上的設(shè)備ID 或設(shè)備出廠號(hào)等可以存儲(chǔ)在移動(dòng)設(shè)備的存儲(chǔ)器中的某一特定位置。移動(dòng)設(shè)備盾插件只要讀取該位置處存儲(chǔ)的內(nèi)容,就可以得到移動(dòng)設(shè)備上的設(shè)備ID或設(shè)備出廠號(hào)等。某種特定的運(yùn)算是已知的,并且固定的,對(duì)于任何移動(dòng)設(shè)備計(jì)算設(shè)備因子時(shí)就采用同樣的運(yùn)算。例如,該特定的運(yùn)算是移動(dòng)設(shè)備上的設(shè)備ID異或后與設(shè)備出廠號(hào)串聯(lián)等。一般來(lái)說(shuō),該運(yùn)算需要具有輸入輸出一對(duì)一性,即對(duì)于不同的輸入,必然會(huì)產(chǎn)生不同的輸出。
[0076] 步驟S140、基于所述用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)私鑰生成算法,生成私鑰, 其中私鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,私鑰都不同的算法。[〇〇77]私鑰生成算法具有輸入輸出一對(duì)一性,即保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,私鑰都不同。已知許多算法具有輸入輸出一對(duì)一性,可以用作私鑰生成算法。 這一部分在本文中不贅述。
[0078] 優(yōu)選地,該私鑰生成算法包括迭代算法,用戶因子、設(shè)備因子、隨機(jī)因子經(jīng)過(guò)迭代算法,不需要將三個(gè)因子組裝成完整的用戶簽名,從完整的用戶簽名難以分析出迭代前的三個(gè)因子,極大提高了私鑰的安全性。[〇〇79] 在步驟S140之前,在一個(gè)實(shí)施例中,該方法還包括:步驟S135、獲取用于對(duì)私鑰進(jìn)行加擾的干擾因子。
[0080]在將私鑰發(fā)送到分布式密鑰機(jī)之前對(duì)私鑰進(jìn)行加擾的作用在于,防止私鑰被第三方攔截而泄露。在加擾的情況下,技術(shù)私鑰被第三方攔截,由于第三方不知道加擾用的干擾因子,仍然無(wú)法恢復(fù)私鑰。即,采用干擾機(jī)制,每一個(gè)數(shù)字簽名,都需要移動(dòng)端、后臺(tái)密鑰機(jī)共同作用完成,私鑰彼此屏蔽,過(guò)程彼此牽制,缺一不可,大大提高了私鑰的安全性。而分布式密鑰機(jī)只能消除簽名干擾成分,即解擾,不能生成用戶簽名,確保用戶簽名生成的私密性。[0081 ] 在一個(gè)實(shí)施例中,步驟S135包括:
[0082]接收分布式密鑰機(jī)發(fā)送的干擾公鑰;
[0083]根據(jù)所述干擾公鑰確定干擾因子。
[0084]分布式密鑰機(jī)中設(shè)置有干擾公鑰、干擾私鑰對(duì)。干擾公鑰、干擾私鑰對(duì)可以對(duì)每次私鑰的生成和驗(yàn)證都相同,但優(yōu)選是對(duì)每次私鑰的生成和驗(yàn)證采用不同的干擾公鑰、干擾私鑰對(duì)。分布式密鑰機(jī)將干擾公鑰發(fā)送給移動(dòng)設(shè)備盾插件,供移動(dòng)設(shè)備盾插件據(jù)此確定干擾因子。分布式密鑰機(jī)在本地對(duì)干擾私鑰進(jìn)行安全存儲(chǔ)。在移動(dòng)設(shè)備盾插件用干擾因子對(duì)生成的私鑰加擾后發(fā)回分布式密鑰機(jī)后,分布式密鑰機(jī)用干擾私鑰解擾。由于干擾私鑰與干擾公鑰是對(duì)應(yīng)的,分布式密鑰機(jī)可以解擾開生成的私鑰,而其他設(shè)備即使攔截到該私鑰, 也因?yàn)槿鄙俑蓴_私鑰,無(wú)法對(duì)其解擾。
[0085]干擾因子是用于對(duì)生成的私鑰進(jìn)行加擾的數(shù)等。根據(jù)所述干擾公鑰確定干擾因子往往是通過(guò)預(yù)定干擾因子產(chǎn)生算法。該干擾因子產(chǎn)生算法具有輸入輸出一對(duì)一性,即對(duì)于不同的輸入產(chǎn)生不同的輸出。已知許多算法具有輸入輸出一對(duì)一性,可以作為干擾因子產(chǎn)生算法,故不贅述。[〇〇86]在步驟S140之后,所述方法還包括:步驟S145、利用獲取的干擾因子對(duì)生成的私鑰進(jìn)行加擾,生成加擾后的數(shù)字簽名。
[0087]加擾屬于已有技術(shù)。有許多加擾算法可被用來(lái)利用獲取的干擾因子對(duì)生成的私鑰進(jìn)行加擾,生成加擾后的數(shù)字簽名,故不贅述。[〇〇88]如圖2所示,在一個(gè)實(shí)施例中,在步驟S145之后,所述方法包括:步驟S150、向分布式密鑰機(jī)發(fā)送加擾后的數(shù)字簽名。
[0089]向分布式密鑰機(jī)發(fā)送加擾后的數(shù)字簽名的目的是使分布式密鑰機(jī)能夠利用干擾私鑰解擾加擾后的數(shù)字簽名,從而將恢復(fù)的私鑰發(fā)送給認(rèn)證平臺(tái)登記,以便以后驗(yàn)證待驗(yàn)證私鑰。
[0090]如圖3所示,在一個(gè)實(shí)施例中,根據(jù)本發(fā)明一個(gè)實(shí)施例的在分布式密鑰機(jī)側(cè)的一種私鑰處理方法包括:
[0091]步驟S210、從移動(dòng)設(shè)備盾插件接收移動(dòng)設(shè)備盾插件生成的私鑰,其中所述私鑰在從移動(dòng)設(shè)備盾插件端基于用戶為生成私鑰輸入的口令的特定于用戶的用戶因子、隨機(jī)因子、用戶輸入口令的移動(dòng)設(shè)備上的特定于移動(dòng)設(shè)備的設(shè)備因子,經(jīng)私鑰生成算法生成,并利用獲取的用于對(duì)私鑰進(jìn)行加擾的干擾因子進(jìn)行加擾;[〇〇92]步驟S220、對(duì)所述私鑰進(jìn)行解擾;[〇〇93]步驟S230、將解擾后的私鑰發(fā)送給認(rèn)證平臺(tái)。[〇〇94]私鑰處理方法是指對(duì)從移動(dòng)設(shè)備盾插件接收到的加擾后的數(shù)字簽名進(jìn)行解擾等處理,并發(fā)送給認(rèn)證平臺(tái)作為用戶登記的私鑰的方法。[〇〇95]下面對(duì)這些步驟進(jìn)行詳細(xì)描述。
[0096]步驟S210、從移動(dòng)設(shè)備盾插件接收移動(dòng)設(shè)備盾插件生成的私鑰,其中所述私鑰在從移動(dòng)設(shè)備盾插件端基于用戶為生成私鑰輸入的口令的特定于用戶的用戶因子、隨機(jī)因子、用戶輸入口令的移動(dòng)設(shè)備上的特定于移動(dòng)設(shè)備的設(shè)備因子,經(jīng)私鑰生成算法生成,并利用獲取的用于對(duì)私鑰進(jìn)行加擾的干擾因子進(jìn)行加擾。
[0097]所述私鑰在從移動(dòng)設(shè)備盾插件端基于用戶為生成私鑰輸入的口令的特定于用戶的用戶因子、隨機(jī)因子、用戶輸入口令的移動(dòng)設(shè)備上的特定于移動(dòng)設(shè)備的設(shè)備因子,經(jīng)私鑰生成算法生成,并利用獲取的用于對(duì)私鑰進(jìn)行加擾的干擾因子進(jìn)行加擾的過(guò)程前面結(jié)合步驟S110-S145已經(jīng)描述,因此不再贅述。[〇〇98]步驟S220、對(duì)所述私鑰進(jìn)行解擾。
[0099]在一個(gè)實(shí)施例中,在干擾因子是基于發(fā)送到移動(dòng)設(shè)備盾插件的干擾公鑰確定出的情況下,所述對(duì)所述私鑰進(jìn)行解擾的步驟包括:用干擾私鑰對(duì)私鑰進(jìn)行解擾。
[0100]如前所述,分布式密鑰機(jī)中設(shè)置有干擾公鑰、干擾私鑰對(duì)。分布式密鑰機(jī)將干擾公鑰發(fā)送給移動(dòng)設(shè)備盾插件,供移動(dòng)設(shè)備盾插件據(jù)此確定干擾因子。分布式密鑰機(jī)保留干擾私鑰。在移動(dòng)設(shè)備盾插件用干擾因子對(duì)生成的私鑰加擾后發(fā)回分布式密鑰機(jī)后,分布式密鑰機(jī)用干擾私鑰解擾。由于干擾私鑰與干擾公鑰是對(duì)應(yīng)的,分布式密鑰機(jī)可以解擾開生成的私鑰,而其他設(shè)備即使攔截到該私鑰,也因?yàn)槿鄙俑蓴_私鑰,無(wú)法對(duì)其解擾。
[0101]步驟S230、將解擾后的私鑰發(fā)送給認(rèn)證平臺(tái)。
[0102]將解擾后的私鑰發(fā)送給認(rèn)證平臺(tái)的目的是作為用戶在認(rèn)證平臺(tái)登記的私鑰。當(dāng)以后用戶需要使用移動(dòng)設(shè)備盾插件所綁定的應(yīng)用(如云支付應(yīng)用)進(jìn)行某個(gè)操作時(shí),按后述方式生成待驗(yàn)證私鑰,發(fā)送到認(rèn)證平臺(tái)與生成私鑰時(shí)用戶登記在認(rèn)證平臺(tái)的私鑰進(jìn)行比對(duì)。 如一致則通過(guò)驗(yàn)證。
[0103]參見圖4,為本申請(qǐng)實(shí)施例提供的一種對(duì)云支付的限制密鑰進(jìn)行加密的裝置4,所述裝置包括:
[0104]用于獲取基于非對(duì)稱加密算法計(jì)算得到的公鑰的裝置401(以下簡(jiǎn)稱公鑰獲取裝置401);[〇1〇5]用于采用所述公鑰對(duì)云支付的限制密鑰進(jìn)行加密的裝置402(以下簡(jiǎn)稱加密裝置402);
[0106]其中,與所述公鑰對(duì)應(yīng)的私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法。
[0107]參見圖5,為本申請(qǐng)實(shí)施例提供的一種對(duì)云支付的限制密鑰進(jìn)行解密的裝置5,所述裝置包括:
[0108]用于基于非對(duì)稱加密算法計(jì)算公鑰和私鑰的裝置501 (以下簡(jiǎn)稱密鑰生成裝置 501),其中,所述私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中, 所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法;以及,
[0109]用于基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已用公鑰加密的限制密鑰進(jìn)行解密的裝置502(以下簡(jiǎn)稱解密裝置502)。
[0110]其中,裝置501可以通過(guò)如前描述的移動(dòng)設(shè)備盾插件實(shí)現(xiàn)。移動(dòng)設(shè)備盾插件與分布式密鑰機(jī)、以及認(rèn)證平臺(tái),共同完成私鑰的生成及驗(yàn)證。移動(dòng)設(shè)備盾插件位于用戶的移動(dòng)設(shè)備上,例如綁定移動(dòng)設(shè)備的應(yīng)用中。而分布式密鑰機(jī)位于后臺(tái)服務(wù)器,例如機(jī)房中。二者分布式協(xié)同運(yùn)算,為用戶提供私鑰功能。移動(dòng)設(shè)備盾插件作為安全插件嵌入移動(dòng)設(shè)備應(yīng)用程序中,供移動(dòng)設(shè)備應(yīng)用程序調(diào)用。移動(dòng)設(shè)備盾插件協(xié)同分布式密鑰機(jī)完成密鑰運(yùn)算。分布式密鑰機(jī)可以是專門的密碼設(shè)備,部署在服務(wù)器端的專用設(shè)備,作為輔助設(shè)備協(xié)同移動(dòng)設(shè)備盾插件實(shí)現(xiàn)分布式密鑰運(yùn)算,輔助保障簽名過(guò)程的安全。[〇111]以用戶移動(dòng)設(shè)備(如手機(jī))上的云支付應(yīng)用為例。用戶在開通移動(dòng)設(shè)備上的云支付應(yīng)用(例如通過(guò)下載云支付應(yīng)用(例如云閃付app)安裝到移動(dòng)設(shè)備上)時(shí),云支付應(yīng)用綁定有一個(gè)移動(dòng)設(shè)備盾插件,該插件與U盾不同,它不是單獨(dú)存在,而是綁定在安裝的云支付應(yīng)用中的,用于在私鑰生成和驗(yàn)證中與分布式密鑰機(jī)協(xié)同運(yùn)算,完成私鑰的生成和驗(yàn)證。安裝云支付應(yīng)用后,用戶需要完成注冊(cè)。在注冊(cè)時(shí)輸入用戶口令。用戶要記住該口令,并且在以后每次通過(guò)云支付應(yīng)用辦理業(yè)務(wù)(例如轉(zhuǎn)賬)時(shí)要輸入相同的口令。這時(shí),移動(dòng)設(shè)備盾插件根據(jù)基于該用戶口令生成的用戶因子、獲取到的隨機(jī)因子和特定于移動(dòng)設(shè)備的設(shè)備因子, 生成私鑰,并利用加擾因子加擾后發(fā)給后臺(tái)的分布式密鑰機(jī)。分布式密鑰機(jī)對(duì)該私鑰解擾后發(fā)給認(rèn)證平臺(tái)登記。當(dāng)用戶以后需要通過(guò)該云支付應(yīng)用辦理業(yè)務(wù)(如轉(zhuǎn)賬)時(shí),需要完成私鑰的驗(yàn)證過(guò)程。驗(yàn)證用戶才能辦理該業(yè)務(wù),否則交易不安全。這時(shí),用戶需要輸入自己在注冊(cè)時(shí)輸入的用戶口令。移動(dòng)設(shè)備盾插件基于該用戶口令通過(guò)與在注冊(cè)時(shí)基于用戶口令得到用戶因子相同的算法得到與注冊(cè)時(shí)相同的用戶因子。用戶在注冊(cè)時(shí)生成私鑰的過(guò)程中獲取的隨機(jī)因子是固定保存在用戶的移動(dòng)設(shè)備中的,因此,移動(dòng)設(shè)備盾插件也可以獲取到存儲(chǔ)的生產(chǎn)私鑰的過(guò)程中使用的隨機(jī)因子。設(shè)備因子是特定于移動(dòng)設(shè)備的,也可以由移動(dòng)設(shè)備盾插件獲取到。此時(shí)獲取到的設(shè)備因子也是與生成私鑰時(shí)相同的。因此,此時(shí)移動(dòng)設(shè)備盾插件基于此時(shí)的用戶因子、隨機(jī)因子、設(shè)備因子生成的待驗(yàn)證私鑰應(yīng)該也是與生成私鑰時(shí)生成的私鑰相同的。移動(dòng)設(shè)備盾插件將該待驗(yàn)證私鑰加擾后發(fā)到分布式密鑰機(jī),由分布式密鑰機(jī)解擾后發(fā)到認(rèn)證平臺(tái),與用戶注冊(cè)時(shí)生成且登記在認(rèn)證平臺(tái)的私鑰進(jìn)行比對(duì)驗(yàn)證。 從理論上,該待驗(yàn)證私鑰與用戶注冊(cè)時(shí)生成且登記在認(rèn)證平臺(tái)的私鑰應(yīng)該相同。如不相同, 則說(shuō)明用戶輸入了錯(cuò)誤的用戶口令、用戶使用的不是一開始注冊(cè)所用的移動(dòng)設(shè)備、或者生成的私鑰或待認(rèn)證私鑰在傳輸?shù)倪^(guò)程中遭到了非法篡改。由于本發(fā)明實(shí)施例中,基于用戶因子、設(shè)備因子、隨機(jī)因子三個(gè)互不相關(guān)因子生成私鑰,這三個(gè)因子缺一不可,用戶因子不作存儲(chǔ)而由用戶掌握,設(shè)備因子是移動(dòng)設(shè)備特有的,這三個(gè)因子互相牽制,在驗(yàn)證私鑰時(shí)這三個(gè)因子必須完全與生成私鑰時(shí)的三個(gè)因子一致,才能驗(yàn)證通過(guò),使得即使在用戶口令泄露等情況下其他人也很難僅憑用戶口令驗(yàn)證成功,極大提高了私鑰安全性。而且,私鑰采用干擾保護(hù)機(jī)制,即通過(guò)移動(dòng)設(shè)備盾插件對(duì)私鑰進(jìn)行加擾,后臺(tái)的分布式密鑰機(jī)進(jìn)行解擾才能恢復(fù)私鑰。只有分布式密鑰機(jī)才能解擾。如果加擾的私鑰被任何第三方攔截,第三方都無(wú)法解擾恢復(fù)私鑰而分布式密鑰機(jī)只能消除簽名干擾成分,即解擾,不能生成用戶簽名,因此分布式密鑰機(jī)端的管理者也無(wú)法私自篡改用戶簽名,這種移動(dòng)設(shè)備盾插件和分布式密鑰機(jī)相互牽制的方式確保了用戶簽名生成的私密性。
[0112]優(yōu)選的,裝置501還包括:
[0113]用于獲取用于對(duì)私鑰進(jìn)行加擾的干擾因子的裝置503(以下簡(jiǎn)稱干擾因子獲取裝置503);以及,
[0114]用于利用獲取的干擾因子對(duì)生成的私鑰進(jìn)行加擾,生成加擾后的數(shù)字簽名的裝置 504(以下簡(jiǎn)稱加擾裝置504)。
[0115]優(yōu)選的,裝置5還包括:
[0116]用于向分布式密鑰機(jī)發(fā)送加擾后的數(shù)字簽名的裝置505(以下簡(jiǎn)稱發(fā)送裝置505)。
[0117]優(yōu)選的,所述用于基于非對(duì)稱加密算法計(jì)算公鑰和私鑰的裝置501用于:
[0118]獲取用戶輸入的口令;
[0119]將獲取的口令輸入用戶因子生成算法,得到特定于用戶的用戶因子,其中所述用戶因子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。
[0120]如前所述,用戶輸入的口令是用戶在注冊(cè)時(shí)輸入用戶口令。一般,在用戶注冊(cè)時(shí), 與移動(dòng)設(shè)備盾插件所綁定的應(yīng)用的界面會(huì)提示用戶輸入用戶口令。當(dāng)用戶輸入該口令后, 移動(dòng)設(shè)備盾插件就獲取了該口令。用戶要記住該口令,并且在以后每次通過(guò)云支付應(yīng)用辦理業(yè)務(wù)(例如轉(zhuǎn)賬)時(shí)要輸入相同的口令。
[0121]所述用戶因子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。 而且,在驗(yàn)證待驗(yàn)證私鑰時(shí),產(chǎn)生待驗(yàn)證私鑰也要采用同樣的用戶因子生成算法生成驗(yàn)證時(shí)的用戶因子。
[0122]用戶因子是已有概念,是特定于用戶的一個(gè)因子,例如隨用戶不同而不同的一個(gè)數(shù)。用戶因子生成算法的特點(diǎn)是輸入的口令與輸出的值(用戶因子)都唯一對(duì)應(yīng)性,即輸入的口令不同,產(chǎn)生的用戶因子都不同。目前已知許多算法可用于用戶因子生成算法,故不贅述。
[0123]優(yōu)選的,所述用于基于非對(duì)稱加密算法計(jì)算公鑰和私鑰的裝置501用于:
[0124]接收分布式密鑰機(jī)發(fā)送的硬件隨機(jī)數(shù);
[0125]在本地產(chǎn)生本地隨機(jī)數(shù);
[0126]將所述硬件隨機(jī)數(shù)與所述本地隨機(jī)數(shù)合成,得到隨機(jī)因子。
[0127]該實(shí)施例中的隨機(jī)因子分為兩部分。一部分是硬件隨機(jī)數(shù),是從分布式密鑰機(jī)接收來(lái)的。另一部分是本地隨機(jī)數(shù),是移動(dòng)設(shè)備盾插件本地產(chǎn)生的。該隨機(jī)因子由兩部分合成的好處是,由于該隨機(jī)因子一部分來(lái)自于分布式密鑰機(jī),即使移動(dòng)設(shè)備盾插件受到攻擊,攻擊者也僅僅是能掌握本地產(chǎn)生的隨機(jī)數(shù);而該隨機(jī)因子還有一部分來(lái)自本地,即使分布式密鑰機(jī)受到攻擊,也僅僅是其中來(lái)自分布式密鑰機(jī)的部分遭到破譯,仍然無(wú)法竊取整個(gè)隨機(jī)因子,提高了私鑰生成的安全性。
[0128]優(yōu)選的,所述用于獲取用于對(duì)私鑰進(jìn)行加擾的干擾因子的裝置503用于:
[0129]接收分布式密鑰機(jī)發(fā)送的干擾公鑰;
[0130]根據(jù)所述干擾公鑰確定干擾因子。[〇131]分布式密鑰機(jī)中設(shè)置有干擾公鑰、干擾私鑰對(duì)。干擾公鑰、干擾私鑰對(duì)可以對(duì)每次私鑰的生成和驗(yàn)證都相同,但優(yōu)選是對(duì)每次私鑰的生成和驗(yàn)證采用不同的干擾公鑰、干擾私鑰對(duì)。分布式密鑰機(jī)將干擾公鑰發(fā)送給移動(dòng)設(shè)備盾插件,供移動(dòng)設(shè)備盾插件據(jù)此確定干擾因子。分布式密鑰機(jī)在本地對(duì)干擾私鑰進(jìn)行安全存儲(chǔ)。在移動(dòng)設(shè)備盾插件用干擾因子對(duì)生成的私鑰加擾后發(fā)回分布式密鑰機(jī)后,分布式密鑰機(jī)用干擾私鑰解擾。由于干擾私鑰與干擾公鑰是對(duì)應(yīng)的,分布式密鑰機(jī)可以解擾開生成的私鑰,而其他設(shè)備即使攔截到該私鑰, 也因?yàn)槿鄙俑蓴_私鑰,無(wú)法對(duì)其解擾。
[0132]干擾因子是用于對(duì)生成的私鑰進(jìn)行加擾的數(shù)等。根據(jù)所述干擾公鑰確定干擾因子往往是通過(guò)預(yù)定干擾因子產(chǎn)生算法。該干擾因子產(chǎn)生算法具有輸入輸出一對(duì)一性,即對(duì)于不同的輸入產(chǎn)生不同的輸出。已知許多算法具有輸入輸出一對(duì)一性,可以作為干擾因子產(chǎn)生算法,故不贅述。
[0133]參見圖6,為本申請(qǐng)實(shí)施例提供的一種對(duì)云支付的限制密鑰進(jìn)行加解密的系統(tǒng)6, 所述系統(tǒng)包括:
[0134]用于基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰的,以及,當(dāng)用戶進(jìn)行云支付操作時(shí),基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已采用所述公鑰加密的限制密鑰進(jìn)行解密的移動(dòng)設(shè)備601,其中,所述私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子, 所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法
[0135]用于獲取所述公鑰,并利用所述公鑰對(duì)限制密鑰進(jìn)行加密的云端設(shè)備602。
[0136]其中,移動(dòng)設(shè)備601可以通過(guò)如前描述的移動(dòng)設(shè)備盾插件實(shí)現(xiàn)公鑰和私鑰的計(jì)算和保存。移動(dòng)設(shè)備盾插件與分布式密鑰機(jī)、以及認(rèn)證平臺(tái),共同完成私鑰的生成及驗(yàn)證。移動(dòng)設(shè)備盾插件位于用戶的移動(dòng)設(shè)備上,例如綁定移動(dòng)設(shè)備的應(yīng)用中。而分布式密鑰機(jī)位于后臺(tái)服務(wù)器,例如機(jī)房中。二者分布式協(xié)同運(yùn)算,為用戶提供私鑰功能。移動(dòng)設(shè)備盾插件作為安全插件嵌入移動(dòng)設(shè)備應(yīng)用程序中,供移動(dòng)設(shè)備應(yīng)用程序調(diào)用。移動(dòng)設(shè)備盾插件協(xié)同分布式密鑰機(jī)完成密鑰運(yùn)算。分布式密鑰機(jī)可以是專門的密碼設(shè)備,部署在服務(wù)器端的專用設(shè)備,作為輔助設(shè)備協(xié)同移動(dòng)設(shè)備盾插件實(shí)現(xiàn)分布式密鑰運(yùn)算,輔助保障簽名過(guò)程的安全。
[0137]以用戶移動(dòng)設(shè)備(如手機(jī))上的云支付應(yīng)用為例。用戶在開通移動(dòng)設(shè)備上的云支付應(yīng)用(例如通過(guò)下載云支付應(yīng)用(例如云閃付app)安裝到移動(dòng)設(shè)備上)時(shí),云支付應(yīng)用綁定有一個(gè)移動(dòng)設(shè)備盾插件,該插件與U盾不同,它不是單獨(dú)存在,而是綁定在安裝的云支付應(yīng)用中的,用于在私鑰生成和驗(yàn)證中與分布式密鑰機(jī)協(xié)同運(yùn)算,完成私鑰的生成和驗(yàn)證。安裝云支付應(yīng)用后,用戶需要完成注冊(cè)。在注冊(cè)時(shí)輸入用戶口令。用戶要記住該口令,并且在以后每次通過(guò)云支付應(yīng)用辦理業(yè)務(wù)(例如轉(zhuǎn)賬)時(shí)要輸入相同的口令。這時(shí),移動(dòng)設(shè)備盾插件根據(jù)基于該用戶口令生成的用戶因子、獲取到的隨機(jī)因子和特定于移動(dòng)設(shè)備的設(shè)備因子, 生成私鑰,并利用加擾因子加擾后發(fā)給后臺(tái)的分布式密鑰機(jī)。分布式密鑰機(jī)對(duì)該私鑰解擾后發(fā)給認(rèn)證平臺(tái)登記。當(dāng)用戶以后需要通過(guò)該云支付應(yīng)用辦理業(yè)務(wù)(如轉(zhuǎn)賬)時(shí),需要完成私鑰的驗(yàn)證過(guò)程。驗(yàn)證用戶才能辦理該業(yè)務(wù),否則交易不安全。這時(shí),用戶需要輸入自己在注冊(cè)時(shí)輸入的用戶口令。移動(dòng)設(shè)備盾插件基于該用戶口令通過(guò)與在注冊(cè)時(shí)基于用戶口令得到用戶因子相同的算法得到與注冊(cè)時(shí)相同的用戶因子。用戶在注冊(cè)時(shí)生成私鑰的過(guò)程中獲取的隨機(jī)因子是固定保存在用戶的移動(dòng)設(shè)備中的,因此,移動(dòng)設(shè)備盾插件也可以獲取到存儲(chǔ)的生產(chǎn)私鑰的過(guò)程中使用的隨機(jī)因子。設(shè)備因子是特定于移動(dòng)設(shè)備的,也可以由移動(dòng)設(shè)備盾插件獲取到。此時(shí)獲取到的設(shè)備因子也是與生成私鑰時(shí)相同的。因此,此時(shí)移動(dòng)設(shè)備盾插件基于此時(shí)的用戶因子、隨機(jī)因子、設(shè)備因子生成的待驗(yàn)證私鑰應(yīng)該也是與生成私鑰時(shí)生成的私鑰相同的。移動(dòng)設(shè)備盾插件將該待驗(yàn)證私鑰加擾后發(fā)到分布式密鑰機(jī),由分布式密鑰機(jī)解擾后發(fā)到認(rèn)證平臺(tái),與用戶注冊(cè)時(shí)生成且登記在認(rèn)證平臺(tái)的私鑰進(jìn)行比對(duì)驗(yàn)證。 從理論上,該待驗(yàn)證私鑰與用戶注冊(cè)時(shí)生成且登記在認(rèn)證平臺(tái)的私鑰應(yīng)該相同。如不相同, 則說(shuō)明用戶輸入了錯(cuò)誤的用戶口令、用戶使用的不是一開始注冊(cè)所用的移動(dòng)設(shè)備、或者生成的私鑰或待認(rèn)證私鑰在傳輸?shù)倪^(guò)程中遭到了非法篡改。由于本發(fā)明實(shí)施例中,基于用戶因子、設(shè)備因子、隨機(jī)因子三個(gè)互不相關(guān)因子生成私鑰,這三個(gè)因子缺一不可,用戶因子不作存儲(chǔ)而由用戶掌握,設(shè)備因子是移動(dòng)設(shè)備特有的,這三個(gè)因子互相牽制,在驗(yàn)證私鑰時(shí)這三個(gè)因子必須完全與生成私鑰時(shí)的三個(gè)因子一致,才能驗(yàn)證通過(guò),使得即使在用戶口令泄露等情況下其他人也很難僅憑用戶口令驗(yàn)證成功,極大提高了私鑰安全性。而且,私鑰采用干擾保護(hù)機(jī)制,即通過(guò)移動(dòng)設(shè)備盾插件對(duì)私鑰進(jìn)行加擾,后臺(tái)的分布式密鑰機(jī)進(jìn)行解擾才能恢復(fù)私鑰。只有分布式密鑰機(jī)才能解擾。如果加擾的私鑰被任何第三方攔截,第三方都無(wú)法解擾恢復(fù)私鑰而分布式密鑰機(jī)只能消除簽名干擾成分,即解擾,不能生成用戶簽名,因此分布式密鑰機(jī)端的管理者也無(wú)法私自篡改用戶簽名,這種移動(dòng)設(shè)備盾插件和分布式密鑰機(jī)相互牽制的方式確保了用戶簽名生成的私密性。
[0138]優(yōu)選的,所述移動(dòng)設(shè)備601用于:獲取用于對(duì)私鑰進(jìn)行加擾的干擾因子;以及,利用獲取的干擾因子對(duì)生成的私鑰進(jìn)行加擾,生成加擾后的數(shù)字簽名。
[0139]優(yōu)選的,所述移動(dòng)設(shè)備601用于:向分布式密鑰機(jī)發(fā)送加擾后的數(shù)字簽名。
[0140]優(yōu)選的,所述移動(dòng)設(shè)備601用于:
[0141]獲取用戶輸入的口令;
[0142]將獲取的口令輸入用戶因子生成算法,得到特定于用戶的用戶因子,其中所述用戶因子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。
[0143]如前所述,用戶輸入的口令是用戶在注冊(cè)時(shí)輸入用戶口令。一般,在用戶注冊(cè)時(shí), 與移動(dòng)設(shè)備盾插件所綁定的應(yīng)用的界面會(huì)提示用戶輸入用戶口令。當(dāng)用戶輸入該口令后, 移動(dòng)設(shè)備盾插件就獲取了該口令。用戶要記住該口令,并且在以后每次通過(guò)云支付應(yīng)用辦理業(yè)務(wù)(例如轉(zhuǎn)賬)時(shí)要輸入相同的口令。
[0144]所述用戶因子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。而且,在驗(yàn)證待驗(yàn)證私鑰時(shí),產(chǎn)生待驗(yàn)證私鑰也要采用同樣的用戶因子生成算法生成驗(yàn)證時(shí)的用戶因子。
[0145]用戶因子是已有概念,是特定于用戶的一個(gè)因子,例如隨用戶不同而不同的一個(gè)數(shù)。用戶因子生成算法的特點(diǎn)是輸入的口令與輸出的值(用戶因子)都唯一對(duì)應(yīng)性,即輸入的口令不同,產(chǎn)生的用戶因子都不同。目前已知許多算法可用于用戶因子生成算法,故不贅述。
[0146]優(yōu)選的,所述移動(dòng)設(shè)備601用于:
[0147]接收分布式密鑰機(jī)發(fā)送的硬件隨機(jī)數(shù);
[0148]在本地產(chǎn)生本地隨機(jī)數(shù);
[0149]將所述硬件隨機(jī)數(shù)與所述本地隨機(jī)數(shù)合成,得到隨機(jī)因子。[〇15〇]該實(shí)施例中的隨機(jī)因子分為兩部分。一部分是硬件隨機(jī)數(shù),是從分布式密鑰機(jī)接收來(lái)的。另一部分是本地隨機(jī)數(shù),是移動(dòng)設(shè)備盾插件本地產(chǎn)生的。該隨機(jī)因子由兩部分合成的好處是,由于該隨機(jī)因子一部分來(lái)自于分布式密鑰機(jī),即使移動(dòng)設(shè)備盾插件受到攻擊,攻擊者也僅僅是能掌握本地產(chǎn)生的隨機(jī)數(shù);而該隨機(jī)因子還有一部分來(lái)自本地,即使分布式密鑰機(jī)受到攻擊,也僅僅是其中來(lái)自分布式密鑰機(jī)的部分遭到破譯,仍然無(wú)法竊取整個(gè)隨機(jī)因子,提高了私鑰生成的安全性。[〇151]優(yōu)選的,所述移動(dòng)設(shè)備601用于:
[0152]接收分布式密鑰機(jī)發(fā)送的干擾公鑰;
[0153]根據(jù)所述干擾公鑰確定干擾因子。
[0154]分布式密鑰機(jī)中設(shè)置有干擾公鑰、干擾私鑰對(duì)。干擾公鑰、干擾私鑰對(duì)可以對(duì)每次私鑰的生成和驗(yàn)證都相同,但優(yōu)選是對(duì)每次私鑰的生成和驗(yàn)證采用不同的干擾公鑰、干擾私鑰對(duì)。分布式密鑰機(jī)將干擾公鑰發(fā)送給移動(dòng)設(shè)備盾插件,供移動(dòng)設(shè)備盾插件據(jù)此確定干擾因子。分布式密鑰機(jī)在本地對(duì)干擾私鑰進(jìn)行安全存儲(chǔ)。在移動(dòng)設(shè)備盾插件用干擾因子對(duì)生成的私鑰加擾后發(fā)回分布式密鑰機(jī)后,分布式密鑰機(jī)用干擾私鑰解擾。由于干擾私鑰與干擾公鑰是對(duì)應(yīng)的,分布式密鑰機(jī)可以解擾開生成的私鑰,而其他設(shè)備即使攔截到該私鑰, 也因?yàn)槿鄙俑蓴_私鑰,無(wú)法對(duì)其解擾。
[0155]干擾因子是用于對(duì)生成的數(shù)字簽名進(jìn)行加擾的數(shù)等。根據(jù)所述干擾公鑰確定干擾因子往往是通過(guò)預(yù)定干擾因子產(chǎn)生算法。該干擾因子產(chǎn)生算法具有輸入輸出一對(duì)一性,即對(duì)于不同的輸入產(chǎn)生不同的輸出。已知許多算法具有輸入輸出一對(duì)一性,可以作為干擾因子產(chǎn)生算法,故不贅述。
[0156]其中,根據(jù)本發(fā)明的方法通過(guò)包含于計(jì)算機(jī)設(shè)備中的裝置來(lái)實(shí)現(xiàn)。所述計(jì)算機(jī)設(shè)備包括一種能夠按照事先設(shè)定或存儲(chǔ)的指令,自動(dòng)進(jìn)行數(shù)值計(jì)算和/或信息處理的電子設(shè)備,其硬件包括但不限于微處理器、專用集成電路(ASIC)、可編程門陣列(FPGA)、數(shù)字處理器(DSP)、嵌入式設(shè)備等。所述計(jì)算機(jī)設(shè)備包括網(wǎng)絡(luò)設(shè)備和/或用戶設(shè)備。其中,所述網(wǎng)絡(luò)設(shè)備包括但不限于單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器組成的服務(wù)器組或基于云計(jì)算(Cloud Comput ing)的由大量主機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成的云,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級(jí)虛擬計(jì)算機(jī)。所述用戶設(shè)備包括但不限于任何一種可與用戶通過(guò)鍵盤、鼠標(biāo)、遙控器、觸摸板、或聲控設(shè)備等方式進(jìn)行人機(jī)交互的電子產(chǎn)品, 例如,個(gè)人計(jì)算機(jī)、平板電腦、智能手機(jī)、PDA、游戲機(jī)、或IPTV等。其中,所述用戶設(shè)備及網(wǎng)絡(luò)設(shè)備所處的網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、VPN網(wǎng)絡(luò)等。
[0157]需要說(shuō)明的是,所述用戶設(shè)備、網(wǎng)絡(luò)設(shè)備以及網(wǎng)絡(luò)僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的用戶設(shè)備、網(wǎng)絡(luò)設(shè)備以及網(wǎng)絡(luò)如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并以引用方式包含于此。
[0158]本發(fā)明的軟件程序可以通過(guò)處理器執(zhí)行以實(shí)現(xiàn)上文所述步驟或功能。同樣地,本發(fā)明的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲(chǔ)到計(jì)算機(jī)可讀記錄介質(zhì)中,例如,RAM存儲(chǔ)器,磁或光驅(qū)動(dòng)器或軟磁盤及類似設(shè)備。另外,本發(fā)明的一些步驟或功能可采用硬件來(lái)實(shí)現(xiàn),例如,作為與處理器配合從而執(zhí)行各個(gè)功能或步驟的電路。
[0159]另外,本發(fā)明的一部分可被應(yīng)用為計(jì)算機(jī)程序產(chǎn)品,例如計(jì)算機(jī)程序指令,當(dāng)其被計(jì)算機(jī)執(zhí)行時(shí),通過(guò)該計(jì)算機(jī)的操作,可以調(diào)用或提供根據(jù)本發(fā)明的方法和/或技術(shù)方案。 而調(diào)用本發(fā)明的方法的程序指令,可能被存儲(chǔ)在固定的或可移動(dòng)的記錄介質(zhì)中,和/或通過(guò)廣播或其他信號(hào)承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲(chǔ)在根據(jù)所述程序指令運(yùn)行的計(jì)算機(jī)設(shè)備的工作存儲(chǔ)器中。在此,根據(jù)本發(fā)明的一個(gè)實(shí)施例包括一個(gè)裝置,該裝置包括用于存儲(chǔ)計(jì)算機(jī)程序指令的存儲(chǔ)器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計(jì)算機(jī)程序指令被該處理器執(zhí)行時(shí),觸發(fā)該裝置運(yùn)行基于前述根據(jù)本發(fā)明的多個(gè)實(shí)施例的方法和/或技術(shù)方案。[〇16〇]對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無(wú)論從哪一點(diǎn)來(lái)看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說(shuō)明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此夕卜,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。系統(tǒng)權(quán)利要求中陳述的多個(gè)單元或裝置也可以由一個(gè)單元或裝置通過(guò)軟件或者硬件來(lái)實(shí)現(xiàn)。第一,第二等詞語(yǔ)用來(lái)表示名稱,而并不表示任何特定的順序。[〇161]雖然前面特別示出并且描述了示例性實(shí)施例,但是本領(lǐng)域技術(shù)人員將會(huì)理解的是,在不背離權(quán)利要求書的精神和范圍的情況下,在其形式和細(xì)節(jié)方面可以有所變化。這里所尋求的保護(hù)在所附權(quán)利要求書中做了闡述。
【主權(quán)項(xiàng)】
1.一種對(duì)云支付的限制密鑰進(jìn)行加密的方法,其特征在于,所述方法包括:獲取基于非對(duì)稱加密算法計(jì)算得到的公鑰;采用所述公鑰對(duì)云支付的限制密鑰進(jìn)行加密;其中,與所述公鑰對(duì)應(yīng)的私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法 生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因 子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成 算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法。2.—種對(duì)云支付的限制密鑰進(jìn)行解密的方法,其特征在于,所述方法包括:基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰,其中,所述私鑰是基于用戶因子、隨機(jī)因 子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸 入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移 動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同, 所生成的私鑰都不同的算法;基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已采用所述公鑰加密的限制密鑰進(jìn)行解I_Lj 〇3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在經(jīng)密鑰生成算法生成私鑰之前,所述方 法還包括:獲取用于對(duì)私鑰進(jìn)行加擾的干擾因子;在經(jīng)密鑰生成算法生成私鑰的步驟之后,所述方法還包括:利用獲取的干擾因子對(duì)生 成的私鑰進(jìn)行加擾,生成加擾后的數(shù)字簽名。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在生成加擾后的數(shù)字簽名之后,所述方法 還包括:向分布式密鑰機(jī)發(fā)送加擾后的數(shù)字簽名。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,通過(guò)以下步驟得到所述用戶因子:獲取用戶輸入的口令;將獲取的口令輸入用戶因子生成算法,得到特定于用戶的用戶因子,其中所述用戶因 子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。6.根據(jù)權(quán)利要求4所述的方法,其特征在于,通過(guò)以下步驟獲取所述隨機(jī)因子:接收分布式密鑰機(jī)發(fā)送的硬件隨機(jī)數(shù);在本地產(chǎn)生本地隨機(jī)數(shù);將所述硬件隨機(jī)數(shù)與所述本地隨機(jī)數(shù)合成,得到隨機(jī)因子。7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述獲取用于對(duì)私鑰進(jìn)行加擾的干擾因子 的步驟包括:接收分布式密鑰機(jī)發(fā)送的干擾公鑰;根據(jù)所述干擾公鑰確定干擾因子。8.—種對(duì)云支付的限制密鑰進(jìn)行加解密的方法,其特征在于,所述方法包括:在移動(dòng)設(shè)備端基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰,其中,所述私鑰是基于用戶 因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述 限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上 的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法;在云端獲取所述公鑰,并利用所述公鑰對(duì)限制密鑰進(jìn)行加密;當(dāng)用戶進(jìn)行云支付操作時(shí),在移動(dòng)設(shè)備端,基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì) 已采用所述公鑰加密的限制密鑰進(jìn)行解密。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在經(jīng)密鑰生成算法生成私鑰之前,所述方 法還包括:獲取用于對(duì)私鑰進(jìn)行加擾的干擾因子;在經(jīng)密鑰生成算法生成私鑰的步驟之后,所述方法還包括:利用獲取的干擾因子對(duì)生 成的私鑰進(jìn)行加擾,生成加擾后的數(shù)字簽名。10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在生成加擾后的數(shù)字簽名之后,所述方法 還包括:向分布式密鑰機(jī)發(fā)送加擾后的數(shù)字簽名。11.根據(jù)權(quán)利要求10所述的方法,其特征在于,通過(guò)以下步驟得到所述用戶因子:獲取用戶輸入的口令;將獲取的口令輸入用戶因子生成算法,得到特定于用戶的用戶因子,其中所述用戶因 子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。12.根據(jù)權(quán)利要求8所述的方法,其特征在于,通過(guò)以下步驟獲取所述隨機(jī)因子:接收分布式密鑰機(jī)發(fā)送的硬件隨機(jī)數(shù);在本地產(chǎn)生本地隨機(jī)數(shù);將所述硬件隨機(jī)數(shù)與所述本地隨機(jī)數(shù)合成,得到隨機(jī)因子。13.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述獲取用于對(duì)私鑰進(jìn)行加擾的干擾因 子的步驟包括:接收分布式密鑰機(jī)發(fā)送的干擾公鑰;根據(jù)所述干擾公鑰確定干擾因子。14.一種對(duì)云支付的限制密鑰進(jìn)行加密的裝置,其特征在于,所述裝置包括:用于獲取基于非對(duì)稱加密算法計(jì)算得到的公鑰的裝置;用于采用所述公鑰對(duì)云支付的限制密鑰進(jìn)行加密的裝置;其中,與所述公鑰對(duì)應(yīng)的私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法 生成的,其中,所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因 子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成 算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法。15.—種對(duì)云支付的限制密鑰進(jìn)行解密的裝置,其特征在于,所述裝置包括:用于基于非對(duì)稱加密算法計(jì)算公鑰和私鑰的裝置,其中,所述私鑰是基于用戶因子、隨 機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中,所述用戶因子是用戶為解密所述限制密 鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因子是用戶輸入口令的移動(dòng)設(shè)備上的、特定 于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不 同,所生成的私鑰都不同的算法;以及,用于基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已用公鑰加密的限制密鑰進(jìn)行解密的裝置。16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括:用于獲取用于對(duì)私鑰進(jìn)行加擾的干擾因子的裝置;以及,用于利用獲取的干擾因子對(duì)生成的私鑰進(jìn)行加擾,生成加擾后的數(shù)字簽名的裝置。17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述裝置還包括:用于向分布式密鑰機(jī)發(fā)送加擾后的數(shù)字簽名的裝置。18.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述用于基于非對(duì)稱加密算法計(jì)算公鑰 和私鑰的裝置用于:獲取用戶輸入的口令;將獲取的口令輸入用戶因子生成算法,得到特定于用戶的用戶因子,其中所述用戶因 子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述用于基于非對(duì)稱加密算法計(jì)算公鑰 和私鑰的裝置用于:接收分布式密鑰機(jī)發(fā)送的硬件隨機(jī)數(shù);在本地產(chǎn)生本地隨機(jī)數(shù);將所述硬件隨機(jī)數(shù)與所述本地隨機(jī)數(shù)合成,得到隨機(jī)因子。20.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述用于獲取用于對(duì)私鑰進(jìn)行加擾的干 擾因子的裝置用于:接收分布式密鑰機(jī)發(fā)送的干擾公鑰;根據(jù)所述干擾公鑰確定干擾因子。21.—種對(duì)云支付的限制密鑰進(jìn)行加解密的系統(tǒng),其特征在于,所述系統(tǒng)包括:用于基于非對(duì)稱加密算法計(jì)算得到私鑰和公鑰的,以及,當(dāng)用戶進(jìn)行云支付操作時(shí),基于分段倍點(diǎn)運(yùn)算的算法,采用所述私鑰對(duì)已采用所述公鑰加密的限制密鑰進(jìn)行解密的移動(dòng) 設(shè)備,其中,所述私鑰是基于用戶因子、隨機(jī)因子、設(shè)備因子,經(jīng)密鑰生成算法生成的,其中, 所述用戶因子是用戶為解密所述限制密鑰輸入的口令的、特定于用戶的因子,所述設(shè)備因 子是用戶輸入口令的移動(dòng)設(shè)備上的、特定于移動(dòng)設(shè)備的因子;所述密鑰生成算法是保證用 戶因子、隨機(jī)因子、設(shè)備因子中任何一項(xiàng)不同,所生成的私鑰都不同的算法 用于獲取所述公鑰,并利用所述公鑰對(duì)限制密鑰進(jìn)行加密的云端設(shè)備。22.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述移動(dòng)設(shè)備用于:獲取用于對(duì)私鑰進(jìn) 行加擾的干擾因子;以及,利用獲取的干擾因子對(duì)生成的私鑰進(jìn)行加擾,生成加擾后的數(shù)字 簽名。23.根據(jù)權(quán)利要求22所述的方法,其特征在于,所述移動(dòng)設(shè)備用于:向分布式密鑰機(jī)發(fā) 送加擾后的數(shù)字簽名。24.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述移動(dòng)設(shè)備用于:獲取用戶輸入的口令;將獲取的口令輸入用戶因子生成算法,得到特定于用戶的用戶因子,其中所述用戶因 子生成算法是保證輸入的口令不同,產(chǎn)生的用戶因子都不同的算法。25.根據(jù)權(quán)利要求22所述的方法,其特征在于,所述移動(dòng)設(shè)備用于:接收分布式密鑰機(jī)發(fā)送的硬件隨機(jī)數(shù);在本地產(chǎn)生本地隨機(jī)數(shù);將所述硬件隨機(jī)數(shù)與所述本地隨機(jī)數(shù)合成,得到隨機(jī)因子。26.根據(jù)權(quán)利要求21所述的方法,其特征在于,所述移動(dòng)設(shè)備用于: 接收分布式密鑰機(jī)發(fā)送的干擾公鑰;根據(jù)所述干擾公鑰確定干擾因子。
【文檔編號(hào)】H04L9/08GK105959108SQ201610483731
【公開日】2016年9月21日
【申請(qǐng)日】2016年6月27日
【發(fā)明人】呂文華, 宛海加, 劉永
【申請(qǐng)人】收付寶科技有限公司