TWI783265B - 基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法 - Google Patents
基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法 Download PDFInfo
- Publication number
- TWI783265B TWI783265B TW109131074A TW109131074A TWI783265B TW I783265 B TWI783265 B TW I783265B TW 109131074 A TW109131074 A TW 109131074A TW 109131074 A TW109131074 A TW 109131074A TW I783265 B TWI783265 B TW I783265B
- Authority
- TW
- Taiwan
- Prior art keywords
- hash value
- host
- end host
- key
- trusted
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一種基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法,透過使用者端主機或可信任端主機將原始訊息進行雜湊以產生雜湊值,並且使用金鑰對雜湊值進行加密,或再以另一金鑰對原始訊息進行加密,以便將加密的結果寫入區塊鏈,提供使用者端主機、可信任端主機及非可信任端主機在無需得知原始訊息的前提下,驗證原始訊息的有效性及跨網站提供授權,用以達到提高個資的保密性及驗證便利性之技術功效。
Description
本發明涉及一種加密與驗證系統及其方法,特別是基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法。
近年來,隨著網際網路的普及與蓬勃發展,各種相關應用便如雨後春筍般湧現,而為了提供更完善的服務,往往需要確認網路使用者的身分有效性。因此,如何確認使用者的身分有效性便成為各家廠商亟欲解決的問題之一。
一般而言,在網路上要確認使用者的身分時,最常見的方式便是透過使用者輸入的帳號及密碼來進行驗證及確認,當帳號及其相應的密碼通過驗證後,代表確認使用者的身分並授權使用其服務。然而,此方式難以驗證使用者身分的真實性,因為使用者基於隱私的考量,不見得會如實填寫個資(即:個人資料或稱之為個人資訊),系統也不見得會強制要求使用者提供個資。因此,傳統的驗證方式難以適用於需要實名制的相關應用或服務,例如:銀行或公家機關的線上申辦服務。另一方面,假設欲實名使用不同系統所提供的應用或服務,傳統的方式需要分別在各系統留下個資並經過驗證,這對於使用者而言,不但操作繁瑣不便,同時還大幅增加個資外洩的機率,進而導致使用者的使用意願低落,故具有個資的保密性及驗證便利性不佳之問題。
有鑑於此,便有廠商提出跨網站單一登入(Single Sign On, SSO)的技術手段,其透過在單一網站成功登入後,將必要的登入資訊儲存至文件檔,如:「Cookie」,之後不需要再次輸入帳號及密碼,即可根據同一文件檔的資料直接登入另一網站。不過,以此方式仍然無法避免文件檔因儲存裝置故障而損毀,或遭到入侵而被竊取、竄改或刪除等情況。因此,仍然無法有效解決個資的保密性及驗證便利性不佳之問題。
綜上所述,可知先前技術中長期以來一直存在個資的保密性及驗證便利性不佳之問題,因此實有必要提出改進的技術手段,來解決此一問題。
本發明揭露一種基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法。
首先,本發明揭露一種基於區塊鏈的資料加密登錄與多方授權驗證系統,此系統包含:使用者端主機、非可信任端主機及可信任端主機。其中,使用者端主機用以對原始訊息進行雜湊計算以產生相應的第一雜湊值,並且對此原始訊息進行加密以產生加密訊息,以及對第一雜湊值進行加密以產生加密雜湊值,再將加密訊息及加密雜湊值寫入區塊鏈。接著,在非可信任端主機的部分,其通過區塊鏈網路與使用者端主機相互連接,所述非可信任端主機包含:第一傳輸模組及第一驗證模組。其中,第一傳輸模組用以在非可信任端主機欲確認原始訊息是否被持有時,傳送第一驗證請求及接收第二雜湊值,以及在接收到第二驗證請求時,傳送第三雜湊值;第一驗證模組連接第一傳輸模組,用以在接收到第二驗證請求時,自區塊鏈獲得加密雜湊值並進行解密以獲得第一雜湊值,並且在獲得的第一雜湊值與接收到的第二雜湊值相同時,輸出持有訊息。至於可信任端主機則透過區塊鏈網路與使用者端主機及非可信任端主機相互連接,所述可信任端主機包含:第二傳輸模組及第二驗證模組。其中,第二傳輸模組用以在可信任端主機欲確認非可信任端主機是否持有第三雜湊值時,傳送第二驗證請求至非可信任端主機,並且自非可信任端主機接收第三雜湊值,以及在接收到第一驗證請求且第二雜湊值產生後,將第二雜湊值傳送至非可信任端主機;第二驗證模組連接第二傳輸模組,用以在接收到第一驗證請求或第三雜湊值時,自區塊鏈獲得加密訊息並進行解密以獲得原始訊息,並且將獲得的原始訊息進行雜湊計算以產生第二雜湊值,當接收到第三雜湊值且第二雜湊值產生後,在產生的第二雜湊值與接收到的第三雜湊值相同時,輸出持有訊息。其中,非可信任端主機及可信任端主機在初始時將各自的金鑰傳送至使用者端主機,並且使用者端主機透過可信任端主機的金鑰對原始訊息進行加密,以及透過非可信任端主機的金鑰對第一雜湊值進行加密。
接著,本發明還揭露一種基於區塊鏈的資料加密登錄與多方授權驗證系統,此系統包含:可信任端主機、非可信任端主機及使用者端主機。其中,可信任端主機用以儲存原始訊息,並且對自身的原始訊息進行雜湊計算以產生相應的第一雜湊值,以及對第一雜湊值進行加密以產生加密雜湊值,並且將加密雜湊值寫入區塊鏈;非可信任端主機通過區塊鏈網路與可信任端主機相互連接,所述非可信任端主機包含:第一傳輸模組及第一驗證模組。其中,第一傳輸模組用以在非可信任端主機欲確認原始訊息是否被持有時,傳送第一驗證請求及接收第二雜湊值,以及在接收到第二驗證請求時,傳送第三雜湊值;第一驗證模組連接第一傳輸模組,用以在接收到第二雜湊值時,自區塊鏈獲得加密雜湊值並進行解密以獲得第一雜湊值,並且在獲得的第一雜湊值與接收到的第二雜湊值相同時,輸出持有訊息;使用者端主機透過區塊鏈網路與可信任端主機及非可信任端主機相互連接,並且具有原始訊息,使用者端主機包含:第二傳輸模組及第二驗證模組。其中,第二傳輸模組用以接收第一驗證請求,以及在使用者端主機欲確認非可信任端主機是否持有第三雜湊值時,傳送第二驗證請求至非可信任端主機,並且自非可信任端主機接收第三雜湊值;第二驗證模組連接第二傳輸模組,用以在接收到第一驗證請求或第三雜湊值時,對自身的原始訊息進行雜湊計算以產生相應的第二雜湊值,其中,當接收到第一驗證請求時,透過第二傳輸模組將產生的第二雜湊值傳送至非可信任端主機,當接收到第三雜湊值且與產生的第二雜湊值相同時,輸出持有訊息。其中,非可信任端主機在初始時將自身的金鑰傳送至可信任端主機,並且可信任端主機透過非可信任端主機的金鑰對第一雜湊值進行加密。
另外,本發明揭露一種基於區塊鏈的資料加密登錄與多方授權驗證方法,應用在具有使用者端主機、非可信任端主機及可信任端主機的區塊鏈網路環境,其步驟包括:非可信任端主機及可信任端主機將各自的金鑰傳送至使用者端主機;使用者端主機對原始訊息進行雜湊計算以產生相應的第一雜湊值,並且透過可信任端主機的金鑰對原始訊息進行加密以產生加密訊息,以及透過非可信任端主機的金鑰對第一雜湊值進行加密以產生加密雜湊值,並且將加密訊息及加密雜湊值寫入區塊鏈,用以允許可信任端主機自區塊鏈獲得加密訊息並進行解密以獲得原始訊息,以及允許非可信任端主機自區塊鏈獲得加密雜湊值並進行解密以獲得第一雜湊值;當非可信任端主機欲確認可信任端主機是否持有原始訊息時,非可信任端主機傳送第一驗證請求至可信任端主機,使可信任端主機自區塊鏈獲得原始訊息以雜湊計算出第二雜湊值,以及將第二雜湊值傳送至非可信任端主機,當非可信任端主機自區塊鏈獲得的第一雜湊值與接收自可信任端主機的第二雜湊值相同時,輸出持有訊息;以及當可信任端主機欲確認非可信任端是否持有第三雜湊值時,可信任端主機傳送第二驗證請求至非可信任端主機,使非可信任端主機傳送第三雜湊值至可信任端主機,並且由可信任端主機自區塊鏈獲得原始訊息以雜湊計算出第二雜湊值,當可信任端主機計算出的第二雜湊值與接收自非可信任端主機的第三雜湊值相同時,輸出持有訊息。
接著,本發明還揭露一種基於區塊鏈的資料加密登錄與多方授權驗證方法,應用在具有使用者端主機、非可信任端主機及可信任端主機的區塊鏈網路環境,其步驟包括:非可信任端主機將自身的金鑰傳送至可信任端主機,以及使用者端主機及可信任端主機共享相同的原始訊息;可信任端主機對自身的原始訊息進行雜湊計算以產生相應的第一雜湊值,以及透過非可信任端主機的金鑰對第一雜湊值進行加密以產生加密雜湊值,並且將加密雜湊值寫入區塊鏈,用以允許非可信任端主機自區塊鏈獲得加密雜湊值並進行解密以獲得第一雜湊值;當非可信任端主機欲確認使用者端主機是否持有原始訊息時,非可信任端主機傳送第一驗證請求至使用者端主機,使所述使用者端主機對自身的原始訊息進行雜湊計算以產生相應的第二雜湊值,以及將第二雜湊值傳送至非可信任端主機,當非可信任端主機獲得的第一雜湊值與接收自使用者端主機的第二雜湊值相同時,輸出持有訊息;以及當使用者端主機欲確認非可信任端主機是否持有第三雜湊值時,使用者端主機傳送第二驗證請求至非可信任端主機,使非可信任端主機傳送第三雜湊值至使用者端主機,並且由使用者端主機對自身的原始訊息進行雜湊計算以產生相應的第二雜湊值,當使用者端主機計算出的第二雜湊值與接收自非可信任端主機的第三雜湊值相同時,輸出持有訊息。
本發明所揭露之系統與方法如上,與先前技術的差異在於本發明是透過使用者端主機或可信任端主機將原始訊息進行雜湊以產生雜湊值,並且使用金鑰對雜湊值進行加密,或再以另一金鑰對原始訊息進行加密,以便將加密的結果寫入區塊鏈,提供使用者端主機、可信任端主機及非可信任端主機在無需得知原始訊息的前提下,驗證原始訊息的有效性及跨網站提供授權。
透過上述的技術手段,本發明可以達成提高個資的保密性及驗證便利性之技術功效。
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
首先,在說明本發明所揭露之基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法之前,先對本發明所自行定義的名詞作說明,本發明所述的使用者端主機是指原始訊息(如:個人資訊、印鑑資料等等)的提供方,所述原始訊息可為機敏資訊,只願意讓可信任端主機得知;所述可信任端主機是指被信任的實體,可以檢視原始訊息的內容,以及檢驗非可信任端主機的使用者授權;所述非可信任端主機是指沒有得到信任的實體,但是有確認使用者提供訊息的有效性之需求,可透過可信任端主機來檢驗其有效性,稍後將搭配圖式對使用者端主機、可信任端主機及非可信任端主機做進一步說明。另外,可信任端主機及非可信任端主機的數量不限制只有各一個,在實際實施上,可以多對多或由使用者決定數量。
以下配合圖式對本發明基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法做進一步說明,請先參閱「第1圖」,「第1圖」為本發明基於區塊鏈的資料加密登錄與多方授權驗證系統的第一實施方式之系統方塊圖,此系統包含:使用者端主機110、非可信任端主機120及可信任端主機130。其中,使用者端主機110用以對原始訊息進行雜湊計算以產生相應的第一雜湊值,並且對原始訊息進行加密以產生加密訊息,以及對第一雜湊值進行加密以產生加密雜湊值,再將加密訊息及加密雜湊值寫入區塊鏈。在實際實施上,使用者端主機110、非可信任端主機120及可信任端主機130可直接或間接為區塊鏈網路100的節點,以便存取在區塊鏈的資料。另外,將加密訊息及加密雜湊值寫入區塊鏈的方式可以透過執行同一筆區塊鏈交易,也可以是單獨的兩筆區塊鏈交易,或是寫在同一個智慧合約(Smart Contract)內,使用者端主機110會將儲存在區塊鏈的方式及相關資訊(如:交易雜湊值、智慧合約地址等等)告知可信任端主機130及非可信任端主機120。實際上,所述智慧合約是指依據既定的條件及傳輸的資訊來驅動執行指令的電腦程式,具體而言,所述智慧合約係透過程式語言,例如:Solidity、Serpent、LLL、EtherScript、Sidechain等等來撰寫,其可包含各種不同的函式(Function)、事件(Event)、參數狀態等等,以「Ethereum」為例,其智慧合約是經編譯後得到二進位編碼及應用二進位介面(Application Binary Interface, ABI),以便將智慧合約廣播至區塊鏈網路,等候礦工(Miner)或驗證者(Validator)將智慧合約放上區塊鏈並得到相應的地址(或稱為合約地址、智慧合約地址)。
非可信任端主機120通過區塊鏈網路100與使用者端主機110相互連接,所述非可信任端主機120包含:第一傳輸模組121及第一驗證模組122。其中,第一傳輸模組121用以在非可信任端主機120欲確認原始訊息是否被持有時,傳送第一驗證請求及接收第二雜湊值,以及在接收到第二驗證請求時,傳送第三雜湊值。所述第一驗證請求與第二驗證請求的差異在於前者是非可信任端主機120欲確認可信任端主機130是否持有原始訊息時,傳送至可信任端主機130,而後者則是由可信任端主機130傳送至非可信任端主機120要求其提供第三雜湊值以進行驗證。另外,前述第一雜湊值與此處提及的第二雜湊值及第三雜湊值的差異在於第一雜湊值與第二雜湊值皆是對原始訊息進行雜湊計算所產生,差別僅在於由不同的主機所產生,至於第三雜湊值則是直接由非可信任端主機120在接收到第二驗證請求時提供,並未執行雜湊計算。
第一驗證模組122連接第一傳輸模組121,用以在接收到第二驗證請求時,自區塊鏈獲得加密雜湊值並進行解密以獲得第一雜湊值,並且在獲得的第一雜湊值與接收到的第二雜湊值相同時,輸出持有訊息。在實際實施上,假設加密雜湊值是以非對稱式金鑰的公開金鑰加密,那麼在進行解密時則需以相對應的私密金鑰進行解密,假設是以對稱式金鑰進行加密,則可以相同的金鑰或可相互推算的另一金鑰進行解密。另外,假設第一雜湊值與第二雜湊值不同,則可輸出未持有訊息。
接下來,在可信任端主機130的部分,其透過區塊鏈網路100與使用者端主機110及非可信任端主機120相互連接,所述可信任端主機130包含:第二傳輸模組131及第二驗證模組132。其中,第二傳輸模組131用以在可信任端主機130欲確認非可信任端主機120是否持有第三雜湊值時,傳送第二驗證請求至非可信任端主機120,並且自非可信任端主機120接收第三雜湊值,以及在接收到第一驗證請求且第二雜湊值產生後,將第二雜湊值傳送至非可信任端主機120。
第二驗證模組132連接第二傳輸模組131,用以在接收到第一驗證請求或第三雜湊值時,自區塊鏈獲得加密訊息並進行解密以獲得原始訊息,並且將獲得的原始訊息進行雜湊計算以產生第二雜湊值,假設接收到的是第一驗證請求,那麼產生的第二雜湊值將如前所述傳送至非可信任端主機120;假設接收到的是第三雜湊值,那麼產生的第二雜湊值將與接收到的第三雜湊值進行比對,並且在比對結果為相同時,輸出持有訊息。在實際實施上,第一驗證請求可包含區塊鏈地址或智慧合約地址,以便自區塊鏈載入相應的加密訊息。
要補充說明的是,非可信任端主機120及可信任端主機130在初始時將各自的金鑰傳送至使用者端主機110,並且使用者端主機110透過可信任端主機130的金鑰對原始訊息進行加密,以及透過非可信任端主機120的金鑰對第一雜湊值進行加密。所述金鑰可為非對稱式金鑰的公開金鑰,使用可信任端主機130的公開金鑰用以加密原始訊息,以及使用非可信任端主機120的公開金鑰用以加密第一雜湊值,並且允許以相應公開金鑰的私密金鑰進行解密。除此之外,所述金鑰也可為對稱式金鑰,允許以相同的金鑰進行加密及解密,或是允許可相互推算的加密金鑰及解密金鑰分別進行加密及解密,並且可信任端主機130僅允許與使用者端主機110共享金鑰,非可信任端主機120僅允許與使用者端主機110共享金鑰。
請參閱「第2A圖」及「第2B圖」,「第2A圖」及「第2B圖」為本發明基於區塊鏈的資料加密登錄與多方授權驗證方法的第一實施方式之方法流程圖,應用在具有使用者端主機110、非可信任端主機120及可信任端主機130的區塊鏈網路環境,其步驟包括:非可信任端主機120及可信任端主機130將各自的金鑰傳送至使用者端主機110(步驟210);使用者端主機110對原始訊息進行雜湊計算以產生相應的第一雜湊值,並且透過可信任端主機130的金鑰對原始訊息進行加密以產生加密訊息,以及透過非可信任端主機120的金鑰對第一雜湊值進行加密以產生加密雜湊值,並且將加密訊息及加密雜湊值寫入區塊鏈,用以允許可信任端主機130自區塊鏈獲得加密訊息並進行解密以獲得原始訊息,以及允許非可信任端主機120自區塊鏈獲得加密雜湊值並進行解密以獲得第一雜湊值(步驟220);當非可信任端主機120欲確認可信任端主機130是否持有原始訊息時,非可信任端主機120傳送第一驗證請求至可信任端主機130,使可信任端主機130自區塊鏈獲得原始訊息以雜湊計算出第二雜湊值,以及將第二雜湊值傳送至非可信任端主機120,當非可信任端主機120自區塊鏈獲得的第一雜湊值與接收自可信任端主機130的第二雜湊值相同時,輸出持有訊息(步驟230);當可信任端主機130欲確認非可信任端主機120是否持有第三雜湊值時,可信任端主機130傳送第二驗證請求至非可信任端主機120,使非可信任端主機120傳送第三雜湊值至可信任端主機130,並且由可信任端主機130自區塊鏈獲得原始訊息以雜湊計算出第二雜湊值,當可信任端主機130計算出的第二雜湊值與接收自非可信任端主機120的第三雜湊值相同時,輸出持有訊息(步驟240)。透過上述步驟,即可透過使用者端主機110將原始訊息進行雜湊以產生雜湊值,並且使用非可信任端主機120的金鑰對雜湊值進行加密,再以可信任端主機130的金鑰對原始訊息進行加密,以便將加密的結果寫入區塊鏈,提供使用者端主機110、可信任端主機130及非可信任端主機120在無需得知原始訊息的前提下,驗證原始訊息的有效性及跨網站提供授權。
請參閱「第3圖」,「第3圖」為本發明基於區塊鏈的資料加密登錄與多方授權驗證系統的第二實施方式之系統方塊圖,此系統包含:可信任端主機310、非可信任端主機320及使用者端主機330。其中,可信任端主機310用以儲存原始訊息,並且對自身的原始訊息進行雜湊計算以產生相應的第一雜湊值,以及對第一雜湊值進行加密以產生加密雜湊值,並且將加密雜湊值寫入區塊鏈。相較於第一實施方式,第二實施方式僅將加密雜湊值寫入區塊鏈。
非可信任端主機320通過區塊鏈網路300與可信任端主機310相互連接,所述非可信任端主機320包含:第一傳輸模組321及第一驗證模組322。其中,第一傳輸模組321用以在非可信任端主機320欲確認原始訊息是否被持有時,傳送第一驗證請求及接收第二雜湊值,以及在接收到第二驗證請求時,傳送第三雜湊值;第一驗證模組322連接第一傳輸模組321,用以在接收到第二雜湊值時,自區塊鏈獲得加密雜湊值並進行解密以獲得第一雜湊值,並且在獲得的第一雜湊值與接收到的第二雜湊值相同時,輸出持有訊息。在實際實施上,第一實施方式的非可信任端主機120與第二實施方式的非可信任端主機320的主要差異在於發送/接收驗證請求的對象不同,前者發送/接收驗證請求的對象是可信任端主機110,後者發送/接收驗證請求的對象則是使用者端主機330。
接著,在使用者端主機330的部分,其透過區塊鏈網路300與可信任端主機310及非可信任端主機320相互連接,並且具有原始訊息,所述使用者端主機330包含:第二傳輸模組331及第二驗證模組332。其中,第二傳輸模組331用以接收第一驗證請求,以及在使用者端主機330欲確認非可信任端主機320是否持有第三雜湊值時,傳送第二驗證請求至非可信任端主機320,並且自非可信任端主機320接收第三雜湊值。在實際實施上,使用者端主機330與可信任端主機310皆具有相同的原始訊息。
第二驗證模組332連接第二傳輸模組331,用以在接收到第一驗證請求或第三雜湊值時,對自身的原始訊息進行雜湊計算以產生相應的第二雜湊值,其中,當接收到第一驗證請求時,透過第二傳輸模組331將產生的第二雜湊值傳送至非可信任端主機320,當接收到第三雜湊值且與產生的第二雜湊值相同時,輸出持有訊息。
要補充說明的是,所述非可信任端主機320在初始時將自身的金鑰傳送至可信任端主機310,並且可信任端主機310透過非可信任端主機320的金鑰對第一雜湊值進行加密。同樣地,金鑰可為非對稱式金鑰或對稱式金鑰時,假設為非對稱式金鑰,那麼傳送的金鑰為公開金鑰;假設為對稱式金鑰,那麼傳送的金鑰為相同的金鑰,或可相互推算的加密金鑰及解密金鑰之中的加密金鑰。相較於第一實施方式,第二實施方式可以不用將金鑰傳送至使用者端主機330。
請參閱「第4A圖」及「第4B圖」,「第4A圖」及「第4B圖」為本發明基於區塊鏈的資料加密登錄與多方授權驗證方法的第二實施方式之方法流程圖,應用在具有使用者端主機330、非可信任端主機320及可信任端主機310的區塊鏈網路環境,其步驟包括:非可信任端主機320將自身的金鑰傳送至可信任端主機310,以及使用者端主機330及可信任端主機310共享相同的原始訊息(步驟410);可信任端主機310對自身的原始訊息進行雜湊計算以產生相應的第一雜湊值,以及透過非可信任端主機320的金鑰對第一雜湊值進行加密以產生加密雜湊值,並且將加密雜湊值寫入區塊鏈,用以允許非可信任端主機320自區塊鏈獲得加密雜湊值並進行解密以獲得第一雜湊值(步驟420);當非可信任端主機320欲確認使用者端主機330是否持有原始訊息時,非可信任端主機320傳送第一驗證請求至使用者端主機330,使所述使用者端主機330對自身的原始訊息進行雜湊計算以產生相應的第二雜湊值,以及將第二雜湊值傳送至非可信任端主機320,當非可信任端主機320獲得的第一雜湊值與接收自使用者端主機330的第二雜湊值相同時,輸出持有訊息(步驟430);當使用者端主機330欲確認非可信任端主機320是否持有第三雜湊值時,使用者端主機330傳送第二驗證請求至非可信任端主機320,使非可信任端主機320傳送第三雜湊值至使用者端主機330,並且由使用者端主機330對自身的原始訊息進行雜湊計算以產生相應的第二雜湊值,當使用者端主機330計算出的第二雜湊值與接收自非可信任端主機320的第三雜湊值相同時,輸出持有訊息(步驟440)。透過上述步驟,即可透過可信任端主機310將原始訊息進行雜湊以產生雜湊值,並且使用非可信任端主機320的金鑰對雜湊值進行加密,以便將加密的結果寫入區塊鏈,提供使用者端主機330、可信任端主機310及非可信任端主機320在無需得知原始訊息的前提下,驗證原始訊息的有效性及跨網站提供授權。
特別要說明的是,在實際實施上,本發明所述的模組皆可利用各種方式來實現,包含軟體、硬體或其任意組合,例如,在某些實施方式中,各模組可利用軟體及硬體或其中之一來實現,除此之外,本發明亦可部分地或完全地基於硬體來實現,例如,系統中的一個或多個模組可以透過積體電路晶片、系統單晶片(System on Chip, SoC)、複雜可程式邏輯裝置(Complex Programmable Logic Device, CPLD)、現場可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)等來實現。本發明可以是系統、方法及/或電腦程式。電腦程式可以包括電腦可讀儲存媒體,其上載有用於使處理器實現本發明的各個方面的電腦可讀程式指令,電腦可讀儲存媒體可以是可以保持和儲存由指令執行設備使用的指令的有形設備。電腦可讀儲存媒體可以是但不限於電儲存設備、磁儲存設備、光儲存設備、電磁儲存設備、半導體儲存設備或上述的任意合適的組合。電腦可讀儲存媒體的更具體的例子(非窮舉的列表)包括:硬碟、隨機存取記憶體、唯讀記憶體、快閃記憶體、光碟、軟碟以及上述的任意合適的組合。此處所使用的電腦可讀儲存媒體不被解釋爲瞬時信號本身,諸如無線電波或者其它自由傳播的電磁波、通過波導或其它傳輸媒介傳播的電磁波(例如,通過光纖電纜的光信號)、或者通過電線傳輸的電信號。另外,此處所描述的電腦可讀程式指令可以從電腦可讀儲存媒體下載到各個計算/處理設備,或者通過網路,例如:網際網路、區域網路、廣域網路及/或無線網路下載到外部電腦設備或外部儲存設備。網路可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火牆、交換器、集線器及/或閘道器。每一個計算/處理設備中的網路卡或者網路介面從網路接收電腦可讀程式指令,並轉發此電腦可讀程式指令,以供儲存在各個計算/處理設備中的電腦可讀儲存媒體中。執行本發明操作的電腦程式指令可以是組合語言指令、指令集架構指令、機器指令、機器相關指令、微指令、韌體指令、或者以一種或多種程式語言的任意組合編寫的原始碼或目的碼(Object Code),所述程式語言包括物件導向的程式語言,如:Common Lisp、Python、C++、Objective-C、Smalltalk、Delphi、Java、Swift、C#、Perl、Ruby與PHP等,以及常規的程序式(Procedural)程式語言,如:C語言或類似的程式語言。所述電腦程式指令可以完全地在電腦上執行、部分地在電腦上執行、作爲一個獨立的軟體執行、部分在客戶端電腦上部分在遠端電腦上執行、或者完全在遠端電腦或伺服器上執行。
以下配合「第5A圖」至「第6E圖」以實施例的方式進行如下說明,請先參閱「第5A圖」至「第5E圖」,「第5A圖」至「第5E圖」為應用本發明第一實施方式之示意圖。如「第5A圖」所示意,在初始時,非可信任端主機120及可信任端主機130將各自的金鑰傳送至使用者端主機110。在實際實施上,所述金鑰可為非對稱式金鑰的公開金鑰,如:高位元(如:4096位元)的公開金鑰,以便加密原始訊息及雜湊值。另外,所述金鑰亦可為對稱式金鑰,允許以相同的金鑰進行加密及解密或允許可相互推算的加密金鑰及解密金鑰分別進行加密及解密,並且可信任端主機130僅允許與使用者端主機110共享所述金鑰或加密金鑰,非可信任端主機120僅允許與使用者端主機110共享所述金鑰或加密金鑰。
接下來,如「第5B圖」所示意,使用者端主機110將使用可信任端主機130的金鑰來加密原始訊息510,進而產生相應的加密訊息511,以及使用非可信任端主機120的金鑰來加密第一雜湊值512,進而產生相應的加密雜湊值513。如此一來,可以有效確保原始訊息的隱密性及正確性。接下來,如「第5C圖」所示意,使用者端主機110會將加密訊息511及加密雜湊值513寫入區塊鏈,其可允許可信任端主機130自區塊鏈獲得加密訊息511並進行解密以獲得原始訊息,以及允許非可信任端主機120自區塊鏈獲得加密雜湊值513並進行解密以獲得第一雜湊值。在實際實施上,將加密訊息511及加密雜湊值513寫入區塊鏈的方式可以是同一筆區塊鏈交易,也可以是單獨的兩筆區塊鏈交易,或是寫在同一個智慧合約內,使用者端主機110會將儲存在區塊鏈的方式及相關資訊(如:交易雜湊值、智慧合約地址等等)告知可信任端主機130及非可信任端主機120。
在加密訊息511及加密雜湊值513皆寫入區塊鏈之後,假設非可信任端主機120欲向可信任端主機130要求確認其是否真的持有使用者提供的原始訊息。此時,將如「第5D圖」所示意,非可信任端主機120會傳送第一驗證請求至可信任端主機130,使可信任端主機130先自區塊鏈獲得加密訊息511,再經過解密後獲得原始訊息521,接著以雜湊計算出第二雜湊值522,以及將第二雜湊值522傳送至非可信任端主機120。當非可信任端主機120收到第二雜湊值之後,會從區塊鏈獲得加密雜湊值513,並且經過解密獲得第一雜湊值523以與來自可信任端主機130的第二雜湊值522進行比對,當比對結果為相同時,代表可信任端主機130確實持有原始訊息521,故輸出持有訊息,反之若比對結果為不相同,則代表原始訊息521可能被竄改或可信任端主機130並未持有正確的原始訊息。
另外,假設可信任端主機130欲向非可信任端主機120要求驗證使用者提供的雜湊值(即:第三雜湊值),將如「第5E圖」所示意,可信任端主機130會傳送第二驗證請求至非可信任端主機120,使非可信任端主機120傳送第三雜湊值給可信任端主機130,並且由可信任端主機130自區塊鏈載入加密訊息以進行解密,進而獲得原始訊息,並且對其進行雜湊計算以獲得第二雜湊值,當第二雜湊值與接收自非可信任端主機120的第三雜湊值相同時,代表使用者提供給非可信任端主機120的第三雜湊值與原始訊息相對應,故可信任端主機130可將此情況視為使用者已經授權給非可信任端主機120並輸出持有訊息。反之,假設第二雜湊值與第三雜湊值不相同時,代表使用者未授權非可信任端主機120或可信任端主機130取得的原始訊息已經被竄改。
以跨系統的原始訊息與授權的驗證為例,可信任端主機130可以是有資安信譽的可信資訊系統,使用者同意讓其檢視原始訊息,如:個資(即:個人資訊);非可信任端主機120則是使用者欲使用的第三方資訊系統,而此第三方資訊系統希望進行個資的驗證,但使用者不願意直接交付個資;使用者端主機110則是使用者所操作的主機。在第一實施方式中,使用者可以將個資的加密結果儲存至區塊鏈,讓可信資訊系統能夠得知個資內容,並且一併將個資雜湊值的加密結果儲存至區塊鏈,讓第三方資訊系統可以得知個資雜湊值。當欲確認對方是否持有個資內容或雜湊值時,包含下列二種模式:
一、第三方資訊系統可以向可信資訊系統要求其根據個資內容計算第二雜湊值,以便與自己獲得的第一雜湊值進行比對,進而證明可信資訊系統確實持有使用者的個資。在此過程中,第三方資訊系統完全不會接觸到任何個資內容,即使是經過加密的個資內容也不會被第三方資訊系統獲得,但是卻能夠讓第三方資訊系統成功確認使用者的有效性。
二、可信資訊系統可以向第三方資訊系統要求其提供個資的雜湊值(即:第三雜湊值),以便與自己根據個資內容進行雜湊計算出的第二雜湊值進行比對,並且在比對相符時,證明第三方資訊系統確實獲得使用者授權。
倘若第三方資訊系統日後需要進行究責等程序而必須取得個資時,可以依照協議或法定程序向可信資訊系統要求其提供個資。
同樣地,除了確認對方是否持有個資內容或雜湊值之外,相同的方式亦可應用在銀行與服務商的個資保護、企業總部與分支機構的身分資料核實,以及延後公開內容(如:遺囑)的一致性檢驗等等,其步驟皆與上述流程大同小異,差別僅在於可信任端主機130及非可信任端主機120的角色不同,以銀行與服務商的個資保護為例,可信任端主機130為銀行,非可信任端主機120則為服務商;以企業總部與分支機構的身分資料核實為例,可信任端主機130為企業總部,非可信任端主機120則為分支機構。實際上,個資亦可由印鑑資料取代。另外,以延後公開內容的一致性檢驗為例,使用者端主機110為使用者(或稱為開立遺囑者)的主機,可信任端主機130為委任律師的主機,非可信任端主機120為遺囑利害關係人的主機,原始訊息為遺囑內容。在此例中,開立遺囑者將遺囑內容加密並寫入區塊鏈給委任律師;開立遺囑者將遺囑雜湊值加密寫入區塊鏈給遺囑利害關係人,此遺囑利害關係人無法於遺囑被公開前得知內容,但是得以確認與委任律師持有一致的遺屬內容;其後遺囑內容被公開時,亦得以遺囑雜湊值檢驗其一致性。特別要說明的是,遺囑內容和遺囑雜湊值也可以在被公開後重新加密以與開立遺囑者寫到區塊鏈上的加密內容進行比對,當比對相符時即證明完全符合開立遺囑者的意志。
如「第6A圖」至「第6E圖」所示意,「第6A圖」至「第6E圖」為應用本發明第二實施方式之示意圖。在初始時,如「第6A圖」所示意,非可信任端主機320將自身的金鑰傳送至可信任端主機310,而如同第一實施例所述,其金鑰可為非對稱式金鑰或對稱式金鑰,以非對稱式金鑰為例,傳送的金鑰是指金鑰對,即:公開金鑰及私密金鑰,其中的公開金鑰;以對稱式金鑰為例,傳送的金鑰則是指相同的金鑰或可相互推算的加密金鑰及解密金鑰之中的加密金鑰。接著,如「第6B圖」所示意,可信任端主機310及使用者端主機330具有相同的原始訊息610。其中,可信任端主機310將對自身的原始訊息610進行雜湊計算以獲得第一雜湊值611,並且使用非可信任端主機320的金鑰來加密第一雜湊值611,進而產生相應的加密雜湊值612,以便作為驗證原始訊息的依據。接下來,如「第6C圖」所示意,可信任端主機310會將加密雜湊值612寫入區塊鏈,其可允許非可信任端主機320自區塊鏈獲得加密雜湊值612並進行解密以獲得第一雜湊值611。同樣地,將加密雜湊值612寫入區塊鏈的方式如同第一實施例所述,其透過同一筆區塊鏈交易或是寫在同一個智慧合約內,所述可信任端主機310會將儲存至區塊鏈的方式及相關資訊(如:交易雜湊值、智慧合約地址等等)告知非可信任端主機320。
在將加密雜湊值612寫入區塊鏈之後,假設非可信任端主機320欲向使用者端主機330要求確認其是否真的持有與可信任端主機310相同的原始訊息。此時,將如「第6D圖」所示意,非可信任端主機320會傳送第一驗證請求至使用者端主機330,使所述使用者端主機330對自身的原始訊息610進行雜湊計算以產生相應的第二雜湊值621,以及將第二雜湊值621傳送至非可信任端主機320。當非可信任端主機320收到第二雜湊值621之後,會從區塊鏈載入加密雜湊值612,並且將其解密以得到第一雜湊值611,再將第一雜湊值611與來自使用者端主機330的第二雜湊值621進行比對,當比對結果為相同時,代表使用者端主機330與可信任端主機310持有相同的原始訊息610,故輸出持有訊息,反之若比對結果為不相同,則代表原始訊息610與第一雜湊值611不對應,兩者持有的原始訊息610並不一致,此驗證方式可用於原始訊息的有效性檢驗。
另外,假設使用者端主機330欲向非可信任端主機320要求確認其具有可信任端主機310提供的雜湊值(即:第三雜湊值),將如「第6E圖」所示意,使用者端主機330會傳送第二驗證請求至非可信任端主機320,使非可信任端主機320傳送本身持有的第三雜湊值給使用者端主機330,並且由使用者端主機330對自身的原始訊息610進行雜湊計算以產生相應的第二雜湊值621,當第二雜湊值621與接收自非可信任端主機320的第三雜湊值相同時,代表非可信任端主機120確實持有可信任端主機310提供的第三雜湊值,並且此第三雜湊值與原始訊息610相對應。此時,可視為非可信任端主機320已經獲得可信任端主機310的授權並輸出持有訊息。反之,假設第二雜湊值621與第三雜湊值不相同時,代表非可信任端主機120並未獲得可信任端主機310的有效授權,或是原始訊息610已經被更改。
在第二實施方式中,假設應用在銀行與服務商的個資保護,可信任端主機130可以是位於銀行的主機,其與使用者均持有相同的個資;非可信任端主機120則是欲向銀行要求授權的服務商,由於服務商希望進行使用者身分驗證,但考慮個資保護的問題,銀行不會將使用者個資交付給服務商。因此,銀行可以將個資的雜湊值(即:第一雜湊值)加密並儲存至區塊鏈,讓服務商能夠得知個資的雜湊值。同樣地,欲確認對方是否持有個資的雜湊值時,包含下列二種模式:
一、服務商可以向使用者要求其根據個資內容計算個資的雜湊值(即:第二雜湊值),並且接收此第二雜湊值以與自己獲得的第一雜湊值進行比對,進而證明使用者確實持有正確的個資,同時讓服務商確認使用者在此銀行是有效狀態。在此過程中,服務商同樣不會接觸到任何個資內容,而區塊鏈上也不會儲存任何個資內容(無論是否經過加密),但是卻能夠讓服務商成功確認使用者的有效性(相當於跨系統的身分驗證)。
二、使用者可以向服務商要求其提供個資的雜湊值(即:第三雜湊值),以便與自己根據個資內容進行雜湊計算出的第二雜湊值進行比對,並且在比對相符時,使用者即可確認服務商確實獲得銀行授權。
此方式可以讓銀行在不透漏使用者個資的情況下增加合作的服務商,而且服務商日後若需要進行究責等程序而必須取得個資時,可以依照協議或法定程序向銀行要求其提供個資。同樣地,除了上述應用在銀行與服務商的個資保護之外,亦可應用在企業總部與分支機構,如:銀行總行與分行,其中,銀行總行有完整資料,並且將其雜湊值提供給分行。如此一來,使用者可以提交雜湊值給分行進行身分檢驗,不需要再向分行提供完整資料,所以不用擔心分行接觸到完整資料,不但有助於在個資外洩時釐清責任歸屬,並且可以有效降低個資外洩的機率。
綜上所述,可知本發明與先前技術之間的差異在於透過使用者端主機或可信任端主機將原始訊息進行雜湊以產生雜湊值,並且使用金鑰對雜湊值進行加密,或再以另一金鑰對原始訊息進行加密,以便將加密的結果寫入區塊鏈,提供使用者端主機、可信任端主機及非可信任端主機在無需得知原始訊息的前提下,驗證原始訊息的有效性及跨網站提供授權,藉由此一技術手段可以解決先前技術所存在的問題,進而達成提高個資的保密性及驗證便利性之技術功效。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
100,300:區塊鏈網路
110,330:使用者端主機
120,320:非可信任端主機
121,321:第一傳輸模組
122,322:第一驗證模組
130,310:可信任端主機
131,331:第二傳輸模組
132,332:第二驗證模組
510,521,610:原始訊息
511:加密訊息
512,523,611:第一雜湊值
513,612:加密雜湊值
522,621:第二雜湊值
步驟210:非可信任端主機及可信任端主機將各自的一金鑰傳送至使用者端主機
步驟220:該使用者端主機對一原始訊息進行雜湊計算以產生相應的一第一雜湊值,並且透過該可信任端主機的該金鑰對該原始訊息進行加密以產生一加密訊息,以及透過該非可信任端主機的該金鑰對該第一雜湊值進行加密以產生一加密雜湊值,並且將該加密訊息及該加密雜湊值寫入一區塊鏈,用以允許該可信任端主機自該區塊鏈獲得該加密訊息並進行解密以獲得該原始訊息,以及允許該非可信任端主機自該區塊鏈獲得該加密雜湊值並進行解密以獲得該第一雜湊值
步驟230:當該非可信任端主機欲確認該可信任端主機是否持有該原始訊息時,該非可信任端主機傳送一第一驗證請求至該可信任端主機,使該可信任端主機自該區塊鏈獲得該原始訊息以雜湊計算出一第二雜湊值,以及將該第二雜湊值傳送至該非可信任端主機,當該非可信任端主機自該區塊鏈獲得的該第一雜湊值與接收自該可信任端主機的該第二雜湊值相同時,輸出一持有訊息
步驟240:當該可信任端主機欲確認該非可信任端主機是否持有一第三雜湊值時,該可信任端主機傳送一第二驗證請求至該非可信任端主機,使該非可信任端主機傳送該第三雜湊值至該可信任端主機,並且由該可信任端主機自該區塊鏈獲得該原始訊息以雜湊計算出該第二雜湊值,當該可信任端主機計算出的該第二雜湊值與接收自該非可信任端主機的該第三雜湊值相同時,輸出該持有訊息
步驟410:非可信任端主機將自身的一金鑰傳送至可信任端主機,以及使用者端主機及該可信任端主機共享相同的一原始訊息
步驟420:該可信任端主機對自身的該原始訊息進行雜湊計算以產生相應的一第一雜湊值,以及透過該非可信任端主機的該金鑰對該第一雜湊值進行加密以產生一加密雜湊值,並且將該加密雜湊值寫入一區塊鏈,用以允許該非可信任端主機自該區塊鏈獲得該加密雜湊值並進行解密以獲得該第一雜湊值
步驟430:當該非可信任端主機欲確認該使用者端主機是否持有該原始訊息時,該非可信任端主機傳送一第一驗證請求至該使用者端主機,使該使用者端主機對自身的該原始訊息進行雜湊計算以產生相應的一第二雜湊值,以及將該第二雜湊值傳送至該非可信任端主機,當該非可信任端主機獲得的該第一雜湊值與接收自該使用者端主機的該第二雜湊值相同時,輸出一持有訊息
步驟440:當該使用者端主機欲確認該非可信任端主機是否持有一第三雜湊值時,該使用者端主機傳送一第二驗證請求至該非可信任端主機,使該非可信任端主機傳送該第三雜湊值至該使用者端主機,並且由該使用者端主機對自身的該原始訊息進行雜湊計算以產生相應的該第二雜湊值,當該使用者端主機計算出的該第二雜湊值與接收自該非可信任端主機的該第三雜湊值相同時,輸出該持有訊息
第1圖為本發明基於區塊鏈的資料加密登錄與多方授權驗證系統的第一實施方式之系統方塊圖。
第2A圖及第2B圖為本發明基於區塊鏈的資料加密登錄與多方授權驗證方法的第一實施方式之方法流程圖。
第3圖為本發明基於區塊鏈的資料加密登錄與多方授權驗證系統的第二實施方式之系統方塊圖。
第4A圖及第4B圖為本發明基於區塊鏈的資料加密登錄與多方授權驗證方法的第二實施方式之方法流程圖。
第5A圖至第5E圖為應用本發明第一實施方式之示意圖。
第6A圖至第6E圖為應用本發明第二實施方式之示意圖。
100:區塊鏈網路
110:使用者端主機
120:非可信任端主機
121:第一傳輸模組
122:第一驗證模組
130:可信任端主機
131:第二傳輸模組
132:第二驗證模組
Claims (10)
- 一種基於區塊鏈的資料加密登錄與多方授權驗證系統,該系統包含: 一使用者端主機,用以對一原始訊息進行雜湊計算以產生相應的一第一雜湊值,並且對該原始訊息進行加密以產生一加密訊息,以及對該第一雜湊值進行加密以產生一加密雜湊值,再將該加密訊息及該加密雜湊值寫入一區塊鏈; 一非可信任端主機,通過區塊鏈網路與該使用者端主機相互連接,該非可信任端主機包含: 一第一傳輸模組,用以在該非可信任端主機欲確認該原始訊息是否被持有時,傳送一第一驗證請求及接收一第二雜湊值,以及在接收到一第二驗證請求時,傳送一第三雜湊值;以及 一第一驗證模組,連接該第一傳輸模組,用以在接收到該第二驗證請求時,自該區塊鏈獲得該加密雜湊值並進行解密以獲得該第一雜湊值,並且在獲得的該第一雜湊值與接收到的該第二雜湊值相同時,輸出一持有訊息;以及 一可信任端主機,透過區塊鏈網路與該使用者端主機及該非可信任端主機相互連接,該可信任端主機包含: 一第二傳輸模組,用以在該可信任端主機欲確認該非可信任端主機是否持有該第三雜湊值時,傳送該第二驗證請求至該非可信任端主機,並且自該非可信任端主機接收該第三雜湊值,以及在接收到該第一驗證請求且該第二雜湊值產生後,將該第二雜湊值傳送至該非可信任端主機;以及 一第二驗證模組,連接該第二傳輸模組,用以在接收到該第一驗證請求或該第三雜湊值時,自該區塊鏈獲得該加密訊息並進行解密以獲得該原始訊息,並且將獲得的該原始訊息進行雜湊計算以產生該第二雜湊值,當接收到該第三雜湊值且該第二雜湊值產生後,在產生的該第二雜湊值與接收到的該第三雜湊值相同時,輸出該持有訊息; 其中,該非可信任端主機及該可信任端主機在初始時將各自的一金鑰傳送至該使用者端主機,並且該使用者端主機透過該可信任端主機的該金鑰對該原始訊息進行加密,以及透過該非可信任端主機的該金鑰對該第一雜湊值進行加密。
- 如請求項1之基於區塊鏈的資料加密登錄與多方授權驗證系統,其中所述金鑰為非對稱式金鑰的一公開金鑰,使用該可信任端主機的該公開金鑰用以加密該原始訊息,以及使用該非可信任端主機的該公開金鑰用以加密該第一雜湊值,並且允許以相應該公開金鑰的一私密金鑰進行解密。
- 如請求項1之基於區塊鏈的資料加密登錄與多方授權驗證系統,其中所述金鑰為對稱式金鑰,允許以相同的所述金鑰進行加密及解密或允許可相互推算的一加密金鑰及一解密金鑰分別進行加密及解密,並且該可信任端主機僅允許與該使用者端主機共享所述金鑰或該加密金鑰,該非可信任端主機僅允許與該使用者端主機共享所述金鑰或該加密金鑰。
- 一種基於區塊鏈的資料加密登錄與多方授權驗證系統,該系統包含: 一可信任端主機,用以儲存一原始訊息,並且對自身的該原始訊息進行雜湊計算以產生相應的一第一雜湊值,以及對該第一雜湊值進行加密以產生一加密雜湊值,並且將該加密雜湊值寫入一區塊鏈; 一非可信任端主機,通過區塊鏈網路與該可信任端主機相互連接,該非可信任端主機包含: 一第一傳輸模組,用以在該非可信任端主機欲確認該原始訊息是否被持有時,傳送一第一驗證請求及接收一第二雜湊值,以及在接收到一第二驗證請求時,傳送一第三雜湊值;以及 一第一驗證模組,連接該第一傳輸模組,用以在接收到該第二雜湊值時,自該區塊鏈獲得該加密雜湊值並進行解密以獲得該第一雜湊值,並且在獲得的該第一雜湊值與接收到的該第二雜湊值相同時,輸出一持有訊息;以及 一使用者端主機,透過區塊鏈網路與該可信任端主機及該非可信任端主機相互連接,並且具有該原始訊息,該使用者端主機包含: 一第二傳輸模組,用以接收該第一驗證請求,以及在該使用者端主機欲確認該非可信任端主機是否持有該第三雜湊值時,傳送該第二驗證請求至該非可信任端主機,並且自該非可信任端主機接收該第三雜湊值;以及 一第二驗證模組,連接該第二傳輸模組,用以在接收到該第一驗證請求或該第三雜湊值時,對自身的該原始訊息進行雜湊計算以產生相應的該第二雜湊值,其中,當接收到該第一驗證請求時,透過該第二傳輸模組將產生的該第二雜湊值傳送至該非可信任端主機,當接收到該第三雜湊值且與產生的該第二雜湊值相同時,輸出該持有訊息; 其中,該非可信任端主機在初始時將自身的一金鑰傳送至該可信任端主機,並且該可信任端主機透過該非可信任端主機的該金鑰對該第一雜湊值進行加密。
- 如請求項4之基於區塊鏈的資料加密登錄與多方授權驗證系統,其中所述金鑰為非對稱式金鑰的一公開金鑰時,使用該可信任端主機的該公開金鑰用以加密該原始訊息,以及使用該非可信任端主機的該公開金鑰用以加密該第一雜湊值,並且允許以相應該公開金鑰的一私密金鑰進行解密,當所述金鑰為對稱式金鑰時,允許以相同的所述金鑰進行加密及解密或允許可相互推算的一加密金鑰及一解密金鑰分別進行加密及解密,其中該加密金鑰為傳送的所述金鑰。
- 一種基於區塊鏈的資料加密登錄與多方授權驗證方法,應用在具有一使用者端主機、一非可信任端主機及一可信任端主機的區塊鏈網路環境,其步驟包括: 該非可信任端主機及該可信任端主機將各自的一金鑰傳送至該使用者端主機; 該使用者端主機對一原始訊息進行雜湊計算以產生相應的一第一雜湊值,並且透過該可信任端主機的該金鑰對該原始訊息進行加密以產生一加密訊息,以及透過該非可信任端主機的該金鑰對該第一雜湊值進行加密以產生一加密雜湊值,並且將該加密訊息及該加密雜湊值寫入一區塊鏈,用以允許該可信任端主機自該區塊鏈獲得該加密訊息並進行解密以獲得該原始訊息,以及允許該非可信任端主機自該區塊鏈獲得該加密雜湊值並進行解密以獲得該第一雜湊值; 當該非可信任端主機欲確認該可信任端主機是否持有該原始訊息時,該非可信任端主機傳送一第一驗證請求至該可信任端主機,使該可信任端主機自該區塊鏈獲得該原始訊息以雜湊計算出一第二雜湊值,以及將該第二雜湊值傳送至該非可信任端主機,當該非可信任端主機自該區塊鏈獲得的該第一雜湊值與接收自該可信任端主機的該第二雜湊值相同時,輸出一持有訊息;以及 當該可信任端主機欲確認該非可信任端主機是否持有一第三雜湊值時,該可信任端主機傳送一第二驗證請求至該非可信任端主機,使該非可信任端主機傳送該第三雜湊值至該可信任端主機,並且由該可信任端主機自該區塊鏈獲得該原始訊息以雜湊計算出該第二雜湊值,當該可信任端主機計算出的該第二雜湊值與接收自該非可信任端主機的該第三雜湊值相同時,輸出該持有訊息。
- 如請求項6之基於區塊鏈的資料加密登錄與多方授權驗證方法,其中所述金鑰為非對稱式金鑰的一公開金鑰,使用該可信任端主機的該公開金鑰用以加密該原始訊息,以及使用該非可信任端主機的該公開金鑰用以加密該第一雜湊值,並且允許以相應該公開金鑰的一私密金鑰進行解密。
- 如請求項6之基於區塊鏈的資料加密登錄與多方授權驗證方法,其中所述金鑰為對稱式金鑰,允許以相同的所述金鑰進行加密及解密或允許可相互推算的一加密金鑰及一解密金鑰分別進行加密及解密,並且該可信任端主機僅允許與該使用者端主機共享所述金鑰或該加密金鑰,該非可信任端主機僅允許與該使用者端主機共享所述金鑰或該加密金鑰。
- 一種基於區塊鏈的資料加密登錄與多方授權驗證方法,應用在具有一使用者端主機、一非可信任端主機及一可信任端主機的區塊鏈網路環境,其步驟包括: 該非可信任端主機將自身的一金鑰傳送至該可信任端主機,以及該使用者端主機及該可信任端主機共享相同的一原始訊息; 該可信任端主機對自身的該原始訊息進行雜湊計算以產生相應的一第一雜湊值,以及透過該非可信任端主機的該金鑰對該第一雜湊值進行加密以產生一加密雜湊值,並且將該加密雜湊值寫入一區塊鏈,用以允許該非可信任端主機自該區塊鏈獲得該加密雜湊值並進行解密以獲得該第一雜湊值; 當該非可信任端主機欲確認該使用者端主機是否持有該原始訊息時,該非可信任端主機傳送一第一驗證請求至該使用者端主機,使該使用者端主機對自身的該原始訊息進行雜湊計算以產生相應的一第二雜湊值,以及將該第二雜湊值傳送至該非可信任端主機,當該非可信任端主機獲得的該第一雜湊值與接收自該使用者端主機的該第二雜湊值相同時,輸出一持有訊息;以及 當該使用者端主機欲確認該非可信任端主機是否持有一第三雜湊值時,該使用者端主機傳送一第二驗證請求至該非可信任端主機,使該非可信任端主機傳送該第三雜湊值至該使用者端主機,並且由該使用者端主機對自身的該原始訊息進行雜湊計算以產生相應的該第二雜湊值,當該使用者端主機計算出的該第二雜湊值與接收自該非可信任端主機的該第三雜湊值相同時,輸出該持有訊息。
- 如請求項9之基於區塊鏈的資料加密登錄與多方授權驗證方法,其中所述金鑰為非對稱式金鑰的一公開金鑰時,使用該可信任端主機的該公開金鑰用以加密該原始訊息,以及使用該非可信任端主機的該公開金鑰用以加密該第一雜湊值,並且允許以相應該公開金鑰的一私密金鑰進行解密,當所述金鑰為對稱式金鑰時,允許以相同的所述金鑰進行加密及解密或允許可相互推算的一加密金鑰及一解密金鑰分別進行加密及解密,其中該加密金鑰為傳送的所述金鑰。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109131074A TWI783265B (zh) | 2020-09-10 | 2020-09-10 | 基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109131074A TWI783265B (zh) | 2020-09-10 | 2020-09-10 | 基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202211656A TW202211656A (zh) | 2022-03-16 |
TWI783265B true TWI783265B (zh) | 2022-11-11 |
Family
ID=81731824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109131074A TWI783265B (zh) | 2020-09-10 | 2020-09-10 | 基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI783265B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180086679A (ko) * | 2017-01-23 | 2018-08-01 | 주식회사 데일리인텔리전스 | 블록체인 네트워크를 이용해서 사용자를 인증하고 블록을 동기화하는 시스템 및 방법 |
CN108600213A (zh) * | 2018-04-19 | 2018-09-28 | 孔德键 | 复合型身份认证方法及应用该方法的复合型身份认证系统 |
CN108876374A (zh) * | 2018-06-29 | 2018-11-23 | 全链通有限公司 | 区块链的网络身份证件认证方法和系统 |
TWM595792U (zh) * | 2020-01-10 | 2020-05-21 | 玉山商業銀行股份有限公司 | 跨平台授權存取資源的授權存取系統 |
TWM596924U (zh) * | 2019-12-03 | 2020-06-11 | 臺灣銀行股份有限公司 | 身份管理與授權裝置 |
US20200252202A1 (en) * | 2019-02-06 | 2020-08-06 | International Business Machines Corporation | Cross-chain validation |
-
2020
- 2020-09-10 TW TW109131074A patent/TWI783265B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180086679A (ko) * | 2017-01-23 | 2018-08-01 | 주식회사 데일리인텔리전스 | 블록체인 네트워크를 이용해서 사용자를 인증하고 블록을 동기화하는 시스템 및 방법 |
CN108600213A (zh) * | 2018-04-19 | 2018-09-28 | 孔德键 | 复合型身份认证方法及应用该方法的复合型身份认证系统 |
CN108876374A (zh) * | 2018-06-29 | 2018-11-23 | 全链通有限公司 | 区块链的网络身份证件认证方法和系统 |
US20200252202A1 (en) * | 2019-02-06 | 2020-08-06 | International Business Machines Corporation | Cross-chain validation |
TWM596924U (zh) * | 2019-12-03 | 2020-06-11 | 臺灣銀行股份有限公司 | 身份管理與授權裝置 |
TWM595792U (zh) * | 2020-01-10 | 2020-05-21 | 玉山商業銀行股份有限公司 | 跨平台授權存取資源的授權存取系統 |
Also Published As
Publication number | Publication date |
---|---|
TW202211656A (zh) | 2022-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI737240B (zh) | 提高區塊鏈網路與外部資料源之間的通信的完整性 | |
JP7181539B2 (ja) | 利用者識別認証データを管理する方法および装置 | |
US10735202B2 (en) | Anonymous consent and data sharing on a blockchain | |
US20200328901A1 (en) | Methods and apparatus for providing blockchain participant identity binding | |
CN108235806B (zh) | 安全访问区块链的方法、装置、系统、存储介质及电子设备 | |
US10812487B2 (en) | Certificate system for verifying authorized and unauthorized secure sessions | |
US10361852B2 (en) | Secure verification system | |
US9137017B2 (en) | Key recovery mechanism | |
TWI663865B (zh) | 基於跨鏈架構的身分識別管理系統及其方法 | |
US10432595B2 (en) | Secure session creation system utililizing multiple keys | |
US10374808B2 (en) | Verification system for creating a secure link | |
JP2023527815A (ja) | 非中央集権化されたコンピュータ・ネットワークを介したセキュアなデータ転送のための方法、装置、及びコンピュータ可読媒体 | |
ES2665887T3 (es) | Sistema de datos seguro | |
US11218317B1 (en) | Secure enclave implementation of proxied cryptographic keys | |
US11804957B2 (en) | Exporting remote cryptographic keys | |
EP4096160A1 (en) | Shared secret implementation of proxied cryptographic keys | |
CN116244750A (zh) | 一种涉密信息维护方法、装置、设备及存储介质 | |
TWI783265B (zh) | 基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法 | |
TWI698113B (zh) | 電子裝置之認證方法及系統 | |
KR102320667B1 (ko) | 사용자 정보의 관리 방법 및 단말 | |
CN115801252B (zh) | 一种结合量子加密技术的安全云桌面系统 | |
CN115514584B (zh) | 服务器以及金融相关服务器的可信安全认证方法 | |
KR101893758B1 (ko) | 암호화된 트래픽 분석을 통한 내부 정보 유출 모니터링 시스템 및 방법 | |
JP2021040278A (ja) | 鍵管理システム、署名装置、鍵管理方法及びプログラム | |
CN115766268A (zh) | 处理方法、装置、设备及存储介质 |