本發(fā)明涉及MD5值應(yīng)用領(lǐng)域,特別涉及一種采用MD5值驗(yàn)證合同文件是否被修改的方法。
背景技術(shù):
電子合同容易被篡改或者偽造,在出現(xiàn)合同糾紛時(shí),不能提供有力的證據(jù)來證明合同的真實(shí)性。在解決合同真實(shí)性的問題中,需要解決幾個(gè)問題:1)文件是否被篡改:對(duì)整個(gè)文件生成MD5值,一旦MD5值生成之后,文件發(fā)生過任何的修改,MD5值都將改變,通過此方法可以確定文件是否被篡改過。2)存儲(chǔ)的真實(shí)性:利用區(qū)塊鏈存儲(chǔ),因?yàn)閰^(qū)塊鏈的公開和不可篡改的特性,將信息存在區(qū)塊鏈中將會(huì)被永久保存,并且在現(xiàn)有的技術(shù)下,無法實(shí)現(xiàn)區(qū)塊鏈的篡改,所以可以確定一旦信息被存儲(chǔ)進(jìn)入?yún)^(qū)塊鏈,將不會(huì)被刪除和修改,真實(shí)性可以得到保障。3)如何確定雙方都承認(rèn)合同有效:使用密鑰簽名,經(jīng)過雙方確認(rèn)簽名和合同才生效;在有異議時(shí)可通過公鑰驗(yàn)證以確認(rèn)私鑰簽名的真實(shí)性。
電子文檔可信時(shí)間戳,由第三方時(shí)間戳服務(wù)中心為電子文件出具一個(gè)能證明電子文件內(nèi)容完整性和加蓋時(shí)間戳的時(shí)間的一個(gè)電子憑證。可信時(shí)間戳是由權(quán)威可信時(shí)間戳服務(wù)中心簽發(fā)的一個(gè)能證明數(shù)據(jù)電文(電子文件)在一個(gè)時(shí)間點(diǎn)是已經(jīng)存在的、完整的、可驗(yàn)證的,具備法律效力的電子憑證,可信時(shí)間戳主要用于電子文件防篡改和事后抵賴,確定電子文件產(chǎn)生的準(zhǔn)確時(shí)間?,F(xiàn)有的技術(shù)需要通過可信的時(shí)間戳服務(wù)機(jī)構(gòu)來完成,便捷性有所欠缺,并且由于是第三方機(jī)構(gòu)提供的服務(wù),在安全性方面存在一定的隱患。
相關(guān)術(shù)語
區(qū)塊鏈:分布式去中心化的數(shù)據(jù)庫,具有不可更改和刪除的特點(diǎn)。
簽名密鑰:一對(duì)密鑰,分為私鑰和公鑰,用于簽名和驗(yàn)證,用戶使用私鑰簽名,公鑰驗(yàn)證,即用私鑰簽名后,可用公鑰來驗(yàn)證這個(gè)簽名是否是此私鑰所簽。
簽名:通過私鑰簽名的一種身份標(biāo)識(shí)。
文件MD5值:通過對(duì)文件進(jìn)行加密算法得出文件的MD5值,這個(gè)值在文件作出任何修改后都會(huì)發(fā)生改變。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種采用MD5值驗(yàn)證合同(或合約)文件是否被修改的方法,在電子合同簽訂后,如果有某一方出現(xiàn)違約且不愿意承認(rèn)的情況,此方法可證明電子合同的有效性。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:
一種采用MD5值驗(yàn)證合同文件是否被修改的方法,包括以下步驟:
步驟1:生成合同文件的MD5值;
步驟2:由甲方用私鑰簽名確認(rèn),再經(jīng)乙方確認(rèn)無誤后用私鑰簽名確認(rèn);
步驟3:將合同文件的MD5值以及簽名信息整合為一條完整的信息,并存儲(chǔ)到區(qū)塊鏈中,保存區(qū)塊鏈中返回的記錄ID;
步驟4:查詢出區(qū)塊鏈中的對(duì)應(yīng)記錄,獲得MD5值及簽名信息;
步驟5:甲方進(jìn)行公鑰驗(yàn)證簽名,若驗(yàn)證不通過,合同無效;或者乙方進(jìn)行公鑰驗(yàn)證簽名,若驗(yàn)證不通過,合同無效;
步驟6:若甲乙雙方驗(yàn)證都通過,則將合同文件再次生成MD5值,并與區(qū)塊鏈中存儲(chǔ)的MD5值進(jìn)行對(duì)比,若對(duì)比相等,合同有效,若驗(yàn)證不相等,合同無效。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:采用本發(fā)明方法,在電子合同簽訂后,如果有某一方出現(xiàn)違約且不愿意承認(rèn)的情況,此方法可證明電子合同的有效性。
附圖說明
圖1是本發(fā)明一種采用MD5值驗(yàn)證合同文件是否被修改的方法之簽訂過程。
圖2是本發(fā)明一種采用MD5值驗(yàn)證合同文件是否被修改的方法之驗(yàn)證過程。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。本發(fā)明主要包括合同簽訂及存儲(chǔ):在數(shù)字合同簽訂過程中,簽約雙方確定合同內(nèi)容并寫入文件,然后將文件生成MD5值,先由甲方用私鑰簽名確認(rèn),再經(jīng)乙方確認(rèn)無誤后用私鑰簽名確認(rèn),此時(shí)將經(jīng)雙方簽名的一個(gè)文件MD5值存入?yún)^(qū)塊鏈永久保存,合同文件則需要在專門的文件服務(wù)器上做保存。合同驗(yàn)證:當(dāng)雙方需要對(duì)合同的真實(shí)性進(jìn)行驗(yàn)證時(shí),只需要將存入?yún)^(qū)塊鏈的記錄查出來,雙方用公鑰進(jìn)行簽名驗(yàn)證,并將合同文件再次生成MD5值,與區(qū)塊鏈中寸的MD5值進(jìn)行對(duì)比,如果簽名驗(yàn)證通過并且兩個(gè)MD5值相等,則說明合同文件真實(shí)沒有發(fā)生任何修改作假,且經(jīng)過雙方確認(rèn)。
詳述如下,包括以下步驟:
步驟1:生成合同文件的MD5值;
步驟2:由甲方用私鑰簽名確認(rèn),再經(jīng)乙方確認(rèn)無誤后用私鑰簽名確認(rèn);
步驟3:將合同文件的MD5值以及簽名信息整合為一條完整的信息,并存儲(chǔ)到區(qū)塊鏈中,保存區(qū)塊鏈中返回的記錄ID;
步驟4:查詢出區(qū)塊鏈中的對(duì)應(yīng)記錄,獲得MD5值及簽名信息;
步驟5:甲方進(jìn)行公鑰驗(yàn)證簽名,若驗(yàn)證不通過,合同無效;或者乙方進(jìn)行公鑰驗(yàn)證簽名,若驗(yàn)證不通過,合同無效;
步驟6:若甲乙雙方驗(yàn)證都通過,則將合同文件再次生成MD5值,并與區(qū)塊鏈中存儲(chǔ)的MD5值進(jìn)行對(duì)比,若對(duì)比相等,合同有效,若驗(yàn)證不相等,合同無效。
本發(fā)明中,電子合同簽訂后,如果有某一方出現(xiàn)違約且不愿意承認(rèn)的情況,此方法可證明電子合同的有效性。例如,甲乙雙方簽訂了網(wǎng)上借款的合同,簽訂合同的時(shí)候通過簽名保存了文件MD5值到區(qū)塊鏈,然后乙方不愿承認(rèn)自己簽訂了合同拒絕還款,此時(shí)只需到區(qū)塊鏈中查出存儲(chǔ)的MD5值,進(jìn)行簽名和MD5值的驗(yàn)證,如果驗(yàn)證通過,則說明甲乙雙方確實(shí)簽訂了合同。