本发明涉及区块链技术领域,具体涉及基于区块链的用户身份存证、验证方法及装置及查证系统。
背景技术:
现阶段有很多网站或者app都需要进行实名认证,每次用户都得繁琐的提供身份信息例如身份证号,真实姓名,手持照片正反面照片上传,有很多人外出可能没有带身份证,但是现阶段技术又不能证明用户拍的照片是否经过篡改存在不可信因素,现有电子存证和验证系统多采用中心化数据库系统,由于这种电子存证和验证系统部署在一家机构内部,且系统管理员掌握对系统的绝对控制权限,因此存在被系统管理员篡改电子证据集以及单点故障的风险,导致验证时电子证据集的可采用性无法确定。
技术实现要素:
因此,本发明提供一种基于区块链的用户身份存证、验证方法及装置及查证系统,克服了现有技术中的身份存证信息容易被篡改等存在不可信的不足。
本发明实施例提供一种基于区块链的用户身份存证方法,包括如下步骤:获取用户的存证请求及身份信息;根据所述存证请求给用户分配用于表征用户身份的用户标识,以及与所述用户标识关联的唯一私钥和唯一公钥;对所述用户的身份信息进行哈希计算生成数字指纹,并将所述数字指纹发送至区块链;获取所述区块链分配所述用户的存证标识;
根据所述唯一私钥对所述用户的身份信息、存证标识及数字指纹进行加密形成加密身份信息,并将所述用户标识及加密身份信息生成表征身份信息的用户标识码。
在一实施例中,所述根据所述存证请求给用户分配用于表征用户身份的用户标识的步骤,包括:根据所述存证请求利用预设验证操作对所述存证请求进行验证;验证通过后,给所述用户分配用于表征用户身份的用户标识。
在一实施例中,所述用户标识码为一次性二维码,所述一次性二维码包括:用户标识、身份证号、真实姓名、数字指纹、存证标识及时间戳。
在一实施例中,所述的基于区块链的用户身份存证方法,还包括:获取用户输入的密码或生物特征信息;根据所述密码或生物特征信息给所述用户反馈用户标识码。
本发明实施例还提供一种基于区块链的用户身份验证方法,包括如下步骤:获取用户的用户标识码,所述用户标识码根据所述的基于区块链的用户身份存证方法生成;读取所述用户标识码,获取所述用户标识及加密身份信息;通过所述用户标识获取与所述用户标识关联的唯一公钥;利用所述唯一公钥对所述加密身份信息进行解密,获取所述用户的身份信息、存证标识及数字指纹;
将所述用户的存证标识及数字指纹上传区块链进行验证;获取区块链反馈的验证结果,并根据所述验证结果判定所述用户身份是否验证通过。
在一实施例中,所述用户标识码为一次性二维码,所述一次性二维码包括:身份证号、真实姓名、数字指纹、存证标识和时间戳。
在一实施例中,所述对所述用户标识码进行解析,获取用户标识的步骤之前,还包括:根据所述时间戳及当前时间判定所述用户标识码是否有效。
本发明实施例一种基于区块链的用户身份存证装置,包括:身份信息获取模块,用于获取用户的存证请求及身份信息;用户标识分配模块,用于根据所述存证请求给用户分配用于表征用户身份的用户标识,以及与所述用户标识关联的唯一私钥和唯一公钥;数字指纹生成模块,用于对所述用户的身份信息进行哈希计算生成数字指纹,并将所述数字指纹发送至区块链;存证标识获取模块,用于获取所述区块链分配所述用户的存证标识;用户标识码生成模块,用于根据所述唯一私钥对所述用户的身份信息、存证标识及数字指纹进行加密形成加密身份信息,并将所述用户标识及加密身份信息生成表征身份信息的用户标识码本发明实施例还提供一种基于区块链的用户身份验证装置,其包括:用户标识码获取模块,用于获取用户的用户标识码;用户标识获取模块,用于读取所述用户标识码,获取所述用户标识及加密身份信息;公钥获取模块,用于通过所述用户标识获取所述与所述用户标识关联的唯一公钥;解密模块,用于利用所述唯一公钥对所述加密身份信息进行解密,获取所述用户的身份信息、存证标识及数字指纹;身份信息验证模块,用于将所述用户的存证标识及数字指纹上传区块链进行验证;验证结果确定模块,用于获取区块链反馈的验证结果,并根据所述验证结果判定所述用户身份是否验证通过。
本发明实施例还提供一种基于区块链的用户身份查证系统,包括:上述的基于区块链的用户身份存证装置以及上述的基于区块链的用户身份验证装置。
本发明实施例还提供一种计算机设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述的基于区块链的用户身份存证方法,或上述的基于区块链的用户身份验证方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行上述的基于区块链的用户身份存证方法,或上述的基于区块链的用户身份验证方法。
本发明技术方案,具有如下优点:
1、本发明实施例提供的基于区块链的用户身份存证方法及装置,根据存证请求给用户分配用于表征用户身份的用户标识,以及与用户标识关联的唯一私钥和唯一公钥,通过获取用户的身份信息,对用户的身份信息进行哈希计算生成数字指纹,并将数字指纹发送至区块链,根据唯一私钥对用户标识、用户的身份信息、区块链分配用户的存证标识及数字指纹进行加密,生成表征身份信息的用户标识码。本发明实施例利用身份信息存证平台基于区块链技术将用户的身份信息进行存证,保证了存证的身份信息一旦上链就不会被篡改,增强了电子身份存证信息的可信性,同时获取身份信息更加方便快捷。
2、本发明实施例提供的基于区块链的用户身份验证方法及装置,通过扫描用户基于区块链的用户身份存证方法获取的身份识别码,对其进行解析获取用户的身份信息、存证标识及数字指纹,将存证标识及数字指纹上传区块链来对身份信息进行验证,基于区块链的可信不可篡改的特性,可以将其作为一个可信身份信息来替代现有技术中通过手持身份证等方式进行身份验证的方式,操作方便快捷。
3、本发明提供的基于区块链的用户身份查证系统,使得现阶段网站或者app都需要进行实名认证时,不再需要每次用户都繁琐的提供身份信息例如身份证号,真实姓名,手持照片正反面照片上传等方式进行验证,而是需要实名认证的网站或者app接入基于区块链的用户身份查证系统,通过扫描用户在基于区块链的用户身份查证系统进行身份信息存证生成的用户识别识别码,对解析出的存证标识和数字指纹上传至区块链对身份信息进行验证的方式,基于区块链的不可篡改的特性,保证了用户身份信息的真实性,在录入身份信息时操作更加方便快捷。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于区块链的用户身份存证方法的一个具体示例的流程图;
图2为本发明实施例提供的基于区块链的用户身份验证方法的一个具体示例的流程图;
图3为本发明实施例提供的基于区块链的用户身份存证系统的一个具体示例的组成图;
图4为本发明实施例提供的基于区块链的用户身份验证系统的一个具体示例的组成图;
图5为本发明实施例提供的计算机设备的一个具体示例的组成图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本发明实施例提供一种基于区块链的用户身份存证方法,在实际应用中,该基于区块链的用户身份存证方法可以应用于一身份信息存证平台,如图1所示,该基于区块链的用户身份存证方法包括如下步骤:
步骤s11:获取用户的存证请求及身份信息。
本发明实施例中,身份信息存证平台获取用户身份信息,包括:用户的身份证号、真实姓名、手持身份证的正面照片及手持身份证的背面照片等,但是并不限于此,在其他实施例中可以获取可以证明用户身份的其他信息,例如户口页、护照照片等。
步骤s12:根据存证请求给用户分配用于表征用户身份的用户标识,以及与用户标识关联的唯一私钥和唯一公钥。
在本发明实施例中,身份信息存证平台根据存证请求利用预设验证操作对存证请求进行验证;验证通过后,给用户分配用于表征用户身份的用户标识,以及与用户标识关联的唯一私钥和唯一公钥。在实际应用中,该身份信息存证平台根据存证请求验证操作的过程,可以是通过获取用户输入的手机号、微信号或qq号、邮箱等其他社交账号进行验证,当验证通过后成为该身份信息存证平台的会员,给该用户分配在该身份信息存证平台中表征用户身份的唯一用户标识,以及与用户标识关联的唯一私钥和唯一公钥。
步骤s13:对用户的身份信息进行哈希计算生成数字指纹,并将数字指纹发送至区块链。
在本发明实施例中,身份信息存证平台把用户的身份信息经过哈希计算生成数字指纹后存入区块链。
步骤s14:获取区块链分配用户的存证标识。
在本发明实施例中,区块链在接收到身份信息存证平台发送的用户的身份信息的数字指纹后,会反馈该用户的存证标识,例如是存证id或交易id。
步骤s15:根据唯一私钥对用户的身份信息、存证标识及数字指纹进行加密形成加密身份信息,并将用户标识及加密身份信息生成表征身份信息的用户标识码。
在本发明实施例中,身份信息存证平台将用户标识通过字符“#”与加密身份信息拼接后生成身份信息字符串,将此身份信息字符串存储在数据库。用户标识码可以为一次性二维码,所述一次性二维码包括:用户标识、身份证号、真实姓名、数字指纹、存证标识及时间戳,但是并不限于此,在其他实施例中,也可以为条形码等其他形式的用户标识码。
在一较佳实施例中,用户使用a在系统时需要进行实名认证,这时用户通过身份信息存证平台获取用户输入的密码或生物特征信息,根据密码或生物特征信息给用户反馈用户标识码。实际应用中密码可以为数字和/字母组成的密码、宫格连线密码等,生物特征信息密码可以为指纹,人脸图像、虹膜等。
本发明实施例提供的基于区块链的用户身份存证方法,根据存证请求给用户分配用于表征用户身份的用户标识,以及与用户标识关联的唯一私钥和唯一公钥,通过获取用户的身份信息,对用户的身份信息进行哈希计算生成数字指纹,并将数字指纹发送至区块链,根据唯一私钥对用户标识、用户的身份信息、区块链分配用户的存证标识及数字指纹进行加密,生成表征身份信息的用户标识码。本发明实施例利用身份信息存证平台基于区块链技术将用户的身份信息进行存证,保证了存证的身份信息一旦上链就不会被篡改,增强了电子身份存证信息的可信性,同时获取身份信息更加方便快捷。
实施例2
本发明实施例提供一种基于区块链的用户身份验证方法,在实际应用中,该区块链的用户身份验证方法可以应用于一身份信息验证平台,如图2所示,该区块链的用户身份验证方法包括如下步骤:
步骤21:获取用户的用户标识码。
本发明实施例中,用户标识码可以根据实施例1中所描述的基于区块链的用户身份存证方法生成。用户标识码为一次性二维码,所述一次性二维码包括:身份证号、真实姓名、数字指纹、存证标识和时间戳。
步骤22:读取用户标识码,获取用户标识及加密的身份信息。本发明实施例中,身份信息验证平台扫描用户标识码,获取到用户标识通过字符“#”与加密身份信息拼接后生成身份信息字符串。
步骤23:通过用户标识获取与用户标识关联的唯一公钥。
在实际应用中,当用户使用a系统时需要实名认证,a系统可以通过扫描用户标识码的方式进行解析,获取用户在身份信息验证平台中的用户标识,进而获取到预存的用户标识关联的唯一公钥。
步骤24:利用唯一公钥对加密身份信息进行解密,获取用户的身份信息、存证标识及数字指纹。
在本发明实施例中,通过用户标识关联的唯一公钥对加密身份信息解密,获取到该用户标识中包含的用户身份信息、身份信息在区块链上的存证标识及身份信息的数字指纹。
步骤25:将用户的存证标识及数字指纹上传区块链进行验证。
在一较佳实施例中,在将用户的存证标识及数字指纹上传区块链进行验证之前,还要根据解密后的身份信息中的时间戳及当前时间判定用户标识码是否有效,例如可以是当前时间与时间戳的差值大于30分钟时,该用户标识码无效,仅以此举例,不以此为限。
步骤26:获取区块链反馈的验证结果,并根据验证结果判定用户身份是否验证通过。
在本发明实施例中,身份信息验证平台将解密后获取到该用户的存证标识及数字指纹上传区块链对身份信息进行验证,区块链进一步验证用户身份信息的真实性,将最终的验证结果反馈给身份信息验证平台,提供a系统对该用户进行实名认证。
本发明实施例提供的基于区块链的用户身份验证方法,通过扫描用户基于区块链的用户身份存证方法获取的身份识别码,对其进行解析获取用户的身份信息、存证标识及数字指纹,将存证标识及数字指纹上传区块链来对身份信息进行验证,基于区块链的可信不可篡改的特性,可以将其作为一个可信身份信息来替代现有技术中通过手持身份证等方式进行身份验证的方式,操作方便快捷。
实施例3
本发明实施例提供一种基于区块链的用户身份存证装置,如图3所示,包括:
身份信息获取模块11,用于获取用户的存证请求及身份信息。此模块执行实施例1中的步骤s11所描述的方法,在此不再赘述。
用户标识分配模块12,用于根据所述存证请求给用户分配用于表征用户身份的用户标识,以及与所述用户标识关联的唯一私钥和唯一公钥;此模块执行实施例1中的步骤s12所描述的方法,在此不再赘述。
数字指纹生成模块13,用于对所述用户的身份信息进行哈希计算生成数字指纹,并将所述数字指纹发送至区块链;此模块执行实施例1中的步骤s13所描述的方法,在此不再赘述。
存证标识获取模块14,用于获取所述区块链分配所述用户的存证标识;此模块执行实施例1中的步骤s14所描述的方法,在此不再赘述。
用户标识码生成模块15,用于根据所述唯一私钥对所述用户的身份信息、存证标识及数字指纹进行加密形成加密身份信息,并将所述用户标识及加密身份信息生成表征身份信息的用户标识码。此模块执行实施例1中的步骤s15所描述的方法,在此不再赘述。
本发明实施例提供的基于区块链的用户身份存证装置,根据存证请求给用户分配用于表征用户身份的用户标识,以及与用户标识关联的唯一私钥和唯一公钥,通过获取用户的身份信息,对用户的身份信息进行哈希计算生成数字指纹,并将数字指纹发送至区块链,根据唯一私钥对用户标识、用户的身份信息、区块链分配用户的存证标识及数字指纹进行加密,生成表征身份信息的用户标识码,本发明实施例利用身份信息存证平台基于区块链技术将用户的身份信息进行存证,保证了存证的身份信息一旦上链就不会被篡改,增强了电子身份存证信息的可信性,同时获取身份信息更加方便快捷。
实施例4
本发明实施例提供一种基于区块链的用户身份验证装置,如图4所示,包括:
用户标识码获取模块21,用于获取用户的用户标识码;此模块执行实施例2中的步骤s21所描述的方法,在此不再赘述。
用户标识获取模块22,用于读取所述用户标识码获取所述用户标识及加密身份信息;此模块执行实施例2中的步骤s22所描述的方法,在此不再赘述。
公钥获取模块23,用于通过所述用户标识获取所述与所述用户标识关联的唯一公钥;此模块执行实施例2中的步骤s23所描述的方法,在此不再赘述。
解密模块24,用于利用所述唯一公钥对所述加密身份信息进行解密,获取所述用户的身份信息、存证标识及数字指纹;此模块执行实施例2中的步骤s24所描述的方法,在此不再赘述。
身份信息验证模块25,用于将所述用户的存证标识及数字指纹上传区块链进行验证;此模块执行实施例2中的步骤s25所描述的方法,在此不再赘述。
验证结果确定模块26,用于获取区块链反馈的验证结果,并根据所述验证结果判定所述用户身份是否验证通过。此模块执行实施例2中的步骤s26所描述的方法,在此不再赘述。
本发明实施例提供的基于区块链的用户身份验证装置,通过扫描用户基于区块链的用户身份存证方法获取的身份识别码,对其进行解析获取用户的身份信息、存证标识及数字指纹,将存证标识及数字指纹上传区块链来对身份信息进行验证,基于区块链的可信不可篡改的特性,可以将其作为一个可信身份信息来替代现有技术中通过手持身份证等方式进行身份验证的方式,操作方便快捷。
实施例5
本发明实施例提供一种基于区块链的用户身份查证系统,包括实施例3中所述的基于区块链的用户身份存证装置以及实施例4中所述的基于区块链的用户身份验证装置,可以实现基于区块链的对用户身份信息的存证和验证。
在一具体实施例中,用户对身份信息存证有需求时,首先向该查证系统发送存证请求,查证通利用预设验证操作对所述存证请求进行验证,例如是手机号、微信号、qq号等进行验证,验证通过后成为该查证系统的会员,查证系统会给用户分配唯一的用户标识及给用户分配用于表征用户会员身份的用户标识,以及与用户标识关联的唯一私钥和唯一公钥,查证系统获取用户上传自己的身份信息,例如是用户的身份证号、真实姓名、手持身份证的正面照片及手持身份证的背面照片等,但是并不限于此,在其他实施例中可以获取可以证明用户身份的其他信息,例如户口页、护照等。然后对所述用户的身份信息进行哈希计算生成数字指纹,并将所述数字指纹发送至区块链;在获取区块链分配所述用户的存证标识后,根据唯一私钥对用户标识、所述用户的身份信息、存证标识及数字指纹进行加密,生成表征身份信息的用户标识码,用户标识码可以为一次性二维码,所述一次性二维码包括:用户标识、身份证号、真实姓名、数字指纹、存证标识及时间戳,但是并不限于此,在其他实施例中,也可以为条形码等其他形式的用户标识码。
在一具体实施例中,用户在使用a系统时,a系统需要对该用户进行实名验证,用户可以通过该查证系统,输入预先设置的密码或指纹获取表征自己身份信息的二维码,接入该查证系统的a系统,通过扫描用户提供的二维码,解析出该用户的身份信息,并传入到区块链上进行验证,根据验证结果,对该用户进行实名认证。
本发明实施例提供的基于区块链的用户身份查证系统,使得现阶段网站或者app都需要进行实名认证时,不再需要每次用户都繁琐的提供身份信息例如身份证号,真实姓名,手持照片正反面照片上传等方式进行验证,而是需要实名认证的网站或者app接入基于区块链的用户身份查证系统,通过扫描用户在基于区块链的用户身份查证系统进行身份信息存证生成的用户识别识别码,对解析出的存证标识和数字指纹上传至区块链对身份信息进行验证的方式,基于区块链的不可篡改的特性,保证了用户身份信息的真实性,在录入身份信息时操作更加方便快捷。
实施例6
本发明实施例提供一种计算机设备,如图5所示,包括:至少一个处理器401,例如cpu(centralprocessingunit,中央处理器),至少一个通信接口403,存储器404,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,通信接口403可以包括显示屏(display)、键盘(keyboard),可选通信接口403还可以包括标准的有线接口、无线接口。存储器404可以是高速ram存储器(ramdomaccessmemory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器404可选的还可以是至少一个位于远离前述处理器401的存储装置。其中处理器401可以执行图1描述的基于区块链的用户身份存证方法或图2中描述的基于区块链的用户身份验证方法,存储器404中存储一组程序代码,且处理器401调用存储器404中存储的程序代码,以用于执行实施例1中的混基于区块链的用户身份存证方法,或用于执行实施例2中的混基于区块链的用户身份验证方法。
其中,通信总线402可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。通信总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器404可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器404还可以包括上述种类的存储器的组合。
其中,处理器401可以是中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。
其中,处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,缩写:asic),可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例1中基于区块链的用户身份存证方法,或执行实施例2中的基于区块链的用户身份验证方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。