CN113922957A - 一种基于隐私保护计算的虚拟云钱包 - Google Patents
一种基于隐私保护计算的虚拟云钱包 Download PDFInfo
- Publication number
- CN113922957A CN113922957A CN202111207562.XA CN202111207562A CN113922957A CN 113922957 A CN113922957 A CN 113922957A CN 202111207562 A CN202111207562 A CN 202111207562A CN 113922957 A CN113922957 A CN 113922957A
- Authority
- CN
- China
- Prior art keywords
- key
- service
- key service
- client
- management
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title description 2
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 238000011084 recovery Methods 0.000 claims abstract description 7
- 239000012634 fragment Substances 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 4
- 238000002955 isolation Methods 0.000 abstract description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 5
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/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/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (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
本发明公开了一种基于隐私保护计算的虚拟云钱包,包括客户端、密钥服务、管理服务;所述客户端是用户管理资产的门户,为用户提供基础操作;密钥服务是平台的核心,包括了Feldman‑VSS秘密分享算法,ECDSA签名算法,私钥恢复算法;管理服务是平台的中枢,负责调配,路由,监控密钥服务。本发明适用于各种部署和操作模型;不管是私有IDC机房,单一云服务运营商,还是混合云服务商,都可以方便地部署整套系统,基于模块化设计,能在地理隔离环境中运行,从而提高了部署适应性,相比于单一权限控制的钱包,本发明的钱包支持多人权限控制,在操作上更加灵活。
Description
技术领域
本发明属于数字资产管理领域,涉及门限签名方案、可信执行环境、数字钱包,特别涉及一种基于隐私保护计算的虚拟云钱包。
背景技术
安全多方计算协议作为密码学的一个子领域,其允许多个数据所有者在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方均无法得到除应得的计算结果之外的其他任何信息。门限签名方案(Threshold Signature Scheme)是一种多方安全计算协议,由门限秘密共享技术和数字签名技术组成。门限签名方案被广泛应用于数字资产管理,极大地提高了私钥的安全性。
可信执行环境是主处理器的一个安全区域。它保证内部加载的代码和数据在保密性和完整性方面受到保护。作为隔离执行环境的TEE提供了安全特性,如隔离执行、使用TEE执行的应用程序的完整性以及它们资产的保密性。可信执行环境被应用于数字版权管理,优质内容保护,移动支付,企业、政府和云等场景。
数字资产管理系统按照服务类型可分为离线钱包,本地钱包,在线钱包。
通常多数用户的资产管理模式均采用运行于本地的热钱包,这类钱包极易受到恶意软件的攻击,恶意软件通过篡改钱包程序、窃取用户私钥,给用户的数字资产造成巨大的损失。虽然在本地钱包中引入可信执行环境技术,可以提升了安全门槛,但是需要配置额外的硬件,也没法100%杜绝泄露风险(如侧信道等)。
另一种资产管理模式是中心化的在线钱包,私钥是完全交给了服务器,万一服务器存在漏洞,服务器被入侵,服务器管理员作恶,那么用户私钥信息便完全被服务器暴露,安全性难以保障。
发明内容
为了解决上述问题,本发明公开了一种在可信的公有云环境下,构建安全的、多权限的虚拟数字钱包,帮助用户管理数字资产。本发明的具体技术方案如下:
一种基于隐私保护计算的虚拟云钱包,其特征在于,包括客户端、密钥服务、管理服务,客户端、密钥服务、管理服务之间都通过HTTPS协议通讯;
所述客户端是用户管理资产的门户,为用户提供基础操作,所述基础操作包括账户管理、私钥管理、联系人管理,所述私钥管理包括创建共享私钥、重建共享私钥、找回共享私钥、发起交易,所述基础操作由客户端发送到管理服务或者密钥服务;
所述密钥服务包括MPC算法和认证算法,所述MPC算法包括Feldman-VSS秘密分享算法、ECDSA签名算法、私钥恢复算法;密钥服务提供了私钥创建、消息签名、私钥重置功能,以RESTful API标准向外提供服务;
所述管理服务包括监控模块、统计模块、调度模块、中转模块、数据库。
所述密钥服务运行在可信执行环境中,所述客户端访问密钥服务采用创建即注册模式,客户端调用密钥服务的创建共享私钥接口,密钥服务生成共享私钥,同时保存分组身份,用户身份,口令,私钥碎片的对应关系(gid,uid,password,key),相当于在密钥服务中注册了,除创建共享私钥外的所有功能,必须通过组身份,用户身份,口令认证后执行;
所述客户端将创建操作和口令发送给密钥服务,密钥服务执行算法得到私钥碎片,密钥服务使用传入的口令对私钥碎片加密,然后存储到数据库;所述客户端将其他操作和口令发送给密钥服务,密钥服务核对口令,核对通过,密钥服务执行客户端请求的操作;否则返回验证失败信息。
所述密钥服务运行在可信执行环境中,密钥服务使用ECDSA算法生成公私钥对(Pk,Sk),密钥服务附带公钥向本地可信硬件申请证明引文,密钥服务将证明引文发送给可信硬件服务供应商申请运行环境证明报告,密钥服务对获取到的证明报告验证,如果证明报告有效,密钥服务用证明报告生成TLS证书。
所述客户端与密钥服务建立HTTPS连接,客户端间使用硬件服务供应商的CA证书验证密钥服务的TLS证书,如果验证通过,证明连接的密钥服务运行在可信硬件中,否则密钥服务不是运行在可信硬件上。
优选地,所述创建共享私钥的具体步骤为:
S21、在客户端中,一个用户通过联系人管理添加联系人;
S22、在客户端中,一个用户通过私钥管理创建一个(t,n)共享项目组,所选的项目组参与人必须在联系人列表中存在,如果参与人总量不足n-1,则需添加到n-1个参与人;
S23、根据步骤S22, 客户端向管理服务发送创建请求; 在管理服务中,统计模块记录创建请求,调度模块确定每个参与人对应的密钥服务,并保存对应的映射表Map<account, server>;
S24、在管理服务中,统计模块给所有项目组参与人推送创建请求以及映射表Map;
S25、在客户端中,一个用户和参与人确认创建请求;客户端检索映射表Map,向相关密钥服务发送同意和拒绝指令;如果参与人同意加入共享项目组,需设置支付密码,客户端与密钥服务建立安全网络通道,发送操作请求与支付密码,等到所有参与人同意后,进入下一步骤,如有一人拒绝则整个流程退出;
S26、根据步骤S25,在密钥集群中,共享组内的每个密钥服务生成各自的随机数ui,并通过管理服务公布正确性证明,当所有密钥服务收到正确性承诺后,每个密钥服务执行(t,n)Feldman-VSS算法,生成关于ui的多项式Fi,密钥服务i发送对应多项式坐标给密钥服务j,算法执行完成后,得到共享组公钥和私钥碎片,使用步骤S25传入的支付密码对私钥碎片加密,然后存储到数据库中;
S27、根据步骤S26,在密钥服务中,将共享组公钥发送给管理服务,在管理服务中,统计模块记录共享组公钥,统计模块将共享组公钥发给项目组内成员。
优选地,所述消息签名是由组内用户共同发起的,底层算法是门限ECDSA签名;如果某个共享私钥是(t,n)模式,那么只要有t个用户通过客户端发起,就能生成一个合法签名,具体步骤为:
S31、密钥服务接受待签名的消息M,并确定参与签名的数量;
S32、密钥服务验证口令正确性,如果错误,就返回,否则进入下一步;
S33、密钥服务执行签名算法,并返回结果。
优选地,所述私钥重置是通过重新创建密钥服务中的私钥碎片,来改变门限签名中的t和n,同时保持公钥不变,所以重置功能能变相地增加或减少密钥服务;执行私钥重置功能的前提是上一批密钥服务完全参与。
优选地,所述管理服务收集信息的主要步骤包括:
S51、密钥服务向管理服务发送节点IP和主机名称,管理服务对密钥服务的IP进行注册,为其创建一个信息对象,用于存放收集的信息;
S52、管理服务获取密钥服务的有效运行指标,包括:密钥服务的离线率、密钥服务当前的CPU使用率、密钥服务支持的有效用户数量。
优选地,基于运行指标建立密钥服务与用户之间的映射关系,当出现新增的密钥服务,管理服务会优先将密钥服务分配给用户,基于密钥服务的有效运行指标,CPU使用率越高,有效用户数量越多,密钥服务的离线率越高,密钥服务权重越低,越不容易再被分配,算法实现步骤为:
S61、获取每个服务的监控指标C、N、P,C代表CPU使用率,N代表有效用户数,P代表离线率;
S62、根据S61步骤的监控指标,计算每个密钥服务加入一个人CPU的增益IC,公式IC = C + C/N;
S63、根据S61步骤的监控指标,计算每个密钥服务对于所有密钥服务的用户占比M,公式 M=N/∑N;
S64、将所有密钥服务根据用户占比,CPU的增益,离线率依次递增排序;
S65、根据上一步结果,选择前n个密钥服务。
本发明的有益效果是:
(1)适用于各种部署和操作模型;不管是私有IDC机房,单一云服务运营商,还是混合云服务商,都可以方便地部署整套系统;基于模块化设计,能在地理隔离环境中运行,从而提高了部署适应性,相比于单一权限控制的钱包,本发明的钱包支持多人权限控制,在操作上更加灵活;
(2)高安全性,即使部分服务器被破坏也安全;首先,用户本地环境的安全问题不会导致密钥泄露,本地不存放任何私钥相关数据,其次,任何密钥服务都不存在完整的密钥,在私钥的整个生命周期中,远不会在任何密钥服务上生成完整的私钥,因此即使某个服务器出问题,攻击者也无法得到用户的私钥,必须同时攻陷n个服务器,或是n个服务器管理员一起合谋才能将资产转移。
附图说明
图1为本发明的整体架构图;
图2为本发明的私钥创建流程图;
图3为本发明的密钥服务关系图;
图 4为本发明的部署图。
具体实施方式
下面详细描述本发明的实施例,下面的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本发明的虚拟云钱包基于可信执行环境和门限签名算法,由客户端、密钥服务、管理服务三部分组成,服务之间协同工作,服务之间通过安全的TLS协议通讯。整体架构图见图1。
1、客户端说明
客户端是用户管理资产的门户,为用户提供账户管理,私钥管理,联系人管理基础模块。上述模块发起的用户指令,由客户端转发到管理服务或者密钥服务。用户可在账户管理注册登录密码,执行登录,可在密钥管理设置支付密码、执行交易操作,可在联系人管理添加、删除其他参与人。其中私钥管理细分创建共享私钥,重建共享私钥,找回共享私钥,发起交易功能。
2、密钥服务说明
密钥服务是平台的核心,包括MPC算法和认证算法,MPC算法由Feldman-VSS秘密分享算法,ECDSA签名算法,私钥恢复算法组成。密钥服务安全性是设计的重点,它即不会被外部人员攻破,也不会被内部人员窃取信息,所以我们将私钥服务运行在可信执行环境中。在可信环境中执行的程序无法被外部窃听,可以认为是安全的。
一个密钥服务可给不同用户提供服务,用户数据库物理不隔离,但权限隔离。用户的私钥碎片以密文形式加密存储并与用户传入的口令绑定,公式如下Enc(key, password),原始私钥碎片通过如下解密:Dec(data,password)。
密钥服务提供了私钥创建、消息签名、私钥重置功能,以RESTful API标准向外提供服务。密钥服务采用创建即注册模式,当用户调用私钥创建接口成功生成共享私钥,密钥服务就保存分组身份,用户身份,口令,私钥碎片的对应关系(gid,uid,password,key),相当于在密钥服务中注册了,除私钥创建外的所有功能,必须通过组身份,用户身份,口令认证后执行,如图3所示。密钥服务有查重功能,避免用户重复注册。
消息签名是由组内用户共同发起的,底层算法是门限ECDSA签名。如果某个共享私钥是(t,n)模式,那么只要有t个用户通过客户端发起,就能生成一个合法签名,具体步骤如为:
步骤a1:密钥服务接受待签名的消息M,并确定参与签名的数量;
步骤a2:密钥服务验证口令正确性,如果错误,就返回,否则进入下一步;
步骤a3:密钥服务执行签名算法,并返回结果。
私钥重置是通过重新创建密钥服务中的私钥碎片,来改变门限签名中的t和n,同时保持公钥不变。所以重置功能可以变相地增加或减少项目组成员,以及密码找回。 执行该功能的前提是上一批密钥服务完全参与。
3、管理服务说明
管理服务是平台的中枢,负责调配,路由,监控密钥服务。调配的目的是将用户均匀地分布到密钥服务集群上,保证可扩展性和安全性;路由原则是为了统一服务入口,让客户端无感密钥服务存在;监控是对密钥服务的运行状态以及访问状态监控。
监控项是调配算法作出决策的重要依据,向密钥服务获取运行指标。管理服务收集信息的主要步骤:
步骤b1:密钥服务向管理服务发送节点IP和主机名称,管理服务对密钥服务的IP进行注册,为其创建一个信息对象,用于存放收集的信息;
步骤b2:管理服务获取密钥服务的有效运行指标:
i.密钥服务的离线率; 例如每隔t秒通过调用密钥服务的is_active()接口获取当前时间的运行情况t0,下一次获取状态记为t1,依次类推。如果无法访问,则ti值记为1,否则记为0。离线率p=(∑n i=0ti)/n;
ii. 密钥服务当前的CPU使用率;在linux系统中,有各种工具提供CPU运行情况,这使用dstat工具,能提供当前CPU 的使用率;
iii.密钥服务支持的有效用户数量;当密钥服务完成一次共享公钥的创建,就将n计数器加1。
密钥服务调配算法是为了私钥碎片合理分散到密钥集群。该算法基于运行指标建立密钥服务与用户之间的映射关系。当出现新增的密钥服务,管理服务会优先将密钥服务分配给用户,主要思想:基于密钥服务运行指标,CPU使用率越高,有效用户数量越多,密钥服务的离线率越高,密钥服务权重越低,越不容易再被分配。算法实现步骤:
步骤c1: 获取每个服务的监控指标C,N,P。C代表CPU使用率,N代表有效用户数,P代表离线率;
步骤c2:根据步骤c1的监控指标,计算每个密钥服务加入一个人CPU的增益IC,公式IC = C + C/N;
步骤c3:根据步骤c1的监控指标,计算每个密钥服务对于所有密钥服务的用户占比M,公式 M=N/∑N;
步骤c4: 将所有密钥服务根据用户占比,CPU的增益,离线率依次递增排序;
步骤c5:根据上一步结果,选择前n个密钥服务。
应用示例:
一个服务部署流程,部署参考图4:
步骤d1:本例子共四台物理服务器,选其中一台部署管理服务,设置访问地址Im;
步骤d2:根据步骤d1得到的剩余三台服务器分别部署密钥服务,访问地址为Ia,Ib,Ic;
步骤d3:根据步骤d1得到的管理服务上注册Ia,Ib,Ic密钥服务,管理服务的监控模块运行,从三台服务器获取运行指标,记录到统计模块;
步骤d4:用户下载客户端,在账户管理页面注册。 客户端向管理服务发送请求,统计模块记录注册信息,之后可以访问Im,Ia,Ib,Ic服务器。
一个创建共享私钥流程,如图2所示,具体步骤为:
步骤e1:以完成注册的用户A为例,在客户端中,用户A通过联系人管理添加联系人;
步骤e2:在客户端中,用户A通过私钥管理创建一个(t,n)共享项目组,所选的项目组参与人必须在联系人列表中存在,如果参与人总量不足n-1,则需添加到n-1个参与人;
步骤e3:根据步骤e2, 客户端向管理服务发送创建请求Q,在管理服务中,统计模块记录创建请求Q,调度模块确定每个参与人对应的密钥服务,并保存对应的映射表Map<account, server>;
步骤e4:在管理服务中,统计模块给项目组内的所有成员推送创建请求Q以及映射表Map;
步骤e5:在客户端中,用户A和参与人确认创建请求Q,客户端检索映射表Map,向相关密钥服务发送同意和拒绝指令,如果成员同意加入共享项目组,需设置支付密码,客户端与密钥服务建立安全网络通道,发送操作请求与支付密码,等到所有成员同意后,进入下一步骤;如有一人拒绝则整个流程退出;
步骤e6:根据步骤e5,在密钥集群中,共享组内的每个密钥服务生成各自的随机数ui,并通过管理服务公布正确性证明,当所有密钥服务收到正确性承诺后,每个密钥服务执行(t,n)Feldman-VSS算法,生成关于ui的多项式Fi,密钥服务i发送对应多项式坐标给密钥服务j,算法执行完成后,得到共享组公钥和私钥碎片,使用步骤e5传入的支付密码对私钥碎片加密,然后存储到数据库中;
步骤e7:根据步骤e6,在密钥服务中,将共享组公钥发送给管理服务,在管理服务中,统计模块记录共享组公钥,统计模块将共享组公钥发给项目组内成员;
解释:所述的项目组成员由用户A和参与人组成。
一个签名流程,具体步骤为:
以成功创建的(3,5)共享私钥组G为例,该组有5个成员,其中3个成员同意,则签名提案通过;
步骤f1:在客户端中,用户A在共享私钥组G内,用户A通过私钥管理界面发起对消息M签名请求Q,请求Q由客户端转发到管理服务;
步骤f2:根据步骤f1, 在管理服务中,统计模块记录签名请求Q,给项目组内的所有成员推送签名请求Q以及映射表Map;
步骤f3:在客户端中,用户A和参与人确认签名请求Q。客户端检索映射表Map,向相关密钥服务发送同意和拒绝指令。如果成员同意签名,则输入支付密码,客户端发送操作请求与支付密码到密钥服务。如支付密码错误,则提示重新输入。如成员同意数量大于等于3后,进入下一步骤;
步骤f4:根据步骤f3,在密钥集群中,共享组内的每个密钥服务使用传入的支付密码加载私钥碎片,然后执行门限签名算法,成功则输出签名结果;
步骤f5:根据步骤f4,在密钥服务中,将签名结果发送给管理服务。 在管理服务中,统计模块记录签名结果,将签名结果发给项目组内成员。
一个私钥重置流程:
以成功创建的(3,5)共享私钥组G为例,其中用户A忘记支付密码;
步骤g1:在客户端中,用户A在共享私钥组G内,用户A通过私钥管理界面发起密码找回请求Q,请求Q由客户端转发到管理服务;
步骤g2:根据步骤g1, 在管理服务中,统计模块记录私钥重置请求Q,给项目组内的所有成员推送请求Q以及映射表Map;
步骤g3:在客户端中,项目组成员执行前述的签名流程步骤f3,需要所有成员同意;
步骤g4:在密钥集群中,共享组内的除用户A对应的密钥服务都使用传入的支付密码加载私钥碎片,用户A对应的密钥服务生成新的ui,然后执行MPC算法的重置;在密钥服务,用户A传入的支付密码对私钥碎片加密,并存储到数据库中。
名称解释:
TLS:
TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。
密钥集群:
密钥集群是由多个密钥服务组成的,为统一管理与运维的集合,集合中的密钥服务有各自的身份,有相同的权限。
门限签名:
(t,n)门限签名方案是指由n个成员组成一个签名群体,该群体有一对公钥和私钥,群体内大于等于t个合法、诚实的成员组合可以代表群体用群私钥进行签名,任何人可利用该群体的公钥进行签名验证。
私钥碎片:
私钥碎片是由Feldman-VSS秘密分享算法分配的子密钥。
可信执行环境:
TEE提供了一个完全隔离的环境,防止其他软件应用程序、操作系统和所有者篡改,甚至不了解在TEE中运行的应用程序的状态。例如,Intel Software Guard eXtensions(SGX)提供了一个TEE的实现。keystone飞地项目旨在提供一个开源的TEE设计。
SGX:
Intel® Software Guard Extensions (Intel® SGX)保护选定的代码和数据不被泄露和修改。开发者可以把应用程序划分到CPU强化的enclave(飞地)中或者内存中可执行的保护区域,即使在受攻击的平台中也能提高安全性。
本发明未详细阐述部分属于本领域公知技术。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (8)
1.一种基于隐私保护计算的虚拟云钱包,其特征在于,包括客户端、密钥服务、管理服务,客户端、密钥服务、管理服务之间都通过HTTPS协议通讯;
所述客户端是用户管理资产的门户,为用户提供基础操作,所述基础操作包括账户管理、私钥管理、联系人管理,所述私钥管理包括创建共享私钥、重建共享私钥、找回共享私钥、发起交易,所述基础操作由客户端发送到管理服务或者密钥服务;
所述密钥服务包括MPC算法和认证算法,所述MPC算法包括Feldman-VSS秘密分享算法、ECDSA签名算法、私钥恢复算法;密钥服务提供了私钥创建、消息签名、私钥重置功能,以RESTful API标准向外提供服务;
所述管理服务包括监控模块、统计模块、调度模块、中转模块、数据库。
2.根据权利要求1所述的一种基于隐私保护计算的虚拟云钱包,其特征在于,包括其密钥服务运行和存储方案:
所述密钥服务运行在可信执行环境中,所述客户端访问密钥服务采用创建即注册模式,客户端调用密钥服务的创建共享私钥接口,密钥服务生成共享私钥,同时保存分组身份,用户身份,口令,私钥碎片的对应关系(gid,uid,password,key),相当于在密钥服务中注册了,除创建共享私钥外的所有功能,必须通过组身份,用户身份,口令认证后执行;
所述客户端将创建操作和口令发送给密钥服务,密钥服务执行算法得到私钥碎片,密钥服务使用传入的口令对私钥碎片加密,然后存储到数据库;所述客户端将其他操作和口令发送给密钥服务,密钥服务核对口令,核对通过,密钥服务执行客户端请求的操作;否则返回验证失败信息。
3.根据权利要求1所述的一种基于隐私保护计算的虚拟云钱包,其特征在于,一种密钥服务身份认证方案:
所述密钥服务运行在可信执行环境中,密钥服务使用ECDSA算法生成公私钥对(Pk,Sk),密钥服务附带公钥向本地可信硬件申请证明引文,密钥服务将证明引文发送给可信硬件服务供应商申请运行环境证明报告,密钥服务对获取到的证明报告验证,如果证明报告有效,密钥服务用证明报告生成TLS证书;
所述客户端与密钥服务建立HTTPS连接,客户端间使用硬件服务供应商的CA证书验证密钥服务的TLS证书,如果验证通过,证明连接的密钥服务运行在可信硬件中,否则密钥服务不是运行在可信硬件上。
4.根据权利要求1所述的一种基于隐私保护计算的虚拟云钱包,其特征在于,所述创建共享私钥的具体步骤为:
S21、在客户端中,一个用户通过联系人管理添加联系人;
S22、在客户端中,一个用户通过私钥管理创建一个(t,n)共享项目组,所选的项目组参与人必须在联系人列表中存在,如果参与人总量不足n-1,则需添加到n-1个参与人;
S23、根据步骤S22, 客户端向管理服务发送创建请求; 在管理服务中,统计模块记录创建请求,调度模块确定每个参与人对应的密钥服务,并保存对应的映射表Map<account,server>;
S24、在管理服务中,统计模块给所有项目组参与人推送创建请求以及映射表Map;
S25、在客户端中,一个用户和参与人确认创建请求;客户端检索映射表Map,向相关密钥服务发送同意和拒绝指令;如果参与人同意加入共享项目组,需设置支付密码,客户端与密钥服务建立安全网络通道,发送操作请求与支付密码,等到所有参与人同意后,进入下一步骤,如有一人拒绝则整个流程退出;
S26、根据步骤S25,在密钥集群中,共享组内的每个密钥服务生成各自的随机数ui,并通过管理服务公布正确性证明,当所有密钥服务收到正确性承诺后,每个密钥服务执行(t,n)Feldman-VSS算法,生成关于ui的多项式Fi,密钥服务i发送对应多项式坐标给密钥服务j,算法执行完成后,得到共享组公钥和私钥碎片,使用步骤S25传入的支付密码对私钥碎片加密,然后存储到数据库中;
S27、根据步骤S26,在密钥服务中,将共享组公钥发送给管理服务,在管理服务中,统计模块记录共享组公钥,统计模块将共享组公钥发给项目组内成员。
5.根据权利要求1所述的一种基于隐私保护计算的虚拟云钱包,其特征在于,所述消息签名是由组内用户共同发起的,底层算法是门限ECDSA签名;如果某个共享私钥是(t,n)模式,那么只要有t个用户通过客户端发起,就能生成一个合法签名,具体步骤为:
S31、密钥服务接受待签名的消息M,并确定参与签名的数量;
S32、密钥服务验证口令正确性,如果错误,就返回,否则进入下一步;
S33、密钥服务执行签名算法,并返回结果。
6.根据权利要求4所述的一种基于隐私保护计算的虚拟云钱包,其特征在于,所述私钥重置是通过重新创建密钥服务中的私钥碎片,来改变门限签名中的t和n,同时保持公钥不变,所以重置功能能变相地增加或减少密钥服务;执行私钥重置功能的前提是上一批密钥服务完全参与。
7.根据权利要求1所述的一种基于隐私保护计算的虚拟云钱包,其特征在于,所述管理服务收集信息的主要步骤包括:
S51、密钥服务向管理服务发送节点IP和主机名称,管理服务对密钥服务的IP进行注册,为其创建一个信息对象,用于存放收集的信息;
S52、管理服务获取密钥服务的有效运行指标,包括:密钥服务的离线率、密钥服务当前的CPU使用率、密钥服务支持的有效用户数量。
8.根据权利要求7所述的一种基于隐私保护计算的虚拟云钱包,其特征在于,基于运行指标建立密钥服务与用户之间的映射关系,当出现新增的密钥服务,管理服务会优先将密钥服务分配给用户,基于密钥服务的有效运行指标,CPU使用率越高,有效用户数量越多,密钥服务的离线率越高,密钥服务权重越低,越不容易再被分配,算法实现步骤为:
S61、获取每个服务的监控指标C、N、P,C代表CPU使用率,N代表有效用户数,P代表离线率;
S62、根据S61步骤的监控指标,计算每个密钥服务加入一个人CPU的增益IC,公式IC =C + C/N;
S63、根据S61步骤的监控指标,计算每个密钥服务对于所有密钥服务的用户占比M,公式 M=N/∑N;
S64、将所有密钥服务根据用户占比,CPU的增益,离线率依次递增排序;
S65、根据上一步结果,选择前n个密钥服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111207562.XA CN113922957B (zh) | 2021-10-18 | 2021-10-18 | 一种基于隐私保护计算的虚拟云钱包系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111207562.XA CN113922957B (zh) | 2021-10-18 | 2021-10-18 | 一种基于隐私保护计算的虚拟云钱包系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113922957A true CN113922957A (zh) | 2022-01-11 |
CN113922957B CN113922957B (zh) | 2024-01-19 |
Family
ID=79240787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111207562.XA Active CN113922957B (zh) | 2021-10-18 | 2021-10-18 | 一种基于隐私保护计算的虚拟云钱包系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113922957B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065487A (zh) * | 2022-08-17 | 2022-09-16 | 北京锘崴信息科技有限公司 | 隐私保护云计算方法、保护金融隐私数据的云计算方法 |
CN115758396A (zh) * | 2022-08-31 | 2023-03-07 | 兰州大学 | 基于可信执行环境的数据库安全访问控制技术 |
CN117078215A (zh) * | 2023-10-16 | 2023-11-17 | 中交一公局集团有限公司 | 一种建筑物信息管理系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060860A1 (en) * | 2016-08-30 | 2018-03-01 | Paypal, Inc. | Expedited virtual currency transaction system |
CN108229938A (zh) * | 2017-12-28 | 2018-06-29 | 中国人民银行数字货币研究所 | 一种数字货币钱包开通的方法和系统 |
CN108234133A (zh) * | 2017-12-28 | 2018-06-29 | 中国人民银行数字货币研究所 | 数字货币钱包更换密钥的方法、系统 |
CN111191262A (zh) * | 2019-12-30 | 2020-05-22 | 中山大学 | 一种基于两方签名的区块链钱包客户端私钥保护方法 |
CN111242611A (zh) * | 2019-12-30 | 2020-06-05 | 航天信息股份有限公司 | 一种用于恢复数字钱包密钥的方法及系统 |
CN111563733A (zh) * | 2020-04-28 | 2020-08-21 | 杭州云象网络技术有限公司 | 一种用于数字钱包的环签名隐私保护系统及方法 |
CN112132560A (zh) * | 2020-09-30 | 2020-12-25 | 郑州信大捷安信息技术股份有限公司 | 链上数字资产管理方法及装置 |
CN112288431A (zh) * | 2020-11-03 | 2021-01-29 | 上海阿吉必信息技术有限公司 | 基于门限签名的交易方法和装置 |
WO2021073953A1 (en) * | 2019-10-15 | 2021-04-22 | Sepior Aps | Digital signature generation using a cold wallet |
-
2021
- 2021-10-18 CN CN202111207562.XA patent/CN113922957B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060860A1 (en) * | 2016-08-30 | 2018-03-01 | Paypal, Inc. | Expedited virtual currency transaction system |
CN108229938A (zh) * | 2017-12-28 | 2018-06-29 | 中国人民银行数字货币研究所 | 一种数字货币钱包开通的方法和系统 |
CN108234133A (zh) * | 2017-12-28 | 2018-06-29 | 中国人民银行数字货币研究所 | 数字货币钱包更换密钥的方法、系统 |
WO2021073953A1 (en) * | 2019-10-15 | 2021-04-22 | Sepior Aps | Digital signature generation using a cold wallet |
CN111191262A (zh) * | 2019-12-30 | 2020-05-22 | 中山大学 | 一种基于两方签名的区块链钱包客户端私钥保护方法 |
CN111242611A (zh) * | 2019-12-30 | 2020-06-05 | 航天信息股份有限公司 | 一种用于恢复数字钱包密钥的方法及系统 |
CN111563733A (zh) * | 2020-04-28 | 2020-08-21 | 杭州云象网络技术有限公司 | 一种用于数字钱包的环签名隐私保护系统及方法 |
CN112132560A (zh) * | 2020-09-30 | 2020-12-25 | 郑州信大捷安信息技术股份有限公司 | 链上数字资产管理方法及装置 |
CN112288431A (zh) * | 2020-11-03 | 2021-01-29 | 上海阿吉必信息技术有限公司 | 基于门限签名的交易方法和装置 |
Non-Patent Citations (2)
Title |
---|
周健;孙丽艳;: "区块链钱包保护协议研究", 信息与电脑(理论版), no. 06 * |
张中霞;王明文;: "一种适用于区块链钱包保护的无中心可验证门限签名方案", 计算机应用研究, no. 1 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065487A (zh) * | 2022-08-17 | 2022-09-16 | 北京锘崴信息科技有限公司 | 隐私保护云计算方法、保护金融隐私数据的云计算方法 |
CN115065487B (zh) * | 2022-08-17 | 2022-12-09 | 北京锘崴信息科技有限公司 | 隐私保护云计算方法、保护金融隐私数据的云计算方法 |
CN115758396A (zh) * | 2022-08-31 | 2023-03-07 | 兰州大学 | 基于可信执行环境的数据库安全访问控制技术 |
CN117078215A (zh) * | 2023-10-16 | 2023-11-17 | 中交一公局集团有限公司 | 一种建筑物信息管理系统 |
CN117078215B (zh) * | 2023-10-16 | 2024-01-26 | 中交一公局集团有限公司 | 一种建筑物信息管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113922957B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110099043B (zh) | 支持策略隐藏的多授权中心访问控制方法、云存储系统 | |
Michalas | The lord of the shares: Combining attribute-based encryption and searchable encryption for flexible data sharing | |
Bao et al. | When blockchain meets SGX: An overview, challenges, and open issues | |
CN111212084B (zh) | 一种面向边缘计算的属性加密访问控制方法 | |
CN113922957B (zh) | 一种基于隐私保护计算的虚拟云钱包系统 | |
CN107332858B (zh) | 云数据存储方法 | |
CN107465681B (zh) | 云计算大数据隐私保护方法 | |
Veerabathiran et al. | Improving secured ID-based authentication for cloud computing through novel hybrid fuzzy-based homomorphic proxy re-encryption | |
Yan et al. | Integrity audit of shared cloud data with identity tracking | |
Gao et al. | Blockchain based secure IoT data sharing framework for SDN-enabled smart communities | |
Michalas | Sharing in the rain: Secure and efficient data sharing for the cloud | |
Kotha et al. | A comprehensive review on secure data sharing in cloud environment | |
CN107395609B (zh) | 数据加密方法 | |
Palit et al. | AUGChain: blockchain-based mobile user authentication scheme in global mobility network | |
US11777735B2 (en) | Method and device for anonymous access control to a collaborative anonymization platform | |
Roy et al. | A Hybrid Security Framework to Preserve Multilevel Security on Public Cloud Networks | |
CN100411361C (zh) | 一种保护移动代理网管应用的安全架构方法 | |
Idrissi et al. | Security of mobile agent platforms using access control and cryptography | |
Hammami et al. | Security issues in cloud computing and associated alleviation approaches | |
Anbu Malar | Trust based authentication scheme (tbas) for cloud computing environment with Kerberos protocol using distributed controller and prevention attack | |
Bandanadam et al. | A methodical literature survey on block chain-based public auditing in cloud: analysis on performance and door towards future scope | |
Dongare et al. | Panda: Public auditing for shared data with efficient user revocation in the cloud | |
Raja et al. | An enhanced study on cloud data services using security technologies | |
Wu et al. | Verified CSAC-based CP-ABE access control of cloud storage in SWIM | |
Kaushik et al. | Cloud computing security: attacks, threats, risk and solutions |
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 |