一种授权认证方法、 装置以及系统 技术领域 本发明涉及一种能够在存在多个授权中心的情况下保证合法终端之间的通信的 授权认证方法、 装置以及系统。
背景技术 在终端与终端之间进行通信时, 为了确保通信的安全性, 终端之间需要互相认证 对方是否为合法设备。 一般情况下, 终端的合法性借助第三方机构来证明, 即终端首先需要 向第三方机构登记授权, 当该终端被第三方机构授权之后, 可以与其它被该第三方机构授 权的终端之间进行通信。在此, 通信双方可以通过验证对方是否为被同一个第三方机构授 权的终端这样的认证过程来证实对方是否为合法终端, 如果证实了对方是合法终端则进行 通信, 否则结束通信。
在如上所述的现有的授权认证方式中, 被同一个第三方机构授权的终端之间可以 互相通信, 而这些终端不能与没有被该第三方机构授权的终端之间进行通信。 这样, 能够有 效地避免非法终端的侵入。
然而, 在现有的授权认证方式中, 即使是合法终端也有无法通信的问题。例如, 当 存在多个第三方机构时, 如果每一个第三方机构分别管理属于各自的终端, 则属于同一个 第三方机构的终端之间可以互相进行通信, 但不属于同一个第三方机构的合法终端之间则 无法进行通信。
因此, 需要改变现有的授权认证方式, 以方便更多合法终端之间的通信。
在本发明中, 这种第三方机构称为授权中心。
发明内容 有鉴于此, 本发明的目的在于提供一种授权认证方法、 装置以及系统, 能够在存在 多个授权中心的情况下保证合法终端之间的通信。
为了实现上述目的, 本发明提供一种授权认证方法, 包括 m 个授权中心, 第一装置 通过向所述 m 个授权中心中的每一个授权中心分别申请授权, 从每一个授权中心分别得到 授权信息, 所述第一装置利用从所述 m 个授权中心得到的 m 个授权信息生成第一装置认证 信息, 并将该生成的第一装置认证信息发送给第二装置, 所述第二装置根据来自所述第一 装置的第一装置认证信息进行对所述第一装置的认证, 其中, 所述 m 为大于等于 2 的自然 数。
较佳地, 所述第一装置利用从所述 m 个授权中心得到的 m 个授权信息生成第一装 置认证信息的步骤包括 : 所述第一装置分别利用从所述 m 个授权中心得到的 m 个授权信息 一一对应地生成 m 个认证信息, 所述 m 个认证信息构成所述第一装置认证信息, 所述第二装 置根据来自所述第一装置的第一装置认证信息进行对所述第一装置的认证的步骤包括 : 所 述第二装置根据来自所述第一装置的第一装置认证信息中的 m 个认证信息一一对应地进 行 m 次认证, 当 m 次认证都通过时, 对所述第一装置的认证通过, 当至少一次认证没有通过
时, 对所述第一装置的认证失败。
较佳地, 对于所述 m 次认证中的任一次认证来说, 第二装置根据认证信息进行认 证的步骤包括 : 所述第二装置根据认证信息计算得到授权验证信息, 利用所计算得到的授 权验证信息验证所述第一装置是否被相应的授权中心授权, 如果上述验证结果为是则认证 通过, 否则认证失败。
较佳地, 所述授权信息是由授权中心对授权给所述第一装置的授权公钥证书进行 签名生成的用户私钥, 所述第二装置根据认证信息计算得到授权验证信息, 利用所计算得 到的授权验证信息验证所述第一装置是否被相应的授权中心授权的步骤包括 : 所述第二装 置根据认证信息计算得到公钥证书, 比较所计算得到的公钥证书和相应的授权中心授权给 所述第一装置的授权公钥证书是否一致, 如果一致则认证通过, 否则认证失败。
较佳地, 所述授权信息是由授权中心对授权给所述第一装置的授权公钥证书进行 签名生成的用户私钥。
较佳地, 所述第一装置利用从所述 m 个授权中心得到的 m 个授权信息生成第一装 置认证信息的步骤包括 : 所述第一装置利用从所述 m 个授权中心中的第 i 授权中心得到的 第 i 用户私钥 Si 生成第 i 认证信息, 其中, i 的值分别取 1 至 m, 所生成的第 1 认证信息至 第 m 认证信息构成所述第一装置认证信息, 其中, 所述第一装置利用从所述 m 个授权中心中 的第 i 授权中心得到的第 i 用户私钥 Si 生成第 i 认证信息的步骤包括 : 所述第一装置产生 第一随机数 Ri 和安全熵参数 CTi, 所述第一装置基于安全熵参数 CTi, 利用可重组逻辑电路 生成安全熵混合数 STi, 所述第一装置基于第一随机数 Ri、 安全熵混合数 STi、 第 i 用户私钥 Si、 以及安全熵参数 CTi 来产生第 i 认证信息, 所述第二装置根据来自所述第一装置的第一 装置认证信息进行对所述第一装置的认证的步骤包括 : 第二装置从所接收到的第一装置认 证信息中提取第一装置的第 1 认证信息至第 m 认证信息, 根据第一装置的第 j 认证信息计 算出第一装置的第 j 公钥证书 GCj’ , 并利用计算出的第 j 公钥证书 GCj’ 来认证第一装置, 其中 j 的值分别取 1 至 m。
较佳地, 所述第一装置基于第一随机数 Ri、 安全熵混合数 STi、 第 i 用户私钥 Si、 以及安全熵参数 CTi 来产生第 i 认证信息的步骤包括 : 基于第一随机数 Ri、 安全熵混合数 STi, 第 i 用户私钥 Si, 按照下式产生 Xi、 Yi : ei * Ri
Xi = gi mod ni sTi * Ri
Yi = Si * gi mod ni
其中, ei、 ni、 gi 是第 i 授权中心的公钥相关的参数,
将 Xi、 Yi、 CTi 作为第 i 认证信息。
较佳地, 所述第二装置根据第一装置的第 j 认证信息计算出第一装置的公钥证书 GCj’ 的步骤包括 : 第二装置从第一装置的第 j 认证信息中提取第一装置的安全熵参数 CTj ; 基于安全熵参数 CTj, 利用可重组逻辑电路计算出第一装置的安全熵指数 CKj ;
利用第一装置的第 j 认证信息中包含的 Xj、 Yj、 以及上述计算出的安全熵指数 CKj, 按照下式计算第一装置的公钥证书 GCj’ : CKj ej
Xj /Yj mod nj = GCj’ ,
其中 ej、 nj 是第 j 授权中心的公钥相关的参数。
较佳地, 所述安全熵参数 CTi 包括第二随机数 Rsi、 用户安全熵 CSTi、 系统安全熵CSKi, 所述可重组逻辑电路包括第一可重组逻辑电路和第二可重组逻辑电路, 所述基于安 全熵参数 CTi, 利用可重组逻辑电路生成安全熵混合数 STi 的步骤包括 : 将所述随机数 Rsi 作为所述第一可重组逻辑电路的输入, 利用所述用户安全熵 CSTi 控制所述第一可重组逻 辑电路得到第一输出, 将所述第一输出作为所述第二可重组逻辑电路的输入, 利用所述系 统安全熵 CSKi 控制所述第二可重组逻辑电路, 得到安全熵混合数 STi。
较佳地, 所述第一装置在生成第一装置认证信息之后, 对所述第一装置认证信息 进行加密得到加密的第一装置认证信息, 并将该加密的第一装置认证信息发送给所述第二 装置, 所述第二装置对所接收到的加密的第一装置认证信息进行解密得到第一装置认证信 息。
较佳地, 所述第一装置对所述第一装置认证信息进行加密时使用的加密密钥是 p 个加密密钥参数的组合, 所述第二装置对加密的第一装置认证信息进行解密时使用的解密 密钥是 p 个解密密钥参数的组合, 其中, p 是大于等于 1 的自然数。
较佳地, 所述 p 个加密密钥参数是第一装置生成的参数, 所述 p 个解密密钥参数是 第二装置生成的参数。
较佳地, 所述 p 个加密密钥参数是第一装置从所述 m 个授权中心中的 p 个授权中 心分别得到的参数, 所述 p 个解密密钥参数是第二装置从所述 m 个授权中心中的 p 个授权 中心分别得到的参数, 其中, p 是大于等于 1 且小于等于 m 的自然数。 较佳地, 所述 p 个加密密钥参数是第一装置生成的 r 个参数和从所述 m 个授权中 心中的 s 个授权中心分别得到的参数, 所述 p 个解密密钥参数是第二装置生成的 r 个参数 和从所述 m 个授权中心中的 s 个授权中心分别得到的参数, 其中, r 是大于等于 1 且小于 p 的自然数, s 是大于等于 1 且小于等于 m 的自然数, 且 r 与 s 之和等于 p。
较佳地, 所述 p 个加密密钥参数的组合是 p 个加密密钥参数之积, 所述 p 个解密密 钥参数的组合是 p 个解密密钥参数之积。
较佳地, 所述第一装置对所述第一装置认证信息进行加密时使用的加密算法是对 称密码体制的加密算法, 所述 p 个加密密钥参数分别与所述 p 个解密密钥参数相同。
为了实现上述目的, 本发明提供一种授权认证方法, 包括 m 个授权中心, 第一用户 卡与第一装置进行连接, 所述第一用户卡通过所述第一装置向所述 m 个授权中心中的每一 个授权中心分别申请授权得到 m 个授权信息, 所述第一用户卡利用从所述 m 个授权中心得 到的 m 个授权信息生成第一用户卡认证信息, 并将该生成的第一用户卡认证信息通过所述 第一装置发送给第二装置, 以便进行对所述第一用户卡的认证, 其中, 所述 m 为大于等于 2 的自然数。
为了实现上述目的, 本发明提供一种授权认证方法, 包括 m 个授权中心, 第一装置 向所述 m 个授权中心中的每一个授权中心分别申请授权得到 m 个授权信息, 第一用户卡与 所述第一装置进行连接, 所述第一装置将从所述 m 个授权中心得到的 m 个授权信息发送给 所述第一用户卡, 所述第一用户卡利用所述 m 个授权信息生成第一用户卡认证信息, 并将 该生成的第一用户卡认证信息通过所述第一装置发送给第二装置, 以便进行对所述第一用 户卡的认证, 其中, 所述 m 为大于等于 2 的自然数。
较佳地, 第二用户卡与所述第二装置进行连接, 所述第二装置将通过所述第一装 置发送来的第一用户卡认证信息发送给所述第二用户卡, 所述第二用户卡根据所述第一用
户卡认证信息进行对所述第一用户卡的认证。
为了实现上述目的, 本发明提供一种装置, 包括 : 收发单元, 用于接收和发送信息 ; 授权申请单元, 用于通过收发单元向 m 个授权中心中的每一个授权中心分别发送授权申请 请求 ; 授权信息保存单元, 用于通过收发单元从每一个授权中心分别接收授权信息, 并进行 保存 ; 认证信息生成单元, 用于利用从所述 m 个授权中心得到的 m 个授权信息生成认证信 息, 将所生成的认证信息经过收发单元发送给对方装置 ; 以及认证单元, 用于经过收发单元 从所述对方装置接收对方装置的认证信息, 并利用对方装置的认证信息对对方装置进行认 证, 其中 m 为大于等于 2 的自然数。
较佳地, 所述的装置还包括 : 参数保存单元, 用于将 f 个参数进行保存, 加密单元, 用于利用所述参数保存单元保存的所述 f 个参数的组合作为加密密钥, 对所述认证信息生 成单元生成的认证信息进行加密得到加密认证信息, 经过收发单元将该加密认证信息发送 给对方装置, 其中 f 为大于等于 1 的自然数。
较佳地, 所述装置还包括参数生成单元, 用于生成 f 个参数, 所述参数保存单元将 所述参数生成单元生成的 f 个参数进行保存。
较佳地, 所述的装置还包括参数接收单元, 用于经过收发单元从所述 m 个授权中 心中的 f 个授权中心分别得到参数, 所述参数保存单元将所述参数接收单元接收到的 f 个 参数进行保存, 其中 f 是大于等于 1 且小于等于 m 的自然数。 较佳地, 所述装置还包括 : 参数生成单元, 用于生成 r 个参数 ; 参数接收单元, 用于 经过收发单元从所述 m 个授权中心中的 s 个授权中心分别得到参数, 所述参数保存单元将 所述参数生成单元生成的 r 个参数和所述参数接收单元接收到的 s 个参数进行保存, 其中, 所述 r 是大于等于 1 且小于 f 的自然数, 所述 s 是大于等于 1 且小于等于 m 的自然数, 且r 与 s 之和等于 f。
较佳地, 所述装置还包括 : 解密单元, 用于利用所述参数保存单元保存的 f 个参数 的组合作为解密密钥, 对从经过所述收发单元接收的来自对方装置的加密认证信息进行解 密得到认证信息, 将认证信息发送给所述认证单元。
较佳地, 所述认证信息生成单元包括 : 第一随机数产生单元, 用于产生第一随机数 Ri, 安全熵参数生成单元, 用于产生安全熵参数 CTi, 可重组逻辑电路, 用于利用安全熵参数 CTi 生成安全熵混合数 STi, 参数计算单元, 用于基于第一随机数 Ri、 安全熵混合数 STi、 第 i 用户私钥 Si, 按照下式计算 Xi、 Yi, ei * Ri
Xi = gi mod ni
Yi = Si * giSTi * Ri mod ni
其中, ei、 ni、 gi 是第 i 授权中心的公钥相关的参数,
认证信息构成单元, 用于将所述参数计算单元计算出的 Xi、 Yi 以及所述安全熵参 数生成单元生成的安全熵参数 CTi 构成为第 i 认证信息, 其中, i 的值分别取 1 至 m。
较佳地, 所述安全熵参数生成单元包括 : 第二随机数产生单元, 用于产生第二随 机数 Rsi ; 用户安全熵生成单元, 用于生成用户安全熵 CSTi ; 系统安全熵生成单元, 用于生 成系统安全熵 CSKi, 所述可重组逻辑电路包括 : 用户可重组逻辑电路和系统可重组逻辑电 路, 所述用户可重组逻辑电路将所述第二随机数 RSi 作为输入信号, 将用户安全熵 CSTi 作 为控制信号, 输出用户安全熵混合数 UTi, 所述系统可重组逻辑电路将所述用户安全熵混合
数 UTi 作为输入信号, 将所述系统安全熵 CSKi 作为控制信号, 输出安全熵混合数 STi。
较佳地, 所述认证单元包括 : 参数提取单元, 用于从来自对方装置的认证信息中的 第 j 认证信息中提取 Xj、 Yj 以及安全熵参数 CTj, 可重组逻辑电路, 用于利用所述安全熵参 数 CTj 计算出安全熵指数 CKj, 公钥证书计算单元, 利用 Xj、 Yj 以及安全熵指数 CKj, 按照下 式计算公钥证书 GCj’ : CKj ej
Xj /Yj mod nj = GCj’ ,
其中 ej、 nj 是第 j 授权中心的公钥相关的参数,
验证单元, 用于利用所述公钥证书 GCj’ 验证对方装置是否是第 j 授权中心的授权 用户, 其中, j 的值分别取 1 至 m。
较佳地, 所述安全熵参数 CTj 中包括第二随机数 Rsj、 用户安全熵 CSTj、 系统安全 熵 CSKj, 所述可重组逻辑电路包括 : 用户可重组逻辑电路和系统可重组逻辑电路, 所述用 户可重组逻辑电路将所述第二随机数 Rsj 作为输入信号, 将用户安全熵 CSTj 作为控制信 号, 输出用户安全熵混合数 UTj, 所述系统可重组逻辑电路将所述用户安全熵混合数 UTj 作 为输入信号, 将所述系统安全熵 CSKj 作为控制信号, 输出安全熵指数 CKj。
为了实现上述目的, 本发明提供一种系统, 包括多个权利要求 20 所述的装置和 m 个授权中心, 所述授权中心包括授权单元, 用于根据来自所述装置的授权申请请求, 将授权 信息发送给所述装置, 其中, m 为大于等于 2 的自然数。
根据本发明, 当存在多个授权中心时, 用户设备通过向所述多个授权中心分别申 请授权得到多个授权信息之后, 在与对方用户设备之间进行通信等之前, 利用多个授权信 息产生的认证信息来互相进行认证, 认证通过则可以进行通信, 否则认为对方是非法设备 而拒绝通信。由此, 能够在存在多个授权中心的情况下保证了合法终端之间的通信。另外, 当合法终端被攻击等而授权信息被篡改等时, 由于无法通过上述认证, 所以也无法进行通 信, 从而保证了通信的安全性。 另外, 没有被上述多个授权中心授权的非法设备等也不能通 过上述认证, 所以有效地防止了非法终端的侵入等, 保证了通信的安全性。
另外, 本发明中, 上述授权信息可以是由授权中心对用户授权公钥证书签名生成 的用户私钥, 在进行认证时, 双方分别利用自身的用户私钥生成认证信息, 但又没有泄露各 自的用户私钥, 而是以各自的用户私钥和随机数在指数上扩展的计算模型生成的, 因此, 由 于用户私钥的保密性和随机数的随机性和不可预测性, 共同保证了身份认证信息交互的安 全性, 从而提高了通信的安全性。 附图说明
图 1 是本发明的授权系统示意图。
图 2 是本发明实施方式一中以双授权体制为例说明认证的流程图。
图 3 是本发明实施方式二中以双授权体制为例说明认证的流程图。
图 4 是本发明实施方式四的授权系统示意图。
图 5 是本发明实施方式五中用户设备的结构图。
图 6 是本发明实施方式六中用户设备的另一结构图。
图 7 是本发明实施方式七中用户设备 UEi 生成身份认证信息的流程图。
图 8 是本发明实施方式七中计算安全熵混合数的示意图。图 9 是本发明实施方式七中用户设备 UEj 对用户设备 UEi 进行认证的流程图。
图 10 是本发明本实施方式十的用户设备的结构图。
图 11a 是实现不同逻辑函数的可重组逻辑电路的示意图。
图 11b 是表示在上述图 11a 所示的电路中当 CTRL1 和 CTRL2 取不同的值的时候所 实现的函数关系的表。
图 12a 是实现不同连接关系的可重组逻辑电路示意图。
图 12b 是表示图 12a 的可重组逻辑电路实现的一种连接关系的图。
图 12c 是表示图 12a 的可重组逻辑电路实现的另一种连接关系的图。
图 13 是以寄存器间接连接的方式构成连接网络时的可重组逻辑电路示意图。
图 14 是以开关网络直接连接的方式构成连接网络时的可重组逻辑电路示意图。
图 15 是部分以寄存器间接连接、 部分以开关网络直接连接的方式构成连接网络 时的可重组逻辑电路示意图。 具体实施方式
下面结合附图, 对本发明的具体实施方式进行说明。 本发明提供的授权体制是多授权体制, 所谓的多授权体制是由多个授权中心共同 授权的体制。 例如, 双授权体制是由两个授权中心共同授权的体制, 三授权体制是由三个授 权中心共同授权的体制, 依此类推。
图 1 所示为本发明的授权系统示意图。假设在 m 授权体制下的 m 个授权中心分别 为授权中心 CA1、 CA2、 ......CAm(m 为大于等于 2 的自然数 )。假设在该 m 授权体制下包括 n 个用户设备, 这些 n 个用户设备之间需要互相进行通信。为了说明的方便, 将 n 个用户设 备用 UE1、 UE2、 ......、 UEn(n 为自然数 ) 表示。
这些 n 个用户设备 UEi(i = 1、 2、 ......、 n) 之间为了能够互相进行通信, 分别向 m 个授权中心 CA1、 CA2、 ......CAm 申请授权, 用户设备 UEi(i = 1、 2、 ......、 n) 通过分别 向授权中心 CAk(k = 1、 2、 ......、 m) 申请授权而得到 k 个授权信息 AIik(AIik 表示用户设 备 UEi 从授权中心 CAk 授权得到的授权信息 )。在此, 授权信息 AI 只要是与授权相关的信 息则可以是任何形式, 例如可以是由授权中心对用户授权公钥证书签名生成的用户私钥。
被 m 个授权中心 CA1、 CA2、 ......CAm 授权的用户设备 UEi 与用户设备 UEj(i, j = 1、 2、 ......、 n, 其中 i ≠ j) 进行通信时, 需要进行身份认证, 以验证通信双方的用户设 备是否是合法设备。在进行认证时, 通信双方的用户设备各自利用从 m 个授权中心得到的 m 个授权信息生成认证信息, 并将所生成的认证信息发送给对方, 通信双方的用户设备根据 来自对方用户设备的认证信息来进行认证。
实施方式一 :
在本实施方式一中, 用户设备在生成认证信息时, 分别利用自身从 m 个授权中心 授权得到的 m 个授权信息生成 m 个认证信息, 其中第 k(k = 1, 2, ......m) 个认证信息是由 第 k(k = 1, 2, ......m) 个授权信息生成的 ; 在对对方用户设备进行认证时, 根据每一个认 证信息分别进行认证, 即认证 m 次, 当 m 次认证都通过时, 对对方用户设备的认证通过, 当至 少 1 次认证没有通过时, 对对方用户设备的认证失败。
下面结合图 2, 以双授权体制为例说明用户设备 UEi 与用户设备 UEj 之间进行认证
的过程。 用 户 设 备 UEi 利 用 从 授 权 中 心 CA1 授 权 得 到 的 授 权 信 息 AIi1 生 成 认 证 信 息 ATi1(ST2101), 利 用 从 授 权 中 心 CA2 授 权 得 到 的 授 权 信 息 AIi2 生 成 认 证 信 息 ATi2(ST2103)。
在此, 利用授权信息 AIi1 生成认证信息 ATi1 的方式可以是任意形式。例如, 可以 利用将授权信息 AIi1 作为参数的函数关系 Fi 来生成认证信息 ATi1, 即
ATi1 = Fi(AIi1)
其中, 用于生成认证信息 ATi1 的函数 Fi 例如可以是线性函数、 二次函数、 指数函 数等各种函数, 但不限于此, 还包括任意形式的函数。
利用授权信息 AIi2 生成认证信息 ATi2 的方式也可以采用如上方式。
用 户 设 备 UEj 利 用 从 授 权 中 心 CA1 授 权 得 到 的 授 权 信 息 AIj1 生 成 认 证 信 息 ATj1(ST2201), 利 用 从 授 权 中 心 CA2 授 权 得 到 的 授 权 信 息 AIj2 生 成 认 证 信 息 ATj2(ST2203)。
同前, 认证信息 ATj1、 认证信息 ATj2 也可以通过如上所述的函数关系来生成。
用户设备 UEi 与用户设备 UEj 交互各自的认证信息, 即用户设备 UEi 将认证信息 ATi1 和认证信息 ATi2 发送给用户设备 UEj(ST2105), 用户设备 UEj 将认证信息 ATj1 和认 证信息 ATj2 发送给用户设备 UEi(ST2205)。
用户设备 UEi 利用来自用户设备 UEj 的认证信息 ATj1 对用户设备 UEj 进行第一 次认证 (ST2107), 利用认证信息 ATj2 对用户设备 UEj 进行第二次认证 (ST2109)。判断第 一次认证和第二次认证是否都通过 (ST2111), 当第一次认证和第二次认证都通过时, 认为 对用户设备 UEj 的认证通过, 当其中任何一次认证没有通过时, 认为对用户设备 UEj 的认证 失败, 中断通信 (ST2113)。
在步骤 ST2107 的第一次认证中, 用户设备 UEi 根据认证信息 ATj1 计算得到授权 验证信息 GCj1’ , 利用所计算出的授权验证信息 GCj1’ 验证用户设备 UEj 是否被授权中心 CA1 授权, 如果验证结果为是, 则第一次认证通过。在此, 在利用授权验证信息 GCj1’ 验证用 户设备 UEj 是否被授权中心 CA1 授权时, 用户设备 UEi 可以借助授权中心 CA1 来完成。例 如, 用户设备 UEi 将授权验证信息 GCj1’ 发送给授权中心 CA1 并要求授权中心 CA1 验证该 用户设备 UEj 是否是授权中心 CA1 的授权用户, 授权中心 CA1 将验证结果返回给用户设备 UEi, 用户设备 UEi 根据所返回的验证结果来确定认证是否通过, 当所返回的验证结果表示 用户设备 UEj 是授权中心 CA1 的授权用户时, 认证通过。再如, 当授权中心 CA1 已公布了用 户设备 UEj 的授权证书时, 用户设备 UEi 比较授权验证信息 GCj1’ 与已公布的用户设备 UEj 的授权证书, 当比较结果一致时, 认证通过。
在步骤 ST2109 的第二次认证中, 用户设备 UEi 根据认证信息 ATj2 计算得到授权 验证信息 GCj2’ , 利用所计算出的授权验证信息 GCj2’ 验证用户设备 UEj 是否被授权中心 CA2 授权, 如果验证结果为是, 则第二次认证通过。在此, 在利用授权验证信息 GCj2’ 验证用 户设备 UEj 是否被授权中心 CA2 授权时, 用户设备 UEi 可以借助授权中心 CA2 来完成。例 如, 用户设备 UEi 将授权验证信息 GCj2’ 发送给授权中心 CA2 并要求授权中心 CA2 验证该 用户设备 UEj 是否是授权中心 CA2 的授权用户, 授权中心 CA2 将验证结果返回给用户设备 UEi, 用户设备 UEi 根据所返回的验证结果来确定认证是否通过, 具体为, 当所返回的验证
结果表示用户设备 UEj 是授权中心 CA2 的授权用户时, 认证通过。再如, 当授权中心 CA2 已 公布了用户设备 UEj 的授权证书时, 用户设备 UEi 比较授权验证信息 GCj2’ 与已公布的用 户设备 UEj 的授权证书, 当比较结果一致时, 认证通过。
用户设备 UEj 利用来自用户设备 UEi 的认证信息 ATi1 进行第一次认证 (ST2207), 利用认证信息 ATi2 进行第二次认证 (ST2209)。判断两次认证是否都通过 (ST2211), 当第 一次认证和第二次认证都通过时, 对用户设备 UEi 的认证通过, 当其中任何一次认证没有 通过时, 对用户设备 UEi 的认证失败, 中断通信 (ST2213)。
在步骤 ST2207 的第一次认证中, 用户设备 UEj 根据认证信息 ATi1 计算得到授权 验证信息 GCi1’ , 利用所计算出的授权验证信息 GCi1’ 验证用户设备 UEi 是否被授权中心 CA1 授权, 如果验证结果为是, 则第一次认证通过。在此, 在利用授权验证信息 GCi1’ 验证用 户设备 UEi 是否被授权中心 CA1 授权时, 用户设备 UEj 可以借助授权中心 CA1 来完成。例 如, 用户设备 UEj 将授权验证信息 GCi1’ 发送给授权中心 CA1 并要求授权中心 CA1 验证该 用户设备 UEi 是否是授权中心 CA1 的授权用户, 授权中心 CA1 将验证结果返回给用户设备 UEj, 用户设备 UEj 根据所返回的验证结果来确定认证是否通过, 具体为, 当所返回的验证 结果表示用户设备 UEi 是授权中心 CA1 的授权用户时, 认证通过。再如, 当授权中心 CA1 已 公布了用户设备 UEi 的授权证书时, 用户设备 UEj 比较授权验证信息 GCi1’ 与已公布的用 户设备 UEi 的授权证书, 当比较结果一致时, 认证通过。 在步骤 ST2209 的第二次认证中, 用户设备 UEj 根据认证信息 ATi2 计算得到授权 验证信息 GCi2’ , 利用所计算出的授权验证信息 GCi2’ 验证用户设备 UEi 是否被授权中心 CA2 授权, 如果验证结果为是, 则第二次认证通过。在此, 在利用授权验证信息 GCi2’ 验证用 户设备 UEi 是否被授权 CA2 授权时, 用户设备 UEj 可以借助授权中心 CA2 来完成。例如, 用 户设备 UEj 将授权验证信息 GCi2’ 发送给授权中心 CA2 并要求授权中心 CA2 验证该用户设 备 UEi 是否是授权中心 CA2 的授权用户, 授权中心 CA2 将验证结果返回给用户设备 UEi, 用 户设备 UEj 根据所返回的验证结果来确定认证是否通过, 具体为, 当所返回的验证结果表 示该用户设备 UEi 是授权中心 CA2 的授权用户时, 认证通过。再如, 当授权中心 CA2 已公布 了用户设备 UEi 的授权证书时, 用户设备 UEj 比较授权验证信息 GCi2’ 与已公布的用户设 备 UEi 的授权证书, 当比较结果一致时, 认证通过。
通过如上步骤, 在用户设备 UEi 和用户设备 UEj 之间的认证通过时, 用户设备 UEi 与用户设备 UEj 进行通信 (ST2015), 例如密钥协商或传输数据等。如果任何一方没有通过 认证, 则中断双方通信 (ST2113、 ST2213), 并控制系统提示 : 非法用户。
在本实施方式中, 授权信息可以是由授权中心对授权给用户设备的授权公钥证书 进行签名生成的用户私钥, 根据认证信息计算得到的授权验证信息可以是公钥证书。 此时, 在上述图 2 所示的认证过程中, 例如在步骤 ST2107 中, 用户设备 UEi 根据认证信息计算得 到公钥证书, 然后比较所计算得到的公钥证书和相应的授权中心 CA1 授权给所述用户设备 UEj 的授权公钥证书是否一致, 如果一致则认证通过, 否则认证失败。 其它步骤也同样, 在此 省略。
在三授权体制下, 用户设备 UEi 与用户设备 UEj 之间进行认证时, 用户设备 UEi 利 用从授权中心 CA1 授权得到的授权信息 AIi1 生成认证信息 ATi1, 利用从授权中心 CA2 授权 得到的授权信息 AIi2 生成认证信息 ATi2, 利用从授权中心 CA3 授权得到的授权信息 AIi3
生成认证信息 ATi3, 并将认证信息 ATi1、 ATi2、 ATi3 发送给用户设备 UEj ; 用户设备 UEj 也 按照同样方式生成认证信息 ATj1、 ATj2、 ATj3 并将其发送给用户设备 UEi ; 用户设备 UEi 根 据认证信息 ATj 1 对用户设备 UEj 进行第一次认证, 根据认证信息 ATj2 对用户设备 UEj 进 行第二次认证, 根据认证信息 ATj3 对用户设备 UEj 进行第三次认证, 如果三次认证都通过, 则对用户设备 UEj 的认证通过, 如果其中任何一次认证没有通过, 则对用户设备 UEj 的认证 失败 ; 同样, 用户设备 UEj 也对用户设备 UEi 进行三次认证, 如果三次认证都通过, 则对用户 设备 UEi 的认证通过, 如果其中任何一次认证没有通过, 则对用户设备 UEi 的认证失败。当 在用户设备 UEi 和用户设备 UEj 之间的认证通过时, 用户设备 UEi 与用户设备 UEj 可以进 行通信。
根据本实施方式, 通信双方用户设备只有被共同的多个授权中心授权才能够认证 通过, 由此能够有效地防止非法设备的侵入。 另外, 由于针对每一个授权中心的授权信息分 别生成认证信息, 并分别进行认证, 所以在该授权系统中增加新的授权中心时, 用户设备只 需要向该新的授权中心授权得到授权信息之后, 在生成认证信息时利用从该新的授权中心 授权得到的授权信息再产生一个相应的认证信息, 在用户设备之间进行认证时, 再增加一 次相应的认证过程即可。因此, 即使增加了新的授权中心, 也不需要改变认证方式, 能够简 单地进行扩展。
实施方式二 :
在上述实施方式一中, 双方生成认证信息后, 直接将所生成的认证信息发送给对 方。 在本实施方式二中, 双方生成认证信息后, 对所生成的认证信息进行加密得到加密认证 信息, 将加密认证信息发送给对方, 对方对该加密认证信息进行解密得到认证信息, 并根据 认证信息进行认证。
下面结合图 3, 以双授权体制为例说明用户设备 UEi 与用户设备 UEj 之间进行认证 的过程。其中, 图 3 的认证流程与图 2 的认证流程的区别点在于 : 图 3 中增加了用于对认证 信息进行加密的步骤 ST2104 和步骤 ST2204、 用于对加密认证信息进行解密的步骤 ST2106 和 ST2206, 以及变更了用于交互加密认证信息的步骤 ST2105 和 ST2205。下面仅对区别步 骤进行说明。
在步骤 ST2104 中, 用户设备 UEi 利用参数 K 作为加密密钥对认证信息 ATi1 和 ATi2 进行加密得到加密认证信息 CATi。
CATi = [Am]K(ATi1, ATi2)
在步骤 ST2204 中, 用户设备 UEj 利用参数 K 作为加密密钥对认证信息 ATj1 和 ATj2 进行加密得到加密认证信息 CATj。
CATj = [Am]K(ATj1, ATj2)
在步骤 ST2105 中, 用户设备 UEi 将加密认证信息 CATi 发送给用户设备 UEj。
在步骤 ST2205 中, 用户设备 UEj 将加密认证信息 CATj 发送给用户设备 UEi。
在步骤 ST2106 中, 用户设备 UEi 利用参数 K 作为解密密钥对加密认证信息 CATj 进行解密得到认证信息 ATj1 和 ATj2。
ATj1, ATj2 = [Am]K(CATj)
在步骤 ST2206 中, 用户设备 UEj 利用参数 K 作为解密密钥对加密认证信息 CATi 进行解密得到认证信息 ATi1 和 ATi2。ATi1, ATi2 = [Am]K(CATi)
在本实施方式中, 作为对认证信息进行加密时的加密密钥和对认证信息进行解密 时的解密密钥的参数 K, 例如可以是如下参数 :
(1) 由授权中心 CAI 提供给用户设备 UEi 和用户设备 UEj 的参数 K1, 即, K = K1
(2) 由授权中心 CA2 提供给用户设备 UEi 和用户设备 UEj 的参数 K2, 即, K = K2
(3) 由授权中心 CA1 提供给用户设备 UEi 和用户设备 UEj 的参数 K1 和由授权中心 CA2 提供给用户设备 UEi 和用户设备 UEj 的参数 K2 的组合, 即, K = (K1, K2)
其中, 作为参数 K1 和参数 K2 的组合, 可以是多种形式, 例如是 K = K1×K2, K= K1+K2 等
(4) 用户设备生成的参数
例如, 用户设备可以根据授权信息计算出作为加密密钥和解密密钥的参数 K。
在本实施方式中, 作为对认证信息进行加密时的加密算法 Am, 可以由用户设备 UEi 和用户设备 UEj 预先协商确定, 也可以由授权中心指定。另外, 该加密算法可以采用对 称密码体制的加密算法。
基于上述流程, 如果用户设备 UEi 和用户设备 UEj 没有正确持有参数 K, 则无法对 来自对方的加密认证信息进行解密得到认证信息, 导致认证失败。
下面以三授权体制为例说明用户设备 UEi 与用户设备 UEj 之间进行认证的过程。
用户设备 UEi 利用自身用户设备 UEi 从授权中心 CA1 授权得到的授权信息 AIi1 生成认证信息 ATi1, 利用从授权中心 CA2 授权得到的授权信息 AIi2 生成认证信息 ATi2, 利 用从授权中心 CA3 授权得到的授权信息 AIi3 生成认证信息 ATi3, 利用参数 Km * Kn 对认证 信息 ATi1、 ATi2、 ATi3 进行加密得到认证信息 CATi。
CATi = [Am]Km * Kn(ATi1, ATi2, ATi3)
用户设备 UEj 利用自身用户设备 UEj 从授权中心 CA1 授权得到的授权信息 AIj1 生成认证信息 ATj1, 利用从授权中心 CA2 授权得到的授权信息 AIj2 生成认证信息 ATj2, 利 用从授权中心 CA3 授权得到的授权信息 AIj3 生成认证信息 ATj3, 利用参数 Km * Kn 对认证 信息 ATj1、 ATj2、 ATj3 进行加密得到认证信息 CATj。
CATj = [Am]Km * Kn(ATj1, ATj2, ATj3)
用户设备 UEi 和用户设备 UEj 交互各自的加密认证信息。
用户设备 UEi 利用参数 Km * Kn 作为解密密钥对加密认证信息 CATj 进行解密得 到认证信息 ATj1、 ATj2 和 ATj3。
ATj1, ATj2, ATj3 = [Am]Km * Kn(CATj)
用户设备 UEj 利用参数 Km * Kn 作为解密密钥对加密认证信息 CATi 进行解密得 到认证信息 ATi1、 ATi2 和 ATi3。
ATi1, ATi2, ATi3 = [Am]Km * Kn(CATi)
其中, 参数 Km 可以是由授权中心 CA2 提供给用户设备 UEi 和用户设备 UEj 的参数, 参数 Kn 可以是由授权中心 CA3 提供给用户设备 UEi 和用户设备 UEj 的参数。另外, 参数 Km 和参数 Kn 中的至少任一个可以是由用户设备 UEi 和用户设备 UEj 按照规定策略生成的参 数。
基于上述具体例子, 在 m 授权体制下用户设备 UEi 与用户设备 UEj 之间进行认证的方式可以是 : 在用户设备 UEi 在生成认证信息时, 利用从 m 个授权中心得到的 m 个授权信 息生成相应的 m 个认证信息, 利用参数 K 作为加密密钥对所述 m 个认证信息进行加密得到 加密认证信息, 并将该加密认证信息发送给用户设备 UEj ; 用户设备 UEj 接收到加密认证信 息之后, 先利用参数 K 作为解密密钥对该加密认证信息进行解密得到用户设备 UEi 的 m 个 认证信息, 利用该 m 个认证信息分别进行认证, 当所有认证都通过时, 认为对用户设备 UEi 的认证通过。
在此, 加密密钥和解密密钥 K 可以是 q(q ≥ 1) 个参数的组合。
当 q ≤ m 时, 该 q 个参数可以都是由 m 个授权中心中的 q 个授权中心分别提供给 用户设备的参数 ; 或者是, q 个参数中的 s 个参数是由 m 个授权中心中的 s(m > s ≥ 1) 个 授权中心分别提供的参数, 另外 r(q > r ≥ 1) 个参数是由用户设备生成的参数, r+s = q。
当 q > m 时, q 个参数中的 m 个参数是由 m 个授权中心分别提供给用户设备的参 数, 另外 q-m 个参数可以是由用户设备按照规定策略产生的参数 ; 或者是, q 个参数中的 s(m > s ≥ 1) 个参数是由 m 个授权中心中的 s 个授权中心分别提供的参数, 另外 r(q > r ≥ 1) 个参数是由用户设备生成的参数, 此时 r+s = q。
作为 q 个参数的组合, 可以是任意组合方式, 例如, q 个参数之积、 q 个参数之和等。 另外, 在本实施方式中, 在进行加密时的加密算法可以由用户设备 UEi 和用户设 备 UEj 预先协商确定, 也可以由授权中心指定, 只要能够使用户设备 UEi 和用户设备 UEj 采 用相同的加解密算法即可。另外, 该加密算法可以采用对称密码体制的加密算法。
根据本实施方式, 由于对认证信息进行加密之后发送给对方, 因此通信双方的认 证信息的传输安全性得到了保证。
实施方式三 :
实施方式三与实施方式二的区别点在于, 在实施方式二中对认证信息只加密了一 次, 但在本实施方式三中, 可以利用不同的加密算法对认证信息加密多次。
例如, 利用加密密钥 K1 和加密算法 Am1 对认证信息进行加密, 然后利用加密密钥 K2 和加密算法 Am2 对上一个加密信息再进行加密, 以此类推, 利用加密密钥 Kk 和加密算法 Amk 对上一个加密信息再进行加密, 得到加密认证信息 CAT。 Kk K2
CAT = [Amk] ...[Am2] ([Am1]K1(AT))
接收到上述加密认证信息 CAT 之后, 先利用解密密钥 Kk 和解密算法 Amk 对 CAT 进 行解密, 以此类推, 最后利用解密密钥 K1 和解密算法 Am1 对上一个解密结果进行解密, 得到 认证信息 AT。
其中, 加密算法和加密密钥的使用策略可以由用户设备 UEi 和用户设备 UEj 预先 协商确定, 也可以由授权中心指定。
实施方式四 :
在以上实施方式中, 为了让用户利用用户设备来进行与其它用户设备之间的通信 而进行了授权和认证, 即用户设备直接被授权中心授权, 用户设备与用户设备之间进行认 证。在本实施方式四中, 为了让用户可以利用用户卡来完成与其它用户卡或其它用户设备 的通信而进行授权和认证。本实施方式四的授权系统框图如图 4 所示。
在本实施方式四中, 用户卡的授权方式包括直接授权和间接授权两种方式。
用户卡直接授权方式是, 该用户卡向授权中心申请授权, 授权中心直接授权用户
卡。 在用户卡直接授权方式下, 用户卡相当于上述实施方式中的用户设备, 用户卡与授权中 心的授权过程、 和用户卡与用户卡或用户设备的认证过程同上述实施方式。 不同的是, 用户 卡与授权中心的交互、 和用户卡与其它用户卡或其它用户设备的交互均是通过与该用户卡 连接的用户设备来完成。即, 用户设备只是作为用户卡的通信模块来起作用。例如, 用户卡 i 与用户设备 UEi 连接后, 该用户卡 i 通过所述用户设备 UEi 向 m 个授权中心中的每一个授 权中心分别申请授权得到 m 个授权信息, 所述用户卡 i 利用该 m 个授权信息生成用户卡认 证信息, 并将该生成的用户卡认证信息通过所述用户设备 UEi 发送给对方用户设备 UEj, 以 便进行认证。
用户卡间接授权方式是, 授权中心授权用户设备, 该被授权的用户设备授权该用 户卡。 即在该用户卡间接授权方式下, 授权中心是通过用户设备间接授权用户卡。 在用户卡 间接授权方式下, 用户卡与其它用户卡或其它用户设备之间的认证过程同上述实施方式。 即在认证过程中, 由用户卡根据授权信息生成认证信息并通过用户设备发送给对方, 该用 户卡通过用户设备接收来自对方的认证信息并进行认证。例如, 首先, 用户设备 UEi 向 m 个 授权中心申请授权得到 m 个授权信息, 当用户卡 i 与用户设备 UEi 连接时, 该用户设备 UEi 将从 m 个授权中心得到的 m 个授权信息发送给所述用户卡 i, 所述用户卡 i 利用所述 m 个授 权信息生成用户卡认证信息, 并将该生成的用户卡认证信息通过所述用户设备 UEi 发送给 对方用户设备 UEj, 以便进行认证。 当用户设备 UEj 与用户卡 j 进行连接时, 该用户设备 UEj 将接收到的用户卡 i 的 用户卡认证信息发送给与自身连接的用户卡 j, 该用户卡 j 根据用户卡 i 的用户卡认证信息 进行对该用户卡 i 的认证。
由于在利用用户卡时, 授权过程和认证过程均可采用上述实施方式一~三, 所以 在此省略用户卡的授权和认证方法。
用户卡可以是密钥卡, 也可以是安全卡。
在本实施方式中, 通过使用用户卡来提高了通信的便利性。 而在使用用户卡时, 也 通过上述授权和认证方式来提高了通信的安全性。
实施方式五 :
在本实施方式五中, 提供用于实现上述实施方式一的用户设备。
图 5 所示为在本实施方式五的用户设备的结构图。如图 5 所示, 用户设备包括 : 收 发单元 501, 用于接收和发送信息 ; 授权申请单元 502, 用于通过收发单元 501 向 m 个授权中 心中的每一个授权中心分别发送授权申请请求 ; 授权信息保存单元 503, 用于通过收发单 元 501 从每一个授权中心分别接收授权信息, 并进行保存 ; 认证信息生成单元 504, 用于利 用从所述 m 个授权中心得到的 m 个授权信息生成认证信息, 将所生成的认证信息经过收发 单元 501 发送给对方用户设备 ; 以及认证单元 505, 用于经过收发单元 501 从所述对方用户 设备接收对方用户设备的认证信息, 并利用对方用户设备的认证信息对对方用户设备进行 认证。其中 m 为大于等于 2 的自然数。
本实施方式中的用户设备内的各单元所执行的操作均可采用上述实施方式一至 三的方法, 在此省略。另外, 实施方式四中的用户卡的内部结构也可以与上述图 5 所示的结 构相同, 在此省略。
实施方式六 :
在本实施方式六中, 提供用于实现上述实施方式二的用户设备。
图 6 所示为在本实施方式六的用户设备的结构图。 如图 6 所示, 用户设备在图 5 所 示的结构基础上还包括 : 参数生成单元 506, 用于生成参数, 作为加密密钥或解密密钥 ; 参 数保存单元 507, 用于保存所述参数生成单元生成的 q 个参数 ; 加密单元 508, 用于将所述参 数保存单元所保存的 q 个参数作为加密密钥对认证信息进行加密得到加密认证信息, 并经 过收发单元 501 发送给对方用户设备。另外, 还可以包括解密单元 509, 用于将所述参数保 存单元所保存的 q 个参数作为解密密钥, 对通过所述收发单元 501 接收的加密认证信息进 行解密, 将解密得到的认证信息发送给认证单元 505。其中, q 为大于等于 1 的自然数。
作为本实施方式六的替换实施方式, 代替图 6 中的参数生成单元 506, 可以包括参 数接收单元 ( 未图示 ), 该参数接收单元经过所述收发单元 501 从 m 个授权中心中的 q 个授 权中心分别接收 q 个参数。此时, 参数保存单元 507 保存所述参数接收单元接收到的 q 个 参数。其中, q 为大于等于 1 的自然数。
作为本实施方式六的另一替换实施方式, 在图 6 所示的用户设备中还可以包括参 数接收单元 ( 未图示 ), 该参数接收单元经过所述收发单元 501 从 m 个授权中心中的 s 个 授权中心接收 s 个参数。此时, 参数保存单元 507 保存所述参数接收单元接收到的 s 个参 数和所述参数生成单元 506 生成的 q 个参数。在该情况下, 加密单元 508 将所述参数保存 单元所保存的 q+s 个参数的组合作为加密密钥对认证信息进行加密得到加密认证信息, 并 经过收发单元 501 发送给对方用户设备。解密单元 509 将所述参数保存单元所保存的 q+s 个参数的组合作为解密密钥, 对通过所述收发单元 501 接收的加密认证信息进行解密, 将 解密得到的认证信息发送给认证单元 505。其中, q 为大于等于 1 的自然数, s 为大于等于 1 且小于等于 m 的自然数。
本实施方式中的用户设备内的各单元所执行的操作均可采用上述实施方式一至 三的方法, 在此省略。另外, 实施方式四中的用户卡的内部结构也可以与上述图 5 所示的结 构相同, 在此省略。
实施方式七 :
本实施方式七说明用户设备 UEi 与用户设备 UEj 之间进行身份认证的认证流程。 本实施方式七的认证流程可以适用于上述实施方式一~六。需要说明的是, 上述实施方式 一~六中的认证方式并不限于本实施方式七中的方法, 可以采用任意现有的认证方式。
下面以用户设备 UEi 利用从第 k 个授权中心 CAk(k = 1, ......, m) 得到的用户私 钥 Sik 生成身份认证信息 ATik 为例, 说明生成身份认证信息的步骤, 如图 7 所示, 包括如下 步骤 :
步骤 ST801 : 用户设备 UEi 产生一个随机数 Rik。
步骤 ST802 : 用户设备 UEi 确定用户安全熵 CSTik, 系统安全熵 CSKik 和随机数 Rsik, 建立安全熵信息参数 CTik。
CTik = CSTik, CSKik, Rsik
随机数 Rsik 是可重组逻辑电路的输入数据。用户安全熵 CSTik 和系统安全熵 CSKik 分别是可重组逻辑电路的静态编码和动态编码。
步骤 ST803 : 用户设备 UEi 根据安全熵信息参数 CTik 和可重组逻辑电路计算安全 熵混合数 STikSTik = CTik(RELOG)
STik 的产生参见图 8。
用户安全熵混合数 UTik 是用户安全熵 CSTik 与随机数 Rsik 通过用户可重组逻辑 电路 Sa 产生的混合数。其中, 用户安全熵 CSTik 是用于控制用户可重组逻辑电路 Sa 的可 控节点的控制信号, 随机数 Rsik 是用户可重组逻辑电路 Sa 的输入, 用户安全熵混合数 UTik 是用户可重组逻辑电路 Sa 的输出。
安全熵混合数 STik 是系统安全熵 CSKik 与用户安全熵混合数 UTik 通过系统可重 组逻辑电路 Pa 产生的混合数。安全熵混合数 STik 参与身份认证信息模型计算。其中, 系 统安全熵 CSKik 是用于系统可重组逻辑电路 Pa 的可控节点的控制信号, 用户安全熵混合数 UTik 是系统可重组逻辑电路 Pa 的输入, 安全熵混合数 STik 是系统可重组逻辑电路 Pa 的输 出。
关于可重组逻辑电路的构成以及实现, 在本文的最后进行描述。
步骤 ST804 : 用户设备 UEi 计算 Xik、 Yik ek * Rik
Xik = gk mod nk
Yik = Sik * gkSTik * Rik mod nk
其中, ek, nk, gk 是授权中心 CAk 的公钥信息。
用户设备 UEi 将 Xik、 Yik、 CTik 作为认证信息 ATik。
通过如上步骤, 用户设备 UEi 能够利用从 m 个授权中心得到的 m 个用户私钥得到 m 个认证信息 ATi1 ~ ATim。
下面以用户设备 UEj 利用来自用户设备 UEi 的认证信息 ATik(k = 1, ......, m) 进行认证为例, 说明进行身份认证信息的步骤, 如图 9 所示, 包括如下步骤 :
步骤 ST1001 : 用户设备 UEj 从来自用户设备 UEi 的认证信息 ATik 中提取用户设 备 UEi 的安全熵信息参数 CTik。
CTik = CSTik, CSKik, Rsik
步骤 ST1002 : 用户设备 UEj 基于可重组逻辑电路, 利用用户设备 UEi 的安全熵信 息参数 CTik 计算安全熵指数 CKik。
CKik = CTik(RELOG)
计算安全熵指数 CKik 的方法可参见图 8, 不同点在于系统可重组逻辑电路 Pa 的输 出是安全熵指数 CKik。
在此, 用户设备 UEi 和用户设备 UEj 中的可重组逻辑电路具有相同构成, 即用户设 备 UEi 和用户设备 UEj 中的用户可重组逻辑电路 Sa 相同, 用户设备 UEi 和用户设备 UEj 中 的系统可重组逻辑电路 Pa 相同。这样, 利用相同的控制信号控制可重组逻辑电路构成的逻 辑电路一样。
若在认证信息传输过程中安全熵信息参数 CTik 没有被篡改, 则用户设备 UEj 利用 从认证信息中提取出的用户安全熵 CSTik 控制用户可重组逻辑电路 Sa 构成的逻辑电路和 利用从认证信息中提取出的系统安全熵 CSKik 控制系统可重组逻辑电路 Pa 构成的逻辑电 路将会与在用户设备 UEi 中构成的逻辑电路相同, 这样在用户设备 UEj 中基于从认证信息 中提取出的安全熵信息参数 CTik 得到的安全熵指数 CKik 等于在用户设备 UEi 中生成的安 全熵混合数 STik。若在认证信息传输过程中安全熵信息参数 CTik 被篡改, 则用户设备 UEj得到的安全熵指数 CKik 不同于在用户设备 UEi 中生成的安全熵混合数 STik。
步骤 ST1003 : 用户设备 UEj 计算用户设备 UEi 的授权公钥证书 GCik’ 。 CKik ek
Xik /Yik mod nk = GCik’
其中, Xik 和 Yik 是从认证信息 ATik 中提取得到的, ek 和 nk 是第 k 个授权中心 CAk 的公钥相关的参数。
若在上述步骤 ST1002 中得到的安全熵指数 CKik 等于在用户设备 UEi 中生成的安 全熵混合数 STik, 则能正确得到 GCik’ , 否则不能正确得到 GCik’ 。
步骤 ST1004 : 用户设备 UEj 利用计算出的用户设备 UEi 的授权公钥证书 GCik’ 来 验证用户设备 UEi 是否为合法。
例如, 用户设备 UEj 对计算出的用户设备 UEi 的授权公钥证书 GCik’ 和已知的用 户设备 UEi 的授权公钥证书 GCik 进行比较, 根据比较结果验证用户设备 UEi 是否为合法。
例如, 由于用户设备 UEi 授权公钥证书 GCik 中可以包括 idi 参数, 该 idi 包含用 户设备 UEi 的信息, 例如网址、 电话号码、 身份等, 所以通过比较这些信息即可验证用户设 备 UEi 的合法性。
若有另一个不具有从第 k 个授权中心授权得到的用户私钥 Sik 的用户设备假冒用 户设备 UEi 则无法通过上述认证过程。
用户设备 UEi 对用户设备 UEj 的认证过程与上述过程相同, 在此省略。
用户设备 UEj 与用户设备 UEi 之间的双方身份认证通过后, 进入双方密钥协商的 协议阶段, 否则中断双方通信, 控制系统提示 : 非法用户。
实施方式八 :
本实施方式八的身份认证过程中, 通过图 7 所示流程得到认证信息 ATik( 包括 Xik、 Yik、 CTik) 之后, 还进一步计算认证信息 ATik 的摘要, 即用户设备 UEi 计算 Xik、 Yik、 安全熵信息参数 CTik 的摘要, 得到 Xikm、 Yikm、 CTikm。用户设备 UEi 将认证信息 ATik( 包 括 Xik、 Yik、 CTik) 以及认证信息的摘要 ATikm( 包括 Xikm、 Yikm、 CTikm) 发送给用户设备 UEj。
用户设备 UEj 从用户设备 UEi 接收到认证信息 ATik( 包括 Xik、 Yik、 CTik) 以及认 证信息的摘要 ATikm( 包括 Xikm、 Yikm、 CTikm) 之后, 在对用户设备 UEi 进行认证时, 在上述 图 9 所示的步骤 ST1001 之前, 执行如下步骤 : 用户设备 UEj 利用所接收的摘要 Xikm、 Yikm、 CTikm 来核对认证信息 Xik、 Yik、 CTik。
具体而言, 用户设备 UEj 使用与用户设备 UEi 同样的摘要算法来计算身份认证信 息 Xik、 Yik、 CTik 的摘要信息 Xikm’ 、 Yikm’ 、 CTikm’ 。如果计算得出的摘要信息 Xikm’ 、 Yikm’ 、 CTikm’ 和接收的摘要信息 Xikm、 Yikm、 CTikm 一致, 则说明 Xik、 Yik、 CTik 没有被篡 改, 进入步骤 ST1001。如果核对结果不一致, 则说明 Xik、 Yik、 CTik 信息被篡改, 用户设备 UEi 未通过身份认证, 并结束认证过程。
实施方式九 :
在对身份认证信息进行加密时, 可以采用本实施方式九的身份认证过程。
在本实施方式九的身份认证过程中, 通过图 7 所示流程得到认证信息 ATik( 包括 Xik、 Yik、 CTik) 之后, 对认证信息 ATik 进行加密得到加密认证信息 CikXY。
例如, 在双授权体制下, 用户设备 UEi 将 Km 作为加密密钥, 用加密算法 Am 对ATik(k = 1, 2, ......, m) 执行加密后得到 CikXY(k = 1, 2, ......, m)。 Km Km
CikXY = [Am] (ATik) = [Am] (Xik, Yik, CTik)
或者, 用户设备 UEi 将 Km 作为加密密钥, 用加密算法 Am 对 ATi1、 ATi2, ......, ATim 执行加密后得到 CiXY
CiXY = [Am]Km(ATi1, ATi2, ......, ATim)
其中, Km 是用户设备 UEi 从第二授权中心 CA2 得到的参数, 也可以是用户设备 UEi 按照规定策略生成的参数。
用户设备 UEi 计算出 CikXY(k = 1, 2, ......, m) 或者 CiXY 之后, 将该 CikXY(k = 1, 2, ......, m) 或者 CiXY 发送给用户设备 UEj。
用户设备 UEj 接收到 CikXY(k = 1, 2, ......, m) 或者 CiXY 之后, 将 Km 作为解密密 钥, 用解密算法 Am 对身份认证信息 CikXY(k = 1, 2, ......, m) 或者 CiXY 执行解密后得到 Xik, Yik, CTik(k = 1, 2, ......, m)。
其中, Km 是用户设备 UEj 从第二授权中心 CA2 得到的参数, 也可以是用户设备 UEj 按照规定策略生成的参数。
再如, 在三授权体制下, 用户设备 UEi 将 Km 和 Kn 的乘积作为加密密钥, 用加密算 法 Am 对 ATik(k = 1, 2, ......, m) 执行加密后得到 CikXY(k = 1, 2, ......, m) 或者 CiXY。 Km×Kn Km×Kn
CikXY = [Am] (ATik) = [Am] (Xik, Yik, CTik) Km×Kn
CiXY = [Am] (ATi1, ATi2, ......, ATim)
其中, Km 的定义同上, Kn 是用户设备 UEi 从第三授权中心 CA3 得到的参数, 也可以 是用户设备 UEi 按照规定策略生成的参数。
在此, 若多个参数作为加密密钥时, 不限于上述提到的 Km 和 Kn 的乘积这样的形 式, 还可以采用其它组合形式, 例如多个参数之和等。
用户设备 UEj 由 Km 和 Kn 作为解密密钥, 用解密算法 Am 对身份认证信息 CikXY(k = 1, 2, ......, m) 或者 CiXY 执行解密后得到 Xik, Yik, CTik(k = 1, 2, ......, m)。
其中, Km 的定义同上, Kn 是用户设备 UEj 从第三授权中心得到的参数, 也可以是用 户设备 UEj 按照规定策略生成的参数。
在此, 若多个参数作为解密密钥时, 不限于上述提到的 Km 和 Kn 的乘积这样的形 式, 还可以采用其它组合形式, 例如多个参数之和等。当然, 不管采用何种组合形式的加密 密钥和解密密钥, 都需要保证互成为一对密钥。
另外, 关于 Km 和 Kn, 例如, Km 是第二授权中心 ( 管理中心 ) 授权给用户设备的安 全熵密钥, Kn 是第三授权中心 ( 网管中心 ) 授权给用户设备的辅助密钥, 其形式如下 :
管理中心授权安全熵私钥证书 : [e, n, g, Km] ;
网管中心授权辅助私钥证书 : [e, n, g, Kn, STi]。
其中,
e, n: 授权机关公钥
g: 授权机关密钥体系本原元
Km : 安全熵密钥
Kn : 辅助密钥
STi : 安全熵混合数实施方式十 :
在本实施方式十中, 提供用于实现上述实施方式七~九的用户设备。
图 10 所示为在本实施方式十的用户设备的结构图。如图 10 所示, 用户设备与图 5 或 6 所示的不同点在于认证信息生成单元 504 和认证单元 505 以及可重组逻辑电路 510。
认证信息生成单元 504 包括 : 第一随机数产生单元 5041、 安全熵参数生成单元 5042、 参数计算单元 5043、 认证信息构成单元 5044。
认证单元 505 包括 : 参数提取单元 5051、 公钥证书计算单元 5052、 验证单元 5053。
如图 8 所示, 所述可重组逻辑电路 510 包括 : 用户可重组逻辑电路和系统可重组逻 辑电路。
在生成认证信息时, 相关的单元执行如下操作 :
第一随机数产生单元 5041 产生第一随机数 Ri ; 安全熵参数生成单元 5042 产生安 全熵参数 CTi ; 可重组逻辑电路 510 基于安全熵参数 CTi 生成安全熵混合数 STi, 输出给参 数计算单元 5043 ; 参数计算单元 5043 基于第一随机数 Ri、 安全熵混合数 STi、 保存在授权 信息保存单元 503 中的第 i 用户私钥 Si, 按照下式产生 Xi、 Yi ; 认证信息构成单元 5044 将 所述参数计算单元计算出的 Xi、 Yi 以及所述安全熵参数生成单元 5042 生成的安全熵参数 CTi 构成为第 i 认证信息。
Xi = giei * Ri mod ni
Yi = Si * giSTi * Ri mod ni
其中, ei、 ni、 gi 是第 i 授权中心的公钥相关的参数, i 的值分别取 1 至 m。
所述安全熵参数生成单元 5042 可以包括 : 第二随机数产生单元, 用于产生第二随 机数 Rsi ; 用户安全熵生成单元, 用于生成用户安全熵 CSTi ; 系统安全熵生成单元, 用于生 成系统安全熵 CSKi。第二随机数 Rsi、 用户安全熵 CSTi、 系统安全熵 CSKi 构成安全熵参数 CTi。
在生成安全熵混合数 STi 时, 所述可重组逻辑电路 510 中的用户可重组逻辑电路 Sa 将用户安全熵 CSTi 作为控制信号, 将所述第二随机数 RSi 作为输入信号, 输出用户安全 熵混合数 UTi, 所述系统可重组逻辑电路 Pa 将所述系统安全熵 CSKi 作为控制信号, 将所述 用户可重组逻辑电路 Sa 的输出即用户安全熵混合数 UTi 作为输入信号, 输出安全熵混合数 STi。
在进行认证时, 相关的单元执行如下操作 :
参数提取单元 5051 从来自对方装置的认证信息中的第 j 认证信息中提取 Xj、 Yj 以及安全熵参数 CTj ; 可重组逻辑电路 510 利用所述安全熵参数 CTj 计算出安全熵指数 CKj ; 公钥证书计算单元 5052 利用 Xj、 Yj 以及安全熵指数 CKj, 按照下式计算公钥证书 GCj’ ; 验证单元 5053 利用所述公钥证书 GCj’ 验证对方装置是否是第 j 授权中心的授权用户。 CKj ej
Xj /Yj mod nj = GCj’
其中 ej、 nj 是第 j 授权中心的公钥相关的参数, j 的值分别取 1 至 m。
所述安全熵参数 CTj 中包括第二随机数 Rsj、 用户安全熵 CSTj、 系统安全熵 CSKj。 在得到安全熵指数 CKj 时, 所述可重组逻辑电路 510 中的用户可重组逻辑电路 Sa 将用户 安全熵 CSTj 作为控制信号, 将所述第二随机数 Rsj 作为输入信号, 输出用户安全熵混合数 UTj, 所述系统可重组逻辑电路 Pa 将所述系统安全熵 CSKj 作为控制信号, 将所述用户可重组逻辑电路 Sa 的输出即用户安全熵混合数 UTj 作为输入信号, 输出安全熵指数 CKj。
本实施方式中的用户设备内的各单元所执行的操作均可采用上述实施方式七至 九的方法, 在此省略。另外, 实施方式四中的用户卡的内部结构也可以与上述图 10 所示的 结构相同, 在此省略。
下面介绍可重组逻辑电路的原理以及实现方法。
任何一个算法都是由一系列的基本操作按照一定顺序连接而成。设 OP 表示构成 不同算法操作的操作和控制关系的集合, 则 OF 可以表示成 :
OP = (op1, 1+op1, 2+...+op1, m1) * (op2, 1+op2, 2+...+op2, m2) * ... * (opn, 1+opn, mn) 2+...+opn,
其中, opi, 2, ..., m i, i = 1, 2, ..., n) 表示基本算法操作, “+” 表示并行 j(j = 1, 操作关系、 “*” 表示串行操作关系。
通过对不同算法进行分析和研究, 我们发现算法具有一个显著的特征 : 很多不同 的算法具有相同或相似的基本操作成分, 或者说同一基本操作成分在不同算法中出现的频 度很高。由于不同算法往往具有很多相同或相似的基本操作成分, 这些基本操作成分所对 应的硬件资源就可以被多种不同算法所共用, 因此我们就能够以较少的电路规模构造一套 逻辑电路来实现多种算法。这就是可重组逻辑电路的设计依据。 首先定义可重组逻辑电路中的一些术语。
设 E 表示某些可被不同算法重复使用的功能部件所构成的集合, E = {e1, e2, ..., em}(m ∈自然数 ), CNode 表示某些指令界面可见、 可控的部件所构成的集合, CNode = {cnode1, cnode2, ..., cnoden}(n ∈自然数 ), C 表示上述功能部件或可控部件之间的连接 关系所构成的集合, C = {R
|R 是 a 到 b 的连接关系, a, b ∈ E ∪ CNode}, 则由 E、 CNode、 C 所确定的逻辑电路就称为可重组逻辑电路, 记为 RELOG = {E, CNode, C}。其中 ei ∈ E(i = 1, 2, ..., m) 称为重组元素, cnodei ∈ CNode(i = 1, 2, ..., n) 称为可控节点。
可重组逻辑电路的功能将随着可控节点的控制信号的改变而改变, 设可重组逻辑 电路 RELOG = {E, CNode, C} 所能实现的功能用 FUNC_RELOG 表示, 其可控节点对应的控制信 号的集合用 CTRL 表示, 则 FUNC_RELOG 是 CTRL 的函数, 表示为
FUNC_RELOG = f(CTRL)
CTRL = {ctrl1, ctrl2, ..., ctrln}(n ∈自然数 )
如上所述, 可重组逻辑电路由三部分组成 : 多个可控节点、 多个重组元素、 以及可 控节点和重组元素之间的连线网络。
重组元素是用于实现各种算法的基本操作成分, 是可重组逻辑电路用于构建各种 算法的基本元素。重组元素之间的连接网络用于为各种算法建立所需的数据传输通路。重 组元素及其连接网络在可控节点的控制下实现不同的算法。
可重组逻辑电路中的可控节点主要有两类 : 功能可控节点和通路可控节点。控 制功能可控节点能够使重组元素的功能改变, 以适应不同算法的不同的操作功能需求 ; 控 制通路可控节点能够使重组元素之间的数据传输路径改变, 以适应不同算法的数据传输需 求。
下面给出实现不同逻辑函数的可重组逻辑电路的例子, 以方便理解可重组逻辑电 路的构成。
图 11a 是实现不同逻辑函数的可重组逻辑电路的示意图。
在图 11a 所示的电路中, AND2_1、 AND2_2 表示 2 输入与门, AND3 表示 3 输入与门, OR2 表示 2 输入或门, NOT 表示非门, A、 B、 C、 D 是 4 个输入变量, F 是输出变量。在上述电 路中设置有 2 个可控节点 AND2_1 和 AND2_2, 其控制信号分别记为 CTRL1 和 CTRL2。通过对 CTRL1 和 CTRL2 赋以不同的值, 就可以改变上述电路的逻辑功能, 实现不同的逻辑函数。图 11b 所示的表给出了当 CTRL1 和 CTRL2 取不同的值的时候, 上述图 11a 所示的电路所实现的 函数关系。
上述图 11a 所示的可重组逻辑电路可以描述为 :
RELOG = {E, CNode, C}
其中,
重组元素集合 E = {AND3, NOT, OR2} ;
可控节点集合 CNode = {AND2_1, AND2_2} ;
连接网络 C = {AND3 → AND2_1, NOT → AND2_2, AND2_1 → OR2, AND2_1 → OR2}。
该可重组逻辑电路实现的函数可表示为 :
FUNC_RELOG = f(CTRL) = CTRL1·ABC+CTRL2·D
其中, 控制信号 CTRL = {CTRL1, CTRL2}。
图 12a 是实现不同连接关系的可重组逻辑电路示意图。图 12a 所示的可重组逻辑 电路中共有 3 个重组元素 A、 B、 C。A 和 B 的输出经过 MUX 选通后进入 C 部件, 作为 C 部件的 输入。其中 MUX 就是一个可控节点, 该可控节点通过控制信号 M 进行控制。通过对这个可 控节点的控制就可以实现两种不同的连接关系, 分别如图 12b 和图 12c 所示。
将多个重组元素组合起来真正实现某种算法, 还必须在这些重组元素之间建立该 算法所要求的数据传输路径。不同的算法所要求的数据传输路径不同, 实现多种不同的算 法, 就必须使重组元素之间的连接关系可变。实现重组元素之间的连接关系可变, 就必须 在重组元素之间的连接网络中设置可控节点, 通过对可控节点的控制来实现不同的连接关 系。
如图 13 所示的连接网络是以寄存器间接连接的方式 ; 其中每个重组元素 B、 C、 D的 输出先保存在作为连接网络的寄存器中, 然后再在可控节点的控制下输入到重组元素 B、 C、 D 的一个的输入中。
如图 14 所示的连接网络是以开关网络直接连接的方式 ; 其中每个重组元素 B、 C、 D 的输出直接通过选通网络 MUX 连接到一个合适的输入中。
如图 15 所示的连接网络是部分以寄存器间接连接、 部分以开关网络直接连接的 方式 ; 其中重组元素 B 的输出通过选通网络 MUX 直接与自己的输入端相连, 而重组元素 C、 D 的输出先通过寄存器缓存, 然后直接进入到 C、 D 或通过选通网络 B 的输入端。
本领域的普通技术人员将会明白, 在有多条线都要与一条线相连的情况下, 利用 选通网络来动态选择多条线中的哪一条是一种优选方式。
另外, 本领域的技术将会明白, 虽然图 13 ~ 15 的电路原理图中都没有整个电路的 输入端和输出端, 但显然可以把整个电路的输入和输出分别看做是特殊的重组元素而连接 在电路中。例如, 可以在图 13 的连接网络上分别加一个输入端和一个输出端, 分别作为整 个电路的输入端和输出端。本发明的描述是为了示例和描述起见而给出的, 而并不是无遗漏的或者将本发明 限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描 述实施例是为了更好说明本发明的原理和实际应用, 并且使本领域的普通技术人员能够理 解本发明从而设计适于特定用途的带有各种修改的各种实施例。