CN115865520B - 移动云服务环境中具有隐私保护的认证和访问控制方法 - Google Patents
移动云服务环境中具有隐私保护的认证和访问控制方法 Download PDFInfo
- Publication number
- CN115865520B CN115865520B CN202310085099.9A CN202310085099A CN115865520B CN 115865520 B CN115865520 B CN 115865520B CN 202310085099 A CN202310085099 A CN 202310085099A CN 115865520 B CN115865520 B CN 115865520B
- Authority
- CN
- China
- Prior art keywords
- user
- service
- registry
- information
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明涉及移动云服务环境中具有隐私保护的认证和访问控制方法,包括步骤:注册中心协商并发布初始化系统的参数;服务提供商向注册中心提供相关信息以申请注册;新的用户需要访问服务提供商时,向注册中心提供相关信息以申请注册;用户需要访问服务提供商所提供的服务资源时,服务资源对用户的身份进行认证,并对用户的访问权限进行授权;用户需要更新对服务资源的访问权限时,用户向注册中心提交权限更新请求,注册中心更新用户的访问权限后,更新该用户的相关参数并发送给用户,用户更新智能卡中的相关参数;用户需要更新口令时,用户使用旧的口令向智能卡确认身份后,更新智能卡中新的口令的相关参数。
Description
技术领域
本发明涉及云计算技术领域,特别涉及一种移动云服务环境中具有隐私保护的认证和访问控制方法。
背景技术
随着云计算技术的成熟和市场的推广,云计算服务在各种应用中发挥着越来越重要的作用,特别是在线文件存储、云备份、流媒体服务等。由于云计算服务的经济性、灵活性和可扩展性,越来越多的企业和个人租用云服务计算作为一种服务来支持他们的业务。目前,云服务环境通常由一个注册中心、大量用户和几个服务提供商组成。通常情况下,远程用户在使用或访问一个服务提供商中的服务之前都需要进行注册。显然,在每个服务提供商上注册不同的账户并维护相应的凭据和授权列表是非常繁琐的。因此,用户使用单一凭据以不同的访问等级访问不同的服务提供商的认证和分级访问一体化方法是一个严峻的挑战。
针对这一挑战,研究者提出了一系列统一认证和访问控制方案,主要包括单点登陆、多服务器认证、基于证书的访问控制、基于区块链的访问控制:
OAuth(Open Authorization)是一种典型的单点登陆认证标准,其依赖安全套接字协议(SSL,Secure Sockets Layer)和安全传输层协议(TLS,Transport LayerSecurity)来传输消息。然而安全套接字协议或安全传输层协议实现的计算成本很高,不适合终端资源有限的移动云服务环境。此外,这类单点登陆方式总是需要一个可信的第三方来帮助认证。若处理认证请求达到一定量级,那么可信第三方处理能力将成为瓶颈。
基于多服务器认证技术的方式虽然可以避免这些问题,但更多的关注身份验证和身份隐私保护,而很少关注服务分级访问控制。使用多服务器认证技术的移动云服务环境访问控制系统通常需要一个额外的授权策略。
基于证书的访问控制和基于区块链的访问控制是移动云服务环境中实现身份认证和分级访问控制的两种有效方法。虽然基于区块链的移动系统易于实现一体化认证和分级访问控制,但其存储和通信开销较大,并随着用户和服务提供商数量的增加而持续增长。基于证书的移动系统一体化认证和分级访问控制避免了这个问题。然而,它需要一个可信的第三方注册中心来管理用户的身份、访问权限。这两种方式各有优劣,需要根据实际应用场景进行选择。
鉴于此,基于证书的一体化认证和访问控制存在访问信息隐私泄漏问题的解决方案依然有待解决。
发明内容
本发明的目的在于解决基于证书的一体化认证和访问控制存在访问信息隐私泄漏的问题,提供一种移动云服务环境中具有隐私保护的认证和访问控制方法。
为了实现上述发明目的,本发明实施例提供了以下技术方案:
移动云服务环境中具有隐私保护的认证和访问控制方法,包括以下步骤:
系统初始化阶段:注册中心协商初始化系统的参数{G,q,P,PK,h0,h1,h2,h3,h4},并向移动云服务环境中所有的服务提供商和用户发布系统的参数;
服务提供商注册阶段:服务提供商向注册中心提供相关信息以申请注册,若注册成功,则注册中心给服务提供商返回相关参数;
用户注册阶段:新的用户需要访问服务提供商时,向注册中心提供相关信息以申请注册,若注册成功,则注册中心给用户返回相关参数;
认证和授权阶段:用户需要访问服务提供商所提供的服务资源时,服务资源对用户的身份进行认证,并对用户的访问权限进行授权;
用户访问权限更新阶段:用户需要更新对服务资源的访问权限时,用户向注册中心提交权限更新请求,注册中心更新用户的访问权限后,更新该用户的相关参数并发送给用户,用户更新智能卡中的相关参数;
用户口令更新阶段:用户需要更新口令时,用户使用旧的口令向智能卡确认身份后,更新智能卡中新的口令的相关参数。
与现有技术相比,本发明的有益效果:
(1)相互认证:消息接收者能够验证收到的消息的合法性,本发明使用安全哈希函数h0、h1、h2、h3、h4,如果h0、h1、h2、h3、h4是理想随机函数,并且假设离散对数问题(DL,TheDiscrete Logarithm)和密钥交换问题(CDH,The Computational Diffie-Hellman)是困难的,则不存在可以模拟合法用户或服务提供商的多项式对手。因此,用户和服务提供商之间可以成功进行身份验证。
(2)用户匿名:在公共信道上传输的用户身份由h0(IDsj||k||T1)加密,为了窃听用户的身份或者服务资源Sj的私钥KSj,攻击者必须窃取用户每次的会话随机数rx,否则,攻击者不能一次性破解密文CT=(IDi||Gwi||Pj||PT||LTi)⊕h0(IDsj||k||T1)。因此,本发明提供了用户匿名性和不可追踪性。
(3)双因子安全:双因子安全是指用户的两个认证因子中有一个因子泄漏了,不会对协议造成安全威胁,本发明协议中用户的两个因子分别为口令和智能卡,当口令泄漏时,没有智能卡的攻击者是无法从公开信道上传输的消息中恢复KUi||Gwi||MTi||LTi的,从而无法完成认证和密钥协商;另一方面,当用户的智能卡丢失时,假设此时攻击者能够提取出已丢失或被盗的卡中的秘密参数。但是,在这种情况下,攻击者仍然无法通过口令猜测攻击者来窃取正确的密码。因为口令|PW|的空间分布为1024个候选口令|PW/1024|,由此攻击者很难猜出正确密码。总之,如果攻击者只得到其中一张智能卡或口令,就无法伪造合法用户。因此,本发明提供了双因子安全。
(4)前向安全:当用户Ui和服务资源Sj的私钥泄漏时,假设攻击者有能力计算uSk=h4(IDi||uX||uY||uy·uX||uk`)或uSK` = h4(IDi||uX||uY||ux·uY||uk)时,这意味着攻击者可以劫持当前会话。然而,如果没有会话随机数rx和ry的值,并且rx和ry在每个身份验证会话中都会重新选择,则攻击者无法伪造之前的会话密钥。因此,本发明提供了前向安全。
(5)防口令错处登陆与修改攻击:本发明用户的口令存储在智能卡可能会遇到两种错误操作情况,一方面,攻击者可能会尝试修改密码;另一方面,用户可能输入了错误的口令。在口令修改过程中,未确认用户身份会导致口令更新错误。本发明利用口令验证信息Ver=h3(h2(KUi||Gwi||MTi||LTi||Ci))存储在智能卡中检验口令的正确性。如果用户输入口令错误,则在智能卡中不会通过,进而防止了用户去占用服务资源。因此,本发明为用户的口令登陆、修改的安全性提供了保护。
(6)分级访问控制:本发明中用户请求访问的所有服务提供商所提供的服务资源,使用用户的访问权限Pj、注册中心RC分别与各服务资源的共享秘密Kj和服务时限LTi,先计算各个叶子节点的路径值L=h3(LTi||Pj||Kj),非叶子节点取其孩子的哈希值,构造一颗用户访问权限的权限树MTi。在身份验证和授权阶段,服务资源Sj恢复权限树的根植Rt=h3(h3(h3(h3(LTi||Pj||Kj),Au1),Au2)...Aua),用户获取HIDi`=h1(IDi||Gwi||Rt||LTi),并检查δi·P=hi`·X+Gwi+HIDi`·PK的等式是否成立,从而决定访问权限Pj。因此,在时限双向认证时,分层访问控制也同时实现了用户按照不同服务定义的权限访问的授权。
(7)防止越权攻击:在本发明中访问权限Pj可能被恶意用户修改,以试图超越其权限访问服务资源,然而,对于任何一个叶子节点的路径值L=h3(LTi||Pj||Kj)的变化,都会导致权限树MTi的根值Rt也发生变化,对此服务资源能够检测到等式δi·P=hi`·X+Gwi+HIDi`·PK在这种情况下是不成立的,并且拒绝用户的访问请求。除此之外,构造用户的私钥KUi=wj+sk·HIDimod q中的HIDi涉及Rt的值,所以用户一旦修改权限直接导致用户的私钥KUi失败。因此,如果用户试图在没有相关权限的情况下进行访问,则身份验证会话会被中断。
(8)访问权限动态更新:在本发明中当用户决定更新访问权限时,通过相应服务资源Sj的身份信息IDsj,查询到对应的访问权限Pj,然后进行修改,之后在中更新,更新后的集合uPI通过公开信道向注册中心RC发送更新请求。注册中心RC确认验证用户身份后,根据用户信息确认更新权限的合法性。之后,重新计算权限树MTi的新叶子节点的路径值,即Lu1=h3(LTi||Ku1||Pu1),Lu2=h3(LTi||Ku2||Pu2),...,Lua=h3(LTi||Kua||Pua),注册中心RC重新构造一个权限树MTi*,进而得到新的根植Rt*。紧接着,计算用户新的公钥Gwi*、私钥KUi*以及根植Rt*。最后,用户验证注册中心身份后,用户通过注册中心RC发送相关信息恢复构建新的权限树MTi*和根植Rt*,同时计算并更新智能卡SC中涉及的相关参数。
(9)访问权限隐私保护:本发明采用Merkle Tree结合共享密钥Kj保护用户访问权限的隐私性,一般服务资源Sj需获取访问权限Pj和访问路径PT={Au1,Au2,...,Aua}来恢复权限树MTi的根植Rt来确定用户的访问权限。因此,服务资源Sj至少知道一个哈希值h3(LTi||Pj||Kj),而其他服务资源上的访问权限,如“Au1=L2=h3(LTi||P2||K2)”服务资源必须知道或猜测共享密钥Kj的值才能计算得出。然而,对于每个服务资源Sj私下保存的Kj在理想的安全哈希函数下猜测Kj是不可行的。此外,易受攻击的用户只保留了权限树MTi,也不知道或者猜测共享密钥Kj。因此,本发明保证了用户访问的强隐私性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明移动云服务环境中的系统示意图;
图2为本发明实施例1系统初始化阶段流程图;
图3为本发明实施例1服务提供商注册阶段流程图;
图4为本发明实施例1用户注册阶段流程图;
图5为本发明实施例1认证和授权阶段流程图;
图6为本发明实施例1用户访问权限更新阶段流程图;
图7为本发明实施例1用户口令更新阶段流程图;
图8为本发明实施例1权限树路径值示意图;
图9为本发明实施例1用户获取服务资源S1的访问权限时构造的权限树示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性,或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。另外,术语“相连”、“连接”等可以是元件之间直接相连,也可以是经由其他元件的间接相连。
实施例1:
请参见图1,本发明所涉及的移动云服务环境中的系统主要包括四个部分:(1)一个注册中心RC(Registration Center),注册中心RC是完全可信中心,负责注册和授权管理;(2)若干服务提供商SPrj(Service Provider),j表示第j个服务提供商(1≤j≤m),每个服务提供商SPrj对用户Ui设置了不同的访问权限;(3)若干访问云服务的用户Ui(User),i表示第i个用户(1≤i≤n);(4)智能卡SC(Smart Card),每个用户可使用智能卡SC从服务提供商SPrj处访问所需的服务资源Sj,Sj表示第j个服务提供商所提供的服务资源。
本发明通过下述技术方案实现:
在系统初始化阶段,注册中心RC协商初始化系统的参数。
在服务提供商注册阶段,当新的服务提供商SPrj需要加入移动云服务环境时,服务提供商SPrj需要向注册中心RC提供相关信息以申请注册,注册中心RC给服务提供商SPrj返回相关参数。
在用户注册阶段,当新的用户Ui需要访问某些云服务时,用户Ui需要向注册中心RC提供相关信息以申请注册,注册中心RC给用户Ui返回相关参数。
在认证和授权阶段,当用户Ui要远程访问服务提供商SPrj的服务资源Sj时,服务提供商SPrj应当验证用户Ui的身份和访问权限,授予用户Ui一定权限,从而提供相应权限的服务资源Sj。
在用户访问权限更新阶段,如果用户Ui要更新一个或多个服务资源的访问权限时,需重新向注册中心RC提交新的请求。
在用户口令更新阶段,如果用户Ui要更新口令,需更新智能卡SC中的相关参数。
详细来说,如图1所示,一种移动云服务环境中具有隐私保护的认证和访问控制方法,包括以下步骤(需要说明的是,下述步骤之间没有严格的顺序关系,特别是步骤2、步骤3可以交换顺序,步骤5、步骤6之间可以交换顺序;并且图1中的序号仅便于理解本方案,不限定执行顺序):
步骤1,注册中心协商初始化系统的参数{G,q,P,PK,h0,h1,h2,h3,h4},并向移动云服务环境中所有的服务提供商和用户发布系统的参数。
本步骤为系统初始化阶段,请参见图2,注册中心RC协商选择一个阶数为q的椭圆曲线加法循环群G,P为G的生成元。注册中心RC协商确定5个安全哈希函数用于后续的计算,分别为h0、h1、h2、h3、h4,有:
h0:{0,1}*→{0,1}l
h1:{0,1}*→Z* q
h2:{0,1}*→{0,1,2,...,1023}
h3:{0,1}*→{0,1}l
h4:{0,1}*→{0,1}l
其中,l是h0、h3、h4的输出,h0、h3、h4将输入的任意长度的二进制串转换成固定长度的输出二进制串,l即为输出二进制串的长度。h1中Z* q表示一个集合{0,1,2,...,q-1},将输入的任意长度的二进制串转换为集合Z* q中的任意一个元素作为输出。h2将输入的任意长度的二进制串转换为集合{0,1,2,...,1023}中的任意一个元素作为输出。
注册中心RC选择一个系统私钥sk,计算系统公钥PK=sk·P,注册中心RC将系统私钥sk作为秘密存储,并向移动云服务环境中所有的服务提供商和用户发布系统的参数{G,q,P,PK,h0,h1,h2,h3,h4}。
步骤2,服务提供商向注册中心提供相关信息以申请注册,若注册成功,则注册中心给服务提供商返回相关参数。
本步骤为服务提供商注册阶段,请参见图3,服务提供商SPrj的服务资源Sj选择一个唯一的身份信息IDsj和可定制的服务权限映射表PMsj,并将身份信息IDsj和服务权限映射表PMsj通过安全通道发送给注册中心RC。作为举例,服务权限映射表PMsj可根据需要定制为如表1所示的内容,但不限于此。
表1 服务权限映射表
注册中心RC收到身份信息IDsj后,首先检测服务资源Sj的身份信息IDsj在服务身份信息表中是否已存在,如果存在,则拒绝本次注册请求;否则,注册中心RC随机生成一个随机整数swj,计算SPj=swj·P,其中SPj作为服务资源Sj的公钥。计算身份信息IDsj拼接公钥SPj的哈希值为HIDsj=h1(IDsj||SPj),SKj=swj+sk·HIDsjmod q,其中SKj为服务资源Sj的私钥,||为连接符,mod q为取模运算。
注册中心RC选择一个随机数Kj作为服务资源Sj的共享密钥,将一组元信息{IDsj,PMsj,SPj,Kj}插入到服务身份信息表中,将一组元信息{KSj,SPj,Kj}通过安全通道发送给服务资源Sj。服务资源Sj将来自注册中心RC发送的元信息{KSj,SPj,Kj}进行存储。
步骤3,新的用户需要访问服务提供商时,向注册中心提供相关信息以申请注册,若注册成功,则注册中心给用户返回相关参数。
本步骤为用户注册阶段,请参见图4,用户Ui选择唯一的身份信息IDi、口令PWi和访问权限集合,SETID表示各个服务资源的身份信息IDs1,IDs2,...,IDsm,SETP表示用户Ui在各个服务资源的访问权限P1,P2,...,Pm。用户Ui选择一个随机数bi,利用安全哈希函数h0进行加密,计算密文Ci=h0(IDi||PWi||bi)。然后用户Ui通过安全通道将一组元信息{PI,IDi,Ci}和个人信息(如身份证、工作证等)发送给注册中心RC。
注册中心RC收到用户Ui发送的元信息{PI,IDi,Ci}后,首先检测用户Ui的身份信息IDi在用户身份信息表中是否已存在,如果存在,则拒绝本次注册请求;否则,注册中心RC通过个人信息确认访问权限集合PI的访问权限,注册中心RC确认后的用户Ui的访问权限集合为PI`。比如,对某一用户缴纳一级会员的费用则不能享用三级会员的服务资源,所以确认用户Ui的访问权限集合PI中的访问权限是必不可少的。
注册中心RC根据用户Ui的访问权限集合PI`与各服务资源Sj的共享密钥Kj为用户Ui构造一颗权限树MTi,并得出权限树MTi的根值Rt。注册中心RC随机生成一个随机整数wi,计算Gwi=wi·P,其中Gwi作为用户Ui的公钥。计算哈希值HIDi=h1(IDi||Gwi||Rt||LTi),KUi=wi+sk·HIDimod q,其中KUi为用户Ui的私钥,LTi为对用户Ui的服务时限。
注册中心RC计算密文Fi=Ci⊕(KUi||Gwi||MTi||LTi),并为智能卡SC设置本地验证信息Ver=h3(h2(KUi||Gwi||MTi||LTi||Ci)),防止用户以错误密码访问服务提供商时占用过多服务资源。
最后,注册中心RC将一组元信息{IDi,Gwi,LTi,MTi}插入用户身份信息表中,将一组元信息{Fi,Ver,PI,Slt}通过安全通道发送给用户Ui,其中集合。用户Ui将接收到的元信息{IDi,Gwi,LTi,MTi}安全存储到智能卡SC中。
步骤4,用户需要访问服务提供商所提供的服务资源时,服务资源对用户的身份进行认证,并对用户的访问权限进行授权。
本方案利用二叉树(MT,Merkle Tree)构造权限树,权限树上每个节点最多有两个子节点,无子节点的节点叫叶节点,有子节点的节点叫非叶节点,根节点没有父节点。叶节点存储的是单元数据,而叶节点的哈希值被称做路径值;非叶节点存储的是其子节点的哈希值,而非叶节点的哈希值被称做路径值。
例如,有8个服务提供商SPrj(j=8),在服务提供商注册阶段,注册中心RC为8个服务提供商SPrj分配共享密钥K1,K2,...,K8(此处的共享密钥是指注册中心RC与服务提供商SPrj共享,而不是服务提供商与服务提供商共享,或者服务提供商与用户的共享)。在用户Ui注册阶段,注册中心RC确认用户Ui与各个服务资源的访问请求PI,叶节点的路径值Lj=h3(LTi||Pj||Kj),非叶节点的路径值取其子节点h3的哈希值,如图8所示,其中每个服务提供商对应一个叶节点,各叶节点的路径值分别为:L1=h3(LTi||P1||K1)、L2=h3(LTi||P2||K2)、...L8=h3(LTi||P8||K8)。
由于服务提供商SPrj的共享密钥Kj只与注册中心RC共享,对于用户Ui取访问某个服务资源Sj时,需要知道其他节点的路径值才能构造出权限树,进而去验证权限树的根植Rt。那么可以在智能卡SC中预计算用户Ui需要访问各个服务资源的权限树MTi的访问路径PT={Au1,Au2,...,Aua},a=log2 m,m为服务提供商的数量(m=8)。比如用户Ui想获得服务资源S1的访问授权,j=1且a=3,则PT1={Au1=L2,Au2=L34,Au3=L58},如图9所示。
本步骤为认证和授权阶段,请参见图5,用户Ui向智能卡SC输入身份信息IDi和口令PWi以认证自身的身份,智能卡SC利用安全哈希函数h0计算密文Ci=h0(IDi||PWi||bi),通过本地存储的Ci⊕Fi取出用户Ui的私钥KUi、公钥Gwi、权限树MTi以及服务时限LTi,计算本地验证信息Ver` =h3(h2(KUi||Gwi|| MTi||LTi||Ci)),验证Ver`与Ver是否相等,若不相等,则禁止用户Ui访问服务资源Sj;否则,智能卡SC获取用户Ui对服务资源Sj的访问路径PT={Au1,Au2,..., Aua}。
接着,智能卡SC选择一个会话随机数rx,计算会话新鲜数x=h1(rx||KUi),通过x·P=X在公开信道传送X,对会话新鲜数x起着保护的作用。通过智能卡SC存储的集合Slt取出需要访问的服务资源Sj的身份信息IDsj和对应的公钥SPj,通过安全哈希函数h1取其哈希值为hsi=h1(IDsj||SPj)利用公钥SPj与会话新鲜数x构造会话密钥k=x·(SPj+hsi·PK)。用安全哈希函数h1计算(IDi,IDsj,Pj,X,k,T1)的摘要值为hi=h1(IDi||IDsj||Pj||X||k||T1),Pj为用户Ui对第j个服务资源的访问权限,T1为当前的时间戳。利用私钥KUi对摘要值hi进行签名得到签名信息δi=KUi+x·himod q,将用户Ui的信息异或操作至密文CT中,CT=(IDi||δi||Gwi||Pj||PT||LTi)⊕h0(IDsj||k||T1)。智能卡SC给出用户Ui的用户验证值V1=h3(IDi||IDsj||δi||Gwi||Pj||PT||LTi||k||T1),最后用户Ui通过公开信道将一组元信息{T1,X,CT,V1}发送给服务资源Sj。
服务资源Sj接收到元信息{T1,X,CT,V1}后,先检查时间戳T1的新鲜性,若已过期,则验证失败;否则,通过服务资源Sj的私钥KSj计算会话密钥k`=KSj·X,通过身份信息IDsj、会话密钥k`和时间戳T1从CT中取出需要验证的用户相关信息,即身份信息IDi、签名信息δi、公钥Gwi、访问权限Pj、访问路径PT、服务时限LTi,CT⊕h0(IDsj||k`||T1)=IDi||δi||Gwi||Pj||PT||LTi。计算V1`=h3(IDi||IDsj||δi||Gwi||Pj||PT||LTi||k`||T1)与V1是否相等,若不相等,则服务资源Sj认证用户Ui失败,并结束会话;否则,服务资源Sj对用户Ui的访问权限进行授权。
服务资源Sj利用与注册中心RC的共享密钥Kj、访问权限Pj、访问路径PT、服务时限LTi恢复权限树MTi的根值Rt,恢复用户Ui的摘要值hi`=h3(IDi||IDsj||Pj||X||k`||T1),恢复用户Ui的HIDi`=h1(IDi||Gwi||Rt||LTi)。接着检验等式δi·P=hi`·X+Gwi+HIDi`·PK是否成立,若不成立,则授权失败,并结束会话;否则服务资源Sj生成会话随机数ry,计算会话新鲜数y=h1(ry||KSj),计算y·P=Y,将y隐藏起来,给出服务验证值V2=h3(IDi||X||Y||k`)。最后服务资源Sj通过公开信道将元信息{Y,V2}发送给用户Ui。
用户接收到元信息{Y,V2}后,计算V2`=h3(IDi||X||Y||k),检查V2`与V2是否相等,若不相等,则用户Ui认证服务资源Sj失败,否则认证成功。
步骤5,用户需要更新对服务资源的访问权限时,用户向注册中心RC提交权限更新请求,注册中心更新用户的访问权限后,更新该用户的相关参数并发送给用户,用户更新智能卡中的相关参数。
本步骤为用户访问权限更新阶段,请参见图6,用户Ui在智能卡SC中输入身份信息IDi口令PWi和访问权限集合,uSETID表示各个服务资源的身份信息IDus1,IDus2,...,IDusm,uSETP表示用户Ui在各个服务资源的访问权限Pu1,Pu2,...,Pum。与步骤S4中一致去认证用户Ui的身份,认证通过后,智能卡SC在访问权限集合uPI中根据身份信息IDusj更新对应的访问权限Puj,1≤j≤m。
接着,智能卡SC选择一个会话随机数urx,计算会话新鲜数ux=h1(urx||KUi),通过ux·P=uX,将ux隐藏。通过注册中心RC的公钥PK构造会话密钥uk=ux·PK。用安全哈希函数h1计算(IDi,uPI,uX,uk,T2)的摘要值uhi=h1(IDi||uPI||uX||uk||T2),T2为当前的时间戳。利用私钥KUi对摘要值uhi进行签名得到签名信息uδi=KUi+ux·uhimod q。将注册中心RC验证用户Ui需要的身份信息IDi、签名信息uδi、访问权限集合uPI、会话密钥uk、时间戳T2、安全哈希函数h0封装到密文uC1中,有uC1=(IDi||uδi||uPI)⊕h0(uk||T2)。智能卡SC给出用户Ui的用户验证值uV1=h3(IDi||uδi||uPI||Gwi||LTi||uX||uk||T2)。最后用户Ui通过公开信道将一组元信息{T2,uX,uC1,uV1}发送给注册中心RC。
注册中心RC接收到用户Ui发送的元信息{T2,uX,uC1,uV1}后,注册中心RC先检查时间戳T2的新鲜性,若已过期,则验证失败;否则,通过注册中心RC的私钥sk计算会话密钥uk`=sk·uX,通过会话密钥uk`和时间戳T2从用户Ui发送的密文uC1中取出用户Ui的身份信息IDi、签名信息uδi、访问权限集合uPI,即为uC1⊕h0(uk`||T2)=IDi||uδi||uPI。
注册中心RC根据用户Ui的身份信息IDi在用户身份信息表中查询用户Ui的公钥Gwi、权限树MTi和服务时限LTi,利用会话密钥uk`计算摘要值uhi`=h1(IDi||uPI||uX||uk||T2),计算uHIDi`=h1(IDi||Gwi||Rt||LTi)。使用用户Ui的公钥Gwi恢复出的签名信息uδi`,并判断与取出的签名信息uδi是否相等;以及计算uV1`,并判断与uV1是否相等,即uδi`·P=uhi`·uX+Gwi+uHIDi`·PK,uV1`=h3(IDi||uδi||uPI||Gwi||LTi||uX||uk`||T2),若任一等式不成立,则认证用户Ui失败,并结束会话;否则,注册中心RC继续根据用户Ui提供的信息确认访问权限集合uPI中用户Ui对各服务资源的访问权限合法性。
在用户访问权限更新阶段,注册中心RC验证用户身份和确认用户权限合法性后,根据注册中心RC确认访问权限集合uPI的访问权限Pj、注册中心RC分别与各个服务提供商SPrj的共享密钥Kj,以及服务时限LTi来计算各个叶节点的路径值Lj后来重构权限树MTi*。
确认后,注册中心RC生成uPI`为用户Ui对各服务资源的合法访问权限,根据访问权限Puj,、注册中心与各服务资源的共享密钥Kj以及各服务资源约定用户的服务时限LTi重构用户Ui的权限树MTi*,进而计算权限树MTi*的根植Rt*。接着,注册中心RC生成一个随机整数wj`,更新用户Ui的公钥Gwi*=wj`·P,计算哈希值HIDi*=h1(IDi||Gwi*||Rt*||LTi),更新用户私钥KUi*=wj`+sk·HIDi* mod q。
注册中心RC生成会话随机数ury,计算会话新鲜数uy=h1(ury||sk),计算uY=uy·P,将uy隐藏。利用安全哈希函数h4计算哈希值uSk=h4(IDi||uX||uY||uy·uX||uk`),将验证后的用户Ui更新各叶节点的路径值Lu1||Lu2...||Lum、公钥Gwi*、私钥KUi*、会话密钥uk`、身份信息IDi和哈希值uSk经过异或操作至密文uC2中,即为uC2=(Lu1||Lu2...||Lum||Gwi*||KUi*)⊕h0(IDi||uk`||uSk)。注册中心RC计算用户Ui需验证的用户验证值uV2=h3(IDi||uX||uY||Gwi*||KUi*||Rt*||uk`||uSk)。最后注册中心RC将一组元信息{uY,uC2,uV2}通过公开信道发送给用户Ui。
用户Ui接收到元信息{uY,uC2,uV2}后,恢复出uSk`,即uSk` = h4(IDi||uX||uY||ux·uY||uk),利用身份信息IDi、会话密钥uk和uSk`解密出注册中心RC发送的各叶节点的路径值Lu1||Lu2...||Lum、公钥Gwi*、私钥KUi*,即Lu1||Lu2...||Lum||Gwi*||KUi*=uC2⊕h0(IDi||uk||uSk`)。用户Ui通过路径值Lu1||Lu2...||Lum恢复出权限树MTi*,进而获得权限树MTi*的根植Rt*。接着,用户Ui计算uV2`=h3(IDi||uX||uY||Gwi*||KUi*||Rt*||uk||uSk),并uV2`与验证注册中心RC发送的uV2是否相等,如果不相等则更新权限失败;否则,计算密文Fi*=Ci⊕(KUi*||Gwi*||MTi*||LTi),Ver*=h3(h2(KUi*||Gwi*||MTi*||LTi||Ci)),最后使用Fi*、Ver*更新智能卡SC中的Fi、Ver,以完成用户Ui对服务资源的访问权限更新。
步骤6,用户需要更新口令时,用户使用旧的口令向智能卡确认身份后,更新智能卡中新的口令的相关参数。
本步骤为用户口令更新阶段,请参见图7,用户Ui在智能卡SC中输入身份信息IDi和旧的口令PWi,通过安全哈希函数h0计算Ci=h0(IDi||PWi||bi),利用智能卡SC保存的Fi,将Fi⊕Ci取出计算Ver`相关的值KUi||Gwi||MTi||LTi,计算Ver=h3(h2(KUi||Gwi||MTi||LTi||Ci)),验证Ver`与智能卡SC中保存的Ver是否相等,如果不相等,则拒绝修改口令;否则,输入新的口令PWi^。
智能卡SC计算出新的密文Ci^=h0(IDi||PWi^||bi),Fi^=Fi⊕Ci⊕Ci^,新的用户验证值Ver^=h3(h2(Fi⊕Ci)Ci^)。最后,分别用Fi^和Ver^更新智能卡SC中保存的Fi和Ver。
实施例2:
本实施例在实施例1的基础上验证计算和通信性能,通过一台搭载特尔酷睿i7-10700H CPU@2.90GHz RAM@1GB win10操作系统的电脑模拟用户,一台搭载特尔酷睿i7-10700H CPU @2.90GHz RAM@16GBCentOS操作系统的电脑模拟服务提供商。由于系统初始化阶段、服务提供商注册阶段、在用户注册阶段、用户访问权限更新阶段和用户口令更新阶段的工作频率不高,因此本试验关注认证和授权阶段。表2显示了度量计算成本的操作符号及其执行时间。
表2 操作符号及其执行时间
从表3可以看出本方案的计算代价低于传统方案Odelu、He、Xiong。本方案在计算效率上的优势源于从不使用耗时的映射安全哈希函数和双线性对偶运算资源受限的用户。同时,最耗时的点乘操作在服务提供商完成。
表3 本方案与传统方案的计算代价比较
对于通信成本,将本方案的通信成本与传统方案Odelu、He、Xiong的通信成本进行比较,本方案模拟试验假设哈希输出的长度、点、标识和时间戳的比特位数分别为160位、320位、32位和32位,另外,假设访问权限Pj的比特长度为3位,则可表示8种访问权限,假设有m个服务提供商,有访问路径PT={Au1,Au2,...,Aua},a=log2 m。在模拟试验中,第一条元信息{T1,X,CT,V1}需要32+320+(32+160+320+3+160log2 m+32)+160=1059+160log2 m位,第二条元信息{Y,V2}需要320+160=480位。则在模拟试验的认证和授权阶段,从通信开销为1539+160log2 m位。
然后,分析Dougherty等人提出的方案的通信开销,在认证和授权阶段发送的消息包括一个身份认证令牌以及两个签名信息σTpu和σReq。其中IDp为服务提供商的标识符,[IDs]为服务标识符,Certu为用户的PKI证书,[Lu]为用户授权级别,Texp为过期时间。因此通信成本为32+32N+Cert+3N+32+2sig=64+Cert+2sig+35N,其中Cert为服务提供商的数量,sig为证书和签名的位大小。值得注意的是,实际中Cert和sig是很大的,例如,在crypto/x509和crypto/ecdsa的Go标准库中测试X.509证书、ECDSA签名比特位长度分别为1328字节=10624位,48字节=384字节。
类似地,其他传统方案的总通信开销计算如表4所示,与传统方案Odelu、He、Xiong相比,本方案的通信开销随服务提供商数量的变化而变化,原因是为了恢复权限树的根植Rt,用户需要将访问路径PT发送到服务提供商。本方案通信开销与Dougherty等人提出的方案相比,由于64+Cert+2sig就比1539大得多,因此本方案的通信开销更小。当N大于32位时,35N大于106log2 m,因此当服务提供商数量增加时,本方案比Dougherty等人提出的方案具有更好的通信效率。
表4 各方案的通信比较
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (1)
1.移动云服务环境中具有隐私保护的认证和访问控制方法,其特征在于:包括以下步骤:
系统初始化阶段:注册中心协商初始化系统的参数{G,q,P,PK,h0,h1,h2,h3,h4},并向移动云服务环境中所有的服务提供商和用户发布系统的参数;
所述系统初始化阶段中,注册中心协商初始化系统的参数{G,q,P,PK,h0,h1,h2,h3,h4},并向移动云服务环境中所有的服务提供商和用户发布系统的参数的步骤,包括:
注册中心RC协商选择一个阶数为q的椭圆曲线加法循环群G,P为G的生成元;注册中心RC协商确定5个安全哈希函数,分别为h0、h1、h2、h3、h4,有:
h0:{0,1}*→{0,1}l
h1:{0,1}*→Z* q
h2:{0,1}*→{0,1,2,...,1023}
h3:{0,1}*→{0,1}l
h4:{0,1}*→{0,1}l
其中,h0、h3、h4将输入的任意长度的二进制串转换成固定长度的输出二进制串,l为h0、h3、h4输出的二进制串的长度;h1中Z* q表示集合{0,1,2,...,q-1},将输入的任意长度的二进制串转换为集合Z* q中的任意一个元素作为输出;h2将输入的任意长度的二进制串转换为集合{0,1,2,...,1023}中的任意一个元素作为输出;
注册中心RC选择一个系统私钥sk,计算系统公钥PK=sk·P,并向移动云服务环境中所有的服务提供商和用户发布系统的参数{G,q,P,PK,h0,h1,h2,h3,h4};
服务提供商注册阶段:服务提供商向注册中心提供相关信息以申请注册,若注册成功,则注册中心给服务提供商返回相关参数;
所述服务提供商注册阶段中,服务提供商向注册中心提供相关信息以申请注册,若注册成功,则注册中心给服务提供商返回相关参数的步骤,包括:
服务提供商SPrj的服务资源Sj选择一个唯一的身份信息IDsj和可定制的服务权限映射表PMsj,并将身份信息IDsj和服务权限映射表PMsj通过安全通道发送给注册中心RC;其中,SPrj表示第j个服务提供商,1≤j≤m;
注册中心RC收到身份信息IDsj后,检测服务资源Sj的身份信息IDsj在服务身份信息表中是否已存在,如果存在,则拒绝本次注册请求;否则,注册中心RC随机生成一个随机整数swj,计算SPj=swj·P,其中SPj作为服务资源Sj的公钥;计算身份信息IDsj拼接公钥SPj的哈希值为HIDsj=h1(IDsj||SPj),SKj=swj+sk·HIDsj mod q,其中SKj为服务资源Sj的私钥,||为连接符,mod q为取模运算;
注册中心RC选择一个随机数Kj作为服务资源Sj的共享密钥,将一组元信息{IDsj,PMsj,SPj,Kj}插入到服务身份信息表中,将一组元信息{KSj,SPj,Kj}通过安全通道发送给服务资源Sj;服务资源Sj将来自注册中心RC发送的元信息{KSj,SPj,Kj}进行存储;
用户注册阶段:新的用户需要访问服务提供商时,向注册中心提供相关信息以申请注册,若注册成功,则注册中心给用户返回相关参数;
所述用户注册阶段中,新的用户需要访问服务提供商时,向注册中心提供相关信息以申请注册,若注册成功,则注册中心给用户返回相关参数的步骤,包括:
用户Ui选择唯一的身份信息IDi、口令PWi和访问权限集合,其中,Ui表示第i个用户,1≤i≤n,SETID表示各个服务资源的身份信息IDs1,IDs2,...,IDsm,SETP表示用户Ui在各个服务资源的访问权限P1,P2,...,Pm;用户Ui选择一个随机数bi,利用安全哈希函数h0进行加密,计算密文Ci=h0(IDi||PWi||bi);用户Ui通过安全通道将一组元信息{PI,IDi,Ci}和个人信息发送给注册中心RC;
注册中心RC收到用户Ui发送的元信息{PI,IDi,Ci}后,检测用户Ui的身份信息IDi在用户身份信息表中是否已存在,如果存在,则拒绝本次注册请求;否则,注册中心RC通过个人信息确认访问权限集合PI的访问权限,注册中心RC确认后的用户Ui的访问权限集合为PI`;
注册中心RC根据用户Ui的访问权限集合PI`与各服务资源Sj的共享密钥Kj为用户Ui构造一颗权限树MTi,并得出权限树MTi的根值Rt;注册中心RC随机生成一个随机整数wi,计算Gwi=wi·P,其中Gwi作为用户Ui的公钥;计算哈希值HIDi=h1(IDi||Gwi||Rt||LTi),KUi=wi+sk·HIDi mod q,其中KUi为用户Ui的私钥,LTi为对用户Ui的服务时限;
注册中心RC计算密文Fi=Ci⊕(KUi||Gwi||MTi||LTi),并为智能卡SC设置本地验证信息Ver=h3(h2(KUi||Gwi||MTi||LTi||Ci));
注册中心RC将一组元信息{IDi,Gwi,LTi,MTi}插入用户身份信息表中,将一组元信息{Fi,Ver,PI,Slt}通过安全通道发送给用户Ui,其中集合;用户Ui将接收到的元信息{Fi,Ver,PI,Slt}安全存储到智能卡SC中;
所述权限树为每个节点最多有两个子节点的二叉树,叶节点的路径值为Lj=h3(LTi||Pj||Kj),其中,Lj表示第j个服务提供商对应的叶节点,LTi表示第j个服务提供商对第i个用户约定的服务时限,Kj表示第j个服务提供商的共享密钥;
认证和授权阶段:用户需要访问服务提供商所提供的服务资源时,服务资源对用户的身份进行认证,并对用户的访问权限进行授权;
所述认证和授权阶段中,用户需要访问服务提供商所提供的服务资源时,服务资源对用户的身份进行认证,并对用户的访问权限进行授权的步骤,包括:
用户Ui向智能卡SC输入身份信息IDi和口令PWi以认证自身的身份,智能卡SC利用安全哈希函数h0计算密文Ci=h0(IDi||PWi||bi),通过本地存储的Ci⊕Fi取出用户Ui的私钥KUi、公钥Gwi、权限树MTi以及服务时限LTi,计算本地验证信息Ver`=h3(h2(KUi||Gwi||MTi||LTi||Ci)),验证Ver`与Ver是否相等,若不相等,则禁止用户Ui访问服务资源Sj;否则,智能卡SC获取用户Ui对服务资源Sj的访问路径PT={Au1,Au2,...,Aua};
智能卡SC选择一个会话随机数rx,计算会话新鲜数x=h1(rx||KUi),通过x·P=X在公开信道传送X;通过智能卡SC存储的集合Slt取出需要访问的服务资源Sj的身份信息IDsj和对应的公钥SPj,通过安全哈希函数h1取其哈希值为hsi,利用公钥SPj与会话新鲜数x构造会话密钥k=x·(SPj+hsi·PK);用安全哈希函数h1计算(IDi,IDsj,Pj,X,k,T1)的摘要值为hi=h1(IDi||IDsj||Pj||X||k||T1),Pj为用户Ui对第j个服务资源的访问权限,T1为当前的时间戳;利用私钥KUi对摘要值hi进行签名得到签名信息δi=KUi+x·hi mod q,将用户Ui的信息异或操作至密文CT中,CT=(IDi||δi||Gwi||Pj||PT||LTi)⊕h0(IDsj||k||T1);智能卡SC给出用户Ui的用户验证值V1=h3(IDi||IDsj||δi||Gwi||Pj||PT||LTi||k||T1),用户Ui通过公开信道将一组元信息{T1,X,CT,V1}发送给服务资源Sj;
服务资源Sj接收到元信息{T1,X,CT,V1}后,检查时间戳T1的新鲜性,若已过期,则验证失败;否则,通过服务资源Sj的私钥KSj计算会话密钥k`=KSj·X,通过身份信息IDsj、会话密钥k`和时间戳T1从CT中取出需要验证的用户相关信息,即身份信息IDi、签名信息δi、公钥Gwi、访问权限Pj、访问路径PT、服务时限LTi,CT⊕h0(IDsj||k`||T1)=IDi||δi||Gwi||Pj||PT||LTi;计算V1`=h3(IDi||IDsj||δi||Gwi||Pj||PT||LTi||k`||T1)与V1是否相等,若不相等,则服务资源Sj认证用户Ui失败,并结束会话;否则,服务资源Sj对用户Ui的访问权限进行授权;
服务资源Sj利用与注册中心RC的共享密钥Kj、访问权限Pj、访问路径PT、服务时限LTi恢复权限树MTi的根值Rt,恢复用户Ui的摘要值hi`=h3(IDi||IDsj||Pj||X||k`||T1),恢复用户Ui的HIDi`=h1(IDi||Gwi||Rt||LTi);检验等式δi·P=hi`·X+Gwi+HIDi`·PK是否成立,若不成立,则授权失败,并结束会话;否则服务资源Sj生成会话随机数ry,计算会话新鲜数y=h1(ry||KSj),计算y·P=Y,将y隐藏起来,给出服务验证值V2=h3(IDi||X||Y||k`);服务资源Sj通过公开信道将元信息{Y,V2}发送给用户Ui;
用户接收到元信息{Y,V2}后,计算V2`=h3(IDi||X||Y||k),检查V2`与V2是否相等,若不相等,则用户Ui认证服务资源Sj失败,否则认证成功;
用户访问权限更新阶段:用户需要更新对服务资源的访问权限时,用户向注册中心提交权限更新请求,注册中心更新用户的访问权限后,更新该用户的相关参数并发送给用户,用户更新智能卡中的相关参数;
所述用户访问权限更新阶段中,用户需要更新对服务资源的访问权限时,用户向注册中心提交权限更新请求,注册中心更新用户的访问权限后,更新该用户的相关参数并发送给用户,用户更新智能卡中的相关参数的步骤,包括:
用户Ui在智能卡SC中输入身份信息IDi口令PWi和访问权限集合uPI=<uSETID,uSETP>,uSETID表示各个服务资源的身份信息IDus1,IDus2,...,IDusm,uSETP表示用户Ui在各个服务资源的访问权限Pu1,Pu2,...,Pum;认证用户Ui的身份,认证通过后,智能卡SC在访问权限集合uPI中根据身份信息IDusj更新对应的访问权限Puj;
智能卡SC选择一个会话随机数urx,计算会话新鲜数ux=h1(urx||KUi),通过ux·P=uX;通过注册中心RC的公钥PK构造会话密钥uk=ux·PK;用安全哈希函数h1计算(IDi,uPI,uX,uk,T2)的摘要值uhi=h1(IDi||uPI||uX||uk||T2),T2为当前的时间戳;利用私钥KUi对摘要值uhi进行签名得到签名信息uδi=KUi+ux·uhi mod q;将注册中心RC验证用户Ui需要的身份信息IDi、签名信息uδi、访问权限集合uPI、会话密钥uk、时间戳T2、安全哈希函数h0封装到密文uC1中,有uC1=(IDi||uδi||uPI)⊕h0(uk||T2);智能卡SC给出用户Ui的用户验证值uV1=h3(IDi||uδi||uPI||Gwi||LTi||uX||uk||T2);用户Ui通过公开信道将一组元信息{T2,uX,uC1,uV1}发送给注册中心RC;
注册中心RC接收到用户Ui发送的元信息{T2,uX,uC1,uV1}后,注册中心RC检查时间戳T2的新鲜性,若已过期,则验证失败;否则,通过注册中心RC的私钥sk计算会话密钥uk`=sk·uX,通过会话密钥uk`和时间戳T2从用户Ui发送的密文uC1中取出用户Ui的身份信息IDi、签名信息uδi、访问权限集合uPI,有uC1⊕h0(uk`||T2)=IDi||uδi||uPI;
注册中心RC根据用户Ui的身份信息IDi在用户身份信息表中查询用户Ui的公钥Gwi、权限树MTi和服务时限LTi,利用会话密钥uk`计算摘要值uhi`=h1(IDi||uPI||uX||uk||T2),计算uHIDi`=h1(IDi||Gwi||Rt||LTi);使用用户Ui的公钥Gwi恢复出的签名信息uδi`,并判断与取出的签名信息uδi是否相等;以及计算uV1`,并判断与uV1是否相等,即uδi`·P=uhi`·uX+Gwi+uHIDi`·PK,uV1`=h3(IDi||uδi||uPI||Gwi||LTi||uX||uk`||T2),若任一等式不成立,则认证用户Ui失败,并结束会话;否则,注册中心RC继续根据用户Ui提供的信息确认访问权限集合uPI中用户Ui对各服务资源的访问权限;
确认后,注册中心RC生成uPI`为用户Ui对各服务资源的访问权限,根据访问权限Puj,、注册中心与各服务资源的共享密钥Kj以及各服务资源约定用户的服务时限LTi重构用户Ui的权限树MTi*,进而计算权限树MTi*的根植Rt*;注册中心RC生成一个随机整数wj`,更新用户Ui的公钥Gwi*=wj`·P,计算哈希值HIDi*=h1(IDi||Gwi*||Rt*||LTi),更新用户私钥KUi*=wj`+sk·HIDi* mod q;
注册中心RC生成会话随机数ury,计算会话新鲜数uy=h1(ury||sk),计算uY=uy·P;利用安全哈希函数h4计算哈希值uSk=h4(IDi||uX||uY||uy·uX||uk`),将验证后的用户Ui更新各叶节点的路径值Lu1||Lu2...||Lum、公钥Gwi*、私钥KUi*、会话密钥uk`、身份信息IDi和哈希值uSk经过异或操作至密文uC2中,有uC2=(Lu1||Lu2...||Lum||Gwi*||KUi*)⊕h0(IDi||uk`||uSk);注册中心RC计算用户Ui需验证的用户验证值uV2=h3(IDi||uX||uY||Gwi*||KUi*||Rt*||uk`||uSk);最后注册中心RC将一组元信息{uY,uC2,uV2}通过公开信道发送给用户Ui;
用户Ui接收到元信息{uY,uC2,uV2}后,恢复出uSk`=h4(IDi||uX||uY||ux·uY||uk),利用身份信息IDi、会话密钥uk和uSk`解密出注册中心RC发送的各叶节点的路径值Lu1||Lu2...||Lum、公钥Gwi*、私钥KUi*,有Lu1||Lu2...||Lum||Gwi*||KUi*=uC2⊕h0(IDi||uk||uSk`);用户Ui通过路径值Lu1||Lu2...||Lum恢复出权限树MTi*,进而获得权限树MTi*的根植Rt*;用户Ui计算uV2`=h3(IDi||uX||uY||Gwi*||KUi*||Rt*||uk||uSk),并uV2`与验证注册中心RC发送的uV2是否相等,如果不相等则更新权限失败;否则,计算密文Fi*=Ci⊕(KUi*||Gwi*||MTi*||LTi),Ver*=h3(h2(KUi*||Gwi*||MTi*||LTi||Ci)),使用Fi*、Ver*更新智能卡SC中的Fi、Ver;
用户口令更新阶段:用户需要更新口令时,用户使用旧的口令向智能卡确认身份后,更新智能卡中新的口令的相关参数;
所述用户口令更新阶段中,用户需要更新口令时,用户使用旧的口令向智能卡确认身份后,更新智能卡中新的口令的相关参数的步骤,包括:
用户Ui在智能卡SC中输入身份信息IDi和旧的口令PWi,通过安全哈希函数h0计算Ci=h0(IDi||PWi||bi),利用智能卡SC保存的Fi,将Fi⊕Ci取出计算Ver`相关的值KUi||Gwi||MTi||LTi,计算Ver=h3(h2(KUi||Gwi||MTi||LTi||Ci)),验证Ver`与智能卡SC中保存的Ver是否相等,如果不相等,则拒绝修改口令;否则,输入新的口令PWi^;
智能卡SC计算出新的密文Ci^=h0(IDi||PWi^||bi),Fi^=Fi⊕Ci⊕Ci^,新的用户验证值Ver^=h3(h2(Fi⊕Ci)Ci^);分别用Fi^和Ver^更新智能卡SC中保存的Fi和Ver。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310085099.9A CN115865520B (zh) | 2023-02-09 | 2023-02-09 | 移动云服务环境中具有隐私保护的认证和访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310085099.9A CN115865520B (zh) | 2023-02-09 | 2023-02-09 | 移动云服务环境中具有隐私保护的认证和访问控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115865520A CN115865520A (zh) | 2023-03-28 |
CN115865520B true CN115865520B (zh) | 2023-04-28 |
Family
ID=85657814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310085099.9A Active CN115865520B (zh) | 2023-02-09 | 2023-02-09 | 移动云服务环境中具有隐私保护的认证和访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865520B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116980230B (zh) * | 2023-09-19 | 2023-12-01 | 深圳市众志天成科技有限公司 | 一种信息安全保护方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018027148A1 (en) * | 2016-08-05 | 2018-02-08 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
CN109327313A (zh) * | 2018-11-07 | 2019-02-12 | 西安电子科技大学 | 一种具有隐私保护特性的双向身份认证方法、服务器 |
CN110069945A (zh) * | 2019-04-11 | 2019-07-30 | 西华大学 | 一种用户隐私保护的方法、设备和系统 |
CN110717191A (zh) * | 2019-10-24 | 2020-01-21 | 兰州理工大学 | 基于可搜索属性加密的区块链数据隐私保护访问控制方法 |
CN110891067A (zh) * | 2019-12-10 | 2020-03-17 | 成都工业学院 | 一种可撤销的多服务器隐私保护认证方法及系统 |
CN113489733A (zh) * | 2021-07-13 | 2021-10-08 | 郑州轻工业大学 | 基于区块链的内容中心网络隐私保护方法 |
CN115314277A (zh) * | 2022-08-03 | 2022-11-08 | 南京邮电大学 | 一种基于区块链可追溯的个人隐私保护方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9438590B2 (en) * | 2014-05-23 | 2016-09-06 | Fujitsu Limited | Privacy preserving biometric authentication based on error correcting codes |
US10237070B2 (en) * | 2016-12-31 | 2019-03-19 | Nok Nok Labs, Inc. | System and method for sharing keys across authenticators |
-
2023
- 2023-02-09 CN CN202310085099.9A patent/CN115865520B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018027148A1 (en) * | 2016-08-05 | 2018-02-08 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
CN109327313A (zh) * | 2018-11-07 | 2019-02-12 | 西安电子科技大学 | 一种具有隐私保护特性的双向身份认证方法、服务器 |
CN110069945A (zh) * | 2019-04-11 | 2019-07-30 | 西华大学 | 一种用户隐私保护的方法、设备和系统 |
CN110717191A (zh) * | 2019-10-24 | 2020-01-21 | 兰州理工大学 | 基于可搜索属性加密的区块链数据隐私保护访问控制方法 |
CN110891067A (zh) * | 2019-12-10 | 2020-03-17 | 成都工业学院 | 一种可撤销的多服务器隐私保护认证方法及系统 |
CN113489733A (zh) * | 2021-07-13 | 2021-10-08 | 郑州轻工业大学 | 基于区块链的内容中心网络隐私保护方法 |
CN115314277A (zh) * | 2022-08-03 | 2022-11-08 | 南京邮电大学 | 一种基于区块链可追溯的个人隐私保护方法 |
Non-Patent Citations (2)
Title |
---|
Xingyu He et al.A Hierarchical Blockchain-Assisted Conditional Privacy-Preserving Authentication Scheme for Vehicular Ad Hoc Networks.《MDPI》.2022,全文. * |
熊玲等.一种高效的移动云服务环境下隐私保护认证协议.《西 南 交 通 大 学 学 报》.2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115865520A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6993652B2 (en) | Method and system for providing client privacy when requesting content from a public server | |
CN104579694B (zh) | 一种身份认证方法及系统 | |
US7793340B2 (en) | Cryptographic binding of authentication schemes | |
US7975139B2 (en) | Use and generation of a session key in a secure socket layer connection | |
US7992193B2 (en) | Method and apparatus to secure AAA protocol messages | |
US11683170B2 (en) | Implicit RSA certificates | |
CN109728909A (zh) | 基于USBKey的身份认证方法和系统 | |
US9185111B2 (en) | Cryptographic authentication techniques for mobile devices | |
Jeong et al. | Integrated OTP-based user authentication scheme using smart cards in home networks | |
US20030115452A1 (en) | One time password entry to access multiple network sites | |
US20110072265A1 (en) | System And Method Of Non-Centralized Zero Knowledge Authentication For A Computer Network | |
CN110020524B (zh) | 一种基于智能卡的双向认证方法 | |
IL189131A (en) | Distributed single sign-on service | |
CN110971411B (zh) | 一种基于sotp技术对私钥乘加密的sm2同态签名方法 | |
CN115865520B (zh) | 移动云服务环境中具有隐私保护的认证和访问控制方法 | |
CN110784305B (zh) | 基于不经意伪随机函数和签密的单点登录认证方法 | |
CN113098681A (zh) | 云存储中口令增强且可更新的盲化密钥管理方法 | |
KR20080005344A (ko) | 인증서버가 사용자단말기를 인증하는 시스템 | |
KR20070035342A (ko) | 패스워드 기반의 경량화된 상호 인증 방법 | |
CN115632797A (zh) | 一种基于零知识证明的安全身份验证方法 | |
Mishra et al. | Authenticated content distribution framework for digital rights management systems with smart card revocation | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
CN114584321B (zh) | 一种基于puf器件的数据信息加密部署方法 | |
Gupta | Security characteristics of cryptographic mobility solutions | |
Ku et al. | Weaknesses and Improvements of Yang–Chang–Hwang's Password Authentication Scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |