TWI663865B - 基於跨鏈架構的身分識別管理系統及其方法 - Google Patents
基於跨鏈架構的身分識別管理系統及其方法 Download PDFInfo
- Publication number
- TWI663865B TWI663865B TW107123646A TW107123646A TWI663865B TW I663865 B TWI663865 B TW I663865B TW 107123646 A TW107123646 A TW 107123646A TW 107123646 A TW107123646 A TW 107123646A TW I663865 B TWI663865 B TW I663865B
- Authority
- TW
- Taiwan
- Prior art keywords
- request
- access
- contract
- blockchain network
- identity
- Prior art date
Links
Abstract
一種基於跨鏈架構的身分識別管理系統及其方法,透過第一區塊鏈網路及第二區塊鏈網路組成跨鏈(Cross-Chain)架構,並且在第二區塊鏈網路發布智能合約及儲存個人資料,當請求端傳送身分識別存取請求至客戶端時,客戶端顯示請求內容並允許設定存取權限,以便請求端透過應用程式介面(Application Programming Interface, API)以跨鏈方式自第二區塊鏈網路取得相應的個人資料進行身分識別,用以達到提高身分識別的處理效率及資料隱密性之技術功效。
Description
本發明涉及一種身分識別管理系統及其方法,特別是基於跨鏈架構的身分識別管理系統及其方法。
近年來,隨著區塊鏈的普及與蓬勃發展,各種區塊鏈應用便如雨後春筍般出現。其中又以與金融業結合的金融科技(Fintech)應用最受矚目。
一般而言,常見的區塊鏈應用皆係以點對點(Peer to Peer, P2P)方式運行在去中心化(Decentralization)的區塊鏈網路(Blockchain Network)上。然而,礙於法規上的限制,帳戶需要使用實名制,所以會在公有鏈(或稱為主鏈)上再建置身分識別管理,如:uPort,但是此方式將造成處理效率受到整體主鏈網路的影響,而且手續費高昂。除此之外,每個與智能合約的互動記錄皆留存在公有鏈上,一旦某個真實身分的連結被解析出,或是認證後提供給某個第三方,則一切過往歷史就會被完全公開。故具有身分識別的處理效率及資料隱密性不佳的問題。
有鑑於此,便有廠商提出改良區塊鏈演算法的技術,使其處理效率能夠有效地被提高。然而,此方式改善的是區塊鏈整體的處理效率,並非單純針對身分識別的部分進行改善,所以在交易量越大時,身分識別的處理效率同樣會受到影響。另外,此一方式仍然是將所有資料記錄在主鏈上,所以在真實身分的連結被解析出後,同樣會使過往歷史被完全公開,故仍然無法有效解決身分識別的處理效率及資料隱密性不佳的問題。
綜上所述,可知先前技術中長期以來一直存在身分識別的處理效率及資料隱密性不佳之問題,因此實有必要提出改進的技術手段,來解決此一問題。
本發明揭露一種基於跨鏈架構的身分識別管理系統及其方法。
首先,本發明揭露一種基於跨鏈架構的身分識別管理系統,此系統包含:第一區塊鏈網路、第二區塊鏈網路、監管端、客戶端及請求端。其中,第一區塊鏈網路由多個節點組成,每一節點均具有第一區塊鏈;第二區塊鏈網路係由多個共識端組成的私有鏈,每一共識端執行共識演算法且均具有一個第二區塊鏈,以及定期將此第二區塊鏈的資料記錄在第一區塊鏈;監管端為所述共識端其中之一,用以預先提供應用程式介面以允許使用跨鏈方式存取第二區塊鏈網路的資料,並且預先在第二區塊鏈網路發布請求加密合約及請求識別存取合約。
至於客戶端的部分,每一客戶端均透過應用程式介面以跨鏈方式與第二區塊鏈網路連接,每一客戶端包含:顯示模組及同意模組。其中,顯示模組用以在偵測到身分識別存取請求後,透過應用程式介面呼叫請求識別存取合約中的取得請求函式,由所述取得請求函式呼叫請求加密合約中的取得私鑰函式,取得相應的私鑰對身分識別存取請求進行解密以顯示請求內容;同意模組用以在同意請求內容時,透過應用程式介面呼叫請求識別存取合約中的同意函式授權存取權杖(Access Token)具有存取權限,以及呼叫取得公鑰函式獲得請求端公鑰,以對所述客戶端的個人資料進行加密並上傳至第二區塊鏈網路。
在請求端的部分,每一請求端均透過應用程式介面以跨鏈方式與第二區塊鏈網路連接,每一請求端包含:請求模組及存取模組。其中,請求模組用以在每次傳送身分識別存取請求之前,透過應用程式介面呼叫請求加密合約中的請求金鑰函式以產生加密公鑰,並且先以此加密公鑰對身分識別存取請求進行加密,再將加密後的身分識別存取請求及請求端本身的請求端公鑰一併透過應用程式介面傳送至請求識別存取合約的請求函式,用以取得相應且尚未授權的存取權杖;存取模組用以在客戶端同意請求內容後,透過應用程式介面呼叫取得識別資料函式並帶入具有存取權限的存取權杖,用以取得加密的個人資料並進行解密。
另外,本發明揭露一種基於跨鏈架構的身分識別管理方法,應用在具有第一區塊鏈網路、第二區塊鏈網路、監管端、客戶端及請求端的網路環境,所述第二區塊鏈網路由多個共識端組成,所述共識端其中之一為監管端,其步驟包括:監管端預先提供應用程式介面以允許客戶端及請求端使用跨鏈方式存取第二區塊鏈網路的資料;監管端預先在第二區塊鏈網路發布請求加密合約及請求識別存取合約;請求端在每次傳送身分識別存取請求之前,透過應用程式介面呼叫請求加密合約中的請求金鑰函式以產生加密公鑰,並且先以加密公鑰對身分識別存取請求進行加密,再將加密後的身分識別存取請求及請求端本身的請求端公鑰一併透過應用程式介面傳送至請求識別存取合約的請求函式,用以取得相應的存取權杖;客戶端透過應用程式介面偵測到身分識別存取請求後,透過應用程式介面呼叫請求識別存取合約中的取得請求函式,由所述取得請求函式呼叫請求加密合約中的取得私鑰函式,以便取得相應的私鑰對身分識別存取請求進行解密以顯示請求內容;當客戶端同意請求內容時,透過應用程式介面呼叫請求識別存取合約中的同意函式授權存取權杖具有存取權限,以及呼叫取得公鑰函式獲得請求端公鑰,以對個人資料進行加密並上傳至第二區塊鏈網路;每一共識端執行共識演算法且均具有第二區塊鏈,以及定期將第二區塊鏈的資料記錄在第一區塊鏈網路的第一區塊鏈;以及請求端在客戶端同意請求內容後,透過應用程式介面呼叫取得識別資料函式並帶入存取權杖,用以取得加密的個人資料並進行解密。
本發明所揭露之系統與方法如上,與先前技術的差異在於本發明是透過第一區塊鏈網路及第二區塊鏈網路組成跨鏈架構,並且在第二區塊鏈網路發布智能合約及儲存個人資料,當請求端傳送身分識別存取請求至客戶端時,客戶端顯示請求內容並允許設定存取權限,以便請求端透過應用程式介面以跨鏈方式自第二區塊鏈網路取得相應的個人資料進行身分識別。
透過上述的技術手段,本發明可以達成提高身分識別的處理效率及資料隱密性之技術功效。
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
在說明本發明所揭露之基於跨鏈架構的身分識別管理系統及其方法之前,先對本發明所應用的環境作說明,本發明是應用在執行智能合約的多個區塊鏈網路所組成的跨鏈架構,在各區塊鏈網路中的計算機設備皆可視為區塊鏈節點(或簡稱為節點),所述區塊鏈節點透過P2P方式連接,並且用以處理區塊鏈交易(Blockchain Transactions)。所述跨鏈架構可利用梅克爾根(Merkle Root;Block Root)透過梅克爾證明機制(Merkle proof)可以檢驗任意一筆交易的特性,達到利用某一條區塊鏈來驗證另一條區塊鏈上的交易之目的。這樣一來,假設在第一區塊鏈網路的區塊鏈上要驗證某一個交易是否在第二區塊鏈網路的區塊鏈上,就只需要提供此筆交易及其父節點(Parent Nodes)的雜湊值(Hash)就得以被驗證,在實際實施上,第一區塊鏈網路可視為母鏈或主鏈,第二區塊鏈網路可視為子鏈,如:「Plasma Chain」或「側鏈(Side Chain)」。另外,在實際實施上,本發明所述的共識端、監管端、客戶端及請求端皆為計算機設備,而計算機設備可為伺服器、電腦主機、筆記型電腦、平板電腦、智慧型手機等等,用以執行電腦程式指令,例如:區塊鏈程式「Ethereum」。另外,文中所述的「請求加密合約」及「請求識別存取合約」皆是指智能合約,所述智能合約是指依據既定的條件及傳輸的資訊來驅動執行指令的電腦程式,在實際實施上,所述智能合約係透過程式語言,例如:Solidity、Serpent、LLL、EtherScript、Sidechain等等來撰寫,其可包含各種不同的函式(Function)、事件(Event)、參數狀態等等,以區塊鏈程式「Ethereum」為例,其智能合約是經編譯後得到二進位編碼及應用二進位介面(Application Binary Interface, ABI),以便將智能合約廣播至區塊鏈網路,等候礦工(Miner)將智能合約放上區塊鏈並得到相應的地址,至此即透過區塊鏈交易完成智能合約的發布。之後,各節點便可根據此地址執行相應的智能合約,並且藉由不同的指令來改變智能合約在區塊鏈上的狀態以及偵測事件是否被觸發。
以下配合圖式對本發明基於跨鏈架構的身分識別管理系統及其方法做進一步說明,請先參閱「第1圖」,「第1圖」為本發明基於跨鏈架構的身分識別管理系統的系統方塊圖,此系統包含:第一區塊鏈網路110、第二區塊鏈網路120、監管端130、客戶端140及請求端150。其中,第一區塊鏈網路110由多個節點組成(圖中未示),每一節點均具有第一區塊鏈;第二區塊鏈網路120係由多個共識端121(監管端130同樣也是共識端121)組成的私有鏈,每一共識端121執行共識演算法,如:權益證明(Proof of Stake, PoS),並且均具有第二區塊鏈(具體來說,在第一區塊鏈網路110的區塊鏈稱為第一區塊鏈;在第二區塊鏈網路120的區塊鏈稱為第二區塊鏈),以及定期將第二區塊鏈的資料如:根雜湊(Root Hash),記錄在第一區塊鏈,以便讓第一區塊鏈具有身分識別功能。在實際實施上,所述私有鏈亦可為聯盟鏈,兩者差異僅在於限制參與的人員不同(例如:私有鏈僅限同一組織的成員參與;聯盟鏈則允許跨組織的成員參與)。特別要說明的是,假設第二區塊鏈是身分識別專用的區塊鏈,由於定期將第二區塊鏈的雜湊資料記錄在第一區塊鏈,所以可以利用跨鏈的方式提供第一區塊鏈取得身分識別的功能。如此一來,完整的資料僅存在於第二區塊鏈,只有監管端130或獲得授權的共識端121才能取得,確保資料的安全性,除此之外,亦可提高效率、降低成本,因為運算皆在第二區塊鏈網路120,所以不會有公有鏈的低效率及高額交易手續費的問題。
監管端130為所述共識端121其中之一,用以預先提供應用程式介面以允許使用跨鏈方式存取第二區塊鏈網路120的資料,並且預先在第二區塊鏈網路120發布請求加密合約及請求識別存取合約。由於所述請求加密合約及請求識別存取合約皆為智能合約,當這兩個智能合約發布完成後,第二區塊鏈網路120中的所有節點(即:共識端121,包含監管端130)上的區塊鏈(即:第二區塊鏈)都會有這兩個智能合約,所以各節點只要知道智能合約地址就能執行相應的智能合約,而為了讓第二區塊鏈網路120中的其它節點能夠得知智能合約地址,可以分別在請求加密合約及請求識別存取合約發布完成時,觸發一個事件並帶入本身的智能合約地址,以便在各節點偵測到事件被觸發後,能夠同時獲得前述帶入的智能合約地址,進而根據智能合約地址來執行相應的智能合約。另外,在實際實施上,所述應用程式介面可為基於網路且符合表現層狀態轉換(Representational State Transfer, REST)設計風格的Web API(即:RESTful API),除了可以設置在監管端130之外,亦可被設置在獲得授權的共識端121,用以使請求端150及客戶端140或兩者任一透過此應用程式介面經由獲得授權的共識端121呼叫請求加密合約及請求識別存取合約中的各函式。
接著,在客戶端140的部分,所述客戶端140包含:顯示模組141及同意模組142。其中,顯示模組141用以在偵測到身分識別存取請求後,透過應用程式介面呼叫請求識別存取合約中的取得請求函式,由取得請求函式呼叫請求加密合約中的取得私鑰函式,取得相應的私鑰對身分識別存取請求進行解密以顯示請求內容。換句話說,顯示模組141會顯示請求端150的請求內容,提供位於客戶端140的使用者進行瀏覽,以確定是否授權給請求端150存取。在實際實施上,所述客戶端140係透過運行TCP/IP網路協定的網路來使用共識端121或監管端130所提供的應用程式介面。
同意模組142用以在同意請求內容時,透過應用程式介面呼叫請求識別存取合約中的同意函式授權存取權杖具有存取權限,以及呼叫取得公鑰函式獲得請求端公鑰,以對所述客戶端140的個人資料進行加密並上傳至第二區塊鏈網路120。在實際實施上,所述請求內容可包含存取權限範圍、存取期限、是否允許多次存取及是否允許更新存取權杖或至少其中之一,舉例來說,存取權限範圍可包含讀取姓名、讀取生日、讀取學歷、寫入姓名、寫入生日及寫入學歷等各種個人資料,並以此類推;存取期限可包含一段時間範圍,在這段時間範圍內允許存取,反之則禁止存取;至於是否允許多次存取,若設定為「是」,代表允許多次存取,若為「否」則代表僅能存取一次。
至於請求端150的部分,所述請求端150包含:請求模組151及存取模組152。其中,請求模組151用以在每次傳送身分識別存取請求之前,透過應用程式介面呼叫請求加密合約中的請求金鑰函式以產生加密公鑰,並且先以加密公鑰對身分識別存取請求進行加密,再將加密後的身分識別存取請求及請求端150本身的請求端公鑰,一併透過應用程式介面傳送至請求識別存取合約的請求函式,用以取得相應且尚未授權的存取權杖。在實際實施上,請求端150同樣係透過運行TCP/IP網路協定的網路來使用共識端121或監管端130所提供的應用程式介面。另外,請求端公鑰和加密公鑰的用途就如同SSL交換公鑰的做法,目的是為了加密兩端互相傳輸的資料,因為請求端150的請求可能類似利用某身分證字號來要求某人的生日和姓名,為了避免這類資訊被未授權者取得,所以雙方在發送資料之前,皆需要以對方的公鑰對欲發送的資料先進行加密。特別要說明的是,所述請求端150可使用加密公鑰對所有發送至第二區塊鏈網路120的資料進行加密,以及在發送資料時一併發送此加密公鑰,提供共識端121自請求加密合約中查詢出對應此加密公鑰的私鑰以進行解密。
存取模組152用以在客戶端140同意所述請求內容後,透過應用程式介面呼叫取得識別資料函式並帶入具有存取權限的存取權杖,用以取得加密的個人資料並進行解密。在實際實施上,請求識別存取合約可包含回覆期限及預設存取權限,當客戶端140在回覆期限內未回應身分識別存取請求時,可直接根據所述預設存取權限對存取權杖進行授權。換句話說,假設請求模組151發出身分識別存取請求後,存取模組152在回覆期限內遲遲得不到客戶端140同意,此時,可認定請求失效,或是以類似開放授權(OAuth)的方式,允許以請求識別存取合約中的預設存取權限來取得加密的個人資料。
特別要說明的是,在實際實施上,本發明所述的各模組皆可利用各種方式來實現,包含軟體、硬體或其任意組合,例如,在某些實施方式中,各模組可利用軟體及硬體或其中之一來實現,除此之外,本發明亦可部分地或完全地基於硬體來實現,例如,系統中的一個或多個模組可以透過積體電路晶片、系統單晶片(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語言或類似的程式語言。計算機可讀程式指令可以完全地在電腦上執行、部分地在電腦上執行、作爲一個獨立的軟體執行、部分在客戶端電腦上部分在遠端電腦上執行、或者完全在遠端電腦或伺服器上執行。
請參閱「第2A圖」及「第2B圖」,「第2A圖」及「第2B圖」為本發明基於跨鏈架構的身分識別管理方法的方法流程圖,應用在具有第一區塊鏈網路110、第二區塊鏈網路120、監管端130、客戶端140及請求端150的網路環境,第二區塊鏈網路120由多個共識端121組成,所述共識端其中之一為監管端130,其步驟包括:監管端130預先提供應用程式介面以允許客戶端140及請求端150使用跨鏈方式存取第二區塊鏈網路120的資料(步驟210);監管端130預先在第二區塊鏈網路120發布請求加密合約及請求識別存取合約(步驟220);請求端150在每次傳送身分識別存取請求之前,透過應用程式介面呼叫請求加密合約中的請求金鑰函式以產生加密公鑰,並且先以加密公鑰對身分識別存取請求進行加密,再將加密後的身分識別存取請求及請求端150本身的請求端公鑰一併透過應用程式介面傳送至請求識別存取合約的請求函式,用以取得相應的存取權杖(步驟230);客戶端140透過應用程式介面偵測到身分識別存取請求後,透過應用程式介面呼叫請求識別存取合約中的取得請求函式,由所述取得請求函式呼叫請求加密合約中的取得私鑰函式,以便取得相應的私鑰對身分識別存取請求進行解密以顯示請求內容(步驟240);當客戶端140同意請求內容時,透過應用程式介面呼叫請求識別存取合約中的同意函式,授權存取權杖使其具有存取權限,以及呼叫取得公鑰函式獲得請求端公鑰,以便對個人資料進行加密並上傳至第二區塊鏈網路120(步驟250);每一共識端121執行共識演算法且均具有第二區塊鏈,以及定期將第二區塊鏈的資料記錄在第一區塊鏈網路110的第一區塊鏈(步驟260);以及請求端150在客戶端140同意請求內容後,透過應用程式介面呼叫取得識別資料函式並帶入存取權杖,用以取得加密的個人資料並進行解密(步驟270)。透過上述步驟,即可透過第一區塊鏈網路110及第二區塊鏈網路120組成跨鏈架構,並且在第二區塊鏈網路120發布智能合約及儲存個人資料,當請求端150傳送身分識別存取請求至客戶端140時,客戶端140顯示請求內容並允許設定存取權限,以便請求端150透過應用程式介面以跨鏈方式自第二區塊鏈網路120取得相應的個人資料進行身分識別。
以下配合「第3圖」至「第5圖」以實施例的方式進行如下說明,請先參閱「第3圖」,「第3圖」為應用本發明於請求端請求存取個人資料進行身分識別之示意圖。當請求端150欲對待驗證者進行身分驗證時,可以在驗證視窗300的輸入區塊310中鍵入待驗證者的身分證字號,如:A123456789,以便請求相應的個人資料進行身分識別處理。當游標點選驗證元件320之後,請求模組151會先透過應用程式介面呼叫請求加密合約中的請求金鑰函式,如:「requestNewKey()」,以產生相應的加密公鑰,並且以此加密公鑰對身分識別存取請求進行加密,再將加密後的身分識別存取請求及請求端150本身的請求端公鑰一併透過應用程式介面傳送至請求識別存取合約的請求函式,用以取得相應且尚未授權的存取權杖。特別要說明的是,在發出加密的身分識別存取請求時,還會一併發出加密公鑰,以便客戶端140能夠根據此加密公鑰從第二區塊鏈網路120查詢相應的私鑰來對加密過的身分識別存取請求進行解密,進而獲得請求內容。
如「第4圖」所示意,「第4圖」為應用本發明於客戶端同意授權之示意圖。前面提到,客戶端140能夠根據加密公鑰從第二區塊鏈網路120查詢相應的私鑰來對加密過的身分識別存取請求進行解密,進而獲得請求內容。其方式是顯示模組141在偵測到身分識別存取請求後,透過應用程式介面呼叫請求識別存取合約中的取得請求函式,如:「getRequest()」,由這個取得請求函式呼叫請求加密合約中的取得私鑰函式,如:「getPrivateKey()」,取得相應的私鑰對加密過的身分識別存取請求進行解密,以便在「第4圖」所示意的權限設定視窗400中顯示請求內容,如:讀取姓名、讀取生日、讀取學歷、寫入姓名、寫入生日、寫入學歷等等,並且允許在相應處的設定元件410設定允許或拒絕等權限。當各項存取權限皆設定完成後,以游標點選確定元件420,此時,同意模組142將透過應用程式介面呼叫請求識別存取合約中的同意函式,如:「approve()」,以便根據設定元件410的設定來授權存取權杖具有相應的存取權限。至此,即完成存取權杖的存取權限之設定。要補充說明的是,所述請求內容還可包含:存取期限、存取權杖的更新策略,如:是否可更新、可更新的次數等等。接下來,同意模組142還會呼叫取得公鑰函式,如:「getPublicKey()」,取得請求端的公鑰(即:請求端公鑰),以便使用此請求端公鑰加密個人資料,並且上傳至第二區塊鏈網路120,例如:呼叫請求識別存取合約中的上傳身分識別資料函式「uploadIdentityData()」來上傳加密後的個人資料。
如「第5圖」所示意,「第5圖」為應用本發明於請求端瀏覽獲得的個人資料之示意圖。當客戶端140同意請求內容後,所述請求端150會透過應用程式介面呼叫取得識別資料函式,如:「getIdentityData()」,並且將存取權杖帶入此函式,此函式會檢查存取權杖是否過期,以及是否有存取相應資料的權限,倘若沒有問題,便能夠取得加密過的個人資料。接著,請求端150即可使用與請求端公鑰對應的私鑰來進行解密,並且可將解密後的各項個人資料分別顯示在瀏覽視窗500中的各顯示元件510,所述各項個人資料可包含身分證字號、姓名、生日、學歷等等。至此,請求端150即可根據解密後的各項個人資料來完成身分識別。由於第二區塊鏈網路120專門處理身分識別的運算,不會受到第一區塊鏈網路110的低效率影響,所以在身分識別上能夠達到高效率及低成本的目的,而第二區塊鏈網路120會定期將根雜湊記錄在其所屬的第一區塊鏈網路110(或稱為主鏈,如:以太坊主鏈)上,所以能夠通過根雜湊,使第一區塊鏈網路110也能夠擁有身分識別的功能。
綜上所述,可知本發明與先前技術之間的差異在於透過第一區塊鏈網路及第二區塊鏈網路組成跨鏈架構,並且在第二區塊鏈網路發布智能合約及儲存個人資料,當請求端傳送身分識別存取請求至客戶端時,客戶端顯示請求內容並允許設定存取權限,以便請求端透過應用程式介面以跨鏈方式自第二區塊鏈網路取得相應的個人資料進行身分識別,藉由此一技術手段可以解決先前技術所存在的問題,進而達成提高身分識別的處理效率及資料隱密性之技術功效。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
110‧‧‧第一區塊鏈網路
120‧‧‧第二區塊鏈網路
121‧‧‧共識端
130‧‧‧監管端
140‧‧‧客戶端
141‧‧‧顯示模組
142‧‧‧同意模組
150‧‧‧請求端
151‧‧‧請求模組
152‧‧‧存取模組
300‧‧‧驗證視窗
310‧‧‧輸入區塊
320‧‧‧驗證元件
400‧‧‧權限設定視窗
410‧‧‧設定元件
420‧‧‧確定元件
500‧‧‧瀏覽視窗
510‧‧‧顯示元件
步驟210‧‧‧監管端預先提供一應用程式介面以允許客戶端及請求端使用跨鏈方式存取第二區塊鏈網路的資料
步驟220‧‧‧監管端預先在該第二區塊鏈網路發布一請求加密合約及一請求識別存取合約
步驟230‧‧‧請求端在每次傳送一身分識別存取請求之前,透過該應用程式介面呼叫該請求加密合約中的一請求金鑰函式以產生一加密公鑰,並且先以該加密公鑰對該身分識別存取請求進行加密,再將加密後的該身分識別存取請求及所述請求端本身的一請求端公鑰一併透過該應用程式介面傳送至該請求識別存取合約的一請求函式,用以取得相應的一存取權杖
步驟240‧‧‧客戶端透過該應用程式介面偵測到該身分識別存取請求後,透過該應用程式介面呼叫該請求識別存取合約中的一取得請求函式,由該取得請求函式呼叫該請求加密合約中的一取得私鑰函式,取得相應的私鑰對該身分識別存取請求進行解密以顯示一請求內容
步驟250‧‧‧當所述客戶端同意該請求內容時,透過該應用程式介面呼叫該請求識別存取合約中的一同意函式授權該存取權杖具有存取權限,以及呼叫一取得公鑰函式獲得該請求端公鑰,以對一個人資料進行加密並上傳至該第二區塊鏈網路
步驟260‧‧‧每一共識端執行共識演算法且均具有一第二區塊鏈,以及定期將該第二區塊鏈的資料記錄在第一區塊鏈網路的一第一區塊鏈
步驟270‧‧‧所述請求端在所述客戶端同意該請求內容後,透過該應用程式介面呼叫一取得識別資料函式並帶入該存取權杖,用以取得加密的該個人資料並進行解密
第1圖為本發明基於跨鏈架構的身分識別管理系統之系統方塊圖。 第2A圖及第2B圖為本發明基於跨鏈架構的身分識別管理方法之方法流程圖。 第3圖為應用本發明於請求端請求存取個人資料進行身分識別之示意圖。 第4圖為應用本發明於客戶端同意授權之示意圖。 第5圖為應用本發明於請求端瀏覽獲得的個人資料之示意圖。
Claims (10)
- 一種基於跨鏈架構的身分識別管理系統,該系統包含: 一第一區塊鏈網路,由多個節點組成,每一節點均具有一第一區塊鏈; 一第二區塊鏈網路,該第二區塊鏈網路係由多個共識端組成的私有鏈,每一共識端執行共識演算法且均具有一第二區塊鏈,以及定期將該第二區塊鏈的資料記錄在該第一區塊鏈; 一監管端,該監管端為所述共識端其中之一,用以預先提供一應用程式介面以允許使用跨鏈方式存取該第二區塊鏈網路的資料,並且預先在該第二區塊鏈網路發布一請求加密合約及一請求識別存取合約; 至少一客戶端,每一客戶端均透過該應用程式介面以跨鏈方式與該第二區塊鏈網路連接,每一客戶端包含: 一顯示模組,用以在偵測到一身分識別存取請求後,透過該應用程式介面呼叫該請求識別存取合約中的一取得請求函式,由該取得請求函式呼叫該請求加密合約中的一取得私鑰函式,取得相應的私鑰對該身分識別存取請求進行解密以顯示一請求內容;以及 一同意模組,用以在同意該請求內容時,透過該應用程式介面呼叫該請求識別存取合約中的一同意函式授權一存取權杖具有存取權限,以及呼叫一取得公鑰函式獲得一請求端公鑰,以對所述客戶端的一個人資料進行加密並上傳至該第二區塊鏈網路;以及 至少一請求端,每一請求端均透過該應用程式介面以跨鏈方式與該第二區塊鏈網路連接,每一請求端包含: 一請求模組,用以在每次傳送該身分識別存取請求之前,透過該應用程式介面呼叫該請求加密合約中的一請求金鑰函式以產生一加密公鑰,並且先以該加密公鑰對該身分識別存取請求進行加密,再將加密後的該身分識別存取請求及所述請求端本身的該請求端公鑰一併透過該應用程式介面傳送至該請求識別存取合約的一請求函式,用以取得相應且尚未授權的一存取權杖;以及 一存取模組,用以在所述客戶端同意該請求內容後,透過該應用程式介面呼叫一取得識別資料函式並帶入具有存取權限的該存取權杖,用以取得加密的該個人資料並進行解密。
- 根據申請專利範圍第1項之基於跨鏈架構的身分識別管理系統,其中該請求內容包含存取權限範圍、存取期限、是否允許多次存取及是否允許更新該存取權杖或至少其中之一。
- 根據申請專利範圍第1項之基於跨鏈架構的身分識別管理系統,其中該請求識別存取合約包含一回覆期限及至少一預設存取權限,當所述客戶端在該回覆期限內未回應該身分識別存取請求時,直接根據所述預設存取權限對該存取權杖進行授權。
- 根據申請專利範圍第1項之基於跨鏈架構的身分識別管理系統,其中所述請求端以該加密公鑰對所有發送至該第二區塊鏈網路的資料進行加密,以及在發送資料時一併發送該加密公鑰,提供所述共識端自該請求加密合約中查詢出對應該加密公鑰的私鑰以進行解密。
- 根據申請專利範圍第1項之基於跨鏈架構的身分識別管理系統,其中該應用程式介面允許設置在獲得授權的所述共識端,用以使所述請求端及所述客戶端或兩者任一,透過該應用程式介面經由獲得授權的所述共識端呼叫該請求加密合約及該請求識別存取合約。
- 一種基於跨鏈架構的身分識別管理方法,應用在具有一第一區塊鏈網路、一第二區塊鏈網路、一監管端、至少一客戶端及至少一請求端的網路環境,該第二區塊鏈網路由多個共識端組成,所述共識端其中之一為該監管端,其步驟包括: 該監管端預先提供一應用程式介面以允許所述客戶端及所述請求端使用跨鏈方式存取該第二區塊鏈網路的資料; 該監管端預先在該第二區塊鏈網路發布一請求加密合約及一請求識別存取合約; 所述請求端在每次傳送一身分識別存取請求之前,透過該應用程式介面呼叫該請求加密合約中的一請求金鑰函式以產生一加密公鑰,並且先以該加密公鑰對該身分識別存取請求進行加密,再將加密後的該身分識別存取請求及所述請求端本身的一請求端公鑰一併透過該應用程式介面傳送至該請求識別存取合約的一請求函式,用以取得相應的一存取權杖; 所述客戶端透過該應用程式介面偵測到該身分識別存取請求後,透過該應用程式介面呼叫該請求識別存取合約中的一取得請求函式,由該取得請求函式呼叫該請求加密合約中的一取得私鑰函式,取得相應的私鑰對該身分識別存取請求進行解密以顯示一請求內容; 當所述客戶端同意該請求內容時,透過該應用程式介面呼叫該請求識別存取合約中的一同意函式授權該存取權杖具有存取權限,以及呼叫一取得公鑰函式獲得該請求端公鑰,以對一個人資料進行加密並上傳至該第二區塊鏈網路; 每一共識端執行共識演算法且均具有一第二區塊鏈,以及定期將該第二區塊鏈的資料記錄在該第一區塊鏈網路的一第一區塊鏈;以及 所述請求端在所述客戶端同意該請求內容後,透過該應用程式介面呼叫一取得識別資料函式並帶入該存取權杖,用以取得加密的該個人資料並進行解密。
- 根據申請專利範圍第6項之基於跨鏈架構的身分識別管理方法,其中該請求內容包含存取權限範圍、存取期限、是否允許多次存取及是否允許更新該存取權杖或至少其中之一。
- 根據申請專利範圍第6項之基於跨鏈架構的身分識別管理方法,其中該請求識別存取合約包含一回覆期限及至少一預設存取權限,當所述客戶端在該回覆期限內未回應該身分識別存取請求時,直接根據所述預設存取權限對該存取權杖進行授權。
- 根據申請專利範圍第6項之基於跨鏈架構的身分識別管理方法,其中所述請求端以該加密公鑰對所有發送至該第二區塊鏈網路的資料進行加密,以及在發送資料時一併發送該加密公鑰,提供所述共識端自該請求加密合約中查詢出對應該加密公鑰的私鑰以進行解密。
- 根據申請專利範圍第6項之基於跨鏈架構的身分識別管理方法,其中該應用程式介面允許設置在獲得授權的所述共識端,用以使所述請求端及所述客戶端或兩者任一,透過該應用程式介面經由獲得授權的所述共識端呼叫該請求加密合約及該請求識別存取合約。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107123646A TWI663865B (zh) | 2018-07-09 | 2018-07-09 | 基於跨鏈架構的身分識別管理系統及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107123646A TWI663865B (zh) | 2018-07-09 | 2018-07-09 | 基於跨鏈架構的身分識別管理系統及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI663865B true TWI663865B (zh) | 2019-06-21 |
TW202007115A TW202007115A (zh) | 2020-02-01 |
Family
ID=67764653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107123646A TWI663865B (zh) | 2018-07-09 | 2018-07-09 | 基於跨鏈架構的身分識別管理系統及其方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI663865B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI733328B (zh) * | 2019-06-28 | 2021-07-11 | 開曼群島商創新先進技術有限公司 | 跨鏈發送可認證訊息的方法和裝置 |
TWI737165B (zh) * | 2019-06-28 | 2021-08-21 | 開曼群島商創新先進技術有限公司 | 跨鏈發送資源的方法和裝置 |
TWI738208B (zh) * | 2019-06-28 | 2021-09-01 | 開曼群島商創新先進技術有限公司 | 跨鏈發送可認證訊息的方法和裝置 |
US11184395B1 (en) | 2020-05-13 | 2021-11-23 | International Business Machines Corporation | Cross-network identity provisioning |
US11251966B2 (en) | 2019-06-28 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
US11336451B2 (en) | 2019-06-28 | 2022-05-17 | Advanced New Technologies Co., Ltd. | Cross-blockchain resource transmission |
US11356282B2 (en) | 2019-06-28 | 2022-06-07 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160330034A1 (en) * | 2015-05-07 | 2016-11-10 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
CN106447309A (zh) * | 2016-11-13 | 2017-02-22 | 杭州复杂美科技有限公司 | 源链侧链跨链交易 |
CN106779708A (zh) * | 2016-12-23 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于智能合约的区块链上参与方身份管理方法及系统 |
CN107464112A (zh) * | 2017-07-20 | 2017-12-12 | 捷德(中国)信息科技有限公司 | 基于区块链的交易管理方法及系统 |
US20170366348A1 (en) * | 2016-06-17 | 2017-12-21 | Capital One Services, Llc | Blockchain systems and methods for user authentication |
CN107528886A (zh) * | 2017-07-25 | 2017-12-29 | 中国科学院计算技术研究所 | 区块链全网拆分方法与系统 |
TW201812674A (zh) * | 2016-07-08 | 2018-04-01 | 英商凱理普特恩國際有限公司 | 分散式交易處理與認證系統 |
-
2018
- 2018-07-09 TW TW107123646A patent/TWI663865B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160330034A1 (en) * | 2015-05-07 | 2016-11-10 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
US20170366348A1 (en) * | 2016-06-17 | 2017-12-21 | Capital One Services, Llc | Blockchain systems and methods for user authentication |
TW201812674A (zh) * | 2016-07-08 | 2018-04-01 | 英商凱理普特恩國際有限公司 | 分散式交易處理與認證系統 |
CN106447309A (zh) * | 2016-11-13 | 2017-02-22 | 杭州复杂美科技有限公司 | 源链侧链跨链交易 |
CN106779708A (zh) * | 2016-12-23 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于智能合约的区块链上参与方身份管理方法及系统 |
CN107464112A (zh) * | 2017-07-20 | 2017-12-12 | 捷德(中国)信息科技有限公司 | 基于区块链的交易管理方法及系统 |
CN107528886A (zh) * | 2017-07-25 | 2017-12-29 | 中国科学院计算技术研究所 | 区块链全网拆分方法与系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI733328B (zh) * | 2019-06-28 | 2021-07-11 | 開曼群島商創新先進技術有限公司 | 跨鏈發送可認證訊息的方法和裝置 |
TWI737165B (zh) * | 2019-06-28 | 2021-08-21 | 開曼群島商創新先進技術有限公司 | 跨鏈發送資源的方法和裝置 |
TWI738208B (zh) * | 2019-06-28 | 2021-09-01 | 開曼群島商創新先進技術有限公司 | 跨鏈發送可認證訊息的方法和裝置 |
US11251966B2 (en) | 2019-06-28 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
US11336465B2 (en) | 2019-06-28 | 2022-05-17 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
US11336451B2 (en) | 2019-06-28 | 2022-05-17 | Advanced New Technologies Co., Ltd. | Cross-blockchain resource transmission |
US11343103B2 (en) | 2019-06-28 | 2022-05-24 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
US11356282B2 (en) | 2019-06-28 | 2022-06-07 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
US11184395B1 (en) | 2020-05-13 | 2021-11-23 | International Business Machines Corporation | Cross-network identity provisioning |
Also Published As
Publication number | Publication date |
---|---|
TW202007115A (zh) | 2020-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI663865B (zh) | 基於跨鏈架構的身分識別管理系統及其方法 | |
US11659392B2 (en) | Secure mobile initiated authentications to web-services | |
US10764752B1 (en) | Secure mobile initiated authentication | |
TWI707245B (zh) | 使用高可用性的可信執行環境檢索區塊鏈網路的存取資料 | |
US10735202B2 (en) | Anonymous consent and data sharing on a blockchain | |
TWI737240B (zh) | 提高區塊鏈網路與外部資料源之間的通信的完整性 | |
US11057366B2 (en) | Federated identity management with decentralized computing platforms | |
US11196573B2 (en) | Secure de-centralized domain name system | |
EP3777028B1 (en) | Generating and linking private transaction identifiers to distributed data repositories | |
CN110417750B (zh) | 基于区块链技术的文件读取和存储的方法、终端设备和存储介质 | |
US20210083872A1 (en) | Systems, methods, and devices for secure blockchain transaction and subnetworks | |
Yavari et al. | An improved blockchain-based authentication protocol for IoT network management | |
US10187373B1 (en) | Hierarchical, deterministic, one-time login tokens | |
US20210056541A1 (en) | Method and system for mobile cryptocurrency wallet connectivity | |
WO2019127278A1 (zh) | 安全访问区块链的方法、装置、系统、存储介质及电子设备 | |
CN115699000A (zh) | 通过计算机网络进行安全的多边数据交换的方法、装置和计算机可读介质 | |
JP2023502346A (ja) | 量子安全ネットワーキング | |
KR102116235B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
KR102118962B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
JP7090161B2 (ja) | セキュアな取引のための装置の自己認証 | |
CN110445840B (zh) | 一种基于区块链技术的文件存储和读取的方法 | |
JP2022534677A (ja) | ブロックチェーンを使用するオンラインアプリケーションおよびウェブページの保護 | |
WO2022227799A1 (zh) | 设备注册方法及装置、计算机设备、存储介质 | |
TWI783265B (zh) | 基於區塊鏈的資料加密登錄與多方授權驗證系統及其方法 | |
CN116527404B (zh) | 基于区块链的数字藏品定向分享方法及系统 |