CN117454359A - 数据处理方法、装置、设备以及介质 - Google Patents
数据处理方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN117454359A CN117454359A CN202311409380.XA CN202311409380A CN117454359A CN 117454359 A CN117454359 A CN 117454359A CN 202311409380 A CN202311409380 A CN 202311409380A CN 117454359 A CN117454359 A CN 117454359A
- Authority
- CN
- China
- Prior art keywords
- service
- application
- information
- key management
- key
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012795 verification Methods 0.000 claims abstract description 273
- 238000004891 communication Methods 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 43
- 230000003993 interaction Effects 0.000 claims description 83
- 230000002452 interceptive effect Effects 0.000 claims description 53
- 230000004044 response Effects 0.000 claims description 49
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 238000012790 confirmation Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000008014 freezing Effects 0.000 claims description 4
- 238000007710 freezing Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 383
- 238000013500 data storage Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 8
- KAICRBBQCRKMPO-UHFFFAOYSA-N phosphoric acid;pyridine-3,4-diamine Chemical compound OP(O)(O)=O.NC1=CC=NC=C1N KAICRBBQCRKMPO-UHFFFAOYSA-N 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000035045 associative learning Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000009990 desizing Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置、设备以及介质,该方法可应用在区块链领域。该方法由业务应用a执行,业务应用a属于密钥管理设备所绑定的多个业务应用,密钥管理设备是业务对象在多个业务应用中的登录凭证。该方法包括:响应针对业务应用a的登录操作,向与业务应用a建立通信连接的密钥管理设备发送登录验证请求,以使密钥管理设备根据业务对象的业务对象私钥,生成登录验证请求对应的登录验证信息;接收登录验证信息,通过业务对象的业务对象公钥对登录验证信息进行有效性验证,得到登录验证结果;若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。实施本申请实施例,可以提高数据安全性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种数据处理方法、装置、设备以及介质。
背景技术
随着智能手机、平板电脑等终端设备的功能日益强大,应用于智能手机、平板电脑等终端设备上的应用程序的类型也随之日益丰富,如购物类应用、资讯类应用、视频类应用、游戏类应用等。
用户在使用这些应用程序所提供的服务之前,通常需要进行账号登录,完成身份认证。目前,常见的登录方式是采用账号密码模式进行登录,在应用程序的登录界面,由应用程序将用户输入的账户和密码发送到应用程序的后台服务器,后台服务器对该用户的账户和密码进行验证,当验证通过时,该用户可以正常使用应用程序所提供的服务。然而,这种账号登录方式,应用程序的后台服务器需要存储有用户的密码,一旦后台服务器被攻击,就可能会造成用户密码的泄露,降低账号安全性。
发明内容
本申请实施例提供一种数据处理方法、装置、设备以及介质,可以提高账号安全性。
本申请实施例一方面提供了一种数据处理方法,该方法由业务应用a执行,业务应用a属于密钥管理设备所绑定的多个业务应用,密钥管理设备是业务对象在多个业务应用中的登录凭证;该方法包括:
响应针对业务应用a的登录操作,检测业务应用a与密钥管理设备之间的连接状态;
若业务应用a与密钥管理设备之间的连接状态指示连接成功,则向密钥管理设备发送登录验证请求,以使密钥管理设备根据业务对象在业务应用a中所使用的业务对象私钥,生成登录验证请求对应的登录验证信息;
接收密钥管理设备返回的登录验证信息,通过业务对象在业务应用a中所使用的业务对象公钥对登录验证信息进行有效性验证,得到登录验证结果;业务对象公钥和业务对象私钥是由密钥管理设备所生成的;
若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。
本申请实施例一方面提供了一种数据处理装置,该装置应用在业务应用a中,业务应用a属于密钥管理设备所绑定的多个业务应用,密钥管理设备是业务对象在多个业务应用中的登录凭证;该装置包括:
连接状态检测模块,用于响应针对所述业务应用a的登录操作,检测所述业务应用a与所述密钥管理设备之间的连接状态;
验证请求发送模块,用于若所述业务应用a与所述密钥管理设备之间的连接状态指示连接成功,则向所述密钥管理设备发送登录验证请求,以使所述密钥管理设备根据所述业务对象在所述业务应用a中所使用的业务对象私钥,生成所述登录验证请求对应的登录验证信息;
登录信息验证模块,用于接收所述密钥管理设备返回的所述登录验证信息,通过所述业务对象在所述业务应用a中所使用的业务对象公钥对所述登录验证信息进行有效性验证,得到登录验证结果;所述业务对象公钥和所述业务对象私钥是由所述密钥管理设备所生成的;
业务权限开放模块,用于若所述登录验证结果指示验证通过,则为所述业务对象开放所述业务应用a中的业务处理权限。
其中,数据处理装置还包括:
第一注册请求发送模块,用于响应针对业务应用a的注册操作,向与业务应用a建立通信连接的密钥管理设备发送应用注册请求,以使密钥管理设备根据应用注册请求确定用于注册业务应用a的密钥信息;
第一账号注册模块,用于接收密钥管理设备返回的密钥信息中的业务对象公钥,根据业务对象公钥,在业务应用a中为业务对象进行账号注册;
第一数据存储模块,用于若业务对象对应的注册状态指示注册成功,则存储业务对象公钥和密钥管理设备对应的设备标识信息。
其中,数据处理装置还包括:
设备数量获取模块,用于响应针对业务应用a的注册操作,确定与业务应用a建立通信连接的K个密钥管理设备;K个密钥管理设备均为业务对象关联的硬件设备,K为大于1的整数;
第二注册请求发送模块,用于向K个密钥管理设备发送应用注册请求,以使各个密钥管理设备根据应用注册请求生成与业务应用a相关联的初始密钥信息;一个密钥管理设备对应的初始密钥信息包括一个初始公钥信息和一个业务对象私钥;
对象公钥生成模块,用于接收各个密钥管理设备返回的初始公钥信息,根据各个密钥管理设备对应的初始公钥信息生成业务对象在业务应用a中所使用的业务对象公钥;业务对象公钥用于验证各个密钥管理设备根据各自的业务对象私钥所生成的数字签名;
第二账号注册模块,用于根据业务对象公钥,在业务应用a中为业务对象进行账号注册;
第二数据存储模块,用于若业务对象对应的注册状态指示注册成功,则存储业务对象公钥和K个密钥管理设备对应的设备标识信息,将业务对象公钥传输至各个密钥管理设备。
其中,数据处理装置还包括:
设备连接提示显示模块,用于响应针对业务应用a的注册操作,显示设备连接提示消息;设备连接提示消息用于指示建立密钥管理设备和业务应用a之间的通信连接;
公钥选择页面显示模块,用于若密钥管理设备和业务应用a之间的连接状态指示连接成功,则显示公钥选择页面;公钥选择页面包括在密钥管理设备中的一个或者多个对象公钥;
第三账号注册模块,用于响应针对公钥选择页面中的公钥选取操作,根据公钥选取操作所触发的对象公钥确定为业务对象公钥,根据业务对象公钥在业务应用a中为业务对象进行账号注册;
第三数据存储模块,用于若业务对象对应的注册状态指示注册成功,则显示注册成功提示消息,存储业务对象公钥和密钥管理设备对应的设备标识信息。
其中,数据处理装置还包括:
账号注册页面显示模块,用于响应针对业务应用a的注册操作,显示业务应用a中的账号注册页面;
注册确认请求生成模块,用于响应针对账号注册页面的输入操作,根据账号注册页面所输入的应用注册信息生成注册确认请求;应用注册信息包括密钥管理设备中的对象公钥;
第四账号注册模块,用于响应针对注册确认请求的确认操作,将应用注册信息中所包含的对象公钥确定为业务对象公钥,根据业务对象公钥在业务应用a中为业务对象进行账号注册;
第四数据存储模块,用于若业务对象对应的注册状态指示注册成功,则显示注册成功提示消息,存储业务对象公钥和密钥管理设备对应的设备标识信息。
其中,验证请求发送模块若业务应用a与所述密钥管理设备之间的连接状态指示连接成功,则向所述密钥管理设备发送登录验证请求,包括:
若业务应用a与密钥管理设备之间的连接状态指示连接成功,则获取密钥管理设备对应的设备标识信息;
若业务应用a中不存在设备标识信息,则向密钥管理设备返回登录失败提示消息;
若业务应用a中存在设备标识信息,则向密钥管理设备发送登录验证请求。
其中,验证请求发送模块若业务应用a中存在设备标识信息,则向密钥管理设备发送登录验证请求,包括:
若业务应用a中存在设备标识信息,则获取密钥管理设备在业务应用a中的注册设备类型;
若注册设备类型为主注册设备类型,则向密钥管理设备发送登录验证请求;
若注册设备类型为备用注册设备类型,则在业务应用a中,将属于主注册设备类型的密钥管理设备进行权限冻结处理,向属于备用注册设备类型的密钥管理设备发送登录验证请求。
其中,登录信息验证模块通过业务对象在业务应用a中所使用的业务对象公钥对登录验证信息进行有效性验证,包括:
获取登录验证信息携带的对象公钥和数字签名,以及获取数字签名对应的生成时间戳和数字签名对应的签名有效期限;
若生成时间戳属于签名有效期限,且登录验证信息携带的对象公钥与业务对象在业务应用a中所使用的业务对象公钥一致,则通过业务对象公钥对登录验证信息进行有效性验证,得到登录验证结果。
其中,登录信息验证模块通过业务对象在业务应用a中所使用的业务对象公钥对登录验证信息进行有效性验证,包括:
通过业务对象公钥对登录验证信息携带的数字签名进行解密,得到登录验证信息对应的第一摘要信息;
根据哈希算法对登录验证信息进行哈希运算,得到登录验证信息对应的第二摘要信息;
若第一摘要信息与第二摘要信息相同,则确定登录验证信息对应的登录验证结果指示验证通过;
若第一摘要信息与第二摘要信息不相同,则确定登录验证信息对应的登录验证结果指示验证不通过。
其中,数据处理装置还包括:
信息交互页面显示模块,用于显示对象交互页面;对象交互页面包括在业务应用a中与业务对象具有交互关系的一个或多个互动对象;响应针对对象交互页面中的互动对象i的触发操作,显示业务对象与互动对象i之间的信息交互页面;
互动信息输入模块,用于响应针对信息交互页面的输入操作,将信息交互页面所输入的信息确定为业务对象与互动对象i之间的互动信息;
互动信息加密模块,用于获取互动对象i在业务应用a中所使用的互动对象公钥,通过互动对象公钥对互动信息进行加密,得到加密后的互动信息;
数据上链模块,用于将加密后的互动信息和互动对象公钥封装至待上链交易,将待上链交易发送至区块链节点,以使区块链节点将待上链交易存储至业务应用a对应的业务区块链。
其中,数据处理装置还包括:
查询请求生成模块,用于若接收到信息查看通知,则生成信息查看通知对应的信息查询请求;
业务信息查询模块,用于将信息查询请求发送至区块链节点,以使区块链节点根据信息查询请求携带的业务对象公钥,在业务应用a对应的业务区块链中获取业务对象对应的业务信息;
业务信息解密模块,用于接收区块链节点返回的业务信息,将业务信息发送至密钥管理设备,以使密钥管理设备根据业务对象私钥对业务信息进行解密,得到解密后的业务信息;
业务信息显示模块,用于接收解密后的业务信息,在业务应用a中显示解密后的业务信息。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中一方面中方法的步骤。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行如本申请实施例中一方面中方法的步骤。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面的各种可选方式中提供的方法。
在本申请实施例中,一个密钥管理设备可以与多个业务应用具有绑定关系,可以将密钥管理设备作为业务对象在多个业务应用中的登录凭证。当业务对象在多个业务应用中的业务应用a进行账号登录时,可以响应针对业务应用a的登录操作,向与业务应用a建立通信连接的密钥管理设备发送登录验证请求,以使该密钥管理设备根据业务对象在业务应用a中所使用的业务对象私钥,生成登录验证请求对应的登录验证信息;进而可以通过业务对象在业务应用a中所使用的业务对象公钥对该登录验证信息进行有效性验证,得到登录验证结果;若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。由此可见,本申请实施例在进行账号登录时,通过密钥管理设备中存储的对象私钥来为业务对象进行身份验证,业务应用无需存储业务对象的密码信息,因此,业务应用在受到攻击时,不会造成业务对象的密码信息的泄露,有助于提高数据安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构图;
图2是本申请实施例提供的一种账号登录的场景示意图;
图3是本申请实施例提供的一种数据处理方法的时序示意图;
图4是本申请实施例提供的一种账号注册的界面示意图一;
图5是本申请实施例提供的一种账号注册的界面示意图二;
图6是本申请实施例提供的一种数据处理方法的流程示意图;
图7是本申请实施例提供的一种账号注册的界面示意图三;
图8是本申请实施例提供的一种账号注册的界面示意图四;
图9是本申请实施例提供的一种互动信息上链的示意图;
图10是本申请实施例提供的一种数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及区块链技术(Blockchain)。区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括对象管理、基础服务、智能合约以及运营管理等处理模块。其中,对象管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营管理模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况、检测节点设备健康状态等。
智能合约可以理解为运行在分布式账本(即区块链)上预置规则、具有状态、条件响应的,可封装、验证、执行分布式节点复杂行为,完成信息交换、价值转移和资产管理的计算机程序。基于区块链的分布式架构、共识算法等,智能合约允许相互不信任的对象在不需要任何第三方可信中介或权威的情况下完成交易,同时,数字形式的智能合约可灵活嵌入各种有形或无形的资产、交易和数据中,实现主动或被动的资产、信息管理与控制,逐步构建可编程的智能资产、系统等。
请参见图1,图1是本申请实施例提供的一种系统架构图。如图1所示,该网络架构可以包括密钥管理设备(例如,密钥管理设备10a和密钥管理设备10b)和终端设备(例如,终端设备10c和终端设备10d)。本申请实施例不对密钥管理设备和终端设备的数量进行限定,密钥管理设备和终端设备的数量可以是一个或者多个。各个密钥管理设备与各个终端设备之间均可以进行通信连接,以便各个密钥管理设备均可以与各个终端设备进行数据交互。本申请实施例对各个设备之间的连接方式不做限定,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,或者还可以通过其他连接方式。
其中,终端设备可以包括但不限于:个人计算机、智能手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、智能语音交互设备、智能家电(例如智能电视等)、车载设备、飞行器等电子设备,本申请实施例对终端设备的类型不做限定。
在本申请实施例中,终端设备还可以是区块链网络中的区块链节点。当终端设备10c和终端设备10d均为区块链网络中的区块链节点时,终端设备10c和终端设备10d可以使用对等式网络(Peer-to-Peer)方式组网,使得终端设备10c和终端设备10d共同遵循广播机制、共识机制,进而共同保证区块链上的数据的不可篡改、不可伪造性,同时实现区块链的去中心化、去信任化等特性。
终端设备可以安装有一个或者对个业务应用(应用客户端),当业务应用运行于各终端设备中时,可以与其绑定的密钥管理设备进行数据交互。其中,各终端设备中运行的业务应用可以为独立的客户端,也可以为集成在某个客户端中的嵌入式子客户端,本申请实施例对此不做限定。业务应用可以具体包括但不限于:智能家居应用、娱乐应用(例如,游戏应用、购物应用)、多媒体应用(例如,视频应用、视频应用)、即时通讯应用以及资讯类应用(例如,新闻应用)等业务应用。其中,若终端设备为车载设备,那么该车载设备可以为智慧交通场景下的智能终端,该车载设备中所运行的业务应用可以称为车载应用。
若终端设备为区块链网络中的区块链节点,那么终端设备所运行的业务应用可以称为在去中心化应用(Decentralized Application,DAPP)。其中,DAPP是指基于区块链技术构建的应用程序,它不依赖于传统的中心化服务器或机构来运行,而是通过去中心化的区块链网络来实现数据存储、计算和交易等功能。具体地,DAPP结合了智能合约和前端界面,当DAPP的智能合约成功部署到区块链上时,DAPP可以为希望与智能合约进行交互的业务对象提供服务;也就是说,DAPP可以作为一个业务应用为业务对象提供相应的服务。业务对象在DAPP中与区块链上部署的智能合约进行交互时,其执行的所有操作均可以采用交易数据的形式存储至区块链,以提高数据的安全性和可靠性。
业务应用对应的后台服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请实施例对业务应用对应的后台服务器的类型不做限定。
密钥管理设备是一种具有密码验证功能的硬件设备,例如,密钥管理设备可以是通用串行总线接口密钥设备(Ukey)、具有硬件安全模块(HSM)的硬件设备、密钥智能卡等硬件设备中的一种或者多种。密钥管理设备的来源可以是金融机构、权威机构、安全认证机构等组织机构为业务对象分发的,也可以是业务对象从电子设备供应商处、或者电子商务网站等交易市场上购买的,本申请对此不做限定。在本申请实施例中,密钥管理设备可以内置有密钥生成算法,密钥管理设备可以通过密钥生成算法生成业务对象的一组或者多组密钥信息,进而可以通过密钥管理设备为业务对象完成业务应用的账号注册和账号登录。在密钥生成算法可以包括但不限于非对称加密算法(RSA)、椭圆曲线密码算法(Elliptic CurveCryptography,ECC)等算法。
在本申请实施例中,密钥管理设备中的密钥信息可以是出厂前已经预先生成的,此时业务对象可以直接使用密钥管理设备中的对象公钥完成业务应用的注册。或者,密钥信息也可以是业务对象在收到密钥管理设备后生成的。可选地,业务对象在首次使用密钥管理设备时,可以对密钥管理设备进行初始化处理,例如,设置个人识别号码(PersonalIdentification Number,PIN),PIN码可以用于为业务对象在密钥管理设备中进行身份验证,以提高密钥管理设备的安全性。PIN码设置完成之后,密钥管理设备可以根据内置的密钥生成算法为业务对象生成一组或者多组密钥信息。
可选地,密钥管理设备还可以将密钥信息中的对象公钥和可信证明信息发送给证书授权中心(Certificate Authority,CA),向CA申请签发数字证书,进而提高密钥管理设备的安全性,以便将密钥管理设备用于对可信度要求较高的场景。其中,可信证明信息可以是密钥管理设备根据自身的设备属性信息生成的,设备属性信息可以包括但不限于密钥管理设备标识信息、版本信息、安全属性信息等信息。
此外,密钥管理设备可以是一种具有数据存储功能的硬件设备,密钥管理设备可以存储业务对象在业务应用中使用的密钥信息(例如,对象公钥和对象私钥)、与密钥管理设备具有绑定关系的业务应用的应用标识信息、业务对象的PIN码、以及密钥管理设备的数字证书等信息。
在申请实施例中,一个密钥管理设备可以与多个业务应用具有绑定关系;相应地,一个业务应用可以与一个密钥管理设备具有绑定关系,也可以与多个密钥管理设备具有绑定关系。假设终端设备10c中安装有业务应用a和业务应用b,终端设备10d中安装有业务应用c;在这种情况下,密钥管理设备10a可以与业务应用a和业务应用c具有绑定关系,业务应用b可以与密钥管理设备10a和密钥管理设备10b均具有绑定关系。
举例而言,业务对象是密钥管理设备10a的持有者,密钥管理设备10a中可以包括业务对象对应的对象公钥x,终端设备10c是业务对象所使用的终端设备,终端设备10c中安装有业务应用a和业务应用b。当业务对象需要在业务应用a中进行账号注册时,可以建立密钥管理设备10a与终端设备10c之间的通信连接,进而建立业务应用a与密钥管理设备10a之间的通信连接。当业务应用a与密钥管理设备10a之间的连接状态指示连接成功时,业务应用a可以从密钥管理设备10a中获取对象公钥x作为业务对象在业务应用a中的注册信息,进而根据对象公钥x在业务应用a中为业务对象进行账号注册;当注册成功时,可以将对象公钥x和密钥管理设备10a对应的设备标识信息存储至业务应用a对应的后台服务器中,进而完成密钥管理设备10a与业务应用a之间的绑定。类似地,也可以使用密钥管理设备10a中的对象公钥x在终端设备10c安装的业务应用b中为业务对象进行账号注册,从而密钥管理设备10a与业务应用b之间的绑定。
当业务对象需要使用业务应用a所提供的服务时,可以通过密钥管理设备10a完成业务应用a的登录,例如,可以通过密钥管理设备10a中存储的对象公钥x所关联的对象私钥,来完成业务对象在业务应用a中的登录验证,具体的实现方式将在下文进行详细描述。
请一并参见图2,图2是本申请实施例提供的一种账号登录的场景示意图。如图2所示,终端设备10c是业务对象所持有的终端设备,终端设备10c中可以安装有多个业务应用,例如,业务应用20a、业务应用20b和业务应用20c等等。可以理解的是,业务对象在业务应用中完成账号登录之后,业务应用才会为业务对象开放相应的业务处理权限(例如,消息发送和接收、物品交易、数据访问等)。因此,业务对象在使用上述业务应用所提供的服务之前,首先需要在业务应用中完成账号注册。在本申请实施例中,业务对象可以通过一个或者多个密钥管理设备在这些业务应用中完成账号注册,具体的账号注册过程将在下文进行详细描述,在此不再进行赘述。
在完成账号注册之后,可以将在业务应用中完成注册的密钥管理设备作为业务应用的登录凭证,也就是说,可以通过密钥管理设备在业务应用中进行账号登录。为便于理解,本申请实施例以业务应用20a为例,对业务应用的账号登录过程进行详细描述。
如图2所示,当业务对象想要使用业务应用20a所提供的服务时,可以对业务应用20a执行触发操作,终端设备10c响应针对业务应用20a的触发操作,显示业务应用20a的登录页面。业务应用20a的登录页面可以包括设备连接提示消息21a、“取消登录”控件21b、“立即注册”控件21c等。设备连接提示消息21a可以用于提示业务对象建立密钥管理设备和业务应用20a之间的通信连接,若业务对象已经通过密钥管理设备在业务应用20a中完成注册,则可以根据设备连接提示消息21a将终端设备10c和密钥管理设备建立通信连接,从而建立密钥管理设备和业务应用a之间的通信连接。可以理解的是,本申请实施例提及的触发操作可以包括但不限于点击触发操作、语音命令触发操作或者手势触发操作等操作。
若业务对象还没有在业务应用20a中完成注册,则可以对“立即注册”控件21c执行触发操作,业务应用20a可以响应针对“立即注册”控件21c的触发操作,为业务对象完成账号注册。若业务对象不想登录业务应用20a,则可以对“取消登录”控件21b执行触发操作,业务应用20a可以响应针对“取消登录”控件21b的触发操作,为业务对象取消本次账号登录。在这种情况下,业务对象可以以游客的身份访问业务应用20a,但是业务应用20a中的业务处理权限此时是关闭状态。
密钥管理设备10a是业务对象所持有的密钥管理设备,在本申请实施例中,一个密钥管理设备可以在多个业务应用中进行账号注册,例如,密钥管理设备10a可以在业务应用20a和业务应用20b中的进行账号注册,因此,可以通过密钥管理设备10a在业务应用20a中进行账号登录。如图2所示,可以检测业务应用20a与密钥管理设备之间的连接状态,当业务应用20a与密钥管理设备10a之间的连接状态指示连接成功时,可以显示连接成功提示信息21d。其中,连接成功提示信息21d用于提示业务对象,此时密钥管理设备10a与业务应用20a成功建立了通信连接。
进一步地,业务应用20a可以向密钥管理设备10a发送登录验证请求。密钥管理设备10a在接收到业务应用20a发送的登录验证请求之后,可以根据业务对象在业务应用a中所使用的业务对象私钥,生成登录验证请求对应的登录验证信息,并将该登录验证信息发送至业务应用20a。其中,登录验证信息的具体生成过程将在下文进行详细描述。业务对象私钥和下述提及的业务对象公钥是由密钥管理设备10a所生成的,业务对象私钥可以为业务对象在业务应用20a中进行身份验证,业务对象私钥由密钥管理设备10a进行存储,不对外公开。业务对象公钥可以用于验证业务对象私钥所生成的数字签名,业务对象公钥可以对外公开,例如,业务应用20a可以存储有该业务对象公钥。
业务应用20a在接收到密钥管理设备10a返回的登录验证信息之后,可以在业务应用20a对应的后台服务器22a对登录验证信息进行有效性验证,例如,可以通过业务对象在业务应用20a中所使用的业务对象公钥对登录验证信息进行有效性验证,进而得到登录验证结果,具体的验证过程将在下文进行详细描述。如图2所示,当登录验证结果指示验证通过时,可以显示登录成功提示信息21e,登录成功提示信息21e可以提示业务对象已经成功登录业务应用20a,并且可以使用业务应用20a所提供的服务。此时,业务应用20a中的业务处理权限已经为业务对象开放,例如,当业务应用20a为即时通讯应用时,业务对象可以在业务应用20a中向好友发送互动消息;当业务应用20a为购物应用时,业务对象可以在业务应用20a中完成物品交易等。
本申请实施例在进行账号登录时,通过密钥管理设备中存储的对象私钥来为业务对象进行身份验证,业务应用无需存储业务对象的密码信息,因此,业务应用在受到攻击时,不会造成业务对象的密码信息的泄露,有助于提高数据安全性。
下面对本申请实施例所涉及的数据处理方法进行详细描述。具体地,请参见图3,图3是本申请实施例提供的一种数据处理方法的时序示意图。可以理解地,该数据处理方法可以由密钥管理设备和业务应用a交互执行,该密钥管理设备可以为图1所示的网络架构中的密钥管理设备10a或者密钥管理设备10b,该业务应用a可以安装在终端设备中,该终端设备可以为图1所示的网络架构中的终端设备10c或者终端设备10c。如图3所示,该数据处理方法可以包括以下步骤S101-步骤S106:
步骤S101:响应针对业务应用a的登录操作,检测业务应用a与密钥管理设备之间的连接状态。
在本申请实施例中,一个密钥管理设备可以与多个业务应用具有绑定关系,可以通过一个密钥管理设备完成多个业务应用的登录。可以看出,本申请实施例可以通过一个密钥管理设备为业务对象在多个业务应用中进行登录验证,因此可以提高业务应用的登录便捷性。
为便于理解,本申请实施例以业务应用a为例进行描述。其中,业务应用a是密钥管理设备所绑定的多个业务应用中的任意一个业务应用,业务应用a具体可以是即时通讯应用、购物应用、视频应用等等,本申请实施例对业务应用a的类型不做限定。业务对象可以触发业务应用a的登录操作,响应针对业务应用a的登录操作,检测业务应用a与密钥管理设备之间的连接状态,从而确定是否存在与业务应用a建立通信连接的密钥管理设备。
可以理解的是,在本申请实施例中,密钥管理设备需要在业务应用a中完成账号注册,才能建立密钥管理设备和业务应用a之间的绑定关系。因此,在通过密钥管理设备登录业务应用a之前,密钥管理设备需要在业务应用a中完成账号注册。
在一种可能的实施方式中,业务对象在业务应用a中进行账号注册的过程可以包括:响应针对业务应用a的注册操作,显示业务应用a中的账号注册页面;响应针对账号注册页面的输入操作,根据账号注册页面所输入的应用注册信息生成注册确认请求;其中,应用注册信息可以包括密钥管理设备中的对象公钥;响应针对注册确认请求的确认操作,将应用注册信息中所包含的对象公钥确定为业务对象公钥,根据业务对象公钥在业务应用a中为业务对象进行账号注册;若业务对象对应的注册状态指示注册成功,则显示注册成功提示消息,存储业务对象公钥和密钥管理设备对应的设备标识信息。
具体地,请参见图4,图4是本申请实施例提供的一种账号注册的界面示意图一。如图4所示,终端设备10c中可以安装有业务应用a,业务对象可以对业务应用a执行触发操作,终端设备10c可以响应针对业务应用a的触发操作,显示业务应用a的登录页面。业务对象可以对登录页面中的“立即注册”控件30a执行触发操作,以触发针对业务应用a的注册操作。业务应用a可以响应针对“立即注册”控件30a的触发操作,显示业务应用a的账号注册页面。
如图4所示,账号注册页面可以包括设备标识信息输入区域31a、业务对象公钥输入区域31b、注册设备类型选择区域31c以及“确认注册”31d。在申请实施例中,密钥管理设备在出厂时,可以预先生成一组或者多组密钥信息,并将密钥信息中的对象公钥展示给业务对象,例如,可以将密钥信息中的对象公钥展示于密钥管理设备的设备使用说明书中,以便业务对象可以从该设备使用说明书中获取相应的对象公钥。此时,业务对象可以将密钥管理设备中的任一个对象公钥与业务应用a进行绑定。
具体地,业务对象可以在设备标识信息输入区域31a输入密钥管理设备对应的设备标识信息,例如“123456XX”;在业务对象公钥输入区域31b输入密钥管理设备中的任一个对象公钥,例如“abbbccde11257833”;此外,业务对象还可以在注册设备类型选择区域31c中设置该密钥管理设备的注册设备类型,例如,业务对象可以对注册设备类型选择区域31c中的“主注册设备类型”选择控件执行触发操作,将设备标识信息为“123456XX”的密钥管理设备的注册设备类型设置为主注册设备类型。
在本申请实施例中,注册设备类型可以包括主注册设备类型和备用注册设备类型。注册设备类型为主注册设备类型的密钥管理设备通常是指业务对象最常用的密钥管理设备,注册设备类型为备用注册设备类型的密钥管理设备通常是用作备用验证的密钥管理设备,通常在注册设备类型为主注册设备类型的密钥管理设备不可用时(例如,丢失、损坏或者失效等),才启用备用注册设备类型的密钥管理设备进行身份验证。可以理解的是,设置备用注册设备类型的密钥管理设备,可以在登录业务应用a时为业务对象提供备用的身份验证途径,进而可以提高账号的可用性。可以理解的是,除了为业务对象在业务应用a中绑定备用注册设备类型的密钥管理设备之外,还可以通过软件层面为业务对象在业务应用a中设置备用的身份验证途径,例如,可以通过安装备用密钥管理驱动程序为业务对象进行登录验证。
业务应用a可以将设备标识信息输入区域31a和业务对象公钥输入区域31b所输入的内容,以及注册设备类型选择区域31c所确定的注册设备类型,添加至业务对象在业务应用a中的应用注册信息;换句话说,应用注册信息可以包括密钥管理设备对应的设备标识信息、密钥管理设备中的对象公钥、密钥管理设备对应的注册设备类型等信息。业务应用a可以响应针对账号注册页面的输入操作,根据账号注册页面所输入的应用注册信息生成注册确认请求,该注册确认请求可以用于提示业务对象是否使用业务对象公钥输入区域31b的对象公钥进行账号注册。
进一步地,业务对象可以对“确认注册”31d执行触发操作,以对注册确认请求执行确认操作,业务应用a响应针对“确认注册”31d的触发操作,将应用注册信息中所包含的对象公钥(例如,“abbbccde11257833”)确定为业务对象公钥,根据业务对象公钥在业务应用a中为业务对象进行账号注册。业务应用a可以对应用注册信息中包含的设备标识信息进行验证,例如,将该设备标识信息与业务应用a对应的设备白名单内包含的标识信息进行比对,该设备白名单内存储有受信任的密钥管理设备对应的设备标识信息。
若该设备标识信息不属于业务应用a对应的设备白名单,则表示该密钥管理设备是不受信任的,因此无法使用业务对象公钥在业务应用a中进行账号注册,此时可以确定业务对象对应的注册状态指示注册失败。如图4所示,可以在业务应用a中显示注册失败提示信息33a,以提示业务对象在业务应用a中注册失败。进一步地,业务对象还可以对“重新注册”控件33b执行触发操作,业务应用a可以响应针对“重新注册”控件33b的触发操作,返回业务应用a的账号注册页面,以便业务对象重新在账号注册页面中重新输入应用注册信息,进而使得业务应用a根据信息的应用注册信息重新为业务对象进行账号注册。
若该设备标识信息属于业务应用a对应的设备白名单,则表示该密钥管理设备是受信任的,可以使用业务对象公钥在业务应用a中进行账号注册,此时可以确定业务对象对应的注册状态指示注册成功,进而可以存储业务对象公钥和密钥管理设备对应的设备标识信息,例如,可以业务对象公钥“abbbccde11257833”和设备标识信息“123456XX”存储至业务应用a的本地数据库或者业务区块链中,当业务对象公钥和设备标识信息存储完成时,即表示密钥管理设备与业务应用a之间完成了绑定。如图4所示,若业务对象对应的注册状态指示注册成功,可以在业务应用a中显示注册成功提示信息32a,以提示业务对象在业务应用a中成功完成了账号注册。进一步地,业务对象还可以对“返回登录”控件32b执行触发操作,业务应用a可以响应针对“返回登录”控件32b的触发操作,为业务对象触发业务应用a的登录操作。
在一种可能的实施方式中,业务对象在业务应用a中进行账号注册的过程可以包括:响应针对业务应用a的注册操作,显示设备连接提示消息;设备连接提示消息用于指示建立密钥管理设备和业务应用a之间的通信连接;若密钥管理设备和业务应用a之间的连接状态指示连接成功,则显示公钥选择页面;其中,公钥选择页面包括在密钥管理设备中的一个或者多个对象公钥;响应针对公钥选择页面中的公钥选取操作,根据公钥选取操作所触发的对象公钥确定为业务对象公钥,根据业务对象公钥在业务应用a中为业务对象进行账号注册;若业务对象对应的注册状态指示注册成功,则显示注册成功提示消息,存储业务对象公钥和密钥管理设备对应的设备标识信息。
具体地,请参见图5,图5是本申请实施例提供的一种账号注册的界面示意图二。如图5所示,业务对象可以对业务应用a的登录页面中的“立即注册”控件40a执行触发操作,以触发针对业务应用a的注册操作。业务应用a可以响应针对“立即注册”控件40a的触发操作,显示业务应用a的账号注册页面。业务应用a的账号注册页面可以包括设备连接提示消息41a、“取消注册”控件41b等。
其中,设备连接提示消息41a可以用于提示业务对象建立密钥管理设备和业务应用a之间的通信连接,业务对象可以根据设备连接提示消息41a将终端设备10c和密钥管理设备10a建立通信连接,从而建立密钥管理设备10a和业务应用a之间的通信连接。终端设备10c和密钥管理设备之间的连接方式可以是有线连接(例如,USB连接、光纤连接等),也可以是无线连接(例如,无线局域网连接、蓝牙连接和红外连接等),本申请对终端设备10c和密钥管理设备之间的连接方式不做限定。若业务对象不想注册业务应用a,则可以对“取消注册”控件41b执行触发操作,业务应用a可以响应针对“取消注册”控件41b的触发操作,为业务对象取消本次账号注册。
如图5所示,当检测业务应用a与密钥管理设备10a之间建立通信连接时,可以显示连接成功提示信息41c。其中,连接成功提示信息41c用于提示业务对象,此时密钥管理设备10a与业务应用a成功建立了通信连接。进一步地,业务应用a可以获取密钥管理设备10a中所存储的对象公钥,在业务应用a中显示公钥选择页面42a,其中,公钥选择页面42a可以包括在密钥管理设备10a中的一个或者多个对象公钥,例如,对象公钥1、对象公钥2、对象公钥3和对象公钥4。如图5所示,业务对象可以在公钥选择页面42a中选择一个对象公钥进行账号注册,业务应用a可以响应针对公钥选择页面42a中的公钥选取操作,根据公钥选取操作所触发的对象公钥(例如,对象公钥1)确定为业务对象公钥。
进一步地,业务对象可以对“确认注册”控件42b执行触发操作,业务应用a响应针对“确认注册”控件42b的触发操作,根据业务对象公钥(例如,对象公钥1)在业务应用a中为业务对象进行账号注册。如图5所示,若业务对象对应的注册状态指示注册成功,可以在业务应用a中显示注册成功提示信息43a,以提示业务对象在业务应用a中成功完成了账号注册。业务应用a还可以将业务对象公钥和密钥管理设备10a对应的设备标识信息存储至业务应用a对应的后台服务器44a中,当业务对象公钥和设备标识信息存储完成时,即表示密钥管理设备10a与业务应用a之间完成了绑定。此外,业务对象还可以对“返回登录”控件43b执行触发操作,业务应用a可以响应针对“返回登录”控件43b的触发操作,为业务对象触发业务应用a的登录操作。
可选地,业务对象也可以使用密钥管理设备10a完成业务应用b的账户注册。在密钥管理设备10a与业务应用b成功建立通信连接之后,业务对象可以在业务应用b中的公钥选择页面中选择一个对象公钥进行账号注册,业务应用b可以响应针对公钥选择页面中的公钥选取操作,根据公钥选取操作所触发的对象公钥为业务对象在业务应用b中进行账号注册,例如,可以根据对象公钥1为业务对象在业务应用b中进行账号注册,或者也可以根据对象公钥2业务对象在业务应用b中进行账号注册。也就是说,在本申请实施例中,当使用同一个密钥管理设备在两个不同的业务应用进行账号注册时,可以使用密钥管理设备中的相同的对象公钥对这两个业务应用进行账号注册,也可以使用密钥管理设备中的不同的对象公钥对这两个业务应用进行账号注册。
步骤S102:若业务应用a与密钥管理设备之间的连接状态指示连接成功,则向密钥管理设备发送登录验证请求。
当业务应用a与密钥管理设备之间的连接状态指示连接成功时,业务应用a可以生成登录验证请求,并向密钥管理设备发送该登录验证请求。其中,登录验证请求可以用于指示密钥管理设备为业务对象在业务应用a中进行身份验证。登录验证请求可以包括业务应用a对应的应用标识信息、登录随机信息、登录请求内容、业务对象公钥、请求有效期(指示登录验证请求的有效期限)等信息。其中,登录随机信息可以是由业务应用a生成的随机数据,其目的是辅助完成业务对象在业务应用a中的身份验证,从而可以进一步提高业务对象的账户安全性。
步骤S103:根据业务对象在业务应用a中所使用的业务对象私钥,生成登录验证请求对应的登录验证信息。
步骤S104:发送登录验证信息。
密钥管理设备在接收到业务应用a发送的登录验证请求之后,可以根据登录验证请求获取业务对象在业务应用a中所使用的业务对象私钥,进而根据该业务对象私钥生成登录验证请求对应的登录验证信息。可以理解的是,如果登录验证请求中携带业务对象公钥,可以将业务对象公钥作为查询标识,从而在密钥管理设备中获取业务应用a对应的业务对象私钥。可选地,密钥管理设备和业务应用a之间建立有绑定关系,因此,可以在密钥管理设备中预先存储业务应用a与其对应的业务对象私钥之间的对应关系。在这种情况下,即使登录验证请求中不携带业务对象公钥,也可以将登录验证请求中携带的业务应用a对应的应用标识信息作为查询标识,从而在密钥管理设备中获取业务应用a对应的业务对象私钥。
在本申请实施例中,密钥管理设备可以将业务对象公钥、签名有效期、登录随机响应信息、设备标识信息、登录请求内容、时间戳等一个或者多个消息作为登录验证信息对应的消息内容。其中,登录随机响应信息是针对登录随机信息的应答信息,例如,登录随机响应信息可以是密钥管理设备可以对该登录随机信息进行哈希运算得到的运算结果。在得到登录验证信息对应的消息内容之后,密钥管理设备可以通过业务对象私钥,对登录验证信息对应的消息内容进行签名,生成登录验证请求对应的登录验证信息,并将其发送至业务应用a。也就是说,登录验证信息中携带的数字签名是根据业务对象在业务应用a中使用的业务对象私钥生成的。
步骤S105:接收密钥管理设备返回的登录验证信息,通过业务对象在业务应用a中所使用的业务对象公钥对登录验证信息进行有效性验证,得到登录验证结果。
当登录验证信息中携带有业务对象在业务应用a中所使用的业务对象公钥时,业务应用a可以从登录验证信息中获取该业务对象公钥。当登录验证信息中不携带的业务对象公钥时,业务应用a可以从登录验证信息中获取密钥管理设备对应的设备标识信息,并将该设备标识信息作为查询标识,从本地数据库或者业务区块链中获取该设备标识信息所对应的业务对象公钥。
进一步地,可以获取登录验证信息中携带的数字签名,通过业务对象公钥对登录验证信息携带的数字签名进行解密,得到登录验证信息对应的第一摘要信息;根据哈希算法(与生成登录验证信息所携带的数字签名时所采用的哈希算法一致)对登录验证信息进行哈希运算,得到登录验证信息对应的第二摘要信息。其中,哈希算法具体可以包括但不限于SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512等算法。进而可以将第一摘要信息与第二摘要信息进行比对,根据比对结果得到登录验证结果。具体地,若第一摘要信息与第二摘要信息相同,则表明登录验证信息中携带的数字签名是有效的,也就是说,生成该数字签名的业务对象私钥和上述使用的业务对象公钥是匹配的,这种情况下,可以确定登录验证信息对应的登录验证结果为验证通过。
若第一摘要信息与第二摘要信息不相同,则表示登录验证信息中携带的数字签名失效,登录验证信息在传输的过程中可能已被篡改,这种情况下,可以确定登录验证信息对应的登录验证结果为验证不通过。当登录验证信息对应的登录验证结果指示验证不通过时,业务应用a可以重新向密钥管理设备发送登录验证请求,请求重新获取登录验证信息。或者可以生成重新连接提示信息,以指示业务对象重新建立密钥管理设备与业务应用a之间的通信连接。
步骤S106:若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。
当登录验证结果指示验证通过时,为业务对象开放业务应用a中的业务处理权限,以便业务对象可以使用业务应用a所提供的服务。业务处理权限可以是发送或者接收消息,例如,业务应用20a可以是即时通讯应用,当业务对象登录业务应用a时,可以在业务应用20a中向好友发送互动消息;业务应用20a可以是购物应用,当业务对象登录业务应用a时,可以在业务应用中完成物品交易等。
当业务对象退出业务应用a时,可以断开密钥管理设备与业务应用a之间的通信连接,并将密钥管理设备放置于安全区域进行保管,当业务对象再次需要登录业务应用a时,再重新建立密钥管理设备与业务应用a之间的通信连接,进而通过密钥管理设备在业务应用a中进行身份验证。由于本申请实施例在进行账号登录时,是通过密钥管理设备中存储的对象私钥来为业务对象进行身份验证的,当密钥管理设备与业务应用a在断开通信连接时,即使安装业务应用的终端设备在受到攻击,也不会造成业务对象的密码信息的泄露,有助于提高数据安全性。此外,业务对象也无需记忆密码信息,有助于提高业务对象的体验度。
在本申请实施例中,一个密钥管理设备可以与多个业务应用具有绑定关系,可以将密钥管理设备作为业务对象在多个业务应用中的登录凭证。当业务对象在多个业务应用中的业务应用a进行账号登录时,可以响应针对业务应用a的登录操作,向与业务应用a建立通信连接的密钥管理设备发送登录验证请求,以使该密钥管理设备根据业务对象在业务应用a中所使用的业务对象私钥,生成登录验证请求对应的登录验证信息;进而可以通过业务对象在业务应用a中所使用的业务对象公钥对该登录验证信息进行有效性验证,得到登录验证结果;若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。由此可见,本申请实施例在进行账号登录时,通过密钥管理设备中存储的对象私钥来为业务对象进行身份验证,业务应用无需存储业务对象的密码信息,因此,业务应用在受到攻击时,不会造成业务对象的密码信息的泄露,有助于提高数据安全性。
请参见图6,图6是本申请实施例提供的一种数据处理方法的流程示意图。可以理解地,该数据处理方法可以由业务应用a执行,业务应用a属于密钥管理设备所绑定的多个业务应用,业务应用a可以安装终端设备中,该终端设备可以为图1所示的网络架构中的终端设备10c等。如图6所示,该数据处理方法可以包括以下步骤S201至步骤S214:
S201:响应针对业务应用a的注册操作,向与业务应用a建立通信连接的密钥管理设备发送应用注册请求,以使密钥管理设备根据应用注册请求确定用于注册业务应用a的密钥信息。
请参见图7,图7是本申请实施例提供的一种账号登录的界面示意图三。如图7所示,业务对象可以对业务应用a的登录页面中的“立即注册”控件50a执行触发操作,以触发针对业务应用a的注册操作。业务应用a可以响应针对“立即注册”控件50a的触发操作,显示业务应用a的账号注册页面。业务应用a的账号注册页面可以包括设备连接提示消息51a,用于提示业务对象建立密钥管理设备和业务应用a之间的通信连接。
业务对象可以根据设备连接提示消息51a将终端设备10c和密钥管理设备10a建立通信连接,从而建立密钥管理设备10a和业务应用a之间的通信连接。如图7所示,当检测业务应用a与密钥管理设备10a之间建立通信连接时,可以显示连接成功提示信息51b。此时,业务应用a可以向密钥管理设备10a发送应用注册请求,以使密钥管理设备10a根据应用注册请求确定用于注册业务应用a的密钥信息。
可以理解的是,用于注册业务应用a的密钥信息可以包括业务对象的业务对象公钥和业务对象私钥。其中,用于注册业务应用a的密钥信息可以是密钥管理设备10a在预先生成的一组或者多组密钥信息中随机选择的一组密钥信息,也可以是密钥管理设备10a在接收到业务应用a对应的应用注册请求之后,为业务应用a生成的。
在申请实施例中,可以通过密钥生成算法,得到生成的一组或者多组密钥信息。具体的密钥信息的生成过程可以包括:密钥管理设备10a可以获取第一密钥随机数和第二密钥随机数,以及获取第一密钥随机数和第二密钥随机数之间的欧拉函数值;获取第三密钥随机数,根据第三密钥随机数、以及第一密钥随机数和第二密钥随机数之间的乘积,生成业务对象公钥;根据第三密钥随机数、欧拉函数值、以及第一密钥随机数和第二密钥随机数之间的乘积,生成业务对象私钥;并将上述业务对象公钥和业务对象私钥组合为一组密钥信息。
其中,第一密钥随机数和第二密钥随机数可以是两个不相等的整数,例如,可以将任意两个互质的正整数确定为第一密钥随机数和第二密钥随机数。欧拉函数值可以根据第一密钥随机数和第二密钥随机数生成。具体地,欧拉函数值可以表示为φ(n)=(p-1)×(q-1),其中,φ(n)表示欧拉函数值,p表示第一密钥随机数,q表示第二密钥随机数。进而可以从与欧拉函数值互为质数,且小于欧拉函数值的整数中,随机选择一个数值作为第三密钥随机数。换言之,第三密钥随机数e满足1<e<φ(n),且第三密钥随机数e与欧拉函数值φ(n)互为质数。
进一步地,可以计算第一密钥随机数p和第二密钥随机数q之间的乘积n,并根据第三密钥随机数e,以及乘积n生成业务对象公钥,业务对象公钥可以表示为(n,e);进而可以根据第三密钥随机数e,欧拉函数值φ(n)计算候选值d,使得(d×e)modφ(n)=1,其中,mod表示取模运算,并根据候选值d以及乘积n生成业务对象私钥,业务对象私钥可以表示为(n,d),并将上述业务对象公钥和业务对象私钥组合为一组密钥信息。
在得到用于注册业务应用a的密钥信息之后,密钥管理设备10a可以密钥信息中的业务对象公钥发送至业务对象a,将密钥信息中的业务对象私钥存储至密钥管理设备中的数据存储空间。由于密钥管理设备可以通过业务对象a对应的业务对象私钥和生成该业务对象私钥的密钥生成算法计算得到用于注册业务应用a的业务对象公钥,因此该业务对象公钥可以存储在密钥管理设备中,也可以不存储在密钥管理设备中。
步骤S202:接收密钥管理设备返回的密钥信息中的业务对象公钥,根据业务对象公钥,在业务应用a中为业务对象进行账号注册。
如图7所示,业务应用a可以接收密钥管理设备10a返回的密钥信息中的业务对象公钥,在业务应用a的账号注册页面中的对象公钥显示区域51c中显示用于注册业务应用a的业务对象公钥“abbbccde11257833”。业务对象可以对账号注册页面中的“确认注册”控件51e执行触发操作,业务应用a响应针对“确认注册”控件51e的触发操作,根据业务对象公钥“abbbccde11257833”在业务应用a中为业务对象进行账号注册。可选地,业务对象可以对账号注册页面中的“重新获取对象公钥”控件51d执行触发操作,业务应用a响应针对“重新获取对象公钥”的触发操作,重新向密钥管理设备10a请求获取业务对象公钥,以完成账号注册。
步骤S203:若业务对象对应的注册状态指示注册成功,则存储业务对象公钥和密钥管理设备对应的设备标识信息。
如图7所示,若业务对象对应的注册状态指示注册成功,可以在业务应用a中显示注册成功提示信息52a,以提示业务对象在业务应用a中成功完成了账号注册,此时,业务应用a可以将业务对象公钥“abbbccde11257833”和密钥管理设备10a对应的设备标识信息存储至业务应用a对应的数据存储空间中。此外,业务对象还可以对“返回登录”控件52b执行触发操作,业务应用a可以响应针对“返回登录”控件52b的触发操作,为业务对象触发业务应用a的登录操作。
在一种可能的实施方式中,业务对象在业务应用a中进行账号注册的过程可以包括:响应针对业务应用a的注册操作,确定与业务应用a建立通信连接的K个密钥管理设备;其中,K个密钥管理设备均为业务对象关联的硬件设备,K表示与业务应用a进行通信连接的密钥管理设备的数量;K为大于1的整数;K的具体取值可以2,3,4……。业务应用a可以向K个密钥管理设备发送应用注册请求,以使各个密钥管理设备根据应用注册请求生成与业务应用a相关联的初始密钥信息;其中,一个密钥管理设备对应的初始密钥信息包括一个初始公钥信息和一个业务对象私钥。
进一步地,业务应用a可以接收各个密钥管理设备返回的初始公钥信息,根据各个密钥管理设备对应的初始公钥信息生成业务对象在业务应用a中所使用的业务对象公钥;其中,业务对象公钥用于验证各个密钥管理设备根据各自的业务对象私钥所生成的数字签名;进而可以根据业务对象公钥,在业务应用a中为业务对象进行账号注册;若业务对象对应的注册状态指示注册成功,则存储业务对象公钥和K个密钥管理设备对应的设备标识信息,将业务对象公钥传输至各个密钥管理设备。
具体地,请参见图8,图8是本申请实施例提供的一种账号注册的界面示意图四。如图8所示,如图8所示,业务对象可以对业务应用a的登录页面中的“立即注册”控件60a执行触发操作,以触发针对业务应用a的注册操作。业务应用a可以响应针对“立即注册”控件60a的触发操作,显示业务应用a的账号注册页面。业务应用a的账号注册页面可以包括设备连接提示消息61a,用于提示业务对象建立密钥管理设备和业务应用a之间的通信连接。
业务对象可以根据设备连接提示消息61a将终端设备10c和密钥管理设备建立通信连接,从而建立密钥管理设备和业务应用a之间的通信连接。在本申请实施例中,业务对象可以将K个密钥管理设备与业务应用a建立通信连接,为便于理解,本申请实施例以K个密钥管理设备包括密钥管理设备10a和密钥管理设备10b为例进行描述。
如图8所示,当检测业务应用a与密钥管理设备10a和密钥管理设备10b均建立通信连接时,可以显示连接成功提示信息61b。此时,业务应用a可以向密钥管理设备10a和密钥管理设备10b分别发送应用注册请求。密钥管理设备10a在接收到业务应用a对应的应用注册请求之后,可以根据该应用注册请求生成与业务应用a相关联的初始密钥信息12a。其中,初始密钥信息12a可以包括初始公钥信息13a和密钥管理设备10a对应的业务对象私钥,初始公钥信息13a可以对外公开,而初始密钥信息12a中的业务对象私钥不对外公开。初始公钥信息13a可以用于生成业务对象在业务应用a中所使用的业务对象公钥14a,初始公钥信息13a可以是密钥管理设备10a通过密钥生成算法生成的初始信息,或者是初始信息经过加密或者混淆后的密钥数据。类似地,密钥管理设备10b可以生成初始密钥信息12b,初始密钥信息12b可以包括初始公钥信息13b和密钥管理设备10b对应的业务对象私钥。
在本申请实施例中,密钥管理设备10a和密钥管理设备10b可以将各自的初始公钥信息发送至公钥生成节点,由公钥生成节点根据接收到的多个初始公钥信息,生成业务对象在业务应用a中所使用的业务对象公钥14a。其中,业务对象公钥14a可以用于验证密钥管理设备10a和密钥管理设备10b根据各自的业务对象私钥所生成的数字签名。该公钥生成节点可以是任意一个可信节点,为便于理解,本申请实施例以该公钥生成节点安装有业务应用a的终端设备10c为例进行描述。
如图8所示,密钥管理设备10a可以将初始公钥信息13a发送至终端设备10c,类似地,密钥管理设备10b可以将初始公钥信息13b发送至终端设备10c;此时,业务应用a可以根据初始公钥信息13a和初始公钥信息13b生成业务对象在业务应用a中所使用的业务对象公钥14a,并在业务应用a的账号注册页面中的对象公钥显示区域61c中显示业务对象公钥14a“abbbccde11257833”,其中,业务对象公钥14a的生成方式可以参考下文的描述。进一步地,业务对象可以对账号注册页面中的“确认注册”控件61e执行触发操作,业务应用a响应针对“确认注册”控件61e的触发操作,根据业务对象公钥14a在业务应用a中为业务对象进行账号注册。
如图8所示,若业务对象对应的注册状态指示注册成功,可以在业务应用a中显示注册成功提示信息62a,以提示业务对象在业务应用a中成功完成了账号注册,此时,业务应用a可以将业务对象公钥14a、密钥管理设备10a和密钥管理设备10b对应的设备标识信息存储至业务应用a对应的数据存储空间中。此外,还可以将业务对象公钥14a分别返回至密钥管理设备10a和密钥管理设备10b中进行存储。如图8所示,业务对象还可以对“返回登录”控件62b执行触发操作,业务应用a可以响应针对“返回登录”控件62b的触发操作,为业务对象触发业务应用a的登录操作。
可选地,还可以通过区块链中部署的密钥生成合约来生成业务对象公钥14a。密钥管理设备10a可以将初始公钥信息13a发送至区块链节点,类似地,密钥管理设备10b也可以将初始公钥信息13b发送至区块链节点。区块链节点在接收到初始公钥信息13a和初始公钥信息13b之后,可以将初始公钥信息13a和初始公钥信息13b传入密钥生成合约,由密钥生成合约根据初始公钥信息13a和初始公钥信息13b,生成业务对象公钥14a。业务对象公钥14a的生成方式可以是将初始公钥信息13a和初始公钥信息13b进行拼接,得到拼接公钥信息,再对拼接公钥信息进行哈希运算,得到业务对象公钥14a。或者,还可以使用多方计算技术(例如Shamir's Secret Sharing算法),生成初始公钥信息13a和初始公钥信息13b对应的业务对象公钥14a。在生成业务对象公钥14a之后,可以将业务对象公钥14a返回至密钥管理设备10a和密钥管理设备10b存储,进而可以通过业务对象公钥14a在业务应用a中为业务对象进行账号注册。
在本申请实施例中,由于K个密钥管理设备在业务应用a中所对应的业务对象公钥相同,在为业务对象登录业务应用a时,可以采用K个密钥管理设备中的任意一个密钥管理设备为业务对象进行登录验证,因此可以为业务对象提供备用的身份验证途径,进而可以提高账号的可用性。
步骤S204:响应针对所述业务应用a的登录操作,检测所述业务应用a与所述密钥管理设备之间的连接状态。
其中,步骤S204的具体实现过程可以参考图3所示的步骤S101描述,在此不再进行赘述。
步骤S205:若业务应用a与密钥管理设备之间的连接状态指示连接成功,则获取密钥管理设备对应的设备标识信息。
步骤S206:若业务应用a中不存在设备标识信息,则向密钥管理设备返回登录失败提示消息。
当业务应用a与密钥管理设备之间的连接状态指示连接成功时,业务应用a可以获取密钥管理设备对应的设备标识信息,并从业务应用a的数据存储空间查找该设备标识信息。若业务应用a中不存在设备标识信息,则表示该设备标识信息对应的密钥管理设备未在业务应用a中完成注册,或者该密钥管理设备在业务应用a中不受信任。这种情况下,可以向该密钥管理设备返回登录失败提示消息,并在业务应用a中显示该登录失败提示消息,以提示业务对象使用其他密钥管理设备登录业务应用a。
步骤S207:若业务应用a中存在设备标识信息,则向密钥管理设备发送登录验证请求。
若业务应用a中存在设备标识信息,则表示该设备标识信息对应的密钥管理设备在业务应用a中完成了注册,此时可以向该密钥管理设备发送登录验证请求。
可选地,还可以获取密钥管理设备在业务应用a中的注册设备类型,注册设备类型可以包括主注册设备类型和备用注册设备类型,主注册设备类型和备用注册设备类型的定义可以参考前文的描述。一般而言,在注册设备类型为主注册设备类型的密钥管理设备不可用时(例如,丢失、损坏或者失效等),才启用备用注册设备类型的密钥管理设备进行身份验证。因此,若该密钥管理设备的注册设备类型为主注册设备类型,则可以向该密钥管理设备发送登录验证请求。若该密钥管理设备的注册设备类型为备用注册设备类型,则可以在业务应用a中,将属于主注册设备类型的密钥管理设备进行权限冻结处理,避免其他对象采用该密钥管理设备登录业务应用a,从而造成业务对象的数据泄露。进而可以向属于备用注册设备类型的密钥管理设备发送登录验证请求,以便通过备用注册设备类型的密钥管理设备进行身份验证。
可选地,当业务应用a与密钥管理设备之间的连接状态指示连接成功时,业务应用a还可以根据密钥管理设备对应的设备标识信息,获取该密钥管理设备对应的设备有效期。若当前系统时间不属于该设备有效期,则表示该密钥管理设备的安全性无法得到保障,此时可以在业务应用a中显示登录失败提示消息,以提示业务对象使用其他密钥管理设备登录业务应用a。若当前系统时间属于该设备有效期,则表示该密钥管理设备处于可用状态,此时可以向密钥管理设备发送登录验证请求。
步骤S208:接收密钥管理设备返回的登录验证信息,通过业务对象在业务应用a中所使用的业务对象公钥对登录验证信息进行有效性验证,得到登录验证结果。
在本申请实施例中,业务应用a在接收到登录验证信息之后,可以获取登录验证信息携带的对象公钥和数字签名,以及获取数字签名对应的生成时间戳和数字签名对应的签名有效期限,进而可以根据登录验证信息携带的对象公钥和数字签名对应的签名有效期限,对登录验证信息进行初步验证。
具体地,若数字签名对应的生成时间戳不属于签名有效期限,或者登录验证信息携带的对象公钥与业务对象在业务应用a中所使用的业务对象公钥不一致,则表示初步验证结果指示验证不通过,此时可以向密钥管理设备发送登录失败提示消息,以使密钥管理设备重新发送登录验证信息。若生成时间戳属于签名有效期限,且登录验证信息携带的对象公钥与业务对象公钥一致,则表示初步验证结果指示验证通过,此时可以通过业务对象公钥对登录验证信息进行进一步地有效性验证,得到登录验证结果,具体的验证过程可以参见上述图3中的步骤S105的描述,在此不再进行赘述。
步骤S209:若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。
其中,步骤S209的具体实现过程可以参考图3所示的步骤S106描述,在此不再进行赘述。
步骤S210:显示对象交互页面。
请参见图9,图9是本申请实施例提供的一种互动信息上链的示意图。为便于理解,本申请实施例以业务应用a是即时通讯应用为例进行描述。如图9所示,业务应用a在登录完成之后,可以在终端设备10c中显示对象交互页面70a。对象交互页面70a包括在业务应用a中与业务对象具有交互关系的一个或多个互动对象,例如,业务对象在业务应用a中的互动对象可以包括:互动对象i、互动对象j、互动对象x和互动对象y。在业务应用a中,若两个对象具有以下任意一种或者多种关系,则可以将这两个对象视为具有交互关系的对象:①两个对象为好友关系;②两个对象位于同一个群组;③两个对象互相关注。
步骤S211:响应针对对象交互页面中的互动对象i的触发操作,显示业务对象与互动对象i之间的信息交互页面。
步骤S212:响应针对信息交互页面的输入操作,将信息交互页面所输入的信息确定为业务对象与互动对象i之间的互动信息。
如图9所示,业务对象可以针对对象交互页面70a中的任意一个或者多个互动对象(例如,互动对象i)的触发操作,业务应用a可以响应针对互动对象i的触发操作,显示业务对象与互动对象i之间的信息交互页面70b,业务对象可以通过信息交互页面70b向互动对象i发送互动消息。业务对象可以在信息交互页面70b中的消息发送区域输入想要发送给互动对象i的消息,业务应用a可以响应针对信息交互页面70b的输入操作,将信息交互页面70b所输入的互动信息70c确定为业务对象与互动对象i之间的互动信息。
可以理解的是,在本申请实施例中,业务对象可以在信息交互页面70b的输入操作可以包括文本输入操作、语音输入操作、手势输入操作等等。互动信息70c的消息内容可以包括文本、图像、视频、语音等中一种或者多种,本申请实施例对互动信息70c的消息内容的类型不进行限定。
步骤S213:获取互动对象i在业务应用a中所使用的互动对象公钥,通过互动对象公钥对互动信息进行加密,得到加密后的互动信息。
步骤S214:将加密后的互动信息和互动对象公钥封装至待上链交易,将待上链交易发送至区块链节点,以使区块链节点将待上链交易存储至业务应用a对应的业务区块链。
其中,互动对象公钥可以理解为互动对象i在业务应用a中所使用的业务对象公钥,业务应用a可以保存有互动对象i的互动对象公钥。如图9所示,业务应用a可以通过互动对象公钥71a对互动信息70c进行加密,得到加密后的互动信息70d,将加密后的互动信息70d和互动对象公钥71a封装至待上链交易71b,进而可以将待上链交易71b上传至区块链节点11a。
为防止待上链交易71b在传输过程中被篡改,待上链交易71b可以携带有数字签名。待上链交易71b携带的数字签名可以是根据业务对象在业务应用a使用的业务对象私钥生成的,在这种情况下,待上链交易71b携带的数字签名需要在密钥管理设备中生成。具体地,业务应用a可以将加密后的互动信息70d和互动对象公钥71a发送至密钥管理设备,密钥管理设备可以对加密后的互动信息70d和互动对象公钥71a进行哈希运算,生成消息摘要,并通过业务对象在业务应用a使用的业务对象私钥对消息摘要进行加密,生成待上链交易71b携带的数字签名,并将该数字签名发送至业务对象a。待上链交易71b携带的数字签名也可以是根据业务应用a的业务私钥生成的,在这种情况下,待上链交易71b携带的数字签名在业务应用a中生成,此时,业务应用a可以根据业务应用a的业务私钥对加密后的互动信息70d和互动对象公钥71a进行签名,得到待上链交易71b携带的数字签名。
区块链节点11a接收到待上链交易71b之后,可以在虚拟机中执行智能合约11c中的合约代码,合约代码可以自动判断当前所处的场景是否满足合约触发条件,并严格执行合约响应规则,根据合约代码执行结果确定待上链交易71b携带的数字签名是否有效。当待上链交易71b验签通过时,表明待上链交易71b在传输过程中没有被篡改。此时可以区块链节点11a可以将待上链交易71b封装为交易区块11b;交易区块11b可以包含交易池中的其他交易数据,即除了打包待上链交易71b之外,还可以打包其余区块链节点对应的交易数据。
区块链节点11a可以在业务区块链网络中对该交易区块11b进行广播,以使业务区块链网络中的共识节点均可以接收到该交易区块11b,业务区块链网络中的共识节点可以对接收到的交易区块11b进行共识处理。例如,可以对交易区块11b中所包含的每笔交易数据均进行验证、对生成交易区块11b的区块链节点进行验证等;共识节点得到针对交易区块11b的验证结果后,可以在业务区块链网络中对验证结果进行广播,因此在正常网络通信下,区块链节点均可以获取业务区块链网络中每个共识节点针对交易区块11b的验证结果。
进一步地,区块链节点11a可以对每个共识节点分别对应的验证结果进行统计,获取交易区块11b在业务区块链网络中的共识投票数量,即业务区块链网络中针对交易区块11b的验证结果为验证通过的节点数量;若共识投票数量大于或等于数量阈值(此处的数量阈值可以根据业务区块链网络中所使用的共识算法来确定,例如,数量阈值可以设置为区块链网络中所包含的共识节点数量的2/3),则可以确定交易区块11b在业务区块链网络中达成共识。其中,共识算法可以包括但不限于:工作量证明(Proof of Work,PoW)算法、权益证明(Proof of Stake,PoS)算法、DPoS算法、实用拜占庭容错(Practical ByzantineFault tolerance,PBFt)算法等共识算法,本申请实施例对此不做限定。
交易区块11b在共识通过之后,可以根据区块链节点11a所存储的区块链中的最大区块高度,对交易区块11b的区块高度进行更新,将更新后的交易区块11b存储在区块链节点11a的本地数据库中,此时更新后的交易区块11b为区块链节点11a本地数据库中的区块N+i,N+i用于表征更新后的交易区块11b在本地区块链中的区块顺序,N和i均为大于或等于0的整数。此时,在业务应用a对应的业务区块链完成了互动信息的上链过程。
下面对业务应用a的信息查询场景进行详细描述。在本申请实施例中,可以通过业务对象公钥在业务应用a对应的业务区块链中获取业务对象对应的业务信息。具体地,当区块链网络中接收到业务对象在业务应用a中的业务信息时,区块链节点可以向业务应用a发送信息查看通知。业务应用a在接收到信息查看通知之后,可以生成该信息查看通知对应的信息查询请求,并将信息查询请求发送至区块链节点。该信息查询请求中可以包括但不限于:业务对象在业务应用a中使用的业务对象公钥、请求有效期等信息、业务应用a对应的应用标识信息等。
区块链节点在接收到信息查询请求之后,可以根据信息查询请求携带的业务对象公钥,在业务应用a对应的业务区块链中获取业务对象对应的业务信息,并将该业务信息返回至业务应用a。可以理解的是,该业务信息是使用业务对象的业务对象公钥进行加密后的信息,由于业务对象的业务对象私钥存储在密钥管理设备中,因此,业务应用a在接收到区块链节点返回的业务信息之后,可以将业务信息发送至密钥管理设备进行解密。密钥管理设备在接收到业务信息之后,可以根据业务对象在业务应用a中使用的业务对象私钥对业务信息进行解密,得到解密后的业务信息,并将解密后的业务信息发送至业务应用a,进而可以在业务应用a中显示解密后的业务信息,以便业务对象查看该解密后的业务信息。可选地,若该业务信息携带数字签名,则可以通过该业务信息的发送对象对应的对象公钥对业务信息携带的数字签名进行验签,验签通过之后,再将业务信息发送至密钥管理设备进行解密。
在本申请实施例中,一个密钥管理设备可以与多个业务应用具有绑定关系,可以将密钥管理设备作为业务对象在多个业务应用中的登录凭证。当业务对象在多个业务应用中的业务应用a进行账号登录时,可以响应针对业务应用a的登录操作,向与业务应用a建立通信连接的密钥管理设备发送登录验证请求,以使该密钥管理设备根据业务对象在业务应用a中所使用的业务对象私钥,生成登录验证请求对应的登录验证信息;进而可以通过业务对象在业务应用a中所使用的业务对象公钥对该登录验证信息进行有效性验证,得到登录验证结果;若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。由此可见,本申请实施例在进行账号登录时,通过密钥管理设备中存储的对象私钥来为业务对象进行身份验证,业务应用无需存储业务对象的密码信息,因此,业务应用在受到攻击时,不会造成业务对象的密码信息的泄露,有助于提高数据安全性。
可以理解的是,在本申请的具体实施方式中,可能涉及到用户的相关信息(例如,用户的注册信息、登录信息等),当本申请以上实施例运用到具体产品或技术中时,需要获得用户的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参见图10,图10是本申请实施例提供的一种数据处理装置的结构示意图。可以理解的是,该数据处理装置1可以应用在业务应用a中,业务应用a属于密钥管理设备所绑定的多个业务应用,密钥管理设备是业务对象在多个业务应用中的登录凭证,业务应用a可以在终端设备中。如图10所示,该数据处理装置1可以包括连接状态检测模块11、验证请求发送模块12、登录信息验证模块13以及业务权限开放模块14,其中:
连接状态检测模块11,用于响应针对所述业务应用a的登录操作,检测所述业务应用a与所述密钥管理设备之间的连接状态;
验证请求发送模块12,用于若所述业务应用a与所述密钥管理设备之间的连接状态指示连接成功,则向所述密钥管理设备发送登录验证请求,以使所述密钥管理设备根据所述业务对象在所述业务应用a中所使用的业务对象私钥,生成所述登录验证请求对应的登录验证信息;
登录信息验证模块13,用于接收所述密钥管理设备返回的所述登录验证信息,通过所述业务对象在所述业务应用a中所使用的业务对象公钥对所述登录验证信息进行有效性验证,得到登录验证结果;所述业务对象公钥和所述业务对象私钥是由所述密钥管理设备所生成的;
业务权限开放模块14,用于若所述登录验证结果指示验证通过,则为所述业务对象开放所述业务应用a中的业务处理权限。
其中,连接状态检测模块11、验证请求发送模块12、登录信息验证模块13以及业务权限开放模块14的具体功能实现方式可以参见图3所对应实施例中的步骤S101至步骤S106,此处不再进行赘述。
在一种可能的实施方式中,数据处理装置1还可以包括:第一注册请求发送模块15、第一账号注册模块16和第一数据存储模块17,其中:
第一注册请求发送模块15,用于响应针对业务应用a的注册操作,向与业务应用a建立通信连接的密钥管理设备发送应用注册请求,以使密钥管理设备根据应用注册请求确定用于注册业务应用a的密钥信息;
第一账号注册模块16,用于接收密钥管理设备返回的密钥信息中的业务对象公钥,根据业务对象公钥,在业务应用a中为业务对象进行账号注册;
第一数据存储模块17,用于若业务对象对应的注册状态指示注册成功,则存储业务对象公钥和密钥管理设备对应的设备标识信息。
其中,第一注册请求发送模块15、第一账号注册模块16和第一数据存储模块17的具体功能实现方式可以参见图6所对应实施例中的步骤S201至步骤S203,此处不再进行赘述。
在一种可能的实施方式中,数据处理装置1还可以包括:设备数量获取模块18、第二注册请求发送模块19、对象公钥生成模块20、第二账号注册模块21和第二数据存储模块22,其中:
设备数量获取模块18,用于响应针对业务应用a的注册操作,确定与业务应用a建立通信连接的K个密钥管理设备;K个密钥管理设备均为业务对象关联的硬件设备,K为大于1的整数;
第二注册请求发送模块19,用于向K个密钥管理设备发送应用注册请求,以使各个密钥管理设备根据应用注册请求生成与业务应用a相关联的初始密钥信息;一个密钥管理设备对应的初始密钥信息包括一个初始公钥信息和一个业务对象私钥;
对象公钥生成模块20,用于接收各个密钥管理设备返回的初始公钥信息,根据各个密钥管理设备对应的初始公钥信息生成业务对象在业务应用a中所使用的业务对象公钥;业务对象公钥用于验证各个密钥管理设备根据各自的业务对象私钥所生成的数字签名;
第二账号注册模块21,用于根据业务对象公钥,在业务应用a中为业务对象进行账号注册;
第二数据存储模块22,用于若业务对象对应的注册状态指示注册成功,则存储业务对象公钥和K个密钥管理设备对应的设备标识信息,将业务对象公钥传输至各个密钥管理设备。
其中,设备数量获取模块18、第二注册请求发送模块19、对象公钥生成模块20、第二账号注册模块21和第二数据存储模块22的具体功能实现方式可以参见图6所对应实施例中的步骤S203,此处不再进行赘述。
在一种可能的实施方式中,数据处理装置1还可以包括:设备连接提示显示模块23、公钥选择页面显示模块24、第三账号注册模块25以及第三数据存储模块26,其中:
设备连接提示显示模块23,用于响应针对业务应用a的注册操作,显示设备连接提示消息;设备连接提示消息用于指示建立密钥管理设备和业务应用a之间的通信连接;
公钥选择页面显示模块24,用于若密钥管理设备和业务应用a之间的连接状态指示连接成功,则显示公钥选择页面;公钥选择页面包括在密钥管理设备中的一个或者多个对象公钥;
第三账号注册模块25,用于响应针对公钥选择页面中的公钥选取操作,根据公钥选取操作所触发的对象公钥确定为业务对象公钥,根据业务对象公钥在业务应用a中为业务对象进行账号注册;
第三数据存储模块26,用于若业务对象对应的注册状态指示注册成功,则显示注册成功提示消息,存储业务对象公钥和密钥管理设备对应的设备标识信息。
其中,设备连接提示显示模块23、公钥选择页面显示模块24、第三账号注册模块25以及第三数据存储模块26的具体功能实现方式可以参见图3所对应实施例中的步骤S101,此处不再进行赘述。
在一种可能的实施方式中,数据处理装置1还可以包括:账号注册页面显示模块27、注册确认请求生成模块28、第四账号注册模块29以及第四数据存储模块30,其中:
账号注册页面显示模块27,用于响应针对业务应用a的注册操作,显示业务应用a中的账号注册页面;
注册确认请求生成模块28,用于响应针对账号注册页面的输入操作,根据账号注册页面所输入的应用注册信息生成注册确认请求;应用注册信息包括密钥管理设备中的对象公钥;
第四账号注册模块29,用于响应针对注册确认请求的确认操作,将应用注册信息中所包含的对象公钥确定为业务对象公钥,根据业务对象公钥在业务应用a中为业务对象进行账号注册;
第四数据存储模块30,用于若业务对象对应的注册状态指示注册成功,则显示注册成功提示消息,存储业务对象公钥和密钥管理设备对应的设备标识信息。
其中,账号注册页面显示模块27、注册确认请求生成模块28、第四账号注册模块29以及第四数据存储模块30的具体功能实现方式可以参见图3所对应实施例中的步骤S101,此处不再进行赘述。
在一种可能的实施方式中,验证请求发送模块12若业务应用a与所述密钥管理设备之间的连接状态指示连接成功,则向所述密钥管理设备发送登录验证请求,包括:
若业务应用a与密钥管理设备之间的连接状态指示连接成功,则获取密钥管理设备对应的设备标识信息;
若业务应用a中不存在设备标识信息,则向密钥管理设备返回登录失败提示消息;
若业务应用a中存在设备标识信息,则向密钥管理设备发送登录验证请求。
在一种可能的实施方式中,验证请求发送模块12若业务应用a中存在设备标识信息,则向密钥管理设备发送登录验证请求,包括:
若业务应用a中存在设备标识信息,则获取密钥管理设备在业务应用a中的注册设备类型;
若注册设备类型为主注册设备类型,则向密钥管理设备发送登录验证请求;
若注册设备类型为备用注册设备类型,则在业务应用a中,将属于主注册设备类型的密钥管理设备进行权限冻结处理,向属于备用注册设备类型的密钥管理设备发送登录验证请求。
在一种可能的实施方式中,登录信息验证模块13通过业务对象在业务应用a中所使用的业务对象公钥对登录验证信息进行有效性验证,包括:
获取登录验证信息携带的对象公钥和数字签名,以及获取数字签名对应的生成时间戳和数字签名对应的签名有效期限;
若生成时间戳属于签名有效期限,且登录验证信息携带的对象公钥与业务对象在业务应用a中所使用的业务对象公钥一致,则通过业务对象公钥对登录验证信息进行有效性验证,得到登录验证结果。
在一种可能的实施方式中,登录信息验证模块13通过业务对象在业务应用a中所使用的业务对象公钥对登录验证信息进行有效性验证,包括:
通过业务对象公钥对登录验证信息携带的数字签名进行解密,得到登录验证信息对应的第一摘要信息;
根据哈希算法对登录验证信息进行哈希运算,得到登录验证信息对应的第二摘要信息;
若第一摘要信息与第二摘要信息相同,则确定登录验证信息对应的登录验证结果指示验证通过;
若第一摘要信息与第二摘要信息不相同,则确定登录验证信息对应的登录验证结果指示验证不通过。
在一种可能的实施方式中,数据处理装置1还可以包括:信息交互页面显示模块31、互动信息输入模块32、互动信息加密模块33以及数据上链模块34,其中:
信息交互页面显示模块31,用于显示对象交互页面;对象交互页面包括在业务应用a中与业务对象具有交互关系的一个或多个互动对象;响应针对对象交互页面中的互动对象i的触发操作,显示业务对象与互动对象i之间的信息交互页面;
互动信息输入模块32,用于响应针对信息交互页面的输入操作,将信息交互页面所输入的信息确定为业务对象与互动对象i之间的互动信息;
互动信息加密模块33,用于获取互动对象i在业务应用a中所使用的互动对象公钥,通过互动对象公钥对互动信息进行加密,得到加密后的互动信息;
数据上链模块34,用于将加密后的互动信息和互动对象公钥封装至待上链交易,将待上链交易发送至区块链节点,以使区块链节点将待上链交易存储至业务应用a对应的业务区块链。
其中,信息交互页面显示模块31、互动信息输入模块32、互动信息加密模块33以及数据上链模块34的具体功能实现方式可以参见图6所对应实施例中的步骤S210至步骤S214,此处不再进行赘述。
在一种可能的实施方式中,数据处理装置1还可以包括:查询请求生成模块35、业务信息查询模块36、业务信息解密模块37以及业务信息显示模块38,其中:
查询请求生成模块35,用于若接收到信息查看通知,则生成信息查看通知对应的信息查询请求;
业务信息查询模块36,用于将信息查询请求发送至区块链节点,以使区块链节点根据信息查询请求携带的业务对象公钥,在业务应用a对应的业务区块链中获取业务对象对应的业务信息;
业务信息解密模块37,用于接收区块链节点返回的业务信息,将业务信息发送至密钥管理设备,以使密钥管理设备根据业务对象私钥对业务信息进行解密,得到解密后的业务信息;
业务信息显示模块38,用于接收解密后的业务信息,在业务应用a中显示解密后的业务信息。
其中,查询请求生成模块35、业务信息查询模块36、业务信息解密模块37以及业务信息显示模块38的具体功能实现方式可以参见图6所对应实施例中的步骤S214,此处不再进行赘述。
在本申请实施例中,一个密钥管理设备可以与多个业务应用具有绑定关系,可以将密钥管理设备作为业务对象在多个业务应用中的登录凭证。当业务对象在多个业务应用中的业务应用a进行账号登录时,可以响应针对业务应用a的登录操作,向与业务应用a建立通信连接的密钥管理设备发送登录验证请求,以使该密钥管理设备根据业务对象在业务应用a中所使用的业务对象私钥,生成登录验证请求对应的登录验证信息;进而可以通过业务对象在业务应用a中所使用的业务对象公钥对该登录验证信息进行有效性验证,得到登录验证结果;若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。由此可见,本申请实施例在进行账号登录时,通过密钥管理设备中存储的对象私钥来为业务对象进行身份验证,业务应用无需存储业务对象的密码信息,因此,业务应用在受到攻击时,不会造成业务对象的密码信息的泄露,有助于提高数据安全性。
请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,该计算机设备1000可以为终端设备,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为终端设备为例,终端设备可以安装有一个或者多个业务应用,例如,业务应用a。业务应用a属于密钥管理设备所绑定的多个业务应用,密钥管理设备是业务对象在多个业务应用中的登录凭证。该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选地,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
响应针对业务应用a的登录操作,检测业务应用a与密钥管理设备之间的连接状态;
若业务应用a与密钥管理设备之间的连接状态指示连接成功,则向密钥管理设备发送登录验证请求,以使密钥管理设备根据业务对象在业务应用a中所使用的业务对象私钥,生成登录验证请求对应的登录验证信息;
接收密钥管理设备返回的登录验证信息,通过业务对象在业务应用a中所使用的业务对象公钥对登录验证信息进行有效性验证,得到登录验证结果;业务对象公钥和业务对象私钥是由密钥管理设备所生成的;
若登录验证结果指示验证通过,则为业务对象开放业务应用a中的业务处理权限。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图6所对应实施例中对数据处理方法的描述,也可执行前文图10所对应实施例中对数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3和图6任一个所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。其中,存储介质可以为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3和图6任一个所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,所述方法由业务应用a执行,所述业务应用a属于密钥管理设备所绑定的多个业务应用,所述密钥管理设备是业务对象在所述多个业务应用中的登录凭证;所述方法包括:
响应针对所述业务应用a的登录操作,检测所述业务应用a与所述密钥管理设备之间的连接状态;
若所述业务应用a与所述密钥管理设备之间的连接状态指示连接成功,则向所述密钥管理设备发送登录验证请求,以使所述密钥管理设备根据所述业务对象在所述业务应用a中所使用的业务对象私钥,生成所述登录验证请求对应的登录验证信息;
接收所述密钥管理设备返回的所述登录验证信息,通过所述业务对象在所述业务应用a中所使用的业务对象公钥对所述登录验证信息进行有效性验证,得到登录验证结果;所述业务对象公钥和所述业务对象私钥是由所述密钥管理设备所生成的;
若所述登录验证结果指示验证通过,则为所述业务对象开放所述业务应用a中的业务处理权限。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应针对所述业务应用a的注册操作,向与所述业务应用a建立通信连接的密钥管理设备发送应用注册请求,以使所述密钥管理设备根据所述应用注册请求确定用于注册所述业务应用a的密钥信息;
接收所述密钥管理设备返回的所述密钥信息中的业务对象公钥,根据所述业务对象公钥,在所述业务应用a中为所述业务对象进行账号注册;
若所述业务对象对应的注册状态指示注册成功,则存储所述业务对象公钥和所述密钥管理设备对应的设备标识信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应针对所述业务应用a的注册操作,确定与所述业务应用a建立通信连接的K个密钥管理设备;所述K个密钥管理设备均为所述业务对象关联的硬件设备,K为大于1的整数;
向所述K个密钥管理设备发送应用注册请求,以使各个密钥管理设备根据所述应用注册请求生成与所述业务应用a相关联的初始密钥信息;一个密钥管理设备对应的初始密钥信息包括一个初始公钥信息和一个业务对象私钥;
接收各个密钥管理设备返回的初始公钥信息,根据各个密钥管理设备对应的初始公钥信息生成所述业务对象在所述业务应用a中所使用的业务对象公钥;所述业务对象公钥用于验证所述各个密钥管理设备根据各自的业务对象私钥所生成的数字签名;
根据所述业务对象公钥,在所述业务应用a中为所述业务对象进行账号注册;
若所述业务对象对应的注册状态指示注册成功,则存储所述业务对象公钥和所述K个密钥管理设备对应的设备标识信息,将所述业务对象公钥传输至所述各个密钥管理设备。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应针对所述业务应用a的注册操作,显示设备连接提示消息;所述设备连接提示消息用于指示建立密钥管理设备和所述业务应用a之间的通信连接;
若所述密钥管理设备和所述业务应用a之间的连接状态指示连接成功,则显示公钥选择页面;所述公钥选择页面包括在所述密钥管理设备中的一个或者多个对象公钥;
响应针对所述公钥选择页面中的公钥选取操作,根据所述公钥选取操作所触发的对象公钥确定为所述业务对象公钥,根据所述业务对象公钥在所述业务应用a中为所述业务对象进行账号注册;
若所述业务对象对应的注册状态指示注册成功,则显示注册成功提示消息,存储所述业务对象公钥和所述密钥管理设备对应的设备标识信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应针对所述业务应用a的注册操作,显示所述业务应用a中的账号注册页面;
响应针对所述账号注册页面的输入操作,根据所述账号注册页面所输入的应用注册信息生成注册确认请求;所述应用注册信息包括所述密钥管理设备中的对象公钥;
响应针对所述注册确认请求的确认操作,将所述应用注册信息中所包含的对象公钥确定为所述业务对象公钥,根据所述业务对象公钥在所述业务应用a中为所述业务对象进行账号注册;
若所述业务对象对应的注册状态指示注册成功,则显示注册成功提示消息,存储所述业务对象公钥和所述密钥管理设备对应的设备标识信息。
6.根据权利要求1所述的方法,其特征在于,所述若所述业务应用a与所述密钥管理设备之间的连接状态指示连接成功,则向所述密钥管理设备发送登录验证请求,包括:
若所述业务应用a与所述密钥管理设备之间的连接状态指示连接成功,则获取所述密钥管理设备对应的设备标识信息;
若所述业务应用a中不存在所述设备标识信息,则向所述密钥管理设备返回登录失败提示消息;
若所述业务应用a中存在所述设备标识信息,则向所述密钥管理设备发送登录验证请求。
7.根据权利要求6所述的方法,其特征在于,若所述业务应用a中存在所述设备标识信息,则向所述密钥管理设备发送登录验证请求,包括:
若所述业务应用a中存在所述设备标识信息,则获取所述密钥管理设备在所述业务应用a中的注册设备类型;
若所述注册设备类型为主注册设备类型,则向所述密钥管理设备发送登录验证请求;
若所述注册设备类型为备用注册设备类型,则在所述业务应用a中,将属于主注册设备类型的密钥管理设备进行权限冻结处理,向属于备用注册设备类型的密钥管理设备发送登录验证请求。
8.根据权利要求1所述的方法,其特征在于,所述通过所述业务对象在所述业务应用a中所使用的业务对象公钥对所述登录验证信息进行有效性验证,包括:
获取所述登录验证信息携带的对象公钥和数字签名,以及获取所述数字签名对应的生成时间戳和所述数字签名对应的签名有效期限;
若所述生成时间戳属于所述签名有效期限,且所述登录验证信息携带的对象公钥与所述业务对象在所述业务应用a中所使用的业务对象公钥一致,则通过所述业务对象公钥对所述登录验证信息进行有效性验证,得到登录验证结果。
9.根据权利要求8所述的方法,其特征在于,所述通过所述业务对象公钥对所述登录验证信息进行有效性验证,得到登录验证结果,包括:
通过所述业务对象公钥对所述登录验证信息携带的数字签名进行解密,得到所述登录验证信息对应的第一摘要信息;
根据哈希算法对所述登录验证信息进行哈希运算,得到所述登录验证信息对应的第二摘要信息;
若所述第一摘要信息与所述第二摘要信息相同,则确定所述登录验证信息对应的登录验证结果指示验证通过;
若所述第一摘要信息与所述第二摘要信息不相同,则确定所述登录验证信息对应的登录验证结果指示验证不通过。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
显示对象交互页面;所述对象交互页面包括在所述业务应用a中与所述业务对象具有交互关系的一个或多个互动对象;
响应针对所述对象交互页面中的互动对象i的触发操作,显示所述业务对象与所述互动对象i之间的信息交互页面;
响应针对所述信息交互页面的输入操作,将所述信息交互页面所输入的信息确定为所述业务对象与所述互动对象i之间的互动信息;
获取所述互动对象i在所述业务应用a中所使用的互动对象公钥,通过所述互动对象公钥对所述互动信息进行加密,得到加密后的互动信息;
将所述加密后的互动信息和所述互动对象公钥封装至待上链交易,将所述待上链交易发送至区块链节点,以使所述区块链节点将所述待上链交易存储至所述业务应用a对应的业务区块链。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到信息查看通知,则生成所述信息查看通知对应的信息查询请求;
将所述信息查询请求发送至区块链节点,以使所述区块链节点根据所述信息查询请求携带的所述业务对象公钥,在所述业务应用a对应的业务区块链中获取所述业务对象对应的业务信息;
接收所述区块链节点返回的所述业务信息,将所述业务信息发送至所述密钥管理设备,以使所述密钥管理设备根据所述业务对象私钥对所述业务信息进行解密,得到解密后的业务信息;
接收所述解密后的业务信息,在所述业务应用a中显示所述解密后的业务信息。
12.一种数据处理装置,其特征在于,所述装置应用在业务应用a中,所述业务应用a属于密钥管理设备所绑定的多个业务应用,所述密钥管理设备是业务对象在所述多个业务应用中的登录凭证;所述装置包括:
连接状态检测模块,用于响应针对所述业务应用a的登录操作,检测所述业务应用a与所述密钥管理设备之间的连接状态;
验证请求发送模块,用于若所述业务应用a与所述密钥管理设备之间的连接状态指示连接成功,则向所述密钥管理设备发送登录验证请求,以使所述密钥管理设备根据所述业务对象在所述业务应用a中所使用的业务对象私钥,生成所述登录验证请求对应的登录验证信息;
登录信息验证模块,用于接收所述密钥管理设备返回的所述登录验证信息,通过所述业务对象在所述业务应用a中所使用的业务对象公钥对所述登录验证信息进行有效性验证,得到登录验证结果;所述业务对象公钥和所述业务对象私钥是由所述密钥管理设备所生成的;
业务权限开放模块,用于若所述登录验证结果指示验证通过,则为所述业务对象开放所述业务应用a中的业务处理权限。
13.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至11任一项所述的方法。
15.一种计算程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311409380.XA CN117454359A (zh) | 2023-10-27 | 2023-10-27 | 数据处理方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311409380.XA CN117454359A (zh) | 2023-10-27 | 2023-10-27 | 数据处理方法、装置、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117454359A true CN117454359A (zh) | 2024-01-26 |
Family
ID=89586856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311409380.XA Pending CN117454359A (zh) | 2023-10-27 | 2023-10-27 | 数据处理方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117454359A (zh) |
-
2023
- 2023-10-27 CN CN202311409380.XA patent/CN117454359A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111429254B (zh) | 一种业务数据处理方法、设备以及可读存储介质 | |
US10824701B2 (en) | System and method for mapping decentralized identifiers to real-world entities | |
EP3619889B1 (en) | Retrieving public data for blockchain networks using highly available trusted execution environments | |
EP4120114A1 (en) | Data processing method and apparatus, smart device and storage medium | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
US11196573B2 (en) | Secure de-centralized domain name system | |
CN113691597B (zh) | 区块链合约部署方法、装置、设备以及存储介质 | |
CN111444273B (zh) | 一种基于区块链的数据授权方法以及装置 | |
CN103959302A (zh) | 用于安全分布式存储的系统与方法 | |
CN103636160A (zh) | 安全文件共享方法与系统 | |
US11831753B2 (en) | Secure distributed key management system | |
CN112989426B (zh) | 授权认证方法及装置、资源访问令牌的获取方法 | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享系统及方法 | |
CN103780580A (zh) | 提供能力访问策略的方法、服务器和系统 | |
CN114244508A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN115276978A (zh) | 一种数据处理方法以及相关装置 | |
CN116996331B (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
CN116561820B (zh) | 可信数据处理方法及相关装置 | |
KR102053993B1 (ko) | 인증서를 이용한 사용자 인증 방법 | |
CN113869901B (zh) | 密钥生成方法、装置、计算机可读存储介质及计算机设备 | |
CN117014176A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN116980155A (zh) | 区块链网络的数据处理方法、装置、产品、设备和介质 | |
CN104935606A (zh) | 一种云计算网络中的终端登录方法 | |
CN117454359A (zh) | 数据处理方法、装置、设备以及介质 | |
CN115037450B (zh) | 数据保护方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |