TWI694709B - Blockchain-based electronic signature method and device, and electronic equipment - Google Patents
Blockchain-based electronic signature method and device, and electronic equipment Download PDFInfo
- Publication number
- TWI694709B TWI694709B TW108107759A TW108107759A TWI694709B TW I694709 B TWI694709 B TW I694709B TW 108107759 A TW108107759 A TW 108107759A TW 108107759 A TW108107759 A TW 108107759A TW I694709 B TWI694709 B TW I694709B
- Authority
- TW
- Taiwan
- Prior art keywords
- blockchain
- certificate
- target
- electronic
- electronic document
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
Abstract
本說明書一個或多個實施例提供一種基於區塊鏈的電子簽名方法及裝置、電子設備,該方法可以包括:接收簽約用戶透過客戶端發起的目標交易;其中,所述目標交易用於觸發對目標電子文書進行電子簽名操作;與所述簽約用戶對應的CA(Certificate Authority)證書被預先儲存至所述區塊鏈;回應於所述目標交易,調用與電子簽名對應的智慧型合約,執行所述智慧型合約中聲明的電子簽名程序,從區塊鏈中讀取與所述簽約用戶對應的CA證書;以及,基於所述CA證書對所述目標電子文書進行電子簽名操作。 One or more embodiments of this specification provide a blockchain-based electronic signature method and device, and electronic equipment. The method may include: receiving a target transaction initiated by a contracted user through a client; wherein the target transaction is used to trigger The target electronic document is electronically signed; the CA (Certificate Authority) certificate corresponding to the contracted user is stored in the blockchain in advance; in response to the target transaction, the smart contract corresponding to the electronic signature is invoked to execute the The electronic signature program declared in the smart contract reads the CA certificate corresponding to the contracted user from the blockchain; and, based on the CA certificate, performs an electronic signature operation on the target electronic document.
Description
本說明書一個或多個實施例有關區塊鏈技術領域,尤其有關一種基於區塊鏈的電子簽名方法及裝置、電子設備。 One or more embodiments of this specification relate to the field of blockchain technology, and in particular to a blockchain-based electronic signature method and device, and electronic equipment.
區塊鏈技術,也被稱之為分散式帳本技術,是一種由若干台運算設備共同參與「記帳」,共同維護一份完整的分散式資料庫的新興技術。由於區塊鏈技術具有去中心化、公開透明、每台運算設備可以參與資料庫記錄、並且各運算設備之間可以快速的進行資料同步的特性,使得區塊鏈技術已在眾多的領域中廣泛的進行應用。 Blockchain technology, also known as decentralized ledger technology, is an emerging technology in which several computing devices participate in "accounting" and jointly maintain a complete decentralized database. Blockchain technology has the characteristics of decentralization, openness and transparency, each computing device can participate in database records, and data synchronization can be quickly performed between various computing devices, making blockchain technology widely in many fields. Application.
本說明書提出一種基於區塊鏈的電子簽名方法,所述方法包括:接收簽約用戶透過客戶端發起的目標交易;其中,所述目標交易用於觸發對目標電子文書進行電子簽名操作;與所述簽約用戶對應的CA(Certificate Authority)證書被預先儲存至所述區塊鏈; 回應於所述目標交易,調用與電子簽名對應的智慧型合約,執行所述智慧型合約中聲明的電子簽名程序,從區塊鏈中讀取與所述簽約用戶對應的CA證書;以及,基於所述CA證書對所述目標電子文書進行電子簽名操作。 This specification proposes a blockchain-based electronic signature method. The method includes: receiving a target transaction initiated by a contracted user through a client; wherein the target transaction is used to trigger an electronic signature operation on a target electronic document; and The CA (Certificate Authority) certificate corresponding to the contracted user is stored in the blockchain in advance; In response to the target transaction, call a smart contract corresponding to the electronic signature, execute the electronic signature program declared in the smart contract, and read the CA certificate corresponding to the contracted user from the blockchain; and, based on The CA certificate performs an electronic signature operation on the target electronic document.
可選地,所述區塊鏈中儲存的所述CA證書,被預設了限制所述簽約用戶以外的用戶帳戶進行存取的存取權限;所述調用與電子簽名對應的智慧型合約,包括:確定所述目標交易中是否包括所述簽約用戶對所述目標文字進行電子簽名的授權資訊;其中,所述授權資訊用於指示將所述CA證書的存取權限授權給所述智慧型合約;如果所述目標交易中包括所述授權資訊,則觸發調用與電子簽名對應的智慧型合約。 Optionally, the CA certificate stored in the blockchain is preset with access rights that restrict access to user accounts other than the contracted user; the calling smart contract corresponding to the electronic signature, The method includes: determining whether the target transaction includes authorization information for the contracted user to electronically sign the target text; wherein, the authorization information is used to indicate that the access authority of the CA certificate is authorized to the smart type Contract; if the authorization information is included in the target transaction, trigger a smart contract corresponding to the electronic signature.
可選地,所述如果所述目標交易中包括所述授權資訊,則觸發調用與電子簽名對應的智慧型合約,包括:如果所述目標交易中包括所述授權資訊,進一步確定所述目標交易是否被成功儲存至所述區塊鏈;如果是,則觸發調用與電子簽名對應的智慧型合約。 Optionally, if the target transaction includes the authorization information, triggering a call to a smart contract corresponding to the electronic signature includes: if the target transaction includes the authorization information, further determining the target transaction Whether it has been successfully stored in the blockchain; if it is, trigger a smart contract corresponding to the electronic signature.
可選地,所述目標電子文書被預先儲存至區塊鏈;其中,所述區塊鏈中儲存的所述目標電子文書,被預設了限制所述智慧型合約以外的用戶帳戶進行存取的存取權限;所述基於所述CA證書對所述目標電子文書進行電子簽名操作,包括: 從所述區塊鏈中讀取所述目標電子文書; 基於所述CA證書對讀取到的所述目標電子文書進行電子簽名操作。 可選地,所述CA證書包括所述簽約用戶的私鑰; 所述基於所述CA證書對讀取到的所述目標電子文書進行電子簽名操作,包括:基於所述CA證書中的所述簽約用戶的私鑰,對讀取到的所述目標電子文書進行電子簽名操作。 可選地,所述區塊鏈包括主鏈以及若干子鏈;所述若干子鏈包括用於儲存所述目標電子文書的存取位址的第一子鏈,以及用於儲存所述目標電子文書的原始內容的第二子鏈; 所述從所述區塊鏈中讀取所述目標電子文書,包括: 從所述第一子鏈中讀取所述目標電子文書的存取位址; 基於所述目標電子文書的存取位址從所述第二子鏈中讀取所述目標電子文書的原始內容。 可選地,所述若干子鏈還包括用於於儲存所述CA證書的第三子鏈; 所述從區塊鏈中讀取與所述簽約用戶對應的CA證書,包括: 從所述第三子鏈中讀取與所述簽約用戶對應的CA證書。 可選地,所述目標電子文書為電子合約。 本說明書還提出一種基於區塊鏈的電子簽名裝置,所述裝置包括: 接收模組,接收簽約用戶透過客戶端發起的目標交易;其中,所述目標交易用於觸發對目標電子文書進行電子簽名操作;與所述簽約用戶對應的CA證書被預先儲存至所述區塊鏈; 簽名模組,回應於所述目標交易,調用與電子簽名對應的智慧型合約,執行所述智慧型合約中聲明的電子簽名程序,從區塊鏈中讀取與所述簽約用戶對應的CA證書;以及,基於所述CA證書對所述目標電子文書進行電子簽名操作。 可選地,所述區塊鏈中儲存的所述CA證書,被預設了限制所述簽約用戶以外的用戶帳戶進行存取的存取權限; 所述簽名模組: 確定所述目標交易中是否包括所述簽約用戶對所述目標文字進行電子簽名的授權資訊;其中,所述授權資訊用於指示將所述CA證書的存取權限授權給所述智慧型合約; 如果所述目標交易中包括所述授權資訊,則觸發調用與電子簽名對應的智慧型合約。 可選地,所述簽名模組進一步: 如果所述目標交易中包括所述授權資訊,進一步確定所述目標交易是否被成功儲存至所述區塊鏈;如果是,則觸發調用與電子簽名對應的智慧型合約。 可選地,所述目標電子文書被預先儲存至區塊鏈;其中,所述區塊鏈中儲存的所述目標電子文書,被預設了限制所述智慧型合約以外的用戶帳戶進行存取的存取權限; 所述簽名模組: 從所述區塊鏈中讀取所述目標電子文書; 基於所述CA證書對讀取到的所述目標電子文書進行電子簽名操作。 可選地,所述CA證書包括所述簽約用戶的私鑰; 所述簽名模組: 基於所述CA證書中的所述簽約用戶的私鑰,對讀取到的所述目標電子文書進行電子簽名操作。 可選地,所述區塊鏈包括主鏈以及若干子鏈;所述若干子鏈包括用於儲存所述目標電子文書的存取位址的第一子鏈,以及用於儲存所述目標電子文書的原始內容的第二子鏈; 所述簽名模組進一步: 從所述第一子鏈中讀取所述目標電子文書的存取位址; 基於所述目標電子文書的存取位址從所述第二子鏈中讀取所述目標電子文書的原始內容。 可選地,所述若干子鏈還包括用於於儲存所述CA證書的第三子鏈; 所述簽名模組進一步: 從所述第三子鏈中讀取與所述簽約用戶對應的CA證書。 可選地,所述目標電子文書為電子合約。 本說明書還提出一種電子設備,包括: 處理器; 用於儲存機器可執行指令的記憶體; 其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的基於區塊鏈的電子簽名的控制邏輯對應的機器可執行指令,所述處理器被促使: 接收簽約用戶透過客戶端發起的目標交易;其中,所述目標交易用於觸發對目標電子文書進行電子簽名操作;與所述簽約用戶對應的CA證書被預先儲存至所述區塊鏈; 回應於所述目標交易,調用與電子簽名對應的智慧型合約,執行所述智慧型合約中聲明的電子簽名程序,從區塊鏈中讀取與所述簽約用戶對應的CA證書;以及, 基於所述CA證書對所述目標電子文書進行電子簽名操作。 透過以上技術方案,一方面,由於用戶可以透過調用智慧型合約的方式,來觸發智慧型合約從區塊鏈中讀取與簽約用戶對應的CA證書,並基於讀取到的CA證書對電子文書進行電子簽名操作;因此,可以避免由用戶手動對電子文書進行簽名,簡化電子簽名操作的複雜度; 另一方面,由於簽約用戶的CA證書被預先儲存至區塊鏈,並且區塊鏈上的CA證書,只能由智慧型合約來統一使用,因此可以避免非法的第三方用戶透過冒用簽約用戶的CA證書的方式,在違背簽約用戶的意願的情況下,使用簽約用戶的CA證書對電子文書進行電子簽名操作,可以提升對電子文書進行電子簽名操作時的安全等級。 Optionally, the target electronic document is pre-stored in the blockchain; wherein, the target electronic document stored in the blockchain is preset to restrict access to user accounts other than the smart contract Access authority; the electronic signature operation of the target electronic document based on the CA certificate includes: Reading the target electronic document from the blockchain; Perform an electronic signature operation on the read target electronic document based on the CA certificate. Optionally, the CA certificate includes the private key of the contracted user; Said electronically signing the read target electronic document based on the CA certificate includes: based on the private key of the contracted user in the CA certificate, performing the read on the target electronic document Electronic signature operation. Optionally, the blockchain includes a main chain and several sub-chains; the several sub-chains include a first sub-chain for storing the access address of the target electronic document, and a storage for the target electron The second sub-chain of the original content of the document; The reading of the target electronic document from the blockchain includes: Reading the access address of the target electronic document from the first sub-chain; The original content of the target electronic document is read from the second sub-chain based on the access address of the target electronic document. Optionally, the several sub-chains further include a third sub-chain for storing the CA certificate; The reading of the CA certificate corresponding to the contracted user from the blockchain includes: Reading the CA certificate corresponding to the contracted user from the third sub-chain. Optionally, the target electronic document is an electronic contract. This specification also proposes a blockchain-based electronic signature device, which includes: The receiving module receives the target transaction initiated by the contracted user through the client; wherein the target transaction is used to trigger an electronic signature operation on the target electronic document; the CA certificate corresponding to the contracted user is pre-stored in the block chain; The signature module, in response to the target transaction, invokes the smart contract corresponding to the electronic signature, executes the electronic signature program declared in the smart contract, and reads the CA certificate corresponding to the contracted user from the blockchain ; And, perform an electronic signature operation on the target electronic document based on the CA certificate. Optionally, the CA certificate stored in the blockchain is preset with access rights that restrict access to user accounts other than the contracted user; The signature module: Determining whether the target transaction includes authorization information for the contracted user to electronically sign the target text; wherein, the authorization information is used to indicate that the access authority of the CA certificate is authorized to the smart contract; If the authorization information is included in the target transaction, the smart contract corresponding to the electronic signature is invoked. Optionally, the signature module further: If the authorization information is included in the target transaction, it is further determined whether the target transaction is successfully stored in the blockchain; if it is, it triggers the call of a smart contract corresponding to the electronic signature. Optionally, the target electronic document is pre-stored in the blockchain; wherein, the target electronic document stored in the blockchain is preset to restrict access to user accounts other than the smart contract 'S access rights; The signature module: Reading the target electronic document from the blockchain; Perform an electronic signature operation on the read target electronic document based on the CA certificate. Optionally, the CA certificate includes the private key of the contracted user; The signature module: Based on the private key of the contracted user in the CA certificate, perform an electronic signature operation on the read target electronic document. Optionally, the blockchain includes a main chain and several sub-chains; the several sub-chains include a first sub-chain for storing the access address of the target electronic document, and a storage for the target electron The second sub-chain of the original content of the document; The signature module further: Reading the access address of the target electronic document from the first sub-chain; The original content of the target electronic document is read from the second sub-chain based on the access address of the target electronic document. Optionally, the several sub-chains further include a third sub-chain for storing the CA certificate; The signature module further: Reading the CA certificate corresponding to the contracted user from the third sub-chain. Optionally, the target electronic document is an electronic contract. This manual also proposes an electronic device, including: processor; Memory for storing machine executable instructions; Wherein, by reading and executing the machine-executable instructions stored in the memory corresponding to the control logic of the blockchain-based electronic signature based on the blockchain, the processor is prompted to: Receiving a target transaction initiated by a contracted user through a client; wherein the target transaction is used to trigger an electronic signature operation on a target electronic document; the CA certificate corresponding to the contracted user is stored in the blockchain in advance; In response to the target transaction, call a smart contract corresponding to the electronic signature, execute the electronic signature program declared in the smart contract, and read the CA certificate corresponding to the contracted user from the blockchain; and, Perform an electronic signature operation on the target electronic document based on the CA certificate. Through the above technical solution, on the one hand, since the user can invoke the smart contract to trigger the smart contract to read the CA certificate corresponding to the contracted user from the blockchain, and based on the read CA certificate to the electronic document Perform electronic signature operations; therefore, it is possible to avoid manual signatures of electronic documents by users, simplifying the complexity of electronic signature operations; On the other hand, because the CA certificate of the contracted user is pre-stored in the blockchain, and the CA certificate on the blockchain can only be used by smart contracts, it can avoid illegal third-party users by fraudulently signing the contracted user The way of the CA certificate is to use the CA certificate of the contracted user to perform electronic signature operations on the electronic documents against the wishes of the contracted user, which can improve the security level when performing electronic signature operations on the electronic documents.
本說明書旨在提出一種,透過調用部署在區塊鏈上的智慧型合約,利用發布在區塊鏈上的簽約者的CA證書,來代替簽約者利用簽約者自動對待簽約的電子文書進行電子簽名的技術方案。
在實現時,一方面,可以在區塊鏈上提前部署用於對電子文書進行電子簽名操作的智慧型合約;另一方面,CA機構在為簽約者頒發CA證書後,也可以將為簽約者頒發的CA證書發布至區塊鏈,在區塊鏈的分散式資料庫(即分散式帳本)中進行儲存。
而簽約者在需要對電子文書進行電子簽名時,可以透過客戶端發起一筆用於觸發對電子文書進行電子簽名操作的交易。而區塊鏈中的節點設備在收到該交易後,可以發起對上述智慧型合約的調用,執行該智慧型合約中聲明的電子簽名程序,從區塊鏈中讀取與上述簽約用戶的CA證書,然後基於讀取到的CA證書對自動對上述電子文書進行電子簽名操作。
透過以上技術方案,一方面,由於用戶可以透過調用智慧型合約的方式,來觸發智慧型合約從區塊鏈中讀取與簽約用戶對應的CA證書,並基於讀取到的CA證書對電子文書進行電子簽名操作;因此,可以避免由用戶手動對電子文書進行簽名,簡化電子簽名操作的複雜度;
另一方面,由於簽約用戶的CA證書被預先儲存至區塊鏈,並且區塊鏈上的CA證書,只能由智慧型合約來統一使用,因此可以避免非法的第三方用戶透過冒用簽約用戶的CA證書的方式,在違背簽約用戶的意願的情況下,使用簽約用戶的CA證書對電子文書進行電子簽名操作,可以提升對電子文書進行電子簽名操作時的安全等級。
下面透過具體實施例並結合具體的應用場景對本說明書進行描述。
請參考圖1,圖1是本說明書一實施例提供的一種基於區塊鏈的電子簽名方法,應用於區塊鏈中的節點設備,執行以下步驟:
步驟102,接收簽約用戶透過客戶端發起的目標交易;其中,所述目標交易用於觸發對目標電子文書進行電子簽名操作;與所述簽約用戶對應的CA證書被預先儲存至所述區塊鏈;
步驟104,回應於所述目標交易,調用與電子簽名對應的智慧型合約,執行所述智慧型合約中聲明的電子簽名程序,從區塊鏈中讀取與所述簽約用戶對應的CA證書;以及,基於所述CA證書對所述目標電子文書進行電子簽名操作。
在本說明書描述的區塊鏈,具體可以包括任意類型的區塊鏈網路;例如,在實際應用中,可以採用共有鏈、私有鏈、或者聯盟鏈中的任意一種。
例如,在示出的是一種實施方式中,上述區塊鏈網路具體可以是一個由主鏈,以及若干子鏈構成的聯盟鏈。
在本說明書中所描述的交易,是指用戶透過區塊鏈的客戶端創建,並需要最終發布至區塊鏈中的一筆資料。
其中,區塊鏈中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指用戶向區塊鏈發布的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是用戶在區塊鏈中發起的一筆轉帳。而廣義的交易是指用戶向區塊鏈發布的一筆具有業務意圖的業務資料;例如,運營方可以基於實際的業務需求搭建一個聯盟鏈,依託於聯盟鏈部署一些與價值轉移無關的其它類型的線上業務(比如,租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是用戶在聯盟鏈中發布的一筆具有業務意圖的業務訊息或者業務請求。
而上述目標交易,則是指由用戶透過客戶端創建的,用於觸發對區塊鏈上部署的智慧型合約進行調用的調用訊息或者調用請求。
上述電子文書,可以包括任意形式的以數字形式存在的待簽約文字;例如,在一個例子中,上述電子文書具體可以是電子合約。
在本說明書中,簽約用戶可以基於個人的身分資訊,向CA機構申請CA證書。而CA機構收到簽約用戶的CA證書申請後,可以基於簽約用戶提交的身分資訊,對簽約用戶進行身分認證,並在身分認證透過後,可以為上述簽約用戶頒發CA證書。
其中,簽約用戶向CA機構申請CA證書的具體過程,在本說明書中不再進行詳細描述;
例如,在實際應用中,簽約用戶用向CA機構提交身分資訊申請CA證書,而CA機構在對簽約用戶的身分資訊驗證透過後,可以為簽約用戶分配公鑰私鑰對,並將分配的公鑰私鑰對與該簽約用戶的身分資訊進行綁定後,使用CA機構持有的私鑰進行電子簽名,形成CA證書頒發給簽約用戶。
在本說明書中,對於頒發給簽約用戶的CA證書,可以發布至區塊鏈,在區塊鏈的分散式資料庫中進行儲存;
例如,在一個例子中,CA證書在將CA證書頒發給簽約用戶後,簽約用戶可以透過客戶端以交易的形式在區塊鏈中發布上述CA證書(CA證書以密文的形式攜帶在交易中),而區塊鏈中的節點設備,在收到上述CA證書後,可以發起對上述CA證書進行共識處理,並在共識通過後,將上述CA證書收錄儲存至上述區塊鏈的分散式資料庫。
在示出的一種實施方式中,為了提升簽約用戶的CA證書的使用安全,當CA機構為簽約用戶頒發的CA證書經過共識處理,被成功收錄儲存至區塊鏈的分散式資料庫之後,可以為鏈上儲存的CA證書設置存取權限,來限制該簽約用戶以外的用戶帳戶進行存取。
也即,透過為鏈上儲存的CA證書設置存取權限,來確保只有該簽約用戶本人,能夠具有存取鏈上儲存的CA證書的權限,對該CA證書進行查看、操作。
例如,在實現時,可以為鏈上儲存的CA證書預配置存取權限列表,並將上述簽約用戶的身分資訊寫入上述存取權限列表,用於指示只有該簽約用戶能夠具有該CA證書的存取權限;比如,在區塊鏈中,透過利用簽約用戶的公鑰,或者公鑰衍生資料(如對公鑰進行運算得到的帳戶位址)來指示用戶的身分,因此可以將上述簽約用戶的公鑰或者公鑰衍生資料,配置為唯一能夠存取上述CA證書的合法身分。
在本說明書中,區塊鏈的運營方,可以依託於上述區塊鏈,在區塊鏈上部署對儲存在區塊鏈上的電子文書進行電子簽名的線上業務,使得簽約用戶在簽署電子文書時,可以不再需要基於持有的私鑰,手動的對電子文書進行電子簽名操作,而是在鏈上線上完成針對電子文書的電子簽名操作。
在實現時,區塊鏈的運營方,可以開發用於對區塊鏈上的電子文書進行線上電子簽名的智慧型合約,在該智慧型合約中聲明用於對電子文書進行電子簽名操作的電子簽名程序。
其中,上述電子簽名程序具體可以是聲明在智慧型合約中的,與對電子文書進行電子簽名操作的執行邏輯相關的程式碼(比如一些可供調用的程序方法或者函數)。
而對於開發完成的上述智慧型合約,區塊鏈的運營方可以透過區塊鏈中的任一節點設備,將該智慧型合約發布至區塊鏈。而區塊鏈中的節點設備,在收到上述智慧型合約後,可以發起對上述智慧型合約進行共識處理,並在共識透過後,將上述智慧型合約收錄儲存至上述區塊鏈的分散式資料庫。
後續,簽約用戶可以透過客戶端存取區塊鏈中的任一節點設備,向區塊鏈中發布用於觸發對目標電子文書進行電子簽名操作的目標交易,來發起對已經部署完成的智慧型合約的調用,觸發執行上述智慧型合約中聲明的電子簽名程序,來線上的對上述目標電子文書進行電子簽名操作。
在本說明書中,區塊鏈的運營方,除了可以依託於上述區塊鏈,在區塊鏈上部署對儲存在區塊鏈上的電子文書進行電子簽名的線上業務以外,還可以依託於上述區塊鏈,在區塊鏈上部署用於觸發對儲存在區塊鏈上的電子文書進行線上顯示的線上業務。
在實現時,區塊鏈的運營方,可以開發用於對區塊鏈上的電子文書進行線上顯示的智慧型合約,在該智慧型合約中聲明用於對電子文書進行內容驗證的驗證程序。
其中,上述驗證程序具體可以是聲明在智慧型合約中的,與對電子文書的原始內容進行驗證操作的執行邏輯相關的程序代碼。
而對於開發完成的上述智慧型合約,區塊鏈的運營方仍然可以透過區塊鏈中的任一節點設備,將該智慧型合約發布至區塊鏈。而區塊鏈中的節點設備,在收到上述智慧型合約後,可以發起對上述智慧型合約進行共識處理,並在共識通過後,將上述智慧型合約收錄儲存至上述區塊鏈的分散式資料庫。
後續,簽約用戶可以透過客戶端存取區塊鏈中的任一節點設備,向區塊鏈中發布用於觸發對目標電子文書進行線上顯示的目標交易,來發起對已經部署完成的該智慧型合約的調用,觸發執行上述智慧型合約中聲明的驗證程序,對上述目標電子文書的內容進行驗證,並在內容驗證通過後,向上述客戶端返回上述目標電子文書以及上述目標電子文書的內容驗證結果(比如電子文書內容是否被篡改)。
其中,需要說明的是,以上描述的用於對區塊鏈上的電子文書進行線上電子簽名的智慧型合約、和用於對區塊鏈上的電子文書進行線上顯示的智慧型合約,在實際應用中,可以整合為一個智慧型合約在區塊鏈上進行部署(圖3中示出的為將上述兩種智慧型合約整合成為一個智慧型合約),也可以作為兩個不同的智慧型合約在區塊鏈上進行部署,在本說明書中不進行特別限定。
以下以上述目標電子文書為簽約用戶需要簽署的電子合約為例進行說明。
在示出的一種實施方式中,上述區塊鏈具體可以採用的主鏈-子鏈的架構,可以包括一主鏈(Main Chain)和若干子鏈(Child Chain)。其中,上述區塊鏈網路中的子鏈的數量,可以基於實際的業務需求進行規劃,在本說明書中不進行特別限定。
請參見圖2,圖2為本說明書示出的一種區塊鏈的架構圖。
如圖2所示,在示出的一種實施方式中,上述區塊鏈可以按照收錄儲存的資料類型,劃分為「存證鏈」、「合約摘要子鏈」(第一子鏈)、“合約子鏈」(第二子鏈)、「CA證書子鏈」(第三子鏈)。
上述存證鏈,可以是上述區塊鏈的主鏈;也即,可以將上述區塊鏈的主鏈作為存證鏈,用於對簽約用戶在區塊鏈上完成的一系列操作相關的交易資料進行儲存存證,以便於未來對簽約用戶的操作行為進行追溯;其中,區塊鏈的運營方部署的上述智慧型合約,可以在共識通過後,收錄儲存至主鏈。
上述合約摘要子鏈,用於儲存電子合約的摘要資料(對合約內容進行雜湊運算得到的hash值)和電子合約的原始內容的存取位址。
上述合約子鏈,用於儲存電子合約的原始內容。
其中,在示出的一種實施方式中,為了提升電子合約的原始內容的資料安全,可以為鏈上儲存的電子合約的原始內容設置存取權限,來限制上述智慧型合約以外的用戶帳戶進行存取。也即,透過為鏈上儲存的電子合約的原始內容設定存取權限,來確保只有上述智慧型合約,能夠具有存取鏈上儲存的電子合約的原始內容的權限,對該電子合約的原始內容進行查看、操作。
上述CA證書子鏈,用於儲存由CA機構頒發給簽約用戶的CA證書。
其中,需要說明的是,以上描述的子鏈劃分方式,僅為示例性的,在實際應用中,可以基於實際的需求,對以上示出的各個子鏈進行進一步的細分,也可以對以上示出的多個子鏈進行合併處理;
例如,可以將上述合約摘要子鏈,進一步劃分為「合約摘要子鏈」和「合約位址子鏈」,在合約摘要子鏈中儲存電子合約的摘要資訊,在合約位址子鏈中儲存電子合約的存取位址;又如,也可以將上述合約摘要子鏈和合約子鏈,合併為同一個子鏈,將電子合約的摘要資訊、存取位址、原始內容均儲存在該子鏈中。
以下以採用圖2中示出的區塊鏈的架構,來詳細描述簽約用戶對電子文書進行簽約的流程。
請參見圖3,圖3為本說明書示出的一種簽約用戶對電子文書進行簽約的流程圖。
如圖3所示,在本說明書示出的電子文書的簽約流程中,可以劃分為電子合約上傳、簽約用戶身分認證、簽約用戶合約確認、簽約用戶電子簽名等四個階段。
1)電子合約上傳
如圖3所示,電子合約的起草方,在完成電子合約的起草後:
一方面,可以透過客戶端將電子合約的原始內容上傳給電子合約系統,而電子合約系統可以進一步以交易的形式在上述合約子鏈中發布電子合約的原始內容(電子合約的原始內容以密文的形式攜帶在交易中);而上述合約子鏈中的節點設備,在收到上述電子合約的原始內容後,可以發起對上述電子合約的原始內容進行共識處理,並在共識通過後,將上述電子合約的原始內容收錄儲存至上述合約子鏈的分散式資料庫。
當上述電子合約的原始內容被成功收錄至上述合約子鏈的分散式資料庫後,上述合約子鏈可以向上述電子合約系統返回一個保存成功的通知訊息,將上述電子合約的原始內容在上述合約子鏈上的存取位址,返回給上述電子合約系統;而上述電子合約系統在收到上述合約子鏈的反饋後,可以向上述客戶端返回一個上傳成功的通知訊息,將上述電子合約的原始內容在上述合約子鏈上的存取位址,進一步返回給上述客戶端。
例如,上述電子合約的原始內容的存取位址,具體可以包括收錄該電子合約的原始內容的交易的hash值,以及收錄該交易的區塊的區塊編號等資訊。
在示出的一種實施方式中,為了提升電子文書的使用安全,當電子文書的原始內容經過共識處理,被成功收錄儲存至上述存證鏈的分散式資料庫之後,可以為鏈上儲存的電子文書的原始內容設定存取權限,來限制除了以上描述的智慧型合約以外的用戶帳戶進行存取。
也即,透過為鏈上儲存的電子文書設置存取權限,來確保只有鏈上部署的智慧型合約,能夠具有存取鏈上儲存的電子文書的原始內容的權限,對電子文書的原始內容進行查看、操作。
其中,為鏈上儲存的電子文書的原始內容設置存取權限的具體過程,不再進行贅述。
另一方面,電子合約的起草方在透過客戶端收到上述合約子鏈返回的電子合約的原始內容在上述合約子鏈上的存取位址後,還可以透過客戶端運算該電子合約的摘要資訊,並將該電子合約的摘要資訊上傳給電子合約系統。而上述電子合約系統,可以進一步以交易的形式在上述合約摘要子鏈中發布該電子合約的摘要資訊和該電子合約的存取位址(均以密文的形式攜帶在交易中)。上述合約摘要子鏈中的節點設備,在收到上述電子合約的摘要資訊和該電子合約的存取位址後,可以發起對上述電子合約的摘要資訊和該電子合約的存取位址進行共識處理,並在共識通過後,將上述電子合約的摘要資訊和該電子合約的存取位址收錄儲存至上述合約摘要子鏈的分散式資料庫。
當上述電子合約的摘要資訊和該電子合約的存取位址被成功收錄至上述合約摘要子鏈的分散式資料庫後,上述合約摘要子鏈也可以向上述電子合約系統返回一個保存成功的通知訊息,將上述電子合約的摘要資訊和該電子合約的存取位址在上述合約摘要子鏈中的存取位址,返回給上述電子合約系統。而上述電子合約系統在收到上述合約摘要子鏈的反饋後,也可以進一步向上述客戶端返回一個上傳成功的通知訊息,將上述電子合約的摘要資訊和該電子合約的存取位址在上述合約摘要子鏈中的存取位址,進一步返回給上述客戶端。
此時,電子合約起草方,成功將電子合約的原始內容、電子合約的摘要資訊和該電子合約的存取位址,分別收錄儲存至不同的子鏈。
2)簽約用戶身分認證
如圖3所示,簽約用戶可以透過客戶端向上述電子合約系統發送簽約請求,發起對上述電子合約的線上簽約;而上述電子合約系統在收到該簽約請求後,可以回應該簽約請求,對該簽約用戶進行身分認證。
其中,對簽約用戶進行身分認證的具體方式,在本說明書中將不進行特別限定;
例如,在一個例子中,上述簽約請求可以基於簽約用戶持有的私鑰進行電子簽名操作,而電子合約系統可以透過與簽約用戶持有的私鑰對應的公鑰對上述簽約請求的電子簽名進行驗證,以確定該簽約請求是否由持有該私鑰的簽約用戶本人發起的簽約請求。當然,在實際應用中,也可以借助人臉識別等其它形式的認證技術,來完成對上述簽約用戶的身分認證,在本說明書中不再進行一一列舉。
當電子合約系統完成對上述簽約用戶的身分認證後,可以產生一條該簽約用戶已經透過身分認證的認證記錄,並根據產生的認證記錄建構一筆交易,然後將該交易在上述存證鏈(即主鏈)上進行發布,以發起對已經部署完成的,用於對區塊鏈上的電子合約進行線上顯示的智慧型合約進行調用,來觸發線上顯示需要簽署的電子合約。
而上述存證鏈中的節點設備,在收到上述交易後,可以發起對上述交易進行共識處理,並在共識通過後,將上述交易收錄儲存至上述存證鏈的分散式資料庫進行存證,然後向上述電子合約系統返回上述交易在存證鏈上的存取位址。後續,電子合約系統可以基於該交易在存證鏈上的存取位址,對該簽約用戶的身分認證結果進行追溯查詢。
3)簽約用戶合約確認
請繼續參見圖3,上述電子合約系統根據產生的上述認證記錄建構的交易共識通過,在上述存證鏈上完成存證後,此時上述存證鏈上的節點設備,可以立即觸發調用已經部署完成的,用於對區塊鏈上的電子合約進行線上顯示的智慧型合約,執行該智慧型合約中聲明的驗證程序,對該電子合約的原始內容進行驗證,以確定該電子合約的原始內容是否發生篡改。
在示出的一種實施方式中,在觸發調用上述智慧型合約之前,首先確定該筆交易是否被成功儲存至上述存證鏈;如果該筆交易被成功儲存至上述存證鏈,此時再發起對上述智慧型合約的調用;也即,只有由用戶發起的用於觸發對上述電子合約進行線上顯示的交易在上述存證鏈上完成存證後,才會觸發調用上述智慧型合約。
在本說明書中,上述智慧型合約在執行上述驗證程序時,首先可以從上述合約摘要子鏈中讀取上述電子文書的摘要資訊和上述電子文書的存取位址;
例如,在上述交易中,可以攜帶上述電子合約的摘要資訊和上述電子合約的存取位址,在上述合約摘要子鏈中的存取位址,而上述智慧型合約可以基於該存取位址,從上述合約摘要子鏈讀取上述電子合約的摘要資訊和存取位址。然後,可以基於上述電子合約的存取位址,從上述合約子鏈中讀取上述電子合約的原始內容;
例如,上述智慧型合約可以建構一筆用於查詢電子合約的原始內容的交易,並基於持有的私鑰對該交易進行電子簽名;而在上述合約子鏈中,可以將該智慧型合約的公鑰配置為具有存取權限的授權公鑰。當該合約子鏈中的節點設備收到該交易後,可以基於上述授權公鑰對該交易的電子簽名進行驗證;如果驗證通過,表明該智慧型合約具有存取該合約子鏈中儲存的電子合約的原始內容的存取權限,可以正常回應該筆交易,向該智慧型合約返回被查詢的電子合約的原始內容。
進一步的,在從上述合約子鏈讀取到電子合約的原始內容後,可以進一步運算出讀取到的電子合約的原始內容的摘要資訊;例如,以上述摘要資訊為hash值為例,可以基於雜湊演算法對讀取到的電子合約的原始內容重新進行雜湊運算得到對應的hash值;然後,可以將重新運算得到的電子合約的原始內容的摘要資訊,與從上述合約摘要子鏈讀取上述電子合約的摘要資訊進行匹配;如果重新運算得到的摘要資訊,與從上述合約摘要子鏈讀取上述電子合約的摘要資訊匹配,表明從上述合約子鏈中讀取到的電子合約的原始內容,與合約起草方最初上傳至上述合約子鏈的電子合約的原始內容完全一致,並沒有發生篡改;此時,該電子合約的原始內容通過了內容驗證;反之。如果重新運算得到的摘要資訊,與從上述合約摘要子鏈讀取上述電子合約的摘要資訊匹配,表明從上述合約子鏈中讀取到的電子合約的原始內容,與合約起草方最初上傳至上述合約子鏈的電子合約的原始內容不一致,可能發生了篡改;此時,該電子合約的原始內容未通過內容驗證。
當完成針對上述電子合約的原始內容的內容驗證後,上述智慧型合約可以將讀取到的電子合約的原始內容,以及針對該電子合約的原始內容的內容驗證結果,返回給上述電子合約系統,再透過上述電子合約系統返回給上述簽約用戶的客戶端向簽約用戶進行線上顯示,由簽約用戶對顯示的電子合約的原始內容進行簽約確認。
在本說明書中,當簽約用戶對顯示的電子合約的原始內容進行確認後,可以透過客戶端向上述電子合約系統發送一筆內容確認訊息;而上述電子合約系統在收到該內容確認訊息後,可以回應該內容確認訊息,根據該內容確認訊息建構一筆交易,然後將該交易在上述存證鏈(即主鏈)上進行發布。
而上述存證鏈中的節點設備,在收到上述交易後,可以發起對上述交易進行共識處理,並在共識通過後,將上述交易收錄儲存至上述存證鏈的分散式資料庫進行存證,然後向上述電子合約系統返回上述交易在存證鏈上的存取位址。後續,電子合約系統可以基於該交易在存證鏈上的存取位址,對該簽約用戶對上述電子合約進行的內容確認操作進行追溯查詢。
4)簽約用戶電子簽名
請繼續參見圖3,當簽約用戶對需要簽署的電子合約的原始內容進行內容確認,並且該筆內容確認成功在存證鏈上完成存證後,簽約用戶可以透過客戶端向上述電子合約系統發送電子簽名請求,發起對上述電子合約的線上電子簽名。
上述電子合約系統在收到該電子簽名請求後,可以基於該電子簽名請求來建構一筆用於觸發對上述電子合約進行電子簽名操作的交易,然後將該交易在上述存證鏈(即主鏈)上進行發布,以發起對已經部署完成的,用於對區塊鏈上的電子合約進行線上電子簽名操作的智慧型合約進行調用,來觸發對需要簽署的電子合約進行線上電子簽名操作。
而上述存證鏈中的節點設備,在收到上述交易後,可以發起對上述交易進行共識處理,並在共識通過後,將上述交易收錄儲存至上述存證鏈的分散式資料庫進行存證,然後向上述電子合約系統返回上述交易在存證鏈上的存取位址。後續,電子合約系統可以基於該交易在存證鏈上的存取位址,對該簽約用戶對上述電子合約發起的本次對上述電子合約的電子簽名操作進行追溯查詢。
在示出的一種實施方式中,在上述電子簽名請求中,可以攜帶簽約用戶對上述電子合約進行電子簽名的授權資訊。相應地,電子合約系統根據該電子簽名請求建構的交易中,也會攜帶該授權資訊,
其中,上述授權資訊,具體用於指示將已經儲存至上述CA證書子鏈上的該簽約用戶的CA證書的存取權限,授權給上述區塊鏈上已經部署的用於對上述電子合約進行電子簽名操作的智慧型合約。
需要說明的是,上述授權資訊的內容形式,在本說明書中不進行特別限定;例如,在實際應用中,上述授權資訊具體可以是一個任意形式的用於取得上述CA證書的存取權限的一個電子憑證;比如,字串、密碼或者其它形式的可供驗證的電子憑證。
請繼續參見圖3,上述電子合約系統根據上述電子簽名請求建構的交易共識通過,在上述存證鏈上完成存證後,此時上述存證鏈上的節點設備,可以立即觸發調用已經部署完成的,用於對區塊鏈上的電子合約進行電子簽名操作的智慧型合約,執行該智慧型合約中聲明的電子簽名程序,對該電子合約進行線上電子簽名。
在示出的一種實施方式中,在觸發調用上述智慧型合約之前,首先可以確定上述交易中是否攜帶上述授權資訊;如果上述交易中攜帶上述授權資訊,表明上述簽約用戶已經將儲存在上述CA證書子鏈上的個人的CA證書的存取權限,授權給上述智慧型合約(即簽約用戶同意了由智慧型合約代替自己完成電子簽名操作),此時再發起對上述智慧型合約的調用。也即,只有簽約用戶將個人的CA證書的存取權限授權給了上述智慧型合約後,才會觸發調用上述智慧型合約。
其中,在示出的另一種實施方式中,如果上述交易中攜帶上述授權資訊,還可以進一步確認該筆交易是否被成功儲存至上述存證鏈;如果該筆交易被成功儲存至上述存證鏈,此時再發起對上述智慧型合約的調用;也即,只有簽約用戶將個人的CA證書的存取權限授權給了上述智慧型合約,並且由用戶發起的用於觸發對上述電子合約進行電子簽名操作的交易在上述存證鏈上完成存證後,才會觸發調用上述智慧型合約。
在本說明書中,上述智慧型合約在執行上述電子簽名程序時,一方面,可以從上述合約子鏈上來讀取電子合約的原始內容;例如,由於上述合約子鏈上儲存的電子合約的原始內容,只有區塊鏈上部署的上述智慧型合約具有存取權限,因此上述智慧型合約可以從上述合約子鏈正常讀取電子合約的原始內容;
另一方面,還可以從上述CA證書子鏈中來讀取上述簽約用戶的CA證書;
例如,上述智慧型合約可以建構一筆用於查詢CA證書的交易,在該交易中攜帶作為上述授權資訊的電子憑證,然後將該交易在上述CA證書子鏈中進行發布;而上述CA證書子鏈上的節點設備收到該筆交易後們可以對該交易中的電子憑證進行驗證,以確認該智慧型合約是否具有存取上述簽約用戶的CA證書的存取權限;如果驗證通過,可以將上述簽約用戶的CA證書返回給上述智慧型合約;也即,上述智慧型合約可以透過向上述CA證書子鏈中的節點設備提交作為上述授權資訊的電子憑證,從CA證書子鏈中以上述簽約用戶的存取權限來讀取CA證書。
當然,在實際應用中,如果上述CA證書子鏈中未儲存上述簽約用戶的CA證書,也可以以簽約用戶的授權身分,向CA機構重新申請CA證書,具體的實施不再贅述。
進一步,當從上述合約子鏈上讀取到了待簽署的電子合約的原始內容,並且從上述CA證書子鏈中讀取到上述簽約用戶的個人CA證書後,可以基於讀取到的CA證書,對該電子合約的原始內容進行電子簽名操作。
在示出的一種實施方式中,如果簽約用戶的公鑰私鑰由CA機構統一分配,在簽約用戶的CA證書中,通常會攜帶該簽約用戶的公鑰私鑰對;在這種情況下,可以基於該CA證書中攜帶的私鑰,對待簽署的電子合約的原始內容進行電子簽名操作即可。
在示出的另一種實施方式中,如果簽約用戶的公鑰私鑰並不是由CA機構統一分配,而是由簽約用戶自主產生;例如,在用戶客戶端的安全環境中搭載密鑰產生演算法,或者在用戶持有的安全硬體(比如USB key)中搭載密鑰產生演算法,簽約用戶可以透過觸發運行上述密鑰產生演算法,為自己創建私鑰公鑰對;在這種情況下,上述CA證書中通常只會攜帶簽約用戶的公鑰。簽約用戶可以對個人私鑰進行加密後,將個人私鑰單獨提交給上述智慧型合約,進而上述智慧型合約可以對簽約用戶的私鑰進行解密後,基於該私鑰對待簽署的電子合約的原始內容進行電子簽名操作即可。
其中,需要強調的是,在基於CA證書對上述電子合約的原始內容進行電子簽名操作時,也可以將上述CA證書也作為載荷攜帶在電子簽名中;在這種情況下,在需要對簽約用戶的電子簽名進行驗證時,可以基於CA機構的公鑰對上述電子簽名中攜帶的CA證書進行解密,獲得上述簽約用戶的公鑰,然後基於上述簽約用戶的公鑰對電子簽名進行驗證即可,而不再需要單獨查詢上述簽約用戶的公鑰。
請繼續參見圖3,當完成針對上述電子簽名的原始內容的電子簽名操作後,上述智慧型合約可以產生一筆用於指示上述簽約用戶已完成對上述電子合約進行電子簽名操作的簽名記錄,並基於該簽名記錄建構一筆交易,在上述存證鏈上進行發布,由上述存證鏈上的節點設備對該交易共識處理後,在上述存證鏈上進行儲存,以便於電子合約系統後續可以對簽約用戶本次對該電子合約的電子簽名操作進行追溯查詢。
透過以上技術方案,一方面,由於用戶可以透過調用智慧型合約的方式,來觸發智慧型合約從區塊鏈中讀取與簽約用戶對應的CA證書,並基於讀取到的CA證書對電子文書進行電子簽名操作;因此,可以避免由用戶手動對電子文書進行簽名,簡化電子簽名操作的複雜度;
另一方面,由於簽約用戶的CA證書被預先儲存至區塊鏈,並且區塊鏈上的CA證書,只能由智慧型合約來統一使用,因此可以避免非法的第三方用戶透過冒用簽約用戶的CA證書的方式,在違背簽約用戶的意願的情況下,使用簽約用戶的CA證書對電子文書進行電子簽名操作,可以提升對電子文書進行電子簽名操作時的安全等級。
與上述方法實施例相對應,本說明書還提供了一種基於區塊鏈的電子簽名裝置的實施例。本說明書的基於區塊鏈的電子簽名裝置的實施例可以應用在電子設備上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在電子設備的處理器將非易失性記憶體中對應的電腦程式指令讀取到內部記憶體中運行形成的。從硬體層面而言,如圖4所示,為本說明書的基於區塊鏈的電子簽名裝置所在電子設備的一種硬體結構圖,除了圖4所示的處理器、內部記憶體、網路介面、以及非易失性記憶體之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
圖5是本說明書一示例性實施例示出的一種基於區塊鏈的電子簽名裝置的方塊圖。
請參考圖5,所述基於區塊鏈的電子簽名裝置50可以應用在前述圖3所示的電子設備中,包括有:接收模組501和簽名模組502。
接收模組501,接收簽約用戶透過客戶端發起的目標交易;其中,所述目標交易用於觸發對目標電子文書進行電子簽名操作;與所述簽約用戶對應的CA證書被預先儲存至所述區塊鏈;
簽名模組502,回應於所述目標交易,調用與電子簽名對應的智慧型合約,執行所述智慧型合約中聲明的電子簽名程序,從區塊鏈中讀取與所述簽約用戶對應的CA證書;以及,基於所述CA證書對所述目標電子文書進行電子簽名操作。
在本實施例中,所述區塊鏈中儲存的所述CA證書,被預設了限制所述簽約用戶以外的用戶帳戶進行存取的存取權限;
所述簽名模組502:
確定所述目標交易中是否包括所述簽約用戶對所述目標文字進行電子簽名的授權資訊;其中,所述授權資訊用於指示將所述CA證書的存取權限授權給所述智慧型合約;
如果所述目標交易中包括所述授權資訊,則觸發調用與電子簽名對應的智慧型合約。
在本實施例中,所述簽名模組502進一步:
如果所述目標交易中包括所述授權資訊,進一步確定所述目標交易是否被成功儲存至所述區塊鏈;如果是,則觸發調用與電子簽名對應的智慧型合約。
在本實施例中,所述目標電子文書被預先儲存至區塊鏈;其中,所述區塊鏈中儲存的所述目標電子文書,被預設了限制所述智慧型合約以外的用戶帳戶進行存取的存取權限;
所述簽名模組502:
從所述區塊鏈中讀取所述目標電子文書;
基於所述CA證書對讀取到的所述目標電子文書進行電子簽名操作。
在本實施例中,所述CA證書包括所述簽約用戶的私鑰;
所述簽名模組502:
基於所述CA證書中的所述簽約用戶的私鑰,對讀取到的所述目標電子文書進行電子簽名操作。
在本實施例中,所述區塊鏈包括主鏈以及若干子鏈;所述若干子鏈包括用於儲存所述目標電子文書的存取位址的第一子鏈,以及用於儲存所述目標電子文書的原始內容的第二子鏈;
所述簽名模組502進一步:
從所述第一子鏈中讀取所述目標電子文書的存取位址;
基於所述目標電子文書的存取位址從所述第二子鏈中讀取所述目標電子文書的原始內容。
在本實施例中,所述若干子鏈還包括用於於儲存所述CA證書的第三子鏈;
所述簽名模組502進一步:
從所述第三子鏈中讀取與所述簽約用戶對應的CA證書。
在本實施例中,所述目標電子文書為電子合約。
上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中,所述作為分離部件說明的模組可以是或者也可以不是實體上分開的,作為模組顯示的部件可以是或者也可以不是實體模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本發明所屬技術領域中具有通常知識者在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置、模組或模組,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的記憶體;其中,處理器和記憶體通常透過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部介面,以能夠與其他設備或者部件進行通訊。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的電子簽名的控制邏輯對應的機器可執行指令,所述處理器被促使:
接收簽約用戶透過客戶端發起的目標交易;其中,所述目標交易用於觸發對目標電子文書進行電子簽名操作;與所述簽約用戶對應的CA證書被預先儲存至所述區塊鏈;
回應於所述目標交易,調用與電子簽名對應的智慧型合約,執行所述智慧型合約中聲明的電子簽名程序,從區塊鏈中讀取與所述簽約用戶對應的CA證書;以及,
基於所述CA證書對所述目標電子文書進行電子簽名操作。
在本實施例中,所述區塊鏈中儲存的所述CA證書,被預設了限制所述簽約用戶以外的用戶帳戶進行存取的存取權限;
透過讀取並執行所述記憶體儲存的與基於區塊鏈的電子簽名的控制邏輯對應的機器可執行指令,所述處理器被促使:
確定所述目標交易中是否包括所述簽約用戶對所述目標文字進行電子簽名的授權資訊;其中,所述授權資訊用於指示將所述CA證書的存取權限授權給所述智慧型合約;
如果所述目標交易中包括所述授權資訊,則觸發調用與電子簽名對應的智慧型合約。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的電子簽名的控制邏輯對應的機器可執行指令,所述處理器被促使:
如果所述目標交易中包括所述授權資訊,進一步確定所述目標交易是否被成功儲存至所述區塊鏈;如果是,則觸發調用與電子簽名對應的智慧型合約。
在本實施例中,所述目標電子文書被預先儲存至區塊鏈;其中,所述區塊鏈中儲存的所述目標電子文書,被預設了限制所述智慧型合約以外的用戶帳戶進行存取的存取權限;
透過讀取並執行所述記憶體儲存的與基於區塊鏈的電子簽名的控制邏輯對應的機器可執行指令,所述處理器被促使:
從所述區塊鏈中讀取所述目標電子文書;
基於所述CA證書對讀取到的所述目標電子文書進行電子簽名操作。
在本實施例中,所述CA證書包括所述簽約用戶的私鑰;
透過讀取並執行所述記憶體儲存的與基於區塊鏈的電子簽名的控制邏輯對應的機器可執行指令,所述處理器被促使:
基於所述CA證書中的所述簽約用戶的私鑰,對讀取到的所述目標電子文書進行電子簽名操作。
在本實施例中,所述區塊鏈包括主鏈以及若干子鏈;所述若干子鏈包括用於儲存所述目標電子文書的存取位址的第一子鏈,以及用於儲存所述目標電子文書的原始內容的第二子鏈;
透過讀取並執行所述記憶體儲存的與基於區塊鏈的電子簽名的控制邏輯對應的機器可執行指令,所述處理器被促使:
從所述第一子鏈中讀取所述目標電子文書的存取位址;
基於所述目標電子文書的存取位址從所述第二子鏈中讀取所述目標電子文書的原始內容。
在本實施例中,所述若干子鏈還包括用於於儲存所述CA證書的第三子鏈;
透過讀取並執行所述記憶體儲存的與基於區塊鏈的電子簽名的控制邏輯對應的機器可執行指令,所述處理器被促使:
從所述第三子鏈中讀取與所述簽約用戶對應的CA證書。
本領域技術人員在考慮說明書及實踐這裡揭示的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未揭示的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。
應當理解的是,本說明書並不局限於上面已經描述並在圖式中顯示的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
This manual aims to propose a By invoking smart contracts deployed on the blockchain, Using the CA certificate of the contractor issued on the blockchain, To replace the contractor's technical solution of using the contractor to automatically sign the electronic document to be signed.
In the realization, on the one hand, Smart contracts for electronic signature operations on electronic documents can be deployed in advance on the blockchain; on the other hand, After the CA agency issues the CA certificate to the contractor, You can also publish the CA certificate issued to the contractor to the blockchain, Stored in a distributed database (ie distributed ledger) on the blockchain.
When a contractor needs to sign an electronic document electronically, A transaction that triggers an electronic signature operation on an electronic document can be initiated through the client. After receiving the transaction, the node device in the blockchain Can initiate calls to the above smart contracts, Execute the electronic signature program stated in the smart contract, Read the CA certificate of the contracted user from the blockchain, Then, based on the read CA certificate, the electronic signature operation is automatically performed on the electronic document.
Through the above technical solutions, on the one hand, Since users can call smart contracts, To trigger the smart contract to read the CA certificate corresponding to the contracted user from the blockchain, And based on the read CA certificate to electronically sign electronic documents; therefore, Can avoid manual signature of electronic documents by users, Simplify the complexity of electronic signature operations;
on the other hand, Since the CA certificate of the contracted user is stored in the blockchain in advance, And the CA certificate on the blockchain, Can only be used by smart contracts, Therefore, it is possible to prevent illegal third-party users from using the CA certificates of contracted users, Against the wishes of the contracted user, Use the signed user’s CA certificate to electronically sign electronic documents, It can improve the security level when performing electronic signature operations on electronic documents.
The following describes this specification through specific embodiments and specific application scenarios.
Please refer to Figure 1, FIG. 1 is a block chain-based electronic signature method provided by an embodiment of this specification, Node devices used in the blockchain, Perform the following steps:
102:方法步驟 104:方法步驟 50:基於區塊鏈的電子簽名裝置 501:接收模組 502:簽名模組 102: Method steps 104: Method steps 50: Blockchain-based electronic signature device 501: Receive module 502: Signature module
圖1是一示例性實施例提供的一種基於區塊鏈的電子簽名方法的流程圖; 圖2是一示例性實施例提供的一種區塊鏈的架構圖; 圖3是一示例性實施例提供的一種簽約用戶對電子文書進行簽約的流程圖; 圖4是一示例性實施例提供的一種電子設備的結構示意圖; 圖5是一示例性實施例提供的一種基於區塊鏈的電子簽名裝置的邏輯方塊圖。 FIG. 1 is a flowchart of a blockchain-based electronic signature method provided by an exemplary embodiment; 2 is an architecture diagram of a blockchain provided by an exemplary embodiment; FIG. 3 is a flowchart of a contracted user signing an electronic document provided by an exemplary embodiment; 4 is a schematic structural diagram of an electronic device provided by an exemplary embodiment; FIG. 5 is a logical block diagram of a blockchain-based electronic signature device provided by an exemplary embodiment.
Claims (13)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810672943.7 | 2018-06-26 | ||
CN201810672943.7A CN108960825A (en) | 2018-06-26 | 2018-06-26 | Electric endorsement method and device, electronic equipment based on block chain |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202002570A TW202002570A (en) | 2020-01-01 |
TWI694709B true TWI694709B (en) | 2020-05-21 |
Family
ID=64487103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108107759A TWI694709B (en) | 2018-06-26 | 2019-03-08 | Blockchain-based electronic signature method and device, and electronic equipment |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN108960825A (en) |
TW (1) | TWI694709B (en) |
WO (1) | WO2020001103A1 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960825A (en) * | 2018-06-26 | 2018-12-07 | 阿里巴巴集团控股有限公司 | Electric endorsement method and device, electronic equipment based on block chain |
CN109818957B (en) * | 2019-01-25 | 2020-12-22 | 上海淳麒金融信息服务有限公司 | Intelligent contract calling method, device and system based on visual interface |
CN111901402A (en) * | 2019-02-19 | 2020-11-06 | 创新先进技术有限公司 | Method, node and storage medium for implementing privacy protection in block chain |
CN111612613B (en) * | 2019-02-26 | 2023-11-10 | 傲为有限公司 | Block chain network with centralized system |
CN109948351B (en) * | 2019-02-28 | 2023-12-05 | 深圳市元征科技股份有限公司 | Information processing method and device |
CN110520883B (en) | 2019-03-04 | 2023-08-22 | 创新先进技术有限公司 | Method and apparatus for processing certificates in a blockchain system |
CN110086608B (en) * | 2019-03-21 | 2022-03-25 | 深圳壹账通智能科技有限公司 | User authentication method, device, computer equipment and computer readable storage medium |
CN109978543B (en) * | 2019-04-03 | 2022-03-22 | 恒生电子股份有限公司 | Contract signing method and device, electronic equipment and storage medium |
CN110059136A (en) * | 2019-04-17 | 2019-07-26 | 江苏全链通信息科技有限公司 | Information storage means, equipment and storage medium based on domain name block chain |
CN110287739B (en) * | 2019-06-17 | 2020-12-29 | 西安纸贵互联网科技有限公司 | Data security management method and system based on hardware private key storage technology |
CN110598460B (en) * | 2019-09-27 | 2022-08-05 | 腾讯科技(深圳)有限公司 | Block chain-based electronic signature method and device and storage medium |
CN110601858B (en) * | 2019-09-27 | 2021-05-28 | 腾讯科技(深圳)有限公司 | Certificate management method and device |
CN111010367B (en) * | 2019-11-07 | 2022-11-29 | 深圳市电子商务安全证书管理有限公司 | Data storage method and device, computer equipment and storage medium |
CN111626731A (en) * | 2020-04-10 | 2020-09-04 | 南京优物链科技有限公司 | Contract signing identity authentication and signature system based on block chain technology |
CN111460509B (en) * | 2020-04-16 | 2024-02-02 | 福建首众信息科技有限公司 | Electronic signature application method based on blockchain |
CN112258189A (en) * | 2020-12-03 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | Block chain-based subscription management method and device and electronic equipment |
CN112597545B (en) * | 2020-12-28 | 2024-04-12 | 山西云时代研发创新中心有限公司 | Medical electronic contract evidence-preserving method based on blockchain technology |
CN113609527A (en) * | 2021-07-06 | 2021-11-05 | 微易签(杭州)科技有限公司 | Method, system and equipment for creating digital signature based on block chain |
CN114897527B (en) * | 2022-05-20 | 2023-03-14 | 西南交通大学 | Authentication method for realizing commercial warranty claim value based on workload certification |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506552A (en) * | 2015-01-05 | 2015-04-08 | 四川中时代科技有限公司 | Safe monitoring and access control method of information system |
US20160275461A1 (en) * | 2015-03-20 | 2016-09-22 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
CN106372941A (en) * | 2016-08-31 | 2017-02-01 | 江苏通付盾科技有限公司 | CA authentication management method, device and system based on block chain |
CN107203368A (en) * | 2016-03-16 | 2017-09-26 | 蓝树荣 | A kind of method for setting up intelligent Contract Model |
CN107347008A (en) * | 2017-06-30 | 2017-11-14 | 上海策赢网络科技有限公司 | Electronic document verification method, equipment and system |
WO2018087836A1 (en) * | 2016-11-09 | 2018-05-17 | 株式会社日立製作所 | Blockchain transaction system and blockchain transaction method |
CN108197913A (en) * | 2017-12-18 | 2018-06-22 | 深圳前海微众银行股份有限公司 | Method of payment, system and computer readable storage medium based on block chain |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893042A (en) * | 2016-03-31 | 2016-08-24 | 北京航空航天大学 | Intelligent contract implementation method based on block chain |
CN107122673A (en) * | 2017-03-09 | 2017-09-01 | 深圳市金立通信设备有限公司 | A kind of information ciphering method and terminal |
CN106960165B (en) * | 2017-03-13 | 2020-12-22 | 广东网金控股股份有限公司 | Method for realizing multi-party electronic contract countersigning based on block chain intelligent contract |
CN107171794B (en) * | 2017-06-27 | 2019-10-22 | 葛峰 | A kind of electronic document signature method based on block chain and intelligent contract |
CN112865982A (en) * | 2017-07-26 | 2021-05-28 | 创新先进技术有限公司 | Digital certificate management method and device and electronic equipment |
CN107592293A (en) * | 2017-07-26 | 2018-01-16 | 阿里巴巴集团控股有限公司 | The means of communication, digital certificate management method, device and electronic equipment between block chain node |
CN108960825A (en) * | 2018-06-26 | 2018-12-07 | 阿里巴巴集团控股有限公司 | Electric endorsement method and device, electronic equipment based on block chain |
-
2018
- 2018-06-26 CN CN201810672943.7A patent/CN108960825A/en active Pending
-
2019
- 2019-03-08 TW TW108107759A patent/TWI694709B/en active
- 2019-03-27 WO PCT/CN2019/079885 patent/WO2020001103A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506552A (en) * | 2015-01-05 | 2015-04-08 | 四川中时代科技有限公司 | Safe monitoring and access control method of information system |
US20160275461A1 (en) * | 2015-03-20 | 2016-09-22 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
CN107203368A (en) * | 2016-03-16 | 2017-09-26 | 蓝树荣 | A kind of method for setting up intelligent Contract Model |
CN106372941A (en) * | 2016-08-31 | 2017-02-01 | 江苏通付盾科技有限公司 | CA authentication management method, device and system based on block chain |
WO2018087836A1 (en) * | 2016-11-09 | 2018-05-17 | 株式会社日立製作所 | Blockchain transaction system and blockchain transaction method |
CN107347008A (en) * | 2017-06-30 | 2017-11-14 | 上海策赢网络科技有限公司 | Electronic document verification method, equipment and system |
CN108197913A (en) * | 2017-12-18 | 2018-06-22 | 深圳前海微众银行股份有限公司 | Method of payment, system and computer readable storage medium based on block chain |
Also Published As
Publication number | Publication date |
---|---|
CN108960825A (en) | 2018-12-07 |
TW202002570A (en) | 2020-01-01 |
WO2020001103A1 (en) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI694709B (en) | Blockchain-based electronic signature method and device, and electronic equipment | |
TW202001654A (en) | Block chain-based content verification method and device, and electronic device | |
TWI701573B (en) | Data storage method and device based on blockchain, and electronic equipment | |
US11171782B2 (en) | Identity and electronic signature verification in blockchain | |
TWI717028B (en) | Block chain-based invoice taking method and device, electronic equipment | |
TWI736809B (en) | Asset management method and device, electronic equipment | |
TWI741314B (en) | Block chain-based data storage method and device, and electronic equipment | |
EP3312756B1 (en) | Establishing cryptographic identity for an electronic device | |
US11170092B1 (en) | Document authentication certification with blockchain and distributed ledger techniques | |
US20200119904A1 (en) | Tamper-proof privileged user access system logs | |
TW202018571A (en) | Data storage method and device based on block chain and electronic equipment | |
WO2020108114A1 (en) | Blockchain-based data attestation method and apparatus, and electronic device | |
CN109241726B (en) | User authority control method and device | |
TWI623904B (en) | Confirmation system based on blockchain smart contract and method thereof | |
WO2020108130A1 (en) | Blockchain-based service processing method and apparatus, and electronic device | |
US20220300962A1 (en) | Authenticator App for Consent Architecture | |
CN109388923B (en) | Program execution method and device | |
CN111178896B (en) | Bus taking payment method, device and storage medium | |
JP7262328B2 (en) | Asset backup process and program | |
US20230281585A1 (en) | Systems and Methods for Managing Network-Agnostic Smart Contracts |