通信方法及装置与流程

文档序号:26798941发布日期:2021-09-29 01:33阅读:69来源:国知局
通信方法及装置与流程

1.本技术实施例涉及无线通信领域,尤其涉及通信方法及装置,该方法和装置可应用于短距离通信领域,例如座舱域,适用于自动驾驶或者智能驾驶等场景。


背景技术:

2.在数据传输时,为了确保数据传输的安全性,发送方会利用算法对数据进行加密并将加密后的数据发送给接收方,接收方接收到加密后的数据后,会利用该算法对加密后的数据进行解密得到该数据。为了使接收方可以正确解密出发送方发送的数据,接收方需要使用与发送方相同的算法解密加密后的数据,以保证正常的通信。
3.但是现有技术中,涉及通信加密的算法的种类很多。基于发送方和接收方能力的设置以及场景的需求,发送方与接收方可以支持的算法种类也很多。因此,如何使发送方和接收方准确、高效地通过相同的算法对数据进行加密或解密等处理,对通信效率和性能至关重要。


技术实现要素:

4.本技术实施例提供通信方法及装置,可以实现发送方和接收方准确、高效地对通信信息进行加密或解密相关处理。
5.为达到上述目的,本技术实施例采用如下技术方案:
6.第一方面,本技术实施例提供一种通信方法,该方法应用于第一节点,该方法包括:接收来自第二节点的第一算法协商请求信息,该第一算法协商请求信息用于指示一个或多个算法和一个或多个密钥派生函数(key derivation function,kdf);确定该一个或多个算法中的至少一个第一算法和该一个或多个kdf中的至少一个第一kdf;向该第二节点发送第一信息,该第一信息用于指示该至少一个第一算法以及该至少一个第一kdf。
7.上述第一方面提供的方法,可以接收来自第二节点的用于指示一个或多个算法和一个或多个kdf的第一算法协商请求信息,根据该第一算法协商请求信息确定至少一个第一算法和至少一个第一kdf,并向第二节点发送用于指示至少一个第一算法以及该至少一个第一kdf的第一信息,如此,第一节点可以和第二节点协商算法以及kdf,从而实现第一节点和第二节点准确、高效地对通信信息进行加密或解密相关处理。以第一节点向第二节点发送信息为例,第一节点可以通过协商好的算法以及kdf对该信息进行加密,并向第二节点发送加密后的信息,第二节点接收到加密后的信息后,可以根据协商好的算法和kdf对加密后的信息进行解密,从而提高第一节点和第二节点之间通信的安全性。
8.结合第一方面,在一种可能的实现方式中,该一个或多个算法包括加密算法,和/或,完整性保护算法,和/或,认证加密算法。基于上述方法,第一节点和第二节点之间可以使用加密算法、完整性保护算法或认证加密算法等多种算法进行通信,提高了第一节点与第二节点之间通信时使用的算法的多样性。
9.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,
该第一信息是通过该至少一个第一算法进行完整性保护。基于上述方法,第一节点可以通过至少一个第一算法对第一信息进行完整性保护,从而提高第一节点与第二节点之间通信的安全性。
10.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该第一信息包括第二信息和第一消息认证码(message authentication code,mac),其中:该第二信息用于指示该至少一个第一算法以及该至少一个第一kdf,该第一mac是对该第二信息进行完整性保护得到的。基于上述方法,第一节点可以向第二节点发送第二信息和第一mac,并通过第一mac对第二信息进行完整性保护,从而可以提高第一节点与第二节点之间通信的安全性。
11.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法包括完整性保护算法,该第一mac是对所述第二信息,通过该完整性保护算法进行完整性保护得到的;或者,该至少一个第一算法包括认证加密算法,该第一mac是对所述第二信息,通过该认证加密算法进行完整性保护得到的。基于上述方法,第一节点可以通过多种算法对第二信息进行完整性保护,提高了第一节点对第一节点和第二节点之间的信息进行完整性保护的灵活性和多样性。
12.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该第二信息还包括第一新鲜性参数和第一验证信息,该第一新鲜性参数是与该第一信息的时效性相关的参数,该第一验证信息是根据所述第一算法协商请求信息、预置的共享密钥、该第一新鲜性参数和所述第一kdf得到的。基于上述方法,第一节点还可以通过第一验证信息对第一算法协商请求信息进行完整性保护,提高第一节点与第二节点之间通信的安全性。
13.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该第一信息包括加密信息、第二通信信息和第二mac,其中:该加密信息是对第一通信信息进行加密处理后得到的,该第一通信信息不指示该至少一个第一算法或该至少一个第一kdf中至少一个,该第二通信信息用于指示该至少一个第一算法或该至少一个第一kdf中至少一个;该第二mac是对该加密信息和该第二通信信息进行完整性保护得到的。基于上述方法,第一节点可以对第一通信信息加密,得到加密信息,并通过第二mac对加密信息和第二通信信息进行完整性保护,从而可以提高第一节点与第二节点之间通信的安全性。
14.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法包括加密算法和完整性保护算法;该加密信息是对该第一通信信息通过该加密算法进行加密处理后得到的;该第二mac是对该加密信息和该第二通信信息通过该完整性保护算法进行完整性保护得到的。基于上述方法,第一节点还可以通过加密算法对第一通信信息进行加密,通过完整性保护算法对加密信息和该第二通信信息进行完整性保护,从而提高第一节点和第二节点之间通信的安全性。
15.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法包括认证加密算法;该加密信息是对该第一通信信息通过该认证加密算法进行加密处理后得到的;该第二mac是对该加密信息和该第二通信信息通过该认证加密算法进行完整性保护得到的。基于上述方法,第一节点还可以通过认证加密算法对第一通信信息进行加密,通过认证加密算法对加密信息和该第二通信信息进行完整性保护,从
而提高第一节点和第二节点之间通信的安全性。
16.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法为该一个或多个算法中,该第一节点支持的优先级最高的算法;该至少一个第一kdf为该一个或多个kdf中、该第一节点支持的优先级最高的kdf。基于上述方法,因为算法的优先级是根据算法的安全性得到的,使用的算法的优先级越高,通信的安全性越高,所以第一节点采用一个或多个算法中,第一节点支持的优先级最高的算法,以及一个或多个kdf中第一节点支持的优先级最高的kdf和第二节点通信可以提高第一节点和第二节点之间通信的安全性。
17.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法对应一个或多个算法类型;该至少一个第一算法对应的算法类型为该一个或多个算法的算法类型中,该第一节点支持的优先级最高的算法类型。基于上述方法,第一节点可以确定第一节点和第二节点都支持的算法类型中优先级最高的算法类型,以便第一节点确定对应优先级最高的算法类型的所述至少一个第一算法。
18.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法对应一个算法类型,该算法类型可以对应多个优先级不同的算法,第一算法为该算法类型对应的算法中,第一节点支持的优先级最高的算法。基于上述方法,至少一个第一算法对应一个算法类型时,第一节点可以将第一算法对应的算法类型中,第一节点支持的优先级最高的算法确定为第一算法。或者,该算法类型仅对应一个算法,则确定所述第一算法包括所述一个算法。如此,第一节点可以使用优先级较高的算法和第二节点通信。一般来说,算法的优先级与算法的安全性相关,因此,第一节点和第二节点使用优先级较高的算法通信,可以提高第一节点和第二节点之间通信的安全性。
19.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,至少一个第一算法对应多个算法类型,该多个算法类型的优先级相同。每个算法类型可以对应一个或多个优先级不同的算法,该至少一个第一算法包括上述多个算法类型的每个算法类型对应的算法中,第一节点支持的优先级最高的算法,或者某个算法类型仅对应一个算法,则该至少一个第一算法包括所述算法类型对应的所述一个算法。基于上述方法,至少一个第一算法对应多个算法类型时,第一节点可以将每个算法类型中,第一节点支持的优先级最高的算法确定为第一算法。如此,第一节点可以使用优先级较高的算法和第二节点通信。一般来说,算法的优先级与算法的安全性相关,因此,第一节点和第二节点使用优先级较高的算法通信,可以提高第一节点和第二节点之间通信的安全性。
20.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,第一算法协商请求信息还包括第二新鲜性参数,该第二新鲜性参数是与所述第一算法协商请求信息的时效性相关的参数,该方法还包括:接收来自该第二节点第二验证信息;其中,该第二验证信息是根据该第一信息、预置的共享密钥、该第二新鲜性参数和该第一kdf得到的;根据该第一信息、该共享密钥、该第二新鲜性参数和该第一kdf验证该第二验证信息。基于上述方法,第一节点可以根据第一信息、共享密钥、第二新鲜性参数和第一kdf验证第二节点接收到的第一信息是否被修改,以提高第一节点和第二节点之间通信的安全性。
21.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该方法还包括:接收来自该第二节点的第二算法协商请求信息,该第二算法协商请求信息
用于指示一个或多个算法和一个或多个kdf;向该第二节点发送第三信息,该第三信息用于指示不支持或者不适用该第二算法协商请求信息指示的该一个或多个算法和该一个或多个kdf。基于上述方法,第一节点可以接收来自第二节点的用于指示一个或多个算法和一个或多个kdf的第二算法协商请求信息,并向第二节点发送用于指示不支持或者不适用该第二算法协商请求信息指示的该一个或多个算法和该一个或多个kdf的第三信息,如此,第一节点和第二节点可以通过多次通信来协商算法以及kdf,以提高第一节点和第二节点协商算法以及kdf的成功率。
22.结合第一方面以及第一方面的各种可能的实现方式,在一种可能的实现方式中,该第二算法协商请求信息指示的一个或多个算法不同于该第一算法协商请求信息指示的一个或多个算法;该第二算法协商请求信息指示的一个或多个kdf不同于该第一算法协商请求信息指示的一个或多个kdf。基于上述方法,第一节点可以获取第二节点多次指示的一个或多个算法和一个或多个kdf,以便第一节点根据获取到的一个或多个算法和一个或多个kdf确定用于和第二节点通信的算法和kdf,提高第一节点和第二节点协商算法以及kdf的成功率。
23.第二方面,本技术实施例提供一种通信方法,该方法应用于第二节点,该方法包括:向第一节点发送第一算法协商请求信息,该第一算法协商请求信息用于指示一个或多个算法和一个或多个kdf;接收来自该第一节点的第一信息,其中,该第一信息用于指示该一个或多个算法中的至少一个第一算法和该一个或多个kdf中的至少一个第一kdf。
24.上述第二方面提供的方法,可以向第一节点发送用于指示一个或多个算法和一个或多个kdf的第一算法协商请求信息,并接收来自第一节点的用于指示一个或多个算法中的至少一个第一算法,和该一个或多个kdf中的至少一个第一kdf的第一信息,如此,第一节点可以和第二节点协商算法以及kdf,并使用协商好的算法和kdf进行通信,从而实现第一节点和第二节点准确、高效地对通信信息进行加密或解密相关处理。
25.结合第二方面,在一种可能的实现方式中,该一个或多个算法包括加密算法,和/或,完整性保护算法,和/或,认证加密算法。基于上述方法,第一节点和第二节点之间可以使用加密算法、完整性保护算法或认证加密算法等多种算法进行通信,提高了第一节点与第二节点之间通信时使用的算法的多样性。
26.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该第一信息是通过该至少一个第一算法进行完整性保护。基于上述方法,第二节点可以通过至少一个第一算法验证第一信息的完整性,从而提高第一节点与第二节点之间通信的安全性。
27.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该第一信息包括第二信息和第一消息验证码mac,其中:该第二信息用于指示该至少一个第一算法以及该至少一个第一kdf,该第一mac是对所述第二信息进行完整性保护得到的。基于上述方法,第二节点可以接收来自第一节点的第二信息和第一mac,其中,第二信息是通过第一mac进行完整性保护,从而可以提高第一节点与第二节点之间通信的安全性。
28.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法包括完整性保护算法,该第一mac是对该第二信息,通过该完整性保护算法进行完整性保护得到的;该方法还包括:根据该完整性保护算法和该第二信息,得到第
三mac,该第三mac用于验证该第二信息的完整性;或者,该至少一个第一算法包括认证加密算法,该第一mac是对该第二信息,通过该认证加密算法进行完整性保护得到的;该方法还包括:根据该认证加密算法和该第二信息,得到第三mac,该第三mac用于验证所述第二信息的完整性。基于上述方法,第二节点可以根据多种算法验证第二信息的完整性,提高了第二节点在验证信息的完整性时,第二节点的灵活性和多样性。
29.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该第二信息还包括第一新鲜性参数和第一验证信息,该第一新鲜性参数是与该第一信息的时效性相关的参数,该第一验证信息是根据该第一算法协商请求信息、预置的共享密钥、该第一新鲜性参数和该第一kdf得到的。基于上述方法,第二节点还可以通过第一验证信息验证第一算法协商请求信息的完整性,提高第一节点与第二节点之间通信的安全性。
30.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该第一信息包括加密信息、第二通信信息和第二mac,其中:该加密信息是对第一通信信息进行加密处理后得到的,该第一通信信息不指示该至少一个第一算法或该至少一个第一kdf中至少一个,该第二通信信息用于指示该至少一个第一算法或该至少一个第一kdf中至少一个;该第二mac是对该加密信息和该第二通信信息进行完整性保护得到的。基于上述方法,第二节点可以接收来自第一节点的加密信息、第二通信信息和第二mac,以便第二节点通过第二mac验证加密信息和第二通信信息的完整性,从而可以提高第一节点与第二节点之间通信的安全性。
31.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法包括加密算法和完整性保护算法;该加密信息是对该第一通信信息通过该加密算法进行加密处理后得到的;该第二mac是对该加密信息和该第二通信信息通过该完整性保护算法进行完整性保护得到的;该方法还包括:根据该完整性保护算法、该加密信息和该第二通信信息,得到第四mac;若该第四mac与所述第二mac相同,通过该加密算法对所述加密信息进行解密。基于上述方法,第二节点还可以根据该完整性保护算法、该加密信息和该第二通信信息得到第四mac,并通过第四mac验证加密信息和第二通信信息的完整性,从而提高第一节点和第二节点之间通信的安全性。
32.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法包括认证加密算法;该加密信息是对该第一通信信息通过该认证加密算法进行加密处理后得到的;该第二mac是对该加密信息和该第二通信信息通过该认证加密算法进行完整性保护得到的;该方法还包括:根据该认证加密算法、该加密信息和该第二通信信息,得到第四mac;若该第四mac与该第二mac相同,通过该认证加密算法对该加密信息解密。基于上述方法,第二节点还可以根据该认证加密算法、该加密信息和该第二通信信息得到第四mac,并通过第四mac验证加密信息和第二通信信息的完整性,从而提高第一节点和第二节点之间通信的安全性。
33.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法为该一个或多个算法中,该第一节点支持的优先级最高的算法;该至少一个第一kdf为该一个或多个kdf中,该第一节点支持的优先级最高的kdf。基于上述方法,因为算法的优先级是根据算法的安全性得到的,使用的算法的优先级越高,通信的安全性越高,所以第二节点采用一个或多个算法中,该第一节点支持的优先级最高的算法,以及
一个或多个kdf中,该第一节点支持的优先级最高的kdf和第一节点通信可以提高第一节点和第二节点之间通信的安全性。
34.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法对应一个或多个算法类型;该至少一个第一算法对应的算法类型为该一个或多个算法的算法类型中,该第一节点支持的优先级最高的算法类型。基于上述方法,第一节点可以确定第一节点和第二节点都支持的算法类型中优先级最高的算法类型,以便第一节点确定对应优先级最高的算法类型的所述至少一第一算法。
35.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该至少一个第一算法对应一个算法类型,该算法类型可以对应多个优先级不同的算法,第一算法为该算法类型对应的算法中,第一节点支持的优先级最高的算法。基于上述方法,至少一个第一算法对应一个算法类型时,第一节点可以将第一算法对应的算法类型中,第一节点支持的优先级最高的算法确定为第一算法。或者,该算法类型仅对应一个算法,则确定所述第一算法包括所述一个算法。如此,第一节点可以使用优先级较高的算法和第二节点通信。一般来说,算法的优先级与算法的安全性相关,因此,第一节点和第二节点使用优先级较高的算法通信,可以提高第一节点和第二节点之间通信的安全性。
36.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,至少一个第一算法对应多个算法类型,该多个算法类型的优先级相同。每个算法类型可以对应多个优先级不同的算法,该至少一个第一算法包括上述多个算法类型的每个算法类型对应的算法中,第一节点支持的优先级最高的算法,或者某个算法类型仅对应一个算法,则该至少一个第一算法包括所述算法类型对应的所述一个算法。基于上述方法,至少一个第一算法对应多个算法类型时,第一节点可以将每个算法类型中,第一节点支持的优先级最高的算法确定为第一算法。如此,第一节点可以使用优先级较高的算法和第二节点通信。一般来说,算法的优先级与算法的安全性相关,因此,第一节点和第二节点使用优先级较高的算法通信,可以提高第一节点和第二节点之间通信的安全性。
37.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,第一算法协商请求信息还包括第二新鲜性参数,该第二新鲜性参数是与该第一算法协商请求信息的时效性相关的参数,该方法还包括:向该第一节点发送第二验证信息;其中,该第二验证信息是根据该第一信息、预置的共享密钥、该第二新鲜性参数和该第一kdf得到的。基于上述方法,第二节点可以通过第二验证信息对第一信息进行完整性保护。
38.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,该方法还包括:向该第一节点发送第二算法协商请求信息,该第二算法协商请求信息用于指示一个或多个算法和一个或多个kdf;接收来自该第一节点的第三信息,该第三信息用于指示不支持或者不适用该第二算法协商请求信息指示的该一个或多个算法和该一个或多个kdf。基于上述方法,第二节点可以向第一节点发送用于指示一个或多个算法和一个或多个kdf的第二算法协商请求信息,并接收来自第一节点的用于指示不支持或者不适用该第二算法协商请求信息指示的该一个或多个算法和该一个或多个kdf的第三信息,如此,第一节点和第二节点可以通过多次通信来协商算法以及kdf,以提高第一节点和第二节点协商算法以及kdf的成功率。
39.结合第二方面以及第二方面的各种可能的实现方式,在一种可能的实现方式中,
该第二算法协商请求信息指示的一个或多个算法不同于该第一算法协商请求信息指示的一个或多个算法;该第二算法协商请求信息指示的一个或多个kdf不同于该第一算法协商请求信息指示的一个或多个kdf。基于上述方法,第二节点可以多次向第一节点指示的一个或多个算法和一个或多个kdf,以便第一节点根据接收到的一个或多个算法和一个或多个kdf确定用于和第二节点通信的算法和kdf,提高第一节点和第二节点协商算法以及kdf的成功率。
40.第三方面,本技术实施例提供一种通信装置,可以实现上述第一方面、或第一方面任一种可能的实现方式中的方法。该装置包括用于执行上述方法的相应的单元或部件。该装置包括的单元可以通过软件和/或硬件方式实现。该装置例如可以为第一节点、或者为可支持第一节点实现上述方法的芯片、芯片系统、或处理器等。
41.第四方面,本技术实施例提供一种通信装置,可以实现上述第二方面、或第二方面任一种可能的实现方式中的方法。该装置包括用于执行上述方法的相应的单元或部件。该装置包括的单元可以通过软件和/或硬件方式实现。该装置例如可以为第二节点、或者为可支持第二节点实现上述方法的芯片、芯片系统、或处理器等。
42.第五方面,本技术实施例提供一种通信装置,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该装置实现上述第一方面、或第一方面任一种可能的实现方式中所述的方法。
43.第六方面,本技术实施例提供一种通信装置,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该装置实现上述第二方面、或第二方面任一种可能的实现方式中所述的方法。
44.第七方面,本技术实施例提供一种通信装置,该装置用于实现上述第一方面、或第一方面任一种可能的实现方式中所述的方法。
45.第八方面,本技术实施例提供一种通信装置,该装置用于实现上述第二方面、或第二方面任一种可能的实现方式中所述的方法。
46.第九方面,本技术实施例提供一种计算机可读介质,其上存储有计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行上述第一方面、或第一方面任一种可能的实现方式中所述的方法。
47.第十方面,本技术实施例提供一种计算机可读介质,其上存储有计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行上述第二方面、或第二方面任一种可能的实现方式中所述的方法。
48.第十一方面,本技术实施例提供一种计算机程序产品,其包括计算机程序代码,所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面、或第一方面任一种可能的实现方式中所述的方法。
49.第十二方面,本技术实施例提供一种计算机程序产品,其包括计算机程序代码,所述计算机程序代码在计算机上运行时,使得计算机执行上述第二方面、或第二方面任一种可能的实现方式中所述的方法。
50.第十三方面,本技术实施例提供一种芯片,包括:至少一个处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片实现上述第一方面、或第一方面任一种可能的实现方式中所述的方法。
51.第十四方面,本技术实施例提供一种芯片,包括:至少一个处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片实现上述第二方面、或第二方面任一种可能的实现方式中所述的方法。
52.第十五方面,本技术实施例提供一种通信系统。该系统包括上述第三方面所述的装置和/或上述第四方面所述的装置,或者该系统包括上述第五方面所述的装置和/或上述第六方面所述的装置,或者该系统包括上述第七方面所述的装置和/或上述第八方面所述的装置。
53.可以理解的,上述提供的任一种通信装置、芯片、计算机可读介质、计算机程序产品或通信系统等均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
附图说明
54.图1为本技术实施例提供的通信系统架构示意图;
55.图2为本技术实施例提供的通信装置的硬件结构示意图;
56.图3为本技术实施例提供的通信方法的流程示意图一;
57.图4为本技术实施例提供的通信方法的流程示意图二;
58.图5为本技术实施例提供的通信方法的流程示意图三;
59.图6为本技术实施例提供的通信方法的流程示意图四;
60.图7为本技术实施例提供的通信方法的流程示意图五;
61.图8为本技术实施例提供的通信方法的流程示意图六;
62.图9为本技术实施例提供的通信装置的结构示意图一;
63.图10为本技术实施例提供的通信装置的结构示意图二;
64.图11为本技术实施例提供的通信装置的结构示意图三;
65.图12为本技术实施例提供的通信系统的组成示意图;
66.图13为本技术实施例提供的芯片的结构示意图。
具体实施方式
67.下面结合附图对本技术实施例的实施方式进行详细描述。
68.本技术实施例提供的方法可用于各种通信系统。例如该通信系统可以为长期演进(long term evolution,lte)系统、第五代(5th generation,5g)通信系统、新无线(new radio,nr)系统、无线保真(wireless

fidelity,wifi)系统,第三代合作伙伴计划(3rd generation partnership project,3gpp)相关的通信系统以及未来演进的通信系统等,不予限制。下面仅以图1所示通信系统10为例,对本技术实施例提供的方法进行描述。
69.如图1所示,为本技术实施例提供的通信系统10的架构示意图。图1中,通信系统10可以包括节点101以及可以与节点101进行通信的节点102。图1仅为示意图,并不构成对本技术提供的技术方案的适用场景的限定。
70.图1中的节点101或节点102可以是任意一种具有收发功能的设备。包括但不限于:lte中的演进型基站(nodeb或enb或e

nodeb,evolutional node b),nr中的基站(gnodeb或gnb)或收发点(transmission receiving point/transmission reception point,trp),
3gpp后续演进的基站,wifi系统中的接入节点,无线中继节点,无线回传节点,数据中转设备(如路由器、中继器、桥接器或交换机)等。基站可以是:宏基站,微基站,微微基站,小站,中继站,或,气球站等。节点101或节点102还可以是云无线接入网络(cloud radio access network,cran)场景下的无线控制器、集中单元(centralized unit,cu),和/或,分布单元(distributed unit,du)。节点101或节点102还可以是服务器,可穿戴设备(如智能手表,智能手环,计步器等),机器通信设备、或车载设备等。节点101或节点102还可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、耳机、音响、虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、机器类型通信(machine type communication,mtc)中的终端、工业控制(industrial control)中的终端、车载终端设备、无人驾驶(self driving)中的终端、辅助驾驶中的终端设备、远程医疗(remote medical)中的终端、智能电网(smart grid)中的终端、运输安全(transportation safety)中的终端、智慧城市(smart city)中的终端、智慧家庭(smart home)中的终端等等。本技术的实施例对应用场景不做限定。终端有时也可以称为终端设备、用户设备(user equipment,ue)、接入终端设备、车载终端、工业控制终端、ue单元、ue站、移动站、移动台、远方站、远程终端设备、移动设备、ue终端设备、无线通信设备、机器终端、ue代理或ue装置等。终端可以是固定的,也可以是移动的。节点101或节点102还可以是汽车座舱(cockpit domain)设备,或者汽车座舱设备中的一个模块(座舱域控制器(cockpit domain controller,cdc)、摄像头、屏幕、麦克风、音响、电子钥匙、无钥匙进入及启动系统控制器等模块)。
71.图1所示的通信系统10仅用于举例,并非用于限制本技术的技术方案。本领域的技术人员应当明白,在具体实现过程中,通信系统10还可以包括其他设备,同时也可根据具体需要来确定节点的数量,不予限制。
72.可选的,本技术实施例图1中的各节点,例如节点101或节点102,可以是一个装置内的一个功能模块。可以理解的是,该功能模块既可以是硬件设备中的元件,例如,终端设备或网络设备中的通信芯片或通信部件,也可以是在硬件上运行的软件功能模块,或者是平台(例如,云平台)上实例化的虚拟化功能。
73.例如,图1中的各节点均可以通过图2中的通信装置200来实现。图2所示为可适用于本技术实施例的通信装置的硬件结构示意图。该通信装置200可以包括至少一个处理器201、存储器203以及至少一个通信接口204。可选的,所述通信装置还包括通信线路202。
74.所述至少一个处理器201可以包括通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application

