CSA  >> Vol. 8 No. 6 (June 2018)

    空间网络中密钥协商协议的设计与分析
    The Design and Analysis of Key Agreement Protocol in Space Information Network

  • 全文下载: PDF(635KB) HTML   XML   PP.1027-1033   DOI: 10.12677/CSA.2018.86114  
  • 下载量: 346  浏览量: 489  

作者:  

郝克林,刘笑凯,王 超,张 姗:华北计算机系统工程研究所,北京

关键词:
空间网络组合公钥认证密钥协商Space Information Network Combined Public Key Authentication Agreement

摘要:

针对空间信息网络中节点间安全高效通信需求,本文利用组合公钥思想设计了一个节点间密钥协商协议。地面控制中心首先完成基于身份的组合密钥的生成,并通过安全通道分发至各空间节点。当各空间节点间需要通信时,在进行双向身份认证后,利用本身的三个秘密值与对方节点的可信公钥信息计算得出两方节点的会话密钥。文章详细分析了协议自身的安全特性,并将协议和现有的相关协议在安全和性能两个方面进行比较。比较结果表明,本文设计的协议不仅在安全性方面有所提升,且具有更髙的计算效率。

In order to meet the security and efficient communication requirements of nodes in space information network, a scheme of key agreement between nodes based on combined public key is proposed. The ground control center first completes the generation of the combination key based on identity and distributes it to the space nodes through a secure channel. When communication between different nodes is needed, after the two-way authentication is carried out, the two party nodes' session key is calculated by using their three secret values and the trusted public key information of the other nodes. The security properties of the protocol are analyzed, and compare the protocol and related protocols existing in the two aspects of security and performance. The comparison results show that this protocol not only has improved in terms of safety, and has higher computational efficiency.

1. 引言

空间网络通信应用系统由具有空间通信能力的卫星节点、近地节点、地面通信系统及应用系统组成,是以在轨工作卫星组成的卫星星座作为主要转发节点的天、空、地一体化的网络系统 [1] 。我国目前空间信息领域的发展迅速,实现了空间系统自主安全运行的互联互通的星间链路,星地链路已经成为空间通信的发展趋势。

但是由于空间链路的开放性特征,节点之间进行通信时会遇到身份确认问题,例如,合法节点也许会遇到恶意节点假冒身份与其进行通信,并遭到其对自身信息的篡改、删除或窃取 [2] 。基于身份认证技术能判断出网络系统中的非法节点,确保通信数据均来自于合法的节点。这些年来,国内外学者已经提出多种多样的应用于空间网络的密钥协商方案,但早些年设计的密钥协商方案的安全性能并不完善,文献 [3] 设计的互相认证密钥协商方案,不能抵抗模仿攻击;文献 [4] 提出的方案不满足完美前向安全性,且使用的哈希方法效率很低;文献 [5] 提出的方案没有明确的密钥确认,用户无法验证其收到的密钥是否是对方生成的。

此外,空间网络拓扑结构呈现异构化、分层多域的特点,且节点系统计算,存储,能量资源有限,密钥协商协议要尽量减少传输花费及计算时间。针对以上空间网络系统中安全通信的特殊要求,本文提出了一个新的基于组合公钥的节点间认证密钥协商协议,首先对空间系统拓扑结构及协议的流程进行了详细的描述,随后分析了协议具有的安全特性,最后在安全性、传输花费和计算效率三个方面将新协议与己有的协议进行了比较与分析。

2. 认证密钥协商协议

2.1. 系统结构

空间网络通信系统拓扑结构如图1所示,由各类卫星节点,空中节点,和地面各类节点组成,能够完成空、天、地一体化通信网络贯通 [7] 。卫星作为其关键通信节点,通过星间链路与空间节点互相联系,利用星地通道与地面基站、近空节点、海上节点等有机结合,进行各类信息的接收、处理和传输 [8] 。

