首页 / 专利库 / 杂项知识产权事务 / 数字版权管理 / 授权中心 / 一种使用属性密码的区块链弱中心密码授权方法

一种使用属性密码的链弱中心密码授权方法

阅读:712发布:2020-05-12

专利汇可以提供一种使用属性密码的链弱中心密码授权方法专利检索,专利查询,专利分析的服务。并且本 发明 属于密码的技术领域,具体为一种使用属性密码的 区 块 链 弱中心密码授权方法。本发明首先将原本CPABE中心化的密钥分发机构变成多个CA和多个AA机构,成为一个多 节点 协同计算主密钥、分发用户密钥的系统,使得其密码体系更加契合区块链的特性;本发明方法包括:区块链初始化,用户注册,开放授权第三方,用户 修改 密码,用户获取设定的额外提示信息,系统安全保护等;本发明利用属性密码的安全结构和区块链弱中心化、不可篡改的特性,提供了安全、可靠、可信赖、自动化的一系列密码服务,减少了用户存储传统公私钥对和忘记密码的成本,并降低中心化 数据库 因为各种原因丢失或者泄露用户的账号密码数据造成的损失。,下面是一种使用属性密码的链弱中心密码授权方法专利的具体信息内容。

1.一种使用属性密码的链弱中心密码授权方法,其特征在于,首先借鉴多节点的思想,将原本CPABE中心化的密钥分发机构变成多个CA和多个AA机构,成为一个多节点协同计算主密钥、分发用户密钥的系统,使得其密码体系更加契合区块链的特性;所述方法的具体步骤如下:
(1)区块链初始化;多个AA节点使用DPOS模式进行属性密码的初始化,并将公共参数上链处理,每个AA产生一个CA节点负责不同区域的证书颁发工作,并且CA之间通过交换信息使得证书是通用的;
(2)用户注册;用户注册通过向最近的CA节点申请证书,根据证书向指定数量的AA节点发送注册所需要的属性,单独选择其中一个AA发送账户密码和访问控制策略,称之为special-AA;AA节点根据其属性生成对应私钥组成部分,将多个私钥组成部分返回给special-AA,由其组成用户私钥,之后用其加密特定信息上链,并加密上链用户的账户密码;
(3)开放授权第三方;用户登录其他有OVSSL证书的第三方网站时,向区块链请求令牌,用户登录区块链成功之后区块链自动给予第三方令牌;
(4)用户修改密码;用户若要修改密码,发送属性给AA节点请求修改密码,同时选择一个special-AA发送修改后的密码;special-AA节点先对用户进行审核,审核通过后AA节点根据属性新生成私钥组成部分发送给special-AA,special-AA使用组合成的用户私钥解密当初注册时加密上链的信息;如果成功匹配则将更新后的账户密码加密上链;
(5)系统安全保护;在区块链对用户登录做出一系列安全限制的同时,多个CA节点还负责监控不同的区域;如果发现恶意用户妄图攻击密码服务平台,则负责该区域的CA节点将其加入黑名单,并且CA节点之间的黑名单可以像证书一样分享,如果要解除黑名单需要向AA节点申请,人工审核是否解除其黑名单限制。
2.根据权利要求1所述的使用属性密码的区块链弱中心密码授权方法,其特征在于,还包括:用户获取设定的额外提示信息,具体流程为:
(1)用户根据证书向AA节点申请获取提示信息,发送属性,选择special-AA ;
(2)AA节点生成私钥组成部分发给special-AA,由其组成私钥,并解密链上信息;若解密成功,则返回给用户明文信息;
(3)用户获取设定的额外提示信息过程结束。

说明书全文

一种使用属性密码的链弱中心密码授权方法

技术领域

[0001] 本发明属于区块链技术领域,具体涉及一种区块链弱中心密码开放授权服务的构建方法。

背景技术

[0002] 现阶段的网站用户通常基于对网站提供方的信赖使用自己的个人信息进行注册,并向其提供账户和密码作为日后登录时的凭证。但是网站用户密码数据库信息泄露的事情却时有发生,更有甚者将数据库放在上却没有备份,因云故障造成整个数据库丢失,影响极大。而区块链可以结合椭圆曲线公钥密码学和一系列密码的安全性保障提供一个可靠的存储方式,使得用户的账户密码可以被安全存储在区块链上,而不用担心丢失和被破解。
[0003] 自比特币诞生以来,也报道出许多人因忘记比特币的私钥而损失一大笔金钱,原因无非就是因为追求公钥密码的安全性而造成了密码难记、用户体验不友好,并且因为将私钥存储在电子设备上就存在被窃取的可能,许多人选择使用纸钱包存储,继而丢失。而属性密码技术可以在保证安全性不降低的同时解放用户,让其只需记忆常用的自设用户名和密码。
[0004] Oauth,即开放授权。允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。
[0005] 公钥密码学自诞生后有了突破性的技术发展,使得加解密的密钥完全不同并且不能从公钥推出私钥,极大的提升了密码技术的安全性和适用范围。其中属性密码作为使用椭圆曲线算法的一种高级密码算法,其实用性非常广泛。因其附带的属性可以映射到椭圆曲线域上的不同参数,进而将晦涩难辨的公私钥对转化成简易可认知的属性字符串。属性密码中的CPABE更是十分契合,其方法中数据拥有者可以根据用户的属性为加密原文定义一个访问策略,可以保证所有者更直接地控制他们的数据,根据自身需求定义各种不同的访问策略,可扩展性极强。
[0006] 例如用户可以设定访问策略为自己的全部属性相与,比如“123xxxx4567”and“ShangHai”and“Fudan University”and“Love Dog”and“Love Cat”。这样只有属性中全部满足的用户才能解密相应信息。
[0007] 区块链是一种按照时间顺序将不同的数据通过头部装载不同hash值连接在一起的一种链式数据结构,并通过密码学的知识保证其不可篡改和不可伪造的特性而形成的一种分布式账本。广义上,区块链技术是一种全新的分布式基础架构与计算范式,它利用公开的链式数据结构来存储和验证重要数据,利用分布式节点和统一的共识机制来生成区块数据,利用密码学的知识保证数据传输和访问的安全和防篡改的特性,其链式结构又可供交易数据的追溯,并且可以通过自动化脚本代码组成的智能合约来编程和操作数据。
[0008] 区块链格式首先用于比特币,作为解决数据库安全和不需要信任的管理员问题的解决方案。第一块区块链由中本聪在2008年概念化,并在次年实施作为数字货币比特币的核心组成部分,通过使用对等网络和分布式时间戳服务器,区块链数据库被自主地管理。比特币区块链的发明使它成为第一个解决双重支出问题的数字货币,比特币设计一直是其他区块链应用的灵感。
[0009] 共识算法是区块链中不可回避的话题,正是由于区块链是分布式的存储,因此达成一致即共识算法,尤为重要,共识算法决定了区块链能否正常工作和是否安全。在比特币中,共识算法是PoW(Proof of Work),该算法消耗大量计算机资源,并且交易速度慢至不足10个/秒,广为诟病。此后,以太坊提出PoS(Proof of Stake)进行改善,但仍在探索和实施中。EOS的出现带动了DPOS(DecentralizedProof of Stake)的具体实施,其采用的石墨烯技术使得交易速度大大增加。但是相对的,原本完全去中心化的设计被掌控在21个超级节点手中。本发明借鉴了多节点的思想,将原本CPABE(基于密文策略的属性加密)中心化的密钥分发机构变成多个数字证书认证机构(Certificate Authority,缩写为CA)和多个属性权限认证机构(Attribute Authorities,缩写为AA),成为一个多节点协同计算主密钥、分发用户密钥的系统,使得其密码体系更加契合区块链的特性。并且多节点的结构还有助于解决原本CPABE单点瓶颈的问题,使得节点即使被攻破一定数量之后也能保证整个体系的安全,不至于泄露最重要的主密钥。
[0010] 数字证书认证机构(CA),也称为电子商务认证中心、电子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。用户若欲获取证书,应先向 CA 提出申请,CA 判明申请者的身份后,为之分配一个公钥,并将该公钥与其身份信息绑定,为该整体签字,签字后的整体即为证书,发还给申请者。如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。本发明中CA中心节点的生成为所有的AA所共识产生,以达成去中心化的系统。

