CN110492990B - 区块链场景下的私钥管理方法、装置及系统 - Google Patents
区块链场景下的私钥管理方法、装置及系统 Download PDFInfo
- Publication number
- CN110492990B CN110492990B CN201810458967.2A CN201810458967A CN110492990B CN 110492990 B CN110492990 B CN 110492990B CN 201810458967 A CN201810458967 A CN 201810458967A CN 110492990 B CN110492990 B CN 110492990B
- Authority
- CN
- China
- Prior art keywords
- private key
- blockchain
- tee
- password
- computer system
- 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.)
- Active
Links
Images
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/40—Network security protocols
-
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
- H04L63/0218—Distributed architectures, e.g. distributed firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请为区块链场景下的私钥管理方法、装置及系统,提供一种计算机系统,该计算机系统上部署有富执行环境REE和可信执行环境TEE,该计算机系统还部署有基于区块链技术的区块链功能单元,且TEE中部署有所述区块链功能单元中的私钥管理模块和交易数据处理模块,其中所述私钥管理模块用于创建私钥,以及将所述私钥存储在TEE中;所述交易数据处理模块用于利用所述私钥对区块链功能单元涉及的摘要数据执行加密。通过将区块链场景下涉及到的私钥放置到TEE侧进行创建、存储和使用,借助TrustZone架构的可信执行环境提供私钥的安全性,从而一定程度上解决了私钥在不可信环境中带来的安全风险问题,提高了区块链系统的安全性。
Description
技术领域
本申请涉及区块链技术,尤其涉及一种区块链中私钥的管理方法、装置及系统。
背景技术
区块链指数据以区块(block)为单位产生和存储,并按照时间顺序连成链式(chain)数据结构,所有节点需要共同参与区块链系统的数据验证、存储和维护,新区块的创建需得到共识确认,并向各节点广播实现全网同步,之后就不能更改或删除。区块链是多种已有技术的集合创新,主要解决多方信任与高效协同的问题。构成区块链的技术主要包括哈希运算(SHA256)、数字签名、P2P(peer-to-peer)网络和共识算法。区块链技术的典型应用场景包括加密货币、金融、供应链、物联网等。
数字签名技术用于一定程度上保证数据传输的安全性。以加密数字货币场景为例,每个节点的区块内存储着货币交易信息,货币交易信息包括一次或多次交易过程,一次交易过程例如为A钱包的地址向B钱包地址转账100数字币(例如比特币)。在不同的节点之间传输交易信息之前需要对交易过程执行哈希运算以得到该交易过程的摘要,然后使用发送方的私钥对该摘要进行加密,将加密后的摘要和交易数据(或加密后的交易数据)发送到接收方。接收方利用对应的公钥解密接收到的密文摘要以得到摘要a,并对接收到的交易数据执行哈希运算以得到摘要b,比较摘要a和摘要b,在摘要a和摘要b相同时才确定货币交易信息是安全的。可见,通过数字签名技术能够保证信息传输的完整性、同时验证发送者的身份认证,从而防止交易中的抵赖发生。但是如何保证数字签名过程中私钥的安全性,避免发送者的私钥被恶意第三方获取,这个问题在区块链领域亟待解决。
当前最常见的私钥管理方式是将私钥托管在服务提供者的服务器上,用户在使用私钥之前使用账号登陆方式登陆到服务器上进行相关操作。但是这种方式存在一些缺陷:若服务器被黑客攻击或产生其它漏洞,则很容易导致私钥泄露或丢失;用户账号也可能被窃取;用户登陆服务器的过程中浏览器漏洞也会对账户的安全性产生影响;网络传输过程中的中间人攻击行为以及HTTPS证书劫持也是一种常见的安全风险。另一种方式是在区块链节点设备自己创建和存储私钥。目前大多数加密数字货币钱包的安全设计都是完全依靠操作系统的安全边界,对于私钥的存储和处理还是停留在使用固定密钥进行加密甚至直接明文保存,完全依靠操作系统的安全边界来避免非法访问,但无论是安卓(Android)、iOS、Windows还是Linux,每年都有大量的系统安全漏洞被公开和被修复,而这些漏洞里面就有不少本地提权的漏洞,利用这些提权漏洞就可以轻易的打破操作系统的安全设计边界,获得访问私钥的能力。
发明内容
本申请提供一种私钥管理方法、装置和系统,具体可以应用在区块链所涉及的应用场景下,用于提高私钥的安全性,从而提高区块链中存储的信息的安全性。
下面介绍本申请的几个方面,容易理解的是,以下几个方面的实现方式中相同或相似的部分可以互相参考。
第一方面,本申请提供一种计算机系统,该计算机系统上部署有富执行环境REE和可信执行环境TEE,该计算机系统还部署有基于区块链技术的区块链功能单元,例如数字钱包软件。该TEE中部署有所述区块链功能单元中的私钥管理模块和交易数据处理模块。所述私钥管理模块用于创建私钥,以及将所述私钥存储在TEE中。所述交易数据处理模块用于利用所述私钥对区块链功能单元涉及的摘要数据执行加密。
在一些实现方式下,所述摘要数据的生成在所述TEE中;在另一些实现方式下,所述摘要数据的生成在所述REE中,然后所述REE发送所述摘要数据到所述TEE。
在一些实现方式下,所述私钥管理模块具体用于在存储所述私钥之前对所述私钥执行加密,其中,存储的所述私钥为加密后的私钥。
在一些实现方式下,所述私钥管理模块具体用于利用密码对所述私钥执行加密,所述密码在条件满足时更新或周期性更新,更新后利用新密码重新对所述私钥执行加密,且存储新密码加密后的私钥。
在一些实现方式下,所述密码的更新条件包括执行完一次对所述摘要数据的加密。
在一些实现方式下,所述密码为硬件随机数产生器产生的随机数。在另一些实现方式下,该随机数也可以由软件随机数产生器产生。
第二方面,本申请提供一种私钥的管理方法,应用于区块链场景下。该方法应用于部署有富执行环境REE和可信执行环境TEE的计算机系统,例如终端设备。该计算机系统上还部署有区块链功能单元,例如数字钱包软件。该方法包括:在TEE创建所述区块链功能单元所涉及的私钥,以及将所述私钥存储在TEE侧;在TEE侧利用所述私钥对所述区块链功能单元涉及的摘要数据执行加密。
在一些实现方式下,在所述TEE侧生成所述摘要数据;在另一些实现方式下,在所述REE侧生成所述摘要数据,并将所述摘要数据发送到所述TEE,以便在TEE侧对所述摘要数据执行加密。
在一些实现方式下,在存储所述私钥之前所述方法还包括:对所述私钥执行加密。容易理解的,加密之后,存储的就不是原来的私钥,而是加密后的私钥,且下次使用该私钥之前需要先解密。
在一些实现方式下,对所述私钥执行加密并存储所述加密后的私钥包括:利用密码对所述私钥执行加密,所述密码在条件满足时更新或周期性更新,更新后利用新密码重新对所述私钥执行加密,且存储新密码加密后的私钥。
在一些实现方式下,所述密码在条件满足时更新包括:在利用所述私钥执行完一次对所述摘要数据的加密之后更新所述密码。
在一些实现方式下,所述周期性更新所述密码包括:每隔固定时间就更新所述密码,并重新加密和存储所述私钥。
在一些实现方式下,所述密码为硬件随机数产生器产生的随机数。在另一些实现方式下,该随机数也可以由软件随机数产生器产生。
第三方面,本申请提供一种计算机系统,其特征在于,所述计算机系统包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于读取并执行所述计算机程序以实现前述任意实现方式提供的方法。
第四方面,本申请提供一种区块链系统,其特征在于,所述区块链系统中包括本申请任意方面提供的计算机系统。该计算机系统可以是终端设备,也可以是其他类型的计算机系统。
附图说明
为了更清楚地说明本申请提供的技术方案,下面将对附图作简单地介绍。显而易见地,下面描述的附图仅仅是本申请的一些实施例。
图1a为区块链场景的网络架构示意图;
图1b为终端设备的系统架构示意图;
图2为CA和TA的交互流程示意图;
图3为数字钱包软件的功能部署示意图;
图4为数字钱包软件中交易数据发送方的处理流程示意图;
图5为数字钱包软件中交易数据接收方的处理流程示意图;
图6为私钥创建方法的流程示意图;
图7为私钥加密方法的流程示意图;
图8为计算机系统的结构示意图。
具体实施方式
终端设备处理重要服务的需求日益增加。从能够支付、下载和观看某一特定时段的最新好莱坞大片,到能够通过手机远程支付账单和管理银行账户,这些发展趋势已使终端设备成为恶意软件、木马和rootkit等病毒的重点攻击目标。为了保证终端设备的安全性,出现了以为代表的终端设备安全框架。在现有的框架下,系统级的安全是通过将片上系统(system on chips,SoC)的软硬件资源划分到两个世界中分别获得,即正常世界(normal world)和安全世界(secure world)(也可以叫安全域和非安全域),这两个世界分别对应富执行环境(rich execution environment,REE)和可信执行环境(trusted execution environment,TEE)。TEE和REE运行于同一个设备上,TEE能够保证在可信的环境中进行敏感数据的存储、处理和保护,并为授权的可信应用(trustedapplication,TA)提供安全的执行环境。但是区块链场景下的移动终端对私钥的管理和使用是基于REE的,由于REE存在攻击面多的问题,所以安全性不高,而将私钥管理和使用移到TEE后,就需要解决TEE中私钥的创建和使用,以及数字签名流程在REE和TEE之间如何交互的问题。
图1a为本实施例提供的秘钥管理方法应用的区块链场景的网络架构示意图。该区块链系统由多个终端设备组成一个点对点(peer-to-peer)的、去中心化的网络结构。一个终端设备可以看做一个区块链的节点。图中的汽车表示车载终端设备。
图1b为图1a中任意一个终端设备的系统架构示意图。该终端设备包含REE和TEE,REE和TEE上分别运行有操作系统和一种TEE侧操作系统(例如开源的OP-TEE操作系统)。操作系统和TEE OS又划分为用户态和内核态两种状态。REE中的CA(ClientApplication)与TEE中的TA构成了类似client/server的架构,TA作为服务端,CA作为客户端,由CA端发起访问操作,两者通过硬件层的消息通道交互数据,CA端发起请求后挂起系统,等待TA返回结果。CA的开发需要调用TEE客户端(client)API(application programinterface)来和对应的TA实现通信;TA需要调用TEE内部(internal)API来使用TEE提供的编程资源实现相关功能。
典型的CA与TA的交互流程如图2所示:
S201:CA先做必要的上下文初始化。实现的具体命令为TEEC_InitializeContext。
S202:指定TA文件所在的具体路径(ta_path),打开会话。实现的具体命令为TEEC_OpenSession(ta_path)。
S203:会话建立成功后返回会话句柄(Return SesstionHandle),这时TA已经在TEE中运行起来,等待接收来自CA的命令。
S204:CA发送命令,底层接口会调用SMC(secure monitor call)指令触发处理器切换到安全模式,并将命令传递给TEE中的TA进行处理(通过共享内存方式)。实现的具体命令为TEEC_InvokeCommand(cmd)。
S205:TA处理完命令之后返回结果(Return result)给CA,处理器切换回非安全模式。
需要说明的是,处理器在安全模式和非安全模式之间还存在一个监控模式,在切换过程中会先从安全模式切换到监控模式,然后再切换到非安全模式,反之亦然。更具体的切换过程可参考现有技术,在此不再赘述。
现有技术中在移动设备上实现基于区块链的应用,该应用中的私钥管理模块和数据处理模块是放到REE中实现的。其中私钥管理模块用于创建和存储私钥/公钥,数据处理模块用于对数据执行哈希运算、数字签名、摘要比较等处理,从而识别数据是否被篡改以及验证发送方身份信息。
以数字钱包软件为例,参考图3,其主要包括五大模块:用户管理模块301、资产管理模块302、秘钥管理模块305、交易数据处理模块304和网络管理模块303。其中,用户管理模块301用于认证用户登录时用户名和密码正确性。资产管理模块302用于查看数字资产信息,给第三方转账等。网络管理模块303用于连接网络,发送/接收网络数据包。秘钥管理模块用于创建和存储私钥和公钥。交易数据处理模块304用于对转出交易数据进行哈希运算以及数字签名处理,对转入交易数据还需要进行交易摘要数据比较,识别交易数据是否被篡改以及验证发送方的身份信息等。如图3所示,本实施例将交易数据处理模块中数字签名的功能(相当于交易数据处理模块304_B)和秘钥管理模块305放置在TEE侧实现,其它功能(相当于交易数据处理模块304_A)和其他模块则仍然放置在REE侧实现。
本实施例把数字钱包软件由原来只在REE侧实现变成在REE和TEE侧共同来完成。数字钱包软件在TEE侧通过一个或多个TA实现前述秘钥管理模块和交易数据处理模块的功能,其他模块的功能可在REE侧通过一个或多个CA实现。
需要说明的是,本实施例中REE侧的4个模块由一个CA实现,TEE侧的2个模块由一个TA实现,而在其他实施例中,不同的功能模块也可以由多个CA或TA实现。另外,模块的划分也仅是举例,本申请并不以此为限。
图4以钱包A向钱包B支付100个数字币为例,介绍交易数据的处理流程。在本实施例中涉及到REE侧模块调用TEE侧模块的过程,可参考前述介绍的CA调用TA的过程,具体调用过程不再详述。
S401:钱包A(也可以理解为终端设备A)在REE侧使用SHA256算法对交易数据进行哈希运算,产生256bit交易摘要。交易数据中包括钱包A的地址信息、钱包B的地址信息以及支付金额信息。交易数据可具体表现为字符串。
S402:然后钱包A通过CA与TA之间的数据通道,把交易摘要发送给TEE侧的TA。具体实现如下:REE侧CA调用TEEC_InvokeCommand(cmd)函数发送交易摘要数据,其中cmd为:SEND_DIGEST命令。
若以图3为例,则步骤S401和S402可以由交易数据处理模块304_A执行。
S403:TEE侧的TA使用钱包A的私钥以及椭圆曲线数字签名算法(Elliptic CurveDigital Signature Algorithm,ECDSA)对交易摘要进行加密,生成小于320bit的数字签名(或称为签名数据)。
S404:TEE侧的TA将签名数据和钱包A的公钥返回给REE侧CA。钱包A公钥和私钥是在TEE侧通过TA创建的,它们的创建在使用之前,但具体是什么时间在本实施例中不做限定,比如公钥可以在创建私钥之后接着创建,也可以在返回给REE侧之前才创建。钱包A的公钥具体可以根据钱包A的私钥和ECDSA算法获得。
若以图3为例,则步骤S403和S404可以由交易数据处理模块304_B执行。
S405:REE侧的CA获得公钥和签名数据后,将交易数据、公钥以及签名数据一起打包成一个网络数据包发送给网络管理模块。网络管理模块将该网络数据包广播给全网的其它区块链节点。
若以图3为例,则步骤S405可以由交易数据处理模块304_A执行。
图5接续图4,为钱包B(也可以理解为终端设备B)接收到该网络数据包之后的处理过程。其它节点接收到该网络数据包之后的处理过程与下述类似,不再详述。
S501:CA解析出三部分数据:交易数据、公钥以及签名数据。
S502:CA调用SHA256算法对交易数据进行哈希运算获得256bit摘要数据。
S503:CA调用ECDSA验证签名算法对签名数据进行解密,获得原始交易摘要数据。
S504:比较S502和S503产生的摘要数据是否相等,若相等,表示交易数据没有被篡改,接受此交易数据;否则丢弃该交易数据。
在以上交易数据处理流程中私钥的创建和存储是关键的一个环节,如果私钥泄露,那么交易数据的安全就不能被保证。图6为本申请提供的TA创建私钥的流程示意图,亦可以理解为私钥管理模块创建私钥的流程示意图。
S601:TA调用一个随机数产生器产生一个256bit的随机数R1。具体的,该随机数产生器为硬件随机数产生器或软件随机数产生器,通常硬件随机数产生器的随机性更好,形成的安全性也更高。软件随机数产生器和硬件随机数产生器的实现均为本领域现有技术,其中,软件随机数产生器为一个软件功能单元,硬件随机数产生器为一个硬件,具体实现均为现有技术,本实施例只需调用即可,在此不赘述。
S602:使用哈希算法对该随机数R1执行哈希运算获得一个256bit的私钥,该哈希算法可以是SHA(Secure Hash Algorithm)256算法。
S603:使用另一个随机数R2(也可以理解为随机口令、密码或密钥)对S602获得的私钥进行加密,具体的加密算法可以是AES(Advanced Encryption Standard)256算法或其它加密算法,本实施例不做限定。另一个随机数可以通过调用前述随机数产生器或其他随机数产生器产生。
S603:存储R2的值和加密后的秘钥。
为了提高进一步的安全性,本实施例中的R2的值可以进行更新。R2更新后,先对加密后的秘钥执行相应的解密算法,然后在用新的值重新加密私钥。
请参考图7,为随机数R2更新的流程示意图。
S701:结合图4所示,TA在接收到交易摘要之后,使用当前存储的R2的值解密当前存储的秘钥。
S702:TA使用解密后的秘钥对交易摘要进行加密以获得签名数据。
S703:触发随机数产生器产生一个新的随机数,作为R2的值。
S704:使用更新后的R2对私钥重新加密。
S705:存储重新加密后的私钥和新的R2。
图7所示出的实现中R2的更新是在执行完一次数字签名(S702)之后,在其他实施例中,R2的更新也可以是周期性地,例如每隔3秒更新一次,或者周期性和图7所示方式结合,或者其它根据需求确定的更新方法。
以上实施例提供的方法使用TrustZone架构的可信执行环境提供私钥的安全性,可以一定程度上解决私钥在不可信环境中创建、存储和使用所带来的安全风险问题,提高了区块链应用场景下交易数据或其他类型的数据的安全性。
请参考图8,为本实施例提供的一种计算机系统的结构示意图。该计算机系统可以为终端设备。如图所示,该计算机系统包括通信模块510、传感器520、用户输入模块530、输出模块540、处理器550、音视频输入模块560、存储器570以及电源580。
通信模块510可以包括至少一个能使该计算机系统与通信系统或其他计算机系统之间进行通信的模块。例如,通信模块510可以包括有线网络接口,广播接收模块、移动通信模块、无线因特网模块、局域通信模块和位置(或定位)信息模块等其中的一个或多个。这多种模块均在现有技术中有多种实现,本申请不一一描述。
传感器520可以感测系统的当前状态,诸如打开/闭合状态、位置、与用户是否有接触、方向、和加速/减速,并且传感器520可以生成用于控制系统的操作的感测信号。
用户输入模块530,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及接收与系统的用户设置以及功能控制有关的信号输入等。用户输入模块530包括触控面板和/或其他输入设备。
输出模块540包括显示面板,用于显示由用户输入的信息、提供给用户的信息或系统的各种菜单界面等。可选的,可以采用液晶显示器(liquid crystal display,LCD)或有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板。在其他一些实施例中,触控面板可覆盖显示面板上,形成触摸显示屏。另外,输出模块540还可以包括音频输出模块、告警器以及触觉模块等。
音视频输入模块560,用于输入音频信号或视频信号。音视频输入模块560可以包括摄像头和麦克风。
电源580可以在处理器550的控制下接收外部电力和内部电力,并且提供系统的各个组件的操作所需的电力。
处理器550可以包括一个或多个处理器,例如,处理器150可以包括一个或多个中央处理器,或者包括一个中央处理器和一个图形处理器。当处理器150包括多个处理器时,这多个处理器可以集成在同一块芯片上,也可以各自为独立的芯片。一个处理器可以包括一个或多个物理核,其中物理核为最小的处理模块。
存储器570存储计算机程序,该计算机程序包括操作系统程序572和应用程序571等。典型的操作系统如微软公司的Windows,苹果公司的MacOS等用于台式机或笔记本的系统,又如谷歌公司开发的基于的安卓系统等用于移动终端的系统。前述实施例提供的方法可以通过软件的方式实现,可以认为是应用程序571的具体实现。
存储器570可以是以下类型中的一种或多种:闪速(flash)存储器、硬盘类型存储器、微型多媒体卡型存储器、卡式存储器(例如SD或XD存储器)、随机存取存储器(randomaccess memory,RAM)、静态随机存取存储器(static RAM,SRAM)、只读存储器(read onlymemory,ROM)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、可编程只读存储器(programmable ROM,PROM)、磁存储器、磁盘或光盘。在其他一些实施例中,存储器570也可以是因特网上的网络存储设备,系统可以对在因特网上的存储器570执行更新或读取等操作。
处理器550用于读取存储器570中的计算机程序,然后执行计算机程序定义的方法,例如处理器550读取操作系统程序572从而在该系统运行操作系统以及实现操作系统的各种功能,或读取一种或多种应用程序571,从而在该系统上运行应用。
存储器570还存储有除计算机程序之外的其他数据573,例如本申请中涉及的区块、私钥、交易数据、以及随机数等。
图8中各个模块的连接关系仅为一种示例,本申请任意实施例提供的方法也可以应用在其它连接方式的终端设备中,例如所有模块通过总线连接。
需要说明的是,本实施例提供的方法也可以应用于非终端的计算机设备,例如云端服务器。
需要说明的是,前述实施例中提出模块或单元的划分仅作为一种示例性的示出,所描述的各个模块的功能仅是举例说明,本申请并不以此为限。本领域普通技术人员可以根据需求合并其中两个或更多模块的功能,或者将一个模块的功能拆分从而获得更多更细粒度的模块,以及其他变形方式。
以上描述的各个实施例之间相同或相似的部分可相互参考。本申请中的“多个”若无特殊说明,指两个或两个以上,或“至少两个”。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一些具体实施方式,但本申请的保护范围并不局限于此。
Claims (7)
1.一种计算机系统,其特征在于,所述计算机系统上部署有富执行环境REE和可信执行环境TEE,所述计算机系统还部署有基于区块链技术的区块链功能单元,且TEE中部署有所述区块链功能单元中的私钥管理模块和交易数据处理模块,其中
所述私钥管理模块用于:创建私钥,以及将所述私钥存储在TEE中;
所述交易数据处理模块用于:利用所述私钥对区块链功能单元涉及的摘要数据执行加密;
所述私钥管理模块具体用于:在存储所述私钥之前利用密码对所述私钥执行加密,其中,存储的所述私钥为加密后的私钥;所述密码在条件满足时更新或周期性更新,更新后利用新密码重新对所述私钥执行加密,且存储新密码加密后的私钥。
2.根据权利要求1所述的计算机系统,其特征在于,所述私钥管理模块具体用于:在利用所述私钥执行完一次对所述摘要数据的加密之后更新所述密码。
3.根据权利要求1或2所述的计算机系统,其特征在于,所述密码为硬件随机数产生器产生的随机数。
4.一种区块链技术中私钥的管理方法,其特征在于,所述方法应用于部署有富执行环境REE和可信执行环境TEE的计算机系统,所述计算机系统上还部署有区块链功能单元,所述方法包括:在TEE创建所述区块链功能单元所涉及的私钥,以及将所述私钥存储在TEE侧;在TEE侧利用所述私钥对所述区块链功能单元涉及的摘要数据执行加密;
在存储所述私钥之前所述方法还包括:利用密码对所述私钥执行加密,其中,存储的所述私钥为加密后的私钥;所述密码在条件满足时更新或周期性更新,更新后利用新密码重新对所述私钥执行加密,且存储新密码加密后的私钥。
5.根据权利要求4所述的方法,其特征在于,所述密码在条件满足时更新包括:在利用所述私钥执行完一次对所述摘要数据的加密之后更新所述密码。
6.一种计算机系统,其特征在于,所述计算机系统包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于读取并执行所述计算机程序以实现如权利要求4或5所述的方法。
7.一种区块链系统,其特征在于,所述区块链系统中包括如权利要求6所述的计算机系统。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810458967.2A CN110492990B (zh) | 2018-05-15 | 2018-05-15 | 区块链场景下的私钥管理方法、装置及系统 |
PCT/CN2019/086111 WO2019218919A1 (zh) | 2018-05-15 | 2019-05-09 | 区块链场景下的私钥管理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810458967.2A CN110492990B (zh) | 2018-05-15 | 2018-05-15 | 区块链场景下的私钥管理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110492990A CN110492990A (zh) | 2019-11-22 |
CN110492990B true CN110492990B (zh) | 2021-10-15 |
Family
ID=68539534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810458967.2A Active CN110492990B (zh) | 2018-05-15 | 2018-05-15 | 区块链场景下的私钥管理方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110492990B (zh) |
WO (1) | WO2019218919A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178884B (zh) * | 2019-12-16 | 2024-04-12 | 平安壹钱包电子商务有限公司 | 信息处理方法、装置、设备及可读存储介质 |
CN111192050B (zh) * | 2019-12-31 | 2023-08-11 | 成都库珀创新科技有限公司 | 一种数字资产私钥存储提取方法及装置 |
CN110851851B (zh) * | 2020-01-15 | 2020-11-06 | 蚂蚁区块链科技(上海)有限公司 | 一种块链式账本中的权限管理方法、装置及设备 |
CN111429254B (zh) * | 2020-03-19 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 一种业务数据处理方法、设备以及可读存储介质 |
CN111400743B (zh) * | 2020-04-07 | 2023-08-15 | 百度国际科技(深圳)有限公司 | 基于区块链网络的事务处理方法、装置、电子设备和介质 |
CN111538782B (zh) * | 2020-04-14 | 2023-08-08 | 浙江浙燃能源有限公司 | 基于区块链的能源大数据管理系统 |
CN111565108B (zh) * | 2020-07-15 | 2020-11-24 | 北京信安世纪科技股份有限公司 | 签名处理方法、装置及系统 |
CN111881474B (zh) * | 2020-07-24 | 2023-09-15 | 杭州弦冰科技有限公司 | 基于可信计算环境的私钥管理方法和装置 |
CN111737724B (zh) * | 2020-08-26 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、智能设备及存储介质 |
CN113014539B (zh) * | 2020-11-23 | 2022-05-17 | 杭州安芯物联网安全技术有限公司 | 一种物联网设备安全保护系统及方法 |
CN113395159B (zh) * | 2021-01-08 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 一种基于可信执行环境的数据处理方法以及相关装置 |
CN113221141B (zh) * | 2021-05-06 | 2022-07-19 | 杭州复杂美科技有限公司 | 钱包加密存储方法、签名方法、计算机设备和存储介质 |
CN113656841A (zh) * | 2021-07-28 | 2021-11-16 | 复旦大学 | 一种基于trustzone的区块链终端安全保障系统 |
CN114157431A (zh) * | 2021-10-27 | 2022-03-08 | 上海朝夕网络技术有限公司 | 基于多变量签名方法的区块链交易处理方法及计算机设备 |
CN114465761A (zh) * | 2021-12-22 | 2022-05-10 | 航天信息股份有限公司 | 一种安全通讯与终端管理的系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN106850200A (zh) * | 2017-01-25 | 2017-06-13 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 一种使用基于区块链的数字货币的方法、系统及终端 |
CN106991334A (zh) * | 2016-11-24 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种数据存取的方法、系统及装置 |
CN107896150A (zh) * | 2017-12-21 | 2018-04-10 | 善林(上海)金融信息服务有限公司 | 链接区块链网络和物联网的系统 |
CN107920052A (zh) * | 2017-08-02 | 2018-04-17 | 唐盛(北京)物联技术有限公司 | 一种加密方法及智能装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9973341B2 (en) * | 2015-01-23 | 2018-05-15 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
US10318746B2 (en) * | 2015-09-25 | 2019-06-11 | Mcafee, Llc | Provable traceability |
WO2018058441A1 (en) * | 2016-09-29 | 2018-04-05 | Nokia Technologies Oy | Method and apparatus for trusted computing |
-
2018
- 2018-05-15 CN CN201810458967.2A patent/CN110492990B/zh active Active
-
2019
- 2019-05-09 WO PCT/CN2019/086111 patent/WO2019218919A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991334A (zh) * | 2016-11-24 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种数据存取的方法、系统及装置 |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN106850200A (zh) * | 2017-01-25 | 2017-06-13 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 一种使用基于区块链的数字货币的方法、系统及终端 |
CN107920052A (zh) * | 2017-08-02 | 2018-04-17 | 唐盛(北京)物联技术有限公司 | 一种加密方法及智能装置 |
CN107896150A (zh) * | 2017-12-21 | 2018-04-10 | 善林(上海)金融信息服务有限公司 | 链接区块链网络和物联网的系统 |
Non-Patent Citations (1)
Title |
---|
TrustZone-backed Bitcoin Wallet;Miraje Gentilal;《Proceedings of the Fourth Workshop on Cryptography and Security in Computing Systems》;20170131;摘要,第1-4节,图1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019218919A1 (zh) | 2019-11-21 |
CN110492990A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110492990B (zh) | 区块链场景下的私钥管理方法、装置及系统 | |
US10579793B2 (en) | Managed securitized containers and container communications | |
KR102451109B1 (ko) | 디바이스 익명성을 제공하는 키 증명문 생성 | |
US10129240B2 (en) | Distributing security codes through a restricted communications channel | |
US10938792B2 (en) | Layered encryption for end to end communication | |
US10601590B1 (en) | Secure secrets in hardware security module for use by protected function in trusted execution environment | |
CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
EP3937045B1 (en) | Hash updating methods and apparatuses of blockchain integrated station | |
JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
US20160080157A1 (en) | Network authentication method for secure electronic transactions | |
US20180091487A1 (en) | Electronic device, server and communication system for securely transmitting information | |
KR102186114B1 (ko) | 암호화된 메시지를 송수신하기 위해 동적 공개키 기반 구조를 사용하기 위한 방법, 시스템, 및 매체 | |
US10045212B2 (en) | Method and apparatus for providing provably secure user input/output | |
JP6756056B2 (ja) | 身元検証による暗号チップ | |
US20240113898A1 (en) | Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity | |
EP4175218A1 (en) | Method to establish a secure channel | |
CN116050537A (zh) | 联邦学习方法、装置、可读存储介质及电子设备 | |
CN113630412B (zh) | 资源下载方法、资源下载装置、电子设备以及存储介质 | |
CN112308236B (zh) | 用于处理用户请求的方法、装置、电子设备及存储介质 | |
CN111400743B (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
US20250013737A1 (en) | Method to store data persistently by a software payload | |
US20250015989A1 (en) | Method to establish a secure channel | |
CN108154037B (zh) | 进程间的数据传输方法和装置 | |
CN113672973A (zh) | 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统 | |
Siriwardana et al. | Secure Communication in Dolphin: Integrating Trusted Execution Environments for Enhanced Caller Privacy |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |