CN114629630A - 初始化矢量生成方法、装置及相关设备 - Google Patents

初始化矢量生成方法、装置及相关设备 Download PDF

Info

Publication number
CN114629630A
CN114629630A CN202011471801.8A CN202011471801A CN114629630A CN 114629630 A CN114629630 A CN 114629630A CN 202011471801 A CN202011471801 A CN 202011471801A CN 114629630 A CN114629630 A CN 114629630A
Authority
CN
China
Prior art keywords
random number
initialization vector
parameter
generating
bit
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.)
Pending
Application number
CN202011471801.8A
Other languages
English (en)
Inventor
刘福文
杨波
粟栗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202011471801.8A priority Critical patent/CN114629630A/zh
Publication of CN114629630A publication Critical patent/CN114629630A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种初始化矢量生成方法、装置及相关设备。其中,由终端执行的初始化矢量生成方法包括:获取第一参数,所述第一参数包括以下任一项:述终端与网络侧设备之间的共享密钥、网络侧设备发送的第一随机数;根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。在本发明中,收发双方可以获取相同的N比特随机数,使得收方双方可以生成至少包括128比特随机数的初始化矢量,从而可以降低无线空口中使用的对称密钥算法易受到多目标攻击的几率。

Description

初始化矢量生成方法、装置及相关设备
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种初始化矢量生成方法、装置及相关设备。
背景技术
5G加密算法(Encryption algorithm for 5G)NEA,包含128-NEA1、128-NEA2和128-NEA3三种算法。加密算法引入了初始化矢量(Initialization Vector,IV),IV的使用可防止数据加密中的重复,从而攻击者更加难以发现模式并破坏密码。
目前,128-NEA1、128-NEA2和128-NEA3这三种算法的IV都设为128比特(bit),但IV中仅包括38比特有效随机数,分别为:32比特计数(COUNT)、5比特承载(BEARER)和1比特方向(DIRECTION),随机数较少,容易导致无线空口中使用的对称密钥算法易受到多目标攻击的问题。
发明内容
本发明实施例提供一种初始化矢量生成方法、装置及相关设备,以解决现有技术中因初始化矢量包括的随机数较少,导致无线空口中使用的对称密钥算法易受到多目标攻击的问题。
为解决上述问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种初始化矢量生成方法,由终端执行,所述方法包括:
获取第一参数,所述第一参数包括以下任一项:所述终端与网络侧设备之间的共享密钥、网络侧设备发送的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。
第二方面,本发明实施例提供了一种初始化矢量生成方法,由网络侧设备执行,所述方法包括:
获取第一参数,所述第一参数包括以下任一项:所述网络侧设备与终端之间的共享密钥、网络侧设备生成的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数;
在所述第一参数包括所述第一随机数的情况下,向终端发送所述第一随机数。
第三方面,本发明实施例还提供一种初始化矢量生成装置,包括:
第一处理器,用于:
获取第一参数,所述第一参数包括以下任一项:所述终端与网络侧设备之间的共享密钥、网络侧设备发送的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。
第四方面,本发明实施例还提供一种初始化矢量生成装置,包括:
第二处理器,用于:
获取第一参数,所述第一参数包括以下任一项:所述网络侧设备与终端之间的共享密钥、网络侧设备生成的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数;
第二收发器,用于在所述第一参数包括所述第一随机数的情况下,向终端发送所述第一随机数。
第五方面,本发明实施例还提供一种终端,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现如前述第一方面所述方法中的步骤;或,如前述第二方面所述方法中的步骤。
第六方面,本发明实施例还提供一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如前述第一方面所述方法中的步骤,或,实现如前述第二方面所述方法中的步骤。
在本发明实施例中,收方双方可以通过以下方式得到相同的N比特随机数,N为大于或等于90的整数:第一方式中,终端和网络侧设备均可以通过两者之间的共享密钥生成N比特随机数;第二方式中,网络侧设备生成N比特随机数后,可以将所述N比特随机数分享给终端。这样,收方双发可以根据所述N比特随机数和第二随机数,生成相同的P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。可见,本申请实施例的收方双方生成的初始化矢量至少包括128比特随机数,从而可以降低无线空口中使用的对称密钥算法易受到多目标攻击的几率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例可应用的网络系统的结构示意图;
图2是本发明实施例提供的共享密钥流的生成示意图;
图3是本发明实施例提供的初始化矢量生成方法的流程示意图之一;
图4是本发明实施例提供的初始化矢量生成方法的流程示意图之二;
图5是本发明实施例提供的NAS SMC流程示意图;
图6是本发明实施例提供的AS SMC流程示意图;
图7是本发明实施提供的初始化矢量生成装置的结构示意图之一;
图8是本发明实施提供的初始化矢量生成装置的结构示意图之二;
图9是本发明实施提供的通信设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本申请中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B和/或C,表示包含单独A,单独B,单独C,以及A和B都存在,B和C都存在,A和C都存在,以及A、B和C都存在的7种情况。
请参见图1,图1是本发明实施例可应用的网络系统的结构图,如图1所示,包括数据发送设备11和数据接收设备12。
其中,数据发送设备11和数据接收设备12之间可以进行通信。数据发送设备11向数据接收设备12发送密文信息(Ciphertext Block)。数据发送设备11在发送所述密文信息之前,可以使用共享密钥流和IV对明文信息(Plaintext Block)进行加密,得到所述密文信息。数据接收设备12需要获取到加密所述明文信息的共享密钥流和IV,这样,在接收到所述密文信息之后,可以使用相同的共享密钥流和IV对所述密文信息进行解密,得到明文信息。
在实际应用中,数据发送设备11可以是终端(也可以称作用户设备(UserEquipment,UE)),数据接收设备12可以是网络侧设备;或者,数据发送设备11可以是网络侧设备,数据接收设备12可以是终端,但不仅限于此。
终端可以是手机、平板电脑(Tablet Personal Computer)、膝上型电脑(LaptopComputer)、个人数字助理(Personal Digital Assistant,PDA)、移动上网装置(MobileInternet Device,MID)、可穿戴式设备(Wearable Device)或车载设备等。网络侧设备可以是基站、接入和移动管理功能(Access and Mobility Management Function,AMF)、中继、接入点或其他网元等。
共享密钥流的获取方式可参见图2。如图2所示,加密算法的输入参数包括:共享密钥(KEY)、计数(COUNT)、承载(BEARER)、方向(DIRECTION)以及所需密钥流的长度(LENGTH)。加密算法的输出参数为:共享密钥流(KEYSTREAM)。对于上行链路,DIRECTION应为0,对于下行链路DIRECTION应为1。
以下对IV的获取方式进行说明。
参见图3,图3是本发明实施例提供的初始化矢量生成方法的流程示意图之一。图3所示的初始化矢量生成方法可以由终端执行。
如图3所示,初始化矢量生成方法可以包括以下步骤:
步骤301、获取第一参数,所述第一参数包括以下任一项:所述终端与网络侧设备之间的共享密钥、网络侧设备发送的第一随机数。
在本发明实施例中,所述共享密钥与待处理信息的类型对应。也就是说,对于不同类型的信息,共享密钥的表现形式不同。
可选的,在待处理信息为非接入层(Non-Access Stratum,NAS)信令时,所述共享密钥可以为KNAS;在待处理信息为无线资源控制(Radio Resource Control,RRC)信令时,所述共享密钥可以为KRRC;在待处理信息为用户面数据时,所述共享密钥可以为KUP。可以理解的是,对于数据接收设备,KNAS用于解密NAS信令,KRRC用于解密RRC信令,KUP用于解密用户面数据;对于数据接收设备,KNAS用于加密NAS信令,KRRC用于加密RRC信令,KUP用于加密用户面数据。
另外,所述共享密钥的比特数可以由协议预定或由网络侧设备配置,具体可根据实际情况决定,本发明实施例对此不做限定。可选的,在某些实施方式中,所述共享密钥可以为256比特共享密钥,从而可以进一步降低无线空口中使用的对称密钥算法易受到多目标攻击的几率。
步骤302、根据所述第一参数,生成N比特随机数,N为大于或等于90的整数。
在本发明实施例中,所述第一参数用于生成N比特随机数。可见,所述N比特随机数可以基于终端与网络侧设备之间的共享密钥生成;也可以基于网络侧设备发送的第一随机数生成,从而可以提高N比特随机数生成的灵活度。
在本申请实施例中,在网络侧设备基于第一随机数生成N比特随机数的情况下,网络侧设备会向终端发送所述第一随机数,以使终端基于所述第一随机数生成相同的N比特随机数;在网络侧设备基于终端与网络侧设备之间的共享密钥生成N比特随机数的情况下,网络侧设备不会向终端发送所述第一随机数。因此,终端可以基于是否接收到网络侧设备发送的第一随机数的检测结果,确定生成N比特随机数的方式。
具体实现时,在终端未接收到网络侧设备发送的第一随机数的情况下,说明网络侧设备基于终端与网络侧设备之间的共享密钥生成,在此情况下,终端也可以基于终端与网络侧设备之间的共享密钥生成N比特随机数,从而可以使得收发双方取得一致的N比特随机数。
在终端接收到网络侧设备发送的第一随机数的情况下,说明网络侧设备基于所述第一随机数生成N比特随机数,在此情况下,终端也可以基于接收到的第一随机数生成N比特随机数,从而可以使得收发双方取得一致的N比特随机数。
在本发明实施例中,N为大于或等于90的整数。N的具体取值可以由协议预定或由网络侧设备配置,具体可根据实际情况决定,本发明实施例对此不做限定。
步骤303、根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。
在本发明实施例中,P为大于或等于128的整数,P的具体取值可以由协议预定或由网络侧设备配置,具体可根据实际情况决定,本发明实施例对此不做限定。可以理解的是,所述第二随机数为38比特随机数。
具体实现时,在P等于N+38的情况下,终端可以直接将所述N比特随机数和所述第二随机数构成所述初始化矢量。在P大于N+38比特的情况下,所述初始化矢量可以包括N+38比特随机数,剩余比特可以采用其他方式确定,或者可以补0,具体可根据实际情况决定,本发明实施例对此不做限定。可见,本发明实施例的初始化矢量至少包括128比特随机数,这样,相比于现有技术中IV仅包括COUNT、BEARER和DIRECTION这38比特随机数,可以降低无线空口中使用的对称密钥算法易受到多目标攻击的几率。
本发明实施例的数据解密方法,收方双方可以通过以下方式得到相同的N比特随机数,N为大于或等于90的整数:第一方式中,终端和网络侧设备均可以通过两者之间的共享密钥生成N比特随机数;第二方式中,网络侧设备生成N比特随机数后,可以将所述N比特随机数分享给终端。这样,收方双发可以根据所述N比特随机数和第二随机数,生成相同的P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。可见,本申请实施例的收方双方生成的初始化矢量至少包括128比特随机数,从而可以降低无线空口中使用的对称密钥算法易受到多目标攻击的几率。
在本发明实施例中,在所述第一参数包括所述共享密钥的情况下,可选的,所述根据所述第一参数,生成N比特随机数,包括:
对所述共享密钥进行哈希运算,得到哈希值;
根据所述哈希值,生成N比特随机数。
在本可选实施方式中,终端可以通过目标哈希函数对所述共享密钥进行哈希运算,得到哈希值。需要说明的是,所述目标哈希函数的输入值还可以包括除所述共享密钥之外的其他参数,具体可根据实际情况决定,本发明实施例对此不做限定。
可选的,所述目标哈希函数可以为HMAC-SHA256。HMAC-SHA25是基于所述共享密钥使用安全散列算法(Secure Hash Algorithm,SHA)256生成256比特消息验证码的哈希函数。256比特消息验证码会随着所述共享密钥的不同而不同。HMAC通常被认为是伪随机数函数(PRF),其输出满足随机特性。因此,可以理解的是,在所述目标哈希函数可以为HMAC-SHA256的情况下,所述第一哈希值为256比特消息验证码。需要说明的是,在其他实施方式中,数据接收设备也可以通过其他哈希函数,如HMAC-SHA-384、HMAC-SHA-512等对所述共享密钥进行哈希运算。
在所述哈希值包括的比特数大于N的情况下,终端可以对所述哈希值进行裁剪,得到所述N比特随机数。
为方便理解,记N比特随机数为R,示例说明如下:
假设待处理的信息为NAS信令,所述共享密钥为KNAS,N为90,目标哈希函数为HMAC-SHA256,那么:
RNAS=Trunc256-90(HMAC-SHA256(KNAS,“NAS随机数(Random Number generationfor NAS)”||“NAS随机数”的长度))
其中,Trunc256-90表示把256比特剪切成90比特。
假设待处理的信息为RRC信令,所述共享密钥为KRRC,N为218,目标哈希函数为HMAC-SHA256,那么:
RRRC=Trunc256-218(HMAC-SHA256(KRRC,“Random Number generation for RRC”||length of“Random Number generation for RRC”))
其中,Trunc256-218表示把256比特剪切成218比特。
在本发明实施例中,可选的,在所述第一参数包括所述第一随机数的情况下,所述获取第一参数,包括:
通过非接入层NAS安全模式命令消息或接入层AS安全模式命令消息接收第一随机数。
也就是说,所述第一随机数可以承载于NAS安全模式命令(Security ModeCommand,SMC)消息或AS SMC消息中。
NAS SMC用于在UE和接入和移动管理功能(Access and Mobility ManagementFunction,AMF)之间建立NAS安全上下文。该过程包括AMF和UE之间的消息往返。AMF将NAS安全模式命令消息发送给UE,UE会以NAS安全模式完成消息进行回复。NAS安全模式命令消息有完整性保护,以避免被篡改。在本发明实施例中,可以在NAS SMC原有功能的基础上,增加随机数传送功能,即NAS SMC可以用于传送所述第一随机数。
AS SMC流程用于RRC和用户面(User Plane,UP)安全算法协商和RRC安全激活。ASSMC流程包括基站与UE之间的消息往返。基站将AS安全模式命令发送给UE,UE会回复AS安全模式完成消息,AS安全模式命令消息有完整性保护。在本发明实施例中,可以在AS SMC原有功能的基础上,增加随机数传送功能,即AS SMC可以用于传送所述第一随机数。
在本发明实施例中,所述第一随机数具体承载于NAS SMC还是AS SMC,可以基于待处理信息的类型决定。可选的,在待处理信息的类型为NAS信令的情况下,网络侧设备可以通过NAS SMC传送所述第一随机数,终端可以通过NAS SMC接收所述第一随机数;在待处理信息的类型为RRC信令或用户面数据的情况下,网络侧设备可以通过AS SMC传送所述第一随机数,终端可以通过AS SMC接收所述第一随机数。
需要说明的是,在终端基于所述第一随机数生成N比特随机数的方式中,所述第一随机数由网络侧设备发送给终端。由于传输时消息长度必须为8的整数倍,因此,可以理解的是,所述第一随机数包括的比特数可以为8的整数倍,这会导致所述第一随机数包括的比特数可能与N相等,也可能与N不等。
在所述第一随机数包括的比特数等于N的情况下,终端可以直接将所述第一比特数确定为所述N比特随机数。如:假设N=96,所述第一随机数为96比特随机数,则可以将所述第一随机数确定为所述N比特随机数。
在所述第一随机数包括的比特数小于N的情况下,可以利用所述第一比特数和取值为0的比特构成所述N比特随机数。如:假设=N=96,所述第一随机数为88比特随机数,则可以利用所述第一随机数和8个取值为0的比特构成所述N比特随机数。
在所述第一随机数包括的比特数大于N的情况下,可选的,对所述第一随机数进行裁剪,得到N比特随机数。如:假设N=128,N=90,所述第一随机数为96比特随机数,则可以裁剪掉所述第一随机数的后6比特,得到所述N比特随机数。
参见图4,图4是本发明实施例提供的初始化矢量生成方法的流程图之二。本发明实施例的初始化矢量生成方法可以由网络侧设备执行。
如图4所示,初始化矢量生成方法可以包括以下步骤:
步骤401、获取第一参数,所述第一参数包括以下任一项:所述网络侧设备与终端之间的共享密钥、网络侧设备生成的第一随机数。
步骤402、根据所述第一参数,生成N比特随机数,N为大于或等于90的整数。
步骤403、根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。
步骤404、在所述第一参数包括所述第一随机数的情况下,向终端发送所述第一随机数。
在本发明实施例中,网络侧设备可以通过以下方式生成N比特随机数:方式一、基于所述共享密钥,生成N比特随机数。在方式一中,终端可以采用同样的方式生成N比特随机数,即基于所述共享密钥,生成N比特随机数。这样,可以使得收方双方取得一致的N比特随机数,进而得到相同的初始化矢量。
方式二、基于自主生成的第一随机数,生成N比特随机数。在方式二中,为使终端生成相同的N比特随机数,网络侧设备在生成第一随机数后,向终端发送所述第一随机数,以使终端可以采用同样的方式生成N比特随机数,即基于所述第一随机数,生成N比特随机数。这样,可以使得收方双方取得一致的N比特随机数,进而得到相同的初始化矢量。
需要说明的是,本发明实施例并不限制方式二中网络侧设备生成所述第一随机数的方式,任何可生成随机数的方式均可落入本发明实施例的保护范围之内。可以理解的是,所述第一随机数与所述第二随机数不同。
本实施例的初始化矢量生成方法,收方双方可以通过以下方式得到相同的N比特随机数,N为大于或等于90的整数:第一方式中,终端和网络侧设备均可以通过两者之间的共享密钥生成N比特随机数;第二方式中,网络侧设备生成N比特随机数后,可以将所述N比特随机数分享给终端。这样,收方双发可以根据所述N比特随机数和第二随机数,生成相同的P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。可见,本申请实施例的收方双方生成的初始化矢量至少包括128比特随机数,从而可以降低无线空口中使用的对称密钥算法易受到多目标攻击的几率。
可选的,在所述第一参数包括所述共享密钥的情况下,所述根据所述第一参数,生成N比特随机数,包括:
对所述共享密钥进行哈希运算,得到哈希值;
根据所述哈希值,生成N比特随机数。
可选的,在所述第一参数包括所述第一随机数的情况下,所述向终端发送所述第一随机数,包括:
通过NAS安全模式命令消息或AS安全模式命令消息向终端发送所述第一随机数。
需要说明的是,本实施例作为与上述方法实施例对应的网络侧设备的实施方式,因此,可以参见上述方法实施例中的相关说明,且可以达到相同的有益效果。为了避免重复说明,在此不再赘述。
在本申请实施例中,终端和网络侧设备在对同一对象进行处理,如:对哈希值进行裁剪;对所述第一随机数进行裁剪等,采用相同方式处理该对象,该方式可以由协议约定或由网络侧设备配置。这样,可以使得终端和网络侧设备可以取得相同的N比特随机数,进而可以取得相同的IV,进而可以提高数据处理的可靠性。
本发明实施例中介绍的多种可选的实施方式,在彼此不冲突的情况下可以相互结合实现,也可以单独实现,对此本发明实施例不作限定。
为方便理解,示例说明如下:
本示例的基本思路是收发(即数据接收设备和数据发送设备)双方取得一致的随机数R,加上收发双方都已知38比特初始化变量(32位计数、5位承载和1位方向),构成长度至少为128比特的具有随机性的初始化矢量IV来防止多目标攻击。有两种方式可以使收发双方取得一致的随机数R:1)基于加密密钥(即前述共享密钥)推演出随机数R;2)在NAS或AS的安全命令模式中,网络侧产生随机数并把它传送给UE。
初始化矢量可以为128位或256位,对应的R的比特位分别为90位和218位。以下以R是90比特位情况进行介绍。
方案一:基于加密密钥推演随机数R。
本方案的基本思路是对收发双方已知的加密密钥进行哈希运算,并对运算结果剪切成90比特,从而生成90比特随机数R。随机数R收发双方都一样,因为都是从相同的已知加密密钥推演而来,且推演过程一致。
移动通信系统可以存在三种加密密钥用于对信息的加密KNAS用于加密NAS信令,KRRC用于加密RRC信令,KUP用于加密用户面数据。针对这三种密钥,生成相应的90比特的随机数R,其计算分别如下:
1)KNAS
对于KNAS的90比特的随机数RNAS的计算为:
RNAS=Trunc256-90(HMAC-SHA256(KNAS,“Random Number generation for NAS”||length of“Random Number generation for NAS”))
这里Trunc256-90表示把256比特剪切成90比特,HMAC-SHA256是基于密钥使用安全散列算法(Secure Hash Algorithm,SHA)256生成256比特消息验证码的方法。256比特消息验证码会随着密钥KNAS的不同而不同。HMAC通常被认为是伪随机函数PRF,其输出满足随机特性。
2)KRRC
对于KRRC的90比特的随机数RRRC的计算为:
RRRC=Trunc256-90(HMAC-SHA256(KRRC,“Random Number generation for RRC”||length of“Random Number generation for RRC”))
3)KUP
对于KUP的90比特的随机数RUP的计算为:
RUP=Trunc256-90(HMAC-SHA256(KUP,“Random Number generation for UP”||length of“Random Number generation for UP”))
需要说明的是,HMAC-SHA256公式中也可以加入其它参数,但公式中的密钥不可缺少。另外,如果R是218比特位,则数据截断函数从Trunc256-90要变为Trunc256-218,表示把256比特剪切成218比特。
方案二:网络侧产生随机数R并传送给用户。
在NAS信令安全保护之前需启动NAS SMC流程,以协商安全算法和建立安全上下文。在RRC信令和UP数据安全保护之前需启动AS SMC,以协商安全算法。网络侧产生的随机数可以在NAS SMC或AS SMC流程中传递给UE,具体步骤分别如下。
1)NAS SMC
NAS SMC用于在UE和AMF之间建立NAS安全上下文。该过程包括AMF和UE之间的消息往返。AMF将NAS安全模式命令消息发送给UE,UE会以NAS安全模式完成消息进行回复。NAS安全模式命令消息有完整性保护,以避免被篡改。
本方案是在NAS SMC原有功能的基础上,增加随机数传送功能。网络侧AMF生成随机数RI,考虑到传输时消息长度必须为8的整数倍,其长度设为96比特。在生成随机矢量IV时对RI进行裁剪,使用其中的90比特得到随机数R,与已知的38比特一起构成128比特IV。此初始矢量IV用在加密NAS信令上。随机数RI在安全模式命令消息中发送给UE,其也作为输入包含在生成消息完整性运算NAS SMC,以确保其没有被篡改。修改后的NAS SMC流程可以参见图5。如图5所示,NAS SMC流程可以包括以下步骤:
步骤501、AMF向UE发送NAS SMC,所述NAS SMC中包括随机数RI。
步骤502、UE向AMF发送NAS安全模式完成(Security Mode Complete)。
UE收到RI后,对RI进行裁剪,使用其中的90比特得到随机数R,与已知的38比特一起构成128比特IV。此初始矢量IV用在加密NAS信令上。
需要说明的是,如果R是218比特位,则要传送的数据RI应该为224位。
2)AS SMC
AS SMC流程用于RRC和UP安全算法协商和RRC安全激活。AS SMC流程包括基站(如gNB/ng-eNB)与UE之间的消息往返。gNB/ng-eNB将AS安全模式命令发送给UE,UE会回复AS安全模式完成消息,AS安全模式命令消息有完整性保护。
本方案是在AS SMC原有功能的基础上,增加随机数传送功能。基站生成随机数RI,考虑到传输时消息长度必须为8的整数倍,其长度设为96比特。在生成随机矢量IV时对RI进行裁剪,使用其中的90比特得到随机数R,与已知的38比特一起构成128比特IV。此初始矢量IV可以用在加密RRC消息上,也可以用在加密UP消息上。
随机数R在安全模式命令消息中发送给UE,其也作为输入包含在生成消息完整性运算媒体接入控制(Media Access Control,MAC)-I,以确保其没有被篡改。修改后的ASSMC流程可以参见图6,如图6所示,AS SMC流程可以包括以下步骤:
步骤601、基站向UE发送AS SMC,所述AS SMC中包括随机数RI。
步骤602、UE向基站发送AS安全模式完成(Security Mode Complete)。
UE收到RI后,对RI进行裁剪,使用其中的90比特得到随机数R,与已知的38比特一起构成128比特IV。此初始矢量IV可以用在加密RRC消息上,也可以用在加密UP消息上。
需要说明的是,如果R是218比特位,则要传送的数据RI应该为224位。
在本示例中,1)收发双方取得一致的随机数R,加上收发双方都已知38比特初始化变量(32位计数、5位承载和1位方向),构成长度至少为128比特的具有随机性的初始化矢量IV来防止多目标攻击。2),两种方式可以使收发双方取得一致的随机数R:(1)基于加密密钥推演出随机数R,(2)在NAS和AS的安全命令模式中,网络侧产生随机数并把它传送给用户UE。通过上述方式生成IV,可以使在无线空口中使用的对称密钥算法不易受到多目标攻击。
参见图7,图7是本发明实施例提供的初始化矢量生成装置的结构图之一。如图7所示,初始化矢量生成装置700包括:
第一处理器701,用于:
获取第一参数,所述第一参数包括以下任一项:所述终端与网络侧设备之间的共享密钥、网络侧设备发送的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。
可选的,在所述第一参数包括所述共享密钥的情况下,所述第一处理器701,用于:
对所述共享密钥进行哈希运算,得到哈希值;
根据所述哈希值,生成N比特随机数。
可选的,在所述第一参数包括所述第一随机数的情况下,所述初始化矢量生成装置700,还包括:
第一收发器,用于通过非接入层NAS安全模式命令消息或接入层AS安全模式命令消息接收第一随机数。
初始化矢量生成装置700能够实现本发明实施例中图3方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
参见图8,图8是本发明实施例提供的初始化矢量生成装置的结构图之二。如图8所示,初始化矢量生成装置800包括:
第二处理器801,用于:
获取第一参数,所述第一参数包括以下任一项:所述网络侧设备与终端之间的共享密钥、网络侧设备生成的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数;
第二收发器801,用于在所述第一参数包括所述第一随机数的情况下,向终端发送所述第一随机数。
可选的,在所述第一参数包括所述共享密钥的情况下,所述第二处理器802,用于:
对所述共享密钥进行哈希运算,得到哈希值;
根据所述哈希值,生成N比特随机数。
可选的,在所述第一参数包括所述第一随机数的情况下,所述第二收发器801,用于:通过NAS安全模式命令消息或AS安全模式命令消息向终端发送所述第一随机数。
初始化矢量生成装置800能够实现本发明实施例中图4方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
本发明实施例还提供一种通信设备。请参见图9,通信设备可以包括处理器901、存储器902及存储在存储器902上并可在处理器901上运行的程序9021。
在通信设备为终端的情况下,程序9021被处理器901执行时可实现图3对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。
在通信设备为网络侧设备的情况下,程序9021被处理器901执行时可实现图4对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一可读取介质中。本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可实现上述图3或图4对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
所述的存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
以上所述是本发明实施例的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种初始化矢量生成方法,由终端执行,其特征在于,所述方法包括:
获取第一参数,所述第一参数包括以下任一项:所述终端与网络侧设备之间的共享密钥、网络侧设备发送的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。
2.根据权利要求1所述的方法,其特征在于,在所述第一参数包括所述共享密钥的情况下,所述根据所述第一参数,生成N比特随机数,包括:
对所述共享密钥进行哈希运算,得到哈希值;
根据所述哈希值,生成N比特随机数。
3.根据权利要求1所述的方法,其特征在于,在所述第一参数包括所述第一随机数的情况下,所述获取第一参数,包括:
通过非接入层NAS安全模式命令消息或接入层AS安全模式命令消息接收第一随机数。
4.一种初始化矢量生成方法,由网络侧设备执行,其特征在于,所述方法包括:
获取第一参数,所述第一参数包括以下任一项:所述网络侧设备与终端之间的共享密钥、网络侧设备生成的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数;
在所述第一参数包括所述第一随机数的情况下,向终端发送所述第一随机数。
5.根据权利要求4所述的方法,其特征在于,在所述第一参数包括所述共享密钥的情况下,所述根据所述第一参数,生成N比特随机数,包括:
对所述共享密钥进行哈希运算,得到哈希值;
根据所述哈希值,生成N比特随机数。
6.根据权利要求4所述的方法,其特征在于,在所述第一参数包括所述第一随机数的情况下,所述向终端发送所述第一随机数,包括:
通过NAS安全模式命令消息或AS安全模式命令消息向终端发送所述第一随机数。
7.一种初始化矢量生成装置,其特征在于,包括:
第一处理器,用于:
获取第一参数,所述第一参数包括以下任一项:终端与网络侧设备之间的共享密钥、网络侧设备发送的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数。
8.根据权利要求7所述的初始化矢量生成装置,其特征在于,在所述第一参数包括所述共享密钥的情况下,所述第一处理器,用于:
对所述共享密钥进行哈希运算,得到哈希值;
根据所述哈希值,生成N比特随机数。
9.根据权利要求7所述的初始化矢量生成装置,其特征在于,在所述第一参数包括所述第一随机数的情况下,所述初始化矢量生成装置,还包括:
第一收发器,用于通过非接入层NAS安全模式命令消息或接入层AS安全模式命令消息接收第一随机数。
10.一种初始化矢量生成装置,其特征在于,包括:
第二处理器,用于:
获取第一参数,所述第一参数包括以下任一项:网络侧设备与终端之间的共享密钥、网络侧设备生成的第一随机数;
根据所述第一参数,生成N比特随机数,N为大于或等于90的整数;
根据所述N比特随机数和第二随机数,生成P比特的初始化矢量,所述第二随机数为加密算法中计数参数、承载参数和方向参数构成的随机数,P为大于或等于128的整数;
第二收发器,用于在所述第一参数包括所述第一随机数的情况下,向终端发送所述第一随机数。
11.根据权利要求10所述的初始化矢量生成装置,其特征在于,在所述第一参数包括所述共享密钥的情况下,所述第二处理器,用于:
对所述共享密钥进行哈希运算,得到哈希值;
根据所述哈希值,生成N比特随机数。
12.根据权利要求10所述的初始化矢量生成装置,其特征在于,在所述第一参数包括所述第一随机数的情况下,所述第二收发器,用于:通过NAS安全模式命令消息或AS安全模式命令消息向终端发送所述第一随机数。
13.一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求1至3中任一项所述的初始化矢量生成方法中的步骤;或,如权利要求4至6中任一项所述的初始化矢量生成方法中的步骤。
14.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1至3中任一项所述的初始化矢量生成方法中的步骤;或,实现如权利要求4至6中任一项所述的初始化矢量生成方法中的步骤。
CN202011471801.8A 2020-12-14 2020-12-14 初始化矢量生成方法、装置及相关设备 Pending CN114629630A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011471801.8A CN114629630A (zh) 2020-12-14 2020-12-14 初始化矢量生成方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011471801.8A CN114629630A (zh) 2020-12-14 2020-12-14 初始化矢量生成方法、装置及相关设备

