TW201733302A

Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system

Abstract

The invention provides a computer-implemented solution for controlling access to a computer-related resource such as, for example, a digital wallet. In one or more embodiments, the wallet may be implemented using a blockchain such as the Bitcoin blockchain but the invention is not limited in this regard. Use of the invention during the initial set-up of the wallet can enable subsequent operations such as wallet transactions to be handled in a secure manner over an insecure channel such as the internet. A method according to an embodiment of the invention can comprise the steps of splitting a verification element (such as a private key in an asymmetric cryptography pair) into a plurality of shares; determining a common secret at two or more nodes in a network; and using the common secret to transmit at least one share of the verification element between the two or more nodes. The shares can be split such that no share on its own is sufficient to arrive at the verification element. This means that no one party stores the entire private key, providing for enhanced security of the key. Two or more shares are required to restore the key. The shares are stored at separate locations one of which is an independent back-up or safe-storage location. If one of the other shares becomes unavailable, the share can be retrieved from back up to ensure that the key (and thus the controlled resource) is still accessible. To ensure safe transmission of the share(s), the common secret is generated at two different nodes independently of each other and then used to generate an encryption key. The encryption key can be used to encrypt at least one share of the verification element, or a message comprising it, to ensure that the share(s) are transmitted securely.

TW201733302A, drawing sheet 1
Sheet 1 of 2

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