本系统包含一个公私钥对的计算与生成方案设计和密钥协商协议的设计。方案由地面控制中心 [9] 为各节点计算公钥和对应私钥,并在应用部署之前通过安全通道分发到位。当各类节点在空间网络中完成基础通信链路的搭建后,需要进行业务安全通信传输时,节点双方通过根据协议流程,协商产生本次通信使用的会话密钥 [10] 。

Figure 1. The topology of the space network system

图1. 空间网络系统拓扑结构图

2.2. 系统初始化

地面控制中心作为整个系统,首先选择固定参数 k ( k > 0 ) ,利用组合公钥的思想按照如下步骤生成系统初始化参数并向各节点公开:

1) 生成一个k比特的素数p,选择阶为q的有限域 F p 。在 F p 上选择两个数 a , b F p ,满足 4 a 3 + 27 b 2 0 mod p ,以 a , b 为参数,生成椭圆曲线: E ( a , b ) : y 2 x 3 + a x + b mod p

2) 在 E ( a , b ) 上选择一个阶为素数n的基点P,根据相应算法随机选取 x i j G F ( p ) ,其中 1 i m , 1 j n , m Z + , n Z + 。构造 m × n 的私钥种子矩阵 X P R ,有

X P R = [ x 11 x 12 x 1 n x 21 x 22 x 2 n x m 1 x m 2 x m n ] (1)

根据已得到的 X P R 生成对应的公钥种子矩阵 Y P R y i j = x i j P 1 i m , 1 j n ,能够得出

Y P R = [ y 11 y 12 y 1 n y 21 y 22 y 2 n y m 1 y m 2 y m n ] (2)

3) 选择两个单向哈希数 H 1 : { 0 , 1 } * Z n * ; H 2 : { 0 , 1 } * Z p * ,完成系统初始化,向所有节点成员公开参数 { E ( a , b ) , X P R , Y P k , P , H 1 , H 2 }

2.3 密钥种子对的生成

现在,系统根据每个节点设备的用途及型号为他们确认唯一的ID号 I D { 0 , 1 } * ,同时创建ID链表来存储它们的ID信息,并根据节点ID按照下列步骤生成节点种子密钥对。

1) 根据公式 H 1 ( I D ) = h 1 h i h n ,计算出节点的散列值, h i 是长度为1的二进制比特串,转化成十进制数为 a i ,容易知道 i [ l , n ] , a i [ 0 , m )

2) 从2.2中的 X P R 矩阵中选出节点私钥种子 S e e d X I D = { x a l , l , , x a i i , , x a n n } ,其中 x a i i 为私钥种子矩阵 X P R 中第 a i 行,第i列对应的值。

3) 从2.2节中的 Y P R 中选取公钥种子 S e e d Y I D = { y a 1 , 1 , , y a i i , , y a n n } ,其中 y a i i Y P R 中第 a j 行,第j列对应的值。

4) 将节点的公私钥种子对 ( S e e d X I D , S e e d Y I D ) 存储到对应节点,同时将自己的公钥 P K B S 分发给所有的节点。

2.4. 节点密钥对的生成

1) 节点通过定位模块收集自己所在位置信息 L C s 和当前时间 T S ,生成密钥参数 K P S = { I D S | | L C S | | T S } ,其中 I D S 是节点S的类型标识。

2) 计算密钥参数的散列值: H 2 ( K P S ) = k p S i k p S j k p S n ,其中 k p S i H 2 ( K P S ) 的第i比特。

3) 结合节点S的公私钥种子对 ( S e e d X S , S e e d Y S ) ,计算得到节点S的私钥 d S 和公钥 K S ,其中 k p S i H 2 ( d S ) , x S i i S e e d X S , y s i j S e e d Y S ,则有

d S = i = 1 n k p S i x s i i mod p (3)

K S = i = 1 n k p S i y s i i mod p (4)

4) 节点S保存自己的公私钥 ( d S , K S ) ,结束密钥对生成阶段。

2.5. 密钥协商

当空间网内节点U和S需要建立通话时,完成互相认证并且协商生成一个会话密钥,设节点U,S的公钥,私钥分别是 ( d U , K U ) ( d S , K S ) ,协商密钥详细过程如下:

1) 节点U选择一个随机数 u 1 , u 2 Ζ n * ,并且计算

{ R u 1 = u 1 P , R u 2 = u 2 P h 1 = H 1 ( I D u | | R u 1 | | R u 2 | | T u ) Z 1 = u 1 + h 1 d u mod p (5)

其中 是当前的时间戳,计算完成后,U将 M 1 = { I D u , R u 1 , R u 2 , h 1 , Z 1 , T u } 发送给S。

2) S收到 M 1 后,首先验证 T u 是否尚在有效范围内,如果 T u 超出有效范围,S向用户发送失败信息,停止本次协商。如果仍然有效,S计算并验证等式 Z 1 P = R u 1 + H 1 ( I D u | | R u 1 | | R u 2 | | T u ) K u ,如果验证等式正确,S则生成随机数 s 1 , s 2 Ζ n * ,时间戳 T s 并计算下式,

{ R s 1 = s 1 P R s 2 = s 2 P h 2 = H 2 ( I D s R s 1 R s 2 T s ) Z 2 = u 1 + h 2 d s mod p (6)

最后将 M 2 = { R s 1 , R s 2 , h 2 , Z 2 , T s } 发送给用户U。

3) 收到 M 2 后,U验证 T s 时间戳的值是否还在有效范围内,如果 T s 过期,U停止协商过程并向服务器S发送失败信息。如果 T s 有效,U验证等式 Z 2 P = R s 1 + H 2 ( I D s R s 1 R s 2 T s ) K s 是否成立,若成立,U确认与其通信的确实是S,最后U计算

{ K u s = u 1 R s 2 h 3 = H 2 ( I D u R u 1 R s 1 Z 2 Z 1 K u s T s ) (7)

并将 M 3 = { h 3 } 发送S。

4) S收到 M 3 后,计算 K s u = s 2 R u 1 ,验证等式 h 3 = H 2 ( I D u R u 1 R s 1 Z 2 Z 1 | | K s u T s ) 是否成立,若成立,S确认以上信息来自一个合法节点U。

5) U和S分别计算会话密钥

S K u = H 2 ( I D u | | I D s | | R s 1 | | R u 1 | | Z 1 | | Z 2 | | K s u | | T u | | T s ) S K s = H 2 ( I D u | | I D s | | R s 1 | | R u 1 | | Z 1 | | Z 2 | | K u s | | T u | | T s ) (8)

容易得出, K s u = u 1 R s 2 = u 1 s 2 P = s 2 R u 1 = K u s . 因此: S K U = S K s

所以,U和S可以计算出相同的会话密钥。

3. 协议分析

3.1. 安全性分析

1) 已知会话密钥安全

会话密钥 S K U , S K s 的值是由一个单向哈希函数生成的,即它的值是均匀随机地分布在 { 0 , 1 } k 中的,因此每两个会话密钥的值之间都互不相关,也就是说当次会话的密钥值在敌人获得了一定信息后也是无法通过以前的会话密钥值推测得到。另外,会话密钥的 Z 1 Z 2 还各包含了一个随机数,每个随机数是临时的,每次会话都会重新生成。因此即使攻击者用某种方法获得了一些会话的秘密随机值,也不能从中推测出当前会话的随机值,从而计算得到当前的会话密钥。所以,本文协议满足己知会话密钥安全。

2) 前向安全性分析

假设U的私钥 d u 和S的私钥 d s 都被泄露,且攻击者截获了U与S之间传递的部分消息,从中获得了 I D u , R u 1 , R u 2 R s 1 , R s 2 ,但是根据ECDLP问题,敌手并不能从 R u R s 中计算得到 r s r u ,敌手就无法计算得到 Z 1 = u 1 + h 1 d u mod p ,也不能直接计算出 Z 2 = u 1 + h 2 d s mod p 。由CDH问题可知,敌手也不能从 R u 1 = r u 1 P R s 1 = r s 1 P 中推测出 Z 2 的值。因此,假如U和S泄露了自身的私钥,先前通信使用的会话密钥的值也无法通过它们计算得到,所以该协议满足完美前向安全。

