一种基于区块链的身份授权方法及系统
技术领域
本发明属于网络信息技术领域,尤其涉及一种基于区块链的身份授权方法及系统。
背景技术
目前,业内常用的现有技术是这样的:
身份信息作为人类社会属性基础性的承载性标识,直接或间接包含个人户籍、工作、财产、健康等大量的社会关系。然而,也正是由于身份信息的特殊属性,大部分社会业务都需要身份信息作为身份证明进行相关业务办理,比如金融、医疗、交通、互联网等领域的业务。在业务办理过程中,很容易就会造成个人身份信息的泄漏。个人身份信息的泄漏,都会带来一定程度的麻烦,并造成损失。《网络空间安全蓝皮书:中国网络空间安全发展报告(2016)》显示,从2015年下半年到2016年上半年,网络用户因个人信息泄露造成的经济损失高达915亿元。因此,身份信息的保护无论是对于个人还是对于社会稳定,都已经到了亟待解决的时候。一方面,身份信息的扫描件或复印件,可以再进行无限制复制,导致个人信息不安全;甚至为不法分子利用,在未经个人同意的情况下,利用其身份信息办理某些业务,损害身份信息拥有者的利益,甚至造成更严重的问题;另一方面,也存在某些不法个人,通过使用个人信息获得不法利益,却拒绝承认不法行为,为社会治理带来了障碍和麻烦。
这些问题的根源就是:身份信息使用没有形成记录。不能还原身份信息的使用是本人授权使用的,还是被别人恶意利用的。因此,建立一个安全可信的、可公开查询验证的身份授权记录,对于个人信息安全维护以及社会管理具有重要的应用价值。
现代化社会中,人们的衣食住行都离不开对个人身份信息的使用。比如去银行办理某种业务,需要验证身份信息,网上购物,需要填写收货地址和手机号码,等等。而这些私人信息都以公开的方式被其他人或机构所持有,并且有可能保存到他们的数据库中为了谋取利益将私人的身份信息用于某些操作,而这些操作并未经个人授权。这些过程都可能在个人不知情的情况下执行,因此可能会损害身份信息本人的利益,甚至会产生更加严重的问题。比如持有其身份信息为个人办理某些业务。甚至将私人信息售卖出去,获取利益。所有的这些行为都是非本人所授权的。而当产生纠纷时,问题将变得更加复杂,因为并没有足够的证据证明是由其他人非法持有私人信息进行的某项操作。最终损害的是身份信息拥有者的利益。而随着网络的发展,数据信息可以通过更多的途径进行传播,个人身份信息的流向就更加难以追踪,如果还没有足够的有效途径对私人信息进行保护,将会产生更大的不利影响。而这些问题归根结底,是由于私人的身份信息的使用并没有进行记录,身份信息拥有者不能对个人信息的使用情况进行查询。而当产生纠纷时,也会因为缺少足够的证据表明身份信息的使用情况,不能追踪到利用身份信息执行某些操作的操作者。所以需要有一种解决方法,可以对身份信息的使用进行记录,并且记录需要是不可变的,透明的,可供查询验证的。区块链技术拥有这些特点。
综上所述,现有技术存在的问题是:
现有技术中,身份信息使用没有形成记录。不能还原身份信息的使用是本人授权使用的,还是被别人恶意利用的;并且没有建立一个安全可信的、可公开查询验证的身份授权记录,造成个人信息安全性差。
现有技术中,身份信息并没有采取加密措施,并且在所有传播渠道中都是透明并且公开的,任何人都可以轻易复制并用于其他地方。
现有技术中,当因为身份信息的使用造成纠纷时,解决纠纷的措施繁琐而且复杂,容易因为缺乏证据造成个人的损失。
解决上述技术问题的难度和意义:
在互联网飞速发展的今天,身份信息尤其是电子身份信息比如以图片,电子文档多种形式保存的身份信息的传播尤为迅速,将所有身份信息的每一次传播进行记录是极为重要的,有助于保护个人隐私,维护个人权利。但是想要对每一次身份信息的传播尤其是未经本人授权的传播以现有的技术进行记录是具有极大的困难的,并且需要消耗大量的人力物力财力。
即使以现有技术为每一次身份信息的传播进行记录,也并不能保证所形成的记录不能被修改或者删除,甚至是未经授权地添加授权记录。所以不能从根本上解决问题。
本发明从根本上解决身份信息授权记录问题,有助于公众对于自己的身份信息安全地使用与授权,并不用担心因为个人身份信息泄露而遭受损失。即使因为个人身份信息的使用产生纠纷,也可以轻易解决问题,不再需要繁琐而且复杂的过程。
发明内容
针对现有技术存在的问题,本发明提供了一种基于区块链的身份授权方法及系统。
本发明是这样实现的,一种基于区块链的身份授权方法,所述基于区块链的身份授权方法包括:所有的身份信息均在区块链中采用区块链技术与共识机制进行授权操作;
同时身份信息在区块链中都以加密的形式传递,每一次身份授权在区块链中创建一个事务并形成一条记录,并且所有的形成的记录由区块链中的验证单元进行验证并打包进新的区块中继而链接到区块链网络中。
进一步,所述基于区块链的身份授权方法进一步包括个人账户密钥的生成;
用户通过身份授权系统终端生成密钥,通过终端内的身份信息识别模块对身份证进行识别,同时输入用户口令激活,当用户口令无误时,身份信息识别模块将识别出的身份编码信息与用户口令发送到终端内的密钥生成模块,密钥生成模块对信息进行处理,首先判断该信息是否已经生成密钥,如果没有则通过加密模块对输入的信息进行加密操作;
然后进行哈希操作,生成一个哈希值;
最后对哈希值进行封装生成密钥,所述密钥即为私钥;公钥通过生成的私钥生成,将私钥通过椭圆曲线加密算法进行计算,生成一个65字节的公钥,然后进行哈希操作生成一个20字节的哈希值,所述哈希值为用户的公钥;
在身份授权区块链中,所有验证单元都使用创建授权事务的节点的公钥对所创建的身份信息授权事务进行验证。
进一步,所述基于区块链的身份授权方法进一步包括身份信息授权;
当身份信息授权给某种业务的用户向被授权方发起一次业务授权,用户通过身份授权系统终端进行操作;用户使用终端对身份证进行识别,同时输入用户口令激活;如果信息匹配的话则终端将信息发送给密钥生成模块,密钥生成模块将对信息进行处理,对输入的信息进行判断是否已生成密钥,没有生成密钥则首先进行密钥生成操作,再将私钥与公钥发送至业务授权模块;如果已经生成密钥则直接将密钥发送至业务授权模块;当密钥发送至业务授权模块后,终端将提示用户输入授权内容;
在用户输入授权内容后,业务授权模块将对输入的信息进行哈希操作,生成哈希值;再使用接收到的私钥对哈希值进行签名加密,业务授权模块将签名加密后的哈希值与接收到的公钥信息、授权内容封装成一个授权事务;终端最后将授权事务交易至被授权方同时广播到区块链中;
在一个事务中包括将身份信息所授权的某种事务的内容,经过签名加密的授权业务的内容以及身份信息授权业务个人的公钥;将所述事务交易给被授权方同时广播到身份信息区块链中,通过区块链网络中的节点进行验证操作。
进一步,所述基于区块链的身份授权方法进一步包括身份授权区块链网络中验证单元对授权事务进行验证;具体有:
当个人对身份信息进行授权之后,将所述事务信息广播到身份授权区块链网络中,网络中的验证单元接收到事务后,使用事务中包含的公钥对事务中的经过签名加密的哈希值进行解密,获得一个哈希值,同时对事务中的请求授权业务的内容进行哈希操作,然后将解密获得的哈希值与请求授权业务内容哈希操作得到的哈希值进行匹配对比;如果哈希值成功匹配,则身份授权事务通过验证,验证单元将该事务打包进新的区块中并计算特定的数学难题,率先算出结果的验证单元将打包的区块广播到区块链中,当身份授权区块链中的大部分验证单元接收到广播的新的区块时,对区块中同一个身份授权事务进行哈希值验证,当验证通过时,证明该区块以及区块中的事务是有效的;身份授权区块链中的新区块存储到区块链中所有验证单元的本地存储库中;如果区块链中大多数验证单元对所述事务的哈希值匹配失败,则身份信息授权事务通过验证失败,事务被抛弃,并不存储到区块网络中。
本发明的另一目的在于提供一种实现所述基于区块链的身份授权方法的计算机程序。
本发明的另一目的在于提供一种实现所述基于区块链的身份授权方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如所述的基于区块链的身份授权方法。
本发明的另一目的在于提供一种实现所述基于区块链的身份授权方法的个人信息安全验证网络平台。
本发明的另一目的在于提供一种实现所述基于区块链的身份授权方法的基于区块链的身份授权控制系统。
综上所述,本发明的优点及积极效果为:
与现有技术相比,为每一次身份信息授权添加记录,有助于个人掌握身份信息的流向。
与现有技术相比,每次身份信息授权都只有本人具有权利执行,增添了个人信息的安全性。
与现有技术相比,身份授权记录存储在区块链中具有不可篡改性,不能被任何人修改删除,有助于防止恶意修改数据。
与现有技术相比,所有记录在区块链中存储可供所有人进行验证,当因为身份信息授权造成纠纷时,也会减轻处理纠纷的繁琐与复杂,为个人与仲裁机构提供方便。
本发明将区块链的特点与结构用于身份信息授权方面。本发明提出了一种基于区块链网络的身份授权技术。本发明对身份授权技术进行了详细的描述,提出的解决方案可供个人查询身份信息的使用情况,并且防止某些机构或个人在未经许可的情况下使用个人的身份信息,即使使用,也可以证明是未经许可的以及不被认可的,当发生纠纷时,解决方案也可以为仲裁机构提供有力的证据,有助于公平公正地解决纠纷。
本发明对身份授权区块链网络进行了分析,身份授权区块链网络具有去中心化的,不可更改的,透明的,安全的以及可验证的特点。
另外,在设计身份授权体系之前,本发明首先确定身份使用授权是有效的、保密的;因为身份信息对于个人来说是具有隐私性的,并且要在用户身份信息安全性的情况下保证个人对身份信息的授权是有效的,并且是经过本人所授权的。
当个人对某种业务进行授权以后,要保证授权记录是不可篡改的,如果授权记录允许修改或删除,某些不法分子有可能会对授权记录进行篡改以达到自己的目的,授权记录将会缺乏可靠性。并且需要允许相关人员进行验证,当发生纠纷时,本发明有利于提供证件解决纠纷。
本发明对身份授权相关内容进行了分析,并且对设计身份授权技术所使用的相关技术进行了具体说明,所设计的身份授权区块链网络的构成与具体实现。将身份信息授权记录存储到区块链中,保证了身份信息授权记录的不可变性。并且是透明的,可验证的和安全可靠的。本发明设计的通过身份信息区块链网络进行身份授权相比于传统的身份授权过程有着诸多好处。使得身份授权行为成为可验证的,可以有效地减轻用户因个人身份信息被非法使用而造成的损失。同时当产生纠纷时,身份信息区块链网络也可以提供足够的证据来处理问题,有利于公平公正地解决纠纷。所有的授权行为都会形成记录,对于用户来说,不用担心身份信息遭受非法使用,减少了心里负担。
本发明设计的通过身份信息区块链网络进行身份授权相比于传统的身份授权过程有着诸多好处。使得身份授权行为成为可验证的,可以有效地减轻用户因个人身份信息被非法使用而造成的损失。同时当产生纠纷时,身份信息区块链网络也可以提供足够的证据来处理问题,有利于公平公正地解决纠纷。所有的授权行为都会形成记录,并且所有记录都是公开且不可篡改的。对于用户来说,不用担心身份信息遭受非法使用,减少了心里负担。
附图说明
图1是本发明实施例提供的授权信息记录图。
图2是本发明实施例提供的基于区块链的身份授权系统总体架构图。
图3是本发明实施例提供的个人账户中的密钥的生成图。
图4是本发明实施例提供的身份授权流程图。
图5是本发明实施例提供的身份授权区块链网络中矿工对授权事务的验证流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有技术中,身份信息使用没有形成记录。不能还原身份信息的使用是本人授权使用的,还是被别人恶意利用的;并且没有建立一个安全可信的、可公开查询验证的身份授权记录,造成个人信息安全性差。
为解决上述技术问题,下面结合具体方案对本发明的应用作详细描述。
本发明实施例提供的基于区块链的身份授权方法包括:所有的身份信息均在区块链中采用区块链技术与共识机制进行授权操作。
同时身份信息在区块链中都以加密的形式传递,每一次身份授权在区块链中创建一个事务并形成一条记录,并且所有的形成的记录由区块链中的验证单元进行验证并打包进新的区块中继而链接到区块链网络中。
在本发明实施例中,所述基于区块链的身份授权方法进一步包括个人账户密钥的生成;用户通过身份授权系统终端生成密钥,通过终端内的身份信息识别模块对身份证进行识别,同时输入用户口令激活,当用户口令无误时,身份信息识别模块将识别出的身份编码信息与用户口令发送到终端内的密钥生成模块,密钥生成模块对信息进行处理,首先判断该信息是否已经生成密钥,如果没有则通过加密模块对输入的信息进行加密操作;然后进行哈希操作,生成一个哈希值;最后对哈希值进行封装生成密钥,所述密钥即为私钥;公钥通过生成的私钥生成,将私钥通过椭圆曲线加密算法进行计算,生成一个65字节的公钥,然后进行哈希操作生成一个20字节的哈希值,所述哈希值为用户的公钥。
在身份授权区块链中,所有验证单元都使用创建授权事务的节点的公钥对所创建的身份信息授权事务进行验证。
在本发明实施例中,所述基于区块链的身份授权方法进一步包括身份信息授权;当身份信息授权给某种业务的用户向被授权方发起一次业务授权,用户通过身份授权系统终端进行操作;用户使用终端对身份证进行识别,同时输入用户口令激活;如果信息匹配的话则终端将信息发送给密钥生成模块,密钥生成模块将对信息进行处理,对输入的信息进行判断是否已生成密钥,没有生成密钥则首先进行密钥生成操作,再将私钥与公钥发送至业务授权模块;如果已经生成密钥则直接将密钥发送至业务授权模块;当密钥发送至业务授权模块后,终端将提示用户输入授权内容。
在用户输入授权内容后,业务授权模块将对输入的信息进行哈希操作,生成哈希值;再使用接收到的私钥对哈希值进行签名加密,业务授权模块将签名加密后的哈希值与接收到的公钥信息、授权内容封装成一个授权事务;终端最后将授权事务交易至被授权方同时广播到区块链中。
在一个事务中包括将身份信息所授权的某种事务的内容,经过签名加密的授权业务的内容以及身份信息授权业务个人的公钥;将所述事务交易给被授权方同时广播到身份信息区块链中,通过区块链网络中的节点进行验证操作。
在本发明实施例中,所述基于区块链的身份授权方法进一步包括身份授权区块链网络中验证单元对授权事务进行验证;具体有:当个人对身份信息进行授权之后,将所述事务信息广播到身份授权区块链网络中,网络中的验证单元接收到事务后,使用事务中包含的公钥对事务中的经过签名加密的哈希值进行解密,获得一个哈希值,同时对事务中的请求授权业务的内容进行哈希操作,然后将解密获得的哈希值与请求授权业务内容哈希操作得到的哈希值进行匹配对比;如果哈希值成功匹配,则身份授权事务通过验证,验证单元将该事务打包进新的区块中并计算特定的数学难题,率先算出结果的验证单元将打包的区块广播到区块链中,当身份授权区块链中的大部分验证单元接收到广播的新的区块时,对区块中同一个身份授权事务进行哈希值验证,当验证通过时,证明该区块以及区块中的事务是有效的;身份授权区块链中的新区块存储到区块链中所有验证单元的本地存储库中;如果区块链中大多数验证单元对所述事务的哈希值匹配失败,则身份信息授权事务通过验证失败,事务被抛弃,并不存储到区块网络中。
下面结合区块链对本发明的应用原理作进一步描述。
1、区块链:
区块链具有以下主要几种特点:
完全去中心化:在区块链网络中并不含有中心化的存储节点,所有的节点都是对等的,代替了传统的中心化存储。
不可篡改:数据一旦写入区块链中,将会永久存储并且任何人都不可修改或删除。
数据透明:区块链中所有节点都持有一份对区块链中的数据的拷贝。
公共可验证的:区块链中所有节点都可以访问并验证链中存储的所有数据。
安全:区块链采用的POW共识机制保证了当节点的算力不超过全网的51%即无法成功攻击网络。
达成共识:经由链中所有节点所验证并且同意的区块链事务方可添加进区块链网络中。
这些区块链技术具有的优势,对本发明的解决方案提供了强有力的保障。
2、区块链技术:
区块链是一种去中心化的,不需要第三方进行验证的可分发式数据库。区块链是由一系列的区块串联起来的。除了创世区块外,每一个区块都包含有前一个区块的哈希值。从而创建了一个由创世区块开始一直到当前区块的链式结构。其中,创世区块是区块链中第一个出现的区块。并且,每一个区块有且只有唯一一条路径可以通向创世区块。每当一个新的区块出现时,都会存储之前最后一个区块的哈希值,并与之前最后的一个区块相连接。区块链也有可能出现分叉现象,当同一时间出现两个新的区块时,区块链将会分叉,不过分叉现象将在之后新的区块出现时得以解决。因为区块链总是会选择链接较长的分链,较短的分链将被区块链抛弃,从而维持了区块链的一致性。
区块链是由一系列区块相链接而成的一条链。而每一个区块中,都存储一系列事务。在区块链中,每一个区块内都存储交易记录。而事务是由区块链中不同的实体对事务进行广播,并由区块链中的矿工进行验证,有效的事务将会被包含进一个新的区块,从而链接到区块链中,同时,在区块链中所有区块内的事务都是公共可见的。而矿工通过对接收到的事务进行验证,并将有效的事务添加进新的区块中,这个过程称为挖矿。在比特币区块链中,当矿工成功挖出一个区块时,将会获得一定数量的比特币奖励。
3、共识机制
由于区块链中不存在有中心化的验证机构对每一笔交易进行验证操作,并且需要在不存在可信任的第三方的条件下保证该交易是有效的,所以需要有一种共识机制用来解决该问题。在区块链中存在一种proof-of-work(PoW)共识机制,即工作量证明机制。通过网络中各个节点的算力竞争来保证数据的一致性。在区块链网络中,矿工通过使用计算机算力对一个计算复杂但容易验证的数学难题进行计算,来获得区块链中新的区块的记账权。最快解出该难题的节点将结果广播到区块链中,当结果被区块链中大部分节点验证有效时,该节点获得新的区块的记账权并会得到一定的奖励。因此,在保证区块链中大部分节点都是诚实的情况下,恶意节点需要算力超过全网中算力的51%才可能对区块链攻击成功,所以PoW共识可以保证区块链系统的安全性与数据的不可篡改性。
本发明采用区块链技术与PoW共识机制实现身份授权区块链网络,所有的身份授权过程都在区块链中进行,每一次身份授权在区块链中都会创建一个事务并形成一条记录,由区块链中的矿工进行验证并添加进区块链网络中。
具体的操作流程将在下一部分详细解释。
3.1身份信息授权技术
本发明详细解释了所设计的身份信息授权体系结构以及具体的实现过程。
系统构成
在身份授权区块链网络中,本发明对以下这些内容重新进行了定义。并进行详细的描述。有身份授权区块链网络;身份信息授权事务记录;区块链中账户的构成。
其中:1)身份授权区块链网络:
对于所有的身份信息授权行为,都是在本发明设计的身份授权区块链网络中进行的。发明将对所设计的身份授权区块链网络以及网络中所存在的节点进行具体的说明。在区块链网络中,所有节点都是对等的存在,每一个节点都可以成为用户进行电子货币交易,又可做为普通节点对交易事务进行验证,或者作为矿工挖出新的区块,每一个节点都有进行这些活动的权利。而区块中所存储的信息为在区块链中所进行的所有的交易信息。除了创世区块外,每一个区块的区块头都存储有之前一个区块的哈希值,然后与之前的一个区块进行相连接,所有区块的链接构成了区块链的结构。在本发明设计的身份授权区块链网络中,所有用户通过区块链中的注册操作成为身份授权区块链中的节点。注册为身份授权区块链中节点的可以是个人,各类业务机构或者是个人信息管理部门。和区块链相同,所有节点无论是个人,或者各类业务机构还是个人信息管理部门,也都是对等的存在。每一个节点都可以是矿工,普通节点或用户,可以分别进行各种操作。同时,区块链中所存储的所有的身份信息授权记录,对于身份授权区块链网络中的所有节点都是可访问的。
2)身份信息授权事务记录
本发明提出的体系结构是基于区块链的完全去中心化的身份授权体系。在网络中,除了创世区块之外,每一个区块都通过哈希值连接它的前一个区块。并且区块内存储着经过区块链中的节点成功验证的所有的交易事务信息。而本发明设计的基于区块链网络的身份授权体系中,每一个区块内存放的是个人身份信息授权的使用记录信息,并将所有的有效的身份授权记录信息通过所产生的时间进行排序,并由身份授权区块链网络中的节点打包进新的区块中,然后链接到区块链中。在本发明的系统中,每一次身份信息授权都会创建一个事务。
如图1授权信息记录所示,在每一条记录中,都包含以下这三部分内容:
个人或某个部门即授权方的公钥。
个人授权所包括的内容:即应用于哪一方面。
签名加密后的哈希值。
每一次个人的授权行为都会创建一个事务并包含以上三部分内容的记录。每一个区块都包含若干个经由验证单位验证成功的根据授权时间先后所排列的授权信息记录。并将区块链接起来构成身份授权区块链。
3)账户构成
在区块链网络中,用户可以通过下载系统客户端。它实现了区块链系统的所有方面,具有钱包功能和对区块链网络中所有交易记录的完整拷贝,使用户成为点对点区块链网络中的一个完整网络节点。钱包中存储有数字密钥,并且数字签名是由有效的数字密钥产生的。数字密钥是成对出现的,由一个私钥与一个公钥所构成。私钥就像支票的签名,具有支配该账户内数字资产的权利,而公钥相当于银行账号。所以,拥有数字密钥即拥有了该账户内数字资产的控制权。而在本发明的身份授权区块链网络中,用户可以下载身份授权系统客户端。使用该客户端对个人身份信息进行相关加密操作并注册成为身份授权区块链网络中的一个网络节点,通过该客户端,用户可以持有网络中所有身份授权信息的一份拷贝,因此可以对每一项授权事务进行验证。
在本发明的客户端中,数字密钥也被设计成密钥对。拥有私钥代表着拥有对该账户中的个人身份信息进行授权的权利。公钥是由私钥产生,用于在身份信息授权事务中对该事务进行验证,对于账户中密钥的生成过程。如下:
具体实现:
在本发明的系统中,总体架构如图2所示。
身份验证授权技术相对于区块链技术只在密钥的生成、身份信息授权过程以及事务的验证过程做了一些改变。
包括:个人账户密钥的生成;身份信息授权过程;区块链中各节点对授权事务进行分布式验证。
4)生成密钥:该部分主要对个人账户中的密钥的生成进行说明,具体流程如图3所示。在区块链网络中,用户只需要下载客户端,并使用区块链软件生成一个随机数作为个人钱包私钥,即可成为区块链网络中的普通节点进行交易或验证等各项操作。而在本发明的身份授权区块链网络中,密钥是通过使用身份授权系统终端生成的,身份授权系统终端具有身份信息识别模块、密钥生成模块以及业务授权模块。业务授权模块将在对业务进行身份授权时使用,密钥的生成只使用身份信息识别模块和密钥生成模块。用户通过身份信息识别模块对本人的身份证进行读取,识别个人身份信息,同时输入用户口令与所识别出的身份信息进行匹配。如果匹配成功,身份信息识别模块将个人身份编码信息以及用户口令输出到密钥生成模块。识别失败将提示用户操作错误。当由身份信息识别模块输出的身份编码信息以及用户口令输入到密钥生成模块中后,密钥生成模块首先判断该身份信息是否已生成密钥,如果没有生成密钥则对输入的信息进行加密操作,然后对加密后的身份信息进行哈希操作,生成哈希值封装成密钥后输出,该输出即为生成的私钥信息。而私钥可以通过密钥生成模块中的椭圆曲线算法生成65字节的公钥,继而将65字节的公钥进行哈希操作生成20字节的公钥输出。如果已经生成密钥,则直接输出已生成的密钥。在身份授权区块链中,所有节点都可以使用创建授权事务的节点的公钥对所创建的身份信息授权事务进行验证。值得注意的是,由私钥进行一系列计算得到公钥的过程是不可逆的,即只能通过私钥获得公钥,而通过公钥不能反推出私钥,因此保护了个人身份信息的隐私性
5)身份信息授权:
在本发明设计的身份授权区块链系统中,主要进行的就是个人身份信息的授权行为。即授权方将个人的身份信息通过区块链授权给某个部门或者某项业务中使用。在这一部分,本发明将详细对整个授权流程进行解释。同时,具体的授权事务流程如图4所示。
在设计的身份授权系统中,由于身份信息需要是隐私的并且完全保密,所以本发明对授权方的身份信息进行了加密操作。整个授权过程描述如下:授权方通过身份授权系统终端发起一次授权操作,通过身份信息识别模块识别个人身份信息,使用个人的用户口令进行激活操作,当身份信息与用户口令匹配时,身份信息识别模块将识别的身份编码信息以及用户口令发送至密钥生成模块,密钥生成模块对当前传入的信息进行判断是否已经生成密钥。如果没有生成密钥则先进行密钥生成操作,之后将生成的私钥与公钥同时发送至业务授权模块,如果已经生成密钥则直接将密钥发送至业务授权模块。在业务授权模块接收到密钥后,终端将会提示用户输入授权内容,授权方需要将授权内容输入身份授权系统终端,业务授权模块将输入的授权内容进行哈希操作生成HASH值,然后使用密钥生成模块发送的私钥对HASH值进行签名加密,最后将签名加密的HASH值与输入的授权内容以及从密钥生成模块接受到的公钥封装成一个授权事务,最后将授权事务交易给被授权方同时将授权事务广播到区块链中通过区块联众的验证单元进行验证操作。具体身份授权流程如图4所示。而在身份信息授权事务过程中,对于个人的身份信息是通过椭圆信息加密算法进行加密过的,因为该算法是非对称的,并不能根据加密后的信息反推出授权方的个人身份信息,所以是完全保密的,除了授权业务的个人以及所需要授权业务的被授权方或者机构,其他节点都无法查看或者修改个人的身份信息,只能通过使用身份信息授权事务中包含的公钥对身份信息授权行为进行验证。
6)验证事务
本发明的身份授权区块链网络中矿工对授权事务的验证流程,如图5所示。当个人对身份信息进行授权之后,将该事务信息广播到身份授权区块链网络中,网络中的矿工接收到事务后,使用事务中包含的公钥对事务中的经过签名加密的哈希值进行解密,获得一个哈希值,同时对事务中的请求授权业务的内容进行哈希操作,然后将解密获得的哈希值与请求授权业务内容哈希操作得到的哈希值进行匹配对比。如果哈希值可以成功匹配,则说明该身份授权事务通过验证,如果区块链中的某个验证单位选择将该事务打包并添加到新的区块中,并可以率先解决特定的数学难题,验证单位将会把新区块对身份授权区块链中的所有节点进行广播,如果区块链中大部分验证单位对新的区块验证通过后,将会将新区块链接到本地存储库中,最后达成一致。此时,被写入到区块链中的新的事务信息将永久保存到区块链中,每一个节点持有区块链中所有的身份信息授权事务的一份拷贝。如果区块链中大多数节点对该事务的哈希值匹配失败,则说明该身份信息授权事务通过验证失败,该事务将会被抛弃,并不会存储到区块网络中。
该部分对密钥的生成,身份信息授权区块链中的事务创建交易给被授权方,以及区块链中的节点对创建的事务进行验证的操作流程进行细的描述。
下面结合效果对本发明的应用作进一步描述。
本发明对身份授权相关内容进行了分析,并且对设计身份授权技术所使用的相关技术,所设计的身份授权区块链网络的构成与具体实现进行了具体说明。将身份信息授权记录存储到区块链中,保证了身份信息授权记录的不可变性。并且是透明的,可验证的和安全可靠的。本发明设计的通过身份信息区块链网络进行身份授权相比于传统的身份授权过程有着诸多好处。使得身份授权行为成为可验证的,可以有效地减轻用户因个人身份信息被非法使用而造成的损失。同时当产生纠纷时,身份信息区块链网络也可以提供足够的证据来处理问题,有利于公平公正地解决纠纷。所有的授权行为都会形成记录,对于用户来说,不用担心身份信息遭受非法使用,减少了心里负担。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。