25 claims: 10 independent, 15 dependent

  1. 1
    一種以電腦完成控制一資源存取的方法,該方法包含下列步驟: 將一確認元件分割成複數個份額; 決定一網路中二個或更多節點上的一共同私密;以及 使用該共同私密在該二個或更多節點之間傳送該確認元件的至少一份額。
  2. 2
    如請求項1所述之方法,其中該確認元件為一加密金鑰、一加密金鑰的表現,或是可用來存取、計算或取回該加密金鑰的一些元件。
  3. 3
    如請求項1或2所述之方法,更包含使用共同私密來產生一加密金鑰的步驟,其中該加密金鑰係用來加密該確認元件的該至少一份額,或加密包含或相關於該至少一份額的一信息。
  4. 4
    如前述請求項之任一項所述之方法,更包含下列步驟: 儲存該確認元件的至少三個份額於彼此互相相關的不同位置上; 其中該三個份額的至少其中之一係儲存於一個備用或安全儲存的設備中,該設備係與至少二個其他的位置為分離、互相獨立或彼此不同的。
  5. 5
    如前述請求項之任一項所述之方法,其中該資源係為一數位錢包,或其他與一些貨幣形式相關的資源。
  6. 6
    如前述請求項之任一項所述之方法,其中該確認元件分割成複數個份額,使得確認元件可由二個或多個份額來恢復或重新產生;其中該確認元件使用Shamir秘密共享方案來分割成複數個份額。
  7. 7
    如前述請求項之任一項所述之方法,其中該共同私密為: i) 在該至少二個彼此互相獨立的節點上決定,使得該共同私密不需要透過一通信通道在節點之間傳輸;以及/或者 ii) 僅在該至少二節點之間分享。
  8. 8
    如前述請求項之任一項所述之方法,包含設立、創造或註冊一數位錢包的步驟,其中該確認元件與該數位錢包相關連。
  9. 9
    如前述請求項之任一項所述之方法,其中該共同私密係由網路中的一第一節點(C)及一第二節點(S)來決定,其中該第一節點(C)與具有一第一節點主要私人金鑰(V 1C )及一第一節點主要公用金鑰(P 1C )的一第一不對稱加密對相關連,而該第二節點(S)與具有一第二節點主要私人金鑰(V 1S )及一第二節點主要公用金鑰(P 1S )的一第二不對稱加密對相關連;其中該方法更包含下列步驟: 根據至少該第一節點主要私人金鑰(V 1C )及一產生器值(GV)來決定一第一節點第二私人金鑰(V 2C ); 根據至少該第二節點主要公用金鑰(P 1S )及該產生器值(GV)來決定一第二節點第二公用金鑰(P 2S );以及 根據該第一節點第二私人金鑰(V 2C )及該第二節點第二公用金鑰(P 2S )決定該共同私密; 其中根據一第一節點第二公用金鑰(P 2C )及一第二節點第二私人金鑰(V 2S ),該第二節點(S)具有相同的共同私密,其中: 該第一節點第二公用金鑰(P 2C )係根據於至少該第一節點主要公用金鑰(P 1C )及該產生器值(GV);以及 該第二節點第二私人金鑰(V 2S )係根據於至少該第二節點主要私人金鑰(V 1S )及該產生器值(GV)。
  10. 10
    如請求項9所述之方法,其中該產生器值(GV)係根據於一信息(M)。
  11. 11
    如請求項10所述之方法,更包含下列步驟: 根據該信息(M)及該第一節點第二私人金鑰(V 2C )來產生一第一簽名信息(SM1);以及 透過該通信網路傳送該第一簽名信息(SM1)到該第二節點(S); 其中該第一簽名信息(SM1)係利用一第一節點第二公用金鑰(P 2C )來確認,以認證該第一節點(C)。
  12. 12
    如請求項10或11所述之方法,更包含下列步驟: 透過該通信網路,自該第二節點(S)接收一第二簽名信息(SM2); 利用該第二節點第二公用金鑰(P 2S )來確認該第二簽名信息(SM2);以及 根據該第二簽名信息(SM2)的確認結果來認證該第二節點(S); 其中該第二簽名信息(SM2)係根據該信息(M)或一第二信息(M2),及該第二節點第二私人金鑰(V 2S )來產生。
  13. 13
    如請求項9至12之任一項所述之方法,更包含下列步驟: 產生一信息(M);以及 透過一通信網路傳送該信息(M)到該第二節點(S)。
  14. 14
    如請求項10至13之任一項所述之方法,更包含下列步驟: 透過該通信網路自該第二節點(S)接收該信息(M)。
  15. 15
    如請求項10至14之任一項所述之方法,更包含下列步驟: 透過該通信網路自另一節點接收該信息(M)。
  16. 16
    如請求項9至15之任一項所述之方法,其中該第一節點主要公用金鑰(P 1C )、該第二節點主要公用金鑰(P 1S ),係個別根據該第一節點主要私人金鑰(V 1C )及該第二節點主要私人金鑰(V 1S )分別與一基準點(G)的橢圓曲線點乘法。
  17. 17
    如請求項9至16之任一項所述之方法,更包含下列步驟: 透過該通信網路接收該第二節點主要公用金鑰(P 1S );以及 將該第二節點主要公用金鑰(P 1S )儲存於與該第一節點(C)相關連的一資料儲存中。
  18. 18
    如請求項9至17之任一項所述之方法,更包含下列步驟: 在一第一節點(C)產生第一節點主要私人金鑰(V 1C )及第一節點主要公用金鑰(P 1C ); 透過該通信網路傳送第一節點主要公用金鑰(P 1C )到第二節點(S)及/或其他節點;以及 儲存第一節點主要私人金鑰(V 1C )於與該第一節點(C)相關連的一第一資料儲存。
  19. 19
    如請求項9至18之任一項所述之方法,其中該產生器值(GV)係根據前一個產生器值(GV)的一雜湊來決定。
  20. 20
    如請求項9至19之任一項所述之方法,其中該第一不對稱加密對及該第二不對稱加密對,係分別根據前一個第一不對稱加密對及前一個不對稱加密對的一函數。
  21. 21
    一種以電腦為基礎的系統,設置為實行前述請求項的任一項的步驟。
  22. 22
    如請求項第21項所述之系統,其中:該資源為一數位錢包或與一些形式的貨幣相關的其他資源。
  23. 23
    如請求項20至22所述之系統,其中該系統包含軟體,其設置為致能一數位錢包的設立、創造或註冊,其中該確認元件係與該數位錢包相關連。
  24. 24
    一種以電腦來完成的系統,設置為控制一數位錢包的存取,該系統的操作是用來: 根據至少一第一實體主要私人金鑰及一產生器值來決定一第一實體第二私人金鑰; 根據至少一第二實體主要私人金鑰及該產生器值來決定一第二實體第二私人金鑰; 根據該第一實體第二私人金鑰及一第二實體第二公用金鑰來決定該第一實體上的一共同私密(CS),及根據該第二實體第二私人金鑰及一第一實體第二公用金鑰來決定該第二實體上的共同私密(CS);以及 其中: 該第一實體第二公用金鑰及該第二實體第二公用金鑰係個別根據於至少該第一/第二實體主要金鑰及該產生器值。
  25. 25
    一種控制一數位錢包的存取的方法,該方法包含下列步驟: 根據至少一第一實體主要私人金鑰及一產生器值來決定一第一實體第二私人金鑰; 根據至少一第二實體主要私人金鑰及該產生器值來決定一第二實體第二私人金鑰; 根據該第一實體第二私人金鑰及一第二實體第二公用金鑰來決定該第一實體上的一共同私密(CS),及根據該第二實體第二私人金鑰及一第一實體第二公用金鑰來決定該第二實體上的共同私密(CS);以及 其中: 該第一實體第二公用金鑰及該第二實體第二公用金鑰係個別根據於至少該第一/第二實體主要金鑰及該產生器值。
Independent claims25