本技術涉及通信,尤其涉及短距通信,例如智能汽車、智能家居、智能終端和智能制造等場景中的通信等。具體涉及一種通信方法及相關裝置。
背景技術:
1、隨著通信技術的不斷發(fā)展,智能家居、智能座艙、智能駕駛、智能制造、智能運輸?shù)戎悄軕脠鼍皯\而生。在這些場景中,安全性都是通信過程中必須要考慮的問題。尤其對于無線傳輸?shù)膱鼍埃瑑蓚€節(jié)點之間需要先在一片復雜的空間中感知到自己需要通信的節(jié)點,在感知到對端以后建立無線連接從而實現(xiàn)數(shù)據(jù)的傳輸。
2、為確保節(jié)點之間數(shù)據(jù)的傳輸安全及存儲安全,節(jié)點通常都會對傳輸?shù)臄?shù)據(jù)加密后存儲或傳輸,接收方的節(jié)點接收到數(shù)據(jù)后解密密文,還原明文。但是,加密所使用的密通常在節(jié)點接入另一節(jié)點的過程中通過密鑰協(xié)商得到密鑰。但是,在節(jié)點成功接入另一個節(jié)點之前,節(jié)點或另一個節(jié)點傳輸?shù)南⑷匀皇敲魑牡模@使得兩個節(jié)點之間在未協(xié)商得到密鑰之前所傳輸?shù)南⑷匀痪哂行孤兜娘L險,影響網(wǎng)絡連接的安全性以及節(jié)點本身的數(shù)據(jù)安全性。
3、因此,如何提高節(jié)點之間的通信安全性的是本領域技術人員正在研究的問題。
技術實現(xiàn)思路
1、本技術提供了一種通信方法及相關裝置,能夠提升節(jié)點之間的通信安全性。
2、第一方面,本技術提供一種通信方法,該方法包括:生成第一消息,第一消息包含密鑰信息,密鑰信息與第一密鑰相關聯(lián)。廣播發(fā)送第一消息。其中,第一密鑰用于對至少一個第二消息進行安全保護,至少一個第二消息為在第一消息之后傳輸?shù)摹⑴c第一節(jié)點相關的消息。其中,傳輸可以包含發(fā)送(包含轉發(fā)等)、或接收(包含監(jiān)聽等)等。示例性的,與第一節(jié)點相關的消息包含由第一節(jié)點發(fā)送的消息和/或第一節(jié)點接收的消息。
3、該通信方法可以應用于第一節(jié)點,例如由第一節(jié)點中的硬件模塊和/或軟件模塊執(zhí)行。
4、本技術中,第一節(jié)點廣播與第一密鑰關聯(lián)的密鑰信息,相當于對外告知了獲取第一密鑰的線索,第一節(jié)點后續(xù)可以基于第一密鑰對第一節(jié)點向外發(fā)送的消息進行安全保護。而接收到第一消息的其他節(jié)點,可以根據(jù)密鑰信息確定第一密鑰,這些節(jié)點若需要向第一節(jié)點發(fā)送消息,也可以通過第一密鑰對消息進行安全保護。
5、可選地,第一節(jié)點可以被其他節(jié)點關聯(lián),該第一消息可以用于其他節(jié)點感知第一節(jié)點。
6、本領域技術人員應當知道,在無線通信場景下,第一節(jié)點需要向外廣播信息以讓其他節(jié)點感知到自身。基于本技術提供的方案,對于需要與第一節(jié)點進行通信的節(jié)點,無需與第一節(jié)點建立連接已經(jīng)可以通過第一密鑰獲取到第一密鑰,從而使得其他節(jié)點在還沒有接入第一節(jié)點的情況下,向第一節(jié)點發(fā)送的消息就已經(jīng)可以使用第一密鑰對消息進行加密,如此可以顯著提升通信安全性。
7、同理,對于第一節(jié)點來說,因為第一節(jié)點會廣播與第一密鑰關聯(lián)的密鑰信息以后,因此對于第一節(jié)點向外發(fā)送的信息可以通過第一密鑰加密后再發(fā)送。而成功獲取到第一密鑰的節(jié)點,可以在還沒有與第一節(jié)點建立關聯(lián)的情況下就獲取第一節(jié)點經(jīng)過加密的信息,可以提升第一節(jié)點廣播的信息的安全性。
8、在第一方面的又一種可能的實施方式中,第一消息也可以通過組播方式發(fā)送。例如,第一節(jié)點向某一個子網(wǎng)內(nèi)的節(jié)點發(fā)送第一消息。
9、在第一方面的又一種可能的實施方式中,在廣播發(fā)送第一消息后,方法還包括:
10、接收來自第二節(jié)點的第三消息,第三消息用于請求與第一節(jié)點建立關聯(lián)。該第三消息通過第一密鑰安全保護,屬于前述的至少一個第二消息。
11、在上述實施方式中,第一節(jié)點可以與其他節(jié)點(如第二節(jié)點)建立關聯(lián),二者之間的關聯(lián)通常可以由第二節(jié)點發(fā)起。示例性的,第二節(jié)點發(fā)送第三消息以向第一節(jié)點請求關聯(lián),而該第三消息則已經(jīng)可以通過第一密鑰進行安全保護,從而進一步提升接入場景下的通信安全性。
12、在第一方面的又一種可能的實施方式中,第一密鑰包含完整性保護(或簡稱為完保)密鑰,第三消息通過第一密鑰進行安全保護,包括:第三消息通過完整性保護密鑰進行完整性保護。在接收來自第二節(jié)點的第三消息之后,方法還包括:根據(jù)完整性保護密鑰檢查第三消息的完整性。
13、在上述實施方式中,安全保護可以包含完整性保護,完整性性保護可以避免消息的內(nèi)容被篡改。示例性地,安全性保護可以通過生成校驗值實現(xiàn),例如第二節(jié)點基于第一密鑰和第三消息中的全部或者部分信息生成校驗值,第一節(jié)點可以基于第一密鑰、該校驗值以及第三消息中的全部或者部分信息,檢驗這些信息是否被篡改,提升安全性。
14、在第一方面的又一種可能的實施方式中,第一密鑰包含加密密鑰,第三消息通過第一密鑰進行安全保護包括:第三消息通過加密密鑰進行加密。在接收來自第二節(jié)點的第三消息之后,方法還包括:基于加密密鑰解密第三消息。
15、通過上述方式可以進一步提升消息中的信息不被泄露,提升安全性。
16、可選地,前述的完整性保護密鑰和加密密鑰可以為同一個密鑰,或者為不同的密鑰。
17、在第一方面的又一種可能的實施方式中,第一節(jié)點包含密鑰配置模塊,密鑰配置模塊中配置有至少一個密鑰,第一節(jié)點可以從密鑰配置模塊獲取該第一密鑰。示例性的,密鑰配置模塊可以密鑰配置模塊獲取第一密鑰,然后第一節(jié)點自身確定該第一密鑰對應的密鑰信息。
18、在第一方面的又一種可能的實施方式中,密鑰配置模塊中配置有至少一個密鑰和該至少一個密鑰對應的密鑰信息。第一節(jié)點可以從密鑰配置模塊獲取第一密鑰的密鑰信息,并攜帶在第一消息中發(fā)送給其他節(jié)點。在需要使用第一密鑰時,例如需要對某一明文進行加密或者需要對密文進行解密時,再從密鑰配置模塊中獲取該第一密鑰的密鑰信息對應的第一密鑰。
19、在第一方面的又一種可能的實施方式中,第一節(jié)點包含密鑰配置模塊,密鑰配置模塊中配置有至少一個密鑰和該至少一個密鑰對應的密鑰信息,第一節(jié)點可以從密鑰配置模塊獲取該第一密鑰和與該第一密鑰關聯(lián)的密鑰信息。
20、總之,密鑰和/或密鑰的密鑰信息可以被集中管理在密鑰配置模塊,并支持第一節(jié)點按需獲取,可以進一步提升第一節(jié)點中的器件的解耦,提升管理的便捷性和升級換代時的靈活性,提升用戶體驗。
21、在第一方面的又一種可能的實施方式中,第一節(jié)點包含密鑰配置模塊,在廣播發(fā)送第一消息之前,方法還包括:通過密鑰配置模塊,確定密鑰信息。密鑰配置模塊中配置有至少一個密鑰和至少一個密鑰分別對應的信息,第一密鑰屬于至少一個密鑰,密鑰信息為對應第一密鑰的信息。
22、示例性的,密鑰配置模塊中存儲了多個密鑰和多個密鑰中每個密鑰分別對應的身份標識(identification,或identify,id),第一節(jié)點可以從密鑰配置模塊獲取一個(或若干個)密鑰作為第一密鑰,并將該第一密鑰的id作為第一密鑰的密鑰信息。
23、在第一方面的又一種可能的實施方式中,第一消息中的信息的安全類型屬于以下類型中的至少一種:
24、有加密有完保、有加密無完保、無加密有完保、無加密無完保,其中,安全類型為有加密有完保的信息為經(jīng)過加密且經(jīng)過完整性保護的信息,安全類型為有加密無完保的信息為經(jīng)過加密但未經(jīng)過完整性保護的信息,安全類型為無加密有完保的信息為未經(jīng)過加密但經(jīng)過完整性保護的信息,安全類型為無加密無完保的信息為未經(jīng)過加密且未經(jīng)過完整性保護的信息。
25、在第一方面的又一種可能的實施方式中,第一消息包含的信息可以通過第一密鑰進行加密或者完保。其他節(jié)點接收第一消息后,可以先獲取根據(jù)第一消息中的密鑰信息獲取第一密鑰,從而基于第一密鑰獲取第一消息中的其他信息。
26、在第一方面的又一種可能的實施方式中,第一消息還包含行業(yè)信息,行業(yè)信息用于指示第一節(jié)點所屬的行業(yè)。
27、可選地,行業(yè)信息可以使用第一密鑰進行安全保護。例如,行業(yè)信息可以屬于無加密但有完保信息,或者,行業(yè)信息可以屬于有加密有完保信息。
28、一些場景下,不同的行業(yè)對無線接入場景的安全需求不同。一些行業(yè)中,與對網(wǎng)絡相關的很多信息都要求保密,如公安無線通信系統(tǒng)、電力行業(yè)無線通信系統(tǒng)等。在上述實施方式中,通過在第一消息中攜帶行業(yè)信息,可以使得第一消息的接收方能夠基于行業(yè)信息確定該行業(yè)的安全需求,從而確定是否需要使用第一密鑰來與對傳輸?shù)男畔⑦M行安全保護或者確定第一節(jié)點使用了第一密鑰來與對傳輸?shù)男畔⑦M行安全保護。
29、在第一方面的又一種可能的實施方式中,密鑰信息屬于無加密有完保的信息或者屬于無加密有完保的信息。換句話說,密鑰信息可以不被第一密鑰加密,從而使得接收第一消息的節(jié)點可以獲取第一密鑰。
30、可選地,在密鑰信息屬于無加密有完保的信息的情況下,密鑰信息通過第一密鑰進行完整性保護。這種實施方式中,由于對密鑰信息進行完保可以不影響接收端獲取密鑰信息的內(nèi)容,且可以使得對端可以檢查密鑰信息是否被攻擊者篡改,可以進一步提升通信安全性。
31、在第一方面的又一種可能的實施方式中,第一密鑰包含第一信令面密鑰,至少一個第二消息為信令面消息。
32、在這種實施方式中,第一密鑰可以包含用于信令面加密的密鑰,從而可以支持對多種類型的傳輸數(shù)據(jù)以不同的類型的密鑰進行加密,提升用戶體驗。
33、在第一方面的又一種可能的實施方式中,在廣播發(fā)送第一消息之后,方法還包括:
34、與第二節(jié)點協(xié)商確定第二密鑰,第二密鑰用于對第一節(jié)點和第二節(jié)點之間的消息進行安全保護。
35、其中,第二密鑰可以直接用于加密或者完整性保護,或者,第二密鑰可以用于推演會話密鑰,會話密鑰可以包含加密密鑰、完整性保護密鑰和認證加密密鑰中的一項或者多項。
36、在這種實施方式中,第一節(jié)點和第二節(jié)點也可以協(xié)商得到第二密鑰,該第二密鑰也可以用來替代第一密鑰對第一節(jié)點和第二節(jié)點之間的消息進行加密。或者,第一密鑰和第二密鑰可以用于不同類型的數(shù)據(jù)進行加密等,從而適應不同通信場景下的安全需求,提升安全性。
37、在第一方面的又一種可能的實施方式中,至少一個第二消息為在第一消息之后且在確定第二密鑰之前傳輸?shù)模遗c第一節(jié)點相關的消息。
38、第二密鑰用于推演得到會話密鑰,會話密鑰用于對至少一個第四消息進行安全保護,至少一個第四消息為第一節(jié)點和第二節(jié)點在確定第二密鑰之后傳輸?shù)南ⅰ?/p>
39、在這種實施方式中,在確定第二密鑰之前,與第一節(jié)點相關的消息可以通過第一密鑰進行安全保護,而在確定第二密鑰之后,第一節(jié)點和第二節(jié)點之間傳輸?shù)南⒕屯ㄟ^第二密鑰推演的密鑰進行安全保護。如此可以使得第一節(jié)點和第二節(jié)點之間的傳輸使用二者單獨協(xié)商得到的第二密鑰來保護,進一步提升通信安全性。
40、可選地,此時第一節(jié)點和其他節(jié)點(例如第三節(jié)點)之間若還沒有協(xié)商得到新的密鑰,則第一節(jié)點可以仍然使用第一密鑰來對第一節(jié)點和第三節(jié)點之間傳輸?shù)南⑦M行安全保護。
41、在第一方面的又一種可能的實施方式中,至少一個第二消息包含第一節(jié)點和第二節(jié)點在確定第二密鑰之后傳輸?shù)南ⅰ?/p>
42、這種實施方式中,第一節(jié)點和第二節(jié)點在確定第二密鑰之后,二者之間傳輸?shù)南⑷匀豢梢允褂玫谝幻荑€來進行安全保護。
43、在第一方面的又一種可能的實施方式中,至少一個第二消息屬于信令面消息。第二密鑰用于推演得到會話密鑰,會話密鑰用于對至少一個第五消息進行安全保護,至少一個第五消息屬于用戶面消息,至少一個第五消息為第一節(jié)點和第二節(jié)點在確定第二密鑰之后傳輸?shù)南ⅰ?/p>
44、在這種實施方式中,第二密鑰推演得到的密鑰用于對用戶面的消息進行加密,而在確定第二密鑰之后,第一節(jié)點和第二節(jié)點之間的信令面消息仍然可以用第一密鑰進行加密。
45、在第一方面的又一種可能的實施方式中,密鑰信息包含第一密鑰的標識。這種實施方式提供了一種密鑰信息的示例,密鑰信息可以是密鑰的標識,第一消息的接收方中也可以預先獲取了密鑰的標識與密鑰之間的對應關系,從而可以基于標識來確定第一密鑰。
46、在第一方面的又一種可能的實施方式中,第一密鑰和/或密鑰信息為預先定義的。
47、在第一方面的又一種可能的實施方式中,第三消息包含第二公鑰,第二公鑰與第一密鑰協(xié)商算法和第二私鑰相關聯(lián)。在生成第一消息之前,方法還包括:通過第一密鑰協(xié)商算法確定第一私鑰和第一公鑰,密鑰信息包含第一公鑰。在接收來自第二節(jié)點的第三消息之后,方法還包括:基于第一私鑰和第二公鑰確定第一密鑰。
48、這種實施方式提供了又一種密鑰信息的示例,密鑰信息可以包含第一公鑰,該公鑰可以參與生成密鑰。此時,密鑰信息不經(jīng)過加密但可以經(jīng)過完整性保護,而第二公鑰不經(jīng)過加密但可以經(jīng)過完整性保護,而第三消息中除了第二公鑰之外的其他信息可以經(jīng)過加密。
49、需要說明的是,在這種情況下,第二節(jié)點向第一節(jié)點發(fā)送第三消息之后,第一節(jié)點可以確定第一密鑰,在確定第一密鑰之后第一節(jié)點發(fā)送的消息可以使用該第一密鑰進行加密。
50、在第一方面的又一種可能的實施方式中,至少一個第二消息包括廣播消息,例如第一節(jié)點廣播的廣播消息。
51、第二方面,本技術還提供一種通信方法,包括:接收來自第一節(jié)點廣播的第一消息,第一消息包含密鑰信息,根據(jù)密鑰信息確定第一密鑰。
52、其中,第一密鑰用于對至少一個第二消息進行安全保護,至少一個第二消息為在第一消息之后傳輸?shù)摹⑴c第一節(jié)點相關的消息,與第一節(jié)點相關的消息包含來自第一節(jié)點的消息和/或向第一節(jié)點發(fā)送的消息。
53、該通信方法可以應用于第二節(jié)點,例如由第二節(jié)點中的硬件模塊和/或軟件模塊執(zhí)行。
54、在第二方面的又一種可能的實施方式中,方法還包括:向第一節(jié)點發(fā)送第三消息,第三消息用于請求與第一節(jié)點建立關聯(lián),第三消息通過第一密鑰安全保護,第三消息屬于至少一個第二消息。
55、在第二方面的又一種可能的實施方式中,第一密鑰包含完整性保護密鑰,在向第一節(jié)點發(fā)送第三消息之前,方法還包括:根據(jù)完整性保護密鑰生成校驗值,校驗值用于校驗第三消息的完整性,校驗值攜帶于第三消息中。
56、在第二方面的又一種可能的實施方式中,第一密鑰包含加密密鑰,向第一節(jié)點發(fā)送第三消息,包括:基于加密密鑰加密第二消息,向第一節(jié)點發(fā)送經(jīng)過加密的第二消息。
57、在第二方面的又一種可能的實施方式中,第二節(jié)點包含密鑰配置模組,在廣播發(fā)送第一消息之前,方法還包括:通過密鑰配置模塊,確定密鑰信息。其中,密鑰配置模塊中配置有至少一個密鑰和至少一個密鑰分別對應的信息,第一密鑰屬于至少一個密鑰,密鑰信息為對應第一密鑰的信息。
58、在第二方面的又一種可能的實施方式中,方法還包括:在密鑰信息屬于無加密有完保的信息的情況下,通過第一密鑰檢查密鑰信息的完整性。
59、在第二方面的又一種可能的實施方式中,第一密鑰包含第一信令面密鑰,至少一個第二消息屬于信令面消息。
60、在第二方面的又一種可能的實施方式中,在接收來自第一節(jié)點廣播的第一消息之后,方法還包括:與第一節(jié)點協(xié)商確定第二密鑰,第二密鑰用于對第一節(jié)點和第二節(jié)點之間的消息進行安全保護。
61、在第二方面的又一種可能的實施方式中,至少一個第二消息為在第一消息之后且在確定第二密鑰之前傳輸?shù)模遗c第一節(jié)點相關的消息。第二密鑰用于推演得到會話密鑰,會話密鑰用于對至少一個第四消息進行安全保護,至少一個第四消息為第一節(jié)點和第二節(jié)點在確定第二密鑰之后傳輸?shù)南ⅰ?/p>
62、在第二方面的又一種可能的實施方式中,至少一個第二消息包含第一節(jié)點和第二節(jié)點在確定第二密鑰之后傳輸?shù)南ⅰ?/p>
63、在第二方面的又一種可能的實施方式中,至少一個第二消息屬于信令面消息。第二密鑰用于推演得到會話密鑰,會話密鑰用于對至少一個第五消息進行安全保護,至少一個第五消息屬于用戶面消息,至少一個第五消息為第一節(jié)點和第二節(jié)點在確定第二密鑰之后傳輸?shù)南ⅰ?/p>
64、在第二方面的又一種可能的實施方式中,第一消息還包含行業(yè)信息,行業(yè)信息用于指示第一節(jié)點所屬的行業(yè)。
65、在第二方面的又一種可能的實施方式中,密鑰信息包含第一密鑰的標識。
66、在第二方面的又一種可能的實施方式中,第一密鑰和/或密鑰信息為預先定義的。
67、在第二方面的又一種可能的實施方式中,密鑰信息包含第一公鑰,第一公鑰與第一密鑰協(xié)商算法和第一私鑰相關聯(lián)。方法還包括:通過第一密鑰協(xié)商算法確定第二私鑰和第二公鑰,第三消息包含第二公鑰;基于第二私鑰和第一公鑰確定第一密鑰。
68、在第二方面的又一種可能的實施方式中,至少一個第二消息包括廣播消息。
69、第三方面,本技術還提供一種通信裝置,該通信裝置包含通信單元和處理單元。該通信裝置用于實現(xiàn)第一方面任一項的方法;或者用于實現(xiàn)第二方面任一項的方法。
70、第四方面,本技術還提供一種通信裝置,該通信裝置包含處理器。當處理器調(diào)用存儲器中的計算機程序或指令時,實現(xiàn)第一方面任一項的方法,或者實現(xiàn)第二方面任一項的方法。
71、需要說明的是,上述第四方面所描述的處理器,可以是專門用于執(zhí)行這些方法的處理器(便于區(qū)別稱為專用處理器),也可以是通過調(diào)用計算機程序來執(zhí)行這些方法的處理器,例如通用處理器。
72、可選地,上述計算機程序可以存在存儲器中。示例性的,存儲器可以為非瞬時性(non-transitory)存儲器,例如只讀存儲器(read-only?memory,rom),其可以與處理器集成在同一塊器件上,也可以分別設置在不同的器件上,本技術對存儲器的類型以及存儲器與處理器的設置方式不做限定。
73、在一種可能的實施方式中,上述至少一個存儲器位于上述通信裝置之外。
74、在又一種可能的實施方式中,上述至少一個存儲器位于上述通信裝置之內(nèi)。
75、在又一種可能的實施方式之中,上述至少一個存儲器的部分存儲器位于上述通信裝置之內(nèi),另一部分存儲器位于上述通信裝置之外。
76、本技術中,處理器和存儲器還可能集成于一個器件中,即處理器和存儲器還可以被集成在一起。
77、第五方面,本技術還提供一種通信裝置,包括邏輯電路和接口,邏輯電路和接口耦合。其中,接口用于輸入待處理的數(shù)據(jù),邏輯電路按照第一方面任一項或第二方面任一項的方法對待處理的數(shù)據(jù)進行處理,獲得處理后的數(shù)據(jù)。該接口還用于輸出處理后的數(shù)據(jù)。
78、第六方面,本技術還提供一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)用于存儲指令或計算機程序;當指令或計算機程序被執(zhí)行時,實現(xiàn)第一方面任一項的方法,或者實現(xiàn)第二方面任一項的方法。
79、第七方面,本技術還提供一種計算機程序產(chǎn)品,指令或計算機程序被執(zhí)行時,實現(xiàn)第一方面任一項的方法,或者實現(xiàn)第二方面任一項的方法。
80、第八方面,本技術還提供一種終端,該終端包含第三方面至第五方面任一項的通信裝置。進一步的,該終端可以為車輛、無人機、或機器人等智能終端或運輸工具。
81、第九方面,本技術還提供一種通信系統(tǒng),該通信系統(tǒng)包含第一節(jié)點和/或第二節(jié)點。其中,第一節(jié)點用于實現(xiàn)第一方面任一項的方法,第二節(jié)點用于實現(xiàn)第二方面任一項的方法。