本發(fā)明涉及合同簽約領(lǐng)域,尤其是一種多機(jī)構(gòu)可外包的電子合同簽署和管理方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,傳統(tǒng)的紙質(zhì)合同正在被電子合同所取代。但現(xiàn)有的電子合同簽署方法都是基于公鑰基礎(chǔ)設(shè)施/認(rèn)證中心(PKI/CA)模式。在PKI/CA模式中,用戶與公鑰之間通過一個(gè)公鑰證書來綁定。CA維護(hù)著一種動(dòng)態(tài)變化的證書庫(或叫證書目錄)。公鑰證書有效地解決了用戶公鑰的真實(shí)性和有效性問題。由于數(shù)字證書的頒發(fā)依賴于可信CA,公鑰證書庫的管理和維護(hù)成本較高。證書獲取和更新流程非常復(fù)雜,影響其使用的范圍。
在身份基密鑰體制中,用戶的公鑰為期身份信息(IP地址、Email、電話號(hào)碼)。一個(gè)中心機(jī)構(gòu)擁有一個(gè)主密鑰,并且可以利用該主密鑰為用戶產(chǎn)生私鑰。身份基密碼體制避免了PKI/CA模式中公鑰證書管理和驗(yàn)證問題。然而,身份基密碼體制中存在秘鑰托管問題,即中心機(jī)構(gòu)可以利用主密鑰產(chǎn)生某個(gè)用戶的私鑰,進(jìn)而冒充該用戶。為了降低對(duì)中心機(jī)構(gòu)的可信,多機(jī)構(gòu)的身份基密碼體制被提出。在多機(jī)構(gòu)的身份基加密系統(tǒng)中,多個(gè)機(jī)構(gòu)分別管理部分主密鑰,并且可以為用戶產(chǎn)生部分私鑰。因此,多機(jī)構(gòu)的身份基密碼體制有效地解決了秘鑰托管問題。
在公鑰密碼體制中,通信雙方可以直接通信而不需要提前共享密鑰,但加、解密速度較慢。在對(duì)稱加密系統(tǒng)中,通信雙方需要提前共享一個(gè)密鑰,但其加、解密速度較快。為了提高加密算法的效率,混合加密的概念被提出?;旌霞用芊桨赣擅荑€封裝機(jī)制和數(shù)據(jù)封裝機(jī)制組成,即KEM/DEM模型。在KEM/DEM模型中,數(shù)據(jù)利用對(duì)稱加密算法用會(huì)話秘鑰加密,而會(huì)話密鑰用公鑰加密算法加密。
本發(fā)明則正是利用多機(jī)構(gòu)的身份基密碼體制和混合加密技術(shù)而提出的一種多機(jī)構(gòu)可外包的電子合同簽署和管理方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)上述問題,提出種多機(jī)構(gòu)可外包的電子合同簽署和管理方法。
本發(fā)明的技術(shù)方案是:
一種多機(jī)構(gòu)可外包的電子合同簽署和管理方法,它采用簽約平臺(tái)、公證平臺(tái)和密鑰管理系統(tǒng),該方法包括以下步驟:
S1、秘鑰管理系統(tǒng)初始化的步驟:
S1-1、簽約平臺(tái)根據(jù)需要的安全等級(jí)輸入一種安全參數(shù)k,k為自然數(shù),利用密鑰產(chǎn)生算法KG1生成簽約平臺(tái)的主密鑰MSKS和公共參數(shù)paramsS,KG1(k)→(MSKS,paramsS);
S1-2、公證平臺(tái)根據(jù)需要的安全等級(jí)輸入一種安全參數(shù)k,k為自然數(shù),選擇偽隨機(jī)函數(shù)F,利用密鑰產(chǎn)生算法KG2生成公證平臺(tái)的主密鑰(MSKN,KN)和公共參數(shù)paramsN,KG2(k)→(MSKN,KN,paramsN);
S1-3、簽約平臺(tái)和公證平臺(tái)共享密鑰KSN;
S2、用戶注冊(cè)的步驟:
S2-1、用戶i向簽約平臺(tái)提交注冊(cè)信息
S2-2、簽約平臺(tái)利用密鑰產(chǎn)生算法KG3為各用戶i計(jì)算私鑰并通過秘密信道發(fā)送給各用戶,
S2-3、用戶i向公證處平臺(tái)提交注冊(cè)信息
S2-4、公證處平臺(tái)利用密鑰產(chǎn)生算法KG4為各用戶i計(jì)算私鑰為各用戶選擇隨機(jī)參數(shù)KNi,保存將私鑰和隨機(jī)參數(shù)通過秘密信道發(fā)送給各用戶,
S3、用戶發(fā)起簽約的步驟:
S3-1、用戶Alice向簽約平臺(tái)提交與Bob簽約請(qǐng)求;
S3-2、簽約平臺(tái)產(chǎn)生隨機(jī)串StrA,并將發(fā)送給Alice,其中,
S3-3、Alice將發(fā)送給公證平臺(tái);
S3-4、公證平臺(tái)計(jì)算會(huì)話密鑰KAB,進(jìn)行加密得到加密后的會(huì)話秘鑰CTNB,將(KAB,CTNB)發(fā)送給Alice;
KAB=F(KN,StrA,PIDB),
CTNB=Enc(KNB,KAB);
S3-5、Alice利用私鑰對(duì)文本M簽名,獲取簽名δA,分別加密文本M、簽名δA和會(huì)話密鑰KAB,Alice將密文發(fā)送給簽約平臺(tái),簽約平臺(tái)保存
其中,Enc為對(duì)稱加密算法,Enc′為非對(duì)稱加密算法;
S3-6、簽約平臺(tái)通知Bob下載部分密文參數(shù)
S3-7、Bob下載部分密文參數(shù)利用KNB解密CTNB得到KAB,依次解密和獲取文本M和簽名δA:
KAB=Dec(KNB,CTNB),
S3-8、Bob核對(duì)文本M及簽名δA,如果Bob同意在文本M簽名,則利用其私鑰對(duì)文本M簽名,獲取簽名δB,分別加密文本M、簽名δB和會(huì)話密鑰KAB,Bob將密文發(fā)送給簽約平臺(tái);
S3-9、簽約平臺(tái)將密文CTA和密文CTB相關(guān)聯(lián),保存,簽約完成;
其中,T為時(shí)戳。
本發(fā)明的步驟3-9之后還包括:
S3-10、簽約平臺(tái)通知Alice下載
S3-11、Alice下載利用會(huì)話密鑰KAB解密和得到文本和簽名
S3-12、Alice檢測(cè)文本M和簽名δB是否正確,如果正確,簽約完成。
本發(fā)明的步驟S2-1中,用戶i向簽約平臺(tái)提交注冊(cè)信息包含身份證號(hào)碼、手機(jī)號(hào)碼和email,用戶i向公證處平臺(tái)提交注冊(cè)信息包含手機(jī)號(hào)碼和email。
本發(fā)明的非對(duì)稱加密算法選取身份基加密算法。
本發(fā)明的中,還包括以下步驟:
S4、合約管理的步驟:
S4-1、如果Alice想查看合約的簽署情況,Alice將發(fā)送給簽約平臺(tái),簽約平臺(tái)將發(fā)送給Alice,Alice利用私鑰解密CT3AB得到然后利用KAB解密和得到和
S4-2、如果Bob想查看合約的簽署情況,Bob將發(fā)送給簽約平臺(tái),簽約平臺(tái)將發(fā)送給Bob,Bob利用私鑰解密得到然后利用KAB解密和得到和
本發(fā)明的步驟S3-2中,簽約平臺(tái)計(jì)算MAC碼h,并將發(fā)送給Alice;
對(duì)應(yīng)的,S3-3、Alice將發(fā)送給公證平臺(tái);
對(duì)應(yīng)的,S3-4中、公證平臺(tái)根據(jù)共享密鑰KSN和收到的計(jì)算MAC碼h′;
驗(yàn)證MAC碼h與h′是否一致,如果一致,則繼續(xù),如果不一致,則終止簽約。
本發(fā)明的有益效果:
本發(fā)明基于密鑰封裝技術(shù)而提出,相對(duì)于傳統(tǒng)的電子合同簽署方法,具有如下特點(diǎn):
1、系統(tǒng)部署不再依賴于PKI中的CA中心;
2、簽約各方自己才可以看到文本和簽名;
3、平臺(tái)不能冒充某個(gè)用戶向另一個(gè)用戶發(fā)起簽約請(qǐng)求;
4、不同的文本和簽名用不同的密鑰加密(一次一密),而簽約方自己只需要管理一個(gè)秘鑰,就可以查看自己簽署的所有被加密的文本和簽名系統(tǒng)穩(wěn)定性高,可靠性好。
具體實(shí)施方式
下面結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說明。
一種多機(jī)構(gòu)可外包的電子合同簽署和管理方法,它采用簽約平臺(tái)、公證平臺(tái)和密鑰管理系統(tǒng),該方法包括以下步驟:
S1、秘鑰管理系統(tǒng)初始化的步驟:
S1-1、簽約平臺(tái)根據(jù)需要的安全等級(jí)輸入一種安全參數(shù)k,k為自然數(shù),利用密鑰產(chǎn)生算法KG1生成簽約平臺(tái)的主密鑰MSKS和公共參數(shù)paramsS,KG1(k)→(MSKS,paramsS);
S1-2、公證平臺(tái)根據(jù)需要的安全等級(jí)輸入一種安全參數(shù)k,k為自然數(shù),選擇偽隨機(jī)函數(shù)F,利用密鑰產(chǎn)生算法KG2生成公證平臺(tái)的主密鑰(MSKN,KN)和公共參數(shù)paramsN,KG2(k)→(MSKN,KN,paramsN);
S1-3、簽約平臺(tái)和公證平臺(tái)共享密鑰KSN;
S2、用戶注冊(cè)的步驟:
S2-1、用戶i向簽約平臺(tái)提交注冊(cè)信息包含身份證號(hào)碼、手機(jī)號(hào)碼和emai l;
S2-2、簽約平臺(tái)利用密鑰產(chǎn)生算法KG3為各用戶i計(jì)算私鑰并通過秘密信道發(fā)送給各用戶,
S2-3、用戶i向公證處平臺(tái)提交注冊(cè)信息包含手機(jī)號(hào)碼和emai l;
S2-4、公證處平臺(tái)利用密鑰產(chǎn)生算法KG4為各用戶i計(jì)算私鑰為各用戶選擇隨機(jī)參數(shù)KNi,保存將私鑰和隨機(jī)參數(shù)通過秘密信道發(fā)送給各用戶,
S3、用戶發(fā)起簽約的步驟:
S3-1、用戶Alice向簽約平臺(tái)提交與Bob簽約請(qǐng)求;
S3-2、簽約平臺(tái)產(chǎn)生隨機(jī)串StrA,計(jì)算MAC碼h,并將發(fā)送給Alice,其中,
S3-3、Alice將發(fā)送給公證平臺(tái);
S3-4、公證平臺(tái)根據(jù)共享密鑰KSN和收到的計(jì)算MAC碼h′;
驗(yàn)證MAC碼h與h′是否一致,如果一致,則繼續(xù),如果不一致,則終止簽約;
公證平臺(tái)計(jì)算會(huì)話密鑰KAB,進(jìn)行加密得到加密后的會(huì)話秘鑰CTNB,將(KAB,CTNB)發(fā)送給Alice;
KAB=F(KN,StrA,PIDB),
CTNB=Enc(KNB,KAB);
S3-5、Alice利用私鑰對(duì)文本M簽名,獲取簽名δA,分別加密文本M、簽名δA和會(huì)話密鑰KAB,Alice將密文發(fā)送給簽約平臺(tái),簽約平臺(tái)保存
其中,Enc為對(duì)稱加密算法,Enc′為非對(duì)稱加密算法;非對(duì)稱加密算法選取身份基加密算法;
S3-6、簽約平臺(tái)通知Bob下載部分密文參數(shù)
S3-7、Bob下載部分密文參數(shù)利用KNB解密CTNB得到KAB,依次解密和獲取文本M和簽名δA:
KAB=Dec(KNB,CTNB),
S3-8、Bob核對(duì)文本M及簽名δA,如果Bob同意在文本M簽名,則利用其私鑰對(duì)文本M簽名,獲取簽名δB,分別加密文本M、簽名δB和會(huì)話密鑰KAB,Bob將密文發(fā)送給簽約平臺(tái);
S3-9、簽約平臺(tái)將密文CTA和密文CTB相關(guān)聯(lián),保存,簽約完成;
S3-10、簽約平臺(tái)通知Alice下載
S3-11、Alice下載利用會(huì)話密鑰KAB解密和得到文本和簽名
S3-12、Alice檢測(cè)文本M和簽名δB是否正確。如果正確,簽約完成;
S4、合約管理的步驟:
S4-1、如果Alice想查看合約的簽署情況,Alice將發(fā)送給簽約平臺(tái),簽約平臺(tái)將發(fā)送給Alice,Alice利用私鑰解密CT3AB得到然后利用KAB解密和得到和
S4-2、如果Bob想查看合約的簽署情況,Bob將發(fā)送給簽約平臺(tái),簽約平臺(tái)將發(fā)送給Bob。Bob利用私鑰解密得到然后利用KAB解密和得到和
本發(fā)明未涉及部分均與現(xiàn)有技術(shù)相同或可采用現(xiàn)有技術(shù)加以實(shí)現(xiàn)。