一种基于区块链的实名认证方法

文档序号:1492636 发布日期:2020-02-04 浏览:5次 >En<

阅读说明:本技术 一种基于区块链的实名认证方法 (Real name authentication method based on block chain ) 是由 司志坚 董承伟 熊志敏 韩嵩峰 罗艳平 黄文涛 郭欣沅 杨婧一 孟翔宇 于 2018-07-23 设计创作,主要内容包括:本发明涉及一种基于区块链的实名认证方法。包括1.实名数据填报、实名数据确认、实名数据块写入实名数据区块链;2.实名数据认证服务:客户端发起实名认证请求、服务端实名认证处理、记录实名认证记录,提供包括登录认证、实名所有人身份信息认证、业务角色信息认证、业务授权信息认证多种类型的认证服务。本发明涉及两条私有区块链:实名数据区块链用于存储实名数据,实名认证记录区块链用于存储实名认证过程的记录数据。本发明作为一种新型基于网络的实名认证技术,可广泛应用于各大企业的信息化系统,可用于构建基于区块链技术的真实身份认证的可信协作平台,对各类需要身份验证、角色验证等要求的应用提供安全、可靠、高效的业务支撑。(The invention relates to a real-name authentication method based on a block chain. The method comprises the steps of 1, filling real-name data, confirming the real-name data, and writing real-name data blocks into a real-name data block chain; 2. real-name data authentication service: the client side initiates a real-name authentication request, the server side performs real-name authentication processing and records real-name authentication records, and various types of authentication services including login authentication, real-name owner identity information authentication, business role information authentication and business authorization information authentication are provided. The invention relates to two private block chains: the real-name data block chain is used for storing real-name data, and the real-name authentication recording block chain is used for storing recorded data in a real-name authentication process. The invention is a novel real-name authentication technology based on the network, can be widely applied to informatization systems of various large enterprises, can be used for constructing a credible cooperation platform of real identity authentication based on the block chain technology, and provides safe, reliable and efficient service support for various applications requiring identity authentication, role authentication and the like.)

一种基于区块链的实名认证方法

技术领域

本发明属于基于区块链的企业信息化应用领域,具体的说是一种基于区块链的实名认证方法。

背景技术

随着企业信息化建设的不断加强,企业各类业务处理越来越依赖相关业务系统,访问用户身份认证涉及系统安全,一直是各类信息系统重点要解决的问题。传统做法是:用户身份是认证机构以网络数据的形式颁发的,通常需要办理电子钥匙,并且只能到特定的认证机构去办理认证,手续繁琐,限于CA中心证书的互通性和服务协议,电子钥匙的保护成本高、兼容性、可用性较差,并且还存在PC端浏览器兼容性、可用性的问题。

目前,企业信息系统用户数据大多由单一数据中心存储,使用时统一访问和认证,这对中心安全性、稳定性提出了更高要求,相应的也增加运维成本,并且也不能从根本解决单点存储带来的风险;另一方面,传统单一的用户认证方法对于那些跨地域、跨单位、跨部门、跨网络的大型交互式企业应用并不完全适用,例如电力企业物资供应涉及物资及结算相关的全部参与单位及部门,如供应商、业主单位、施工单位、监理单位、物资管理单位等;履约过程涉及到货交接单、验收单、入库单、投运单、质保单等,要访问多个系统,同时结合纸质单据进行传递,效率非常低。

区块链提供了一种良好的解决方案,它本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了特定的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链有许多良好的特性,包括去中心化、开放性、自治性、信息不可篡改,一旦信息经过验证并添加至区块链,就会永久的存储起来,因此区块链的数据稳定性和可靠性极高。所以采用区块链作为身份信息记录载体,并以此作为实名认证的底层技术,具有良好的安全性和可靠性。

发明内容

针对现有技术中的上述不足,本专利提供一种基于区块链的实名认证方法,可以克服上述问题或可以部分地解决上述问题。本发明通过建立企业私有链,借助区块链去中心化、信息不可篡改的特性,将人员身份信息、业务角色信息、业务授权信息统一存储到区块链上,从而保证实名信息的统一性、安全性。系统通过统一的访问接口来读取区块链上的信息,完成多种业务需要,包括登录认证、实名所有人身份信息认证、业务角色信息认证、业务授权信息认证等,业务系统通过这些认证服务提取数据,并依此设置用户登录系统后可以访问的功能模块、可以操作的业务、可以浏览的数据、可以处理的业务等。所有的认证过程都作为一条实名认证记录,记录到实名认证记录区块链中,保证所有认证操作的完整性、安全性、可追溯性。

本发明为实现上述目的所采用的技术方案是:一种基于区块链的实名认证方法,包括如下步骤:

实名信息数据构建的步骤:采集用户的实名信息;采用管理员确认方式或用户远程确认方式对采集的实名信息进行准确性确认;将确认后的实名信息构建为实名数据块并写入实名数据区块链中;

实名数据认证的步骤:由客户端发起实名认证请求,服务端接收并验证请求信息,再从实名数据区块链中查找对应的实名信息返回给客户端的请求人,构建记录数据块并添加至实名认证记录区块链,完成认证。

所述采集用户的实名信息包括:

依次采集用户的实名信息,按顺次连接用户输入的所有实名信息,通过SHA-256哈希算法计算其哈希值H,查询是否存在主键ID为H的实名数据块,如果存在则说明该用户的实名信息已存在,否则为新用户用于构建实名数据块。

所述实名信息包括:实名所有人身份信息、业务角色信息、业务授权信息;

所述实名所有人身份信息包括姓名、身份证号码、登录密码、手机号、单位、部门、出生日期、住址;

所述业务角色信息为用户可以访问的功能模块列表数据以及在功能模块列表中可做的业务操作列表数据;

所述业务授权信息为用户确认接受的服务协议或法律文书约束列表数据。

所述依次采集用户的实名信息包括:依次获取用户输入的实名所有人身份信息、流程相关的业务角色信息、选择并确认的业务授权信息。

所述管理员确认方式为管理员通过现场确认面签、存留信息辅助认证、现有账户同步验证完成用户身份确认;

所述用户远程确认方式为:服务端生成若干位数字和英文字母混编验证码,以短信方式发送给用户注册的实名信息中的手机号,若在有效时限内收到用户的确认信息则完成身份确认;用户提交注册信息的同时需勾选远程确认选项。

所述将确认后的实名数据构建为实名数据块并写入实名数据区块链包括:

将实名数据构建为实名数据块;

将构建的实名数据块按主键ID顺序写入实名数据区块链中,所述区块链类型为企业私有链;

如果企业具有其它联盟链,则向所有具有信任关系的其它联盟链的认证机构广播,收到消息的认证机构将数据写入本地区块链。

所述将实名信息构建为实名数据块包括:

1)按顺次连接新用户的所有实名信息,通过SHA-256哈希算法计算其哈希值,并作为实名数据块的主键ID;

2)将姓名、身份证号码、手机号与登录密码组合作为身份验证信息存储至实名数据块,用于用户登录和校验的凭证;所述密码转换为MD5哈希值存储,所述姓名、身份证号码、手机号采用明文存储;

3)将单位、部门、出生日期、住址作为身份基本信息并采用明文存储至实名数据块;

4)将业务角色信息转换为MD5哈希值格式存储至实名数据块;

5)将业务授权信息转换为MD5哈希值格式存储至实名数据块,用来辅助确认用户对业务的操作权限。

所述实名数据认证的步骤包括:

1)客户端发送包含认证类型、请求人的有效身份信息、认证实名有效身份信息的实名认证请求给服务端;所述请求人的有效身份信息为姓名、身份证号码、手机号之一与登录密码的组合;所述认证实名有效身份信息为姓名、身份证号码、手机号;

2)服务端通过查询实名数据区块链,依次检查请求人的有效身份信息、认证实名有效身份信息是否正确,若均正确,则根据实名认证请求的认证类型返回数据;

3)构建记录数据块并添加至实名认证记录区块链中,记录实名认证过程;

所述记录数据块包含如下信息:

a.记录实名数据块的主键ID,所述主键ID为随机哈希字段串;

b.请求人的有效身份信息,用实名数据区块链中的哈希ID表示;

c.认证实名有效身份信息,用实名数据区块链中的哈希ID表示;

d.记录按实名认证请求的认证类型获取的数据;

e.查询时间。

所述认证类型包括:登录认证、实名所有人身份信息认证、业务角色信息认证、业务授权信息认证。

所述根据实名认证请求的认证类型返回数据包括:

当认证类型为登录认证时,服务端根据客户端提交的登录信息,查询实名数据区块链,校验登录信息并返回结果登录信息,所述结果登录信息为:姓名、身份证号码、手机号之一与登录密码的组合;

当认证类型为实名所有人身份信息认证时,服务端按照查询条件查询实名数据区块链,返回身份相关信息;查询条件必须包含姓名、身份证号码或手机号;

当认证类型为业务角色信息认证时,服务端按照查询条件查询实名数据区块链,返回业务角色相关信息;查询条件必须包含姓名、身份证号码或手机号;

当认证类型为业务授权信息认证时,服务端按照查询条件查询实名数据区块链,返回业务授权相关信息;查询条件必须包含姓名、身份证号码或手机号。

本发明具有以下优点及有益效果:

本发明作为一种新型基于网络的实名认证技术,可广泛应用于各大企业的信息化系统,在部署方式上灵活,可作为独立的实名认证平台部署,也可以作为信息化系统的一部分集成部署,借助区块链技术良好的技术特点和安全特性,可在企业内部建成统一的、互信的实名认证体系,将用户的多种身份、角色、权限信息集成在一起,在各类业务系统间建立起互信、协作的平台。

附图说明

图1实名信息数据构建流程和实名数据认证流程;

具体实施方式

下面结合附图1及实施例对本发明做进一步的详细说明。

1.搭建区块链基础环境

本发明涉及两条区块链:

1)实名数据区块链

用于记录所有实名数据信息。

2)实名认证记录区块链

用于记录所有实名认证操作记录。

2.构建实名数据区块链

1)实名数据填报

实名信息包含3部分数据,分别为:

(1)实名所有人身份信息:必填姓名、身份证号码、登录密码、手机号,其余可选项包括单位、部门、出生日期、住址等。

(2)业务角色信息:角色定义了用户可以访问的功能模块以及在模块中可做的操作,各类角色定义信息为文本格式。所述功能模块以及在模块中可做的操作举例为:某用户可访问功能及操作权限定义描述如下:

{"QueryInfo":{"query":"yes","edit":"no","delete":"no","add":"no","print":"yes"}}

上述描述中,QueryInfo为具体功能模块名称,add、delete、edit、query、print分别对应增加、删除、修改、查询、打印这几类操作,操作后为yes代表具备操作权限,no代表不具备操作权限。

(3)业务授权信息:即用户确认、接受的服务协议或法律文书约束,某些业务只有接受业务授权才有资格操作;

填报步骤分两步:

(1)申请人数据填报:实名所有人在客户端填报个人身份信息,必填项为姓名、身份证号码、登录密码、手机号,其余可选项包括单位、部门、出生日期、住址等;选择业务流程相关的角色,选择并确认业务授权。

(2)申请数据提交:用户提交的实名信息,系统按顺次连接所有的输入数据,通过SHA-256哈希算法计算哈希值H,查询是否存在主键ID为H的实名数据块,如果存在则说明用户数据已存在,否则为新用户。

2)实名数据确认

用户实名信息准确性确认有两种方式:

(1)管理员确认:即管理员通过现场确认面签、存留信息辅助认证、现有账户同步验证等技术手段,完成用户身份确认。所述现场确认面签为用户与管理员面对面确认。所述存留信息辅助认证、现有账户同步验证为管理员通过系统存档的信息进行的确认。

(2)用户远程确认:远程确认需要借助手机验证码完成,即用户提交注册信息的同时勾选远程确认选项,服务端生成6位数字和英文字母混编验证码,以短信发给注册信息中的手机号,120秒内输入有效,验证正确即完成身份确认。

3)实名数据块写入区块链

即将确认后的实名数据构建为数据块,写入实名数据区块链中,这里的区块链类型为企业私有链。

共分类3个步骤:

(1)将实名数据构建为数据块。

数据块包括如下部分:

a.主键ID:按顺次连接所有的实名数据信息,通过SHA-256哈希算法计算得到的哈希值。

b.身份验证数据:包括姓名、身份证号码、登录密码、手机号,其中姓名、身份证号码、手机号都可与登录密码组合,作为用户登录和校验的凭证,密码转换为MD5哈希值存储,其余为明文。

c.身份基本信息:包括单位、部门、出生日期、住址等。

d.业务角色信息:用户可以访问的功能模块列表,在模块中可做的操作列表数据,转换为MD5哈希值格式存储。

e.业务授权信息:用户确认、接受的服务协议或法律文书约束列表,转换为MD5哈希值格式存储,用来辅助确认用户对业务的操作权限。

(2)数据块写入实名数据区块链中,这里的区块链类型为企业私有链。

(3)如果企业具有其它联盟链,则向所有具有信任关系的其它认证机构广播,收到消息的认证机构将数据写入本地区块链。

3.实名数据认证服务

客户端通过提交认证类型、认证数据来访问实名认证服务,其中认证类型包括:

1)登录认证

客户端提交数据,查询实名数据区块链,校验登录数据,返回结果,数据分三种情况:

姓名+登录密码:姓名可能有重复,如果重复则给出提示信息。

身份证号码+登录密码。

手机号+登录密码。

2)实名所有人身份信息

查询实名数据区块链,返回身份相关数据,查询条件中必须包含姓名、身份证号码或手机号,即可以有效识别身份信息的数据。

3)业务角色信息

查询实名数据区块链,返回业务角色相关数据,查询条件中必须包含姓名、身份证号码或手机号,即可以有效识别身份信息的数据。

4)业务授权信息

查询实名数据区块链,返回业务授权相关数据,查询条件中必须包含姓名、身份证号码或手机号,即可以有效识别身份信息的数据。

认证过程包括:

1)客户端发起实名认证请求,请求内容必须包括认证类型、请求人的有效身份信息、认证实名有效身份信息。

请求人的有效身份信息:姓名+登录密码(姓名可能有重复,如果重复则给出提示信息)、身份证号码+登录密码、手机号+登录密码。

认证实名有效身份信息:姓名、身份证号码、手机号,姓名可能有重复,如果重复则给出提示信息,建议用身份证号码或手机号。

2)服务端实名认证处理

首先通过查询实名数据区块链,检查请求人的有效身份信息,然后在区块链中查询认证实名有效身份信息,再根据认证类型返回数据。

3)记录实名认证记录

构建记录数据块,里面主要包含如下信息:

a.记录实名数据块的主键ID,64位随机哈希字段串。

b.请求人的有效身份信息,用实名数据区块链中的哈希ID表示。

c.认证实名有效身份信息,用实名数据区块链中的哈希ID表示。

d.返回的查询结果。

e.查询时间。

最后把记录数据块加到实名认证记录区块链中。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种具有物联网功能的智能真空干燥柜

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类