发明内容

[0011] 本发明目的在于在现今频发的企业用户密码数据库泄露和丢失事件,和接触区块链的用户对于存储公私钥对的体验不友好问题,提供一种用户体验友好的账户密码方案--弱中心密码授权方法。
[0012] 本发明首先借鉴多节点的思想,将原本CPABE(基于密文策略的属性加密)中心化的密钥分发机构变成多个数字证书认证机构(Certificate Authority,缩写为CA)和多个属性权限认证机构(Attribute Authorities,缩写为AA),成为一个多节点协同计算主密钥、分发用户密钥的系统,使得其密码体系更加契合区块链的特性。并且多节点的结构还有助于解决原本CPABE单点瓶颈的问题,使得节点即使被攻破一定数量之后也能保证整个体系的安全,不至于泄露最重要的主密钥。
[0013] 本发明提出的弱中心密码授权方法,是基于属性密码、区块链技术的,即利用区块链分布式、不可篡改等特性,以及属性密码的可扩展性,提供弱中心密码授权方法。具体步骤为:(1)区块链初始化;多个AA节点使用DPOS模式进行属性密码的初始化工作,并将公共参数上链处理,每个AA产生一个CA节点负责不同区域的证书颁发工作,并且CA之间可以通过交换信息使得证书是通用的;
(2)用户注册;用户注册通过向最近的CA节点申请证书,根据证书向指定数量的AA节点发送注册所需要的属性,单独选择其中一个AA发送账户密码和访问控制策略(可以多个),称之为special-AA;AA节点根据其属性生成对应私钥组成部分,将多个私钥组成部分返回给special-AA,由其组成用户私钥,之后用其加密特定信息(若访问控制策略为多个,则还要加密用户指定信息)上链,并加密上链用户的账户密码;
(3)开放授权第三方;用户登录其他有OVSSL证书的第三方网站时,可以向区块链请求令牌,用户登录区块链成功之后区块链自动给予第三方令牌;
(4)用户修改密码;用户若要修改密码,可以发送属性给AA节点请求修改密码,同时选择一个special-AA发送修改后的密码;special-AA节点先对用户进行审核(具体实施方案中详细说明),审核通过后AA节点根据属性新生成私钥组成部分发送给special-AA,special-AA使用组合成的用户私钥解密当初注册时加密上链的信息;如果成功匹配则将更新后的账户密码加密上链;
(5)系统安全保护;在区块链对用户登录做出一系列安全限制的同时,多个CA节点还负责监控不同的区域;如果发现恶意用户妄图攻击密码服务平台,则负责该区域的CA节点将其加入黑名单,并且CA节点之间的黑名单可以像证书一样分享,如果要解除黑名单需要向AA节点申请,人工审核是否解除其黑名单限制。
[0014] 本发明采用属性密码的安全结构和区块链弱中心化、不可篡改的特性,提供了安全、可靠、可信赖、自动化的一系列密码服务,减少了用户存储传统公私钥对和忘记密码的成本,并降低中心化数据库因为各种原因丢失或者泄露用户的账号密码数据造成的损失。
[0015] 本发明方法不拘泥于应用受限的区块链行业,提出第三方授权登录的模式,可以一号多用,方便使用。附图说明
[0016] 图1为区块链初始化过程图示。
[0017] 图2为用户注册过程图示。
[0018] 图3为开放授权第三方过程图示。
[0019] 图4为用户修改密码过程图示。
[0020] 图5为用户获取设定的额外提示信息过程(可选)图示。
[0021] 图6为系统安全保护图示。

具体实施方式

