專利名稱:非同步密鑰更新方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種非同步密鑰更新方法,詳而言之,涉及一種進(jìn)行信息交換的兩端的非同步密鑰更新方法。
背景技術(shù):
近年來,由于網(wǎng)絡(luò)相關(guān)應(yīng)用技術(shù)日新月異,國際網(wǎng)絡(luò)、公共和個(gè)人電子郵件系統(tǒng), 以及無線網(wǎng)絡(luò)通信技術(shù)的發(fā)展也日趨進(jìn)步,因此,對(duì)于網(wǎng)絡(luò)安全性的要求也越來越高,故如何保護(hù)傳輸?shù)臄?shù)據(jù)與信息愈發(fā)重要。一般而言,數(shù)據(jù)與信息的加密是目前適應(yīng)網(wǎng)絡(luò)安全的常用方法之一。而加密的技術(shù)與原理有多種,其中一種常見的加密協(xié)議是令通過網(wǎng)絡(luò)溝通的雙方以密鑰對(duì)信息加密后再進(jìn)行傳輸。通過此種加密協(xié)議,于加密信息的傳遞過程中,雙方需協(xié)議好共同的密鑰以對(duì)所傳遞的信息進(jìn)行力Π、解密,若雙方的密鑰不相同則無法相互拆解加密信息,導(dǎo)致雙方的信息不完整。由于前述的傳輸過程中,密鑰是固定的,即雙方以固定的密鑰傳遞信息,故相當(dāng)容易被破解,進(jìn)而失去保密的功效。為了提升網(wǎng)絡(luò)安全性,避免此種固定式密鑰成為網(wǎng)絡(luò)黑客攻擊的目標(biāo),現(xiàn)有通過定時(shí)或不定時(shí)的變更密鑰的方式來杜絕固定密鑰容易遭到破解的問題。然而,在密鑰更新的過程中,可能會(huì)由于雙方?jīng)]有同時(shí)相對(duì)應(yīng)的完成密鑰更新,即其中一方已更新了新的密鑰,而另一方卻仍使用舊的密鑰來加解密信息,從而導(dǎo)致更換密鑰之后的數(shù)據(jù)加、解密失敗,甚至因更新密鑰或驗(yàn)證密鑰是否正確更新的過程,而增加系統(tǒng)運(yùn)行成本及負(fù)載,同時(shí)降低了系統(tǒng)的穩(wěn)定性。因此,如何提供一種密鑰更新方法,使得網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)傳輸?shù)碾p方,可以確保在更新密鑰的情況下,維持雙方的傳輸?shù)臄?shù)據(jù)得以順利的進(jìn)行加、解密,確保通訊的雙方皆已更新密鑰,進(jìn)而在更新密鑰或驗(yàn)證密鑰是否正確更新的過程中降低系統(tǒng)運(yùn)行成本及負(fù)載, 同時(shí)能提高系統(tǒng)運(yùn)行的穩(wěn)定性,遂成為亟待解決的問題。
發(fā)明內(nèi)容
為解決前述現(xiàn)有技術(shù)的種種問題,本發(fā)明提供一種非同步密鑰更新方法,包括以下步驟1)、令數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端匯入第二密鑰并保存第一密鑰;2)、通過該主動(dòng)端通知數(shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端將該第二密鑰匯入,并令該被動(dòng)端將該第一密鑰更新為該第二密鑰;
3)、當(dāng)該被動(dòng)端傳送數(shù)據(jù)至該主動(dòng)端時(shí),令該主動(dòng)端先依據(jù)該第一密鑰對(duì)該數(shù)據(jù)進(jìn)行解密;
4)、于上述步驟幻解密失敗時(shí),令該主動(dòng)端以該第二密鑰對(duì)該數(shù)據(jù)進(jìn)行解密;以及幻、于上述步驟4)解密失敗時(shí),令該主動(dòng)端刪除該第一密鑰。本發(fā)明另提供一種非同步密鑰更新方法,包括以下步驟1)、令具有協(xié)議接口及第一密鑰的數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端匯入第二密鑰;2)、令該主動(dòng)端通知具有該第一密鑰的數(shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端匯入該第二密鑰,并將該第一密鑰更新為該第二密鑰;3)、于該協(xié)議接口未收到該被動(dòng)端已更新密鑰的通知時(shí),令該主動(dòng)端以該第一密鑰對(duì)該被動(dòng)端所傳輸?shù)臄?shù)據(jù)進(jìn)行解密;4)、于上述步驟幻解密失敗時(shí),令該主動(dòng)端以該第二密鑰對(duì)該被動(dòng)端所傳輸?shù)臄?shù)據(jù)進(jìn)行解密;以及5)、于上述步驟4)解密成功時(shí),令該主動(dòng)端刪除該第一密鑰。相較于現(xiàn)有技術(shù),本發(fā)明的非同步密鑰更新方法,通過數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端以第一 /第二密鑰依序?qū)碜詳?shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端所傳輸?shù)男畔⒔饷埽蛘哌€提供協(xié)議接口讓該被動(dòng)端通知該主動(dòng)端其本身已完成密鑰更新,故能提供一種于數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端與被動(dòng)端之間,以第一 /第二密鑰重復(fù)驗(yàn)證信息的方式,或者同時(shí)通過呼叫協(xié)議接口及重復(fù)驗(yàn)證信息的方式,來完成密鑰更新的技術(shù),并能降低負(fù)載及成本,進(jìn)而兼顧網(wǎng)絡(luò)安全性及通訊正確性。
圖1是本發(fā)明非同步密鑰更新方法的第一實(shí)施例的流程圖;以及圖2是本發(fā)明非同步密鑰更新方法的第二實(shí)施例的流程圖。主要元件符號(hào)說明S21 至 S29 步驟S301 至 S310 步驟
具體實(shí)施例方式以下通過特定的具體實(shí)施例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭示的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效,也可通過其他不同的具體實(shí)施例加以施行或應(yīng)用。第一實(shí)施例請(qǐng)參閱圖1,其為本發(fā)明非同步密鑰更新方法的第一實(shí)施例的流程圖。于本實(shí)施例中所述的數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端及被動(dòng)端皆具有第一密鑰,該第一密鑰指更換前的密鑰,于網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)傳輸?shù)闹鞅粍?dòng)兩端在未進(jìn)行密鑰更換之前,皆以第一密鑰對(duì)所欲傳輸?shù)臄?shù)據(jù)予以加、解密。而第二密鑰則是指第一密鑰更換后的密鑰,合先敘明。于步驟S21中,令主動(dòng)端匯入第二密鑰并保存第一密鑰,亦即,主動(dòng)端具有第一密鑰及該第二密鑰。接著進(jìn)入步驟S22。于步驟S22中,通過主動(dòng)端通知被動(dòng)端將第二密鑰匯入,并令被動(dòng)端將第一密鑰更新為第二密鑰,并令主動(dòng)端通知被動(dòng)端“之后與主動(dòng)端間的數(shù)據(jù)傳輸,需以第二密鑰進(jìn)行加、解密”。接著進(jìn)入步驟S23。于步驟S23中,當(dāng)被動(dòng)端傳送數(shù)據(jù)至主動(dòng)端時(shí),令主動(dòng)端先依據(jù)第一密鑰對(duì)該數(shù)據(jù)進(jìn)行解密。主要原因在于,此時(shí)主動(dòng)端無法確認(rèn)被動(dòng)端是否已將第一密鑰更新為第二密鑰,故對(duì)由被動(dòng)端所傳出的數(shù)據(jù)先以該第一密鑰來進(jìn)行解密,據(jù)以進(jìn)行被動(dòng)端密鑰更新是否成功的初步判斷。接著進(jìn)入步驟S24。于步驟S24中,令主動(dòng)端判斷是否能以第一密鑰對(duì)從被動(dòng)端所傳輸?shù)臄?shù)據(jù)予以成功解密,若是,則進(jìn)入步驟S25 ;若否,則進(jìn)入步驟S26。于步驟S25中,令主動(dòng)端保持通過第一密鑰與被動(dòng)端間進(jìn)行數(shù)據(jù)傳輸過程中的加、解密,而暫不以第二密鑰與被動(dòng)端間進(jìn)行數(shù)據(jù)傳輸過程中的加、解密。其主要原因在于步驟S23中,主動(dòng)端以第一密鑰對(duì)被動(dòng)端所傳送的數(shù)據(jù)予以成功解密,故表示被動(dòng)端尚未將第一密鑰成功地更新為第二密鑰,或無法成功地以第二密鑰進(jìn)行數(shù)據(jù)的加、解密。于其他實(shí)施例中,于步驟S25完成后,可選擇性地返回步驟S22,從而再次通知被動(dòng)端將第二密鑰匯入,并重復(fù)執(zhí)行前述的流程步驟。于步驟S26中,令主動(dòng)端針對(duì)先前以該第一密鑰進(jìn)行解密而失敗的數(shù)據(jù),以第二密鑰對(duì)被動(dòng)端所傳送的數(shù)據(jù)進(jìn)行解密。接著進(jìn)入步驟S27。于步驟S27中,令主動(dòng)端判斷是否能以第二密鑰對(duì)被動(dòng)端所傳輸?shù)臄?shù)據(jù)予以成功解密,若否,則進(jìn)入步驟S28 ;若是,則進(jìn)入步驟S29。于步驟S28中,令主動(dòng)端回復(fù)數(shù)據(jù)解碼錯(cuò)誤信息至被動(dòng)端。具體言之,由于先前主動(dòng)端無法通過第一密鑰對(duì)被動(dòng)端所傳送的數(shù)據(jù)予以解密,接著又無法以第二密鑰對(duì)被動(dòng)端所傳送的數(shù)據(jù)予以解密,故表示被動(dòng)端所傳輸?shù)男畔l(fā)生問題。于步驟S29中,令主動(dòng)端之后通過第二密鑰與被動(dòng)端間進(jìn)行傳輸數(shù)據(jù)的加、解密。 承前所述,由于主動(dòng)端能以第二密鑰對(duì)由被動(dòng)端所傳輸?shù)臄?shù)據(jù)予以成功地解密,表示被動(dòng)端已將第一密鑰正確的更新為第二密鑰。優(yōu)選地,于其他實(shí)施例中,主動(dòng)端還可選擇性地刪除或保留第一密鑰,亦即以第二密鑰取代第一密鑰,或同時(shí)保留第一密鑰與第二密鑰。更優(yōu)選地,于又一實(shí)施例中,于主動(dòng)端以第二密鑰對(duì)該被動(dòng)端所傳送的數(shù)據(jù)予以成功解密后,可選擇性地重復(fù)執(zhí)行前述步驟S23至S25,亦即重復(fù)地以第一密鑰及第二密鑰驗(yàn)證由被動(dòng)端所傳輸?shù)臄?shù)據(jù),從而確認(rèn)被動(dòng)端已確實(shí)將第一密鑰更換為第二密鑰,并待前述的重復(fù)驗(yàn)證完成后再進(jìn)入步驟S26。通過前述步驟S21至步驟S29的實(shí)施,可有效地確認(rèn)主動(dòng)端與被動(dòng)端成功地完成非同步密鑰更新。由第一實(shí)施例得以了解,數(shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端不需額外的通知數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端其本身是否已更新了密鑰,僅需在收到主動(dòng)端所傳輸?shù)母鼡Q密鑰的通知后,以新的密鑰與主動(dòng)端間進(jìn)行數(shù)據(jù)傳輸即可,因此,對(duì)于被動(dòng)端而言,沒有額外的負(fù)擔(dān)產(chǎn)生,且可確保進(jìn)行通訊的主被動(dòng)兩端皆已正確更新密鑰。第二實(shí)施例請(qǐng)參閱圖2,其為本發(fā)明非同步密鑰更新方法的第二實(shí)施例的流程圖。本實(shí)施例與第一實(shí)施例的流程步驟大致相同,其差異在于本實(shí)施例的數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端提供一協(xié)議接口,供數(shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端呼叫該協(xié)議接口以觸發(fā)主動(dòng)端刪除第一密鑰。須說明的是,該協(xié)議接口可例如一種供被動(dòng)端呼叫的應(yīng)用程序接口(application programming interface, API)或供被云力端登入的網(wǎng)站月艮務(wù)器(web server)。于步驟S301中,令主動(dòng)端匯入第二密鑰。接著進(jìn)入步驟S302。于步驟S302中,令主動(dòng)端通知被動(dòng)端匯入第二密鑰,并令被動(dòng)端將第一密鑰更新為第二密鑰。接著進(jìn)入步驟S303。于步驟S303,令主動(dòng)端判斷協(xié)議接口是否收到被動(dòng)端“已更新密鑰”的通知,若否, 則進(jìn)入步驟S304 ;若是,則進(jìn)入步驟S310。于步驟S304中,令主動(dòng)端以第一密鑰對(duì)被動(dòng)端所傳輸?shù)臄?shù)據(jù)進(jìn)行解密。接著進(jìn)入
5步驟S305。于步驟S305中,令主動(dòng)端判斷是否能以第一密鑰對(duì)從被動(dòng)端所傳輸?shù)臄?shù)據(jù)予以成功解密,若是,則進(jìn)入步驟S306 ;若否,則進(jìn)入步驟S307。于步驟S306中,令主動(dòng)端保持通過第一密鑰與被動(dòng)端間進(jìn)行數(shù)據(jù)傳輸過程中的加、解密,而暫不以第二密鑰與被動(dòng)端間進(jìn)行數(shù)據(jù)傳輸過程中的加、解密。于其他實(shí)施例中, 于步驟S306完成后,可選擇性地返回步驟S302,從而再次通知被動(dòng)端將第二密鑰匯入,并重復(fù)執(zhí)行前述的流程步驟。于步驟S307中,令主動(dòng)端針對(duì)先前以該第一密鑰進(jìn)行解密而失敗的數(shù)據(jù),以第二密鑰對(duì)被動(dòng)端所傳送的數(shù)據(jù)進(jìn)行解密。接著進(jìn)入步驟S308。于步驟S308中,令主動(dòng)端判斷是否能以第二密鑰對(duì)被動(dòng)端所傳輸?shù)臄?shù)據(jù)予以成功解密,若否,則進(jìn)入步驟S309 ;若是,則進(jìn)入步驟S310。于步驟S309中,令主動(dòng)端回復(fù)錯(cuò)誤信息至被動(dòng)端。具體言之,由于先前主動(dòng)端無法通過第一密鑰對(duì)被動(dòng)端所傳送的數(shù)據(jù)予以解密,接著又無法以第二密鑰對(duì)被動(dòng)端所傳送的數(shù)據(jù)予以解密,故表示被動(dòng)端所傳輸?shù)男畔l(fā)生問題。于步驟S310中,令主動(dòng)端之后通過第二密鑰與被動(dòng)端間進(jìn)行傳輸數(shù)據(jù)的加、解密。承前所述,由于主動(dòng)端能以第二密鑰對(duì)由被動(dòng)端所傳輸?shù)臄?shù)據(jù)予以成功地解密,表示被動(dòng)端已將第一密鑰正確的更新為第二密鑰。通過前述步驟S301至步驟S310的實(shí)施,可有效地確認(rèn)主動(dòng)端與被動(dòng)端成功地完成非同步密鑰更新。由第二實(shí)施例得以了解,由于主動(dòng)端還提供協(xié)議接口供被動(dòng)端呼叫,使得數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端與被動(dòng)端之間可同時(shí)通過呼叫協(xié)議接口的方式以及重復(fù)驗(yàn)證信息的方式,來完成密鑰的更新,如此可提供主動(dòng)端與被動(dòng)端密鑰更新的彈性。綜上所述,本發(fā)明所提供的非同步密鑰更新方法,通過數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端以新舊密鑰依序?qū)碜詳?shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端所傳輸?shù)男畔⑦M(jìn)行解密,或者還提供協(xié)議接口讓該被動(dòng)端通知該主動(dòng)端其本身已完成密鑰更新,使得當(dāng)被動(dòng)端通過協(xié)議接口回應(yīng)主動(dòng)端時(shí), 可主動(dòng)地完成密鑰更新;當(dāng)被動(dòng)端未通過該協(xié)議接口回應(yīng)主動(dòng)端時(shí),可通過持續(xù)以新舊密鑰對(duì)來自該被動(dòng)端的信息進(jìn)行解密,以完成密鑰更新。因此,無論是采用單一的由主動(dòng)端多次解密信息,或是合并被動(dòng)端呼叫協(xié)議接口的方式,皆可保持密鑰更新期間的通訊正確性, 并能并能降低密鑰更新的負(fù)載及成本,進(jìn)而兼顧網(wǎng)絡(luò)安全性。上述實(shí)施例僅例示性說明本發(fā)明的原理、特點(diǎn)及其功效,并非用以限制本發(fā)明的可實(shí)施范疇,本領(lǐng)域技術(shù)人員均可在不違背本發(fā)明的精神及范疇下,對(duì)上述實(shí)施例進(jìn)行修飾與改變。任何運(yùn)用本發(fā)明所揭示內(nèi)容而完成的等效改變及修飾,均仍應(yīng)為權(quán)利要求書所涵蓋。因此,本發(fā)明的權(quán)利保護(hù)范圍,應(yīng)如權(quán)利要求書所列。
權(quán)利要求
1.一種非同步密鑰更新方法,包括以下步驟1)令數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端匯入第二密鑰并保存第一密鑰;2)通過該主動(dòng)端通知數(shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端將該第二密鑰匯入,并令該被動(dòng)端將該第一密鑰更新為該第二密鑰;3)當(dāng)該被動(dòng)端傳送數(shù)據(jù)至該主動(dòng)端時(shí),令該主動(dòng)端先依據(jù)該第一密鑰對(duì)該數(shù)據(jù)進(jìn)行解密;4)于上述步驟幻解密失敗時(shí),令該主動(dòng)端以該第二密鑰對(duì)該數(shù)據(jù)進(jìn)行解密;以及5)于上述步驟4)解密成功時(shí),令該主動(dòng)端刪除該第一密鑰。
2.如權(quán)利要求1所述的非同步密鑰更新方法,其特征在于,于上述步驟3)解密成功時(shí), 令該主動(dòng)端保留該第一密鑰。
3.如權(quán)利要求2所述的非同步密鑰更新方法,其特征在于,于上述步驟3)解密成功且該主動(dòng)端保留該第一密鑰時(shí),返回步驟2)。
4.如權(quán)利要求1所述的非同步密鑰更新方法,其特征在于,于上述步驟4)解密失敗時(shí), 令該主動(dòng)端傳輸數(shù)據(jù)解碼錯(cuò)誤信息至該被動(dòng)端。
5.如權(quán)利要求1所述的非同步密鑰更新方法,還包括步驟6),令該主動(dòng)端重復(fù)以該第一密鑰及該第二密鑰對(duì)該被動(dòng)端所傳輸?shù)臄?shù)據(jù)進(jìn)行解密,并令該主動(dòng)端于通過該第二密鑰成功對(duì)該被動(dòng)端所傳輸?shù)臄?shù)據(jù)予以解密后,刪除該第一密鑰。
6.一種非同步密鑰更新方法,包括以下步驟1)令具有協(xié)議接口及第一密鑰的數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端匯入第二密鑰;2)令該主動(dòng)端通知具有該第一密鑰的數(shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端匯入該第二密鑰,并將該第一密鑰更新為該第二密鑰;3)于該協(xié)議接口未收到該被動(dòng)端已更新密鑰的通知時(shí),令該主動(dòng)端以該第一密鑰對(duì)該被動(dòng)端所傳輸?shù)臄?shù)據(jù)進(jìn)行解密;4)于上述步驟幻解密失敗時(shí),令該主動(dòng)端以該第二密鑰對(duì)該數(shù)據(jù)進(jìn)行解密;以及5)于上述步驟4)解密成功時(shí),令該主動(dòng)端刪除該第一密鑰。
7.如權(quán)利要求6所述的非同步密鑰更新方法,其特征在于,于上述步驟2)后,該協(xié)議接口收到該被動(dòng)端已更新密鑰的通知時(shí),刪除該第一密鑰。
8.如權(quán)利要求6所述的非同步密鑰更新方法,其特征在于,于上述步驟3)解密成功時(shí), 令該主動(dòng)端保留該第一密鑰,并返回步驟2)。
9.如權(quán)利要求6所述的非同步密鑰更新方法,其特征在于,于上述步驟4)解密失敗時(shí), 令該主動(dòng)端傳輸數(shù)據(jù)解碼錯(cuò)誤信息至該被動(dòng)端。
10.如權(quán)利要求6所述的非同步密鑰更新方法,還包括步驟6),令該主動(dòng)端重復(fù)以該第一密鑰及該第二密鑰對(duì)該被動(dòng)端所傳輸?shù)臄?shù)據(jù)進(jìn)行解密,并令該主動(dòng)端于通過該第二密鑰成功對(duì)該被動(dòng)端所傳輸?shù)臄?shù)據(jù)予以解密后,刪除該第一密鑰。
全文摘要
本發(fā)明提供一種非同步密鑰更新方法,令具有第一密鑰的數(shù)據(jù)傳輸網(wǎng)絡(luò)主動(dòng)端匯入第二密鑰,并令主動(dòng)端通知數(shù)據(jù)傳輸網(wǎng)絡(luò)被動(dòng)端將原先具有的第一密鑰更新為第二密鑰,再令主動(dòng)端先以第一密鑰對(duì)被動(dòng)端所傳輸?shù)臄?shù)據(jù)進(jìn)行解密,并于解密失敗時(shí),再以第二密鑰對(duì)該數(shù)據(jù)進(jìn)行解密,于解密成功時(shí),令主動(dòng)端保留第二密鑰并刪除第一密鑰。據(jù)此,可確保進(jìn)行數(shù)據(jù)傳輸?shù)闹鞅粍?dòng)兩方,以相同的密鑰對(duì)相互傳輸?shù)臄?shù)據(jù)進(jìn)行加、解密。
文檔編號(hào)H04L29/06GK102255723SQ201010180988
公開日2011年11月23日 申請(qǐng)日期2010年5月17日 優(yōu)先權(quán)日2010年5月17日
發(fā)明者吳志光 申請(qǐng)人:中華電信股份有限公司