一种基于分布式身份的软件授权系统及方法技术方案

技术编号:29526814 阅读:14 留言:0更新日期:2021-08-03 15:13
本发明专利技术属于软件授权技术领域,公开了一种基于分布式身份的软件授权系统及方法,所述基于分布式身份的软件授权系统包括:软件授权模块,包括用户或设备身份标识符创建、授权证书签发两个子模块;数据存证模块,授权方为所颁发的授权证书生成哈希摘要并写入签名,以完成存证创建并存至区块链上;授权验证模块,系统分别支持通过链上和链下两种认证方式;授权撤销模块,当授权证书更新或到期时,则需进行凭证撤销。本发明专利技术通过提高身份创建的代价、属性‑凭证唯一性策略,解决非授权用户之间非法共享授权证书等问题,提供一种更低成本、认证方式便捷、全新、安全、高效的基于分布式身份的软件授权系统,适用于软件虚拟化场景和物理空间频繁切换场景。

【技术实现步骤摘要】
一种基于分布式身份的软件授权系统及方法
本专利技术属于软件授权
,尤其涉及一种基于分布式身份的软件授权系统及方法。
技术介绍
目前,市场流行的软件授权发证方式通常是通过使用设备出厂ID的哈希值、版本号、MAC值等物理属性来绑定证书,而在软件虚拟化场景中通常不存在可以用来绑定的设备物理属性,物理设备频繁切换的场景中则面临着授权证书频频失效和频繁重申请的问题,因此该方法通常不适用于软件虚拟化场景和物理设备频繁切换场景。如何寻找设备物理属性的替代属性成为困难问题。理所当然的思路是将软件授权与设备的物理属性解耦,从而指向其他的标识符标准,以此避免虚拟机任务迁移和复制引发的授权失效问题,更好地适应软硬件虚拟化和应用虚拟化移动性等特性。但是软件属性通常容易被复制,如何找到一个适合应用迁移的非物理属性的绑定标准,又能抵抗授权证书的复制和共谋,是当前面临的主要挑战。通过上述分析,现有技术存在的问题及缺陷为:现有软件授权发证方式通常是通过使用设备出厂ID的哈希值、版本号、MAC值等物理属性来绑定证书,而在软件虚拟化场景中通常不存在可以用来绑定的设备物理属性,物理设备频繁切换的场景中则面临着授权证书频频失效和频繁重申请的问题,因此该方法通常不适用于软件虚拟化场景和物理设备频繁切换场景。而软件属性通常可复制,进一步导致了软件虚拟化场景“无属性可绑”的尴尬境地。解决以上问题及缺陷的难度为:如何找到一个替代的物理属性来绑定证书,或者使非物理属性能防复制和防转让是当前面临的主要挑战。解决以上问题及缺陷的意义为:在无物理属性可用或无法使用物理属性的情况下,寻求基于软件属性颁发授权证书的替代产品,设计和实现一种基于分布式身份的软件授权系统及方法,解决现有软件属性的弊端(可复制、可转让性)以实现更廉价、更灵活、更便捷和细粒度的软件授权。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种基于分布式身份的软件授权系统及方法,尤其涉及一种基于区块链的基于分布式身份的软件授权系统及方法。本专利技术是这样实现的,一种基于分布式身份的软件授权系统,所述基于分布式身份的软件授权系统包括:软件授权模块、数据存证模块、授权验证模块和授权撤销模块;软件授权模块,包括用户或设备身份标识符创建、授权证书签发两个子模块,此外系统支持二次授权机制和临时授权机制;数据存证模块,授权方为所颁发的授权证书生成哈希摘要并写入签名,以完成存证创建并存至区块链上;授权验证模块,系统分别支持通过链上和链下两种认证方式;其中链下模式可以更好与已有业务系统结合,支持应用快速上链;授权撤销模块,当授权证书更新或到期时,则需要进行凭证撤销;当授权证书更新时,软件授权方调用授权证书控制合约,更改原凭证的撤销属性,然后调用存证智能合约,更新凭证Hash值、签名值及更新时间等属性,对应的存证并以事件的方式记录上链,记录新块高。进一步,所述基于分布式身份的软件授权系统,还包括:在授权开始时,软件使用方可以实时向软件授权方进行身份凭证的申请,颁发授权证书时,系统对凭证的存证存储至区块链,软件验证模块对所提交的身份凭证进行链上查验以确定凭证的真实性、有效性和完整性。进一步,所述基于分布式身份的软件授权系统角色包括:软件使用方、软件授权方和软件验证系统;其中,所述软件授权方负责颁发授权证书,可以是软件开发者或者其他开发者授权的实体;所述软件使用方负责申请授权证书,是购买授权证书的主体;所述软件验证系统负责验证授权证书。进一步,所述软件授权模块,包括:身份标识符创建:当软件使用方申请授权证书时,系统为使用方创建用户或设备身份标识符并设置相应的属性参数,该标识符是全局唯一的。软件授权通常需要绑定用户的唯一身份标识符或唯一属性,并通过身份标识符注册合约将身份文档信息记录于链上。授权证书签发:获得身份标识符之后,软件使用方提供其身份标识符及其其他唯一属性的签名,授权方核验后,为授权证书添加凭证授权时间、软件相关属性、使用方自身属性和授权方的签名信息,完成授权证书的创建和签发。二次授权机制:针对公司打包购买软件场景,软件授权方作为主授权中心,可以为购买方颁发主证书,并授予主证书和该购买方二次授权的权利,提供二次授权机构的身份标识符、主证书链接摘要、授权有效期和最大发证数量属性。二次授权证书必须采取链上验证的模式,同时验证主证书摘要、二次授权证书签发机构、证书有效期和该机构已签发数量。临时授权机制:购买公司可以作为子授权中心为外包人员,即软件使用方颁发临时授权证书,因此系统必须具备证书撤销功能,撤销模块将在后文详细论述。临时授权证书一般以天/周为有效期单位,并在凭证中添加临时凭证标志,且占用最大发证数量指标,但是一旦临时授权证书被销毁或撤销,则在子授权机构有效期内可以重新颁发授权凭证。进一步,所述授权验证模块,包括:链下模式中,系统只需提供验证授权证书的签名、有效期、是否撤销等条目来判断授权证书的真伪。适用于安全需求较低的场景或者离线/应急场景。链上模式中,通过智能合约可自动化完成凭证使用的全流程管理。输入软件授权证书,系统通过验证授权证书的签名、有效期、是否撤销等条目,来判断授权证书的真伪,然后将凭证反向构造存证,向区块链查询和比较存证来证明所持凭证的一致性。适用于安全需求较高的场景。进一步,所述授权撤销模块,包括:授权撤销基于辅链的撤销方法,撤销具体包括(临时)证书撤销、证书更新、证书过期等情况。如果(临时)证书撤销,则以软件授权方为单位,将撤销凭证上辅链。当授权证书更新时,软件授权方调用授权证书控制合约,更改原凭证的撤销属性,然后调用存证智能合约,更新证书的哈希存证、签名值及更新时间等属性,对应的存证并以事件的方式记录上链,记录新块高。如果授权证书到期,则无需上链。进一步,所述基于分布式身份的软件授权系统的系统目标,包括:隐私保护机制:系统支持软件使用方以隐私保护的方式提供自身属性,基于承诺和零知识证明技术,使用方可以向验证方证明并使其相信自己知道或拥有某一消息而无需揭露该消息。具体实施包括:软件使用方将其自身的属性转换成离散模型值,生成密码承诺声明,并将其身份标识符和密码承诺的签名发送给软件授权方;软件授权方基于零知识证明的技术验证承诺的真实性,并颁发相应的授权证书。不可转让机制:系统需要保证每个软件使用方只对应一个唯一的身份标识符,每个注册身份标识符用户需要通过KYC验证是一项验证用户身份的流程,如果存在已注册的身份标识符,则系统不再为用户注册新的身份标识符。该设置使得用户身份标识具有抗女巫攻击的能力。同理,对于使用方的唯一独特属性,系统也维护一张目标用户独特属性的秘密共享表,在颁发软件授权证书前,需要先检查表中这些属性是否存在已发布的凭证。软件授权系统需要确保一个唯一的特殊属性只颁发一个唯一对应的凭证,从而实现抗女巫攻击。使系统具有抗女巫攻击的能力能够确保身份标识符和凭证的唯一性和不可转让性。只有确认使用方的声明属性是唯一的本文档来自技高网
...

【技术保护点】
1.一种基于分布式身份的软件授权系统,其特征在于,所述基于分布式身份的软件授权系统包括:软件授权模块、数据存证模块、授权验证模块和授权撤销模块;/n软件授权模块,包括使用方或设备身份标识符创建、授权证书签发两个子模块,此外系统支持二次授权机制和临时授权机制;/n数据存证模块,授权方为所颁发的授权证书生成哈希摘要并写入签名,以完成存证创建并存至区块链上;/n授权验证模块,系统分别支持通过链上和链下两种认证方式;其中链下模式可以更好与已有业务系统结合,支持应用快速上链;/n授权撤销模块,当授权证书更新或到期时,则需要进行凭证撤销;当授权证书更新时,软件授权方调用授权证书控制合约,更改原凭证的撤销属性,然后调用存证智能合约,更新凭证Hash值、签名值及更新时间等属性,对应的存证并以事件的方式记录上链,记录新块高;/n所述基于分布式身份的软件授权系统,还包括:/n在授权开始时,软件使用方可以实时向软件授权方进行身份凭证的申请,颁发授权证书时,系统对凭证的存证存储至区块链,软件验证模块对所提交的身份凭证进行链上查验以确定凭证的真实性、有效性和完整性;/n所述基于分布式身份的软件授权系统角色包括:软件使用方、软件授权方和软件验证系统;其中,所述软件授权方负责颁发授权证书,可以是软件开发者或者其他开发者授权的实体;所述软件使用方负责申请授权证书,是购买授权证书的主体;所述软件验证系统负责验证授权证书。/n...

