CN109600219A - 一种基于以太坊智能合约的公钥管理系统 - Google Patents
一种基于以太坊智能合约的公钥管理系统 Download PDFInfo
- Publication number
- CN109600219A CN109600219A CN201811445349.0A CN201811445349A CN109600219A CN 109600219 A CN109600219 A CN 109600219A CN 201811445349 A CN201811445349 A CN 201811445349A CN 109600219 A CN109600219 A CN 109600219A
- Authority
- CN
- China
- Prior art keywords
- user
- information
- public key
- module
- intelligent contract
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于以太坊智能合约的公钥管理系统,包括三个模块:信息验证模块、信息存储模块和信息查询模块;信息验证模块,用于验证用户提交的数据是否合法;信息存储模块用于处理信息的存储和更新,用户通过调用信息存储模块提供的接口能够加入寄存系统或对寄存在系统中的密钥进行更新,当信息存储模块被成功调用之后,会在以太坊中对存储的信息进行更新,需要消耗一定的资源,对用户对接口的调用进行限制;信息查询模块用于对用户的查询进行反馈。
Description
技术领域
本发明涉及计算机信息安全领域,具体说的是一种基于以太坊智能合约的公钥管理方法。
技术背景
以太坊是一个公开的基于区块链的开源智能合约开发平台。利用以太坊的平台,用户可以以较低的成本在以太坊上部署自己的智能合约,同时利用以太坊较大的用户基数来保障自己的智能合约的安全性。用户不需要负担建立区块链网络的成本,对于一些数据生成频率较低的应用,能够在保障数据安全的前提下,不会因为区块持续的生成造成的资源浪费。
对于基于以太坊的智能合约,合约的状态存储在区块链网络中。当合约的状态发生改变,需要将信息在以太坊网络中进行发布,在这过程中需要消耗一定的资源。如果仅是对合约的状态进行访问,不会对合约的状态进行更改,不需要消耗资源。这对于信息存储频率较低,而信息读取频率较高的应用场景是较为合适的。
本发明设计了一个基于以太坊的智能合约,用于对用户的公钥进行管理。
发明内容
本发明的目的是使用现有的开放的区块链平台,建立一个公钥管理系统,利用以太坊的区块链网络来保障公钥管理系统的公开和透明,同时对于存储在公钥管理系统中的信息也受到区块链网络的保护,用户可以通过调用智能合约进行密钥的托管、更新和查询,对于存储在公钥管理系统中的信息不会被恶意篡改。技术方案如下:
一种基于以太坊智能合约的公钥管理系统,包括三个模块:信息验证模块、信息存储模块和信息查询模块;
信息验证模块,用于验证用户提交的数据是否合法,提供messageCheck(message,sign, id)接口供智能合约内部使用,需要用户的更新后公钥信息message、用户对信息的签名sign 和用户的id号,返回一个布尔值表示信息是否通过检验;智能合约通过用户的id号检索用户使用的公钥信息,如果未能检索到用户的公钥信息或用户的公钥失效,直接返回未通过检验,在检索到有效的用户之后,使用存储的公钥对收到的签名进行验证,返回验证结果。
信息存储模块用于处理信息的存储和更新,用户通过调用信息存储模块提供的接口能够加入寄存系统或对寄存在系统中的密钥进行更新,当信息存储模块被成功调用之后,会在以太坊中对存储的信息进行更新,需要消耗一定的资源,对用户对接口的调用进行限制;信息存储模块提供两个接口供用用户使用:enter(time)用于为用户提供接入寄存系统的服务,用户在加入寄存系统时设置寄存密钥的更新次数限制time,智能合约通过更新次数来对用户寄存时间进行限制。当智能合约接受寄存申请,返回一个结构体,结构为[flag即申请状态,id 即分配的用户id,pubKey即用户的临时公钥,priKey即用户的临时私钥];用户可以通过 update(message,sign,id)接口对寄存的公钥进行更新;智能合约对信息的有效性进行验证之后,检查用户是否到达更新次数上限。通过后更新存储在区块链中的信息,通过限制调用次数来限制用户寄存的时间;
信息查询模块用于对用户的查询进行反馈,当查询的目标信息存储在合约中时,返回目标的公钥信息,查询模块提供request(id)的方法为使用者提供调用方法的接口,用户使用用户id进行查询,智能合约在接收到请求之后,使用id信息在托管的公钥中进行检索,当对应id存在时,返回用户对应的公钥,否则返回一个空串,智能合约在执行查询操作时不需要向区块链的维护者支付费用。
本发明由于采用以上技术方案,其具有以下优点:
本发明以太坊区块链为基础,建立一个基于智能合约的公钥寄存合约。使用者不需要构建自己的区块链网络,可以利用以太坊网络来保障寄存在合约中的公钥信息的安全性。合约本身作为网络的数据的一部分,也受到区块链网络的保护来维护不变性。作为基于脚本的区块链程序,程序的源代码是公开的,可以通过代码审计的方式来避免程序中存在后门和漏洞。
附图说明
图1是公钥托管系统对托管请求响应的流程图
图2是公钥托管系统对公钥更新请求响应的流程图
具体实施方式
使用现有的开放的区块链平台,建立一个公钥管理系统,利用以太坊的区块链网络来保障公钥管理系统的公开和透明,同时对于存储在公钥管理系统中的信息也受到区块链网络的保护,用户可以通过调用智能合约进行密钥的托管、更新和查询,对于存储在公钥管理系统中的信息不会被恶意篡改。技术方案如下:
根据功能和特征的不同,可以将管理系统划分为三个模块:信息验证模块、信息存储模块和信息查询模块。
以下对基于以太坊智能合约的设计和使用方式进行介绍:
信息验证模块不提供公共的接口,是智能合约私有的方法,用于验证用户提交的数据是否合法。信息验证模块提供一个接口供智能合约内部使用:messageCheck(message,sign,id) 接口用于提供信息验证,需要用户的更新后公钥信息(message)、用户对信息的签名(sign)和用户的id号(id)。返回一个布尔值表示信息是否通过检验。智能合约通过用户的id号检索用户使用的公钥信息,如果未能检索到用户的公钥信息或用户的公钥失效,直接返回未通过检验。在检索到有效的用户之后,使用存储的公钥对收到的签名进行验证,返回验证结果。
信息存储模块用于处理信息的存储和更新,用户通过调用信息存储模块提供的接口能够加入寄存系统或对寄存在系统中的密钥进行更新。当信息存储模块被成功调用之后,会在以太坊中对存储的信息进行更新,需要消耗一定的资源,因此对于用户对这些接口的调用需要进行限制。信息存储模块提供两个接口供用用户使用:enter(time)用于为用户提供接入寄存系统的服务,用户在加入寄存系统时设置寄存密钥的时限(time,以更新次数计算)。用户寄存的每个公钥有一定的有效时间,在现有公钥失效前用户需要对公钥进行更新。通过对用户更新次数进行限制,可以较为方便地对用户使用寄存系统时间进行限制,也便于智能合约对用户计算寄存费用。当智能合约接受寄存申请,函数会返回一个结构体,结构为[flag(申请状态),id(分配的用户id),pubKey(用户的临时公钥),priKey(用户的临时私钥)]。由于临时私钥经过网络传输,为了保障密钥的安全性,用户需要尽快更新自己的密钥。用户可以通过update(message,sign,id)接口对寄存的公钥进行更新。智能合约对信息的有效性进行验证之后,更新存储在区块链中的信息,并且更新用户的公钥有效时间。由于涉及到区块链中信息的更改,对信息存储模块的接口的调用需要向以太坊维护者支付费用,因此通过调用次数来限制用户寄存的时间,也便于对用户使用托管系统进行收费。
信息查询模块用于对用户的查询进行反馈,当查询的目标信息存储在合约中时,会返回目标的公钥信息。由于信息的查询不会对合约的内容进行更改,不需要向区块链网络支付资源,对信息查询提供的接口不需要做调用的限制。查询模块提供了request(id)的方法为使用者提供调用方法的接口,用户使用用户id进行查询,智能合约在接收到请求之后,使用id 信息在托管的公钥中进行检索。当对应id存在时,返回用户对应的公钥,否则返回一个空串。公钥的查询是一个只读操作,智能合约在执行查询操作时不需要对合约内容进行更改,不需要向区块链的维护者支付费用。
Claims (1)
1.一种基于以太坊智能合约的公钥管理系统,包括三个模块:信息验证模块、信息存储模块和信息查询模块;
信息验证模块,用于验证用户提交的数据是否合法,提供messageCheck(message,sign,id)接口供智能合约内部使用,需要用户的更新后公钥信息message、用户对信息的签名sign和用户的id号,返回一个布尔值表示信息是否通过检验;智能合约通过用户的id号检索用户使用的公钥信息,如果未能检索到用户的公钥信息或用户的公钥失效,直接返回未通过检验,在检索到有效的用户之后,使用存储的公钥对收到的签名进行验证,返回验证结果。
信息存储模块用于处理信息的存储和更新,用户通过调用信息存储模块提供的接口能够加入寄存系统或对寄存在系统中的密钥进行更新,当信息存储模块被成功调用之后,在以太坊中对存储的信息进行更新,并对用户对接口的调用进行限制;信息存储模块提供两个接口供用用户使用:enter(time)用于为用户提供接入寄存系统的服务,用户在加入寄存系统时设置寄存密钥的更新次数限制time,智能合约通过更新次数来对用户寄存时间进行限制。当智能合约接受寄存申请,返回一个结构体,结构为[flag即申请状态,id即分配的用户id,pubKey即用户的临时公钥,priKey即用户的临时私钥];用户可以通过update(message,sign,id)接口对寄存的公钥进行更新;智能合约对信息的有效性进行验证之后,检查用户是否到达更新次数上限。通过后更新存储在区块链中的信息,通过限制调用次数来限制用户寄存的时间;
信息查询模块用于对用户的查询进行反馈,当查询的目标信息存储在合约中时,返回目标的公钥信息,查询模块提供request(id)的方法为使用者提供调用方法的接口,用户使用用户id进行查询,智能合约在接收到请求之后,使用id信息在托管的公钥中进行检索,当对应id存在时,返回用户对应的公钥,否则返回一个空串,智能合约在执行查询操作时不需要向区块链的维护者支付费用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811445349.0A CN109600219A (zh) | 2018-11-29 | 2018-11-29 | 一种基于以太坊智能合约的公钥管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811445349.0A CN109600219A (zh) | 2018-11-29 | 2018-11-29 | 一种基于以太坊智能合约的公钥管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109600219A true CN109600219A (zh) | 2019-04-09 |
Family
ID=65959264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811445349.0A Pending CN109600219A (zh) | 2018-11-29 | 2018-11-29 | 一种基于以太坊智能合约的公钥管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109600219A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110225016A (zh) * | 2019-05-31 | 2019-09-10 | 北京理工大学 | 一种基于区块链网络的数据隐蔽传输方法 |
EP3843326A4 (en) * | 2019-05-27 | 2022-01-19 | State Grid Corporation of China | METHOD AND DEVICE USING A SMART CONTRACT TO PERFORM IDENTITY-BASED KEY MANAGEMENT |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342858A (zh) * | 2017-07-05 | 2017-11-10 | 武汉凤链科技有限公司 | 一种基于可信环境的智能合约保护方法和系统 |
CN108769013A (zh) * | 2018-05-29 | 2018-11-06 | 浪潮软件集团有限公司 | 一种基于以太坊的身份注册方法和装置 |
CN108846674A (zh) * | 2018-07-12 | 2018-11-20 | 众安信息技术服务有限公司 | 在区块链中验证签名的方法和装置 |
-
2018
- 2018-11-29 CN CN201811445349.0A patent/CN109600219A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342858A (zh) * | 2017-07-05 | 2017-11-10 | 武汉凤链科技有限公司 | 一种基于可信环境的智能合约保护方法和系统 |
CN108769013A (zh) * | 2018-05-29 | 2018-11-06 | 浪潮软件集团有限公司 | 一种基于以太坊的身份注册方法和装置 |
CN108846674A (zh) * | 2018-07-12 | 2018-11-20 | 众安信息技术服务有限公司 | 在区块链中验证签名的方法和装置 |
Non-Patent Citations (3)
Title |
---|
SHUAI WANG等: "《An Overview of Smart Contract: Architecture, Applications,and Future Trends》", 《2018 IEEE INTELLIGENT VEHICLES SYMPOSIUM (IV)》 * |
YU NANDAR AUNG等: "《Review of Ethereum: Smart Home Case Study》", 《2017 2ND INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY (INCIT)》 * |
刘敬浩等: "《一种基于区块链的分布式公钥管理方案研究》", 《信息网络安全》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3843326A4 (en) * | 2019-05-27 | 2022-01-19 | State Grid Corporation of China | METHOD AND DEVICE USING A SMART CONTRACT TO PERFORM IDENTITY-BASED KEY MANAGEMENT |
AU2019448286B2 (en) * | 2019-05-27 | 2022-12-22 | State Grid Corporation Of China | Method and device employing smart contract to realize identity-based key management |
KR102663060B1 (ko) * | 2019-05-27 | 2024-05-08 | 스테이트 그리드 코퍼레이션 오브 차이나 | 스마트 계약을 사용하여 신원 기반 키 관리를 구현하는 방법 및 장치 |
CN110225016A (zh) * | 2019-05-31 | 2019-09-10 | 北京理工大学 | 一种基于区块链网络的数据隐蔽传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111033468B (zh) | 实施不同类型的区块链合约的系统和方法 | |
US20220214995A1 (en) | Blockchain data archiving method, apparatus, and computer-readable storage medium | |
CN102904889B (zh) | 支持跨平台统一管理的强制访问控制系统及方法 | |
WO2020040937A2 (en) | Blockchain-based service rental method, apparatus, and system, and electronic device | |
CN109766722A (zh) | 一种区块链中构建智能合约的方法及其系统 | |
CN107749894A (zh) | 一种安全、简单、智能的物联网系统 | |
CN103544074A (zh) | 一种业务的校验方法及装置 | |
WO2015116998A2 (en) | Electronic transfer and obligation enforcement system | |
CN109634619A (zh) | 可信执行环境实现方法及装置、终端设备、可读存储介质 | |
CN109784870A (zh) | 合同管理方法、装置、计算机设备及计算机可读存储介质 | |
CN108600163A (zh) | 一种云环境分布式哈希链架构及云数据完整性验证方法 | |
CN109656886B (zh) | 基于键值对的文件系统实现方法、装置、设备和存储介质 | |
CN106874114A (zh) | 快递业务管理软件系统 | |
CN111581278B (zh) | 一种基于区块链技术的仓单流转系统及方法 | |
CN109600219A (zh) | 一种基于以太坊智能合约的公钥管理系统 | |
CN111258832B (zh) | 一种接口参数校验方法、装置、设备及介质 | |
CN111314363A (zh) | 一种基于区块链的企业移动设备管理方法及系统 | |
CN107193611A (zh) | 一种集群系统的软件升级方法和系统 | |
CN113627809A (zh) | 一种基于区块链的医疗废弃物监管系统及方法 | |
CN110377323B (zh) | 一种区块链dapp管理系统 | |
CN109493212A (zh) | 征信管理方法、装置、电子设备及计算机可读存储介质 | |
CN106529281B (zh) | 一种可执行文件处理方法及装置 | |
CN109544713B (zh) | 扁平化高速公路云收费系统及其构建方法 | |
CN106951440A (zh) | 在线与离线结合的实时安全的不动产数据整合的方法和系统 | |
CN111865927B (zh) | 基于系统的漏洞处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190409 |
|
WD01 | Invention patent application deemed withdrawn after publication |