一种数字身份认证和属性加密的身份信息保护方法技术

技术编号:21552368 阅读:23 留言:0更新日期:2019-07-07 00:21
本发明专利技术属于信息安全认证领域,涉及身份认证的安全,确切讲是一种数字身份认证和属性加密的身份信息保护方法,其特征是:至少包括:用户单元、用户本地服务器、用户服务商服务器和区块链CA4,用户单元通过用户本地服务器、用户服务商服务器和区块链CA4进行身份信息的访问和隐私保护。它提供了一种安全性好,使用维护方便的基于属性加密的身份信息保护方法。

An Identity Information Protection Method for Digital Identity Authentication and Attribute Encryption

【技术实现步骤摘要】
一种数字身份认证和属性加密的身份信息保护方法
本专利技术属于信息安全认证领域,涉及身份认证的安全,确切讲是一种数字身份认证和属性加密的身份信息保护方法。
技术介绍
伴随着互联网的蓬勃发展,人们每天都在使用越来越多的互联网服务,而在服务商给用户提供服务之前,服务商需要对用户进行身份认证,往往需要用户完成身份的校验才能登陆服务系统。目前,业内常用的身份认证技术如图1所示,包括:1、注册阶段:用户和服务器之间建立应用层HTTPS连接,用户将自己的用户名ID和口令Password传输给服务器,服务器随机一个盐值Salt,将Password连接Salt之后进行哈希运算,得到哈希值Hash(Password+Salt),服务器将用户名ID,Hash值以及用户的Salt值存放在服务端的数据库中,完成注册。此外,服务端往往会要求用户完善自己的身份信息,如电话号码,真实姓名,家庭住址等个人信息才能完全对用户提供服务,如电商,社交服务。注册阶段的说明,服务端不存储用户的口令Password是为了防止数据库数据泄露导致用户的口令被泄漏从而被“黑客”利用而发起“撞库攻击”,而在哈希前进行“加盐”操作是为了防止黑客根据哈希值发起“彩虹表”攻击。2、校验阶段:用户和服务器建立HTTPS连接,用户将自己的用户名ID和口令Password传输给服务器,服务器根据ID取得用户的盐值,然后计算哈希值Hash(Password+Salt),将计算得到的哈希值与数据库中存储的哈希值进行对比,如果一致则校验通过,校验阶段完成。然后,服务器取出存储在数据库中的用户个人信息,对用户提供服务。综上所述,现在最主流的身份认证的方法存在着中心化过强所带来的一系列效率,安全性,隐私性上的问题。分析如下,对于用户来说,用户需要为每一个服务商注册并记忆一个独特的身份,比如需要建立各不相同的“用户名-口令”组合。这种过于繁琐的认证方式不但给人们带来了越来越大的记忆负担,由于人们更加倾向于在不同的服务商使用相同的口令,这就导致一旦用户泄漏了口令,比如在某个安全性较低的服务提供商处由于认证方案的实现不够完善而泄漏了口令,就可能遭受一系列隐私的身份信息泄漏以及巨大的经济损失风险。对于服务商来说,服务商需要为每个用户建立一个巨大的信息储存仓库用于存放用户的认证凭证和隐私信息,一旦用户量增大,维护服务器高可用性的成本以及安全性的成本将会非常高。对于诚实的服务商们来说,数字身份在服务端的存储是极度冗余的,大多数服务商处存放的用户个人信息是重复的,不光是用户需要重复的填写信息,服务商也需要为存储以及保护这些重复信息付出巨大的成本。而对于一个不诚实的服务商来说,出卖用户的隐私信息可以轻易地获得巨大的收益而几乎不需要付出多少代价。此外,作为整个服务中心节点的服务提供商来说,他可以轻易地妨碍用户使用部分服务乃至禁止用户使用服务,甚至可以任意地删除用户在互联网上完善了多年的数字身份信息,其中可能包含着用户多年来收集的信息,如文章,商品,维护的社会关系,如好友列表等等,而用户对自己的数字身份信息没有掌控权,无法将本属于自己的身份信息在不同的服务商之间进行主动地转移。
技术实现思路
本专利技术的目的是提供一种安全性好,使用维护方便的基于属性加密的身份信息保护方法。本专利技术是这样实现的,一种数字身份认证和属性加密的身份信息保护方法,其特征是:至少包括:用户单元1、用户本地服务器2、用户服务商服务器3和区块链CA4,1)用户单元1在用户本地服务器2建立产生在区块链CA4中的地址;2)将步骤1)建立产生在区块链CA4中的地址通过用户本地服务器2和用户服务商服务器3在区块链CA4上注册数字身份;3)用户服务商服务器3借助区块链CA4完成对用户身份的校验;4)用户单元1转移确认的数字身份到区块链CA上;5)用户单元1通过用户本地服务器2、用户服务商服务器3和区块链CA4进行身份信息的访问和隐私保护。所述的步骤(1)包括如下具体步骤:用户单元1在用户本地服务器2建立产生在区块链CA4中的地址;(1a)用户单元1使用伪随机数生成器(CSPRNG)生成一个32字节的密码数,然后通过指定KeyPairGenerator类的参数获取椭圆曲线类型的密钥对生成器,使用ECGenParameterSpec类指定椭圆曲线的类型为secp256k1,计算得到符合X.509标准的公钥,以及符合PKCS#8的私钥;(1b)使用椭圆曲线加密算法(ECDSA-secp256k1)计算私钥所对应的非压缩公钥PubKey,建立公私钥对完成;(1c)对公钥进行SHA256哈希计算得到256bit的哈希值表示用户身份在区块链CA4中的地址。所述的步骤(2)中,将步骤1)建立用户的身份信息通过用户本地服务器2和用户服务商服务器3在区块链CA4上形成数字身份包括以下步骤:(2a)用户单元1通过区块链CA4向用户服务商服务器3广播发送用户单元1的身份信息索引信息,实际使用中以JSON格式完成序列化后传输。现用图表形式表示如下:(2b)区块链CA4中用户服务商服务器3收到用户发送的上述注册身份信息之后,对信息进行判断处理,当用户为第一次注册,置PrevID和PrevPubkey的值为空;由于没有PrevPubkey,置Signature也为空;用户服务商服务器3将自己收到的身份信息添加ID,然后打包形成区块链CA4中的打包信息;区块链CA4中的打包信息如下:(2c)调用节点运行共识算法,对共识算法的结果进行处理,如果本轮由此节点打包区块,则将节点的“出块权”依据和区块信息简单表示如下:(2d)节点之间使用“泛洪算法”,将新出的块进行检查验证区块发布者的合法性,验证通过的话节点进行同步更新;(2e)当区块链CA4在全网大多数节点之间同步完成之后,链上数据可以看作是公开且不可篡改的,此时身份信息视为完成注册,节点向用户单元1返回身份信息在区块链CA4上的ID。如图4所示,所述的步骤(3)用户服务商服务器3借助区块链CA4完成对用户身份的校验包括以下步骤:(3a)用户单元1通过用户本地服务器2及网络请求用户服务商服务器3服务,建立用户单元1和用户服务商服务器3的HTTPS连接,然后向用户服务商服务器3发送自己的身份依据(ID,pubKey),请求登陆;(3b)用户服务商服务器3根据用户的ID,查询到区块链CA4上的数字身份信息;如果用户的数字身份成功注册在区块链CA4上,则用户服务商服务器3查询得到数字身份信息的Hash和身份信息数据库地址URL;(3c)用户服务商服务器3进行校验运算,判断SHA256(pubKey)是否等于链上的Hash值;如果没通过,则向用户返回“查询失败”信息;(3d)如果通过校验,用户服务商服务器3则根据URL找到存放着具体的数字身份信息的数据库5;用户服务商服务器3得到身份信息的密文;(3e)根据用户服务商服务器3自身的属性,进行基于属性的解密,查询到允许得到的身份信息;(3f)用户单元1通过用户本地服务器2及网络请求用户服务商服务器3服务。所述的步骤(4)用户单元1转移确认的数字身份到区块链CA上包括以下步骤:(4a)用户单元1生成一对新的公私钥,生成新的身份公钥的哈希,然后得到新的身份信息索引信息;(4b)用户本本文档来自技高网
...

【技术保护点】
1.一种数字身份认证和属性加密的身份信息保护方法,其特征是:至少包括:用户单元、用户本地服务器、用户服务商服务器和区块链CA,1)用户单元在用户本地服务器建立产生在区块链CA中的地址;2)将步骤1)建立产生在区块链CA4中的地址通过用户本地服务器和用户服务商服务器在区块链CA上注册数字身份;3)用户服务商服务器借助区块链CA完成对用户身份的校验;4)用户单元转移确认的数字身份到区块链CA上;5)用户单元通过用户本地服务器、用户服务商服务器和区块链CA进行身份信息的访问和隐私保护。

【技术特征摘要】
1.一种数字身份认证和属性加密的身份信息保护方法,其特征是:至少包括:用户单元、用户本地服务器、用户服务商服务器和区块链CA,1)用户单元在用户本地服务器建立产生在区块链CA中的地址;2)将步骤1)建立产生在区块链CA4中的地址通过用户本地服务器和用户服务商服务器在区块链CA上注册数字身份;3)用户服务商服务器借助区块链CA完成对用户身份的校验;4)用户单元转移确认的数字身份到区块链CA上;5)用户单元通过用户本地服务器、用户服务商服务器和区块链CA进行身份信息的访问和隐私保护。2.根据权利要求1所述的一种数字身份认证和属性加密的身份信息保护方法,其特征是:所述的步骤(1)包括如下具体步骤:(1a)用户单元使用伪随机数生成器生成一个32字节的密码数,然后通过指定KeyPairGenerator类的参数获取椭圆曲线类型的密钥对生成器,使用ECGenParameterSpec类指定椭圆曲线的类型为secp256k1,计算得到符合X.509标准的公钥,以及符合PKCS#8的私钥;(1b)使用椭圆曲线加密算法(ECDSA-secp256k1)计算私钥所对应的非压缩公钥PubKey,建立公私钥对完成;(1c)对公钥进行SHA256哈希计算得到256bit的哈希值表示用户身份在区块链CA4中的地址。3.根据权利要求1所述的一种数字身份认证和属性加密的身份信息保护方法,其特征是:所述的步骤(2)中,将步骤1)建立用户的身份信息通过用户本地服务器和用户服务商服务器在区块链CA4上形成数字身份包括以下步骤:(2a)用户单元通过区块链CA向用户服务商服务器广播发送用户单元的身份信息索引信息;(2b)区块链CA中用户服务商服务器收到用户发送的上述注册身份信息之后,对信息进行判断处理,当用户为第一次注册,置PrevID和PrevPubkey的值为空;由于没有PrevPubkey,置Signature也为空;用户服务商服务器将自己收到的身份信息添加ID,然后打包形成区块链CA中的打包信息;区块链CA中的打包信息如下:(2c)调用节点运行共识算法,对共识算法的结果进行处理,如果本轮由此节点打包区块,则将节点的“出块权”依据和区块信息简单表示如下:(2d)节点之间使用“泛洪算法”,将新出的块进行检查验证区块发布者的合法性,验证通过的话节点进行同步更新;(2e)当区块链CA在全网大多数节点之间同步完成之后,链上数据可以看作是公开且不可篡改的,此时身份信息视为完成注册,节点向用户单元返回身份信息在区块链CA上的ID。4.根据权利要求1所述的一种数字身份认证和属性加密的身份信息保护方法,其特征是:所述的步骤(3)用户服务商服务器借助区块链CA4完成对用户身份的校验包括以下步骤:(3a...

【专利技术属性】
技术研发人员:翁启王子龙
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1