技術領域:
本發(fā)明涉及“可穿戴”設備或手機的離線認證或支付安全領域。
背景技術:
:
目前,國內(nèi)外基于“可穿戴”設備或手機的離線認證或支付,一種是采用口令或動態(tài)口令進行離線認證,沒有簽名功能,安全等級十分低;第二種是采用單鑰密碼算法進行離線認證,密鑰采用分散密鑰技術,密鑰固定不變,安全等級較低;第三種是采用pki技術的安全架構,pki技術是采用公鑰密碼算法和單鑰密碼算法相結(jié)合,建立ca認證中心來完成離線認證,ca認證中心的建設成本較高,公鑰密碼算法運行速度相對較慢;總之,現(xiàn)有的“可穿戴”設備或手機的離線認證或支付技術產(chǎn)品不能滿足市場的需求。
技術實現(xiàn)要素:
:
一種“可穿戴”設備或手機的離線認證或支付方法,是采用芯片、單鑰密碼算法、組合對稱密鑰生成算法和分散密鑰技術,建立“可穿戴”設備或手機的離線認證或支付系統(tǒng),在用戶采用“可穿戴”設備或手機,對讀卡器進行非接觸式刷卡認證或支付的場景下,亦即:在用戶采用“可穿戴”設備或手機,進行非接觸式“離線認證”即:“柜臺認證”場景下,事先,在用戶的“可穿戴”設備或手機端嵌入非接觸式智能卡,在智能卡的cpu芯片里建立客戶端的加密“組件”,即:建立客戶端加密系統(tǒng),并寫入用戶標識、單鑰密碼算法、摘要算法、組合密鑰生成算法、一組“密鑰種子”表的元素、身份認證協(xié)議和支付協(xié)議,在讀卡器上嵌入非接觸式智能卡,組成非接觸式智能卡讀卡器,并在非接觸式智能卡讀卡器端建立認證中心,認證中心的加密設備采用加密卡或加密機硬件,在認證中心的加密設備cpu芯片里,建立認證中心端的加密“組件”,即:認證中心端加密系統(tǒng),寫入單鑰密碼算法、摘要算法、組合密鑰生成算法、身份認證協(xié)議、支付協(xié)議,將全體用戶的標識和對應“密鑰種子”表的元素密文,存儲在密鑰數(shù)據(jù)庫中,其中:全體用戶的“密鑰種子”表的元素,兩兩不同,采用一組存儲密鑰k,將全體用戶“密鑰種子”表的元素分別加密成密文,即:“密鑰種子”表i元素密文,與對應用戶標識一并存儲在密鑰數(shù)據(jù)庫中,i=1~n,n為全體用戶的總和;
當用戶進行離線認證時,用戶ai的“可穿戴”設備或手機端加密系統(tǒng),在“可穿戴”設備或手機里產(chǎn)生一組時間戳,在非接觸式智能卡cpu芯片里產(chǎn)生一組隨機數(shù),用摘要算法對該組時間戳和隨機數(shù),進行摘要得到摘要信息l1即:驗證碼,由cpu芯片里的組合密鑰生成算法和“密鑰種子”元素,得到簽名密鑰yk1,用簽名密鑰yk1加密驗證碼l1得到簽名碼l1′即:數(shù)字簽名,將用戶ai“可穿戴”設備或手機的標識、時間戳、隨機數(shù)、驗證碼l1和簽名碼l1′,一并發(fā)送給非接觸式智能卡的讀卡器設備認證中心,在認證中心的加密設備cpu芯片里,認證中心端的加密系統(tǒng),根據(jù)用戶ai標識對密鑰數(shù)據(jù)庫進行檢索和定位,取出對應用戶標識的“密鑰種子”表i的元素密文,使用存儲密鑰k來解密“密鑰種子”表的元素密文得到其明文,根據(jù)時間戳和隨機數(shù)組成的組合密鑰生成算法,與對應用戶標識的“密鑰種子”表i的元素,生成簽名密鑰yk2,用簽名密鑰yk2將簽名碼l1′解密,得到認證中心端的驗證碼l2,若l1≠l2,則用戶a的身份為假,若l1=l2,則用戶a的身份可信,即:通過對比l1和l2是否相同?來判別用戶ai的身份是否可信,從而,實現(xiàn)用戶ai“可穿戴”設備或手機的離線認證,其中:i=1~n,n為全體用戶的總和;
本發(fā)明是針對用戶“可穿戴”設備或手機,在“離線認證”即:柜臺認證的場景下,在用戶的“可穿戴”設備或手機端和讀卡器端,分別建立加密系統(tǒng),實現(xiàn)離線認證和支付,其方法的技術特征在于:
在用戶的“可穿戴”設備或手機端嵌入非接觸式智能卡,在非接觸式智能卡的cpu芯片里,建立客戶端的加密“組件”,即:建立客戶端加密系統(tǒng),并寫入單鑰密碼算法、摘要算法、組合密鑰生成算法、分散密鑰生成協(xié)議、“密鑰種子”表的元素、身份認證協(xié)議和支付協(xié)議,在讀卡器端嵌入非接觸式智能卡,組成非接觸式智能卡讀卡器,并在非接觸式智能卡讀卡器端建立認證中心,認證中心加密設備采用加密卡或加密機硬件,在認證中心硬件的cpu芯片里,建立讀卡器端的加密系統(tǒng),寫入單鑰密碼算法、摘要算法、組合密鑰生成算法、分散密鑰生成協(xié)議、身份認證協(xié)議、支付協(xié)議,以及“密鑰種子”表的元素,從而,建立“可穿戴”設備或手機的離線認證或支付協(xié)議;
全體用戶與讀卡器端的加密系統(tǒng)中,采用相同的“密鑰種子”表的元素,即:“密鑰種子”表的元素,兩兩相同,從而,實現(xiàn)非接觸式智能卡讀卡器端的認證中心,不需要建立密鑰數(shù)據(jù)庫,也不需要根據(jù)用戶“可穿戴”設備或手機的標識,對密鑰數(shù)據(jù)庫的“密鑰種子”表的元素進行檢索和定位;
當用戶ai進行離線認證時,用戶ai使用“可穿戴”設備或手機,在非接觸式智能卡讀卡器上進行刷卡認證后,“可穿戴”設備或手機端加密系統(tǒng),在“可穿戴”設備或手機里產(chǎn)生一組時間戳,由非接觸式智能卡的cpu芯片產(chǎn)生一組隨機數(shù),在非接觸式智能卡的cpu芯片里,調(diào)用摘要算法對該組時間戳和隨機數(shù),進行摘要得到摘要信息l1即:驗證碼,根據(jù)組合密鑰生成算法生成一組用戶密鑰ck1,再采用分散密鑰生成協(xié)議即:將用戶ai的標識、隨機數(shù)和時間戳三者結(jié)合,生成三者的結(jié)合體t,采用用戶密鑰ck1加密t生成簽名密鑰yk1,用簽名密鑰yk1加密摘要信息l1得到簽名碼l1′即:數(shù)字簽名,將用戶ai的標識、時間戳、隨機數(shù)、t、驗證碼l1和簽名碼l1′,一并發(fā)送給非接觸式智能卡讀卡器的認證中心,認證中心端的加密系統(tǒng),在認證中心設備的cpu芯片里,根據(jù)組合密鑰生成算法生成一組用戶密鑰ck2,采用分散密鑰生成協(xié)議,即:采用用戶密鑰ck2加密t生成簽名密鑰yk2,用簽名密鑰yk2將簽名碼l1′解密,得到非接觸式智能卡讀卡器的認證中心端驗證碼l2,若l1≠l2,則用戶ai的身份為假,若l1=l2,則用戶ai的身份可信,即:通過對比l1和l2是否相同?來判別用戶ai的身份是否可信,從而,實現(xiàn)用戶ai“可穿戴”設備或手機的離線認證,其中:i=1~n,n為全體用戶的總和;
當用戶ai進行離線支付時,用戶ai使用“可穿戴”設備或手機,在非接觸式智能卡讀卡器上進行刷卡支付后,“可穿戴”設備或手機端加密系統(tǒng),在“可穿戴”設備或手機里,產(chǎn)生一組時間戳,由非接觸式智能卡的cpu芯片產(chǎn)生一組隨機數(shù),在非接觸式智能卡的cpu芯片里,根據(jù)組合密鑰生成算法生成一組用戶密鑰ck1,再采用分散密鑰生成協(xié)議即:將用戶ai的標識、隨機數(shù)和時間戳三者結(jié)合,生成三者的結(jié)合體t,采用用戶密鑰ck1加密三者的結(jié)合體t生成簽名密鑰yk1,用摘要算法對該支付單進行摘要,得到支付單的摘要信息m1,用簽名密鑰yk1加密支付單和摘要信息m1,得到支付單的密文和支付單的摘要信息m1的密文即:數(shù)字簽名,將用戶ai的標識、時間戳、隨機數(shù)、t、支付單的密文和支付單的數(shù)字簽名,一并發(fā)送給非接觸式智能卡讀卡器的認證中心,認證中心端的加密系統(tǒng),在加密設備的cpu芯片里,根據(jù)組合密鑰生成算法,即:采用時間戳和隨機數(shù)對“密鑰種子”表的元素進行選取,將選出的元素合成一組用戶密鑰ck2,再采用分散密鑰生成協(xié)議即:采用用戶密鑰ck2加密t生成簽名密鑰yk2,用簽驗密鑰yk2將支付單的密文和支付單的數(shù)字簽名解密,得到支付單的明文和認證中心端支付單的摘要信息m2,若m1≠m2,則支付單為假,支付系統(tǒng)不可支付,若m1=m2,則支付單可信,支付系統(tǒng)根據(jù)支付單中的金額進行支付,并在每天固定的時間內(nèi)提交給結(jié)算中心進行結(jié)算,支付系統(tǒng)根據(jù)認證中心端對比m1和m2是否相同?來判別支付單是否可信,從而,實現(xiàn)用戶ai“可穿戴”設備或手機的離線支付,其中:i=1~n,n為全體用戶的總和,且用軟件和硬件結(jié)合方式實現(xiàn),具體方法如下:
1、在用戶的“可穿戴”設備或手機端嵌入帶cpu芯片的智能卡,如:在sim卡、sd卡、tf卡上嵌入cpu芯片,或在“可穿戴”設備或手機內(nèi)置cpu芯片,其中:帶cpu芯片的智能卡為非接觸式智能卡,在非接觸式智能卡的cpu芯片里建立客戶端的加密“組件”,即:建立客戶端加密系統(tǒng),并寫入用戶標識、單鑰密碼算法、摘要算法、組合密鑰生成算法、分散密鑰生成協(xié)議、“密鑰種子”表的元素、身份認證協(xié)議和支付協(xié)議;
其中:“可穿戴”設備指:智能手表、手環(huán)、配飾為主要形式。
2、在讀卡器里嵌入非接觸式智能卡,組成非接觸式智能卡讀卡器,并在非接觸式智能卡讀卡器端建立認證中心,認證中心加密設備采用加密卡或加密機硬件,在認證中心硬件的cpu芯片里,寫入單鑰密碼算法、摘要算法、組合密鑰生成算法、分散密鑰生成協(xié)議、身份認證協(xié)議、支付協(xié)議,以及一組“密鑰種子”表的元素;
3、用戶的標識和“可穿戴”設備或手機一一對應,設:全體用戶標識為:a1、a2、……、an,用戶的標識由數(shù)字、英文字母,或數(shù)字和英文字母結(jié)合組成,用戶標識的長度根據(jù)需要可以自定義,如:居民身份證號或手機號,用戶的標識兩兩不同,n為全體用戶的總和;
時間戳由年、月、日、時、分和秒,共14位數(shù)字組成,如:2017-07-28-19-01-55,可取部分時間戳,年、月、日和時,如:2017-07-28-19,若取時間戳為:14位數(shù)字組成,即:“年”由4位數(shù)字組成即:xxx0年~xxx9年,即:“年”取0~9,“月”由2位數(shù)字組成即:“月”取01~12,“日”由2位數(shù)字組成即:“日”取01~31,“時”由2位數(shù)字組成即:“時”取01~24,“分”由2位數(shù)字組成即:“分”取01~60,“秒”由2位數(shù)字組成即:“秒”取01~60,如:2017-07-28-19-01-55,表示2017年07月28日19點1分55秒;
隨機數(shù)由y=16,或32位,二進制數(shù)組成,當y=16時,每位隨機數(shù)為4比特二進制數(shù),即:每位隨機數(shù)占4比特,16位隨機數(shù)共占64比特,每位隨機數(shù)的二進制數(shù)據(jù)的數(shù)值為0~15,如:0011,1010,0000,......,1111,0110,則其二進制數(shù)據(jù)的數(shù)值為:3,10,0,......,15,6;
當y=32時,則每位隨機數(shù)占5比特,32位隨機數(shù)共占160比特,每位隨機數(shù)的二進制數(shù)的數(shù)值為:0~31,如:00110,10100,00000,......,11111,01100,則其二進制數(shù)據(jù)的數(shù)值為:6,20,0,......,31,12。
4、單鑰密碼算法使用sm1、sm4、rc4、rc5、3des、或aes算法,密鑰長度為128、210、或256比特,或者根據(jù)對稱密碼算法的密鑰長度要求,對密鑰長度進行定義;
摘要算法使用sm3算法、sha-2算法,摘要信息的長度為256比特。
5、“密鑰種子”由加密設備的cpu芯片里隨機數(shù)發(fā)生器,生成一組f2字節(jié)隨機數(shù),若取時間戳為:10位,即:年、月、日和時,則:取f2=1424或1680字節(jié),將f2字節(jié)的隨機數(shù)組成,一套w×y的“密鑰種子”表d,
其中:表d的元素為duv,u=0~w-1,v=0~y-1,duv占0.5字節(jié),或1字節(jié),w=89,或105,y=16,或32;
將表d的元素存放在“可穿戴”設備或手機端非接觸智能卡的cpu芯片里,用一組時間戳和隨機數(shù)組成的組合密鑰生成算法,對“密鑰種子”表d的元素進行選取,將選出的y個元素合成一組用戶密鑰k。
6、組合密鑰生成算法,是通過一組時間戳和隨機數(shù)組成的選取參數(shù),來對一組“密鑰種子”表的元素進行選取,用時間戳對“密鑰種子”表的“行”元素進行選取,選出y行y列的“密鑰種子”表的子表,再根據(jù)隨機數(shù),對y行y列的“密鑰種子”表的“列”元素進行選取,選出y個元素,并合成一組密鑰k,其中:y=16或32;
組合密鑰生成算法的具體實現(xiàn)方法如下:
以表d為例,說明組合密鑰生成算法的具體實現(xiàn)方法,當選擇表d元素為89行16列元素時,即:89×16=1424個元素,每個元素占1字節(jié),共占1424字節(jié),當選擇表d元素為105行32列元素時,即:105×32=3360個元素,每個元素占,0.5字節(jié),共占1680字節(jié);
(1)用時間戳的“年”對應表d中的第1~10行,共10行,“月”對應表d中的第11~22行,共12行,“日”對應表d中的第23~53行,共31行,“時”對應表d中的第54~77行,共24行,當選擇表d元素為89行16列元素時,表d還有12行元素不對應時間戳;當選擇表d元素為105行32列元素時,表d還有28行元素不對應時間戳;
根據(jù)時間戳從表d的元素中先選出4行,其方法是:從表d的第1~10行共10行中取1行即:用時間戳“年”數(shù)字中個位數(shù)的數(shù)值,作為取表d中“年”對應的行數(shù),如:時間戳為:2013xxxxxx,則:取表d中的第4行,從表d的第11~22行共12行中取1行即:用時間戳“月”數(shù)字的數(shù)值,作為取表d中“月”對應的“行”,如:時間戳為:20xx11xxxx,則:取表d中的第21行,從表d的第23~53行共31行中取1行即:用時間戳“日”數(shù)字的數(shù)值,作為取表d中“日”對應的“行”,如:時間戳為:20xxxx30xx,則:取表d中的第52行,從表d的第54~77行共24行中取1行即:用時間戳“時”數(shù)字的數(shù)值,作為取表d中“時”對應的“行”,如:時間戳為:20xxxxxx21,則:取表d中的第74行,再將表d的第78行~第w行共w-78+1行選出,共選出y行,其中:y=16或32行,組成:y×y表d的子表d1,
其中:表d1的元素為:dvv,v=0~y-1,dvv占0.5或1字節(jié),y=16或32;表d1中第5行~第y行的元素與表d的第78行~第w行的元素完全相同;
(2)設:隨機數(shù)為:q1,q2,......,qy,對應的數(shù)值分別為:l1,l2,......,ly,當y=16時,16位隨機數(shù)對應的數(shù)值為:0~15之間,用:l1,l2,......,l16,對表d1的列進行選取,即:用第1位隨機數(shù)q1的數(shù)值l1,來選取表d1第1行的第l1+1列的元素,用第2位隨機數(shù)q2的數(shù)值l2,來選取表d1第2行的第l2+1列的元素,......,用第16位隨機數(shù)q16的數(shù)值l16,來選取表d1第16行的第l16+1列的元素,共選出16個元素;
當y=32時,32位隨機數(shù)的數(shù)值為:0~31,用:l1,l2,......,l32,對表d1的列進行選取,即:用第1位隨機數(shù)q1的數(shù)值l1,來選取表d1第1行的第l1+1列的元素,用第2位隨機數(shù)q2的數(shù)值l2,來選取表d1第2行的第l2+1列的元素,......,用第32位隨機數(shù)q32的數(shù)值l32,來選取表d1第32行的第l32+1列的元素,共選出32個元素;
由于,國家規(guī)定單鑰密碼算法的密鑰長度為128比特,則從表d中選出的y組元素合并成一組密鑰,若表d的元素為:8比特,y=16,則從表d中選出的16組元素合并成的密鑰為128比特,若表d的元素為:4比特,y=32,則從表d中選出的32組元素合并成的密鑰也為128比特,設:由組合密鑰生成算法產(chǎn)生的用戶密鑰為ck。
8、組合密鑰生成算法,能產(chǎn)生一次一變的用戶密鑰ck,若時間戳取10位,即:年、月、日和時,“密鑰種子”表為89×16,隨機數(shù)取16位二進制數(shù),其中:每位隨機數(shù)占4比特,共16種變化,則密鑰的變化量為:264/小時;若時間戳取10位即:年、月、日和時,“密鑰種子”表為105×32,隨機數(shù)取32位二進制數(shù),其中:每位隨機數(shù)占5比特,共32種變化,則密鑰的變化量為:2160/小時。
9、分散密鑰生成協(xié)議,由組合密鑰生成算法產(chǎn)生密鑰用戶ck之后,再采用用戶密鑰ck來加密用戶標識、隨機數(shù)和時間戳三者結(jié)合體,生成三者結(jié)合體的密文,將三者結(jié)合體的密文作為:簽名密鑰yk;
設:用戶標識、隨機數(shù)和時間戳的三者結(jié)合體為t,用戶標識、隨機數(shù)和時間戳的三者首尾相連大于128比特,其中:用戶標識為8位~40位,占32比特~160比特,隨機數(shù)為16位或32位,占64比特或128比特,時間戳為8位、10位、12位或14位,分別占32比特、40比特、48比特或56比特,t的長度為128比特,與我國規(guī)定的單鑰密碼算法的密鑰長度相同;
用戶標識、隨機數(shù)和時間戳結(jié)合的方法較多,例如:
設:用戶標識為a、隨機數(shù)為b和時間戳為c,若分別取8位、16位和8位時,共占128比特,(8×4)+(16×4)+(8×4)=128,則將三者錯位模二加后,三者的結(jié)合體t的長度為128比特,亦即:三者首尾相連合成128比特,其中:a占32比特,設為:a1,a2,......,a32,b占64比特,設為:b1,b2,......,b64,c占32比特,設為:c1,c2,......,c32,a,b,c三者錯位模二加如下:
若用戶標識取18位身份證號碼,設為:a,占72比特,隨機數(shù)取16位,設為:b,占64比特,時間戳取:10位,設為:c,占40比特,
a占72比特,設為:a1,a2,......,a72,b占64比特,設為:b1,b2,......,b64,c占40比特,設為:c1,c2,......,c40,a,b,c三者錯位模二加如下:
其中:用戶標識的第1~64比特位的內(nèi)容:a1,a2,...,a64,為t的前64比特位的內(nèi)容,用戶標識的第65~72比特位的內(nèi)容:a65,......,a72,與隨機數(shù)的第1~8比特位的內(nèi)容:b1,......,b8,對位模二加的結(jié)果,為t的第65~72比特位的內(nèi)容,隨機數(shù)的第9~24比特位的內(nèi)容:b9,......,b24,為t的第73~88比特位的內(nèi)容,隨機數(shù)的第25~64比特位的內(nèi)容:b25,......,b64,與時間戳的第1~40比特位的內(nèi)容:c1,......,c40,對位模二加的結(jié)果,為t的第89~128比特位的內(nèi)容,即:t為:a1,a2,......a64,
或:
其中:用戶標識的第1~40比特位的內(nèi)容:a1,a2,...,a40,與時間戳的第1~40比特位的內(nèi)容:c1,......,c40,對位模二加的結(jié)果,為t的前40比特位的內(nèi)容,用戶標識的第41~64比特位的內(nèi)容:a41,......,a64,為t的41~64比特位的內(nèi)容,用戶標識的第65~72比特位的內(nèi)容:a65,......,a72,與隨機數(shù)的第1~8比特位的內(nèi)容:b1,......,b8,對位模二加的結(jié)果,為t的第65~72比特位的內(nèi)容,將隨機數(shù)的第9~64比特位的內(nèi)容:b9,......,b64,為t的第73~128比特位的內(nèi)容,即:t為:
10、離線認證協(xié)議,用戶ai使用“可穿戴”設備或手機,在非接觸式智能卡讀卡器上進行刷卡認證后,“可穿戴”設備或手機端加密系統(tǒng),在“可穿戴”設備或手機里產(chǎn)生一組時間戳,由非接觸式智能卡的cpu芯片產(chǎn)生一組隨機數(shù),在非接觸式智能卡的cpu芯片里,調(diào)用摘要算法對該組時間戳和隨機數(shù),進行摘要得到摘要信息l1即:驗證碼,根據(jù)組合密鑰生成算法,即:采用時間戳和隨機數(shù)對“密鑰種子”表的元素進行選取,將選出的元素合成一組用戶密鑰ck1,再采用分散密鑰生成協(xié)議即:將用戶ai的標識、隨機數(shù)和時間戳三者結(jié)合,生成三者的結(jié)合體t,采用用戶密鑰ck1加密三者的結(jié)合體t生成簽名密鑰yk1,用簽名密鑰yk1加密摘要信息l1得到簽名碼l1′即:數(shù)字簽名,將用戶ai的標識、時間戳、隨機數(shù)、t、驗證碼l1和簽名碼l1′,一并發(fā)送給非接觸式智能卡讀卡器的認證中心,認證中心端的加密系統(tǒng),在加密設備的cpu芯片里,根據(jù)組合密鑰生成算法,即:采用時間戳和隨機數(shù)對“密鑰種子”表的元素進行選取,將選出的元素合成一組用戶密鑰ck2,采用分散密鑰生成協(xié)議,即:采用用戶密鑰ck2加密t生成簽名密鑰yk2,用簽名密鑰yk2將簽名碼l1′解密,得到非接觸式智能卡讀卡器的認證中心端驗證碼l2,若l1≠l2,則用戶ai的身份為假,若l1=l2,則用戶ai的身份可信,其中:i=1~n,n為全體用戶的總和。
11、離線支付協(xié)議,用戶ai使用“可穿戴”設備或手機,在非接觸式智能卡讀卡器上進行刷卡支付后,“可穿戴”設備或手機端加密系統(tǒng),在“可穿戴”設備或手機里產(chǎn)生一組時間戳,由非接觸式智能卡的cpu芯片產(chǎn)生一組隨機數(shù),在非接觸式智能卡的cpu芯片里,根據(jù)組合密鑰生成算法,即:采用時間戳和隨機數(shù)對“密鑰種子”表的元素進行選取,將選出的元素合成一組用戶密鑰ck1,再采用分散密鑰生成協(xié)議即:將用戶ai的標識、隨機數(shù)和時間戳三者結(jié)合,生成三者的結(jié)合體t,采用用戶密鑰ck1加密三者的結(jié)合體t生成簽名密鑰yk1,用摘要算法對該支付單進行摘要,得到支付單的摘要信息m1,用簽名密鑰yk1加密支付單和摘要信息m1,得到支付單的密文和支付單的摘要信息m1的密文即:數(shù)字簽名,將用戶ai的標識、時間戳、隨機數(shù)、t、支付單的密文和支付單的數(shù)字簽名,一并發(fā)送給非接觸式智能卡讀卡器的認證中心,認證中心端的加密系統(tǒng),在加密設備的cpu芯片里,根據(jù)組合密鑰生成算法,即:采用時間戳和隨機數(shù)對“密鑰種子”表的元素進行選取,將選出的元素合成一組用戶密鑰ck2,再采用分散密鑰生成協(xié)議即:采用用戶密鑰ck2加密三者的結(jié)合體t生成簽名密鑰yk2,,用簽驗密鑰yk2將支付單的密文和支付單的數(shù)字簽名解密,得到支付單的明文和讀卡器的認證中心端支付單的摘要信息m2,若m1≠m2,則支付單為假,支付系統(tǒng)不可支付,若m1=m2,則支付單可信,支付系統(tǒng)根據(jù)支付單中的金額進行支付,并在每天固定的時間內(nèi)提交給結(jié)算中心進行結(jié)算,其中:i=1~n,n為全體用戶的總和。
12、由于組合密鑰生成算法產(chǎn)生的用戶密鑰ck,一次一次,而t為用戶標識、時間戳和隨機數(shù)三者的結(jié)合體,其中:時間戳和隨機數(shù),一次一變的,則用戶密鑰ck加密加密t的密文即:簽名密鑰yk,也一次一變,從而,提高離線認證和支付協(xié)議安全等級。
13、由組合密鑰生成算法實時產(chǎn)生用戶密鑰ck,再根據(jù)分散密鑰生成協(xié)議即:由用戶密鑰ck將用戶標識、時間戳和隨機數(shù)的三者結(jié)合體t加密成密文,將t的密文作為簽名密鑰yk,簽名密鑰yk由組合密鑰生成算法和分散密鑰生成協(xié)議,實時產(chǎn)生,客戶端加密系統(tǒng)與認證中心端加密系統(tǒng)之間的密鑰交換,是通過用戶標識、時間戳戳和隨機數(shù)實時交換來完成,從而,解決單鑰密碼算法密鑰管理的難題,建立基于單鑰密碼算法的離線認證和支付系統(tǒng),充分發(fā)揮單鑰密碼算法具有加/解密速度快,抗集團攻擊能力強的優(yōu)點,提高離線認證和支付協(xié)議的速度,提高離線認證或支付系統(tǒng)的安全等級。
14、全體用戶采用相同的“密鑰種子”表的元素,非接觸式智能卡讀卡器的認證中心端不需要建立密鑰數(shù)據(jù)庫,也不需要根據(jù)用戶“可穿戴”設備或手機的標識,對密鑰數(shù)據(jù)庫的“密鑰種子”表的元素進行檢索和定位,可大幅度提高非接觸式智能卡讀卡器端,認證中心離線認證和支付協(xié)議的效率。