[0022] 下面通过具体实施例进一步描述本发明,以便相关领域的技术人员能更好地理解本发明技术和功能特点,但本发明的保护范围不限于下述实施例。
[0023] 在本实施例中,编程语言为JavaScript、GoLang、html,浏览器为chrome。
[0024] 例子提出总共3类节点,AA节点——CA节点——用户节点。具体流程为:一、区块链初始化,其流程见图1所示。
[0025] 1、AA节点使用DPOS投票产生初始的一些公共参数并上链,例如主公钥、总AA数n、投票阈值t:一般为AA总数* +1;生成各自对应的CA节点并进行区域划分方便今后的信息交换,配置好CA节点证书申请端口;2、AA节点进行秘密参数交互,每个AA将自己的生成的主密钥组成部分发送给其他的 (t-1)个AA节点,生成关键公共参数后进行DPOS投票,最终完成初始化工作,生成参数并上链;
3、区块链初始化过程结束。
[0026] 二、用户注册,其流程见图2所示。
[0027] 1、用户向最近的CA节点请求申请证书(DVSSL型),申请成功后根据CA颁发的证书向指定数量AA节点发送6个属性(例如:3个固定属性,身份证+手机号+邮箱,3个自设属性,仅对属性长度有限制),并从中选择一个special-AA发送账户密码和访问控制策略(至少为1个,多个访问控制策略还需要额外提供明文信息,此处可以用更简易的访问控制策略加密一些提示信息以防忘记属性信息等);
2、非special的AA节点根据属性生成特定的私钥组成部分,并将其发送给special-AA,special-AA将其组合成用户密钥,然后用其加密特定信息(可以是用户证书,使用默认访问策略)和额外信息(可以是提示自设属性的信息,使用额外访问策略);
3、special-AA检测用户账户名是否冲突,冲突则重新请求,不冲突则将密文信息上链,将账户密码使用PBKDF2方式加密存储在区块链中,信息不可被外界以任意方式获取;
4、用户注册过程结束。
[0028] 三、开放授权第三方,其流程见图3所示。
[0029] 1、用户在第三方网站请求使用区块链账户进行登录;2、第三方网站向区块链请求令牌;
3、区块链检查第三方网站证书(例如至少为OVSSL型的证书)。若没有证书则拒绝登录。
证书符合规定则区块链返回登录接口
4、第三方网站打开登录界面;
5、用户在登录接口上输入账户密码进行身份验证登录,账户密码信息传回区块链进行验证;
6、区块链通过PBKDF2比对其账户密码,匹配成功即向第三方网站发放令牌,失败则返回“账户或密码错误”;
7、开放授权第三方过程结束。
[0030] 四、用户修改密码,其流程见图4所示。
[0031] 1、用户根据证书向AA节点申请修改密码,发送6个属性,选择special-AA并发送修改后的新密码;2、spcial-AA进行用户行为审核。可以是通过验证用户是否能正确选出近期登录过的网站,和其头像等信息进行审核;
3、审核通过后,非special的AA节点通信后生成私钥组成部分发给special-AA;
4、spcial-AA从区块链上获取注册时的加密信息;
5、spcial-AA组成用户私钥并解密链上信息。若符合默认访问控制策略则解密成功,解密得到的明文能匹配用户证书信息,则更新链上用户账户密码信息。若不符合默认访问控制策略则解密失败,或者解密得到的明文不匹配用户证书信息,则返回错误提示;
6、用户修改密码过程结束。
[0032] 五、用户获取设定的额外提示信息(可选),其流程见图5所示。
[0033] 1、用户根据证书向AA节点申请获取提示信息,发送x个属性(x≤6),选择special-AA;2、非special的AA节点生成私钥组成部分发给special-AA;
3、spcial-AA从区块链上获取注册时的额外信息;
4、spcial-AA组成用户私钥并解密链上信息。若符合访问控制策略则解密成功,解密得到的明文能匹配用户证书信息,则返回额外信息解密出的明文。若不符合访问控制策略则解密失败,或者解密得到的明文不匹配用户证书信息,则返回错误提示;
5、用户获取设定的额外提示信息过程结束。
[0034] 六、系统安全保护,参见图6所示。
[0035] 1、CA节点监控所负责区域的用户登录行为,如果发现其有疑似恶意用户的登录行为,例如单用户单位时间登录错误超过一定次数,则将登录ip加入黑名单中,并与其他CA节点共享黑名单;2、被封禁用户可以提交相关材料给AA节点群申请解禁,将进行人工审核DPOS投票,赞同解禁的投票数不小于t则予以解封,否则继续封禁。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