3) 密钥泄露模仿攻击

假设一个攻击者已获得U的私钥,那么它就可以成功的在会话中模仿U,但他仍然不能模仿其他用户。因为要想成功地模仿另一个用户U',它就需向服务器发送正确的消息 { I D u , R u 1 , R u 2 , h 1 , Z 1 , T u } ,其中的 Z 1 = u 1 + H 1 ( I D u R u 2 ) d u ,要想发送的消息被验证成功,就需要知道 d u , u 1 的值。根据ECDLP问题,仅根据 R u 1 = u 1 P ,不能计算得到 u 1 的值,更无法计算出 d u 的值,因此攻击者不能成功地模仿用户U'。综上所述,本文协议满足无密钥泄露模仿攻击。

4) 未知密钥共享安全

在本文协议中,通信双方自身的身份信息都包含在他们之间传送的每条信息里,且都是用对方的公钥和身份信息对传输数据进行加密。如果第三方攻击者想对数据进行解密,攻击者必须知道通信双方的私钥,然而私钥只有真实的双方才知道。因此,本文协议具有未知密钥共享安全。

5) 非密钥控制

因为在会话密钥的协商设计计算中,使用的散列函数中不仅有通信双方的身份信息,还有用户自己每次产生的随机数,通过这些计算,产生的会话密钥都不是提前确定的值,具有单次不确定性。所以满足非密钥控制安全性。

6) 防重放攻击

在新协议中,节点间传送的每条信息中都带有时间戳,因此敌手不能通过重放攻击来获取合法的回应消息。

3.2. 性能分析

1) 安全性比较

通过对本文协议和前面提到的几个已有协议进行3.1章节的各类安全性分析,并对几个协议的分析结果进行了详细的比较,结果如表1所示。从表中的分析结果可看出,本文协议比其他协议能够抵抗更多的已有攻击,具有更高的安全性。

2) 传输花费比较

在两方通信过程中,传输消息的大小直接影响到传送的速度,消息越小,传输所花费的时间越小。比较本文设计协议与已有其他协议的传输花费消耗。此处我们做一个假设,协议中用到的椭圆曲线 E ( a , b ) 的阶q为256比特的大素数,用户身份标识是160比特,hash函数的大小是256比特,Tu的长度是16比特。

在新协议的密钥协商阶段中,U与S之间一共传输了三条信息,分别是 { I D u , R u 1 , R u 2 , h 1 , Z 1 , T u } { R s 1 , R s 2 , h 2 , Z 2 , T s } { h 3 } 。其中 I D u 是U的身份标识,长度是160比特, R u R s 是随机数与 E ( a , b ) 上一个点点乘结果,长度为256比特, h 1 h 2 h 3 是散列函数的输出结果,大小为256比特, T u T s 是时间戳,大小为16比特。因此,新协议在密钥协商阶段的传输花费为1168比特。使用相同的方法计算出其他协议的传输花费,将四个己有协议的传输花费与本文的协议做比较,计算结果如表2所示。

从上表结果可以得出,本文协议的传输花费比文献 [5] 和文献 [6] 的协议小,这说明本文协议不仅在安全方面有所提升,且降低了传输花费。而文献 [3] ,文献 [4] 的传输花费较小,这是因为在他们的协议中,通信双方只传送了两条信息,然后双方计算会话密钥,没有多余的消息做密钥确认,所以不是一个严格安全的协议。

3) 计算效率比较

我们将本文协议与其他几个协议在计算效率方面做详细规范的比较。主要计算协商过程中,各步过

Table 1. Comparison of protocol security

表1. 协议安全性比较

Table 2. Cost comparison of protocol calculation

表2. 协议计算花费比较