specific integrated circuit,asic),现场可编程门阵列(field programmable gate array,fpga)或一个或多个用于控制本技术方案程序执行的集成电路中的一个或多个。
75.通信线路202可用于在上述组件之间传送信息。例如总线。
76.通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网接口,无线接入网接口(radio access network,ran),无线局域网接口(wireless local area networks,wlan)等;或者,通信接口204可以为至少一个处理器201提供输入输出,完成数据、指令或者信息的发送或者接收,但是连接结构不限定于如图2所示。
77.存储器203可以是只读存储器(read

only memory,rom)或可存储静态信息和指令
的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read

only memory,eeprom)、只读光盘(compact disc read

only memory,cd

rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路202与处理器相连接。存储器也可以和处理器集成在一起。本技术实施例提供的存储器通常可以具有非易失性。其中,存储器203用于存储执行本技术方案所涉及的计算机执行指令,并由处理器201来控制执行。处理器201用于执行存储器203中存储的计算机执行指令,从而实现本技术实施例提供的方法。
78.可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
79.在具体实现中,作为一种实施例,处理器201可以包括一个或多个cpu,例如图2中的cpu0和cpu1。
80.在具体实现中,作为一种实施例,通信装置200可以包括多个处理器,例如图2中的处理器201和处理器207。这些处理器中的每一个可以是一个单核(single

cpu)处理器,也可以是一个多核(multi

cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
81.在具体实现中,作为一种实施例,通信装置200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,lcd),发光二级管(light emitting diode,led)显示设备,阴极射线管(cathode ray tube,crt)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。
82.在具体实现中,通信装置200可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图2中类似结构的设备。本技术实施例不限定通信装置200的类型。
83.下面结合图1和图2对本技术实施例提供的通信方法进行具体阐述。其中,下述实施例中的节点可以具备图2所示部件。
84.需要说明的是,本技术实施例中的算法可以是信令面的算法,或者用户面的算法,或者信令面的算法和用户面的算法。信令面用于传输控制类的信令,例如,接入请求信息或身份认证信息等,用户面用于传输数据。信令面的算法用于第一节点和第二节点之间的信令面的通信,信令面的算法可以包括加密算法,和/或,完整性保护算法,和/或,认证加密算法。用户面的算法用于第一节点和第二节点之间的用户面的通信,用户面的算法可以包括加密算法,和/或,完整性保护算法,和/或,认证加密算法。
85.本技术实施例中用户面的算法与信令面的算法可以相同也可以不同。其中,信令面的算法和用户面的算法相同可以表现为:信令面的算法的个数与用户面相同,信令面的算法所属的类型与用户面相同,并且信令面的算法的标识与用户面相同。例如,信令面的算法包括2种算法,分别为加密算法1和完整性保护算法1,用户面的算法也包括2种算法,分别
为加密算法1和完整性保护算法1。信令面的算法和用户面的算法不同可以表现为:信令面的算法所属的类型与用户面不同(例如,信令面的算法包括加密算法和完整性保护算法,用户面的算法包括认证加密算法),和/或,信令面的算法的个数与用户面不同(例如,信令面的算法包括2种算法,用户面的算法包括1种算法);或者,当信令面的算法所属的类型与用户面相同,且信令面的算法的个数与用户面相同时,信令面的算法的标识与用户面不同等(例如,信令面的算法包括2种算法,分别为加密算法1和完整性保护算法1,用户面的算法包括2种算法,分别为加密算法2和完整性保护算法2)。
86.需要说明的是,本技术下述实施例中各个节点之间的消息名字或消息中各参数的名字等只是一个示例,具体实现中也可以是其他的名字,本技术实施例对此不作具体限定。
87.可以理解的,本技术实施例中,第一节点或第二节点可以执行本技术实施例中的部分或全部步骤,这些步骤仅是示例,本技术实施例还可以执行其它步骤或者各种步骤的变形。此外,各个步骤可以按照本技术实施例呈现的不同的顺序来执行,并且有可能并非要执行本技术实施例中的全部步骤。
88.如图3所示,为本技术实施例提供的一种通信方法,该通信方法包括步骤301

步骤303。
89.步骤301:第二节点向第一节点发送第一算法协商请求信息。
90.其中,第二节点可以是图1中的任一节点,例如,第二节点可以是图1所示的节点101或者节点102。当第二节点为图1所示的节点101时,第一节点可以为图1所示的节点102。当第二节点为图1所示的节点102时,第一节点可以为图1所示的节点101。
91.其中,第一算法协商请求信息可以用于指示一个或多个算法和一个或多个密钥派生函数(key derivation function,kdf)。该一个或多个算法可以是第二节点支持的一个或多个算法。该一个或多个kdf可以是该第二节点支持的一个或多个kdf。kdf可以用于生成该一个或多个算法中部分或全部算法对应的密钥。
92.这里需要说明的是,所述第二节点支持的一个或多个算法,和/或,所述第二节点支持的一个或多个kdf可以统一称为第二节点的安全能力。
93.其中,一个或多个算法可以是同一类型的算法,也可以是不同类型的算法,例如,一个或多个算法包括加密算法,和/或,完整性保护算法,和/或,认证加密算法。进一步,所述一个或多个算法包括至少一个加密算法,和/或,至少一个完整性保护算法,和/或,至少一个认证加密算法。加密算法可以通过加密算法的密钥对第一节点和第二节点之间的全部或部分通信信息加密或解密。完整性保护算法可以通过完整性保护算法对应的密钥对第一节点和第二节点之间的全部或部分通信信息进行完整性保护,或者,通过完整性保护算法对应的密钥验证第一节点和第二节点之间的全部或部分通信信息的完整性。认证加密算法可以通过认证加密算法的密钥对第一节点和第二节点之间的全部或部分通信信息加密或解密,以及,认证加密算法可以通过认证加密算法的密钥对第一节点和第二节点之间的全部或部分通信信息进行完整性保护,或者,通过认证加密算法的密钥验证第一节点和第二节点之间的全部或部分通信信息的完整性。
94.可以理解的,本技术实施例不限制第一算法协商请求信息指示的加密算法、完整性保护算法或认证加密算法的个数,例如,第一算法协商请求信息可以指示8个算法,该8个算法中,有2个是加密算法,3个是完整性保护算法,3个是认证加密算法。
95.可选的,第一算法协商请求信息指示的一个或多个算法和一个或多个kdf按照优先级排列。例如,第一算法协商请求信息指示的一个或多个算法和一个或多个kdf按照优先级从高到低排列,或者,第一算法协商请求信息指示的一个或多个算法和一个或多个kdf按照优先级从低到高排列。
96.示例性的,以第一算法协商请求信息指示的一个或多个算法和一个或多个kdf按照优先级从高到低排列为例,若第一算法协商请求信息用于指示加密算法1、加密算法2、完整性保护算法1、完整性保护算法2、kdf1和kdf2,则加密算法的优先级大于或等于完整性保护算法的优先级,对于加密算法,加密算法1的优先级大于或等于加密算法2的优先级,对于完整性保护算法,完整性保护算法1的优先级大于或等于完整性保护算法2的优先级,对于kdf,kdf1的优先级大于或等于kdf2的优先级。
97.示例性的,以第一算法协商请求信息指示的一个或多个算法和一个或多个kdf按照优先级从低到高排列为例,若第一算法协商请求信息用于指示加密算法1、加密算法2、完整性保护算法1、完整性保护算法2、kdf1和kdf2,加密算法的优先级小于或等于完整性保护算法的优先级,对于加密算法,加密算法1的优先级小于或等于加密算法2的优先级,对于完整性保护算法,完整性保护算法1的优先级小于或等于完整性保护算法2的优先级,对于kdf,kdf1的优先级小于或等于kdf2的优先级。
98.可以理解的,若一个或多个算法既包括信令面算法,又包括用户面算法,该一个或多个算法分别按照信令面算法的优先级和用户面算法的优先级排列。
99.示例性的,以第一算法协商请求信息指示的一个或多个算法和一个或多个kdf按照优先级从高到低排列为例,若第一算法协商请求信息指示的算法和kdf可以如表1所示,表1中,用户面算法包括加密算法1、加密算法2和完整性保护算法1,信令面算法包括加密算法2、完整性保护算法1和完整性保护算法2,kdf包括kdf1、kdf2和kdf3。则对于用户面算法和信令面算法,加密算法的优先级大于或等于完整性保护算法的优先级,对于用户面算法包括的加密算法,加密算法1的优先级大于或等于加密算法2的优先级,对于信令面算法包括的完整性保护算法,完整性保护算法1的优先级大于或等于完整性保护算法2的优先级。
100.表1
101.用户面算法信令面算法kdf加密算法1算法2kdf 1加密算法2完整性保护算法1kdf 2完整性保护算法1完整性保护算法2kdf 3
102.示例性的,以第一算法协商请求信息指示的一个或多个算法和一个或多个kdf按照优先级从高到低排列为例,第一算法协商请求信息指示的算法和kdf还可以如表2所示,表2中,对于用户面算法/kdf,认证加密算法的优先级大于加密算法和完整性保护算法的优先级,加密算法和完整性保护算法的优先级相同。其中,认证加密算法1的优先级大于或等于认证加密算法2的优先级,完整性保护算法1的优先级大于或等于完整性保护算法2的优先级,完整性保护算法2的优先级大于或等于加密算法1的优先级,加密算法1的优先级大于或等于加密算法2的优先级,kdf1的优先级大于或等于kdf2的优先级。对于信令面算法/kdf,加密算法和完整性保护算法的优先级相同,加密算法和完整性保护算法的优先级大于认证加密算法的优先级。其中,完整性保护算法1的优先级大于或等于完整性保护算法2的
优先级,完整性保护算法2的优先级大于或等于加密算法1的优先级,加密算法1的优先级大于或等于加密算法2的优先级,认证加密算法2的优先级大于或等于认证加密算法1的优先级,kdf3的优先级大于或等于kdf4的优先级。
103.表2
[0104][0105]
第一算法协商请求信息可以通过下述方式中的任一种方式指示一个或多个算法和一个或多个kdf。
[0106]
方式1.1,第一算法协商请求信息包括一个或多个算法的标识和一个或多个kdf的标识。
[0107]
示例性的,以表3所示的算法/kdf的标识为例,当第一算法协商请求信息包括id1、id3和id5时,第一算法协商请求信息用于指示算法1、算法3和kdf2;当第一算法协商请求信息包括id2和id4时,第一算法协商请求信息用于指示算法2和kdf1。
[0108]
表3
[0109]
算法/kdf算法/kdf的标识算法1id1算法2id2算法3id3kdf1id4kdf2id5
[0110]
可以理解的,表1

表3仅是第一算法协商请求信息指示的算法的示例,在具体应用中,第一算法协商请求信息指示的算法还可以是其他形式的,不予限制。
[0111]
方式1.2,第一算法协商请求信息包括一个比特序列,该比特序列中的一个比特与一个算法或一个kdf对应,该比特序列中的每个比特可以通过0或1指示第一算法协商请求信息是否指示该比特对应的算法或kdf。例如,若该比特为1,可以表示第一算法协商请求信息指示该比特对应的算法或kdf,若该比特为0,可以表示第一算法协商请求信息不指示该比特对应的算法或kdf,反之亦然。
[0112]
示例性的,以第一算法协商请求信息包括5比特,该5比特中的第1个比特与算法1对应,第2个比特和算法2对应,第3个比特和算法3对应,第4个比特和kdf1对应,第5个比特和kdf2对应为例,若该5比特为01010,可以表示第一算法协商请求信息用于指示算法2和kdf1;若该5比特为11001,可以表示第一算法协商请求信息用于指示算法1、算法2和kdf2。
[0113]
方式1.3,第一算法协商请求信息包括两个比特序列,该两个比特序列的长度可以相同也可以不同。
[0114]
对于其中一个比特序列,该比特序列中的一个比特与一个算法对应,该比特序列中的每个比特可以通过0或1指示第一算法协商请求信息是否指示该比特对应的算法。例如,若该比特为1,可以表示第一算法协商请求信息指示该比特对应的算法,若该比特为0,可以表示第一算法协商请求信息不指示该比特对应的算法,反之亦然。
[0115]
对于其中另一个比特序列,该比特序列中的一个比特与一个kdf对应,该比特序列中的每个比特可以通过0或1指示第一算法协商请求信息是否指示该比特对应的kdf。例如,若该比特为1,可以表示第一算法协商请求信息指示该比特对应的kdf,若该比特为0,可以表示第一算法协商请求信息不指示该比特对应的kdf,反之亦然。
[0116]
示例性的,以第一算法协商请求信息包括两个比特序列,其中一个比特序列为3比特,该3比特中的第1个比特与算法1对应,第2个比特和算法2对应,第3个比特和算法3对应,其中另一个比特序列为2比特,该2比特中的第1个比特和kdf1对应,第2个比特和kdf2对应为例,若第一算法协商请求信息包括110和01,可以表示第一算法协商请求信息用于指示算法1、算法2和kdf2;若第一算法协商请求信息包括010和11,可以表示第一算法协商请求信息用于指示算法2、kdf1和kdf2。
[0117]
可选的,第一算法协商请求信息还包括第二节点的标识和第二新鲜性参数。
[0118]
其中,第二节点的标识可以用于标识该第二节点。该第二新鲜性参数是与第一算法协商请求信息的时效性相关的参数。例如,该第二新鲜性参数包括第二节点中计数器的值或第一随机数。该计数器的值可以是第二节点确定发送第一算法协商请求信息时,第二节点的计数器的值,该计数器可以用于记录第一节点和第二节点的通信次数。该第一随机数可以是第二节点确定发送第一算法协商请求信息时,第二节点生成的随机数。
[0119]
可选的,在步骤301之前,第二节点检测第二节点是否有和第一节点协商好的算法和kdf,若第二节点是有和第一节点协商好的算法和kdf,第二节点使用该协商好的算法和kdf和第一节点通信;若第二节点没有和第一节点协商好的算法和kdf,第二节点执行步骤301。
[0120]
步骤302:第一节点接收来自第二节点的第一算法协商请求信息,并确定一个或多个算法中的至少一个第一算法和一个或多个kdf中的至少一个第一kdf。
[0121]
这里需要说明的是,所述第一节点支持的一个或多个算法,和/或,所述第一节点支持的一个或多个kdf可以统一称为第一节点的安全能力。
[0122]
可选的,至少一个第一算法包括加密算法;或者,至少一个第一算法包括完整性保护算法;或者,至少一个第一算法包括加密算法和完整性保护算法;或者,至少一个第一算法包括认证加密算法。
[0123]
可选的,多个算法对应相应的优先级。多个kdf对应相应的优先级。
[0124]
一种可能的实现方式,第一算法协商请求信息指示的一个或多个算法和一个或多个kdf按照优先级排列,具体的,可以参考上述步骤301中所述,不予赘述。
[0125]
另一种可能的实现方式,算法的标识与算法的优先级之间存在对应关系。可选的,所述对应关系是预先定义的,例如在标准或者协议中定义,或者,所述对应关系是预先设置的,可以通过任一其他设备预先配置给相应的节点。示例性的,标识大的算法的优先级大于
标识小的算法的优先级;或者,标识小的算法的优先级大于标识大的算法的优先级。例如,算法2的优先级大于算法1的优先级;或者,算法1的优先级大于算法2的优先级。同理,kdf的标识与kdf的优先级有对应关系。示例性的,标识大的kdf的优先级大于标识小的kdf的优先级;或者,标识小的kdf的优先级大于标识大的kdf的优先级。为阐述方便,下文多用列表的方式进行对应关系的解释,但是本领域技术人员可知,本技术包含但不限定通过表格的方式体现所述对应关系。
[0126]
再一种可能的实现方式,多个算法的优先级通过算法的优先级列表来展示。多个kdf的优先级通过kdf的优先级列表来展示。
[0127]
可选的,算法的优先级列表包括加密算法的优先级列表,和/或,完整性保护算法的优先级列表,和/或,认证加密算法的优先级列表。
[0128]
可以理解的,若本技术实施例中的算法是信令面的算法和用户面的算法,则算法的优先级列表包括用户面算法的优先级列表,和/或,信令面算法的优先级列表。用户面算法的优先级列表可以用于确定用户面的第一算法,信令面算法的优先级列表可以用于确定信令面的第一算法。其中,用户面算法的优先级列表和信令面算法的优先级列表可以相同也可以不同。
[0129]
可以理解的,上述算法的优先级列表中包括一个或多个算法,并且算法的优先级列表包括的一个或多个算法按照算法的优先级排列。示例性的,以加密算法的优先级列表为例,该加密算法的优先级列表包括算法1、算法2和算法3,其中,算法1的优先级≥算法2的优先级≥算法3的优先级,或者,算法1的优先级≤算法2的优先级≤算法3的优先级。上述kdf的优先级列表中包括一个或多个kdf,并且该一个或多个kdf按照kdf的优先级排列。示例性的,该kdf的优先级列表包括kdf1、kdf2和kdf3,其中,kdf1的优先级≥kdf2的优先级≥kdf3的优先级,或者,kdf1的优先级≤kdf2的优先级≤kdf3的优先级。
[0130]
可选的,上述算法的优先级列表中的算法按照算法的优先级从高到低,或者从低到高排列。kdf的优先级列表中的kdf按照kdf的优先级从高到低,或者从低到高排列。
[0131]
示例性的,以算法的优先级列表包括加密算法的优先级列表、完整性保护算法的优先级列表和认证加密算法的优先级列表,认证加密算法的优先级>完整性保护算法的优先级≥加密算法的优先级,加密算法的优先级列表包括算法1和算法2,算法1的优先级大于算法2的优先级,完整性保护算法的优先级列表包括算法3和算法4,算法3的优先级大于算法4的优先级,认证加密算法算法的优先级列表包括算法5和算法6,算法5的优先级大于算法6的优先级,上述每个优先级列表中的算法按照算法的优先级从高到低排列为例,算法的优先级列表可以如表4所示。表4仅是算法的优先级列表的示例,算法的优先级列表还可以是其他形式,不予限制。
[0132]
表4
[0133]
[0134][0135]
可以理解的,对于上述示例,当完整性保护算法的优先级与加密算法的优先级相同时,算法的优先级列表可以如表5所示。表5中,认证加密算法的优先级为优先级1,加密算法和完整性保护算法的优先级为优先级2,优先级1的优先级大于优先级2。
[0136]
表5
[0137][0138]
可选的,至少一个第一算法为一个或多个算法中,第一节点支持的优先级最高的算法。该至少一个第一算法对应一个或多个算法类型。例如,若该至少一个第一算法包括一个算法,至少一个第一算法对应一个算法类型;若该至少一个第一算法包括多个算法,至少一个第一算法包括的多个算法中,每个算法对应一个算法类型。
[0139]
进一步的,至少一个第一算法对应的算法类型为一个或多个算法的算法类型中,第一节点支持的优先级最高的算法类型。
[0140]
在一种可能的实施方式中,至少一个第一算法对应一个算法类型,该算法类型可以对应多个优先级不同的算法,则第一算法为该算法类型对应的算法中,第一节点支持的优先级最高的算法。或者,该算法类型仅对应一个算法,则所述第一算法包括所述算法类型对应的一个算法。
[0141]
示例性的,以至少一个第一算法包括一个算法,第一算法协商请求信息指示算法3、算法4、算法1和算法2,算法3的优先级>算法4的优先级>算法1的优先级>算法2的优先级为例,若第一节点支持的算法包括算法4和算法1,则该至少一个第一算法为算法4,若第一节点支持的算法包括算法3和算法1,则该至少一个第一算法为算法3。
[0142]
示例性的,以至少一个第一算法包括一个算法,算法的优先级列表如表5所示,第一算法协商请求信息指示算法5、算法6、算法3和算法2为例,若第一节点支持的算法包括算法6、算法3和算法1,则该至少一个第一算法为算法6;若第一节点支持的算法包括算法5、算法4和算法2,则该至少一个第一算法为算法5。
[0143]
在另一种可能的实施方式中,至少一个第一算法对应多个算法类型,该多个算法类型的优先级相同。每个算法类型可以对应一个或多个优先级不同的算法,至少一个第一算法包括上述多个算法类型中每个算法类型对应的算法中,第一节点支持的优先级最高的算法,或者某个算法类型仅对应一个算法,则该至少一个第一算法包括所述算法类型对应的所述一个算法。
[0144]
示例性的,以该至少一个第一算法包括2个算法,算法的优先级列表如表6所示,第一算法协商请求信息指示算法5、算法6、算法3和算法2为例,表6中,对于算法类型,加密算
法和完整性保护算法的优先级相同,加密算法和完整性保护算法的优先级大于认证加密算法的优先级,对于加密算法,算法5的优先级大于或等于算法6的优先级,对于完整性保护算法,算法3的优先级大于或等于算法4的优先级,对于认证加密算法,算法1的优先级大于或等于算法2的优先级,若第一节点支持的算法包括算法5、算法6、算法3、算法4和算法1,则至少一个第一算法包括算法5和算法3。
[0145]
表6
[0146][0147]
需要说明的是,当第一算法协商请求信息指示的算法的算法类型中,优先级最高的算法类型为多个,第一节点也可以将该多个算法类型中的部分算法类型确定为至少一个第一算法对应的算法类型。示例性的,第一算法协商请求信息指示的算法的算法类型中,优先级最高的算法类型为加密算法和完整性保护算法,第一节点将完整性保护算法确定为至少一个第一算法对应的算法类型。这种场景下,可以不采用加密算法进行加密。这里需要进一步说明的是,为方便阐述方案,采用了“确定算法类型”的表述,但是实际方案中,可以不单独确定算法类型,直接确定对应所述算法类型的至少一个第一算法。
[0148]
需要说明的是,加密算法可以包括空加密算法。空加密算法用于生成全0的密钥流,或者说,空加密算法可以表示不对信息加密。当至少一个第一算法包括空加密算法时,表示不对第一节点和第二节点之间的通信信息加密。
[0149]
可以理解的,表4

表6仅是算法的优先级列表的示例,在具体应用中,算法的优先级列表还可以是其他形式的,不予限制。
[0150]
可选的,算法的优先级与算法的安全性有关。例如,安全性越高的算法的优先级越高,安全性越低的算法的优先级越低。kdf的优先级与kdf的安全性有关。例如,安全性越高的kdf的优先级越高,安全性越低的kdf的优先级越低。
[0151]
可选的,至少一个第一kdf为一个或多个kdf中,第一节点支持的优先级最高的kdf。例如,若该至少一个第一kdf包括一个kdf,至少一个第一kdf为一个或多个kdf中,第一节点支持的优先级最高的一个kdf;若该至少一个第一kdf包括m个kdf,m为大于1的正整数,至少一个第一kdf为一个或多个kdf中,第一节点支持的优先级最高的前m个kdf。
[0152]
示例性的,以至少一个第一kdf包括一个kdf,第一算法协商请求信息指示kdf1、kdf2和kdf3,kdf1的优先级>kdf2的优先级>kdf3的优先级为例,若第一节点支持的kdf包括kdf2和kdf3,则至少一个第一kdf为kdf2;若第一节点支持的kdf包括kdf1和kdf2,则至少一个第一kdf为kdf1。
[0153]
步骤303:第一节点向第二节点发送第一信息。
[0154]
其中,第一信息用于指示至少一个第一算法以及至少一个第一kdf,以实现第一节
点采用至少一个第一算法以及至少一个第一kdf和第二节点通信。
[0155]
可选的,第一信息是通过至少一个第一算法进行完整性保护;或者,第一信息是通过至少一个第一算法加密并通过至少一个第一算法进行完整性保护;或者,第一信息是通过至少一个第一算法加密的。
[0156]
首先,介绍第一信息是通过至少一个第一算法进行完整性保护的情况:
[0157]
第一信息包括第二信息和第一mac。第二信息用于指示至少一个第一算法以及至少一个第一kdf。示例性的,第二信息包括至少一个第一算法以及至少一个第一kdf的信息。例如,第二信息包括至少一个第一算法的标识以及至少一个第一kdf的标识。第一mac是对第二信息进行完整性保护得到的。
[0158]
进一步的,至少一个第一算法包括完整性保护算法,或者,至少一个第一算法包括完整性保护算法和加密算法,第一mac是对第二信息,通过完整性保护算法进行完整性保护得到的;或者,至少一个第一算法包括认证加密算法,第一mac是对第二信息,通过认证加密算法进行完整性保护得到。具体的,可以参考下述图6或图7所示方法中所述。
[0159]
其中,第一信息可以通过下述方式中的任一种方式指示至少一个第一算法以及至少一个第一kdf。
[0160]
方式2.1,第二信息包括第一算法的标识和第一kdf的标识。
[0161]
示例性的,以表3所示的算法/kdf的标识为例,当第二信息包括id1和id5时,第一信息用于指示算法1和kdf2;当第二信息包括id2和id4时,第一信息用于指示算法2和kdf1。
[0162]
示例性的,以算法/kdf的标识如表7所示,第二信息包括16个比特,其中,第1

4个比特用于指示加密算法的标识,第5

8个比特用于指示完整性保护算法的标识,第9

12个比特用于指示认证加密算法的标识,第13

16个比特用于指示kdf的标识为例,表7中,加密算法包括算法1、算法2和算法3,算法1的标识为0000,算法1为空加密算法,用于生成全0的密钥流,算法2的标识为0001,算法3的标识为0010,完整性保护算法包括算法4和算法5,算法4的标识为0001,算法5的标识为0010,认证加密算法包括算法6,算法6的标识为0011,kdf包括kdf1和kdf2,kdf1的标识为0001,kdf2的标识为0010,若第二信息包括0001000100000001,则第一信息用于指示算法2、算法4和kdf1,若第二信息包括0000000000110010,则第一信息用于指示算法6和kdf2。
[0163]
表7
[0164][0165]
可以理解的,表7仅是算法/kdf的标识的示例,在具体应用中,算法/kdf的标识还
可以是其他形式,不予限制。
[0166]
方式2.2,第二信息包括一个比特序列,该比特序列中的一个比特与一个算法或一个kdf对应,例如,该比特序列中的一个比特与第一算法协商请求信息指示的一个或多个算法对应,或者该比特序列中的一个比特与第一算法协商请求信息指示的kdf对应。该比特序列中的每个比特可以通过0或1指示第一算法是否包括该比特对应的算法,或者第一kdf是否包括该比特对应的kdf。例如,若该比特为1,可以表示第一算法包括该比特对应的算法,或者第一kdf包括该比特对应的kdf,若该比特为0,可以表示第一算法不包括该比特对应的算法,或者第一kdf不包括该比特对应的kdf,反之亦然。
[0167]
示例性的,以第二信息包括5比特,该5比特中的第1个比特与算法1对应,第2个比特和算法2对应,第3个比特和算法3对应,第4个比特和密钥kdf1对应,第5个比特和密钥kdf2对应为例,若该5比特为01010,可以表示第一算法包括算法2,第一kdf包括kdf1;若该5比特为11001,可以表示第一算法包括算法1和算法2,第一kdf包括kdf2。
[0168]
方式2.3,第二信息包括两个比特序列,该两个比特序列的长度可以相同也可以不同。
[0169]
对于其中一个比特序列,该比特序列中的一个比特与一个算法对应,例如,该比特序列中的一个比特与第一算法协商请求信息指示的一个或多个算法对应。该比特序列中的每个比特可以通过0或1指示第一算法是否包括该比特对应的算法。例如,若该比特为1,可以表示第一算法包括该比特对应的算法,若该比特为0,可以表示第一算法不包括该比特对应的算法,反之亦然。
[0170]
对于其中另一个比特序列,该比特序列中的一个比特与一个kdf对应,例如该比特序列中的一个比特与第一算法协商请求信息指示的kdf对应。该比特序列中的每个比特可以通过0或1指示第一kdf是否包括该比特对应的kdf。例如,若该比特为1,可以表示第一kdf包括该比特对应的kdf,若该比特为0,可以表示第一kdf不包括该比特对应的kdf,反之亦然。
[0171]
示例性的,以第二信息包括两个比特序列,其中一个比特序列为3比特,该3比特中的第1个比特与算法1对应,第2个比特和算法2对应,第3个比特和算法3对应,其中另一个比特序列为2比特,该2比特中的第1个比特和密钥kdf1对应,第2个比特和密钥kdf2对应为例,若第二信息包括110和01,可以表示第一算法包括算法1和算法2,第一kdf包括kdf2;若第二信息包括010和10,可以表示第一算法包括算法2,第一kdf包括kdf1。
[0172]
可选的,第二信息还包括与第一算法和第一kdf的指示无关的信息。例如,第二信息还包括第一验证信息;或者,第二信息还包括第一新鲜性参数和第一验证信息;或者,第二信息还包括用于指示步骤301中的一个或多个算法以及一个或多个kdf的指示信息。
[0173]
其中,该第一新鲜性参数是与第一信息的时效性相关的参数。例如,该第一新鲜性参数包括第一节点中计数器的值或第二随机数。该计数器的值可以是第一节点确定发送第一信息时,第一节点的计数器的值,该计数器可以用于记录第一节点和第二节点的通信次数。该第二随机数可以是第一节点确定发送第一信息时生成的随机数。
[0174]
其中,第一验证信息用于第二节点验证第一节点接收到的第一算法协商请求信息是否被修改。
[0175]
示例性的,以第二信息还包括第一验证信息为例,第一验证信息是根据第一节点
接收到的第一算法协商请求信息、预置的共享密钥和第二kdf得到。例如,auth 1=第二kdf(k,第一算法协商请求信息)。其中,auth 1为第一验证信息。k为预置的共享密钥,预置的共享密钥为预先设置的。具体的,预置的共享密钥可以通过任一其他设备预先配置给相应的节点。第二kdf可以和第一kdf相同或不同。若第二kdf与第一kdf不同,第二kdf可以是预置在第一节点和第二节点中的kdf。
[0176]
示例性的,以第二信息还包括第一新鲜性参数和第一验证信息为例,第一验证信息是根据第一节点接收到的第一算法协商请求信息、预置的共享密钥、第一新鲜性参数和第二kdf得到。例如,auth 1=第二kdf(k,第一新鲜性参数,第一算法协商请求信息),auth 1、k和第二kdf的介绍可以参考上述示例,不予赘述。
[0177]
可以理解的,若第二信息还包括用于指示步骤301中的一个或多个算法以及一个或多个kdf的指示信息,后续第二节点接收到该指示信息后,可以根据该指示信息确定第一算法协商请求信息中的算法和kdf是否被修改。
[0178]
下面介绍第一信息是通过至少一个第一算法加密并通过至少一个第一算法进行完整性保护的情况:
[0179]
第一信息包括加密信息、第二通信信息和第二mac。其中,加密信息是对第一通信信息进行加密处理后得到的,第一通信信息不指示至少一个第一算法或至少一个第一kdf中至少一个。第二通信信息用于指示至少一个第一算法和至少一个第一kdf中至少一个。第二mac是对加密信息和第二通信信息进行完整性保护得到的。
[0180]
进一步的,至少一个第一算法包括加密算法和完整性保护算法,加密信息是对第一通信信息通过加密算法进行加密处理后得到的,第二mac是对加密信息和第二通信信息通过完整性保护算法进行完整性保护得到的;或者,至少一个第一算法包括认证加密算法,加密信息是对第一通信信息通过认证加密算法进行加密处理后得到的,第二mac是对加密信息和第二通信信息通过认证加密算法进行完整性保护得到的。具体的,可以参考下述图4或图5所示方法中所述。
[0181]
其中,第一信息可以通过下述方式中的任一种方式指示至少一个第一算法以及至少一个第一kdf:第二通信信息包括第一算法的标识和第一kdf的标识;或者,第二通信信息包括一个比特序列,该比特序列中的一个比特与一个算法或一个kdf对应;或者,第二通信信息包括两个比特序列,对于其中一个比特序列,该比特序列中的一个比特与一个算法对应,对于其中另一个比特序列,该比特序列中的一个比特与一个kdf对应。具体的,可以参考上述方式2.1

方式2.3中所述,不予赘述。
[0182]
可选的,第一通信信息包括与第一算法和第一kdf的指示无关的信息。例如,第一通信信息包括第一验证信息;或者,第一通信信息包括第一新鲜性参数和第一验证信息;或者,第一通信信息包括用于指示步骤301中的一个或多个算法以及一个或多个kdf的指示信息。其中,第一验证信息、第一新鲜性参数和用于指示步骤301中的一个或多个算法以及一个或多个kdf的指示信息的介绍,可以参考上述第二信息包括与第一算法和第一kdf无关的信息时对应的描述,不予赘述。
[0183]
可以理解的,上述描述中,第一节点是先加密信息再得到第二mac,第一节点还可以先得到第二mac,再对第一通信信息进行加密,不予限制。不同的是,当第一节点是先加密信息再得到第二mac时,第二节点接收到第一信息后,要先验证第一信息的完整性,并在验
证第一信息完整后解密加密信息。当第一节点先得到第二mac,再对第一通信信息进行加密时,第二节点接收到第一信息后,先解密加密信息,再验证第一信息的完整性。
[0184]
下面介绍第一信息是通过至少一个第一算法加密的情况:
[0185]
第一信息包括加密信息和第二通信信息。其中,加密信息是对第一通信信息进行加密处理后得到的。第一通信信息和第二通信信息的介绍,以及第一信息指示至少一个第一算法以及至少一个第一kdf的介绍,可以参考上述第一信息是通过至少一个第一算法加密并通过至少一个第一算法进行完整性保护的情况中所述,不予赘述。
[0186]
进一步的,至少一个第一算法包括加密算法。加密信息是对第一通信信息通过加密算法进行加密处理后得到的。示例性的,加密信息是通过加密密钥对第一通信信息进行加密得到。加密密钥的介绍可以参考下述图5所示方法中所述,不予赘述。
[0187]
可以理解的,对于至少一个第一算法包括加密算法的情况,第一节点和第二节点通信时,发送方可以通过加密密钥对要发送的信息加密,得到加密信息,并将加密信息发送给接收方。接收方接收到加密信息后,可以通过加密密钥对于加密信息解密,得到发送方法要发送的信息。如此,可以提高第一节点与第二节点之间通信的安全性。
[0188]
对应的,第二节点可以接收来自第一节点的第一信息。后续,第二节点采用至少一个第一算法以及至少一个第一kdf和第一节点通信。
[0189]
可选的,若第一信息是通过至少一个第一算法进行完整性保护,第二节点要验证第一信息的完整性。若第一信息是通过至少一个第一算法进行完整性保护,第二节点接收到第一信息,根据至少一个第一kdf得到认证加密密钥,根据至少一个第一算法和第二信息得到第三mac,并通过第三mac验证第一信息的完整性,具体的,可以参考下述图6或图7所示方法中所述。若第一信息是通过至少一个第一算法加密并通过至少一个第一算法进行完整性保护,第二节点接收到第一信息,根据至少一个第一算法、加密信息和第二通信信息,得到第四mac,并通过第四mac验证第一信息的完整性,具体的,可以参考下述图4或图5所示方法中所述。
[0190]
可选的,第二节点接收到该第一信息后,向第一节点发送确认信息。该确认信息用于指示第二节点接收到该第一信息。
[0191]
可选的,第二节点接收到该第一信息后,向第一节点发送第二验证信息。第二验证信息用于第一节点验证第二节点接收到的第一信息是否被修改。
[0192]
示例性的,第二验证信息是根据第二节点接收到的第一信息、预置的共享密钥和第二kdf得到,例如,auth 2=第二kdf(k,第一信息)。在这种情况下,第一节点接收到第二验证信息后,根据第一信息、预置的共享密钥和第二kdf得到第三验证信息,例如,auth 3=第二kdf(k,第一信息)。若第三验证信息和第二验证信息相同,则表示第二节点接收到的第一信息未被修改,若第三验证信息和第二验证信息不相同,则表示第二节点接收到的第一信息被修改。其中,auth 2为第二验证信息,auth 3为第三验证信息,k为预置的共享密钥,第二kdf可以和第一kdf相同或不同。若第二kdf与第一kdf不同,第二kdf可以是预置在第一节点和第二节点中的kdf。
[0193]
示例性的,第二验证信息是根据第二节点接收到的第一信息、预置的共享密钥、第二新鲜性参数和第二kdf得到,例如,auth 2=第二kdf(k,第二新鲜性参数,第一信息)。在这种情况下,第一节点接收到第二验证信息后,根据第一信息、预置的共享密钥、第二新鲜
性参数和第二kdf得到第三验证信息,例如,auth 3=第二kdf(k,第二新鲜性参数,第一信息)。若第三验证信息和第二验证信息相同,则表示第二节点接收到的第一信息未被修改,若第三验证信息和第二验证信息不相同,则表示第二节点接收到的第一信息被修改。其中,auth 2、auth 3、k和第二kdf的介绍可以参考上述示例,不予赘述。
[0194]
可选的,该确认信息或第二验证信息是通过至少一个第一算法进行完整性保护。该确认信息或第二验证信息通过至少一个第一算法进行完整性保护的过程,可以参考下述图4、图5、图6或图7所示方法中,第一信息通过至少一个第一算法进行完整性保护的描述,不予赘述。
[0195]
基于图3所示的方法,第二节点可以向第一节点发送用于指示一个或多个算法和一个或多个kdf的第一算法协商请求信息。第一节点接收到该第一算法协商请求信息后,可以根据该第一算法协商请求信息确定至少一个第一算法和至少一个第一kdf,并向第二节点发送用于指示至少一个第一算法和至少一个第一kdf的第一信息。如此,第一节点和第二节点可以采用至少一个第一算法和至少一个第一kdf通信,从而可以使得第一节点和第二节点使用相同的算法对第一节点和第二节点之间通信的信息进行加密或解密。
[0196]
可以理解的,针对第一信息包括的内容,和/或,至少一个第一算法可能包括的不同类型和数目的算法,存在几种不同的实施方式,具体的,可以参考下述图3所示方法的第一种实施方式、第二种实施方式、第三种实施方式和第四种实施方式。
[0197]
可选的,在图3所示方法的第一种可能的实施方式中,第一信息包括加密信息、第二通信信息和第二mac。当至少一个第一算法包括认证加密算法,加密信息是对第一通信信息通过认证加密算法进行加密处理后得到的,第二mac是对加密信息和第二通信信息通过认证加密算法进行完整性保护得到的。第二节点接收到第一信息后,可以根据认证加密算法、加密信息和第二通信信息得到第四mac,并通过第四mac验证第一信息的完整性。具体的,如图4所示,图3所示的方法还包括步骤401

步骤404。
[0198]
步骤401:第一节点根据至少一个第一kdf得到认证加密密钥。
[0199]
其中,认证加密密钥可以用于加密第一通信信息,或者认证加密密钥可以用于解密加密信息,以及,认证加密密钥可以用于对第二通信信息和加密信息进行完整性保护,或者认证加密密钥可以用于验证第二通信信息和加密信息的完整性。
[0200]
其中,第一节点可以通过下述任一种方式得到认证加密密钥。
[0201]
方式3.1,第一节点以共享密钥作为第一kdf的输入,得到认证加密密钥,即k
c
=第一kdf(k),其中,k
c
为认证加密密钥,k为共享密钥。
[0202]
方式3.2,第一节点以共享密钥和第二新鲜性参数作为第一kdf的输入,得到认证加密密钥,即k
c
=第一kdf(k,c),其中,k
c
为认证加密密钥,k为共享密钥,c为第二新鲜性参数。
[0203]
方式3.3,第一节点以共享密钥、第二新鲜性参数和第一字符串作为第一kdf的输入,得到认证加密密钥,即k
c
=第一kdf(k,c,第一字符串),其中,k
c
为认证加密密钥,k为共享密钥,c为第二新鲜性参数。第一字符串可以用于标识认证加密算法,例如,若至少一个第一算法为用户面的认证加密算法时,第一字符串可以为“user auth enc”可以标识用户面的认证加密算法。
[0204]
方式3.4,第一节点以共享密钥、第二新鲜性参数、第一字符串和第一标识作为第
一kdf的输入,得到认证加密密钥,即k
c
=第一kdf(k,c,第一字符串,第一标识),其中,k
c
为认证加密密钥,k为共享密钥,c为第二新鲜性参数,第一字符串的介绍可以参考上述方式3.3中所述,不予赘述。第一标识可以用于标识生成该认证加密密钥所使用的kdf,例如,该第一标识可以是第一kdf的标识。
[0205]
可以理解的,第一标识可以包括数字和/或字符。方式3.4中的第一字符串可以为可选的参数。
[0206]
方式3.5,第一节点根据共享密钥和第二新鲜性参数得到第一中间密钥;第一节点根据第一中间密钥,以及第一标识和第一字符串中的至少一项得到认证加密密钥。示例性的,第一节点以共享密钥和第二新鲜性参数作为kdf1的输入得到第一中间密钥,即k
mid1
=kdf1(k,c);第一节点以第一中间密钥、第一标识和第一字符串作为kdf2的输入得到认证加密密钥,即k
c
=kdf2(k
mid1
,第一标识,第一字符串),其中,k
mid1
为第一中间密钥,k为共享密钥,c为第二新鲜性参数,k
c
为认证加密密钥,第一字符串的介绍可以参考上述方式3.3中所述,第一标识的介绍可以参考上述方式3.4中所述,不予赘述。
[0207]
其中,kdf1和kdf2可以包括在至少一个第一kdf中。kdf1和kdf2可以相同或者不同。例如,若至少一个第一kdf包括一个kdf,kdf1和kdf2相同;若至少一个第一kdf包括两个或者两个以上的kdf,kdf1和kdf2不相同。
[0208]
可以理解的,这里是为了更清楚的阐述方案以两个步骤的方式解释如何得到认证加密密钥,在实际的处理中,也可以是通过一个步骤完成,第一中间密钥只是一个中间的结果,即确定认证加密密钥的方式满足:k
c
=kdf2(kdf1(k,c),第一算法,第一字符串)。
[0209]
可选的,上述方式中的共享密钥预置在第一节点中,或者,上述方式中的共享密钥是在步骤401之前第一节点计算得到的。
[0210]
进一步的,第二mac是根据认证加密算法、加密信息、第二通信信息和认证加密密钥得到的。例如,第一节点以加密信息、第二通信信息和认证加密密钥作为认证加密算法的输入,得到该第二mac。
[0211]
步骤402:第二节点根据至少一个第一kdf得到认证加密密钥。
[0212]
第二节点根据至少一个第一kdf得到认证加密密钥的具体过程,可以参考步骤401中第一节点根据至少一个第一kdf得到认证加密密钥的对应介绍,不予赘述。
[0213]
步骤403:第二节点根据认证加密算法、加密信息和第二通信信息,得到第四mac。
[0214]
进一步的,第二节点根据认证加密算法、加密信息、第二通信信息和认证加密密钥,得到第四mac。例如,第二节点以加密信息、第二通信信息和认证加密密钥作为认证加密算法的输入,得到第四mac。
[0215]
可以理解的,第二节点还可以对加密信息和第二通信信息中的部分信息进行完整性保护。例如,第二节点根据加密信息和第二通信信息中的部分信息、认证加密算法,和认证加密密钥,得到第四mac。
[0216]
步骤404:若第四mac与第二mac相同,第二节点通过认证加密算法对加密信息解密。
[0217]
可选的,若第四mac与第二mac相同,表示第一通信信息未被修改,第二节点通过认证加密密钥对加密信息进行解密,得到第一通信信息。
[0218]
可选的,若第四mac与第二mac不相同,表示第一通信信息被修改,第二节点丢弃第
一信息。第二节点可以再次执行步骤301,或者,第二节点可以指示第一节点重新确定至少一个第一算法和第一kdf。
[0219]
可以理解的,若第一通信信息包括用于指示一个或多个算法以及一个或多个kdf的指示信息时,第二节点得到第一通信信息后,还可以验证第一通信信息包括的一个或多个算法以及一个或多个kdf与第一算法协商请求信息包括的一个或多个算法以及一个或多个kdf是否相同。若相同,则表示第一算法协商请求信息未被修改,第一节点和第二节点的通信环境安全。若不相同,则表示第一算法协商请求信息被修改,第一节点和第二节点的通信环境不安全。
[0220]
可以理解的,若第一通信信息包括第一验证信息时,第二节点得到第一通信信息后,通过第一验证信息验证第一算法协商请求信息是否被修改。若第一算法协商请求信息未被修改,则第一节点和第二节点的通信环境安全,若第一算法协商请求信息被修改,则第一节点和第二节点的通信环境不安全。
[0221]
基于图4所示的方法,若至少一个第一算法包括认证加密算法,第一节点和第二节点可以根据至少一个第一kdf得到认证加密密钥。后续,第一节点可以通过认证加密密钥对第一通信信息进行加密,得到加密信息,根据认证加密算法、加密信息、第二通信信息和认证加密密钥得到第二mac,通过第二mac对第一信息进行完整性保护。第二节点可以根据认证加密算法、加密信息、第二通信信息和认证加密密钥得到第四mac,通过第四mac验证第一信息的完整性。如此,第一节点和第二节点通信时,可以通过认证加密算法对第一通信信息加密,还可以通过认证加密算法对第一信息进行完整性保护,所以可以提高第一节点与第二节点通信的安全性。
[0222]
可选的,在图3所示方法的第二种可能的实施方式中,第一信息包括加密信息、第二通信信息和第二mac。当至少一个第一算法包括加密算法和完整性保护算法,加密信息是对第一通信信息通过加密算法进行加密处理后得到的,第二mac是对加密信息和第二通信信息通过完整性保护算法进行完整性保护得到的。第二节点接收到第一信息后,可以根据完整性保护算法、加密信息和第二通信信息,得到第四mac,并通过第四mac验证第一信息的完整性。具体的,如图5所示,图3所示的方法还包括步骤501

步骤504。
[0223]
步骤501:第一节点根据至少一个第一kdf,得到加密密钥和完整性保护密钥。
[0224]
其中,加密密钥可以用于加密第一通信信息,或者加密密钥可以用于解密加密信息。完整性保护密钥可以用于对第二通信信息和加密信息进行完整性保护,或者完整性保护密钥可以用于验证第二通信信息和加密信息的完整性。
[0225]
其中,第一节点可以通过下述任一种方式得到加密密钥和完整性保护密钥。
[0226]
方式4.1,第一节点以共享密钥作为第一kdf的输入,得到加密密钥和完整性保护密钥,即k
enc
=第一kdf(k),k
int
=第一kdf(k),其中,k
enc
为加密密钥,k为共享密钥,k
int
为完整性保护密钥。
[0227]
方式4.2,第一节点以共享密钥和第二新鲜性参数作为第一kdf的输入,得到加密密钥和完整性保护密钥,即k
enc
=第一kdf(k,c),k
int
=第一kdf(k,c),其中,k
enc
为加密密钥,k为共享密钥,c为第二新鲜性参数,k
int
为完整性保护密钥。
[0228]
方式4.3,第一节点以共享密钥、第二新鲜性参数和第二字符串作为第一kdf的输入,得到加密密钥,即k
enc
=第一kdf(k,c,第二字符串)。第一节点以共享密钥、第二新鲜性
参数和第三字符串作为第一kdf的输入,得到完整性保护密钥,即k
int
=第一kdf(k,c,第三字符串),其中,k
enc
为加密密钥,k为共享密钥,c为第二新鲜性参数,k
int
为完整性保护密钥。第二字符串可以用于标识加密算法,例如,若至少一个第一算法为信令面的加密算法时,第二字符串可以为“signalling enc”。第三字符串可以用于标识完整性保护算法,例如,若至少一个第一算法为信令面的完整性保护算法时,第三字符串可以为“signalling int”。
[0229]
方式4.4,第一节点以共享密钥、第二新鲜性参数、第二字符串和第二标识作为第一kdf的输入,得到加密密钥,即k
enc
=第一kdf(k,c,第二字符串,第二标识)。第一节点以共享密钥、第二新鲜性参数、第三字符串和第三标识作为第一kdf的输入,得到完整性保护密钥,即k
int
=第一kdf(k,c,第三字符串,第三标识),其中,k
enc
为加密密钥,k为共享密钥,c为第二新鲜性参数,k
int
为完整性保护密钥,第二字符串和第三字符串的介绍可以参考上述方式3.3中所述,不予赘述。第二标识可以用于标识生成该加密密钥所使用的kdf,例如,该第二标识可以是生成该加密密钥的第一kdf的标识。第三标识可以用于标识生成该完整性保护密钥所使用的kdf,例如,该第三标识可以是生成该完整性保护密钥的第一kdf的标识。
[0230]
可以理解的,第二标识或第三标识可以包括数字和/或字符。方式4.4中的第二字符串和第三字符串可以为可选的参数。
[0231]
方式4.5,第一节点根据共享密钥和第二新鲜性参数得到第二中间密钥;第一节点根据第二中间密钥,以及第二标识和第二字符串中的至少一项得到加密密钥。示例性的,第一节点以共享密钥和第二新鲜性参数作为kdf3的输入得到第二中间密钥,即k
mid2
=kdf1(k,c);第一节点以第二中间密钥、第二标识和第二字符串作为kdf4的输入得到加密密钥,即k
enc
=kdf2(k
mid2
,第二标识,第二字符串)。第一节点根据共享密钥和第二新鲜性参数得到第三中间密钥;第一节点根据第三中间密钥,以及第三标识和第三字符串中的至少一项得到完整性保护密钥。示例性的,第一节点以共享密钥和第二新鲜性参数作为kdf5的输入得到第三中间密钥,即k
mid3
=kdf1(k,c);第一节点以第三中间密钥、第三标识和第三字符串作为kdf6的输入得到完整性保护密钥,即k
int
=kdf2(k
mid3
,第三标识,第三字符串)。
[0232]
其中,k
mid2
为第二中间密钥,k为共享密钥,c为第二新鲜性参数,k
enc
为加密密钥,k
mid3
为第三中间密钥,k
int
为完整性保护密钥,第二字符串和第三字符串的介绍可以参考上述方式4.3中所述,第二标识和第三标识的介绍可以参考上述方式4.4中所述,不予赘述。
[0233]
其中,kdf3、kdf4、kdf5和kdf6可以包括在至少一个第一kdf中。kdf3和kdf4可以相同或者不同。kdf5和kdf6可以相同或者不同。
[0234]
可以理解的,这里是为了更清楚的阐述方案以两个步骤的方式解释如何得到加密密钥和完整性保护密钥,在实际的处理中,也可以是通过一个步骤完成,第二中间密钥和第三中间密钥只是一个中间的结果,即确定加密密钥的方式满足:k
enc
=kdf4(kdf3(k,c),第二算法,第二字符串),确定完整性保护密钥的方式满足:k
int
=kdf6(kdf5(k,c),第三算法,第三字符串)。
[0235]
可选的,上述方式中的共享密钥预置在第一节点中,或者,上述方式中的共享密钥是在步骤501之前第一节点计算得到的。
[0236]
可选的,上述方式中,生成加密密钥的第一kdf和生成完整性保护密钥的第一kdf相同或不同。示例性的,至少一个第一kdf包括一个kdf,生成加密密钥的第一kdf和生成完整性保护密钥的第一kdf相同;至少一个第一kdf包括多个kdf,生成加密密钥的第一kdf和
生成完整性保护密钥的第一kdf不同。
[0237]
进一步的,第二mac是根据完整性保护算法、加密信息、第二通信信息和完整性保护密钥得到的。例如,第一节点以加密信息、第二通信信息和完整性保护密钥作为完整性保护算法的输入,得到该第二mac。
[0238]
步骤502:第二节点根据至少一个第一kdf得到加密密钥和完整性保护密钥。
[0239]
第二节点根据至少一个第一kdf得到加密密钥和完整性保护密钥的具体过程,可以参考步骤501中第一节点根据至少一个第一kdf得到加密密钥和完整性保护密钥的对应介绍,不予赘述。
[0240]
步骤503:第二节点根据完整性保护算法、加密信息和第二通信信息,得到第四mac。
[0241]
进一步的,第二节点根据完整性保护算法、加密信息、第二通信信息和完整性保护密钥,得到第四mac。例如,第二节点以加密信息、第二通信信息和完整性保护密钥作为完整性保护算法的输入,得到第四mac。
[0242]
可以理解的,第二节点还可以对加密信息和第二通信信息中的部分信息进行完整性保护。例如,第二节点根据加密信息和第二通信信息中的部分信息、完整性保护算法,和完整性保护密钥,得到第四mac。
[0243]
步骤504:若第四mac与第二mac相同,第二节点通过加密算法对加密信息进行解密。
[0244]
可选的,若第四mac与第二mac相同,表示第一通信信息未被修改,第二节点通过加密密钥对加密信息进行解密,得到第一通信信息。
[0245]
可选的,若第四mac与第二mac不相同,表示第一通信信息被修改,第二节点丢弃第一信息。第二节点可以再次执行步骤301,或者,第二节点可以指示第一节点重新确定至少一个第一算法和第一kdf。
[0246]
可以理解的,若第一通信信息包括用于指示一个或多个算法以及一个或多个kdf的指示信息时,第二节点得到第一通信信息后,还可以验证第一通信信息包括的一个或多个算法以及一个或多个kdf与第一算法协商请求信息包括的一个或多个算法以及一个或多个kdf是否相同。若相同,则表示第一算法协商请求信息未被修改,第一节点和第二节点的通信环境安全。若不相同,则表示第一算法协商请求信息被修改,第一节点和第二节点的通信环境不安全。
[0247]
可以理解的,若第一通信信息包括第一验证信息时,第二节点得到第一通信信息后,通过第一验证信息验证第一算法协商请求信息是否被修改。若第一算法协商请求信息未被修改,则第一节点和第二节点的通信环境安全,若第一算法协商请求信息被修改,则第一节点和第二节点的通信环境不安全。
[0248]
基于图5所示的方法,当至少一个第一算法包括加密算法和完整性保护算法,第一节点和第二节点可以根据至少一个第一kdf得到加密密钥和完整性保护密钥。后续,第一节点可以通过加密密钥对第一通信信息进行加密,得到加密信息,根据完整性保护算法、加密信息、第二通信信息和完整性保护密钥得到第二mac,通过第二mac对第一信息进行完整性保护。第二节点可以根据完整性保护算法、加密信息、第二通信信息和完整性保护密钥得到第四mac,通过第四mac验证第一信息的完整性。如此,第一节点和第二节点通信时,可以通
过加密算法对第一通信信息加密,还可以通过完整性保护算法对第一信息进行完整性保护,所以可以提高第一节点与第二节点通信的安全性。
[0249]
可选的,在图3所示方法的第三种可能的实施方式中,第一信息包括第二信息和第一mac。当至少一个第一算法包括加密算法和完整性保护算法,第一mac是对第二信息,通过完整性保护算法进行完整性保护得到的。第二节点接收到第一信息后,可以根据完整性保护算法、第二信息和完整性保护密钥得到第三mac,并通过第三mac验证第一信息的完整性。具体的,如图6所示,图3所示的方法还包括步骤601

步骤603。
[0250]
步骤601:第一节点根据至少一个第一kdf,得到完整性保护密钥。
[0251]
步骤601的具体过程可以参考上述步骤501中对应的描述,不予赘述。
[0252]
进一步的,第一mac是根据完整性保护算法、第二信息和完整性保护密钥得到的。例如,第一节点以第二信息和完整性保护密钥作为完整性保护算法的输入,得到第一mac。
[0253]
可选的,第一节点根据至少一个第一kdf得到加密密钥,以便后续第一节点和第二节点通过加密密钥对第一节点和第二节点之间的通信信息进行加密或解密,提高第一节点和第二节点之间通信的安全性。第一节点根据至少一个第一kdf得到加密密钥的过程,可以参考上述步骤501中对应的描述,不予赘述。
[0254]
步骤602:第二节点根据至少一个第一kdf,得到完整性保护密钥。
[0255]
步骤602的具体过程可以参考上述步骤502中对应的描述,不予赘述。
[0256]
可选的,第二节点根据至少一个kdf得到加密密钥。第二节点根据至少一个第一kdf得到加密密钥的过程,可以参考上述步骤502中对应的描述,不予赘述。
[0257]
步骤603:第二节点根据完整性保护算法和第二信息,得到第三mac。
[0258]
其中,第三mac可以用于验证第二信息的完整性。
[0259]
进一步的,第二节点根据完整性保护算法、第二信息和完整性保护密钥,得到第三mac。例如,第二节点以第二信息和完整性保护密钥作为完整性保护算法的输入,得到第三mac。
[0260]
可以理解的,第二节点还可以对第二信息中的部分信息进行完整性保护。例如,第二节点根据第二信息中的部分信息、完整性保护算法,和完整性保护密钥,得到第三mac。
[0261]
需要说明的是,若第三mac与第一mac相同,则表示第二信息未被修改,第二节点和第一节点可以采用至少一个第一算法和至少一个第一kdf进行通信。若第三mac与第一mac不相同,则表示第一信息被修改,第二节点可以再次执行步骤301,或者,第二节点可以指示第一节点重新确定至少一个第一算法和第一kdf。
[0262]
可以理解的,若第一通信信息包括用于指示一个或多个算法以及一个或多个kdf的指示信息时,第二节点得到第一通信信息后,还可以验证第一通信信息包括的一个或多个算法以及一个或多个kdf与第一算法协商请求信息包括的一个或多个算法以及一个或多个kdf是否相同。若相同,则表示第一算法协商请求信息未被修改,第一节点和第二节点的通信环境安全。若不相同,则表示第一算法协商请求信息被修改,第一节点和第二节点的通信环境不安全。
[0263]
可以理解的,若第一通信信息包括第一验证信息,第二节点得到第一通信信息后,通过第一验证信息验证第一算法协商请求信息是否被修改。若第一算法协商请求信息未被修改,则第一节点和第二节点的通信环境安全,若第一算法协商请求信息被修改,则第一节
点和第二节点的通信环境不安全。
[0264]
基于图6所示的方法,当至少一个第一算法包括加密算法和完整性保护算法,第一节点和第二节点可以根据至少一个第一kdf得到加密密钥和完整性保护密钥。后续,第一节点可以根据完整性保护算法、第二信息和完整性保护密钥得到第一mac,并通过第一mac对第一信息进行完整性保护。第二节点可以根据完整性保护算法、第二信息和完整性保护密钥得到第三mac,并通过第三mac验证第一信息的完整性。如此,第一节点和第二节点通信时,可以通过完整性保护算法对第一信息进行完整性保护,所以可以提高第一节点与第二节点通信的安全性。
[0265]
可选的,在图3所示方法的第四种可能的实施方式中,第一信息包括第二信息和第一mac。当至少一个第一算法包括认证加密算法,第一mac是对第二信息,通过认证加密算法进行完整性保护得到的。第二节点接收到第一信息后,可以根据认证加密算法、第二信息和认证加密密钥得到第三mac,并通过第三mac验证第一信息的完整性。具体的,如图7所示,图3所示的方法还包括步骤701

步骤703。
[0266]
步骤701:第一节点根据至少一个第一kdf,得到认证加密密钥。
[0267]
步骤701的具体过程可以参考上述步骤401中对应的描述,不予赘述。
[0268]
进一步的,第一mac是根据认证加密算法、第二信息和认证加密密钥得到的。例如,第一节点以第二信息和认证加密密钥作为认证加密算法的输入,得到第一mac。
[0269]
步骤702:第二节点根据至少一个第一kdf,得到认证加密密钥。
[0270]
步骤702的具体过程可以参考上述步骤402中对应的描述,不予赘述。
[0271]
步骤703:第二节点根据认证加密算法和第二信息,得到第三mac。
[0272]
其中,第三mac可以用于验证第二信息的完整性。
[0273]
进一步的,第二节点根据认证加密算法、第二信息和认证加密密钥,得到第三mac。例如,第二节点以第二信息和认证加密密钥作为认证加密算法的输入,得到第三mac。
[0274]
可以理解的,第二节点还可以对第二信息中的部分信息进行完整性保护。例如,第二节点根据第二信息中的部分信息、认证加密算法,和认证加密密钥,得到第三mac。
[0275]
需要说明的是,若第三mac与第一mac相同,则表示第二信息未被修改,第二节点和第一节点可以采用至少一个第一算法和至少一个第一kdf进行通信。若第三mac与第一mac不相同,则表示第一信息被修改,第二节点可以再次执行步骤301,或者,第二节点可以指示第一节点重新确定至少一个第一算法和第一kdf。
[0276]
可以理解的,若第一通信信息包括用于指示一个或多个算法以及一个或多个kdf的指示信息时的情况,以及第一通信信息包括第一验证信息时的情况,可以参考上述图6所述方法中所述,不予赘述。
[0277]
基于图7所示的方法,当至少一个第一算法包括认证加密算法,第一节点和第二节点可以根据至少一个第一kdf得到认证加密密钥。后续,第一节点可以根据认证加密算法、第二信息和认证加密密钥得到第一mac,并通过第一mac对第一信息进行完整性保护。第二节点可以根据认证加密算法、第二信息和认证加密密钥得到第三mac,并通过第三mac验证第一信息的完整性。如此,第一节点和第二节点通信时,可以通过认证加密算法对第一信息进行完整性保护,所以可以提高第一节点与第二节点通信的安全性。
[0278]
可以理解的,在图3所示方法、图4所示方法、图5所示方法或图6所示方法的步骤
301之前,第二节点可以多次向第一节点发送一个或多个算法和一个或多个kdf的指示信息,以便第一节点从多次发送的指示信息中确定至少一个第一算法和至少一个第一kdf。下面以图3所示方法为例,介绍上述过程。
[0279]
可选的,如图8所示,在图3所示方法的第五种可能的实施方式中,图3所示的方法还包括步骤801

步骤802。
[0280]
步骤801:第二节点向第一节点发送第二算法协商请求信息。
[0281]
其中,第二算法协商请求信息可以用于指示一个或多个算法和一个或多个kdf。
[0282]
可选的,第二算法协商请求信息指示的一个或多个算法不同于第一算法协商请求信息指示的一个或多个算法。例如,第二算法协商请求信息指示的一个或多个算法,和第一算法协商请求信息指示的一个或多个算法完全不相同;或者,第二算法协商请求信息指示的一个或多个算法,和第一算法协商请求信息指示的一个或多个算法不完全相同。第二算法协商请求信息指示的一个或多个kdf不同于第一算法协商请求信息指示的一个或多个kdf。例如,第二算法协商请求信息指示的一个或多个kdf,和第一算法协商请求信息指示的一个或多个kdf完全不相同;或者,第二算法协商请求信息指示的一个或多个kdf,和第一算法协商请求信息指示的一个或多个kdf不完全相同。
[0283]
可选的,第二算法协商请求信息还包括第二节点的标识和第三新鲜性参数。其中,第二节点的标识可以用于标识该第二节点。该第三新鲜性参数是与第二算法协商请求信息的时效性相关的参数。例如,该第三新鲜性参数包括第二节点中计数器的值或第三随机数。该计数器的值可以是第二节点确定发送第二算法协商请求信息时,第二节点的计数器的值,该计数器可以用于记录第一节点和第二节点的通信次数。该第三随机数可以是第二节点确定发送第二算法协商请求信息时,第二节点生成的随机数。
[0284]
步骤801的具体过程可以参考上述步骤301中第二节点向第一节点发送第一算法协商请求信息中对应的描述,不予赘述。
[0285]
步骤802:第一节点接收来自第二节点的第二算法协商请求信息,并向第二节点发送第三信息。
[0286]
其中,第三信息可以用于指示不支持或不适用第二算法协商请求信息指示的一个或多个算法和一个或多个kdf。
[0287]
可以理解的,当第一节点指示不支持或不适用第二节点指示的一个或多个算法和一个或多个kdf时,第二节点可以再次执行步骤801,直至第一节点根据第二节点指示的一个或多个算法和一个或多个kdf确定出至少一个第一算法和至少一个第一kdf。
[0288]
可以理解的,步骤801和步骤802除了在图3所示的方法的步骤301之前执行之外,也可以在图4、图5、图6或图7所示方法的步骤301之前执行,不予限制。
[0289]
基于图8所示的方法,第二节点在第一节点确定至少一个第一算法和至少一个第一kdf之前,可以多次向第一节点发送一个或多个算法和一个或多个kdf的指示信息。如此,第二节点可以通过多次向第一节点发送一个或多个算法和一个或多个kdf的指示信息,和第一节点协商第一节点和第二节点之间采用的算法以及kdf。
[0290]
上述主要从第一节点和第二节点之间交互的角度对本技术实施例提供的方案进行了介绍。可以理解的是,上述第一节点或者第二节点等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中
所公开的实施例描述的各示例的单元及算法操作,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0291]
本技术实施例可以根据上述方法示例对第一节点或第二节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0292]
比如,以采用集成的方式划分各个功能模块的情况下,图9示出了一种通信装置的结构示意图。该通信装置可以为第一节点或者第一节点中的芯片或者片上系统,该通信装置可以用于执行上述实施例中涉及的第一节点的功能。
[0293]
作为一种可能的实现方式,图9所示的通信装置包括:接收模块901、处理模块902和发送模块903。
[0294]
接收模块901,用于接收来自第二节点的第一算法协商请求信息,该第一算法协商请求信息用于指示一个或多个算法和一个或多个kdf。
[0295]
处理模块902,用于确定该一个或多个算法中的至少一个第一算法和该一个或多个kdf中的至少一个第一kdf。
[0296]
发送模块903,用于向该第二节点发送第一信息,该第一信息用于指示该至少一个第一算法以及该至少一个第一kdf。
[0297]
可选的,该一个或多个算法包括加密算法,和/或,完整性保护算法,和/或,认证加密算法。
[0298]
可选的,该第一信息是通过该至少一个第一算法进行完整性保护。
[0299]
可选的,该第一信息包括第二信息和第一消息认证码mac,其中:该第二信息用于指示该至少一个第一算法以及该至少一个第一kdf,该第一mac是对该第二信息进行完整性保护得到的。
[0300]
可选的,该至少一个第一算法包括完整性保护算法,该第一mac是对该第二信息,通过该完整性保护算法进行完整性保护得到的;或者,该至少一个第一算法包括该认证加密算法,该第一mac是对该第二信息,通过该认证加密算法进行完整性保护得到的。
[0301]
可选的,该第二信息还包括第一新鲜性参数和第一验证信息,该第一新鲜性参数是与该第一信息的时效性相关的参数,该第一验证信息是根据该第一算法协商请求信息、预置的共享密钥、该第一新鲜性参数和该第一kdf得到的。
[0302]
可选的,该第一信息包括加密信息、第二通信信息和第二消息认证码mac,其中:该加密信息是对第一通信信息进行加密处理后得到的,该第一通信信息不指示该至少一个第一算法或该至少一个第一kdf中至少一个,该第二通信信息用于指示该至少一个第一算法或该至少一个第一kdf中至少一个;该第二mac是对该加密信息和该第二通信信息进行完整性保护得到的。
[0303]
可选的,该至少一个第一算法包括加密算法和完整性保护算法;该加密信息是对该第一通信信息通过该加密算法进行加密处理后得到的;该第二mac是对该加密信息和该
第二通信信息通过该完整性保护算法进行完整性保护得到的。
[0304]
可选的,该至少一个第一算法包括认证加密算法;该加密信息是对该第一通信信息通过该认证加密算法进行加密处理后得到的;该第二mac是对该加密信息和该第二通信信息通过该认证加密算法进行完整性保护得到的。
[0305]
可选的,该至少一个第一算法为该一个或多个算法中,该通信装置支持的优先级最高的算法;该至少一个第一kdf为该一个或多个kdf中、该通信装置支持的优先级最高的kdf。
[0306]
可选的,第一算法协商请求信息还包括第二新鲜性参数,该第二新鲜性参数是与该第一算法协商请求信息的时效性相关的参数,接收模块901,还用于接收来自该第二节点第二验证信息;其中,该第二验证信息是根据该第一信息、预置的共享密钥、该第二新鲜性参数和该第一kdf得到的;处理模块902,还用于根据该第一信息、该预置的共享密钥、该第二新鲜性参数和该第一kdf验证该第二验证信息。
[0307]
可选的,接收模块901,还用于接收来自该第二节点的第二算法协商请求信息,该第二算法协商请求信息用于指示一个或多个算法和一个或多个kdf;发送模块903,还用于向该第二节点发送第三信息,该第三信息用于指示不支持或者不适用该第二算法协商请求信息指示的该一个或多个算法和该一个或多个kdf。
[0308]
可选的,该第二算法协商请求信息指示的一个或多个算法不同于该第一算法协商请求信息指示的一个或多个算法;该第二算法协商请求信息指示的一个或多个kdf不同于该第一算法协商请求信息指示的一个或多个kdf。
[0309]
其中,上述方法实施例涉及的各操作的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0310]
在本实施例中,该通信装置以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定asic,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到该通信装置可以采用图2所示的形式。
[0311]
比如,图2中的处理器201可以通过调用存储器203中存储的计算机执行指令,使得通信装置执行上述方法实施例中的通信方法。
[0312]
示例性的,图9中的接收模块901、处理模块902和发送模块903的功能/实现过程可以通过图2中的处理器201调用存储器203中存储的计算机执行指令来实现。或者,图9中的处理模块902的功能/实现过程可以通过图2中的处理器201调用存储器203中存储的计算机执行指令来实现,图9中的接收模块901和发送模块903的功能/实现过程可以通过图2中的通信接口204来实现。
[0313]
由于本实施例提供的通信装置可执行上述的通信方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
[0314]
比如,以采用集成的方式划分各个功能模块的情况下,图10示出了一种通信装置的结构示意图。该通信装置可以为第二节点或者第二节点中的芯片或者片上系统,该通信装置可以用于执行上述实施例中涉及的第二节点的功能。
[0315]
作为一种可能的实现方式,图10所示的通信装置包括:发送模块1001和接收模块1002。
[0316]
发送模块1001,用于向第一节点发送第一算法协商请求信息,该第一算法协商请求信息用于指示一个或多个算法和一个或多个kdf。
[0317]
接收模块1002,用于接收来自该第一节点的第一信息,其中,该第一信息用于指示该一个或多个算法中的至少一个第一算法和该一个或多个kdf中的至少一个第一kdf。
[0318]
可选的,该一个或多个算法包括加密算法,和/或,完整性保护算法,和/或,认证加密算法。
[0319]
可选的,该第一信息是通过该至少一个第一算法进行完整性保护。
[0320]
可选的,该第一信息包括第二信息和第一消息验证码mac,其中:该第二信息用于指示该至少一个第一算法以及该至少一个第一kdf,该第一mac是对该第二信息进行完整性保护得到的。
[0321]
可选的,如图11所示,该通信装置还包括处理模块1003;该至少一个第一算法包括完整性保护算法,该第一mac是对该第二信息,通过该完整性保护算法进行完整性保护得到的;处理模块1003,用于根据该完整性保护算法和该第二信息,得到第三mac,该第三mac用于验证该第二信息的完整性;或者,该至少一个第一算法包括认证加密算法,该第一mac是对该第二信息,通过该认证加密算法进行完整性保护得到的;处理模块1003,用于根据该认证加密算法和该第二信息,得到第三mac,该第三mac用于验证该第二信息的完整性。
[0322]
可选的,该第二信息还包括第一新鲜性参数和第一验证信息,该第一新鲜性参数是与该第一信息的时效性相关的参数,该第一验证信息是根据该第一算法协商请求信息、预置的共享密钥、该第一新鲜性参数和该第一kdf得到的。
[0323]
可选的,该第一信息包括加密信息、第二通信信息和第二消息认证码mac,其中:该加密信息是对第一通信信息进行加密处理后得到的,该第一通信信息不指示该至少一个第一算法或该至少一个第一kdf中至少一个,该第二通信信息用于指示该至少一个第一算法或该至少一个第一kdf中至少一个;该第二mac是对该加密信息和该第二通信信息进行完整性保护得到的。
[0324]
可选的,该至少一个第一算法包括加密算法和完整性保护算法,该加密信息是对该第一通信信息通过该加密算法进行加密处理后得到的;该第二mac是对该加密信息和该第二通信信息通过该完整性保护算法进行完整性保护得到的;处理模块1003,用于根据该完整性保护算法、该加密信息和该第二通信信息,得到第四mac;处理模块1003,还用于若该第四mac与该第二mac相同,通过该加密算法对该加密信息进行解密。
[0325]
可选的,该至少一个第一算法包括认证加密算法,该加密信息是对该第一通信信息通过该认证加密算法进行加密处理后得到的;该第二mac是对该加密信息和该第二通信信息通过该认证加密算法进行完整性保护得到的;处理模块1003,用于根据该认证加密算法、该加密信息和该第二通信信息,得到第四mac;处理模块1003,还用于若该第四mac与该第二mac相同,通过该认证加密算法对该加密信息解密。
[0326]
可选的,该至少一个第一算法为该一个或多个算法中,该第一节点支持的优先级最的算法;该至少一个第一kdf为该一个或多个kdf中、该第一节点支持的优先级最高的kdf。
[0327]
可选的,第一算法协商请求信息还包括第二新鲜性参数,该第二新鲜性参数是与该第一算法协商请求信息的时效性相关的参数,发送模块1001,还用于向该第一节点发送
第二验证信息;其中,该第二验证信息是根据该第一信息、预置的共享密钥、该第二新鲜性参数和该第一kdf得到的。
[0328]
可选的,发送模块1001,还用于向该第一节点发送第二算法协商请求信息,该第二算法协商请求信息用于指示一个或多个算法和一个或多个kdf;接收模块1002,还用于接收来自该第一节点的第三信息,该第三信息用于指示不支持或者不适用该第二算法协商请求信息指示的该一个或多个算法和该一个或多个kdf。
[0329]
可选的,该第二算法协商请求信息指示的一个或多个算法不同于该第一算法协商请求信息指示的一个或多个算法;该第二算法协商请求信息指示的一个或多个kdf不同于该第一算法协商请求信息指示的一个或多个kdf。
[0330]
其中,上述方法实施例涉及的各操作的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0331]
在本实施例中,该通信装置以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定asic,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到该通信装置可以采用图2所示的形式。
[0332]
比如,图2中的处理器201可以通过调用存储器203中存储的计算机执行指令,使得通信装置执行上述方法实施例中的通信方法。
[0333]
示例性的,图11中的发送模块1001、接收模块1002和处理模块1003的功能/实现过程可以通过图2中的处理器201调用存储器203中存储的计算机执行指令来实现。或者,图11中的处理模块1003的功能/实现过程可以通过图2中的处理器201调用存储器203中存储的计算机执行指令来实现,图11中的发送模块1001和接收模块1002的功能/实现过程可以通过图2中的通信接口204来实现。
[0334]
由于本实施例提供的通信装置可执行上述的通信方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
[0335]
图12示出了的一种通信系统的组成示意图,如图12所示,该通信系统120中可以包括:节点1201和节点1202。需要说明的是,图12仅为示例性附图,本技术实施例不限定图12所示通信系统120包括的节点以及节点的个数。
[0336]
其中,节点1201具有上述图9所示通信装置的功能,用于接收来自第二节点的第一算法协商请求信息,确定该一个或多个算法中的至少一个第一算法和该一个或多个kdf中的至少一个第一kdf,并向该第二节点发送第一信息。
[0337]
节点1202具有上述图10或图11所示通信装置的功能,可以用于向第一节点发送第一算法协商请求信息,并接收来自该第一节点的第一信息。
[0338]
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到该通信系统120对应节点的功能描述,在此不再赘述。
[0339]
图13为本技术实施例提供的一种芯片的结构示意图。芯片130包括一个或多个处理器1301以及接口电路1302。可选的,所述芯片130还可以包含总线1303。其中:
[0340]
处理器1301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1301可以是通用处理器、数字通信器(dsp)、专用集成电路(asic)、现场可编程
门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0341]
接口电路1302用于数据、指令或者信息的发送或者接收。处理器1301可以利用接口电路1302接收的数据、指令或者其它信息,进行加工,可以将加工完成信息通过接口电路1302发送出去。
[0342]
可选的,芯片130还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(nvram)。
[0343]
可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
[0344]
可选的,芯片130可以使用在本技术实施例涉及的通信装置(包括第一节点和第二节点)中。可选的,接口电路1302可用于输出处理器1301的执行结果。关于本技术的一个或多个实施例提供的通信方法可参考前述各个实施例,这里不再赘述。
[0345]
需要说明的,处理器1301、接口电路1302各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
[0346]
本技术实施例还提供一种智能座舱产品,所述智能座舱产品包括上述第一节点和/或上述第二节点。
[0347]
本技术实施例还提供一种智能设备或者运输工具,所述车辆包括第一节点和/或第二节点。具体的,所述智能设备可以为机器人等,所述运输工具可以为智能汽车、无人机或无人运输车等。
[0348]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0349]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0350]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0351]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0352]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0353]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1