【技术特征摘要】
1.一种基于分布式身份的软件授权系统,其特征在于,所述基于分布式身份的软件授权系统包括:软件授权模块、数据存证模块、授权验证模块和授权撤销模块;
软件授权模块,包括使用方或设备身份标识符创建、授权证书签发两个子模块,此外系统支持二次授权机制和临时授权机制;
数据存证模块,授权方为所颁发的授权证书生成哈希摘要并写入签名,以完成存证创建并存至区块链上;
授权验证模块,系统分别支持通过链上和链下两种认证方式;其中链下模式可以更好与已有业务系统结合,支持应用快速上链;
授权撤销模块,当授权证书更新或到期时,则需要进行凭证撤销;当授权证书更新时,软件授权方调用授权证书控制合约,更改原凭证的撤销属性,然后调用存证智能合约,更新凭证Hash值、签名值及更新时间等属性,对应的存证并以事件的方式记录上链,记录新块高;
所述基于分布式身份的软件授权系统,还包括:
在授权开始时,软件使用方可以实时向软件授权方进行身份凭证的申请,颁发授权证书时,系统对凭证的存证存储至区块链,软件验证模块对所提交的身份凭证进行链上查验以确定凭证的真实性、有效性和完整性;
所述基于分布式身份的软件授权系统角色包括:软件使用方、软件授权方和软件验证系统;其中,所述软件授权方负责颁发授权证书,可以是软件开发者或者其他开发者授权的实体;所述软件使用方负责申请授权证书,是购买授权证书的主体;所述软件验证系统负责验证授权证书。


2.如权利要求1所述的基于分布式身份的软件授权系统,其特征在于,所述基于分布式身份的软件授权系统的系统目标包括:
隐私保护机制:系统基于承诺和零知识证明技术使得使用方可以向验证方证明并使其相信自己知道或拥有某一消息而无需揭露该消息,从而达到隐私保护的效果;
不可转让机制:软件授权系统通过确保每个唯一的身份标识符或唯一的可验证属性只对应颁发一个唯一的授权证书,实现了抗女巫攻击;使系统具有抗女巫攻击的能力能够确保身份标识符和凭证的唯一性和不可转让性。


3.如权利要求1所述的基于分布式身份的软件授权系统,其特征在于,所述软件授权模块,包括:
身份标识符创建:当软件使用方申请授权证书时,系统为软件使用方创建用户或设备身份标识符并设置相应的属性参数,该标识符是全局唯一的;软件授权通常需要绑定软件使用方的唯一身份标识符或唯一属性,并通过身份标识符注册智能合约将身份文档信息记录于链上;
授权证书签发:获得身份标识符之后,软件使用方提供其身份标识符及其其他唯一属性的签名,授权方核验后,为授权证书添加凭证授权时间、软件相关属性、使用方自身属性和授权方的签名信息,完成授权证书的创建和签发;
二次授权机制:针对公司打包购买软件场景,软件授权方作为主授权中心,可以为购买方颁发主证书,并授予主证书和该购买方二次授权的权利,提供二次授权机构的身份标识符、主证书链接摘要、授权有效期和最大发证数量属性;二次授权证书必须采取链上验证的模式,同时验证主证书摘要、二次授权证书签发机构、证书有效期和该机构已签发数量;
临时授权机制:购买公司可以作为子授权中心为外包人员,即软件使用方颁发临时授权证书,因此系统必须具备证书撤销功能,撤...

【专利技术属性】
技术研发人员:裴庆祺尹洁
申请(专利权)人:西安西电链融科技有限公司西安电子科技大学
类型:发明
国别省市:陕西;61

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

1