程中的计算复杂度和时间花费数,通过数字反映出协议的效率。为了简化分析,用下列符号来替换运算所需的时间。主要考虑以下几种运算时间:P:椭圆曲线加法群上的点乘运算时间A:椭圆曲线上点加运算,H:哈希函数,h:单项哈希函数,M:MAC函数。

密钥协商阶段,U在第一步计算中包括两次点乘,一次散列函数运算,第三步计算中包括一次点乘和两次哈希运算,计算得出会话密钥时包括一次哈希运算,因此,U花费时间为3P + 4H;S端在第二步计算包括三次点乘,和三次哈希,在第四步计算包括一次散列函数运算,最后计算会话密钥有一次哈希,所以,S花费的时间为3P + 5H。相同方法,计算其他几个协议花费的时间如表2所示。

表2可以看出,本方案除了文献 [5] ,本文设计协议的计算耗费最小。但是文献 [3] 的协议不能抵抗用户模仿和KCI攻击;因此本文设计的协议不仅提高了安全特性,还降低了计算花费。

4. 结论

本文通过对空间网络结构的研究分析,针对其节点间安全高效传输的安全性要求,设计了一个两方认证密钥协商协议,并对协议的安全特性进行了一定的分析,证明了新协议的安全特性。并从安全性、传输花费,计算效率三个方面将协议与相关领域已有的其他四个协议进行了分析和比较。比较分析结果表明,本文提出的协议在空间网络通信协商方案中,对系统安全性进行了有效的保证,且一定程度上提高了计算效率,减小了传输花费。

文章引用:
郝克林, 刘笑凯, 王超, 张姗. 空间网络中密钥协商协议的设计与分析[J]. 计算机科学与应用, 2018, 8(6): 1027-1033. https://doi.org/10.12677/CSA.2018.86114

参考文献

[1] 徐军华, 樊宏, 郝云芳. 安全高效的空间信息网中密钥管理方案[J]. 现代电子技术, 2011, 34(7): 81-84.
[2] 冯登国. 密码学原理与实践[M]. 北京: 电子工业出版社, 2016.
[3] Yang, J.H. and Chang, C.C. (2009) An ID-Based Remote Mutual Authentication with Key Agreement Scheme for Mobile Devices on Elliptic Curve Cryptosystem. Computers & Security, 28, 138-143.
https://doi.org/10.1016/j.cose.2008.11.008
[4] Yoon, E.J. and Yoo, K.Y. (2009) Robust Id-Based Remote Mutual Authentica-tion with Key Agreement Scheme for Mobile Devices on ECC. 2009 IEEE International Conference on Computational Science and Engineering (CSE’09), Vancouver, BC, 29-31 August 2009, Vol. 2, 633-640.
https://doi.org/10.1109/CSE.2009.363
[5] Chou, C.H., Tsai, K.Y. and Lu, C.R. (2013) Two ID-Based Authenticated Schemes with Key Agreement for Mobile Environments. The Journal of Supercomputing, 66, 973-988.
https://doi.org/10.1007/s11227-013-0962-3
[6] Farash, M.S. and Attari, M.A. (2014) A Secure and Efficient Identity-Based Authenticated Key Exchange Protocol for Mobile Client-Server Networks. The Journal of Su-percomputing, 69, 395-411.
https://doi.org/10.1007/s11227-014-1170-5
[7] 周星, 刘军, 董春冻, 等. 基于身份的卫星网络密钥管理方案[J]. 计算机技术与发展, 2013, 23(11): 148-151.
[8] 刘毅. 基于椭圆曲线的无线传感器网络密钥管理方案的研究[D]: [硕士学位论文]. 北京: 北京邮电大学, 2014.
[9] 宋宁宁, 刘蕴络, 姚倩燕, 等. 基于隐秘映射组合公钥的云计算密钥管理方案[J]. 计算机应用研究, 2013, 30(9): 2759-2762.
[10] 赵秀凤. 认证及密钥协商协议设计与分析[D]: [博士学位论文]. 济南: 山东大学, 2012.