TWI742670B - Terminal device, server and method for private key protection and transaction supervision in blockchains - Google Patents

Terminal device, server and method for private key protection and transaction supervision in blockchains Download PDF

Info

Publication number
TWI742670B
TWI742670B TW109116528A TW109116528A TWI742670B TW I742670 B TWI742670 B TW I742670B TW 109116528 A TW109116528 A TW 109116528A TW 109116528 A TW109116528 A TW 109116528A TW I742670 B TWI742670 B TW I742670B
Authority
TW
Taiwan
Prior art keywords
secret
data
key
public key
terminal device
Prior art date
Application number
TW109116528A
Other languages
Chinese (zh)
Other versions
TW202145757A (en
Inventor
張明哲
江彬榮
張明信
徐克華
Original Assignee
中華電信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW109116528A priority Critical patent/TWI742670B/en
Application granted granted Critical
Publication of TWI742670B publication Critical patent/TWI742670B/en
Publication of TW202145757A publication Critical patent/TW202145757A/en

Links

Images

Abstract

A terminal device, a server and a method for private key protection and transaction supervision in blockchains are provided, which adopt the security mechanism of secret sharing and multi-factor authentication and adopt the structure and process of third-party supervision to achieve secure and transparent blockchain transactions and protection and management of private keys.

Description

用於區塊鏈金鑰保管與交易監理的終端設備、伺服器與方法 Terminal equipment, server and method for blockchain key storage and transaction supervision

本發明係有關於區塊鏈交易與其相關之金鑰,且特別有關於區塊鏈金鑰保管與交易監理的終端設備、伺服器與方法。 The present invention relates to blockchain transactions and related keys, and particularly relates to terminal equipment, servers, and methods for blockchain key storage and transaction supervision.

在區塊鏈的技術中,區塊鏈的帳戶擁有一組金鑰對,其中的公開金鑰對應到帳戶的交易位址,而私密金鑰則需由帳戶使用者自行保管,或是由交易所代為保管。當帳戶使用者需要進行區塊鏈的交易時,自行保管金鑰者會使用設定好的密碼解密取出私密金鑰進行簽章的運算,而那些透過交易所進行區塊鏈交易者,則通常由交易所代為保管私密金鑰,也代他們執行區塊鏈交易簽章等作業。這兩種習用的私密金鑰保管方式各有其缺點:自行保管金鑰者當儲存金鑰的終端設備遺失或被竊取時,就會造成帳戶的財務損失;而讓交易所代管私密金鑰的方式則易有監守自盜及駭客入侵等問題。 In blockchain technology, a blockchain account has a set of key pairs, where the public key corresponds to the transaction address of the account, and the private key needs to be kept by the account user, or by the transaction Keep it on your behalf. When an account user needs to conduct a blockchain transaction, those who keep the key will use the set password to decrypt the private key to perform the signature calculation. Those who conduct blockchain transactions through the exchange are usually The exchange keeps the private keys on their behalf, and also performs blockchain transaction signatures and other operations on their behalf. These two conventional private key storage methods have their own shortcomings: if the terminal device storing the key is lost or stolen by the person who keeps the key, it will cause financial loss to the account; and let the exchange take charge of the private key The method is prone to problems such as guarding theft and hacking.

目前已存在的習用技術的安全性仍有待提高,且未能完全解決目前公開區塊鏈存在的私密金鑰保管與交易所代管的相關問題,而且這些習用技術尚無法提供包含區塊鏈的私密金鑰保管與交易監理機制的完整系統架構。 The security of the existing conventional technologies still needs to be improved, and it has not fully solved the problems related to the custody of private keys and exchange escrow in the current public blockchain, and these conventional technologies are not yet able to provide blockchain-based technologies. The complete system architecture of the private key custody and transaction supervision mechanism.

為解決上述問題並達成上述目的,本發明提供一種終端設備,用於產製相對應的公開金鑰及私密金鑰,包括:金鑰分持註冊終端模組,用於根據該私密金鑰使用機密分持演算法產生第一機密分持資料及第二機密分持資料,使用第一機制加密該第二機密分持資料以產生該第二機密分持資料的密文,使用該私密金鑰簽署該公開金鑰、該第二機密分持資料的密文及帳戶位址以產生第一數位簽章後,將該公開金鑰、該第二機密分持資料的密文、該帳戶位址及該第一數位簽章傳送至伺服器,使用第二機制將該第一機密分持資料儲存於該終端設備。 In order to solve the above-mentioned problems and achieve the above-mentioned objects, the present invention provides a terminal device for producing corresponding public and private keys, including: key-shared registration terminal modules for use according to the private key The secret sharing algorithm generates the first secret sharing data and the second secret sharing data, using the first mechanism to encrypt the second secret sharing data to generate the ciphertext of the second secret sharing data, using the private key After signing the public key, the ciphertext of the second secret shared data and the account address to generate the first digital signature, the public key, the ciphertext of the second secret shared data, and the account address And the first digital signature is sent to the server, and the first secret shared data is stored in the terminal device using a second mechanism.

本發明另提供一種伺服器,包括:金鑰註冊伺服模組,用於自終端設備接收公開金鑰、根據對應該公開金鑰的私密金鑰產生的第一機密分持資料的密文、帳戶位址及第一數位簽章,以該公開金鑰驗證該第一數位簽章,再以該帳戶位址為索引建立並儲存註冊資料,其中,該註冊資料包括該公開金鑰及該第一機密分持資料的密文。 The present invention also provides a server, including: a key registration server module for receiving a public key from a terminal device, a ciphertext of the first secret shared data generated according to the private key corresponding to the public key, and an account Address and the first digital signature, use the public key to verify the first digital signature, and then use the account address as an index to create and store registration data, where the registration data includes the public key and the first The ciphertext of the confidential information.

本發明另提供一種金鑰分持與註冊方法,由終端設備執行,包括:產製相對應的公開金鑰及私密金鑰;根據該私密金鑰使用機密分持演算法產生第一機密分持資料及第二機密分持資料;使用第一機制加密該第二機密分持資料以產生該第二機密分持資料的密文;使用該私密金鑰簽署該公開金鑰、該第二 機密分持資料的密文及帳戶位址以產生第一數位簽章;將該公開金鑰、該第二機密分持資料的密文、該帳戶位址及該第一數位簽章傳送至伺服器;以及,使用第二機制將該第一機密分持資料儲存於該終端設備。 The present invention also provides a method for key sharing and registration, executed by a terminal device, including: producing a corresponding public key and a private key; according to the private key, a secret sharing algorithm is used to generate the first secret sharing Data and second secret sharing data; using the first mechanism to encrypt the second secret sharing data to generate the ciphertext of the second secret sharing data; using the private key to sign the public key, the second The ciphertext and account address of the confidential shared data are used to generate the first digital signature; the public key, the ciphertext of the second confidential shared data, the account address and the first digital signature are sent to the server器; and, using a second mechanism to store the first confidential share data in the terminal device.

本發明另提供一種金鑰分持與註冊方法,由伺服器執行,包括:自終端設備接收公開金鑰、根據對應該公開金鑰的私密金鑰產生的第一機密分持資料的密文、帳戶位址及第一數位簽章;以該公開金鑰驗證該第一數位簽章;以及,以該帳戶位址為索引建立並儲存註冊資料,其中,該註冊資料包括該公開金鑰及該第一機密分持資料的密文。 The present invention also provides a method for key sharing and registration, which is executed by a server, and includes: receiving a public key from a terminal device, ciphertext of the first secret shared data generated according to the private key corresponding to the public key, The account address and the first digital signature; the public key is used to verify the first digital signature; and the account address is used as an index to create and store registration information, where the registration information includes the public key and the The first secret holds the ciphertext of the data.

基於上述之金鑰機密分持與多因素驗證,本發明建立一種適用於公開區塊鏈的私密金鑰保管及交易監理系統與方法,以改善習用技術在交易透明度、金鑰可用性、駭客入侵、監守自盜等方面的缺失,並提供一種具有公開透明、高可用性、高安全性且易於使用的金鑰管理系統及區塊鏈交易流程。 Based on the above-mentioned key secret sharing and multi-factor verification, the present invention establishes a private key custody and transaction supervision system and method suitable for public blockchains to improve transaction transparency, key availability, and hacker intrusion. , Guard against the deficiencies of self-theft, and provide a key management system and blockchain transaction process that is open, transparent, high-availability, high-security, and easy-to-use.

10:區塊鏈金鑰保管與交易監理系統 10: Blockchain key custody and transaction supervision system

100:終端設備 100: terminal equipment

101:金鑰分持註冊終端模組 101: Key share registration terminal module

102:區塊鏈交易終端模組 102: Blockchain transaction terminal module

103:金鑰回復終端模組 103: Key recovery terminal module

104:密碼重置終端模組 104: Password reset terminal module

200:私密金鑰 200: private key

300:伺服器 300: server

301:金鑰註冊伺服模組 301: Key registration server module

302:交易監理伺服模組 302: Transaction Supervision Servo Module

303:金鑰回復伺服模組 303: Key Recovery Servo Module

304:密碼重置伺服模組 304: Password reset servo module

400:外部儲存裝置 400: External storage device

500:區塊鏈 500: Blockchain

600:數位簽章 600: digital signature

S1~S3:機密分持資料 S1~S3: Confidential holding information

S202~S224:方法步驟 S202~S224: Method steps

S302~S338:方法步驟 S302~S338: Method steps

S402~S442:方法步驟 S402~S442: Method steps

S502~S516:方法步驟 S502~S516: method steps

S602~S630:方法步驟 S602~S630: method steps

第1圖為根據本發明一實施例的一種區塊鏈金鑰保管與交易監理系統的示意圖。 Figure 1 is a schematic diagram of a blockchain key storage and transaction supervision system according to an embodiment of the present invention.

第2圖為根據本發明一實施例的一種金鑰分持與註冊方法的流程圖。 Figure 2 is a flowchart of a method for key sharing and registration according to an embodiment of the invention.

第3A圖和第3B圖為根據本發明一實施例的一種區塊鏈交易監理方法的流程圖。 Figures 3A and 3B are flowcharts of a blockchain transaction supervision method according to an embodiment of the present invention.

第4A圖和第4B圖為根據本發明一實施例的一種金鑰回復方法的流程圖。 4A and 4B are flowcharts of a key recovery method according to an embodiment of the invention.

第5圖為根據本發明一實施例的一種無監理區塊鏈交易方法的流程圖。 Figure 5 is a flowchart of an unsupervised blockchain transaction method according to an embodiment of the present invention.

第6A圖和第6B圖為根據本發明一實施例的一種密碼重置方法的流程圖。 6A and 6B are flowcharts of a password reset method according to an embodiment of the present invention.

以下藉由特定的具體實施例說明本發明之實施方式,熟悉此技藝之人士可由本說明書所揭示之內容輕易地瞭解本發明之其他優點及功效。 The following specific examples illustrate the implementation of the present invention. Those familiar with the art can easily understand the other advantages and effects of the present invention from the contents disclosed in this specification.

請參照第1圖,其為根據本發明一實施例的一種區塊鏈金鑰保管與交易監理系統10(以下簡稱系統10)的示意圖。系統10包括終端設備100、伺服器300、以及外部儲存裝置400。本實施例中,使用者會使用終端設備100在伺服器300註冊帳戶以在區塊鏈500中進行交易,該使用者為終端設備100和外部儲存裝置400的擁有者。區塊鏈500可為公開區塊鏈,也可為其他種類的區塊鏈。 Please refer to FIG. 1, which is a schematic diagram of a blockchain key storage and transaction supervision system 10 (hereinafter referred to as the system 10) according to an embodiment of the present invention. The system 10 includes a terminal device 100, a server 300, and an external storage device 400. In this embodiment, the user will use the terminal device 100 to register an account on the server 300 to conduct transactions in the blockchain 500, and the user is the owner of the terminal device 100 and the external storage device 400. The blockchain 500 may be a public blockchain or other types of blockchains.

為了帳戶與交易的安全,終端設備100會產生使用者的帳戶的金鑰對,即相對應的公開金鑰(圖未示)與私密金鑰200,並使用該金鑰對進行區塊鏈交易,例如使用私密金鑰200產生交易所需的數位簽章600。為了保護私密金鑰200,終端設備100會使用機密分持演算法,將私密金鑰200分解為三份機密分持資料S1、S2及S3,並將機密分持資料S1~S3分別儲存於終端設備100、伺服器300和外部儲存裝置400,且機密分持資料S1~S3分別以不同機制保護。在此實施例中,機密分持資料S1以終端設備100的生物特徵辨識存取控管機制保護,意即,每當使用者需要存取機密分持資料S1,則必須以指紋、臉型和/或 虹膜等各種生物特徵通過終端設備100的生物特徵辨識,若使用者未通過生物特徵辨識,則無法存取機密分持資料S1;機密分持資料S2以密碼加密保護,該密碼由使用者提供;機密分持資料S3則以外部儲存裝置400與外界之間的物理隔離保護。在此實施例中,機密分持資料S1~S3的分散儲存,以及生物特徵和密碼加密等不同保護機制,構成了本發明的分散式多因素驗證的安全機制,而S1、S2、S3的保護機制可交替使用,例如可使用密碼加密保護機密分持資料S1,以終端設備100的生物特徵辨識存取控管機制保護機密分持資料S2等可實施機制。 For the security of the account and transaction, the terminal device 100 will generate a key pair of the user's account, that is, the corresponding public key (not shown) and the private key 200, and use the key pair to perform blockchain transactions For example, the private key 200 is used to generate the digital signature 600 required for the transaction. In order to protect the private key 200, the terminal device 100 uses a secret sharing algorithm to decompose the private key 200 into three secret sharing data S1, S2, and S3, and storing the secret sharing data S1~S3 in the terminal respectively The device 100, the server 300, and the external storage device 400, and the confidential shared data S1 to S3 are respectively protected by different mechanisms. In this embodiment, the confidential shared data S1 is protected by the biometric access control mechanism of the terminal device 100, which means that whenever the user needs to access the confidential shared data S1, the fingerprint, face and/ or Various biological characteristics such as iris are recognized by the biological characteristics of the terminal device 100. If the user does not pass the biological recognition, the confidential share data S1 cannot be accessed; the confidential share data S2 is encrypted and protected with a password, which is provided by the user; The confidential shared data S3 is protected by physical isolation between the external storage device 400 and the outside world. In this embodiment, the distributed storage of confidential shared data S1~S3, as well as different protection mechanisms such as biometrics and password encryption, constitute the security mechanism of the decentralized multi-factor authentication of the present invention, and the protection of S1, S2, and S3 The mechanisms can be used interchangeably. For example, a password can be used to encrypt the confidential shared data S1, and the biometric identification access control mechanism of the terminal device 100 can be used to protect the confidential shared data S2.

本實施例所使用的機密分持演算法為夏米爾機密分持演算法(Shamir’s secret sharing scheme),係在有限域的多項式組合中,利用差補法找出多項式子集合的係數,而能以(k,n)門檻組合的方式來分享機密s,其中,k為門檻值,n則為機密之分持總數,0<k≦n,且機密s為私密金鑰200。本實施例採用k=2,n=3的門檻組合將私密金鑰拆分為3份機密分持資料S1~S3,後續至少需要任意2份機密分持資料參與分持演算法以組成原來的私密金鑰200。 The secret sharing algorithm used in this embodiment is Shamir's secret sharing scheme, which is based on the combination of polynomials in a finite field, using the difference complement method to find the coefficients of the polynomial subsets, and can use The secret s is shared by a combination of (k,n) thresholds, where k is the threshold, n is the total number of secrets, 0<k≦n, and secret s is the private key 200. In this embodiment, the threshold combination of k=2, n=3 is used to split the private key into 3 pieces of confidential shared data S1~S3. In the following, at least any 2 pieces of confidential shared data are required to participate in the sharing algorithm to form the original Private key 200.

伺服器300除了保管第二份機密分持資料S2,在區塊鏈交易的過程中也擔任第三方監理的角色,提供交易流程的資訊監理與驗證的功能,以保障交易透明度,避免終端設備100遭破解或植入惡意軟體時簽署了被竄改的交易內容。另外,在私密金鑰200或密碼遺失的情形中,使用者可使用外部儲存裝置400的機密分持資料S3連線至伺服器300,聯合伺服器300保管的機密分持資料S2進行金鑰復原與重新分解、儲存的作業。另外,若是伺服器300由於網路或其他問題而處於無法服務的狀態時,終端設備100也能自外部儲存裝置400取得機密分持資料S3,而進行緊急狀況下的區塊鏈交易。因此,本實施例的系統 10與其執行的方法流程可達成安全透明的區塊鏈交易及完善的私密金鑰保護管理功能。 In addition to keeping the second confidential share data S2, the server 300 also acts as a third-party supervisor in the process of blockchain transactions, providing information supervision and verification functions of the transaction process to ensure transaction transparency and avoid terminal equipment 100 Signed the altered transaction content when it was cracked or implanted with malicious software. In addition, in the event that the private key 200 or the password is lost, the user can use the confidential share data S3 of the external storage device 400 to connect to the server 300, and perform key recovery in conjunction with the confidential share data S2 kept by the server 300 And re-decomposition and storage operations. In addition, if the server 300 is out of service due to network or other problems, the terminal device 100 can also obtain the confidential share data S3 from the external storage device 400 to perform blockchain transactions in emergency situations. Therefore, the system of this embodiment 10 The method and process executed by it can achieve safe and transparent blockchain transactions and perfect private key protection and management functions.

終端設備100可為智慧型手機、筆記型電腦或個人電腦等具有資訊傳送、接收與處理能力的電子裝置。終端設備100包括金鑰分持註冊終端模組101、區塊鏈交易終端模組102、金鑰回復終端模組103、以及密碼重置終端模組104。以上終端模組101~104均可為硬體、軟體或韌體。若終端模組101~104為軟體,則可由終端設備100的作業系統執行,或者,終端模組101~104可依附於終端設備100的應用程式,由該應用程式呼叫執行,其中,該應用程式可例如為瀏覽器。 The terminal device 100 can be an electronic device capable of information transmission, reception, and processing, such as a smart phone, a notebook computer, or a personal computer. The terminal device 100 includes a key share registration terminal module 101, a blockchain transaction terminal module 102, a key recovery terminal module 103, and a password reset terminal module 104. The above terminal modules 101~104 can be hardware, software or firmware. If the terminal modules 101~104 are software, they can be executed by the operating system of the terminal device 100, or the terminal modules 101~104 can be attached to the application program of the terminal device 100 and be called and executed by the application program. It can be, for example, a browser.

伺服器300包括金鑰註冊伺服模組301、交易監理伺服模組302、金鑰回復伺服模組303、以及密碼重置伺服模組304。以上伺服模組301~304分別對應終端模組101~104,且伺服模組301~304均可為硬體、軟體或韌體。終端設備100可通過有線網路或無線網路連接伺服器300。 The server 300 includes a key registration server module 301, a transaction supervision server module 302, a key recovery server module 303, and a password reset server module 304. The above servo modules 301 to 304 correspond to the terminal modules 101 to 104, respectively, and the servo modules 301 to 304 can be hardware, software, or firmware. The terminal device 100 can be connected to the server 300 via a wired network or a wireless network.

外部儲存裝置400為獨立於終端設備100且獨立於伺服器300的資訊儲存裝置或媒體,例如隨身碟、硬碟或光碟,本發明不限於以上種類。平常不需要機密分持資料S3時,外部儲存裝置400係與外界物理隔離,所以不需要密碼加密或生物特徵辨識等防護措施,即可保護機密分持資料S3不受駭客竊取。 The external storage device 400 is an information storage device or medium independent of the terminal device 100 and independent of the server 300, such as a flash drive, a hard disk, or an optical disk, and the present invention is not limited to the above types. When the confidential share data S3 is usually not required, the external storage device 400 is physically isolated from the outside world, so no protective measures such as password encryption or biometric identification are needed to protect the confidential share data S3 from hackers.

以下參照第2圖至第6B圖說明終端設備100的終端模組101~104及伺服器300的伺服模組301~304,與其聯合執行的金鑰分持與註冊方法、區塊鏈交易監理方法、金鑰回復方法、無監理區塊鏈交易方法、以及密碼重置方法的流程。 Hereinafter, referring to Figures 2 to 6B, the terminal modules 101 to 104 of the terminal device 100 and the server modules 301 to 304 of the server 300 will be described in conjunction with the key sharing and registration method, and the blockchain transaction supervision method. , The process of key recovery method, unsupervised blockchain transaction method, and password reset method.

請參照第2圖,其為根據本發明~實施例的一種金鑰分持與註冊方法的流程圖。當使用者需要註冊一個帳號以進行區塊鏈交易時,可使用終端設備100開始執行此金鑰分持與註冊方法。首先,終端設備100產製使用者的帳號的互相對應的公開金鑰及私密金鑰(S202)。然後,終端設備100的金鑰分持註冊終端模組101使用機密分持演算法,將私密金鑰分解為機密分持資料S1、S2及S3(S204),以使用者輸入的密碼加密機密分持資料S2以產生機密分持資料S2的密文(S206),使用私密金鑰簽署公開金鑰、機密分持資料S2的密文及帳戶位址以產生數位簽章(S208),並將公開金鑰、機密分持資料S2的密文、帳戶位址及數位簽章傳送至伺服器300(S210)。其中,帳戶位址為使用者在區塊鏈500中的交易位址。 Please refer to Figure 2, which is a flowchart of a method for key sharing and registration according to embodiments of the present invention. When the user needs to register an account for blockchain transactions, the terminal device 100 can be used to start the key sharing and registration method. First, the terminal device 100 produces the public key and the private key corresponding to each other of the user's account (S202). Then, the key sharing registration terminal module 101 of the terminal device 100 uses the secret sharing algorithm to decompose the private key into the secret sharing data S1, S2, and S3 (S204), and encrypts the secret sharing with the password entered by the user. Hold the data S2 to generate the cipher text of the confidential share data S2 (S206), use the private key to sign the public key, the cipher text of the confidential share data S2 and the account address to generate a digital signature (S208), and make it public The key, the ciphertext of the secret holding data S2, the account address and the digital signature are sent to the server 300 (S210). Among them, the account address is the user's transaction address in the blockchain 500.

然後,伺服器300的金鑰註冊伺服模組301自終端設備100接收公開金鑰、機密分持資料S2的密文、帳戶位址及數位簽章(S212),以公開金鑰驗證數位簽章(S214)。若數位簽章驗證有誤,則流程結束。若數位簽章驗證無誤,則金鑰註冊伺服模組301以帳戶位址為索引建立並儲存註冊資料(S216),其中,該註冊資料包括公開金鑰及機密分持資料S2的密文。然後,金鑰註冊伺服模組301將註冊結果傳送至終端設備100(S218)。 Then, the key registration server module 301 of the server 300 receives the public key, the ciphertext of the confidential share data S2, the account address and the digital signature from the terminal device 100 (S212), and verifies the digital signature with the public key (S214). If the digital signature verification is incorrect, the process ends. If the digital signature verification is correct, the key registration server module 301 uses the account address as an index to create and store the registration data (S216), where the registration data includes the ciphertext of the public key and the secret sharing data S2. Then, the key registration server module 301 transmits the registration result to the terminal device 100 (S218).

然後,終端設備100的金鑰分持註冊終端模組101接收註冊結果(S220)。若註冊結果失敗,則流程結束。若註冊結果成功,則金鑰分持註冊終端模組101使用生物特徵辨識存取控管機制將機密分持資料S1儲存於終端設備100(S222),並將機密分持資料S3儲存於外部儲存裝置400(S224)。流程至此結束。 Then, the key sharing registration terminal module 101 of the terminal device 100 receives the registration result (S220). If the registration result fails, the process ends. If the registration result is successful, the key share registration terminal module 101 uses the biometric access control mechanism to store the confidential share data S1 in the terminal device 100 (S222), and store the confidential share data S3 in the external storage The device 400 (S224). The process ends here.

請參照第3A圖和第3B圖,其為根據本發明一實施例的一種區塊鏈交易監理方法的流程圖。為了進行區塊鏈交易,首先,使用者以終端設備100的瀏覽器的加密安全功能連線至伺服器300提供的專屬網頁,在網頁中輸入區塊鏈交易的寄方位址、收方位址與交易金額等交易資訊。例如,寄方位址可為使用者的帳戶位址。瀏覽器因此取得上述交易資訊(S302),並使用安全連線將交易資訊傳送至伺服器300(S304)。接著,瀏覽器啟動終端設備100的區塊鏈交易終端模組102,區塊鏈交易終端模組102通過生物特徵辨識存取控管機制取得終端設備100保管的機密分持資料S1(S306),在此,使用者必須通過終端設備100的生物特徵辨識。如果辨識失敗,則流程結束。如果辨識成功,則區塊鏈交易終端模組102可順利取得終端設備100保管的機密分持資料S1。 Please refer to FIG. 3A and FIG. 3B, which are flowcharts of a block chain transaction supervision method according to an embodiment of the present invention. In order to perform a blockchain transaction, first, the user connects to the dedicated webpage provided by the server 300 with the encrypted security function of the browser of the terminal device 100, and enters the sender address, recipient address, and address of the blockchain transaction on the webpage. Transaction information such as transaction amount. For example, the sender address can be the user's account address. The browser thus obtains the above-mentioned transaction information (S302), and uses a secure connection to transmit the transaction information to the server 300 (S304). Then, the browser activates the blockchain transaction terminal module 102 of the terminal device 100, and the blockchain transaction terminal module 102 obtains the confidential share data S1 kept by the terminal device 100 through the biometric access control mechanism (S306), Here, the user must recognize the biological characteristics of the terminal device 100. If the identification fails, the process ends. If the identification is successful, the blockchain transaction terminal module 102 can successfully obtain the confidential share data S1 kept by the terminal device 100.

在終端設備100執行步驟S306的同時,伺服器300的交易監理伺服模組302自終端設備100接收交易資訊(S308),接著檢查並記錄交易資訊(S310)。上述的檢查為檢查伺服器300是否已儲存交易資訊中的寄方位址所對應的註冊資料。若不存在該註冊資料,則流程結束。若伺服器300已儲存該註冊資料,則交易監理伺服模組302以該交易資訊中的寄方位址為索引,取得寄方位址所對應的註冊資料中的公開金鑰及機密分持資料S2的密文(S312),以隨機亂數產生一個交易識別碼(S314),將機密分持資料S2的密文和交易識別碼傳送至終端設備100(S316)。 While the terminal device 100 executes step S306, the transaction supervision server module 302 of the server 300 receives transaction information from the terminal device 100 (S308), and then checks and records the transaction information (S310). The above check is to check whether the server 300 has stored the registration data corresponding to the sender address in the transaction information. If the registration information does not exist, the process ends. If the server 300 has stored the registration data, the transaction supervision server module 302 uses the sender address in the transaction information as an index to obtain the public key and confidential share data S2 in the registration data corresponding to the sender address The cipher text (S312) is used to generate a transaction identification code with a random random number (S314), and the cipher text of the confidential share data S2 and the transaction identification code are transmitted to the terminal device 100 (S316).

然後,終端設備100的區塊鏈交易終端模組102自伺服器300接收機密分持資料S2的密文和交易識別碼(S318),以使用者輸入的密碼解密機密分持資料S2的密文(S320)。如果因為密碼錯誤等原因導致解密失敗,則流程結束。如果解密成功,則區塊鏈交易終端模組102可順利取得機密分持資料S2。 接著,區塊鏈交易終端模組102使用機密分持資料S1及S2組合私密金鑰(S322),使用私密金鑰簽署交易資訊和交易識別碼以產生數位簽章(S324),並將交易資訊、交易識別碼及數位簽章傳送至伺服器300以進行區塊鏈交易(S326)。 Then, the blockchain transaction terminal module 102 of the terminal device 100 receives the cipher text of the confidential share data S2 and the transaction identification code from the server 300 (S318), and decrypts the cipher text of the confidential share data S2 with the password entered by the user (S320). If the decryption fails due to a wrong password or other reasons, the process ends. If the decryption is successful, the blockchain transaction terminal module 102 can successfully obtain the confidential share data S2. Next, the blockchain transaction terminal module 102 uses the secret shared data S1 and S2 to combine the private key (S322), uses the private key to sign the transaction information and the transaction identification code to generate a digital signature (S324), and sends the transaction information , The transaction identification code and the digital signature are sent to the server 300 for blockchain transaction (S326).

然後,伺服器300的交易監理伺服模組302自終端設備100接收交易資訊、交易識別碼和數位簽章(S328),並以公開金鑰驗證數位簽章(S330)。如果驗證有誤,則流程結束。如果驗證無誤,則交易監理伺服模組302比對在步驟310記錄的交易資訊和在步驟328接收的交易資訊(S332)。如果這兩份交易資訊不一致,則流程結束。如果這兩份交易資訊一致,則交易監理伺服模組302將交易資訊傳送至區塊鏈500以完成區塊鏈交易(S334),並將交易結果傳送至終端設備100(S336)。然後,終端設備100的區塊鏈交易終端模組102自伺服器300接收交易結果,並於前述網頁顯示交易結果(S338)。流程至此結束。 Then, the transaction supervision server module 302 of the server 300 receives the transaction information, the transaction identification code and the digital signature from the terminal device 100 (S328), and verifies the digital signature with the public key (S330). If the verification is incorrect, the process ends. If the verification is correct, the transaction supervision server module 302 compares the transaction information recorded in step 310 with the transaction information received in step 328 (S332). If the two transaction information is inconsistent, the process ends. If the two pieces of transaction information are consistent, the transaction supervision server module 302 transmits the transaction information to the blockchain 500 to complete the blockchain transaction (S334), and transmits the transaction result to the terminal device 100 (S336). Then, the blockchain transaction terminal module 102 of the terminal device 100 receives the transaction result from the server 300, and displays the transaction result on the aforementioned webpage (S338). The process ends here.

請參照第4A圖和第4B圖,其為根據本發明一實施例的一種金鑰回復方法的流程圖。當儲存機密分持資料S1的終端設備100遺失或損壞時,使用者可用另一個終端設備100的瀏覽器的加密安全功能連線至伺服器300提供的專屬網頁,在網頁中輸入帳戶位址並申請回復作業。然後,瀏覽器啟動終端裝置100的金鑰回復終端模組103。金鑰回復終端模組103取得使用者輸入的帳戶位址(S402),並將帳戶位址傳送至伺服器300(S404)。 Please refer to FIG. 4A and FIG. 4B, which are flowcharts of a key recovery method according to an embodiment of the present invention. When the terminal device 100 storing the confidential shared data S1 is lost or damaged, the user can use the encryption security function of the browser of another terminal device 100 to connect to the dedicated webpage provided by the server 300, enter the account address and Request a reply assignment. Then, the browser activates the key of the terminal device 100 to reply to the terminal module 103. The key recovery terminal module 103 obtains the account address entered by the user (S402), and transmits the account address to the server 300 (S404).

然後,伺服器300的金鑰回復伺服模組303自終端設備100接收帳戶位址(S406),以帳戶位址為索引取得帳戶位址所對應的註冊資料中的公開金鑰和機密分持資料S2的密文(S408),並將公開金鑰和機密分持資料S2的密文傳送至終端設備100(S410)。 Then, the key recovery server module 303 of the server 300 receives the account address from the terminal device 100 (S406), and uses the account address as an index to obtain the public key and confidential share data in the registration data corresponding to the account address The cipher text of S2 (S408), and the cipher text of the public key and the secret sharing data S2 are transmitted to the terminal device 100 (S410).

然後,終端設備100的金鑰回復終端模組103自伺服器300接收公開金鑰和機密分持資料S2的密文(S412),並以使用者輸入的密碼解密機密分持資料S2的密文以取得機密分持資料S2(S414)。如果解密失敗,則流程結束。如果解密成功,則金鑰回復終端模組103可取得機密分持資料S2。然後,金鑰回復終端模組103自外部儲存裝置400取得機密分持資料S3(S416),使用機密分持資料S2及S3組合私密金鑰(S418),使用公開金鑰驗證私密金鑰是否正確(S420)。如果驗證有誤,則流程結束。如果驗證無誤,則金鑰回復終端模組103使用機密分持演算法,將私密金鑰重新分解為機密分持資料S1’、S2’及S3’(S422),機密分持資料S1’、S2’及S3’不同於前述的機密分持資料S1、S2及S3。接著,金鑰回復終端模組103以使用者輸入的密碼加密機密分持資料S2’以產生機密分持資料S2’的密文(S424),使用私密金鑰簽署公開金鑰、機密分持資料S2’的密文及帳戶位址以產生數位簽章(S426),並將公開金鑰、機密分持資料S2’的密文、帳戶位址及數位簽章傳送至伺服器300(S428)。 Then, the key recovery terminal module 103 of the terminal device 100 receives the ciphertext of the public key and the secret shared data S2 from the server 300 (S412), and decrypts the ciphertext of the secret shared data S2 with the password entered by the user To obtain confidential share data S2 (S414). If the decryption fails, the process ends. If the decryption is successful, the key recovery terminal module 103 can obtain the confidential share data S2. Then, the key recovery terminal module 103 obtains the confidential share data S3 from the external storage device 400 (S416), uses the confidential share data S2 and S3 to combine the private key (S418), and uses the public key to verify whether the private key is correct (S420). If the verification is incorrect, the process ends. If the verification is correct, the key recovery terminal module 103 uses the secret sharing algorithm to re-decompose the private key into the secret sharing data S1', S2', and S3' (S422), and the secret sharing data S1', S2 'And S3' are different from the aforementioned confidential share data S1, S2, and S3. Next, the key recovery terminal module 103 encrypts the confidential share data S2' with the password entered by the user to generate the cipher text of the confidential share data S2' (S424), and signs the public key and the confidential share data with the private key The ciphertext and account address of S2' are used to generate a digital signature (S426), and the ciphertext, account address and digital signature of the public key, confidential share data S2', and the digital signature are sent to the server 300 (S428).

然後,伺服器300的金鑰回復伺服模組303自終端設備100接收公開金鑰、機密分持資料S2’的密文、帳戶位址及數位簽章(S430),以公開金鑰驗證數位簽章(S432)。若驗證有誤,則流程結束。若驗證無誤,則金鑰回復伺服模組303以機密分持資料S2’的密文取代帳戶位址所對應的註冊資料中的機密分持資料S2的密文(S434),並將回復結果傳送至終端設備100(S436)。 Then, the key recovery server module 303 of the server 300 receives the public key, the ciphertext of the confidential share data S2', the account address, and the digital signature from the terminal device 100 (S430), and verifies the digital signature with the public key Chapter (S432). If the verification is wrong, the process ends. If the verification is correct, the key recovery server module 303 replaces the cipher text of the confidential share data S2 in the registration data corresponding to the account address with the cipher text of the confidential share data S2' (S434), and sends the reply result To the terminal device 100 (S436).

然後,終端設備100的金鑰回復終端模組103自伺服器300接收回復結果(S438),使用生物特徵辨識存取控管機制將機密分持資料S1’儲存於終端設備100以取代機密分持資料S1(S440),並將機密分持資料S3’儲存於外部 儲存裝置400或另一外部儲存裝置以取代機密分持資料S3(S442)。流程至此結束。 Then, the key recovery terminal module 103 of the terminal device 100 receives the response result from the server 300 (S438), and uses the biometric access control mechanism to store the confidential share data S1' in the terminal device 100 to replace the confidential share Data S1 (S440), and store confidential shared data S3' externally The storage device 400 or another external storage device replaces the confidential shared data S3 (S442). The process ends here.

請參照第5圖,其為根據本發明一實施例的一種無監理區塊鏈交易方法的流程圖。當伺服器300因網路或其他原因無法提供服務時,使用者可在終端設備100啟動區塊鏈交易終端模組102,輸入區塊鏈交易的寄方位址、收方位址與交易金額等交易資訊。例如,寄方位址可為使用者的帳戶位址。接著,區塊鏈交易終端模組102取得使用者輸入的交易資訊(S502),並通過生物特徵辨識存取控管機制取得終端設備100保管的機密分持資料S1(S504),其中,如果使用者未通過生物特徵辨識,則流程結束,如果使用者通過生物特徵辨識,則區塊鏈交易終端模組102可取得機密分持資料S1。然後,區塊鏈交易終端模組102自外部儲存裝置400取得機密分持資料S3(S506),使用機密分持資料S1及S3組合私密金鑰(S508),使用私密金鑰簽署交易資訊以產生數位簽章(S510),接著,使用公開金鑰驗證數位簽章(S512)。如果數位簽章的驗證有誤,則流程結束。如果驗證無誤,則區塊鏈交易終端模組102將交易資訊傳送至區塊鏈500以完成區塊鏈交易(S514),並顯示交易結果(S516)。流程至此結束。 Please refer to Figure 5, which is a flowchart of an unsupervised blockchain transaction method according to an embodiment of the present invention. When the server 300 cannot provide services due to the Internet or other reasons, the user can activate the blockchain transaction terminal module 102 on the terminal device 100 and enter the sender address, recipient address, and transaction amount of the blockchain transaction. News. For example, the sender address can be the user's account address. Next, the blockchain transaction terminal module 102 obtains the transaction information input by the user (S502), and obtains the confidential share data S1 kept by the terminal device 100 through the biometric access control mechanism (S504), where if used If the user does not pass the biometric identification, the process ends. If the user passes the biometric identification, the blockchain transaction terminal module 102 can obtain the confidential share data S1. Then, the blockchain transaction terminal module 102 obtains the confidential share data S3 from the external storage device 400 (S506), uses the confidential share data S1 and S3 to combine the private key (S508), and uses the private key to sign the transaction information to generate Digital signature (S510), and then use the public key to verify the digital signature (S512). If the verification of the digital signature is incorrect, the process ends. If the verification is correct, the blockchain transaction terminal module 102 transmits the transaction information to the blockchain 500 to complete the blockchain transaction (S514), and displays the transaction result (S516). The process ends here.

請參照第6A圖和第6B圖,其為根據本發明一實施例的一種密碼重置方法的流程圖。當使用者忘記機密分持資料S2的密碼時,可啟動終端設備100的密碼重置終端模組104。然後,密碼重置終端模組104通過生物特徵辨識存取控管機制取得終端設備100保管的機密分持資料S1(S602),其中,如果使用者未通過生物特徵辨識,則流程結束,如果使用者通過生物特徵辨識,則密碼重置終端模組104可取得機密分持資料S1。然後,密碼重置終端模組104自外部儲存裝置400取得機密分持資料S3(S604),使用機密分持資料S1及S3組合 私密金鑰(S606),使用公開金鑰驗證私密金鑰的正確性(S608)。若私密金鑰的驗證有誤,則流程結束。若驗證無誤,則密碼重置終端模組104使用機密分持演算法,將私密金鑰重新分解為機密分持資料S1”、S2”及S3”(S610),其中,機密分持資料S1”、S2”及S3”不同於前述的機密分持資料S1、S2及S3,亦不同於前述的機密分持資料S1’、S2’及S3’。然後,密碼重置終端模組104以使用者輸入的密碼加密機密分持資料S2”以產生機密分持資料S2”的密文(S612),使用私密金鑰簽署公開金鑰、機密分持資料S2”的密文及帳戶位址以產生數位簽章(S614),將公開金鑰、機密分持資料S2”的密文、帳戶位址及數位簽章傳送至伺服器300(S616)。 Please refer to FIG. 6A and FIG. 6B, which are flowcharts of a password reset method according to an embodiment of the present invention. When the user forgets the password of the confidential share data S2, the password reset terminal module 104 of the terminal device 100 can be activated. Then, the password reset terminal module 104 obtains the confidential share data S1 kept by the terminal device 100 through the biometric identification access control mechanism (S602), where if the user does not pass the biometric identification, the process ends. If the biometric identification is used, the password reset terminal module 104 can obtain the confidential share data S1. Then, the password reset terminal module 104 obtains the confidential share data S3 from the external storage device 400 (S604), and uses the combination of the confidential share data S1 and S3 The private key (S606) uses the public key to verify the correctness of the private key (S608). If the verification of the private key is incorrect, the process ends. If the verification is correct, the password reset terminal module 104 uses the secret sharing algorithm to re-decompose the private key into the secret sharing data S1", S2" and S3" (S610), where the secret sharing data S1" , S2" and S3" are different from the aforementioned confidential shared data S1, S2, and S3, and also different from the aforementioned confidential shared data S1', S2', and S3'. Then, the password reset terminal module 104 encrypts the confidential share data S2" with the password entered by the user to generate the cipher text of the confidential share data S2" (S612), and signs the public key and the confidential share data with the private key The ciphertext of S2" and the account address are used to generate a digital signature (S614), and the ciphertext of the public key, the confidential share data S2", the account address and the digital signature are sent to the server 300 (S616).

然後,伺服器300的密碼重置伺服模組304自終端設備100接收公開金鑰、機密分持資料S2”的密文、帳戶位址及數位簽章(S618),並以公開金鑰驗證數位簽章(S620)。如果數位簽章的驗證有誤,則流程結束。如果驗證無誤,則密碼重置伺服模組304以機密分持資料S2”的密文取代帳戶位址所對應的註冊資料中的機密分持資料S2的密文(S622),並將重置結果傳送至終端設備100(S624)。 Then, the password reset server module 304 of the server 300 receives the public key, the ciphertext of the confidential share data S2", the account address, and the digital signature from the terminal device 100 (S618), and verifies the digital with the public key Signature (S620). If the verification of the digital signature is incorrect, the process ends. If the verification is correct, the password resetting server module 304 replaces the registered information corresponding to the account address with the cipher text of the secret holding data S2" The secret in S2 holds the ciphertext of the data S2 (S622), and transmits the reset result to the terminal device 100 (S624).

然後,終端設備100的密碼重置終端模組104接收重置結果(S626),使用生物特徵辨識存取控管機制將機密分持資料S1”儲存於終端設備100以取代機密分持資料S1(S628),並將機密分持資料S3”儲存於外部儲存裝置400或另一外部儲存裝置以取代機密分持資料S3(S630)。流程至此結束。 Then, the password reset terminal module 104 of the terminal device 100 receives the reset result (S626), and uses the biometric access control mechanism to store the confidential share data S1" in the terminal device 100 to replace the confidential share data S1 ( S628), and store the confidential share data S3" in the external storage device 400 or another external storage device to replace the confidential share data S3 (S630). The process ends here.

綜上所述,本發明採取機密分持、多因素驗證的安全機制與第三方監理的架構流程,以達成下列優點: In summary, the present invention adopts the security mechanism of confidentiality separation, multi-factor authentication and the third-party supervision framework process to achieve the following advantages:

第一,相較於習用技術,本發明避免了代管使用者的私密金鑰所造成的各種安全疑慮,例如監守自盜及駭客入侵等。 First, compared with the conventional technology, the present invention avoids various security concerns caused by escrow users' private keys, such as guarding theft and hacking.

第二,本發明改善了使用者自行保管私密金鑰所帶來的金鑰遺失或被竊取等問題,當使用者遺失金鑰或密碼時可進行金鑰回復的作業,也能避免虛擬貨幣遭竊。 Second, the present invention improves the key loss or stolen problem caused by the user's self-keeping of the private key. When the user loses the key or password, the key recovery operation can be performed, and the virtual currency can also be avoided. steal.

第三,本發明的區塊鏈交易程序採用第三方監理的架構流程,具有透明可驗證與分散式多因素驗證的安全特性。 Third, the blockchain transaction program of the present invention adopts a third-party supervision structure process, and has the security characteristics of transparent and verifiable and decentralized multi-factor verification.

上述實施形態僅例示性說明本發明之原理及其功效,而非用於限制本發明。任何熟習此項技藝之人士均可在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。因此,本發明之權利保護範圍,應如後述之申請專利範圍所列。 The above-mentioned embodiments only exemplarily illustrate the principles and effects of the present invention, and are not intended to limit the present invention. Anyone who is familiar with this technique can modify and change the above-mentioned embodiments without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the rights of the present invention should be listed in the scope of patent application described later.

10:區塊鏈金鑰保管與交易監理系統 10: Blockchain key custody and transaction supervision system

100:終端設備 100: terminal equipment

101:金鑰分持註冊終端模組 101: Key share registration terminal module

102:區塊鏈交易終端模組 102: Blockchain transaction terminal module

103:金鑰回復終端模組 103: Key recovery terminal module

104:密碼重置終端模組 104: Password reset terminal module

200:私密金鑰 200: private key

300:伺服器 300: server

301:金鑰註冊伺服模組 301: Key registration server module

302:交易監理伺服模組 302: Transaction Supervision Servo Module

303:金鑰回復伺服模組 303: Key Recovery Servo Module

304:密碼重置伺服模組 304: Password reset servo module

400:外部儲存裝置 400: External storage device

500:區塊鏈 500: Blockchain

600:數位簽章 600: digital signature

S1~S3:機密分持資料 S1~S3: Confidential holding information

Claims (11)

一種終端設備,用於產製相對應的公開金鑰及私密金鑰,該終端設備包括:金鑰分持註冊終端模組,用於根據該私密金鑰使用機密分持演算法產生第一機密分持資料及第二機密分持資料,使用第一機制加密該第二機密分持資料以產生該第二機密分持資料的密文,使用該私密金鑰簽署該公開金鑰、該第二機密分持資料的密文及帳戶位址以產生第一數位簽章後,將該公開金鑰、該第二機密分持資料的密文、該帳戶位址及該第一數位簽章傳送至伺服器,再以第二機制將該第一機密分持資料儲存於該終端設備。 A terminal device for producing corresponding public keys and private keys. The terminal device includes: a key share registration terminal module, which is used to generate a first secret based on the private key using a secret share algorithm The share data and the second secret share data, the first mechanism is used to encrypt the second secret share data to generate the ciphertext of the second secret share data, and the private key is used to sign the public key, the second After the ciphertext and account address of the confidential shared data are generated to generate the first digital signature, the public key, the ciphertext of the second confidential shared data, the account address and the first digital signature are sent to The server then uses the second mechanism to store the first secret shared data in the terminal device. 如申請專利範圍第1項所述之終端設備,更包括:區塊鏈交易終端模組,用於通過該第二機制取得該第一機密分持資料,自該伺服器接收該第二機密分持資料的密文和交易識別碼,使用該第一機制解密該第二機密分持資料的密文以取得該第二機密分持資料,使用該第一機密分持資料及該第二機密分持資料組合該私密金鑰,使用該私密金鑰簽署第一交易資訊和該交易識別碼以產生第二數位簽章,再將該第一交易資訊、該交易識別碼及該第二數位簽章傳送至該伺服器,以進行區塊鏈交易。 For example, the terminal device described in item 1 of the scope of patent application further includes: a blockchain transaction terminal module for obtaining the first confidential share data through the second mechanism, and receiving the second confidential share from the server Use the first mechanism to decrypt the ciphertext of the second secret share data to obtain the second secret share data, use the first secret share data and the second secret share Combine the private key with the data, use the private key to sign the first transaction information and the transaction identification code to generate a second digital signature, and then the first transaction information, the transaction identification code, and the second digital signature Send to the server for blockchain transactions. 如申請專利範圍第1項所述之終端設備,其中,該金鑰分持註冊終端模組更用於使用該機密分持演算法,將該私密金鑰分解為該第一機密分持資料、該第二機密分持資料及第三機密分持資料後,將該第三機密分持資料儲存於外部儲存裝置。 For example, the terminal device described in item 1 of the scope of patent application, wherein the key share registration terminal module is further used to use the secret share algorithm to decompose the private key into the first secret share data, After the second secret share data and the third secret share data, the third secret share data is stored in an external storage device. 如申請專利範圍第3項所述之終端設備,更包括: 金鑰回復終端模組,用於取得該帳戶位址,將該帳戶位址傳送至該伺服器,自該伺服器接收該公開金鑰和該第二機密分持資料的密文,使用該第一機制解密該第二機密分持資料的密文以取得該第二機密分持資料,自該外部儲存裝置取得該第三機密分持資料,使用該第二機密分持資料及該第三機密分持資料組合該私密金鑰,使用該公開金鑰驗證該私密金鑰,使用該機密分持演算法,將該私密金鑰重新分解為第四機密分持資料、第五機密分持資料及第六機密分持資料,使用該第一機制加密該第五機密分持資料以產生該第五機密分持資料的密文,使用該私密金鑰簽署該公開金鑰、該第五機密分持資料的密文及該帳戶位址以產生第三數位簽章,將該公開金鑰、該第五機密分持資料的密文、該帳戶位址及該第三數位簽章傳送至該伺服器,使用該第二機制將該第四機密分持資料儲存於該終端設備以取代該第一機密分持資料,將該第六機密分持資料儲存於該外部儲存裝置或另一外部儲存裝置以取代該第三機密分持資料。 The terminal equipment described in item 3 of the scope of patent application includes: The key recovery terminal module is used to obtain the account address, send the account address to the server, receive the ciphertext of the public key and the second secret shared data from the server, and use the first A mechanism to decrypt the ciphertext of the second secret share data to obtain the second secret share data, obtain the third secret share data from the external storage device, and use the second secret share data and the third secret Combine the shared data with the private key, use the public key to verify the private key, and use the secret sharing algorithm to re-decompose the private key into the fourth secret sharing data, the fifth secret sharing data, and The sixth secret share data, use the first mechanism to encrypt the fifth secret share data to generate the cipher text of the fifth secret share data, and use the private key to sign the public key and the fifth secret share The ciphertext of the data and the account address are used to generate the third digital signature, and the public key, the ciphertext of the fifth secret shared data, the account address and the third digital signature are sent to the server , Using the second mechanism to store the fourth confidential share data in the terminal device to replace the first confidential share data, and store the sixth confidential share data in the external storage device or another external storage device to Replace the third secret holding information. 如申請專利範圍第3項所述之終端設備,其中,該區塊鏈交易終端模組更用於取得第二交易資訊,通過該第二機制取得該第一機密分持資料,自該外部儲存裝置取得該第三機密分持資料,使用該第一機密分持資料及該第三機密分持資料組合該私密金鑰,使用該私密金鑰簽署該第二交易資訊以產生第四數位簽章,以該公開金鑰驗證該第四數位簽章,再將該第二交易資訊傳送至區塊鏈,以完成區塊鏈交易。 Such as the terminal device described in item 3 of the scope of patent application, wherein the blockchain transaction terminal module is further used to obtain second transaction information, obtain the first confidential share data through the second mechanism, and store it from the external The device obtains the third secret share data, uses the first secret share data and the third secret share data to combine the private key, and uses the private key to sign the second transaction information to generate a fourth digital signature , Verify the fourth digital signature with the public key, and then send the second transaction information to the blockchain to complete the blockchain transaction. 如申請專利範圍第3項所述之終端設備,更包括:密碼重置終端模組,用於通過該第二機制取得該第一機密分持資料,自該外部儲存裝置取得該第三機密分持資料,使用該第一機密分持資料及該第三機密分持資料組合該私密金鑰,使用該公開金鑰驗證該私密金鑰,使用該機密分持演 算法,將該私密金鑰重新分解為第七機密分持資料、第八機密分持資料及第九機密分持資料,使用該第一機制加密該第八機密分持資料以產生該第八機密分持資料的密文,使用該私密金鑰簽署該公開金鑰、該第八機密分持資料的密文及該帳戶位址以產生第五數位簽章,將該公開金鑰、該第八機密分持資料的密文、該帳戶位址及該第五數位簽章傳送至該伺服器,使用該第二機制將該第七機密分持資料儲存於該終端設備以取代該第一機密分持資料,將該第九機密分持資料儲存於該外部儲存裝置或另一外部儲存裝置以取代該第三機密分持資料。 For example, the terminal device described in item 3 of the scope of patent application further includes: a password reset terminal module for obtaining the first secret share data through the second mechanism, and obtain the third secret share from the external storage device Use the first secret share data and the third secret share data to combine the private key, use the public key to verify the private key, use the secret share to perform Algorithm, re-decompose the private key into seventh secret share data, eighth secret share data, and ninth secret share data, and use the first mechanism to encrypt the eighth secret share data to generate the eighth secret Use the private key to sign the public key, the ciphertext of the eighth secret shared data, and the account address to generate a fifth digital signature. The public key, the eighth The ciphertext of the confidential share data, the account address and the fifth digital signature are sent to the server, and the second mechanism is used to store the seventh confidential share data in the terminal device to replace the first confidential share Storing the ninth secret share data in the external storage device or another external storage device to replace the third secret share data. 一種伺服器,包括:金鑰註冊伺服模組,用於自終端設備接收公開金鑰、根據對應該公開金鑰的私密金鑰產生的第一機密分持資料的密文、帳戶位址及第一數位簽章,以該公開金鑰驗證該第一數位簽章,再以該帳戶位址為索引建立並儲存註冊資料,其中,該註冊資料包括該公開金鑰及該第一機密分持資料的密文;以及交易監理伺服模組,用於自該終端設備接收交易資訊,以該交易資訊中的寄方位址為索引,取得該寄方位址所對應的註冊資料中的公開金鑰及第一機密分持資料的密文,產生交易識別碼,再將該第一機密分持資料的密文和該交易識別碼傳送至該終端設備,自該終端設備接收該交易資訊、該交易識別碼和第二數位簽章,以該公開金鑰驗證該第二數位簽章,再將該交易資訊傳送至區塊鏈以完成區塊鏈交易。 A server comprising: a key registration server module for receiving a public key from a terminal device, the ciphertext of the first secret shared data generated according to the private key corresponding to the public key, an account address, and the first A digital signature, the first digital signature is verified with the public key, and then the account address is used as an index to create and store registration data, where the registration data includes the public key and the first secret share data Ciphertext; and transaction supervision server module, used to receive transaction information from the terminal device, use the sender address in the transaction information as an index to obtain the public key and the first in the registration data corresponding to the sender address A ciphertext of a secret shared data is generated, a transaction identification code is generated, and the ciphertext of the first secret shared data and the transaction identification code are transmitted to the terminal device, and the transaction information and the transaction identification code are received from the terminal device And the second digital signature, verify the second digital signature with the public key, and then send the transaction information to the blockchain to complete the blockchain transaction. 一種伺服器,包括:金鑰註冊伺服模組,用於自終端設備接收公開金鑰、根據對應該公開金鑰的私密金鑰產生的第一機密分持資料的密文、帳戶位址及第一數位簽章,以該公開 金鑰驗證該第一數位簽章,再以該帳戶位址為索引建立並儲存註冊資料,其中,該註冊資料包括該公開金鑰及該第一機密分持資料的密文;以及金鑰回復伺服模組,用於自該終端設備接收該帳戶位址,以該帳戶位址為索引,取得該帳戶位址所對應的該註冊資料中的該公開金鑰和該第一機密分持資料的密文,將該公開金鑰和該第一機密分持資料的密文傳送至該終端設備,自該終端設備接收該公開金鑰、根據該私密金鑰產生的第二機密分持資料的密文、該帳戶位址及第三數位簽章,以該公開金鑰驗證該第三數位簽章,再以該第二機密分持資料的密文取代該帳戶位址所對應的該註冊資料中的該第一機密分持資料的密文。 A server comprising: a key registration server module for receiving a public key from a terminal device, the ciphertext of the first secret shared data generated according to the private key corresponding to the public key, an account address, and the first A digital signature, with the public The key verifies the first digital signature, and then uses the account address as an index to create and store registration data, where the registration data includes the public key and the ciphertext of the first secret shared data; and key recovery The server module is used to receive the account address from the terminal device, use the account address as an index to obtain the public key and the first secret share data in the registration data corresponding to the account address Ciphertext, sending the public key and the cipher text of the first secret shared data to the terminal device, and receiving the public key from the terminal device and the secret of the second secret shared data generated based on the private key Text, the account address and the third digital signature, verify the third digital signature with the public key, and then replace the registered information corresponding to the account address with the ciphertext of the second secret shared data The ciphertext of the first secret shared data. 一種伺服器,包括:金鑰註冊伺服模組,用於自終端設備接收公開金鑰、根據對應該公開金鑰的私密金鑰產生的第一機密分持資料的密文、帳戶位址及第一數位簽章,以該公開金鑰驗證該第一數位簽章,再以該帳戶位址為索引建立並儲存註冊資料,其中,該註冊資料包括該公開金鑰及該第一機密分持資料的密文;以及密碼重置伺服模組,用於自該終端設備接收該公開金鑰、根據該私密金鑰產生的第三機密分持資料的密文、該帳戶位址及第五數位簽章,以該公開金鑰驗證該第五數位簽章,再以該第三機密分持資料的密文取代該帳戶位址所對應的該註冊資料中的該第一機密分持資料的密文。 A server comprising: a key registration server module for receiving a public key from a terminal device, the ciphertext of the first secret shared data generated according to the private key corresponding to the public key, an account address, and the first A digital signature, the first digital signature is verified with the public key, and then the account address is used as an index to create and store registration data, where the registration data includes the public key and the first secret share data And a password reset server module for receiving from the terminal device the public key, the cipher text of the third secret shared data generated according to the private key, the account address and the fifth digital signature Chapter, verify the fifth digital signature with the public key, and replace the cipher text of the first secret share data in the registration information corresponding to the account address with the cipher text of the third secret share data . 一種金鑰分持與註冊方法,由終端設備執行,該方法包括:產製相對應的公開金鑰及私密金鑰;根據該私密金鑰使用機密分持演算法產生第一機密分持資料及第二機密分持資料; 使用第一機制加密該第二機密分持資料以產生該第二機密分持資料的密文;使用該私密金鑰簽署該公開金鑰、該第二機密分持資料的密文及帳戶位址以產生第一數位簽章;將該公開金鑰、該第二機密分持資料的密文、該帳戶位址及該第一數位簽章傳送至伺服器;以及使用第二機制將該第一機密分持資料儲存於該終端設備。 A method for key sharing and registration is executed by a terminal device. The method includes: producing a corresponding public key and a private key; using a secret sharing algorithm to generate the first secret sharing data according to the private key, and Second secret holding information; Use the first mechanism to encrypt the second secret shared data to generate the ciphertext of the second secret shared data; use the private key to sign the public key, the ciphertext of the second secret shared data, and the account address To generate a first digital signature; send the public key, the ciphertext of the second secret shared data, the account address, and the first digital signature to the server; and use the second mechanism to send the first digital signature Confidential share information is stored in the terminal device. 一種金鑰註冊與交易方法,由伺服器執行,該方法包括:自終端設備接收公開金鑰、根據對應該公開金鑰的私密金鑰產生的第一機密分持資料的密文、帳戶位址及第一數位簽章;以該公開金鑰驗證該第一數位簽章;以該帳戶位址為索引建立並儲存註冊資料,其中,該註冊資料包括該公開金鑰及該第一機密分持資料的密文;自該終端設備接收交易資訊;以該交易資訊中的寄方位址為索引,取得該寄方位址所對應的註冊資料中的公開金鑰及第一機密分持資料的密文;產生交易識別碼,再將該第一機密分持資料的密文和該交易識別碼傳送至該終端設備;自該終端設備接收該交易資訊、該交易識別碼和第二數位簽章;以及以該公開金鑰驗證該第二數位簽章,再將該交易資訊傳送至區塊鏈以完成區塊鏈交易。 A key registration and transaction method, executed by a server, the method comprising: receiving a public key from a terminal device, the ciphertext of the first secret shared data generated according to the private key corresponding to the public key, and the account address And the first digital signature; use the public key to verify the first digital signature; use the account address as an index to create and store registration data, where the registration data includes the public key and the first secret share The ciphertext of the data; the transaction information is received from the terminal device; the sender address in the transaction information is used as an index to obtain the public key in the registration data corresponding to the sender address and the ciphertext of the first secret shared data ; Generate a transaction identification code, and then transmit the ciphertext of the first secret shared data and the transaction identification code to the terminal device; receive the transaction information, the transaction identification code and the second digital signature from the terminal device; and Use the public key to verify the second digital signature, and then send the transaction information to the blockchain to complete the blockchain transaction.
TW109116528A 2020-05-19 2020-05-19 Terminal device, server and method for private key protection and transaction supervision in blockchains TWI742670B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109116528A TWI742670B (en) 2020-05-19 2020-05-19 Terminal device, server and method for private key protection and transaction supervision in blockchains

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109116528A TWI742670B (en) 2020-05-19 2020-05-19 Terminal device, server and method for private key protection and transaction supervision in blockchains

Publications (2)

Publication Number Publication Date
TWI742670B true TWI742670B (en) 2021-10-11
TW202145757A TW202145757A (en) 2021-12-01

Family

ID=80782490

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109116528A TWI742670B (en) 2020-05-19 2020-05-19 Terminal device, server and method for private key protection and transaction supervision in blockchains

Country Status (1)

Country Link
TW (1) TWI742670B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220271933A1 (en) * 2021-02-19 2022-08-25 Samsung Electronics Co., Ltd. System and method for device to device secret backup and recovery

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017090041A1 (en) * 2015-11-24 2017-06-01 Ben-Ari Adi A system and method for blockchain smart contract data privacy
TWI606363B (en) * 2016-11-07 2017-11-21 Chunghwa Telecom Co Ltd Key share system and method
TWI662825B (en) * 2016-12-12 2019-06-11 中華電信股份有限公司 Authorized key backup and recovery method of hardware password module
TWI669628B (en) * 2018-07-17 2019-08-21 關楗股份有限公司 Token device for conducting cryptography key backup or restoration operation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017090041A1 (en) * 2015-11-24 2017-06-01 Ben-Ari Adi A system and method for blockchain smart contract data privacy
TWI606363B (en) * 2016-11-07 2017-11-21 Chunghwa Telecom Co Ltd Key share system and method
TWI662825B (en) * 2016-12-12 2019-06-11 中華電信股份有限公司 Authorized key backup and recovery method of hardware password module
TWI669628B (en) * 2018-07-17 2019-08-21 關楗股份有限公司 Token device for conducting cryptography key backup or restoration operation

Also Published As

Publication number Publication date
TW202145757A (en) 2021-12-01

Similar Documents

Publication Publication Date Title
AU2019240671B2 (en) Methods for secure cryptogram generation
US9338163B2 (en) Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method
GB2538052B (en) Encoder, decoder, encryption system, encryption key wallet and method
US7028184B2 (en) Technique for digitally notarizing a collection of data streams
WO2017097041A1 (en) Data transmission method and device
CN110324143A (en) Data transmission method, electronic equipment and storage medium
US11063941B2 (en) Authentication system, authentication method, and program
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
US20050193198A1 (en) System, method and apparatus for electronic authentication
CN108615154B (en) Block chain digital signature system based on hardware encryption protection and using process
US20020095586A1 (en) Technique for continuous user authentication
US20020095587A1 (en) Smart card with integrated biometric sensor
WO2006010007A1 (en) Systems and methods for binding a hardware component and a platform
KR20070024633A (en) Renewable and private biometrics
CN105427099A (en) Network authentication method for secure electronic transactions
CA2456000A1 (en) A method for processing information in an electronic device, a system, an electronic device and a processing block
US20220239509A1 (en) Method for storing and recovering key for blockchain-based system, and device therefor
US10158613B1 (en) Combined hidden dynamic random-access devices utilizing selectable keys and key locators for communicating randomized data together with sub-channels and coded encryption keys
US11888832B2 (en) System and method to improve user authentication for enhanced security of cryptographically protected communication sessions
US20140258718A1 (en) Method and system for secure transmission of biometric data
JP2019514314A (en) Method, system and medium for using dynamic public key infrastructure to send and receive encrypted messages
TWI476629B (en) Data security and security systems and methods
CN104125064A (en) Dynamic password authentication method, client and authentication system
JP2005275467A (en) Backup equipment, equipment to be backed-up, backup mediating device, backup system, backup method, data restoration method, program, and recording medium
TWI742670B (en) Terminal device, server and method for private key protection and transaction supervision in blockchains