Publications (1)

Publication Number Publication Date
CN114629630A true CN114629630A (zh) 2022-06-14

Family

ID=81897065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011471801.8A Pending CN114629630A (zh) 2020-12-14 2020-12-14 初始化矢量生成方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN114629630A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102056157A (zh) * 2009-11-04 2011-05-11 大唐移动通信设备有限公司 一种确定密钥和密文的方法、系统及装置
CN108964912A (zh) * 2018-10-18 2018-12-07 深信服科技股份有限公司 Psk生成方法、装置、用户设备、服务器和存储介质
CN111465008A (zh) * 2019-01-21 2020-07-28 苹果公司 在无线通信中执行加密和认证时的初始化向量生成
WO2020177591A1 (zh) * 2019-03-01 2020-09-10 中兴通讯股份有限公司 密钥的确定方法、装置、存储介质及电子装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102056157A (zh) * 2009-11-04 2011-05-11 大唐移动通信设备有限公司 一种确定密钥和密文的方法、系统及装置
CN108964912A (zh) * 2018-10-18 2018-12-07 深信服科技股份有限公司 Psk生成方法、装置、用户设备、服务器和存储介质
CN111465008A (zh) * 2019-01-21 2020-07-28 苹果公司 在无线通信中执行加密和认证时的初始化向量生成
WO2020177591A1 (zh) * 2019-03-01 2020-09-10 中兴通讯股份有限公司 密钥的确定方法、装置、存储介质及电子装置

