掌桥专利:专业的专利平台
掌桥专利
首页

面向隐私保护的门限单点登录方法

文献发布时间:2023-06-19 18:46:07



技术领域

本发明涉及隐私保护领域,具体是一种面向隐私保护的门限单点登录技术。

背景技术

随着网络服务提供商数量的迅速增加,用户经常需要向多个服务提供商购买服务,这使得用户需要向多个应用服务器分别进行注册以及认证,增加了用户访问服务时的负担。单点登录系统的出现有效减轻了这种负担。在单点登录系统中,用户只需在身份服务器进行一次注册。当用户想要访问多个应用服务器时,其在身份服务器完成认证并获得一个令牌,并可使用该令牌访问其权限范围内的应用服务器。由于传统的单点登录方案采用的是中心化设计,即认证过程仅由单个身份服务器完成,因而容易出现单点失效问题。具体的,一旦攻击者攻破了身份服务器,便能向非法用户颁发令牌,或者拒绝合法用户的认证申请。门限单点登录系统的提出有效解决了这一问题。在门限单点登录系统中,多个身份服务器独立的对用户进行认证,并通过门限的方式向用户联合颁发令牌。这一机制保证了只要攻击者攻破的身份服务器数量小于门限值,系统便能正常运行。

然而,无论是传统单点登录系统或者是门限单点登录系统,都存在用户隐私泄露的问题。具体的,由于每个令牌包含一个用户ID用于表明该令牌的所有者,攻击者可以很容易的根据令牌判断出其使用者的真实身份,进而可能推断出该用户的其它隐私信息;若不在令牌中包含用户ID等个人信息,则无法判断令牌的合法拥有者,这使得敌手能够使用偷取的令牌对应用服务器进行访问。为解决这一矛盾,可以使用临时公钥代替用户ID。一方面临时公钥不包含用户的个人信息,因而攻击者无法再根据令牌判断用户身份;另一方面,攻击者偷取令牌后,由于不知道临时公钥对应的私钥,因而无法向应用服务器证明其是令牌的合法拥有者,也就无法使用偷取的令牌访问服务。但是,即使使用临时公钥将用户的真实身份隐藏,其隐私信息仍然存在泄露的风险。考虑到用户在完成认证后,会使用同一个令牌多次访问同一应用服务器或访问多个不同应用服务器,因此攻击者可以通过追踪令牌将这些访问行为关联起来,从而掌握了该用户的访问偏好。虽然敌手无法获取用户的真实身份,这种访问偏好的泄露依然违背了用户对隐私保护的要求。

发明内容

本发明要解决的问题是,在单点登录系统中,如何隐藏用户的真实身份以及同一用户多个访问行为之间的关联性,同时避免传统单点登录方案中的单点失效问题。

本发明解决上述技术问题所采用的方案是,一种面向隐私保护的门限单点登录方法,包括以下步骤:

1、初始化阶段

根据安全参数确定公共参数;生成一个认证主密钥并通过门限秘密共享算法将认证主密钥分发给身份服务器,每个身份服务器掌握一个认证子密钥。同时生成与认证主密钥、认证子密钥相对应的验证密钥,并将验证密钥广播。

2、注册阶段

1)用户选择用户名、口令和注册密钥,并用口令和注册密钥计算得到用户凭证,将用户凭证分别发送给身份服务器;

2)用户通过门限秘密共享算法计算注册密钥的子密钥,将注册子密钥分别发送给身份服务器;

3)身份服务器验证用户的合法性,并存储合法用户的用户名、用户凭证和注册子密钥。

3、认证阶段:

1)用户生成一个假名用于认证和申请令牌,并选择令牌失效时间。用户将盲化后的口令、假名以及令牌失效时间发送给身份服务器;

2)身份服务器根据用户名选择相应注册子密钥对用户盲化后的口令进行进一步计算,然后将结果返回给用户;身份服务器使用认证子密钥对用户选择的假名和令牌失效时间进行签名并将签名结果作为子令牌,然后使用该用户的凭证对子令牌进行加密,将加密后的子令牌发送给用户;

3)用户根据身份服务器返回的结果恢复其凭证,并用凭证解密收到的加密子令牌;用户使用不少于门限数量的子令牌恢复出主令牌。

4、访问阶段:

1)用户将主令牌进行盲化,将盲化令牌发送给应用服务器,并通过零知识证明证明其对盲化令牌的所有权;

2)应用服务器使用验证密钥验证盲化令牌是否有效,同时验证相应的零知识证明是否有效。如果验证均通过,则为用户提供服务,否则拒绝提供服务。

本发明采用多个分布式的身份服务器独立完成对用户的认证,并以门限的方式向用户颁发一个主令牌,用户通过将主令牌盲化得到任意数量不可关联的盲化令牌,并使用盲化令牌访问应用服务器,其中每个盲化令牌只使用一次。

本发明的有益效果是,隐藏了任意两次访问行为之间的关联性,从而有效的保护了用户的访问偏好。

具体实施方式

为了同时防止用户真实身份和访问偏好的泄露,本发明设计了一种面向隐私保护的门限单点登录方法。用户首先生成临时公私钥对并用公钥向每个身份服务器申请令牌。每个身份服务器独立的对用户进行认证,并在认证通过后生成一个对用户临时公钥的签名,然后将签名作为子令牌发送给用户。当收到不少于门限数量的子令牌后,用户使用这些子令牌生成一个主令牌。一方面,主令牌中只包含用户的临时公钥用于证明令牌的所有权,而不涉及任何关于用户真实身份的信息,从而在隐藏用户身份的同时防止了令牌被攻击者非法使用。另一方面,每当需要访问应用服务器时,用户首先使用不同随机数将主令牌盲化,得到一系列无法与主令牌相关联的盲化令牌,每个盲化令牌只用于一次访问。每个盲化令牌使用不同的随机数生成,因而每次访问使用的盲化令牌之间也无法被关联起来。这一机制隐藏了任意两次访问行为之间的关联性,从而有效的保护了用户的访问偏好。

初始化阶段的具体步骤为:

系统根据安全参数λ确定公共参数

注册阶段的具体步骤为:

1)用户选择用户名ID、口令pw以及注册密钥

2)用户通过门限秘密共享算法计算注册密钥rsk的子密钥rsk

3)身份服务器验证用户的合法性,如果用户为合法用户,则存储该用户的注册信息(ID,h

4)用户删除注册阶段产生的h,rsk及其分量h

认证阶段的具体步骤为:

1)用户选择一个令牌失效时间ed∈{0,1}

2)用户选择一个随机数

3)用户向所有身份服务器广播认证请求req=(ID,pw

4)身份服务器IS

5)如果上述验证均通过,身份服务器IS

6)身份服务器IS

7)用户选取门限数量的res

8)用户使用h

9)用户使用门限数量的有效子令牌生成一个主令牌tk:计算u

访问阶段的具体步骤为:

1)用户随机选取

2)用户选取两个随机数

3)应用服务器通过双线性映射验证下列等式是否成立:

4)用户根据挑战值生成两个应答值z

5)应用服务器验证下列等式是否成立:

技术分类

06120115687827