Similar Documents

Publication Publication Date Title
Shakiba-Herfeh et al. Physical layer security: Authentication, integrity, and confidentiality
KR100983050B1 (ko) 네트워크 엔티티들 사이에서 데이터 협정을 인증하기 위한시스템, 방법 및 컴퓨터 프로그램 제품
JP7008725B2 (ja) カウンタベースの暗号システムにおける改良型認証付き暗号化のための方法及びシステム
US9166793B2 (en) Efficient authentication for mobile and pervasive computing
EP0966809B1 (en) Method of and apparatus for encrypting signals for transmission
KR20040104724A (ko) 무선 근거리 또는 도시권 보안통신망 및 이에 관련된 방법
WO2007059558A1 (en) Wireless protocol for privacy and authentication
KR101675332B1 (ko) 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템
JP2003503743A (ja) 変調メッセージの認証システム及び方法
CN101854594A (zh) 信息发送方法与装置和信息接收方法与装置
Schmidbauer et al. Challenging channels: Encrypted covert channels within challenge-response authentication
Leu et al. Improving security level of LTE authentication and key agreement procedure
KR20170032210A (ko) 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템
CN110572261A (zh) 一种数据加密传输方法
Jindal et al. Comparative Study On IEEE 802.11 Wireless Local Area Network Securities.
CN115150076A (zh) 一种基于量子随机数的加密系统及方法
JP2005323149A (ja) 無線通信システム
CN114629630A (zh) 初始化矢量生成方法、装置及相关设备
El Bakry et al. Implementation of a hybrid encryption scheme for sms/multimedia messages on android
Akhtar et al. A novel security algorithm for universal mobile telecommunication system
Berchtold et al. Secure communication protocol for a low-bandwidth audio channel
Junaid et al. Per packet authentication for ieee 802.11 wireless lan
Mohamed et al. Cryptography concepts: Confidentiality
CN111918282B (zh) 一种基于物理层密钥的ZigBee主密钥保护方法和设备
Mohamed Wireless Communication Systems: Confidentiality: Encryption and Decryption

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