KR20230051592A - 통신 방법 및 관련 장치 - Google Patents

통신 방법 및 관련 장치 Download PDF

Info

Publication number
KR20230051592A
KR20230051592A KR1020237009722A KR20237009722A KR20230051592A KR 20230051592 A KR20230051592 A KR 20230051592A KR 1020237009722 A KR1020237009722 A KR 1020237009722A KR 20237009722 A KR20237009722 A KR 20237009722A KR 20230051592 A KR20230051592 A KR 20230051592A
Authority
KR
South Korea
Prior art keywords
key
node
group
communication
message
Prior art date
Application number
KR1020237009722A
Other languages
English (en)
Inventor
용 왕
징 천
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
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 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20230051592A publication Critical patent/KR20230051592A/ko

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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

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

Abstract

본 출원의 실시예는 근거리 통신을 지원하는 노드, 예를 들어 블루투스 노드 또는 차량용 근거리 통신 시스템의 노드에 적용되는 통신 방법 및 장치를 제공한다. 이 방법은, 제2 노드로부터 연관 요청 메시지를 수신하는 단계; 제1 통신 그룹의 그룹 키를 결정하는 단계 ― 제1 통신 그룹은 제2 노드가 속하는 통신 그룹임 ―; 제1 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 단계; 및 제2 노드에게 제1 연관 설정 메시지를 전송하는 단계를 포함하며, 제1 연관 설정 메시지는 제1 보호 키를 포함한다. 본 출원의 실시예에 따르면, 멀티캐스트 통신의 보안이 향상될 수 있다. 이러한 해결수단은 자율 주행 또는 첨단 운전자 지원 시스템(ADAS) 능력을 개선하는 데 추가로 사용될 수 있으며, 차량 간 V2X, 장기 진화 차량 LTE-V 및 차량 대 차량 V2V와 같은 차량 인터넷에 적용될 수 있다.

Description

통신 방법 및 관련 장치
본 발명은 통신 기술 분야, 구체적으로는, 근거리 통신 기술 분야, 예를 들어 콕핏(cockpit) 도메인 통신에 관한 것으로서, 특히 통신 방법 및 관련 장치에 관한 것이다.
정보화의 급속한 발전과 함께 통신 기술은 사람들의 생활에 깊숙이 침투하였다. 노드의 통신 프로세스에는, 3개의 통신 모드, 즉 유니캐스트, 브로드캐스트, 멀티캐스트가 있다.
유니캐스트는 관심 있는 노드가 서로 통신하는 점대점(point-to-point) 통신 모드이다. 브로드캐스트는 한 노드가 서브넷의 모든 노드에게 메시지를 전송하는 점대다점(point-to-multipoint) 통신 모드이다. 두 모드 사이에는 한 노드(예를 들어, 제1 노드로서 지칭됨)가 통신 그룹의 한 노드에게 메시지를 전송하는 멀티캐스트, 점대다점 통신이 있고, 통신 그룹의 모든 노드가 메시지를 수신할 수 있다. 멀티캐스트는 애플리케이션 계층, 네트워크 계층 및 미디어 액세스 계층에서 미디어 브로드캐스트, 다자간 회의, 어레이 검출과 같이 다양한 애플리케이션을 갖는 컴퓨터 네트워크의 핵심 기술 중 하나이다.
통신 프로세스에서, 데이터 유출을 방지하고 통신 보안을 보장하기 위해서, 통신 프로세스에서 메시지에 대한 보안 보호가 수행되어야 한다. 유니캐스트 메시지의 암호화는 유니캐스트 키를 사용하여 구현될 수 있고, 일대일 유니캐스트 보안을 보장하기 위해 두 노드 간에 개인 임시 키(Private Temporary Keys, PTK) 쌍이 설정될 수 있다. 유니캐스트 메시지와 멀티캐스트 메시지가 모두 보호되어야 한다. 통신 그룹에 속한 그룹 구성원만이 암호화 및 복호화에 사용되는 그룹 키를 알 수 있다. 이렇게 하면, 그룹 구성원만이 암호화된 패킷을 해석할 수 있고, 그룹 구성원이 아닌 사람은 패킷 컨텐츠를 획득할 수 없다. 이를 통해 멀티캐스트 통신 보안이 보장된다.
멀티캐스트 메시지의 보호는 그룹 키에 따라 달라진다. 따라서, 그룹 키의 보호는 매우 중요하다. 통신 시스템의 경우, 그룹 키가 유출되면 공격자가 그룹 키를 사용하여 그룹 내 메시지를 청취할 수 있으므로 데이터 유출이 발생하고 사용자 개인 정보 및 보안이 위협받게 된다. 특히, 차량 내 통신 시스템의 경우, 그룹 키 유출은 차량의 중요 데이터 유출 또는 그룹 키를 탈취한 노드와 차량 간의 통신으로 이어져 차량의 안전을 위협할 수 있다.
멀티캐스트 통신 프로세스에서 그룹 키의 프라이버시를 보호하고 보안을 향상시키는 방법은 당업자의해 연구 중인 기술적 문제라는 것을 알 수 있다.
본 출원의 실시예는 멀티캐스트 통신 프로세스에서 그룹 키의 프라이버시를 보호하고 보안을 향상시키기 위한 통신 방법 및 관련 장치를 개시한다.
제1 측면에 따르면, 본 출원의 실시예는 통신 방법을 개시하며,
제2 노드로부터 연관 요청 메시지를 수신하는 단계;
제1 통신 그룹의 그룹 키를 결정하는 단계 ― 상기 제1 통신 그룹은 상기 제2 노드가 속한 통신 그룹이고, 상기 제1 통신 그룹의 그룹 키는 제1 신선도(freshness) 파라미터 및 상기 제1 통신 그룹의 식별자(identifier, ID) 중 적어도 하나에 기초하여 획득됨 ―;
제1 보호 키를 획득하기 위해, 제1 노드와 상기 제2 노드 사이의 공유 키에 기초하여 상기 제1 통신 그룹의 그룹 키를 암호화하는 단계; 및
상기 제2 노드에게 제1 연관 설정 메시지를 전송하는 단계 ― 상기 제1 연관 설정 메시지는 상기 제1 보호 키를 포함함 ―를 포함한다.
전술한 방법에서, 제2 노드로부터 연관 요청을 수신한 후, 제2 노드가 속한 제1 통신 그룹의 그룹 키가 결정될 수 있고, 그 다음 그룹 키가 제1 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키를 사용하여 암호화되며, 제1 보호 키는 연관 설정 메시지에서 운반되고, 연관 설정 메시지는 제2 노드로 전송된다. 연관 설정 메시지에서 운반되는 보호 키는 공유 키를 사용하여 그룹 키를 암호화함으로써 획득되기 때문에, 제1 연관 설정 메시지의 암호화 여부에 관계없이 그룹 키의 프라이버시가 보호될 수 있다. 이와 같이, 제1 통신 그룹과 멀티캐스트 통신을 수행할 때, 제1 노드는 멀티캐스트 메시지를 보호하기 위해 그룹 키를 사용하여 멀티캐스트 메시지를 암호화하고, 그룹 구성원이 아닌 자가 통신 내용을 획득하는 것을 방지하며, 멀티캐스트 통신의 보안을 향상시킬 수 있다.
또한, 제1 노드는 연관 설정 메시지에서 보호 키를 사용하여 제2 노드에게 그룹 키를 전송할 수 있으며, 제1 노드와 제2 노드 사이의 연관 설정 절차에 그룹 키 분배 절차를 통합할 수 있다. 따라서, 별도의 키 분배 절차가 필요하지 않아 네트워크 자원의 오버헤드를 절약하고 멀티캐스트 통신의 효율성을 향상시킨다.
제1 측면의 가능한 구현 방법에서, 제1 노드와 제2 노드는 공유 키를 공유한다.
공유 키는 제1 노드와 제2 노드 사이에 공유되는 비밀 값이고, 공유 키는 동일한 키 획득 방법을 사용하여 제1 노드와 제2 노드에 의해 생성될 수 있거나, 또는 제1 노드와 제2 노드에서 미리 정의되거나 미리 구성될 수 있거나, 또는 신뢰된 장치에 의해 제1 노드와 제2 노드에게 별도로 전송될 수 있음을 알 수 있다. 예를 들어, 제1 노드와 제2 노드는 공개키를 교환함으로써 키 S를 생성할 수 있으며, 제1 노드에 의해 생성된 키 S의 값은 제2 노드에 의해 생성된 키 S의 값과 동일하다. 따라서, 키 S는 제1 노드와 제2 노드 사이의 공유 키로서 사용될 수 있다. 또한, 키 도출 함수(key derivation function, KDF)를 사용하여 원래 공유 키에 기초하여 다른 키가 획득될 수 있다. 제1 노드와 제2 노드가 동일한 방법을 사용하여 키를 도출할 수 있으므로, 공유 키에 기초하여 도출된 키 역시 공유 키이다.
제1 측면의 다른 가능한 구현 방법에서, 제1 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 단계는,
제1 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 단계를 포함한다.
지금까지는 암호화 방법에 대해 설명하였다. 신선도 파라미터의 값이 다르기 때문에, 매번 제1 통신 그룹의 그룹 키를 암호화함으로써 획득되는 제1 보호 키도 다르다. 이를 통해 그룹 키의 프라이버시가 향상된다.
제1 측면의 또 다른 가능한 구현 방법에서, 제1 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 단계는,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하는 단계; 및
제1 보호 키를 획득하기 위해, 제1 중간 키를 사용하여 제1 통신 그룹의 그룹 키를 암호화하는 단계를 포함한다.
지금까지는 또 다른 암호화 방법을 설명하였다. 제1 노드는 공유 키와 제2 신선도 파라미터를 사용하여 제1 중간 키를 생성하고, 제1 중간 키를 사용하여 그룹 키를 암호화한다.
제1 측면의 또 다른 가능한 구현 방법에서, 제1 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 단계는,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하는 단계 ― 제1 KDF는 제2 노드에 의해 지원되는 KDF임 ―; 및
제1 보호 키를 획득하기 위해, 제1 중간 키와 제1 통신 그룹의 그룹 키에 대해 배타적 OR 처리를 수행하는 단계를 포함한다.
이전 설명은 또 다른 암호화 방법이다. 제1 노드는 공유 키와 제2 신선도 파라미터를 사용하여 제1 중간 키를 생성한다. 배타적 OR 처리가 두 번 수행된 후에 원래 값이 획득될 수 있기 때문에, 제1 노드는 제1 중간 키와 제1 통신 그룹의 그룹 키에 대해 배타적 OR을 수행한다. 또한 선택적으로, 제1 보호 키를 수신한 후, 제2 노드는 공유 키와 제2 신선도 파라미터의 값에 기초하여 동일한 제1 중간 키를 생성하고, 제1 통신 그룹의 키를 획득하기 위해, 제1 중간 키와 제1 보호 키에 대해 배타적 OR 처리를 수행한다.
제1 측면의 또 다른 가능한 구현 방법에서, 공유 키는 제1 노드와 제2 노드 사이의 암호화 키이고, 제2 신선도 파라미터는 1회성 숫자(number once)이며, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함한다.
전술한 설명은 공유 키와 신선도 파라미터의 가능한 경우의 설명이다. 제1 노드와 제2 노드 사이의 암호화 키는 공유될 수 있다. 따라서, 그룹 키는 제1 노드와 제2 노드 사이의 암호화 키를 사용하여 암호화될 수 있다. 제2 신선도 파라미터는 1회성 숫자(number once, NONCE)일 수 있다. NONCE는 한 번만 사용되는(또는 반복되지 않는) 랜덤 값이다. 제2 신선도 파라미터는 제1 연관 설정 메시지에서 제2 노드로 전송되어 제2 노드가 제1 통신 그룹의 그룹 키를 획득하기 위해 제2 신선도 파라미터에 기초하여 제1 보호 키를 복호화할 수 있다.
제1 측면의 또 다른 가능한 구현 방법에서, 제2 신선도 파라미터는 제1 카운터의 값이고, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다.
전술한 내용은 신선도 파라미터의 가능한 경우를 설명한다. 제2 신선도 파라미터는 제1 카운터의 값일 수 있으며, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다. 이러한 방식으로, 공유 키가 그룹 키를 암호화하는 데 사용될 때마다, 사용된 카운터의 값이 달라지므로, 매번 동일한 제1 통신 그룹의 그룹 키를 암호화함으로써 획득되는 제1 보호 키도 달라질 수 있다. 이를 통해 그룹 키의 프라이버시가 향상된다.
제1 측면의 또 다른 가능한 구현 방법에서, 제1 통신 그룹의 그룹 키를 결정하는 단계는,
제1 통신 그룹의 ID에 기초하여 제1 통신 그룹의 그룹 키를 결정하거나 ― 제1 통신 그룹의 ID와 제1 통신 그룹의 그룹 키 사이에 대응관계가 존재함 ―, 또는
제2 KDF를 사용하여 제1 신선도 파라미터와 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 제1 통신 그룹의 그룹 키를 생성하는 단계를 포함한다.
전술한 내용은 제1 통신 그룹의 그룹 키를 결정하는 방법을 설명한다. 일 측면에서, 제1 통신 그룹의 ID와 그룹 키 사이에 대응관계가 존재한다. 따라서, 통신 그룹의 그룹 키는 통신 그룹의 ID에 기초하여 결정될 수 있다. 다른 측면에서, 제1 통신 그룹의 그룹 키는 KDF를 사용하여 생성될 수 있다. 또한, 선택적으로, 제1 통신 그룹의 ID는 대응하는 그룹 키를 갖지 않는 경우(예를 들어, 새로운 통신 그룹이 생성되는 경우), 제1 통신 그룹의 그룹 키는 KDF를 사용하여 생성될 수 있다..
제1 측면의 또 다른 가능한 구현 방법에서, 이 방법은,
그룹 보안 알고리즘을 결정하는 단계 ― 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘이고, 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함함 ―를 더 포함한다.
제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함한다.
제1 연관 설정 메시지는 그룹 보안 알고리즘을 더 포함하며, 보안 알고리즘은 그룹 내 모든 노드에 의해 지원되는 알고리즘에서 결정된다는 것을 알 수 있다.
제1 측면의 또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘에서 가장 높은 우선순위를 갖는 알고리즘이거나, 또는
그룹 보안 알고리즘을 결정하는 단계는,
알고리즘 선택 정책에 기초하여 그룹 보안 알고리즘을 결정하는 단계 ― 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책과 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함함 ―를 포함한다.
제1 측면의 또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함하며, 이 방법은,
그룹 키의 유형과 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성하는 단계를 더 포함한다.
그룹 KDF 알고리즘을 사용함으로써, 세션 키의 유형에 기초하여 그룹 키에서 세션 키가 도출될 수 있으며, 세션 프로세스의 암호화에서 사용된다.
제1 측면의 또 다른 가능한 구현 방법에서, 키 유형은 시그널링 플레인(signaling plane) 암호화 키, 사용자 플레인 암호화 키, 시그널링 플레인 무결성 보호 키, 또는 사용자 플레인 무결성 보호 키 중 하나 이상을 포함하거나, 또는 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응한다.
제1 측면의 또 다른 가능한 구현 방법에서, 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 단계 전에, 이 방법은,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하는 단계를 더 포함한다.
제1 측면의 또 다른 가능한 구현 방법에서, 이 방법은,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있는 경우, 제2 노드로 제2 연관 설정 메시지를 전송하는 단계 ― 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함하고, 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속함 ―를 더 포함한다.
시그널링 플레인 암호화가 활성화 또는 비활성화될 때 다른 보호 방법이 사용될 수 있음을 알 수 있다. 구체적으로, 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있는 것으로 결정되면, 시그널링 플레인에 대해 암호화가 활성화되어 있는 경우, 그룹 키는 암호화되지 않지만, 시그널링 플레인 메시지를 암호화하여 보호된다. 이렇게 하면 추가적인 암호화된 데이터 계산을 피할 수 있고 그룹 키 배포 효율을 향상시킨다.
제1 측면의 또 다른 가능한 구현 방법에서, 이 방법은,
제1 통신 그룹의 그룹 키를 업데이트하기 위한 조건이 충족된 것으로 결정하는 단계;
제3 신선도 파라미터 및 제1 통신 그룹의 식별자(ID) 중 적어도 하나에 기초하여 제1 키를 결정하는 단계;
제2 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 키를 암호화하는 단계; 및
제2 노드에게 키 업데이트 메시지를 전송하는 단계 ― 키 업데이트 메시지는 제2 보호 키를 포함함 ―를 포함한다.
제1 측면의 또 다른 가능한 구현 방법에서, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용된다.
전술한 내용은 그룹 키를 업데이트하는 방식을 설명한다. 그룹 키 업데이트 조건이 충족된 것으로 결정된 후, 제1 키가 결정될 수 있고, 제1 키가 공유 키를 시용하여 암호화된 후, 제1 키는 키 업데이트 메시지를 사용하여 제2 노드로 전송된다. 키 업데이트 메시지에서 운반되는 보호 키는 공유 키를 이용하여 제1 키를 암호화함으로써 획득되므로, 키 업데이트 메시지의 암호화 여부와 관계없이 제1 키의 프라이버시가 보호될 수 있음을 알 수 있다. 선택적으로, 키 업데이트 메시지는 제1 노드에 의해 제1 통신 그룹의 제2 노드로 전송된 멀티캐스트 메시지일 수 있거나, 또는 제1 노드와 제2 노드 사이의 유니캐스트 메시지일 수 있다. 또한 선택적으로, 키 업데이트 메시지가 유니캐스트 메시지인 경우, 제1 노드는 제1 통신 그룹 내의 다른 제2 노드에게 유니캐스트 메시지를 추가로 전송할 수 있다.
제1 측면의 또 다른 가능한 구현 방법에서, 키 업데이트 메시지는 제1 키의 시작 시간 및 제1 키의 유효 기간을 지시하는 데 추가로 사용되며, 제1 키는 제1 키의 시작 시간으로부터 시작하여 제1 키의 유효 기간 내에 적용된다.
키 업데이트 메시지는 제1 타깃 키의 업데이트 시간 및/또는 제1 타깃 키의 유효 기간을 지시할 수 있으므로, 필요에 따라 제1 타깃 키의 적용 시기가 결정될 수 있다.
제1 측면의 또 다른 가능한 구현 방법에서, 제2 노드에게 키 업데이트 메시지를 전송하는 단계 후에, 이 방법은,
제1 통신 그룹에 속하는 적어도 하나의 제2 노드로부터 업데이트 확인 메시지가 수신된 것으로 결정하는 단계; 및
제1 키의 시작 시간에 제1 키를 적용하는 단계를 더 포함한다.
제1 측면의 또 다른 가능한 구현 방법에서, 제1 통신 그룹에 속하는 적어도 하나의 제2 노드로부터 업데이트 확인 메시지가 수신된 것으로 결정하는 단계는,
제1 통신 그룹에 속하는 모든 제2 노드로부터의 업데이트 확인 메시지가 수신된 것으로 결정하는 단계를 포함한다.
제1 측면의 또 다른 가능한 구현 방법에서, 제2 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 키를 암호화하는 단계는,
제2 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키 및 제4 신선도 파라미터에 기초하여 제1 키를 암호화하는 단계를 포함한다.
전술한 내용은 제1 키를 암호화하는 방법을 설명한다. 신선도 파라미터의 값이 다르기 때문에, 매번 제1 키를 암호화함으로써 획득되는 제2 보호 키도 또한 다르다. 이렇게 하면 그룹 키의 프라이버시가 향상된다.
제1 측면의 또 다른 가능한 구현 방법에서, 제2 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 키를 암호화하는 단계는,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키 및 제4 신선도 파라미터에 기초하여 제2 중간 키를 생성하는 단계; 및
제2 보호 키를 획득하기 위해, 제2 중간 키를 사용하여 제1 키를 암호화하는 단계를 포함한다.
제1 측면의 또 다른 가능한 구현 방법에서, 제2 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 키를 암호화하는 단계는,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제2 중간 키를 생성하는 단계 ― 제1 KDF는 제2 노드에 의해 지원되는 KDF를 포함함 ―; 및
제2 보호 키를 획득하기 위해, 제2 중간 키와 제1 키에 대해 배타적 OR 처리를 수행하는 단계를 포함한다.
제1 측면의 또 다른 가능한 구현 방법에서, 업데이트 조건은,
현재 통신 프레임의 프레임 번호와 표시된 프레임 번호 사이의 차이가 제1 임계값 이상인 조건 ― 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호는 동일한 카운팅 주기에 있고, 표시된 프레임 번호는 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호는 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
표시된 프레임 번호와 현재 통신 프레임의 프레임 번호 사이의 차이가 제2 임계값 이하인 조건 ― 현재 통신 프레임의 프레임 번호는 표시된 프레임 번호의 다음 카운팅 주기에 있고, 표시된 프레임 번호는 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호는 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
제1 통신 그룹의 그룹 키의 유효 기간이 만료되거나 또는 제1 통신 그룹의 그룹 키의 사용 기간이 제3 임계값에 도달하는 조건; 또는,
제1 통신 그룹의 적어도 하나의 제2 노드가 제1 통신 그룹을 떠나는 조건
을 포함한다.
전술한 내용은 그룹 키 업데이트 조건을 설명한다. 다음 조건 중 하나가 충족되는 경우, 그룹 키가 업데이트되어야 하는 것으로 결정될 수 있다: ① 액세스 포인트의 그룹 신선도 파라미터(예: 프레임 번호)가 반복 또는 반전될 예정(또는 반전 전 임계값 초과)인 조건. ② 그룹 키의 유효 기간이 만료되거나 그룹 키의 사용 기간이 임계값을 초과하는 조건. ③ 그룹 내 구성원이 변경된 조건.
제2 측면에 따르면, 본 출원의 실시예는 통신 방법을 개시하며,
제1 노드에게 연관 요청 메시지를 전송하는 단계;
제1 노드로부터 제1 연관 설정 메시지를 수신하는 단계 ― 제1 연관 설정 메시지는 제1 보호 키를 포함함 ―; 및
제1 노드와 제2 노드 사이의 공유 키 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계 ― 제1 통신 그룹은 제2 노드가 속한 통신 그룹임 ―를 포함한다.
제2 측면의 가능한 구현 방법에서, 제1 노드와 제2 노드는 공유 키를 공유한다.
제2 측면의 다른 가능한 구현 방법에서, 제1 노드와 제2 노드 사이의 공유 키 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계는,
제1 노드와 제2 노드 사이의 공유 키, 제2 신선도 파라미터 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계를 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드 사이의 공유 키 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계는,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하는 단계; 및
제1 중간 키와 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계를 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 공유 키는 제1 노드와 제2 노드 사이의 암호화 키이고, 제2 신선도 파라미터는 1회성의 숫자이며, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 제2 신선도 파라미터는 제1 카운터의 값이고, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다.
제2 측면의 또 다른 가능한 구현 방법에서, 제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함하고, 그룹 보안 알고리즘은 제1 통신 그룹 내의 노드에 의해 지원되는 알고리즘이며, 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘에서 가장 높은 우선순위를 갖는 알고리즘이거나, 또는
그룹 보안 알고리즘을 결정하는 단계는 알고리즘 선택 정책에 대응하며, 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책과 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함하며, 이 방법은,
그룹 키의 유형과 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성하는 단계를 더 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 키 유형은 시그널링 플레인 암호화 키, 사용자 플레인 암호화 키, 시그널링 플레인 무결성 보호 키, 또는 사용자 플레인 무결성 보호 키 중 하나 이상을 포함하거나, 또는 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응한다.
제2 측면의 또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드 사이의 공유 키 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계 전에, 이 방법,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하는 단계를 더 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 이 방법은,
제1 노드로부터 제2 연관 설정 메시지를 수신하는 단계 ― 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함하고, 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속함 ―; 및
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화된 경우, 제1 노드와 제2 노드 사이의 시그널링 플레인 암호화 키와 제2 연관 설정 메시지를 사용하여 제1 통신 그룹의 그룹 키를 획득하는 단계를 더 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 이 방법은,
제1 노드로부터 키 업데이트 메시지를 수신하는 단계 ― 키 업데이트 메시지는 제2 보호 키를 포함함 ―; 및
제1 노드와 제2 노드 사이의 공유 키 및 제2 보호 키에 기초하여 제1 키를 획득하는 단계를 더 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용된다.
제2 측면의 또 다른 가능한 구현 방법에서, 키 업데이트 메시지는 제1 키의 시작 시간 및 제1 키의 유효 기간을 지시하는 데 추가로 사용되며, 제1 키는 제1 키의 시작 시간으로부터 시작하여 제1 키의 유효 기간 내에 적용된다.
제2 측면의 또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드 사이의 공유 키 및 제2 보호 키에 기초하여 제1 키를 획득하는 단계 후에, 이 방법은,
제1 노드에게 업데이트 확인 메시지를 전송하는 단계; 및
제1 키의 시작 시간에 제1 키를 적용하는 단계를 더 포함한다.
제2 측면의 또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드 사이의 공유 키 및 제2 보호 키에 기초하여 제1 키를 획득하는 단계는,
제1 노드와 제2 노드 사이의 공유 키, 제4 신선도 파라미터, 및 제2 보호 키에 기초하여 제1 키를 획득하는 단계를 포함한다.
제3 측면에 따르면, 본 출원의 실시예는 통신 장치를 제공한다. 통신 장치는 제1 측면 또는 제1 측면의 가능한 구현 중 어느 하나에서 설명된 방법을 수행하도록 구성된 유닛을 포함한다.
제3 측면의 가능한 구현 방법에서, 이 장치는 구체적으로,
제2 노드로부터 연관 요청 메시지를 수신하도록 구성된 수신 유닛;
제1 통신 그룹의 그룹 키를 결정하도록 구성된 처리 유닛 ― 제1 통신 그룹은 제2 노드가 속한 통신 그룹이고, 제1 통신 그룹의 그룹 키는 제1 신선도 파라미터 및 제1 통신 그룹의 식별자(ID) 중 적어도 하나에 기초하여 결정되며, 처리 유닛은, 제1 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하도록 구성됨 ―; 및
제1 연관 설정 메시지를 제2 노드로 전송하도록 구성된 전송 유닛 ― 제1 연관 설정 메시지는 제1 보호 키를 포함함 ―을 포함한다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제1 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제1 통신 그룹의 그룹 키를 암호화하도록 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고,
제1 보호 키를 획득하기 위해, 제1 중간 키를 사용하여 제1 통신 키를 암호화하도록 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고 ― 제1 KDF는 제2 노드에 의해 지원되는 KDF임 ―,
제1 보호 키를 획득하기 위해, 제1 중간 키와 제1 통신 그룹의 그룹 키에 대해 배타적 OR 처리를 수행하도록 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 공유 키는 제1 노드와 제2 노드 사이의 암호화 키이고, 제2 신선도 파라미터는 1회성 숫자이며, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함한다.
제3 측면의 또 다른 가능한 구현 방법에서, 제2 신선도 파라미터는 제1 카운터의 값이고, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제1 통신 그룹의 ID에 기초하여 제1 통신 그룹의 그룹 키를 결정하거나 ― 제1 통신 그룹의 ID와 제1 통신 그룹의 그룹 키 사이에 대응관계가 존재함 ―, 또는
제2 KDF를 사용하여 제1 신선도 파라미터 및 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 제1 통신 그룹의 그룹 키를 생성하도록 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은,
그룹 보안 알고리즘을 결정하도록 추가로 구성되며, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘이고, 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함한다.
제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 추가로 포함한다.
제3 측면의 또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘에서 가장 높은 우선순위를 갖는 알고리즘이거나, 또는
그룹 보안 알고리즘을 결정하는 단계는,
알고리즘 선택 정책에 기초하여 그룹 보안 알고리즘을 결정하는 단계이며, 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책과 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다.
제3 측면의 또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함하며, 처리 유닛은,
그룹 키의 유형과 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성하도록 추가로 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 키 유형은 시그널링 플레인 암호화 키, 사용자 플레인 암호화 키, 시그널링 플레인 무결성 보호 키, 또는 사용자 플레인 무결성 보호 키 중 하나 이상을 포함하거나, 또는 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응한다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하도록 추가로 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 암호화는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 활성화되고, 전송 유닛은,
제2 노드에게 제2 연관 설정 메시지를 전송하도록 추가로 구성되며, 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함하고, 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속한다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 제1 통신 그룹의 그룹 키를 업데이트하기 위한 조건이 충족되는 것으로 결정하도록 추가로 구성된다.
처리 유닛은 제3 신선도 파라미터와 제1 통신 그룹의 식별자(ID) 중 적어도 하나에 기초하여 제1 키를 결정하도록 추가로 구성된다.
처리 유닛은 제2 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 키를 암호화하도록 추가로 구성된다.
전송 유닛은 제2 노드에게 키 업데이트 메시지를 전송하도록 추가로 구성된다. 키 업데이트 메시지는 제2 보호 키를 포함한다.
제3 측면의 또 다른 가능한 구현 방법에서, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용된다.
제3 측면의 또 다른 가능한 구현 방법에서, 키 업데이트 메시지는 제1 키의 시작 시간 및 제1 키의 유효 기간을 지시하기 위해 추가로 사용되며, 제1 키는 제1 키의 시작 시간으로부터 시작하여 제1 키의 유효 기간 내에 적용된다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은,
제1 통신 그룹에 속하는 적어도 하나의 제2 노드로부터의 업데이트 확인 메시지가 수신되는 것으로 결정하고,
제1 키의 시작 시간에 제1 키를 적용하도록 추가로 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제1 통신 그룹에 속한 모든 제2 노드로부터의 업데이트 확인 메시지가 수신된 것으로 결정하도록 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제2 보호 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 공유 키 및 제4 신선도 파라미터에 기초하여 키를 암호화하도록 구성된다.
제3 측면의 또 다른 가능한 구현 방법에서, 업데이트 조건은,
현재 통신 프레임의 프레임 번호와 표시된 프레임 번호 사이의 차이가 제1 임계값 이상인 조건 ― 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호는 동일한 카운팅 주기에 있고, 표시된 프레임 번호는 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호는 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
표시된 프레임 번호와 현재 통신 프레임의 프레임 번호 사이의 차이가 제2 임계값 이하인 조건 ― 현재 통신 프레임의 프레임 번호는 표시된 프레임 번호의 다음 카운팅 주기에 있고, 표시된 프레임 번호는 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호는 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
제1 통신 그룹의 그룹 키의 유효 기간이 만료되거나 또는 제1 통신 그룹의 그룹 키의 사용 기간이 제3 임계값에 도달하는 조건; 또는
제1 통신 그룹의 적어도 하나의 제2 노드가 제1 통신 그룹을 떠나는 조건
을 포함한다.
제4 측면에 따르면, 본 출원의 실시예는 통신 장치를 제공한다. 통신 장치는 제2 측면 또는 제2 측면의 가능한 구현 중 어느 하나에서 설명된 방법을 수행하도록 구성된 유닛을 포함한다.
제4 측면의 가능한 구현 방법에서, 이 장치는 구체적으로,
제1 노드에게 연관 요청 메시지를 전송하도록 구성된 전송 유닛;
제1 노드로부터 제1 연관 설정 메시지를 수신하도록 구성된 수신 유닛 ― 제1 연관 설정 메시지는 제1 보호 키를 포함함 ―; 및
제1 노드와 제2 노드 사이의 공유 키 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하도록 구성된 처리 유닛 ― 제1 통신 그룹은 제2 노드가 속한 통신 그룹임 ―을 포함한다.
제4 측면의 또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드는 공유 키를 공유한다.
제4 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제1 노드와 제2 노드 사이의 공유 키, 제2 신선도 파라미터 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하도록 구성된다.
제4 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고,
제1 중간 키와 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하도록 구성된다.
제4 측면의 또 다른 가능한 구현 방법에서, 공유 키는 제1 노드와 제2 노드 사이의 암호화 키이고, 제2 신선도 파라미터는 1회성 숫자이며, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함한다.
제4 측면의 또 다른 가능한 구현 방법에서, 제2 신선도 파라미터는 제1 카운터의 값이고, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다.
제4 측면의 또 다른 가능한 구현 방법에서, 제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함하고, 그룹 보안 알고리즘은 제1 통신 그룹 내의 노드에 의해 지원되는 알고리즘이며, 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함한다.
제4 측면의 또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘에서 가장 높은 우선순위를 갖는 알고리즘이거나, 또는
그룹 보안 알고리즘을 결정하는 것은 알고리즘 선택 정책에 대응하며, 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책과 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다.
제4 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은,
그룹 키의 유형과 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성하도록 추가로 구성된다.
제4 측면의 또 다른 가능한 구현 방법에서, 키 유형은 시그널링 플레인 암호화 키, 사용자 플레인 암호화 키, 시그널링 플레인 무결성 보호 키, 또는 사용자 플레인 무결성 보호 키 중 하나 이상을 포함하거나, 또는 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응한다.
제4 측면의 또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드 사이의 공유 키 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하기 전에,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하는 것을 더 포함한다.
제4 측면의 또 다른 가능한 구현 방법에 있어서, 수신 유닛은, 제1 노드로부터 제2 연관 설정 메시지를 수신하도록 추가로 구성되며, 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함하고, 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속하며,
처리 유닛은, 제1 통신 그룹의 그룹 키를 획득하기 위해, 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지를 사용하여 제2 연관 설정 메시지를 복호화하도록 추가로 구성된다.
제4 측면의 또 다른 가능한 구현 방법에서, 수신 유닛은 제1 노드로부터 키 업데이트 메시지를 수신하도록 추가로 구성되며, 키 업데이트 메시지는 제2 보호 키를 포함하고,
처리 유닛은 제1 노드와 제2 노드 사이의 공유 키 및 제2 보호 키에 기초하여 제1 키를 획득하도록 추가로 구성된다.
제4 측면의 또 다른 가능한 구현 방법에서, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용된다.
제4 측면의 또 다른 가능한 구현 방법에서, 키 업데이트 메시지는 제1 키의 시작 시간 및 제1 키의 유효 기간을 지시하기 위해 추가로 사용되며, 제1 키는 제1 키의 시작 시간으로부터 시작하여 제1 키의 유효 기간 내에 적용된다.
제4 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은,
제1 노드에게 업데이트 확인 메시지를 전송하고,
제1 키의 시작 시간에 제1 키를 적용하도록 추가로 구성된다.
제4 측면의 또 다른 가능한 구현 방법에서, 처리 유닛은 구체적으로,
제1 노드와 제2 노드 사이의 공유 키, 제4 신선도 파라미터, 및 제2 보호 키에 기초하여 제1 키를 획득하도록 구성된다.
제5 측면에 따르면, 본 출원의 실시예는 통신 장치를 더 제공한다. 통신 장치는 적어도 하나의 프로세서 및 통신 인터페이스를 포함하고, 통신 인터페이스는 데이터를 전송 및/또는 수신하도록 구성되며, 적어도 하나의 프로세서는 적어도 하나의 메모리에 저장된 컴퓨터 프로그램을 호출하도록 구성되어, 이 장치가 제1 측면 또는 제1 측면의 가능한 구현 중 어느 하나에서 설명된 방법, 또는 제2 측면 또는 제2 측면의 가능한 구현 중 어느 하나에서 설명된 방법을 구현할 수 있다.
제6 측면에 따르면, 본 출원의 실시예는 통신 시스템을 더 제공한다. 통신 시스템은 제1 노드 및 제2 노드를 포함한다. 제1 노드는 제3 측면 또는 제3 측면의 가능한 구현 중 어느 하나에서 설명된 장치이고, 제2 노드는 제4 측면 또는 제4 측면의 가능한 구현 중 어느 하나에서 설명된 장치이다.
제7 측면에 따르면, 본 출원의 실시예는 칩 시스템을 제공한다. 칩 시스템의 통신 장치는 적어도 하나의 프로세서 및 통신 인터페이스를 포함하고, 통신 인터페이스는 데이터를 전송 및/또는 수신하도록 구성되며, 적어도 하나의 프로세서는 적어도 하나의 메모리에 저장된 컴퓨터 프로그램을 호출하도록 구성되어, 칩 시스템이 위치한 장치가 제1 측면 또는 제1 측면의 가능한 구현 중 어느 하나에서 설명된 방법을 구현하거나, 또는 제2 측면 또는 제2 측면의 가능한 구현 중 어느 하나에서 설명된 방법을 구현할 수 있다.
제8 측면에 따르면, 본 출원의 실시예는 컴퓨터 판독 가능 저장 매체를 개시한다. 컴퓨터 판독 가능 저장 매체는 컴퓨터 프로그램을 저장하고, 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 제1 측면 또는 제1 측면의 가능한 구현 중 어느 하나에서 설명된 방법 또는 제2 측면 또는 제2 측면의 가능한 구현 중 어느 하나에서 설명된 방법이 수행된다.
제9 측면에 따르면, 본 출원의 실시예는 컴퓨터 프로그램 제품을 개시한다. 컴퓨터 프로그램 제품이 하나 이상의 프로세서에서 실행될 때, 제1 측면 또는 제1 측면의 가능한 구현 중 어느 하나에서 설명된 방법 또는 제2 측면 또는 제2 측면의 가능한 구현 중 어느 하나에서 설명된 방법이 수행된다.
제10 측면에 따르면, 본 출원의 실시예는 단말을 개시한다. 이 단말은 제1 노드(예를 들어, 자동차 콕핏 도메인 제어기(CDC)) 및/또는 제2 노드(예를 들어, 카메라, 스크린, 마이크, 스피커, 레이더, 전자 키 및 수동 진입 수동 시동 시스템 제어기와 같은 모듈 중 적어도 하나)를 포함한다. 제1 노드는 제3 측면 또는 제3 측면의 가능한 구현 중 어느 하나에서 설명된 장치이고, 제2 노드는 제4 측면 또는 제4 측면의 가능한 구현 중 어느 하나에서 설명된 장치이다.
또한 선택적으로, 단말은 차량, 무인 항공기, 로봇, 스마트 홈 시나리오의 장치, 스마트 제조 시나리오의 장치 등이 될 수 있다.
본 출원의 제2 측면, 제3 측면 및 제4 측면의 기술적 해결수단은 제1 측면의 기술적 해결수단에 대응하는 것으로 이해될 수 있다. 관련 유익한 효과에 대해서는 제1 측면의 유익한 효과를 참조한다. 따라서, 자세한 내용은 다시 설명되지 않는다.
다음은 본 출원의 실시예에서 사용된 첨부 도면을 설명한다.
도 1은 본 출원의 실시예에 따른 통신 시스템 아키텍처의 개략도이다.
도 2는 본 출원의 실시예에 따른 통신 방법의 적용 시나리오의 개략도이다.
도 3은 본 출원의 실시예에 따른 통신 방법의 흐름도이다.
도 4는 본 출원의 실시예에 따른 그룹 키를 암호화하는 방법의 개략도이다.
도 5는 본 출원의 실시예에 따른 그룹 키를 암호화하는 다른 방법의 개략도이다.
도 6a 및 도 6b는 본 출원의 실시예에 따른 그룹 보안 알고리즘을 결정하는 방법의 개략도이다.
도 7은 본 출원의 실시예에 따른 다른 통신 방법의 흐름도이다.
도 8a 및 도 8b는 본 출원의 실시예에 따른 통신 시나리오의 개략도이다.
도 9a 및 도 9b는 본 출원의 실시예에 따른 그룹 키 업데이트 시나리오의 개략도이다.
도 10a 및 도 10b는 본 출원의 실시예에 따른 그룹 키 업데이트의 또 다른 시나리오의 개략도이다.
도 11은 본 출원의 실시예에 따른 또 다른 통신 방법의 흐름도이다.
도 12a 및 도 12b는 본 출원의 실시예에 따른 또 다른 통신 방법의 흐름도이다.
도 13은 본 출원의 실시예에 따른 통신 장치 구조의 개략도이다.
도 14는 본 출원의 실시예에 따른 다른 통신 장치 구조의 개략도이다.
도 15는 본 출원의 실시예에 따른 또 다른 통신 장치 구조의 개략도이다.
도 16은 본 출원의 실시예에 따른 또 다른 통신 장치 구조의 개략도이다.
다음은 본 출원의 실시예에 첨부된 도면을 참조하여 본 출원의 실시예를 설명한다. 본 출원에서, "예" 또는 "예를 들어"와 같은 단어는 예, 예시 또는 설명을 제공하는 것을 나타내는 데 사용된다. 본 출원에서 "예" 또는 "예를 들어"를 사용하여 설명된 실시예 또는 설계 해결수단은 다른 실시예 또는 설계 방식보다 더 선호되거나 더 많은 장점을 갖는 것으로 설명되어서는 안된다. "예" 또는 "예를 들어"라는 단어의 사용은 관련 개념을 특정 방식으로 제시하기 위한 것이다.
다음은 이해를 돕기 위해 본 출원의 관련 기술 및 기술 용어에 대해 간략하게 설명한다.
1. 노드(node)
노드는 데이터 수신 및 전송 능력을 갖는 전자 장치이다. 예를 들어, 노드는 콕핏 도메인(Cockpit Domain) 장치 또는 콕핏 도메인 장치의 모듈(예를 들어, 콕핏 도메인 제어기(cockpit domain controller, CDC), 카메라, 스크린, 마이크, 스피커, 전자 키 및 수동 진입 수동 시동 시스템 제어기와 같은 모듈 중 하나 이상)일 수 있다. 특정 구현 중에, 노드는 다르게는 데이터 전송 장치, 예를 들어 라우터, 중계기, 브리지 또는 스위치일 수 있거나, 또는 단말 장치, 예를 들어 다양한 유형의 사용자 장비(user equipment, UE), 모바일 전화(mobile phone), 태블릿 컴퓨터(패드), 데스크탑 컴퓨터, 헤드셋 또는 스피커일 수 있거나, 또는 자율주행(self-driving) 장치, 교통 안전(transportation safety) 장치, 가상 현실(virtual reality, VR) 단말 장치, 증강 현실(augmented reality, AR) 단말 장치, 머신 유형 통신(machine type communication, MTC) 장치, 산업 제어(industrial control) 장치, 원격 의료(remote medical) 장치, 스마트 그리드(smart grid) 장치 또는 스마트 시티(스마트 시티) 장치를 더 포함할 수 있거나, 또는 웨어러블 장치(예를 들어, 스마트 시계, 스마트 밴드 또는 만보계) 등을 더 포함할 수 있다. 일부 기술적 시나리오에서, 유사한 데이터 수신 및 전송 능력을 갖는 장치의 이름이 노드가 아닐 수도 있다. 그러나, 설명의 용이성을 위해, 본 출원의 실시예에서 데이터 수신 및 전송 능력을 갖는 전자 장치가 통칭적으로 본 출원의 실시예에서 노드로서 지칭된다.
2. 공유 키(shared key, SK)
공유 키는 두 통신 당사자의 노드에 저장된 동일한 비밀 값이다. 공유 키는 동일한 키 획득 방법을 사용하여 두 통신 당사자에 의해 생성될 수 있거나, 또는 두 통신 당사자의 노드에서 미리 정의되거나 미리 구성될 수 있거나, 또는 신뢰될 수 있는 장치(예를 들어, 키 배포 센터(key distribution center, KDC))에서 제1 노드와 제2 노드에게 개별적으로 전송될 수 있다.
예를 들어, 차량의 콕핏 도메인 제어기(cockpit domain controller, CDC)와 차량 소유자의 모바일 전화는 근거리 통신 기술을 사용하여 서로 통신할 수 있는 두 개의 노드이다. 차량 소유자가 모바일 전화를 사용하여 차량의 CDC와 페어링을 수행해야 하는 경우, 차량 소유자는 먼저 공개 키를 교환하여 공유 키를 생성할 수 있다. 예를 들어, 키 합의 알고리즘을 사용하여 모바일 전화와 차량의 CDC 간에 키 합의 알고리즘 파라미터를 교환함으로써 공유 키를 생성할 수 있다. 공유 키는 이후 모바일 전화가 차량의 CDC와 페어링을 요청할 때 두 노드의 신원을 검증하는 데 사용될 수 있다.
또 다른 예로, 차량의 조정석 도메인 제어기(CDC)와 차량에 장착된 레이더 장치는 서로 통신할 수 있는 두 개의 노드이다. CDC와 차량 탑재 레이더를 배포할 때, 자동차 공장의 직원은 CDC와 차량 탑재 레이더 간에 공유 키를 미리 구성하였다. 공유 키를 사용함으로써 차량의 CDC와 차량 탑재 레이더 간의 통신 보안이 보장될 수 있다.
또한, 노드는 키 도출을 통해 원래의 공유 키에 기초하여 다른 키를 도출할 수 있다. 양측의 노드는 동일한 방법을 사용하여 키를 도출할 수 있으므로, 원래 공유 키에 기초하여 도출된 키도 공유 키로 간주될 수 있다. 예를 들어, 제1 노드는 공유 키 Kdh를 사용하여 세션 키 Kenc를 도출하고, 이에 상응하여, 제2 노드도 동일한 방법을 사용하여 세션 키 Kenc를 도출한다. 공유 키 Kdh는 제1 노드와 제2 노드에 의해 공유되는 비밀값이므로, 도출된 세션 키 Kenc도 제1 노드와 제2 노드 사이의 공유 키로 간주될 수 있다.
3. 멀티캐스트 통신
멀티캐스트 기술은 노드 그룹에게 정보를 전송하는 것을 목표로 한다. 이러한 방식으로, 노드 그룹은 통신 그룹으로 간주될 수 있다. 일부 시나리오에서, 이러한 통신 그룹은 또한 타깃 그룹 또는 멀티캐스트 그룹으로 지칭된다. 노드(예를 들어, 제1 노드로 지칭됨)가 복수의 타깃 노드에게 정보를 전송하는 경우, 제1 노드는 하나의 데이터만을 전송할 수 있으며, 데이터의 목적지 주소는 멀티캐스트 그룹 주소이다. 이러한 방식으로, 그룹에 속한 모든 타깃 노드는 제1 노드에 의해 전송된 전술한 데이터를 수신할 수 있다. 따라서, 멀티캐스트 모드에서, 유니캐스트 모드에서의 반복적인 데이터 전송과 반복적인 대역폭 점유 문제가 해결되고, 브로드캐스트 모드에서의 대역폭 자원 낭비가 또한 해결된다.
4. 보안 알고리즘
보안 알고리즘은 암호화 알고리즘, 무결성 보호 알고리즘, 키 도출 기능 등을 포함할 수 있다.
암호화 알고리즘은 대칭 암호화 알고리즘과 비대칭 암호화 알고리즘을 포함한다. 일반적으로, 대칭 암호화 알고리즘의 암호화 키와 복호화 키는 같고, 비대칭 암호화 알고리즘의 암호화 키와 복호화 키는 서로 다르다. 또한, 키가 필요 없는 해시 알고리즘도 있다. 일반적인 대칭 암호화 알고리즘은 주로 데이터 암호화 표준(data encryption standard, DES), 삼중 데이터 암호화 알고리즘(triple data encryption algorithm, 3DES), 고급 암호화 표준(advanced encryption standard, AES) 등을 포함한다. 일반적인 비대칭 암호화 알고리즘은 주로 RSA 암호화 알고리즘, 데이터 구조 분석(data structure analysis, DSA) 알고리즘 등을 포함한다. 해시 알고리즘은 주로 보안 해시 알고리즘(secure hash algorithm 1, SHA-1), 메시지 다이제스트(message digest, MD) 알고리즘(예: MD2, MD4 또는 MD5) 등을 포함한다.
무결성 보호 알고리즘은 메시지 무결성을 보호하는데 사용되는 알고리즘으로, 메시지 인증 코드(message authentication code, MAC) 알고리즘으로 지칭될 수 있다. 예를 들어, 해시 알고리즘을 사용하여 구현된 무결성 보호 알고리즘은 해시 기반 메시지 인증 코드(hash-based message authentication code, HMAC) 알고리즘으로 지칭되며, 여기서 해시 알고리즘은 MD5, SHA-1, SHA-256 등 중 하나일 수 있고, 이러한 다양한 HMAC 구현은 일반적으로 HMAC-MD5, HMAC-SHA1, HMAC-SHA256 등으로 표시된다. 또 다른 예로, 암호화 알고리즘에 기초하여 구현된 MAC 알고리즘은 암호 기반 메시지 인증 코드(cipher-based message authentication code, CMAC) 알고리즘으로 지칭될 수 있으며, 여기서 암호화 알고리즘은 AES일 수 있다. AES 블록 암호화에는 네 가지 작동 모드, 즉 ECB, CBC, CFB 및 OFB가 있으므로, 서로 다른 작업 모드의 블록 암호화 알고리즘에 기초하여 구현된 무결성 보호 알고리즘은 각각 ECB-MAC 알고리즘, CBC-MAC 알고리즘 등으로 지칭될 수 있다. 또한, 원-키 메시지 인증 코드(One-key CBC-MAC, OMAC)는 CBC-MAC 알고리즘에서 개선된 것이다. 또한, 무결성 보호 알고리즘은 갈루아 메시지 인증 코드(Galois message authentication code, GMAC), ZUC 암호화 알고리즘(예: ZUC128 및 ZUC256) 및 MD 알고리즘(예: MD2, MD4 또는 MD5)을 더 포함할 수 있다.
일부 특정 시나리오에서, 인증 암호화 알고리즘을 사용함으로써, 주어진 원래 텍스트에 대해 데이터가 암호화될 수 있고 주어진 원래 텍스트에 대해 메시지 인증 코드가 생성될 수 있다. 따라서, 인증 암호화 알고리즘은 암호화 알고리즘 또는 무결성 보호 알고리즘으로서 사용될 수 있다. 예를 들어, GMAC과 카운트 암호화 모드(AES-Galois/카운터 모드, AES-GCM)에 기초하는 AES 알고리즘과 CMAC과 카운트 암호화 모드(AES-CMAC/카운터 모드, AES-CCM)에 기초하는 AES 알고리즘이 메시지에 대한 인증 암호화를 수행할 수 있으며, 메시지의 무결성을 보호하기 위해 인증 암호화를 수행하는 과정에서 MAC이 생성될 수 있다.
키 도출 함수(key derivation function, KDF)는 비밀값에서 하나 이상의 비밀값을 도출하는 데 사용되며, 키 도출 알고리즘으로도 지칭된다. 예를 들어, 비밀값 Key에서 도출된 새로운 비밀값 DK는 DK = KDF(Key)와 같이 표현될 수 있다. 일반적인 키 도출 알고리즘은 비밀번호 기반 키 도출 함수(password-based key derivation function, PBKDF), 스크립트(scrypt) 알고리즘 등을 포함한다. PBKDF 알고리즘은 1세대 PBKDF1과 2세대 PBKDF2를 더 포함한다. 선택적으로, 일부 KDF 알고리즘의 키 도출 프로세스에서, 해시 알고리즘이 입력 비밀값에 대한 해시 변경을 수행하는 데 사용된다. 따라서, 알고리즘 식별자는 사용될 해시 알고리즘을 지시하기 위해 KDF 함수에서 입력으로서 추가로 수신될 수 있다.
본 출원의 실시예에서, 키 도출 프로세스에 사용되는 KDF에 대한 설명을 용이하게 하기 위해, "제1 KDF", "제2 KDF" 및 "제3 KDF"가 설명에 사용된다. "제1 KDF", "제2 KDF" 및 "제3 KDF"는 서로 다른 KDF일 수도 있고, 동일한 KDF일 수도 있다.
5. 신선도 파라미터
신선도(freshness) 파라미터는 키, 인증 파라미터 등을 생성하는 데 사용되며, 또한 신선도 또는 신선도 파라미터로 지칭될 수 있고, 1회성 숫자(number once, NONCE), 카운터(counter), 시리얼 번호(숫자), 프레임 번호 중 적어도 하나를 포함할 수 있다. NONCE는 한 번만(또는 반복되지 않고) 사용되는 랜덤값이다. 다른 순간에 생성되는 신선도 파라미터는 일반적으로 서로 다르다. 즉, 신선도 파라미터가 생성될 때마다 신선도 파라미터의 특정 값이 변경된다. 따라서, 이번에 키(또는 인증 파라미터 등)를 생성하는 데 사용되는 신선도 파라미터는 지난번에 키(또는 인증 파라미터 등)를 생성하는 데 사용된 신선도 파라미터와 다르다. 이는 생성된 키의 보안을 향상시킬 수 있다.
예를 들어, 신선도 파라미터는 난수 생성기(random number generator)를 사용하여 노드에 의해 획득되는 난수일 수 있다.
또 다른 예로서, 신선도 파라미터는 패킷 데이터 융합 프로토콜 카운트(packet data convergence protocol count, PDCP COUNT)일 수 있으며, PDCP 카운트는 업링크 PDCP 카운트 및 다운링크 PDCP 카운트를 더 포함할 수 있다. 제2 노드가 업링크 PDCP 데이터 패킷을 전송할 때마다 업링크 PDCP COUNT는 1씩 증가되고, 제1 노드가 다운링크 PDCP 데이터 패킷을 전송할 때마다 다운링크 PDCP COUNT가 1씩 증가된다. PDCP 카운트는 계속 변경되기 때문에, 매번 PDCP 카운트를 사용하여 생성된 키는 PDCP COUNT를 사용하여 지난번에 생성된 키와 다르다.
6. 프레임 번호
프로토콜 데이터 유닛(Protocol Data Unit, PDU)은 통신 중에 피어(peer) 계층 사이에 전송되는 데이터 유닛이다. 통신 시스템의 프로토콜 스택에서, 각각의 계층의 엔티티는 해당 계층의 엔티티에 대한 PDU를 설정할 수 있다. PDU는 상위 계층에 있는 엔티티의 정보와 현재 계층에 있는 엔티티의 추가 정보를 포함하고, 그 다음 다음의 계층으로 전송된다. 일부 시나리오에서, 현재 계층의 엔티티에 대한 정보는 첨부되지 않을 수 있다. 예를 들어 투명 전송일 수 있다. 예를 들어 논리적 링크 제어(Logical Link Control, LLC)와 미디어 액세스 제어(Media Access Control, MAC)라는 2개의 서브 계층의 경우, LLC 엔티티는 LLC PDU를 설정하고, MAC 엔티티는 MAC PDU를 설정할 수 있다. 설명의 편의를 위해, 통신 시스템에서 전송되는 프로토콜 데이터 유닛은 본 출원의 실시예에서 통칭하여 통신 프레임으로 지칭된다. 구체적으로, 제어 유형 프로토콜 데이터 유닛은 제어 프레임 또는 관리 프레임으로도 지칭될 수 있고, 데이터 유형 프로토콜 데이터 유닛은 데이터 프레임으로도 지칭될 수 있다. 예를 들어, 통신 프레임은 미디어 액세스 제어(media access control, MAC) 데이터 프레임일 수 있다.
네트워크를 사용하여 노드에 의해 수신되고 전송되는 통신 프레임은 시퀀스 번호로도 지칭되는 대응하는 시리얼 번호(serial number, SN)를 갖는다. 시리얼 번호의 값은 n개의 비트를 사용하여 지시되며, 다음의 통신 프레임의 시리얼 번호는 이전 통신 프레임의 시리얼 번호에 1을 더한 값이다. 예를 들어, 통신 프레임 A의 시리얼 번호 값이 192라고 가정하면, 다음의 통신 프레임 B의 시리얼 번호 값은 193이 된다. 시리얼 번호가 최대 표현값을 초과하여 시리얼 번호 롤오버(SN rollover)가 발생하는 경우, 후속 통신 프레임의 시리얼 번호 값은 이전 통신 프레임의 시리얼 번호보다 작다. 예를 들어, 시리얼 번호는 8비트이다. 제1 통신 프레임의 시리얼 번호는 0이고 매번 1씩 증가된다. 시리얼 번호가 0xFF로 증가할 때마다 시리얼 번호 롤오버가 발생한다. 즉, 시리얼 번호는 주기적 특성을 갖는다. n비트를 포함하는 시리얼 번호의 경우, 시리얼 번호는 2n개의 통신 프레임이 통과할 때마다 반복된다. 따라서, 통신 프레임은 고유한 시리얼 번호를 갖지 않지만, 각각의 시리얼 번호 주기(SN cycle)에서는 고유하다.
본 출원의 실시예에서, 프레임 번호(Frame Number, FN)는 N비트를 사용하여 지시된다. N비트는 통신 프레임의 시리얼 번호의 비트를 지시하는 데 사용되는 저차 n비트와, 레코드 값 비트를 지시하는 데 사용되는 고차(N-n) 비트를 포함한다. 레코드 값의 초기값은 0 또는 지정된 값이며, 통신 프레임의 시리얼 번호에 롤오버(rollover)가 발생하는 경우, 레코드 값이 1씩 증가된다. 예를 들어, 프레임 번호는 32비트이고, 시리얼 번호는 8비트이다. 레코드 값이 0x00 0000이고 통신 프레임의 시리얼 번호의 값이 0xFF라고 가정하면, 현재 프레임 번호는 0x0000 00FF이다. 다음의 데이터 패킷의 시리얼 번호 값은 1씩 증가된 후에 예약된다. 따라서, 다음의 프로토콜 데이터 유닛의 시리얼 번호 값은 0x00이다. 시리얼 번호에 롤오버가 발생하기 때문에, 레코드 값은 0x00 0001로 변경된다. 따라서, 다음의 프레임 번호는 0x0000 0100이다. 프레임 번호가 N비트의 수이므로, 프레임 번호는 또한 카운팅 주기(FN cycle)를 갖는다는 것을 이해할 수 있다. 프레임 번호가 최대값을 초과하는 경우, 프레임 번호 롤오버(FN rollover)가 또한 발생한다.
선택적으로, 프레임 번호 설정에 대해, PCDP 카운트의 관련 정의를 참조한다. PCDP COUNT는 프로토콜 데이터 유닛의 하이퍼 프레임 번호(Hyper Frame Number, HFN) 부분과 시리얼 번호 부분을 포함한다. 하이퍼 프레임 번호의 시작값은 0 또는 지정된 값으로 설정되며, 프로토콜 데이터 유닛의 시리얼 번호에서 롤오버가 발생하는 경우, 하이퍼 프레임 번호가 1씩 증가된다.
선택적으로, 노드는 복수의 프레임 번호를 유지할 수 있다. 예를 들어, 노드는 업링크 통신 프레임의 프레임 번호와 다운링크 통신 프레임의 프레임 번호를 별도로 유지할 수 있다. 업링크 통신 프레임을 전송하는 경우, 노드는 통신 프레임의 시리얼 번호 변경에 기초하여 업링크 통신의 프레임 번호를 1 증가시킬 수 있다. 다운링크 통신 프레임을 전송하는 경우, 노드는 통신 프레임의 시리얼 번호 변경에 기초하여 다운링크 통신 프레임의 프레임 번호를 조정할 수 있다.
다음은 본 출원의 실시예에서 시스템 아키텍처 및 서비스 시나리오에 대해 설명한다. 본 출원에서 설명되는 시스템 아키텍처 및 서비스 시나리오는 본 출원의 기술적 해결수단을 보다 명확하게 설명하기 위한 것이며, 본 출원에서 제공되는 기술적 해결수단에 대한 제한을 구성하지 않는다. 당업자는 시스템 아키텍처가 진화하고 새로운 서비스 시나리오가 등장함에 따라 본 출원에서 제공되는 기술적 해결수단이 유사한 기술 문제에도 적용 가능하다는 것을 알 수 있다.
도 1은 본 출원의 실시예에 따른 통신 시스템 아키텍처의 개략도이다. 통신 시스템은 제1 노드(101), 제1 통신 그룹(102), 제2 노드(103) 및 제2 노드(104)를 포함한다.
제1 통신 그룹(102)은 복수의 제2 노드를 포함하며, 제2 노드(103) 및 제2 노드(104)는 모두 제1 통신 그룹(103)에 속하는 노드이다. 제1 통신 그룹(102)은 하나의 제2 노드를 포함할 수 있거나, 또는 복수의 제2 노드를 포함할 수 있는 것으로 이해될 수 있다. 여기서, 제1 통신 그룹(102)이 두 개의 제2 노드를 포함하는 예시만이 설명에 사용된다. 이는 본 출원에서 제한되지 않는다. 선택적으로, 제1 노드(101)는 또한 1차 노드 또는 액세스 포인트(access point, AP)로도 지칭될 수 있다. 이에 상응하여, 제1 통신 그룹(102)의 제2 노드(103) 또는 제2 노드(104)는 2차 노드로 지칭될 수 있다.
제1 노드(101)는 제1 통신 그룹(102)의 노드와 멀티캐스트 통신을 수행할 수 있거나, 또는 제1 통신 그룹의 제2 노드(103)(또는 제2 노드(104))와 유니캐스트 통신을 수행할 수 있다. 선택적으로, 통신 데이터 링크는 다양한 유형의 연결 매체를 포함할 수 있다. 예를 들어, 글로벌 이동 통신 시스템(Global System for Mobile communications, GSM), 일반 패킷 무선 서비스(General Packet Radio Service, GPRS) 및 범용 이동 통신 시스템(Universal Mobile Telecommunications System, UMTS)과 같은 무선 액세스 유형 기술을 포함하는 장거리 연결 기술일 수 있고, 다른 예로, 802.11b/g, 블루투스(Bluetooth), 지그비(Zigbee), 무선 주파수 식별(Radio Frequency Identification, RFID) 기술, 초광대역(Ultra-Wideband, UWB) 기술, 차량 내 무선 단거리 전송 기술 등일 수 있다. 물론, 제1 노드(101)와 제2 노드 사이의 통신을 지원하는 데 사용될 수 있는 또 다른 기술이 있다.
제1 노드(101)는 제1 통신 그룹(102)의 복수의 제2 노드와 멀티캐스트 통신을 수행할 수 있고, 통신 메시지가 암호화되어 그룹 내 구성원만이 암호화된 패킷을 해석할 수 있고, 그룹 외 구성원은 패킷 내용을 획득할 수 없도록 하여 멀티캐스트 통신의 보안을 보호할 수 있다. 그룹의 제2 노드(103)의 경우, 제1 노드 (101)는 제2 노드(103)에게 그룹 키를 전송해야 하므로 제2 노드(103)가 그룹 키를 사용하여 멀티 캐스트 메시지를 해독할 수 있다.
제1 노드(101)는 시그널링 플레인 암호화 키(예를 들어, 제1 노드(101)와 제2 노드(103) 사이의 유니캐스트 키 PTK)를 사용하여 그룹 키를 포함하는 시그널링 메시지를 암호화하고, 암호화된 시그널링 메시지를 제2 노드(103)에게 전송할 수 있다.
설명의 편의를 위해, 제2 노드(103)는 본 명세서에서 설명의 예로서 사용된다. 그룹의 제2 노드(104)의 경우, 제1 노드(101)도 그룹 키를 제2 노드(104)로 전송해야 하므로 제2 노드(104)가 그룹 키를 사용하여 멀티캐스트 메시지를 복호화할 수 있다.
예를 들어, 도 2는 본 출원의 실시예에 따른 통신 방법의 적용 시나리오의 개략도이다. 차량의 콕핏 도메인 제어기(CDC)(201)는 스마트 콕핏 장치 내의 제어 센터로서, 제1 노드(101)로서 간주될 수 있다. 카메라(202)와 카메라(203)는 차량 카메라 장치이다. 제어의 편의를 위해, 카메라(202)와 카메라(203)는 통신 그룹으로서 구성된다. CDC(201)는 와이파이(Wireless Fidelity, Wi-Fi) 기술을 사용하여 카메라(202) 및 카메라(203)와 멀티캐스트 통신을 수행할 수 있다. 멀티캐스트 통신에 앞서, CDC(201)는 CDC(201)와 카메라(203)의 시그널링 플레인 암호화 키를 사용하여 그룹 키를 포함하는 시그널링 메시지를 암호화한 후, 암호화된 시그널링 메시지를 카메라(203)로 전송할 수 있다. 이에 상응하여, CDC(201)는 CDC(201)와 카메라(203)의 시그널링 플레인 암호화 키를 사용하여 그룹 키를 포함하는 시그널링 메시지를 암호화한 후, 암호화된 시그널링 메시지를 카메라(202)로 전송할 수 있다.
그러나, 전술한 방식에서, 그룹 키는 시그널링 플레인 메시지의 암호화에 따라 보호된다. 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않은 경우, 그룹 키는 보호될 수 없으며, 이로 인해 그룹 키가 유출될 수 있다.
예를 들어, 도 2를 참조한다. 공격 장치(204)는 멀티캐스트 통신을 청취할 수 있다. 신호 플레인 메시지에 대해 암호화가 활성화되어 있지 않은 경우, 공격자는 그룹 키를 운반하는 시그널링 메시지를 청취함으로써 그룹 키를 획득한 다음, 멀티캐스트 통신의 컨텐츠를 훔치거나 청취하거나, 또는 심지어 CDC(201)에 대한 공격을 개시하여 차량 안전을 위협할 수 있다.
도 3은 본 출원의 실시예에 따른 통신 방법의 개략적인 흐름도이다. 이 방법은 도 1에 도시된 아키텍처에 기초하여 구현될 수 있다. 이 방법은 다음의 단계를 포함하지만 이에 제한되지 않는다.
단계 S301: 제2 노드는 제1 노드에게 연관 요청 메시지를 전송한다.
구체적으로, 제2 노드는 무선 링크(예를 들어, Wi-Fi, 블루투스, 지그비 또는 차량 내 근거리 무선 통신 링크와 같은 다른 근거리 무선 링크 중 하나) 또는 유선 링크(예를 들어, 광섬유)를 사용하여 제1 노드에게 제1 연관 요청 메시지를 전송할 수 있다. 이에 상응하여, 제1 노드는 제2 노드로부터 제1 연관 요청 메시지를 수신한다.
선택적으로, 연관 요청 메시지는 제2 노드의 장치 식별자를 포함할 수 있다. 노드의 장치 식별자는 신원(identity, ID), 미디어 액세스 제어(MAC) 주소, 도메인 이름, 도메인 주소 또는 기타 사용자 정의 식별자일 수 있다.
이 방법에서, 제1 노드는 액세스 메시지 또는 브로드캐스트 메시지를 전송할 수 있고, 제2 노드는 제1 노드로부터 액세스 메시지 또는 브로드캐스트 메시지를 수신할 수 있다. 제2 노드는 액세스 메시지 또는 브로드캐스트 메시지에 기초하여 제1 노드에게 제1 연관 요청 메시지를 전송한다. 구체적으로, 제1 노드의 액세스 메시지 또는 브로드캐스트 메시지는 제1 노드의 신원, 제1 노드의 설명 정보, 다른 노드의 액세스를 지시하는 데 사용되는 정보 중 적어도 하나를 포함할 수 있다.
선택적으로, 제1 연관 요청 메시지는 제2 노드에 의해 지원되는 보안 알고리즘(또는 제2 노드의 보안 능력(Sec Capabilities))에 대한 정보를 더 포함할 수 있다. 보안 알고리즘에 대한 정보는 보안 알고리즘의 이름, 식별자, 미리 정의된 심볼 등일 수 있다. 제2 노드에 의해 지원되는 보안 알고리즘에 대한 정보는 제1 노드와 제2 노드 사이의 보안 알고리즘(또는 유니캐스트 보안 알고리즘), 제1 통신 그룹의 그룹 보안 알고리즘 중 하나 이상을 결정하기 위해 제1 노드에 의해 사용될 수 있다.
또한, 선택적으로, 제1 노드로부터 연관 요청 메시지를 수신한 후, 제2 노드는 제2 노드로 보안 컨텍스트 요청 메시지를 전송할 수 있다. 보안 컨텍스트 요청 메시지는 제1 노드에 의해 결정된 유니캐스트 보안 알고리즘에 대한 정보와 제1 신원 인증 정보를 포함하며, 제1 신원 인증 정보는 제1 노드의 신원을 인증하기 위해 제2 노드에 의해 사용된다. 또한, 제2 노드는 보안 컨텍스트 응답 메시지를 제1 노드에게 피드백할 수 있다. 보안 컨텍스트 응답 메시지는 제2 신원 인증 정보를 포함하며, 제2 신원 인증 정보는 제2 노드의 신원을 검증하기 위해 제1 노드에 의해 사용된다.
단계 S302: 제1 노드는 제1 통신 그룹의 그룹 키를 결정한다.
구체적으로, 제1 통신 그룹은 제2 노드가 속하는 통신 그룹이다. 선택적으로, 제1 노드는 제2 노드의 장치 식별자를 미리 획득하여, 제2 노드의 장치 식별자에 기초하여 제2 노드가 속한 통신 그룹을 결정할 수 있다. 즉, 제2 노드의 장치 식별자와 통신 그룹 사이에 대응관계가 있다. 예를 들어, 대응관계에 대해서는 [표 1]을 참조한다. [표 1]은 본 출원의 본 실시예에서 제공되는 가능한 통신 그룹 정보 표이다. 통신 그룹 정보 표에서 디스플레이되는 대응관계는 제1 노드에 미리 구성되거나 미리 정의되어 있을 수 있다. 특정 구성 및 정의 방식은 표 방식에 한정되지 않으므로, 대응관계가 반영될 수 있다. 통신 그룹 정보 표는 통신 그룹의 ID와 통신 그룹에 포함된 노드를 포함한다. 선택적으로, 통신 그룹의 그룹 키 또는 그룹 알고리즘과 같은 정보가 추가로 포함될 수 있다. 제1 노드는 제2 노드의 장치 식별자에 기초하여 제1 노드가 위치한 제1 통신 그룹의 그룹 키를 결정할 수 있다. 예를 들어, 제2 노드의 장치 식별자가 "E0"인 경우, 제1 노드는 ID가 "GID1"인 통신 그룹의 그룹 키를 결정한다.
Figure pct00001
[표 1] 통신 그룹 정보 표
선택적으로, 제1 노드는 적어도 다음의 방법을 사용하여 제1 통신 그룹의 그룹 키를 결정하거나 획득할 수 있다:
방법 1: 제1 노드는 제1 통신 그룹의 ID에 기초하여 제1 통신 그룹의 그룹 키를 결정하며, 여기서 제1 통신 그룹의 ID와 제1 통신 그룹의 그룹 키 사이에 대응관계가 존재한다. 구체적으로, 통신 그룹의 ID와 그룹 키 사이의 대응관계는 제1 노드에 미리 정의되거나 미리 구성된다. 따라서, 제1 노드는 제1 통신 그룹의 ID에 기초하여 제1 통신 그룹의 그룹 키를 결정할 수 있다. 예를 들어, [표 1]을 참조한다. 제1 노드는 통신 그룹의 ID "GID1"에 기초하여 통신 그룹의 그룹 키가 "GK1"임을 결정할 수 있다.
방법 2: 제1 노드는 NONCEa를 한 번 획득한 후, 제1 통신 그룹의 그룹 키로서 NONCEa를 사용한다.
방법 3: 제1 노드는 제2 KDF를 사용하여 제1 신선도 파라미터 및 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 제1 통신 그룹의 그룹 키를 생성한다. 제1 신선도 파라미터는 제1 노드에 의해 획득(또는 생성)된 신선도 파라미터이며, 하나 이상의 제1 신선도 파라미터가 존재할 수 있다. 선택적으로, 제2 KDF는 제1 노드에서 가장 높은 우선순위를 갖는 KDF 알고리즘일 수 있다. 제1 노드가 제2 KDF를 사용하여 제1 신선도 파라미터 및 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 제1 통신 그룹의 그룹 키를 생성하는 것은 구체적으로 다음과 같은 구현을 포함하다:
구현 1: 제1 노드는 제2 KDF를 사용하여 제1 신선도 파라미터와 제1 통신 그룹의 ID에 기초하여 제1 통신 그룹의 그룹 키를 생성한다. 예를 들어, 제1 신선도 파라미터는 신선도 파라미터 NONCEg이고 제1 통신 그룹의 ID는 GID이다. 제1 통신 그룹의 생성된 그룹 키는 다음의 수학식: GK = 제2 KDF(NONCEg, GID)을 충족한다.
구현 2: 제1 노드는 제2 KDF를 사용하여 제1 신선도 파라미터에 기초하여 제1 통신 그룹의 그룹 키를 생성한다. 예를 들어, 제1 신선도 파라미터는 신선도 파라미터 NONCEg1 및 신선도 파라미터 NONCEg2이며, 제1 통신 그룹의 ID는 GID이다. 제1 통신 그룹의 생성된 그룹 키는 다음의 수학식: GK = KDF(NONCEg1, NONCEg2)을 충족한다.
구현 3: 제1 노드는 제2 KDF를 사용하여 제1 통신 그룹의 그룹 ID에 기초하여 제1 통신 그룹의 그룹 키를 생성한다. 예를 들어, 제1 통신 그룹의 생성된 그룹 키는 다음의 수학식: GK = KDF(GID)을 충족한다.
선택적으로, GK 생성에 참여하는 파라미터는 다른 정보, 예를 들어 생성된 키의 길이, 사용된 해시 알고리즘의 식별자 등 중 하나 이상을 더 포함할 수 있다.
선택적으로, 제1 노드는 그룹 키 GK의 식별자: GK ID를 생성할 수 있다. 또한, 제1 노드는, 다음에 그룹 키가 결정될 때, GK ID에 의해 지시되는 그룹 키 GK를 획득하기 위해 제1 통신 그룹의 ID에 기초하여 대응하는 GK ID가 결정될 수 있도록, GK ID와 제1 통신 그룹의 ID 사이의 대응관계를 추가로 설정할 수 있다.
제1 통신 그룹의 그룹 키를 결정하기 전에, 제1 노드는 제1 통신 그룹이 대응하는 그룹 키를 갖고 있는지 여부를 먼저 결정할 수 있다는 점에 유의해야 한다. 대응하는 그룹 키가 존재하는 경우, 제1 통신 그룹의 그룹 키는 방법 1에서 설명된 방법을 사용하여 결정되거나, 또는 대응하는 그룹 키가 존재하지 않는 경우, 제1 통신 그룹의 그룹 키는 방법 2 또는 방법 3에서 설명된 방법을 사용하여 결정된다. 예를 들어, 새로운 통신 그룹이 생성되는 경우, 새로운 통신 그룹이 대응하는 그룹 키를 갖고 있지 않기 때문에, 제1 통신 그룹의 그룹 키는 방법 2 또는 방법 3에서 설명된 방법을 사용하여 결정될 수 있다.
단계 S303: 제1 노드는 제1 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화한다.
구체적으로, 공유 키는 제1 노드와 제2 노드 사이에 공유되는 비밀값이다. 예를 들어, 제1 노드와 제2 노드는 공개키를 교환함으로써 키 S를 생성할 수 있고, 제1 노드에 의해 생성된 키 S의 값은 제2 노드에 의해 생성된 키 S의 값과 동일하다. 따라서, 키 S는 제1 노드와 제2 노드 사이의 공유 키로서 사용될 수 있다.
선택적으로, 제1 노드가 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 것은, 적어도 다음의 몇 가지 구현 해결수단을 포함할 수 있다:
구현 해결수단 1: 제1 노드는 제1 보호 키를 획득하기 위해 공유 키를 사용하여 그룹 키를 암호화한다. 예를 들어, 도 4를 참조한다. 도 4는 본 출원의 실시예에 따른 그룹 키 암호화의 가능한 개략도이다. 제1 노드는 제1 보호 키(403)를 획득하기 위해 공유 키(402)를 사용하여 제1 통신 그룹의 그룹 키(401)를 암호화한다.
선택적으로, 공유 키는 제1 노드와 제2 노드 사이의 유니캐스트 키일 수 있다. 예를 들어, 제1 노드는 유니캐스트 암호화 키를 사용하고 유니캐스트 암호화 알고리즘에 기초하여 제1 통신 그룹의 그룹 키를 암호화한다.
구현 해결수단 2: 제1 노드는 제1 보호 키를 획득하기 위해 공유 키와 제2 신선도 파라미터를 사용하여 그룹 키를 암호화할 수 있다. 제2 신선도 파라미터는 제1 노드에 의해 획득(또는 생성)된 NONCE, 카운터 값, 프레임 번호 등 중 하나 이상이다. 예를 들어, 제2 신선도 파라미터는 제1 노드에 의해 생성된 NONCEk일 수 있거나, 또는 제1 노드와 제2 노드 사이에 교환된 공개 키일 수 있다. 신선도 파라미터의 값이 다르기 때문에, 매번 제1 통신 그룹의 동일한 그룹 키를 암호화하여 획득되는 제1 보호 키도 다르다. 이는 그룹 키의 프라이버시를 향상시킨다. 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 횟수를 나타내는 데 사용된다.
구현 해결수단 3: 제1 노드는 제1 보호 키를 획득하기 위해 공유 키에 기초하여 제1 중간 키를 생성하고, 제1 중간 키를 사용하여 그룹 키를 암호화한다. 예를 들어, 도 5를 참조한다. 도 5는 본 출원의 실시예에 따른 그룹 키 암호화의 가능한 개략도이다. 제1 노드는 제1 보호 키(502)를 획득하기 위해 공유 키(504)에 기초하여 제1 중간 키(503)를 생성하고, 제1 중간 키(503)를 사용하여 그룹 키(501)를 암호화한다.
구현 해결수단 4: 제1 노드는 제1 보호 키를 획득하기 위해 공유 키와 제2 신서도 파라미터에 기초하여 제1 중간 키를 생성하고, 제1 중간 키를 사용하여 그룹 키를 암호화한다
예를 들어, 제1 노드는 제1 KDF, 예를 들어, Kg = 제1 KDF(kdh, counter1)를 사용하여 공유 키 Kdh와 제1 카운터의 값 counter1에 기초하여 제1 중간 키 Kg를 생성한다. 제1 카운터는 제1 노드가 공유 키 Kdh에 기초하여 제1 중간 키 Kg를 생성하는 횟수를 나타내는 데 사용될 수 있다. 여기서, 생성된 제1 중간 키 Kg는 제1 통신 그룹의 그룹 키를 암호화하는 데 사용되므로, 중간 키를 생성하는 횟수는 그룹 키를 암호화하는 횟수를 나타낼 수도 있다. 예를 들어, 카운터 값은 1부터 시작한다. 제1 중간 키는 공유 키 Kdh와 제1 카운터의 값 counter1에 기초하여 처음 생성되는 경우, 카운터 값은 1이다. 이에 상응하여, 제1 중간 키 Kg가 공유 키 Kdh와 제1 카운터의 값 counter1에 기초하여 두 번째로 생성되는 경우, counter1은 2이다. 또한, 선택적으로, 제1 카운터의 값이 미리 정의되거나 미리 설정된 임계값보다 크거나 같은 경우, 제1 노드는 공유 키 Kdh를 업데이트할 수 있으며, Kdh가 업데이트된 후 제1 카운터는 카운팅을 다시 시작할 수 있다.
가능한 설계에서, 생성된 제1 중간 키가 제1 통신 그룹의 그룹 키를 암호화하지 못하거나, 또는 제1 통신 그룹의 그룹 키가 전송되지 못하는 경우, 제1 중간 키 생성에 다시 참여하는 제1 카운터의 값은 카운터의 이전 값일 수 있다.
또 다른 예로, 제1 노드는 제1 KDF, 예를 들어 Kg = 제1 KDF(Kenc, NONCEk)를 사용하여 세션 키 Kenc 및 1회성 숫자 NONCEk에 기초하여 제1 중간 키 Kg를 생성한 다음, 제1 보호 키를 획득하기 위해 Kg를 사용하여 제1 통신 그룹의 그룹 키를 암호화한다. 또 다른 예로, 제1 노드는 제1 KDF, 예를 들어 Kg = 제1 KDF(Kenc, NONCEk(또는 counter))를 사용하여 공유 키 Kgt(공유 키 Kgt는 구체적으로 공유 키 Kdh에서 도출될 수 있음)와 1회성 숫자 NONCK(또는 카운터 값 counter)에 기초하여 제1 중간 키 Kg를 생성한 다음, 제1 보호 키를 획득하기 위해 Kg를 사용하여 제1 통신 그룹의 그룹 키를 암호화한다.
제1 노드가 제1 중간 키를 사용하여 제1 통신 그룹의 그룹 키를 암호화하는 것은 구체적으로 다음과 같을 수 있다: 제1 노드는 제1 통신 그룹의 그룹 키와 제1 중간 키에 대해 배타적 OR 처리를 수행하여 제1 보호 키를 획득한다. 예를 들어, 암호화를 통해 제1 노드에 의해 획득된 제1 보호 키 GKc는 다음의 수학식: GKc = GK
Figure pct00002
Kg를 충족할 수 있으며, 여기서 GK는 제1 통신 그룹의 그룹 키이고,
Figure pct00003
는 배타적 OR 처리이며, Kg는 제1 중간 키이다. 배타적 OR 처리를 두 번 수행한 후에 원래 값이 획득될 수 있으므로, 제1 노드는 제1 중간 키와 제1 통신 그룹의 그룹 키에 대해 배타적 OR 처리를 수행한다. 제1 보호 키를 수신한 후, 제2 노드는 동일한 제1 중간 키를 생성하고, 제1 통신 그룹의 키를 획득하기 위해 제1 중간 키와 제1 보호 키에 대해 배타적 OR 처리를 수행할 수 있다. "배타적 OR"는 특정 암호화 처리 방식일 수 있음을 이해할 수 있다.
선택적으로, 제1 노드는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되지 않은 것으로 결정하고, 시그널링 플레인 메시지에 대해 암호화가 활성화되지 않은 경우 제1 보호 키를 획득하기 위해 제1 통신 그룹의 그룹 키를 암호화한다. 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화된 경우, 제1 노드는 제2 노드로 제2 연관 설정 메시지를 전송한다. 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함한다. 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속하기 때문에, 그룹 키는 시그널링 플레인 메시지를 암호화함으로써 보호될 수 있다.
단계 S304: 제1 노드는 제2 노드로 제1 연관 설정 메시지를 전송한다.
제1 노드는 제2 노드로 제1 연관 설정 메시지를 전송하고, 이에 상응하여, 제2 노드가 제1 노드로부터 제1 연관 설정 메시지를 수신하는 것으로 이해될 수 있다. 연관 설정 메시지는 제1 보호 키를 포함한다. 예를 들어, 도 4를 참조한다. 제1 노드는 제2 노드로 제1 연관 설정 메시지(404)를 전송하고, 제2 노드는 제1 노드로부터 제1 연관 설정 메시지(404)를 수신한다. 다른 예에 대해서는 도 5를 참조한다. 제1 노드는 제2 노드로 제1 연관 설정 메시지(505)를 전송하고, 제2 노드는 제1 노드로부터 연관 설정 메시지(505)를 수신한다.
선택적으로, 제1 연관 설정 메시지는 제2 신선도 파라미터를 더 포함할 수 있으며, 제2 신선도 파라미터는 제1 보호 키를 복호화하기 위해 제2 노드에 의해 사용될 수 있다.
또한, 선택적으로, 제2 신선도 파라미터가 카운터의 값인 경우, 제2 노드는 제1 노드의 카운터 값에 대응하는 카운터 값을 획득할 수도 있다. 따라서, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함하지 않을 수 있다. 예를 들어, 제1 노드의 제1 카운터 값은 제2 신선도 파라미터로 사용되며, 제1 카운터 값은 그룹 키를 암호화하는 횟수를 나타낸다. 제2 노드는 또한 제2 카운터 값을 획득하고, 제2 카운터 값은 그룹 키를 복호화하는 횟수를 나타내는 데 사용되며, 제2 카운터 값은 제1 카운터 값에 대응한다. 따라서, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함하지 않을 수 있다.
선택적으로, 제1 연관 설정 메시지는 메시지 인증 코드를 더 포함하며, 메시지 인증 코드는 제1 연관 설정 메시지의 무결성을 인증하기 위해 제2 노드에 의해 사용된다.
또한, 선택적으로, 제1 노드는 암호화 키를 사용하여 제1 연관 설정 메시지를 암호화할 수 있다. 이에 상응하여, 제2 노드는 제1 연관 설정 메시지의 컨텐츠를 획득하기 위해 대응하는 복호화 키를 사용하여 제1 연관 설정 메시지를 복호화할 수 있다.
단계 S305: 제2 노드는 제1 노드와 제2 노드 사이의 공유 키 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득한다. 선택적으로, 제2 노드는 제1 통신 그룹의 그룹 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 보호 키를 복호화할 수 있다.
구체적으로, 공유 키는 제1 노드와 제2 노드 사이에 공유되는 비밀값이다. 따라서, 제2 노드는 제1 통신 그룹의 그룹 키를 획득하기 위해 공유 키를 사용하여 제1 보호 키를 복호화할 수 있다.
선택적으로, 제1 노드가 그룹 키를 암호화하는 방식에 대응하여, 제2 노드가 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 보호 키를 복호화하는 것은, 적어도 다음의 몇 가지 구현 해결수단을 포함할 수 있다:
구현 해결수단 1: 제2 노드는 제1 통신 그룹의 그룹 키를 획득하기 위해 공유 키를 사용하여 제1 보호 키를 복호화한다. 예를 들어, 도 4를 참조한다. 제1 노드는 제1 통신 그룹의 그룹 키(401)를 획득하기 위해 공유 키(402)를 사용하여 제1 보호 키(403)를 복호화한다.
구현 해결수단 2: 제2 노드는 제1 통신 그룹의 그룹 키를 획득하기 위해 공유 키와 제2 신선도 파라미터를 사용하여 제1 보호 키를 복호화할 수 있다.
구현 해결수단 3: 제2 노드는 제1 통신 그룹의 그룹 키를 획득하기 위해 공유 키에 기초하여 제1 중간 키를 생성하고, 제1 중간 키를 사용하여 제1 보호 키를 복호화한다. 예를 들어, 도 5를 참조한다. 제2 노드는 공유 키(504)에 기초하여 제1 중간 키(503)를 생성하고, 제1 통신 그룹의 그룹 키(501)를 획득하기 위해 제1 중간 키(503)를 사용하여 제1 보호 키(502)를 복호화한다.
구현 해결수단 4: 제2 노드는 공유 키와 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고, 제1 통신 그룹의 그룹 키를 획득하기 위해 제1 중간 키를 사용하여 제1 보호 키를 복호화한다. 예를 들어, 제2 노드는 제1 KDF, 예를 들어 Kg = 제1 KDF(kdh, counter1)를 사용하여 공유 키 Kdh와 제1 카운터의 값 counter1에 기초하여 제1 중간 키 Kg를 생성한다. 제1 카운터는 제1 노드가 공유 키 Kdh에 기초하여 제1 중간 키 Kg를 생성하는 횟수를 나타내는 데 사용될 수 있다. 또 다른 예로, 제2 노드는 제1 KDF, 예를 들어 Kg = 제1 KDF(Kenc, NONCEk)를 사용하여 세션 키 Kenc와 제2 신선도 파라미터 NONCEk에 기초하여 제1 중간 키 Kg를 생성한다. 또 다른 예로, 제1 노드는 제1 KDF, 예를 들어 Kg = 제1 KDF(Kenc, NONCEk(또는 counter))를 사용하여 공유 키 Kgt와 1회성 숫자 NONCK(또는 카운터 값 counter)에 기초하여 제1 중간 키 Kg를 생성한다.
선택적으로, 제2 노드가 제1 중간 키를 사용하여 제1 보호 키를 복호화하는 것은 구체적으로 다음과 같을 수 있다: 제2 노드는 제1 보호 키와 제1 중간 키에 대해 배타적 OR 처리를 수행하여 제1 통신 그룹의 그룹 키를 획득한다. 예를 들어, 제2 노드는 제1 보호 키 GKc를 복호화하여 제1 통신 그룹의 그룹 키 GK를 획득하며, 이는 다음의 수학식: GK = GKc
Figure pct00004
Kg를 충족할 수 있다.
선택적으로, 제2 노드는 연관 완료 메시지를 제1 노드에게 추가로 전송할 수 있다. 연관 완료 메시지는 제1 노드에 대해 연관이 성공적으로 설정되었음을 지시하는 데 사용된다. 선택적으로, 제2 노드는 암호화 키를 사용하여 연관 완료 메시지를 암호화할 수 있다. 이에 상응하여, 제1 노드는 대응하는 복호화 키를 사용하여 연관 완료 메시지를 복호화하여 연관 완료 메시지의 데이터 컨텐츠를 획득할 수 있다. 선택적으로, 연관 완료 메시지는 메시지 인증 코드를 포함하며, 메시지 인증 코드는 연관 완료 메시지의 무결성을 검증하기 위해 제1 노드에 의해 사용된다.
선택적으로, 제1 연관 설정 메시지는 제1 통신 그룹의 그룹 보안 알고리즘을 지시하는 정보를 더 포함할 수 있다. 구체적으로, 제1 노드는 제1 통신 그룹의 그룹 보안 알고리즘을 결정할 수 있다. 그룹 보안 알고리즘은 그룹 내 노드에 의해 지원되는 알고리즘으로, 그룹 알고리즘으로도 지칭될 수 있으며, 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘, 그룹 KDF 알고리즘 중 하나 이상을 포함할 수 있다.
전술한 구현에서 "복호화"는 독립적인 단계일 수 있거나, 또는 기능에 대한 설명일 수 있다는 점에 유의해야 한다. 즉, 다른 정보가 정보를 복호화함으로써 획득될 수 있고, 다른 정보가 복호화 방식으로 정보를 사용함으로써 획득될 수 있다.
또한 선택적으로, 제1 노드가 제1 통신 그룹의 그룹 보안 알고리즘을 결정하는 것은 적어도 다음의 사례를 포함한다:
사례 1: 제1 통신 그룹에 대응하는 그룹 보안 알고리즘이 제1 노드에서 미리 구성되거나 정의되어 있다. 따라서, 제1 노드는 제1 통신 그룹의 식별자(예: 제1 통신 그룹의 번호)에 기초하여 대응하는 그룹 보안 알고리즘을 결정할 수 있다. 예를 들어, 그룹 무결성 보호 알고리즘이 예로서 사용된다. 도 6a 및 도 6b는 본 출원의 실시예에 따른 그룹 보안 알고리즘을 결정하는 방법의 개략도이다. 통신 그룹의 ID에 대응하는 그룹 알고리즘은 통신 그룹의 ID에 기초하여 결정될 수 있음을 알 수 있다. 예를 들어, 영역(601)의 정보를 참조한다. 그룹 식별(group identify, GID)이 GID2인 통신 그룹에 대응하는 그룹 무결성 보호 알고리즘은 ZUC 암호화 알고리즘(ZUC)임을 알 수 있다. 선택적으로, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘 중 가장 높은 우선순위를 갖는 알고리즘이다.
사례 2: 제1 노드는 알고리즘 선택 정책에 기초하여 그룹 보안 알고리즘을 결정할 수 있으며, 여기서 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책과 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다. 도 6a 및 도 6b를 참조한다. 제1 알고리즘 선택 정책이 우선순위 기반 알고리즘 선택 정책인 예가 사용된다. 영역(602)의 정보를 참조한다. 노드 E0은 ID가 GID1인 통신 그룹의 노드이고, 통신 그룹 GID1은 노드 E0, 노드 E1 및 노드 E2를 포함함을 알 수 있다. 제1 노드는 그룹 내 노드의 보안 능력(Sec Capabilities) 정보를 획득할 수 있다. 영역(603)의 정보를 참조한다. 노드 E0에 의해 지원되는 무결성 보호 알고리즘은 AES-CCM, ZUC, 및 AES-GCM이고, 노드 E1에 의해 지원되는 무결성 보호 알고리즘은 AES-CCM 및 AES-GCM이며, 노드 E2에 의해 지원되는 보안 알고리즘은 AES-CCM 및 AES-GCM이고, 그룹 내 모든 노드가 AES-CCM 및 AES-GCM을 지원하는 것을 알 수 있다. 영역(604)을 참조한다. AES-CCM의 우선 순위가 1임을 알 수 있다. 영역(605)를 참조한다. AES-GCM의 우선 순위가 3임을 알 수 있다. 따라서, AES-CCM이 무결성 보호 알고리즘으로 결정될 수 있다.
선택적으로, 시퀀스 기반 알고리즘 선택 정책에서, 미리 정의되거나 또는 미리 설정된 시퀀스에 기초하여 앞의 시퀀스의 보안 알고리즘이 결정될 수 있다. 또한 선택적으로, 통신 그룹 내 노드에 의해 지원되는 두 알고리즘의 우선순위가 동일한 경우, 앞 시퀀스의 보안 알고리즘이 선택될 수 있다.
또한 선택적으로, 제1 통신 그룹의 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함한다. 제1 노드는 그룹 키의 유형 및 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성할 수 있다. 세션 키의 유형은 시그널링 플레인 암호화 키, 시그널링 플레인 무결성 보호 키, 사용자 플레인 암호화 키, 사용자 플레인 무결성 보호 키 등 중 하나 이상을 포함할 수 있다. 예를 들어, 시그널링 플레인 암호화 키가 예로서 사용된다. 시그널링 플레인 암호화 키 Kenc는 제1 통신 그룹의 그룹 키 GK와 시그널링 플레인 암호화 키의 키 유형 "enc"에 기초하여 제3 KDF, 예를 들어, Kenc = 제3 KDF(GK, "enc")를 사용하여 생성된다. 또 다른 예로서, 제3 KDF는 구체적으로 복수의 해시 알고리즘을 포함할 수 있으며, 알고리즘 식별자는 사용될 해시 알고리즘을 지시하는 데 사용될 수 있다. 따라서, 생성된 암호화 키 Kenc는 다음의 수학식: Kenc = 제3 KDF(GK, 키 유형, 알고리즘 식별자)를 추가로 충족시킬 수 있다. 또한, 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응할 수 있다. 본 출원에서, 전술한 네 가지 유형만 예로서 사용된다. 특정 구현에서, 다른 유형의 세션 키가 추가로 포함될 수 있다.
도 3에 도시된 실시예에서, 제2 노드로부터 연관 요청을 수신한 후, 제2 노드는 제2 노드가 속한 제1 통신 그룹의 그룹 키를 결정한 다음, 제1 노드와 제2 노드 사이의 공유 키를 사용하여 그룹 키를 암호화하여 제1 보호 키를 획득하고, 제1 보호 키를 연관 설정 메시지에서 운반하며, 제2 노드에게 연관 설정 메시지를 전송할 수 있다. 연관 설정 메시지에서 운반되는 보호 키는 공유 키를 사용하여 그룹 키를 암호화함으로써 획득되기 때문에, 제1 연관 설정 메시지가 암호화되었는지 여부와 관계없이 그룹 키의 프라이버시가 보호될 수 있음을 알 수 있다. 이와 같이, 제1 통신 그룹과 멀티캐스트 통신을 수행하는 경우, 제1 노드는 그룹 키를 사용하여 멀티캐스트 메시지를 암호화하여 멀티캐스트 메시지를 보호할 수 있고, 그룹 구성원이 아닌 자가 통신 컨텐츠를 획득하는 것을 방지할 수 있으며, 멀티캐스트 통신의 보안을 향상시킬 수 있다.
또한, 제1 노드는 연관 설정 메시지에서 보호 키를 사용하여 제2 노드에게 그룹 키를 전송할 수 있으며, 제1 노드와 제2 노드 간의 연관 설정 절차에 그룹 키 분배 절차를 통합할 수 있다. 따라서, 별도의 키 분배 절차가 필요하지 않아 네트워크 자원의 오버헤드를 절약하고 멀티캐스트 통신의 효율성을 향상시킨다.
도 7은 본 출원의 실시예에 따른 또 다른 통신 방법을 도시한 도면이다. 통신 방법은 도 1에 도시된 아키텍처에 기초하여 구현될 수 있다. 이 방법은 적어도 다음의 단계를 포함한다.
단계 S701: 제1 노드는 제1 통신 그룹의 그룹 키를 업데이트하기 위한 조건이 충족되는 것으로 결정한다.
구체적으로, 제1 통신 그룹의 그룹 키를 업데이트하는 조건은 다음의 조건 중 적어도 하나을 포함한다:
조건 1: 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호의 차이가 제1 임계값 이상이며, 여기서 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호가 동일한 카운트 주기 내에 있고, 표시된 프레임 번호가 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호가 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호이다.
통신 프레임의 프레임 번호는 통신 프레임의 레코드 값과 시리얼 번호를 포함한다. 프레임 번호는 통신 프레임의 전송 과정에서 통신 프레임을 암호화하는 데 사용될 수 있다. 선택적으로, 통신 프레임은 MAC 데이터 프레임일 수 있고, 시리얼 번호는 MAC 시리얼 번호(MAC serial number, MAC SN)일 수 있다. 도 8a 및 도 8b는 본 출원의 실시예에 따른 가능한 통신 시나리오의 개략도이다. 제1 노드는 통신 그룹 내의 복수의 노드에게 멀티캐스트 메시지를 전송할 수 있으며, 멀티캐스트 메시지는 통신 프레임의 형태로 전송된다. 설명의 편의를 위해, 도 8a 및 도 8b에서는 제2 노드로 전송되는 멀티캐스트 메시지가 예시로만 사용된다. 멀티캐스트 메시지는 그룹 키와 프레임 번호를 사용하여 암호화될 수 있다. 예를 들어, 제1 노드에 의해 전송되는 통신 프레임(803)은 프레임 번호(801)와 그룹 키(802)를 사용하여 암호화될 수 있다. 프레임 번호(801)는 32비트 숫자이고, 프레임 번호(801)는 상위 22비트의 레코드 값과 하위 10비트의 시리얼 번호를 포함하며, 하위 10비트의 시퀀스 값은 현재 통신 프레임(803)의 시리얼 번호에 대응한다. 프레임 번호의 비트 개수가 제한되어 있기 때문에, 프레임 번호가 최대값에 도달하는 경우 롤오버가 발생한다. 예를 들어, 도 8a 및 도 8b에 도시된 통신 프로세스에서, 프레임 번호(801)의 값은 0x00000000이다. 통신 프레임이 계속 전송되는 경우, 프레임 번호가 누적된다. 프레임 번호의 값이 최대값에 도달하면(예를 들어, 프레임 번호(804)의 값이 0xFFFFFFFF이 되면), 롤오버(rollover)가 발생하고, 카운팅은 다시 0부터 시작된다. 예를 들어, 프레임 번호(804)의 값은 0x00000000이다. 그러나, 프레임 번호가 다시 프레임 번호 0x00000001에 도달하는 경우, 그룹 키(802)가 업데이트되지 않으면, 동일한 키와 동일한 프레임 번호가 사용되어 두 개의 상이한 통신 프레임(통신 프레임(803)과 통신 프레임(806))을 암호화한다. 그 결과, 키가 쉽게 균열되고 통신 보안이 위협받는다. 따라서, 그룹 키는 그룹 키의 프라이버시에 영향을 미치지 않기 위해 그룹 키(802)를 사용하여 프레임 번호가 마지막으로 암호화된 프레임 번호에 도달하기 전에 업데이트되어야 한다. 여기서 프레임 번호가 32비트인 예만이 사용되었다는 점에 유의해야 한다. 특정 구현 프로세스에서, 프레임 번호의 크기는 요구사항에 기초하여 미리 구성된다. 이는 본 출원에서 제한되지 않는다.
구체적으로, 제1 노드는 표시된 프레임 번호를 기록할 수 있다. 예를 들어, 표시된 프레임 번호는 키가 업데이트되어야 하는 프레임 번호일 수 있거나, 또는 표시된 프레임 번호는 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호일 수 있다. 제1 노드는 프레임 번호가 그룹 키를 사용하여 마지막으로 암호화된 프레임 번호로 누적되기 전에 그룹 키를 업데이트할 수 있다. 예를 들어, 미리 10 프레임 전에 그룹 키를 업데이트할 수 있다. 또한, 제1 노드는 새로운 키가 적용되는 시간을 추가로 지시할 수 있다. 예를 들어, 새로운 그룹 키가 5 프레임 전에 미리 적용됨을 지시할 수 있다.
구체적으로, 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호가 동일한 카운팅 주기에 있으면, 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호의 차이가 제1 임계값 이상인 경우, 제1 통신 그룹의 그룹 키가 업데이트되어야 한다. 예를 들어, 표시된 프레임 번호는 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호이다. 도 9a 및 도 9b는 본 출원의 실시예에 따른 그룹 키 업데이트 시나리오의 개략도이다. 통신 프레임(901)은 그룹 키(902)를 사용하여 처음으로 암호화된 통신 프레임이며, 통신 프레임의 프레임 번호는 0x00000001이다. 제1 노드는 프레임 번호를 표시할 수 있다(즉, 표시된 프레임 번호는 0x00000001이다). 제1 노드가 10 프레임 전에 미리 그룹 키를 업데이트해야 하는 경우, 제1 임계값은 0xFFFF FFF5로 미리 설정된다. 즉, 현재 통신 프레임의 프레임 번호가 0xFFFF FFF6에 도달하면, 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호의 차이가 0xFFFF FFF5에 도달한다. 따라서, 제1 노드는 프레임 번호가 0xFFFF FFF6에 도달하는 경우 제1 통신 그룹의 그룹 키를 업데이트할 수 있다. 또한 선택적으로, 그룹 키가 업데이트되는 경우, 새로운 그룹 키가 적용되는 시간이 지시될 수 있다. 예를 들어, 새로운 그룹 키는 표시된 프레임 번호보다 5 프레임 전에 미리 적용될 수 있다. 이 경우, 프레임 번호가 0xFFFF FFFB에 도달하는 경우, 제1 노드는 새로운 그룹 키(904)와 프레임 번호 0xFFFF FFFB를 사용하여 통신 프레임(905)을 암호화할 수 있다. 이러한 방식으로, 통신 프레임의 프레임 번호에서 롤오버가 발생하여 프레임 번호가 표시된 프레임 번호 0x00000001에 도달하는 경우, 통신 프레임(905)을 암호화하기 위한 키는 새로운 그룹 키(904)가 되므로 통신 보안에 영향을 미치지 않을 수 있다.
본 출원의 복수의 임계값은 프로토콜에서 지정되거나, 노드에서 미리 정의되거나, 미리 설정되거나, 또는 보안 요구사항에 기초하여 노드에 의해 결정될 수 있다는 점에 유의해야 한다. 예를 들어, 제1 임계값은 프로토콜 사양에 따라 획득될 수 있거나, 또는 제1 노드에서 미리 설정될 수 있거나, 또는 보안 요구사항에 기초하여 제1 노드에 의해 결정될 수 있다.
조건 2: 표시된 프레임 번호와 현재 통신 프레임의 프레임 번호 사이의 차이가 제2 임계값 이하이며, 현재 통신 프레임의 프레임 번호가 표시된 프레임 번호의 다음 카운팅 주기에 있고, 표시된 프레임 번호가 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호가 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호이다.
현재 통신 프레임의 프레임 번호가 표시된 프레임 번호의 다음 카운팅 주기에 있는 경우, 제1 노드는 표시된 프레임 번호와 현재 통신 프레임의 프레임 번호가 제2 임계값보다 작거나 같기 전에 그룹 키를 업데이트해야 한다는 것을 이해할 수 있다. 예를 들어, 표시된 프레임 번호는 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호이다. 도 10a 및 도 10b는 본 출원의 실시예에 따른 그룹 키 업데이트의 다른 시나리오의 개략도이다. 통신 프레임(1001)은 그룹 키(1002)를 사용하여 처음으로 암호화된 통신 프레임이며, 통신 프레임의 프레임 번호는 0x5555 6666이다. 제1 노드는 프레임 번호를 표시할 수 있다(즉, 표시된 프레임 번호는 0x5555 6666이다). 제1 노드가 10 프레임 전에 미리 그룹 키를 업데이트해야 하는 경우, 제2 임계값은 10이다. 즉, 현재 통신 프레임의 프레임 번호에서 롤오버가 발생하여 프레임 번호가 0x5555 665A에 도달하면, 표시된 프레임 번호와 현재 통신 프레임의 프레임 번호 사이의 차이는 10이다. 따라서, 제1 노드는 프레임 번호가 0x5555 665A에 도달하는 경우 제1 통신 그룹의 그룹 키를 업데이트하기 시작한다. 또한 선택적으로, 그룹 키가 업데이트되는 경우, 새로운 그룹 키의 시작 시간이 결정될 수 있다. 예를 들어, 새로운 그룹 키는 표시된 프레임 번호보다 5 프레임 전에 적용될 수 있다. 이 경우, 프레임 번호가 0x5555 6661에 도달하는 경우, 제1 노드는 새로운 그룹 키(1005)와 프레임 번호 0x5555 6661을 사용하여 통신 프레임(1004)을 암호화할 수 있다. 이와 같이, 통신 프레임의 프레임 번호가 표시된 프레임 번호 0x5555 6666에 도달하는 경우, 통신 프레임(1006)을 암호화하기 위한 키가 새로운 그룹 키(1005)가 되므로 통신 보안에 영향을 미치지 않을 수 있다.
조건 3: 제1 통신 그룹의 그룹 키의 유효 기간이 만료되거나 또는 제1 통신 그룹의 그룹 키 사용 기간이 제3 임계값에 도달한다.
선택적으로, 제1 통신 그룹의 그룹 키는 유효 기간을 가질 수 있다. 제1 통신 그룹의 그룹 키의 유효 기간이 만료되는 경우, 제1 통신 그룹의 그룹 키가 업데이트되어야 한다. 예를 들어, 제1 통신 그룹의 그룹 키의 유효 기간은 특정 시간일 수 있거나, 또는 유효 기간은 통신 프레임의 프레임 번호일 수 있거나, 또는 유효 기간은 카운터 값일 수 있다. 예를 들어, 제1 통신 그룹의 그룹 키의 유효 기간은 2020년 7월 6일 08:08:08일 수 있으며, 제1 통신 그룹의 그룹 키의 유효 기간이 유효한 날짜와 시간이 2020년 7월 6일 08:08:08이거나, 제1 통신 그룹의 그룹 키의 유효 기간이 무효인 날짜와 시간이 2020년 7월 6일 08:08:08 이후에 시작됨을 지시할 수 있다. 따라서, 현재 시간이 유효 기간인 경우, 제1 노드는 그룹 키를 업데이트할 수 있다. 선택적으로, 제1 노드는 유효기간이 만료되기 전에 미리 제1 통신 그룹의 그룹키를 업데이트할 수 있다. 예를 들어, 유효기간 만료 10분 전에 제1 통신 그룹의 그룹키를 업데이트한다.
선택적으로, 제1 통신 그룹의 그룹 키는 사용 기간을 가질 수 있다. 제1 통신 그룹의 그룹 키의 사용 기간이 제3 임계값에 도달하는 경우(제3 임계값 이상인 경우), 제1 통신 그룹의 그룹 키가 업데이트되어야 한다. 또한 선택적으로, 제3 임계값은 프로토콜에서 지정되거나, 제1 노드에서 미리 정의되거나 미리 설정되거나, 보안 요구사항에 따라 제1 노드에 의해 임계값이 결정될 수 있다. 예를 들어, 그것은 프로토콜에서 제3 임계값이 24시간인 것으로 지정된다. 제1 통신 그룹의 그룹 키가 24시간에 도달하는 경우, 제1 통신 그룹의 그룹 키가 업데이트되어야 한다. 또 다른 예로, 제1 노드에서, 제3 임계값이 1000개의 통신 프레임(구체적으로 1000개의 관리 프레임과 1000개의 데이터 프레임을 포함할 수 있음)으로 미리 정의된다. 1000개의 관리 프레임 또는 1000개의 데이터 프레임이 제1 통신 그룹의 그룹 키를 사용하여 암호화되는 경우, 제1 통신 그룹의 그룹 키가 업데이트되어야 한다.
조건 4: 제1 통신 그룹에 있는 제2 노드 중 적어도 하나가 제1 통신 그룹을 떠난다.
통신 그룹의 제2 노드 중 하나가 제1 통신 그룹을 떠나는(leave) 경우, 제1 노드는 제1 통신 그룹의 제1 노드와 제2 노드 간의 통신이 비공개가 될 수 있도록 그룹 키를 업데이트하여야 하는 것이 이해될 수 있다. 예를 들어, 제1 통신 그룹 GID1는 3개의 제2 노드, 즉 제2 노드 E0에서 제2 노드 E2를 포함한다. 제2 노드 E2의 기능이 노후화되었으므로, 제2 노드 E2는 제1 노드에게 제1 통신 그룹을 탈퇴(exit)를 신청하는 것을 지시하는데 사용되는 요청 메시지를 전송한다. 제1 노드가 제2 노드 E2가 제1 통신 그룹을 탈퇴하는 것으로 결정한 후(예를 들어, 제1 노드가 [표 1]에 도시된 통신 그룹 정보 표의 통신 그룹 GID1에 포함된 노드에서 제2 노드 E2를 삭제한 후), 제1 노드는 제1 통신 그룹의 그룹 키를 업데이트할 수 있다. 다른 예로, 제1 노드는 상위 계층 관리 노드에 의해 전송된 구성 메시지를 수신한다. 구성 메시지는 제1 노드가 제1 통신 그룹에서 제2 노드 E1을 제거(remove)하도록 지시한다. 제1 노드가 제2 노드 E1이 제1 통신 그룹에서 제거되는 것으로 결정된 후(예를 들어, 제1 노드가 [표 1]에 도시된 통신 그룹 정보 표의 통신 그룹 GID1에 포함된 노드에서 제2 노드 E1을 삭제한 후), 제1 노드는 제1 통신 그룹의 그룹 키를 업데이트할 수 있다.
또한, 제1 노드는 하나의 제2 노드가 제1 통신 그룹에 합류하거나 하나의 제2 노드가 제1 통신 그룹을 떠나는 경우 그룹 키를 업데이트하도록 추가로 구성될 수 있다. 예를 들어, 제1 통신 그룹 GID2는 2개의 제2 노드, 즉 제2 노드 E3 및 제2 노드 E4를 포함한다. 관리자가 제2 노드 E9를 제1 통신 그룹에 추가한 후(예를 들어, 제2 노드 E9가 [표 1]에 도시된 통신 그룹 정보 표에서 통신 그룹 GID2에 포함된 노드에 추가된 후), 제1 노드는 그룹 키를 업데이트할 수 있다. 다른 예로, 제1 노드는 구성 메시지를 수신한다. 구성 메시지는 제1 노드가 제2 노드 E10을 제1 통신 그룹 GID2에 추가할 것을 지시한다. 제1 노드가 제2 노드 E9가 제1 통신 그룹 GID2에 추가되는 것으로 결정한 후(예를 들어, 제2 노드 E10이 [표 1]에 도시된 통신 그룹 정보 표에서 통신 그룹 GID2에 포함된 노드에 추가된 후), 제1 노드는 제1 통신 그룹의 그룹 키를 업데이트할 수 있다.
단계 S702: 제1 노드는 제3 신선도 파라미터 및 제1 통신 그룹의 식별자 ID 중 적어도 하나에 기초하여 제1 키를 결정한다.
구체적으로, 제1 노드가 제3 신선도 파라미터와 제1 통신 그룹의 식별자 ID 중 적어도 하나에 기초하여 제1 키를 결정하는 것은 적어도 다음의 두 가지 방법을 포함한다:
방법 1: 제1 노드는 하나의 제3 신선도 파라미터를 획득하고, 제3 신선도 파라미터를 제1 키로 사용한다.
방법 2: 제1 노드는 제2 KDF를 사용하여 제3 신선도 파라미터와 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 제1 키를 생성한다. 제3 신선도 파라미터는 제1 노드에 의해 획득(또는 생성)된 신선도 파라미터이며, 하나 이상의 제3 신선도 파라미터가 있을 수 있다. 선택적으로, 제2 KDF는 제1 노드에서 가장 높은 우선순위를 갖는 KDF 알고리즘일 수 있다. 제1 노드는 다음과 같은 특정 구현에서 제1 키를 생성할 수 있다:
구현 1: 제1 노드는 제2 KDF를 사용하여 제3 신선도 파라미터와 제1 통신 그룹의 ID에 기초하여 제1 키를 생성한다. 예를 들어, 제3 신선도 파라미터는 신선도 파라미터 NONCEg3이고, 제1 통신 그룹의 ID는 GID이다. 생성된 제1 키 NGK는 다음의 수학식: NGK = KDF(NONCEg3, GID)를 충족한다.
구현 2: 제1 노드는 제2 KDF를 사용하여 제3 신선도 파라미터에 기초하여 제1 키를 생성한다. 예를 들어, 제3 신선도 파라미터는 신선도 파라미터 NONCEg3 및 신선도 파라미터 NONCEg4이다. 생성된 제1 키 NGK는 다음의 수학식: NGK = KDF(NONCEg3, NONCEg4)을 충족한다.
선택적으로, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용되며 제1 통신 그룹의 새로운 그룹 키 역할을 한다.
단계 S703: 제1 노드는 제2 보호 키를 획득하기 위해 제1 노드와 제2 노드 간의 공유 키에 기초하여 제1 키를 암호화한다.
구체적으로, 제1 노드가 제1 노드와 제2 노드 간의 공유 키에 기초하여 제1 키를 암호화하는 것은 적어도 다음의 몇 가지 구현 해결수단을 포함할 수 있다:
구현 해결수단 1: 제1 노드는 제2 보호 키를 획득하기 위해 공유 키를 사용하여 제1 키를 암호화한다.
구현 해결수단 2: 제1 노드는 제2 보호 키를 획득하기 위해 공유 키와 제4 신선도 파라미터를 사용하여 제1 키를 암호화한다. 제4 신선도 파라미터는 제1 노드에 의해 획득(또는 생성)된 1회성 숫자, 카운터 값, 프레임 번호 등 중 하나 이상이다.
구현 해결수단 3: 제1 노드는 공유 키에 기초하여 제2 중간 키를 생성하고, 제2 보호 키를 획득하기 위해 제2 중간 키를 사용하여 제1 키를 암호화한다.
구현 해결수단 4: 제1 노드는 공유 키와 제4 신선도 파라미터에 기초하여 제2 중간 키를 생성하고, 제2 보호 키를 획득하기 위해 제2 중간 키를 사용하여 제1 키를 암호화한다. 예를 들어, 제1 노드는 KDF, 예를 들어 Kg2 = KDF(kdh, counter1)을 사용하여 공유 키 Kdh와 제1 카운터의 값 counter1에 기초하여 제2 중간 키 Kg2를 생성한다. 제1 카운터는 제1 노드가 공유 키 Kdh에 기초하여 제2 중간 키 Kg를 생성하는 횟수를 나타내는 데 사용될 수 있다. 또 다른 예로, 제1 노드는 KDF, 예를 들어 Kg2 = KDF(Kenc, NONCEk2)를 사용하여 세션 키 Kenc와 제4 신선도 파라미터 NONCEk2에 기초하여 제2 중간 키 Kg2를 생성한다.
제1 노드가 제2 중간 키를 사용하여 제1 키를 암호화하는 것은 구체적으로 다음과 같을 수 있다: 제1 노드는 제1 보호 키를 획득하기 위해 제1 키와 제1 중간 키에 대해 배타적 OR 처리를 수행한다. 예를 들어, 암호화를 통해 제1 노드에 의해 획득되는 제2 보호 키 GKc2는 다음의 수학식: GKc2 = NGK
Figure pct00005
Kg2를 충족할 수 있으며, 여기서 NGK는 제1 키이다,
Figure pct00006
는 배타적 OR 처리이고, Kg2는 제2 중간 키이다. 배타적 OR 처리가 두 번 수행된 후 원래 값이 획득될 수 있으므로, 제1 노드는 제2 중간 키와 제1 키에 대해 배타적 OR 처리를 수행한다. 제2 보호 키를 수신한 후, 제2 노드는 동일한 제2 중간 키를 생성하고, 제1 키를 획득하기 위해 제2 중간 키와 제2 보호 키에 대해 배타적 OR 처리를 수행한다.
선택적으로, 제1 노드는 제1 노드와 제2 노드 간의 시그널링 플레인 메시지에 대해 암호화가 활성화되지 않은 것으로 결정하고, 시그널링 플레인 메시지에 대해 암호화가 활성화되지 않은 경우 제2 보호 키를 획득하기 위해 제1 키를 암호화한다. 선택적으로, 제1 노드와 제2 노드 간의 시그널링 플레인 메시지에 대해 암호화가 활성화된 경우, 키 업데이트 메시지는 제1 키를 포함한다. 키 업데이트 메시지가 제1 노드와 제2 노드 간의 시그널링 플레인 메시지에 속하기 때문에, 제1 키는 시그널링 플레인 메시지를 암호화함으로써 보호될 수 있다.
단계 S704: 제1 노드는 제2 노드에게 키 업데이트 메시지를 전송한다.
구체적으로, 키 업데이트 메시지는 제2 보호 키를 포함한다. 제1 노드가 제2 노드로 키 업데이트 메시지를 전송하고, 이에 상응하여, 제2 노드가 제1 노드로부터 키 업데이트 메시지를 수신하는 것으로 이해될 수 있다.
선택적으로, 키 업데이트 요청 메시지는 제4 신선도 파라미터를 추가로 포함하며, 제4 신선도 파라미터는 제1 키를 획득하기 위해 제2 보호 키를 복호화하는 데 제2 노드에 의해 사용된다.
선택적으로, 키 업데이트 요청은 제1 키의 시작 시간 및/또는 제1 키의 유효 기간을 지시하는 데 추가로 사용된다. 제1 키의 시작 시간은 제1 키가 적용되는 시간을 지시하는 데 사용되고, 제1 키의 유효 기간은 제1 키의 사용 기간을 지시하는 데 사용된다. 또한, 키 업데이트 요청이 제1 키의 시작 시간과 제1 키의 유효 기간을 포함하는 경우, 제1 키는 제1 키의 시작 시간부터 시작하여 제1 키의 유효 기간 내에 적용된다.
선택적으로, 키 업데이트 메시지는 제1 통신 그룹의 제2 노드로 제1 노드에 의해 전송된 멀티캐스트 메시지일 수 있거나, 또는 제1 노드와 제2 노드 간의 유니캐스트 메시지일 수 있다. 선택적으로, 키 업데이트 메시지가 멀티캐스트 메시지인 경우, 제1 노드가 제1 키를 암호화할 때 사용되는 공유 키는 제1 통신 그룹의 그룹 키(또는 그룹 키로부터 도출된 제1 통신 그룹의 세션 키)일 수 있다. 또한 선택적으로, 키 업데이트 메시지가 유니캐스트 메시지인 경우, 제1 노드는 제1 통신 그룹의 다른 제2 노드에게 키 업데이트 메시지를 추가로 전송할 수 있다.
선택적으로, 제1 노드는 암호화 키를 사용하여 키 업데이트 메시지를 암호화할 수 있고, 이에 상응하여, 제2 노드는 키 업데이트 메시지 내의 데이터 컨텐츠를 획득하기 위해 대응하는 복호화 키를 사용하여 키 업데이트 메시지를 복호화할 수 있다. 선택적으로, 키 업데이트 메시지는 메시지 인증 코드를 포함하며, 메시지 인증 코드는 키 업데이트 메시지의 무결성을 검증하는 데 제2 노드에 의해 사용된다.
단계 S705: 제2 노드는 제1 노드와 제2 노드 간의 공유 키 및 제2 보호 키에 기초하여 제1 키를 획득한다. 선택적으로, 제2 노드는 제1 통신 그룹의 그룹 키를 획득하기 위해 제1 노드와 제2 노드 간의 공유 키에 기초하여 제2 보호 키를 복호화할 수 있다.
구체적으로, 제1 노드가 제1 키를 암호화하는 방식에 대응하여, 제1 노드가 제1 노드와 제2 노드 간의 공유 키에 기초하여 제2 보호 키를 복호화하는 것은 적어도 다음의 몇 가지 구현 해결수단을 포함할 수 있다:
구현 해결수단 1: 제2 노드는 제1 키를 획득하기 위해 공유 키를 사용하여 제2 보호 키를 복호화한다.
구현 해결수단 2: 제2 노드는 제1 키를 획득하기 위해 공유 키와 제4 신선도 파라미터를 사용하여 제2 보호 키를 복호화할 수 있다.
구현 해결수단 3: 제2 노드는 공유 키에 기초하여 제2 중간 키를 생성하고, 제1 키를 획득하기 위해 제2 중간 키를 사용하여 제2 보호 키를 복호화한다.
구현 해결수단 4: 제2 노드는 공유 키와 제4 신선도 파라미터에 기초하여 제2 중간 키를 생성하고, 제1 키를 획득하기 위해 제2 중간 키를 사용하여 제2 보호 키를 복호화한다.
선택적으로, 제2 노드가 제2 중간 키를 사용하여 제2 보호 키를 복호화하는 것은 구체적으로 다음과 같을 수 있다: 제2 노드는 제1 키를 획득하기 위해 제2 보호 키와 제2 중간 키에 대해 배타적 OR 처리를 수행한다. 예를 들어, 제2 노드가 제1 키 NGK를 획득하기 위해 제2 중간 키 Kg2에 기초하여 제2 보호 키 GKc2를 복호화하는 것은 다음의 수학식: NGK = GKc2
Figure pct00007
Kg2를 충족할 수 있다.
전술한 구현에서 "복호화"는 독립적인 단계일 수 있거나, 또는 기능에 대한 설명일 수 있다는 점에 유의해야 한다. 즉, 어떤 정보를 복호화함으로써 다른 정보가 획득될 수 있거나, 또는 어떤 정보를 복호화 방식으로 사용함으로써 다른 정보가 획득될 수 있다.
선택적으로, 도 7에 도시된 실시예는 단계 S706 내지 단계 S709의 일부 또는 전부를 더 포함한다. 단계 S706 내지 단계 S709는 다음과 같다:
단계 S706: 제2 노드는 제1 노드에게 업데이트 확인 메시지를 전송한다.
제2 노드는 제1 노드로 업데이트 확인 메시지를 전송하고, 이에 상응하여, 제1 노드는 제2 노드로부터 업데이트 확인 메시지를 수신하는 것으로 이해될 수 있다.
선택적으로, 제1 통신 그룹은 하나 이상의 제2 노드를 포함한다. 제1 노드는 하나 이상의 제2 노드에게 키 업데이트 메시지를 전송할 수 있다. 이에 상응하여, 제1 노드는 하나 이상의 제2 노드로부터 업데이트 확인 메시지를 수신할 수 있다.
선택적으로, 제2 노드는 암호화 키를 사용하여 업데이트 확인 메시지를 암호화할 수 있다. 이에 상응하여, 제1 노드는 업데이트 확인 메시지 내의 데이터 컨텐츠를 획득하기 위해 대응하는 복호화 키를 사용하여 업데이트 확인 메시지를 복호화할 수 있다. 선택적으로, 업데이트 확인 메시지는 메시지 인증 코드를 포함하며, 메시지 인증 코드는 제1 노드에 의해 업데이트 확인 메시지의 무결성을 검증하는 데 사용된다.
단계 S707: 제1 노드는 제1 통신 그룹의 적어도 하나의 제2 노드로부터 업데이트 확인 메시지가 수신된 것으로 결정한다.
구체적으로, 제1 통신 그룹의 적어도 하나 이상의 제2 노드로부터 업데이트 확인 메시지가 수신된 것으로 결정되는 경우, 새로운 키가 적용될 수 있음을 지시한다.
선택적으로, 제1 노드가 제1 통신 그룹의 모든 노드로부터 업데이트 확인 메시지를 수신한 후, 새로운 키가 적용될 수 있음을 지시한다.
또한, 선택적으로, 제1 노드는 미리 설정된 시구간 내에 적어도 하나의 노드로부터 업데이트 확인 메시지를 수신할 수 있다. 미리 설정된 시구간 내에 적어도 하나의 제2 노드로부터 업데이트 확인 메시지가 수신되면, 이는 새로운 키가 적용될 수 있음을 지시한다. 선택적으로, 적어도 하나의 제2 노드로부터 업데이트 확인 메시지를 수신하지 않는 노드의 경우, 제1 노드는 유니캐스트 메시지를 사용하여 적어도 하나의 제2 노드에 재연결할 수 있다. 예를 들어, 제1 통신 그룹은 제2 노드 A 및 제2 노드 B를 포함한다. 제1 노드는 키 업데이트 메시지를 제2 노드 A 및 제2 노드 B로 전송한다. 제1 노드가 제2 노드 A로부터 업데이트 확인 메시지를 수신하면, 이는 새로운 키가 적용될 수 있음을 지시한다. 제2 노드 B의 경우, 제1 노드는 제2 노드 B에 재연결할 수 있거나, 또는 제2 노드 B에게 암호화된 새로운 키를 추가로 전송할 수 있다.
단계 S708: 제1 노드는 제1 키의 시작 시간에 제1 키를 적용한다.
구체적으로, 제1 키의 시작 시간은 미리 정의되거나 미리 설정될 수 있거나, 또는 키 업데이트 메시지에서 제1 노드에 의해 지시될 수 있다. 예를 들어, 제1 키가 키 업데이트 메시지가 전송된 후 제5 통신 프레임에 적용된다는 것은 제1 노드에서 미리 정의되어 있다. 또 다른 예로, 제1 노드는 키 업데이트 메시지에서 프레임 번호가 0xFFFF FFFF6에 도달하는 경우 새로운 키를 적용하도록 지시한다. 제1 노드는 제1 키의 시작 시점에 제1 키를 제1 통신 그룹의 새로운 그룹 키로 사용할 수 있다.
단계 S709: 제2 노드는 제1 키의 시작 시간에 제1 키를 적용한다.
구체적으로, 제1 키의 시작 시간은 미리 정의되거나 미리 설정될 수 있거나, 또는 키 업데이트 메시지에서 제1 노드에 의해 지시될 수 있다. 예를 들어, 제1 키가 키 업데이트 메시지가 수신된 후 제5 통신 프레임에 적용되도록 제2 노드에서 미리 정의되어 있다. 또 다른 예로, 제1 노드는 키 업데이트 메시지에서 프레임 번호가 0xFFFF FFFF6에 도달하는 경우 새로운 키를 적용하도록 지시한다. 제2 노드는 제1 키의 시작 시간에 제1 키를 제1 통신 그룹의 새로운 그룹 키로 사용할 수 있다.
도 7에 도시된 실시예에서, 그룹 키를 업데이트하기 위한 조건이 충족되는 것으로 결정된 후, 제1 키가 결정될 수 있고, 제1 키가 공유 키를 사용하여 암호화된 후, 제1 키는 키 업데이트 메시지를 사용하여 제2 노드로 전송될 수 있다. 키 업데이트 메시지에서 운반되는 보호 키가 공유 키를 사용하여 제1 키를 암호화함으로써 획득되기 때문에, 키 업데이트 메시지가 암호화되었는지 여부와 관계없이 제1 키의 프라이버시가 보호될 수 있음을 알 수 있다.
선택적으로, 도 7에 도시된 실시예에서의 방법은 도 3에 도시된 실시예에서의 방법의 후속 단계일 수 있다. 도 3에 도시된 통신 방법을 사용하여 제1 통신 그룹의 키를 결정하는 경우, 제1 노드는 도 7에 도시된 통신 방법을 사용하여 제1 통신 그룹의 그룹 키를 업데이트할 수 있는 것으로 이해될 수 있다. 이 경우, 도 7에 도시된 실시예에서 제1 키를 결정하는 방법은 도 3에서 제1 통신 그룹의 키를 결정하는 방법과 일치하고, 도 7에 도시된 실시예에서 제1 키를 암호화하는 방법은 도 3에서 그룹 키를 암호화하는 방법과 일치하는 것으로 이해될 수 있다.
도 3에 도시된 전술한 방법 실시예는 많은 가능한 구현 해결수단을 포함한다. 이하에서는 도 11 및 도 12a 및 도 12b를 참조하여 구현 해결수단 중 일부를 개별적으로 설명한다. 도 11 및 도 12a 및 도 12b에서 설명되지 않은 관련 개념, 작동 또는 논리적 관계에 대해서는, 도 3에 도시된 실시예에서 대응하는 설명을 참조한다. 따라서, 상세한 내용은 다시 설명되지 않는다.
도 11은 본 출원의 실시예에 따른 통신 방법의 개략적인 흐름도이다. 이 방법은 도 1에 도시된 아키텍처에 기초하여 구현될 수 있다. 이 방법은 다음의 단계를 포함하나 이에 제한되지 않는다.
단계 S1101: 제2 노드는 제1 노드에게 연관 요청 메시지를 전송한다.
구체적으로, 제1 연관 요청 메시지는 제2 노드의 장치 신원(특히 제2 노드의 ID일 수 있음), 제2 노드에 의해 지원되는 보안 알고리즘에 대한 정보(또는 제2 노드의 보안 능력(Sec Capabilities)) 및 제2 노드에 의해 획득된 신선도 파라미터 NONCEe를 포함할 수 있다.
제2 노드는 제1 노드에게 제1 연관 요청 메시지를 전송하고, 이에 상응하여, 제1 노드는 제2 노드로부터 제1 연관 요청 메시지를 수신한다.
구체적인 설명은 단계 S301의 컨텐츠를 참조한다.
단계 S1102: 제1 노드는 제2 노드에게 보안 컨텍스트 요청 메시지를 전송한다.
구체적으로, 보안 컨텍스트 요청 메시지는 제1 신원 인증 정보 AUTHa를 포함한다. 선택적으로, 보안 컨텍스트 요청 메시지는 제1 노드에 의해 획득된 신선도 파라미터 NONCEa, 타깃 보안 알고리즘의 정보 algorithm1(제1 노드와 제2 노드 간의 유니캐스트 보안 알고리즘), 메시지 인증 코드 MAC1 등 중 하나 이상을 더 포함할 수 있다.
제1 신원 인증 정보는 제2 노드에 의해 제1 노드의 신원을 검증하는 데 사용되며, 제1 신원 인증 정보는 제1 노드와 제2 노드 간의 공유 키에 기초하여 제1 노드에 의해 생성된다. 예를 들어, 공유 키는 제1 노드와 제2 노드 간에 미리 공유된 키(pre-shared key, PSK)이다. PSK를 사용하여 제1 노드에 의해 생성된 AUTHa는 다음의 수학식: AUTHa = KDF(PSK)를 충족한다. 또한 선택적으로, KDF 생성에 참여하는 파라미터는 제2 노드에 의해 획득된 신선도 파라미터 NONCEe, 제1 노드에 의해 획득된 신선도 파라미터 NONCEa, 연관 요청 메시지 중 하나 이상을 더 포함할 수 있다. 예를 들어, AUTHa = KDF(PSK, NONCEa, 연관 요청 메시지). 이것은 여기서 하나하나 나열되지 않는다.
보안 컨텍스트 요청 메시지의 타깃 보안 알고리즘은 제2 노드에 의해 지원되는 보안 알고리즘에 대한 정보에 의해 지시되는 보안 알고리즘 세트에 속한다. 선택적으로, 타깃 보안 알고리즘은 암호화 알고리즘, 무결성 보호 알고리즘, 및 KDF 중 하나 이상을 포함하며, 타깃 보안 알고리즘은 제1 노드가 제2 노드와 통신할 때 사용되는 보안 알고리즘을 지시하는 데 사용된다.
보안 컨텍스트 요청 메시지의 메시지 인증 코드 MAC1은 보안 컨텍스트 요청 메시지의 무결성을 보호하는 데 사용된다. 선택적으로, 메시지 인증 코드 MAC1은 보안 컨텍스트 요청 메시지의 데이터 일부 또는 전체와 무결성 보호 키 및 무결성 보호 알고리즘에 기초하여 생성될 수 있다.
제1 노드는 제2 노드로 보안 컨텍스트 요청 메시지를 전송하고, 이에 상응하여 제2 노드는 제1 노드로부터 보안 컨텍스트 요청 메시지를 수신하는 것으로 이해될 수 있다.
단계 S1103: 제2 노드는 제1 신원 인증 정보에 기초하여 제1 노드의 신원을 검증한다.
구체적으로, 제1 신원 인증 정보는 공유 키에 기초하여 제1 노드에 의해 생성된다. 따라서, 제2 노드는 제1 노드의 신원을 검증하기 위해 공유 키를 사용하여 제1 신원 인증 정보를 검증할 수 있다.
가능한 구현 해결수단에서, 프로토콜 규정에 따라, 제1 노드에 의해 제1 신원 인증 정보를 생성하는 데 사용되는 방법은 또한 체크값을 생성하기 위해 제2 노드에 의해 사용된다. 체크값이 제1 신원 인증 정보와 동일하면, 제1 노드의 신원에 대한 검증이 성공한다. 예를 들어, 제2 노드는 제2 노드에 저장된 PSK에 기초하여 체크값 check1을 생성하며, 즉, check1 = KDF(PSK)이며, 그 다음 제1 신원 인증 정보 AUTHa의 값과 check1을 비교한다. check1이 AUTHa와 같으면, 인증이 성공한다.
선택적으로, 보안 컨텍스트 요청 메시지가 메시지 인증 코드 MAC1을 포함하는 경우, 제2 노드는 메시지 인증 코드 MAC1에 기초하여 보안 컨텍스트 요청 메시지의 무결성을 추가로 검증할 수 있다.
선택적으로, 제1 노드의 신원 정보에 대한 검증이 실패하거나 또는 보안 컨텍스트 요청 메시지의 무결성에 대한 검증이 실패하면, 제1 노드의 신원은 신뢰할 수 없거나, 또는 제1 노드와의 통신이 안전하지 않음을 지시한다. 따라서, 제2 노드는 제1 노드와의 연결을 끊거나, 또는 후속 통신 단계를 수행하지 않을 수 있다.
단계 S1104: 제2 노드는 제1 노드에게 보안 컨텍스트 응답 메시지를 전송한다.
구체적으로, 보안 컨텍스트 응답 메시지는 제2 신원 인증 정보 AUTHe를 포함한다. 선택적으로, 보안 컨텍스트 응답 메시지는 메시지 인증 코드 MAC1 등을 더 포함할 수 있다.
제2 신원 인증 정보는 제1 노드에 의해 제2 노드의 신원을 검증하는 데 사용되며, 제2 신원 인증 정보는 제1 노드와 제2 노드 간의 공유 키에 기초하여 제2 노드에서 생성된다. 예를 들어, 공유 키는 PSK이다. PSK를 사용하여 제2 노드에 의해 생성된 AUTHe는 다음의 수학식: AUTHe = KDF(PSK)를 충족한다. 또한 선택적으로, KDF 생성에 참여하는 파라미터는 제2 노드에 의해 획득된 신선도 파라미터 NONCEe, 제1 노드에 의해 획득된 신선도 파라미터 NONCEa, 보안 컨텍스트 요청 메시지 등 중 하나 이상을 더 포함할 수 있다. 예를 들어, AUTHa = KDF(PSK, NONCEe, 보안 컨텍스트 요청 메시지). 이것은 여기서 하나하나 나열되지 않는다.
보안 컨텍스트 응답 메시지의 메시지 인증 코드 MAC2는 보안 컨텍스트 응답 메시지의 무결성을 보호하는 데 사용된다. 선택적으로, 메시지 인증 코드 MAC2는 보안 컨텍스트 응답 메시지의 데이터 일부 또는 전부에 기초하여 그리고 무결성 보호 키 및 무결성 보호 알고리즘에 기초하여 생성될 수 있다.
제2 노드는 제1 노드로 보안 컨텍스트 응답 메시지를 전송하고, 이에 상응하여, 제1 노드는 제2 노드로부터 보안 컨텍스트 응답 메시지를 수신하는 것으로 이해될 수 있다. 선택적으로, 제2 노드는 암호화 키를 사용하여 보안 컨텍스트 응답 메시지를 암호화할 수 있다. 이에 상응하여, 제1 노드는 보안 컨텍스트 응답 메시지 내의 데이터 컨텐츠를 획득하기 위해 대응하는 복호화 키를 사용하여 보안 컨텍스트 응답 메시지를 복호화할 수 있다.
단계 S1105: 제1 노드는 제2 신원 인증 정보에 기초하여 제2 노드의 신원을 검증한다.
구체적으로, 제2 신원 인증 정보는 공유 키에 기초하여 제2 노드에 의해 생성된다. 따라서, 제1 노드도 공유 키를 가지고 있으며, 제2 노드의 신워을 검증하기 위해 공유 키를 사용하여 제2 신원 인증 정보를 검증할 수 있다.
가능한 구현 해결수단에서, 프로토콜 규정에 따라, 제2 노드에 의해 제2 신원 인증 정보를 생성하는 데 사용되는 방법은 또한 제1 노드에 의해 체크값을 생성하는 데에도 사용된다. 체크값이 제2 신원 인증 정보와 동일하면, 제2 노드의 신원에 대한 검증이 성공한다. 예를 들어, 제1 노드는 제1 노드에 저장된 PSK에 기초하여 체크값 check2를 생성하며, 즉, check2 = KDF(PSK)이며, 그 다음, 제2 신원 인증 정보 AUTHe의 값과 check2를 비교한다. check2가 AUTHe와 같으면, 인증이 성공한다.
선택적으로, 보안 컨텍스트 응답 메시지가 메시지 인증 코드 MAC2를 포함하는 경우, 제1 노드는 메시지 인증 코드 MAC2에 기초하여 보안 컨텍스트 응답 메시지의 무결성을 추가로 검증할 수 있다.
선택적으로, 제2 노드의 신원 정보에 대한 검증이 실패하거나 또는 보안 컨텍스트 응답 메시지의 무결성에 대한 검증이 실패하면, 그것은 제2 노드의 신원이 신뢰될 수 없음을 지시하거나, 또는 그것은 제2 노드와의 통신이 안전하지 않음을 지시한다. 따라서, 제1 노드는 제2 노드와 연결을 끊을 수 있거나, 또는 후속 통신 단계를 수행하지 않을 수 있다.
단계 S1106: 제1 노드는 제1 통신 그룹의 그룹 키를 결정한다.
구체적으로, 제1 노드는 적어도 다음의 방법을 사용하여 제1 통신 그룹의 그룹 키를 결정할 수 있다:
방법 1: 제1 노드는 제1 통신 그룹의 ID에 기초하여 제1 통신 그룹의 그룹 키를 결정하며, 여기서 제1 통신 그룹의 ID와 제1 통신 그룹의 그룹 키 사이에 대응간계가 존재한다.
방법 2: 제1 노드는 숫자 NONCEa를 한 번 획득하고, 제1 통신 그룹의 그룹 키로서 NONCEa를 사용한다.
방법 3: 제1 노드는 제2 KDF를 사용하여 제1 신선도 파라미터와 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 제1 통신 그룹의 그룹 키를 생성한다. 예를 들어, 제1 신선도 파라미터는 신선도 파라미터 NONCEg이고 제1 통신 그룹의 ID는 GID이다. 제1 통신 그룹의 생성된 그룹 키는 다음의 수학식: GK = KDF(NONCEg, GID)를 충족한다. 다른 예로, 제1 신선도 파라미터는 신선도 파라미터 NONCEg1 및 신선도 파라미터 NONCEg2이고, 제1 통신 그룹의 ID는 GID이다. 제1 통신 그룹의 생성된 그룹 키는 다음의 수학식: GK = KDF(NONCEg1, NONCEg2)를 충족한다. 다른 예로, 제1 통신 그룹의 생성된 그룹 키는 다음의 수학식: GK = KDF(GID)를 충족한다. 선택적으로, GK 생성에 참여하는 파라미터는 다른 정보, 예를 들어 생성된 키의 길이, 사용된 해시 알고리즘의 식별자 등 중 하나 이상을 더 포함할 수 있다.
구체적인 설명은 단계 S302의 내용을 참조한다.
단계 S1107: 제1 노드는 제1 보호 키를 획득하기 위해 제1 노드와 제2 노드 간의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화한다.
구체적으로, 적어도 다음과 같은 몇 가지 구현 해결수단이 포함될 수 있다:
구현 해결수단 1: 제1 노드는 제1 보호 키를 획득하기 위해 공유 키를 사용하여 그룹 키를 암호화한다.
구현 해결수단 2: 제1 노드는 제1 보호 키를 획득하기 위해 공유 키와 제2 신선도 파라미터를 사용하여 그룹 키를 암호화할 수 있다.
구현 해결수단 3: 제1 노드는 공유 키에 기초하여 제1 중간 키를 생성하고, 제1 보호 키를 획득하기 위해 제1 중간 키를 사용하여 그룹 키를 암호화한다.
구현 해결수단 4: 제1 노드는 공유 키와 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고, 제1 보호 키를 획득하기 위해 제1 중간 키를 사용하여 그룹 키를 암호화한다.
예를 들어, 제1 노드는 제1 KDF, 예를 들어 Kg = 제1 KDF(kdh, counter1)를 사용하여 공유 키 Kdh와 제1 카운터의 값 counter1에 기초하여 제1 중간 키 Kg를 생성한다. 제1 카운터는 제1 노드가 공유 키 Kdh에 기초하여 제1 중간 키 Kg를 생성하는 횟수를 나타내는 데 사용될 수 있다. 다른 예로, 제1 노드는 제1 KDF, 예를 들어 Kg = 제1 KDF(Kenc, NONCEk)를 사용하여 세션 키 Kenc 및 제2 신선도 파라미터 NONCEk에 기초하여 제1 중간 키 Kg를 생성한다. 또 다른 예로, 제1 노드는 제1 KDF, 예를 들어 Kg = 제1 KDF(Kenc, NONCEk(또는 counter))를 사용하여 공유 키 Kgt와 1회성 숫자 NONCK(또는 카운터 값 counter)에 기초하여 제1 중간 키 Kg를 생성한다.
선택적으로, 제1 노드가 제1 중간 키를 사용하여 제1 통신 그룹의 그룹 키를 암호화하는 것은 구체적으로 다음과 같을 수 있다: 제1 노드는 제1 통신 그룹의 그룹 키와 제1 중간 키에 대해 배타적 OR 처리를 수행하여 제1 보호 키를 획득한다. 예를 들어, 제1 노드에 의해 암호화를 통해 획득된 제1 보호 키 GKc는 다음의 수학식: GKc = GK
Figure pct00008
Kg를 충족할 수 있으며, 여기서 GK는 제1 통신 그룹의 그룹 키이고,
Figure pct00009
는 배타적 OR 처리이며, Kg는 제1 중간 키이다.
구체적인 설명은 단계 S303의 내용을 참조한다.
선택적으로, 도 11에 도시된 통신 방법은 단계 S1108을 더 포함할 수 있다. 단계 S1108은 구체적으로 다음과 같다:
단계 S1108: 제1 노드는 그룹 보안 알고리즘을 결정한다.
구체적으로, 그룹 보안 알고리즘은 그룹 내 모든 노드에 의해 지원되는 알고리즘이다. 선택적으로, 제1 노드가 제1 통신 그룹의 그룹 보안 알고리즘을 결정하는 것은 적어도 다음과 같은 사례를 포함한다:
사례 1: 제1 통신 그룹에 대응하는 그룹 보안 알고리즘은 제1 노드에 존재한다. 따라서, 제1 노드는 제1 통신 그룹의 식별자(예를 들어, 제1 통신 그룹의 번호)에 기초하여 대응하는 대응하는 그룹 보안 알고리즘을 결정할 수 있다. 예를 들어, 그룹 무결성 보호 알고리즘이 예로서 사용된다. 도 6a 및 도 6b는 본 출원의 실시예에 따른 그룹 보안 알고리즘을 결정하는 방법의 개략도이다. 통신 그룹의 ID에 대응하는 그룹 알고리즘은 통신 그룹의 ID에 기초하여 결정될 수 있음을 알 수 있다. 예를 들어, 영역(601)의 정보를 참조한다. 그룹 식별(group identify, GID)이 GID2인 통신 그룹에 대응하는 그룹 무결성 보호 알고리즘은 ZUC 암호화 알고리즘(ZUC)임을 알 수 있다.
사례 2: 제1 노드는 알고리즘 선택 정책에 기초하여 그룹 보안 알고리즘을 결정할 수 있으며, 여기서 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책과 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다.
도 6a 및 도 6b를 참조한다. 제1 알고리즘 선택 정책이 우선순위 기반 알고리즘 선택 정책인 예가 사용된다. 예를 들어, 영역(602)의 정보를 참조한다. 노드 E0은 ID가 GID1인 통신 그룹의 노드이고, 통신 그룹 GID1은 노드 E0, 노드 E1 및 노드 E2를 포함함을 알 수 있다. 제1 노드는 그룹 내 노드의 보안 능력(Sec Capabilities) 정보를 획득할 수 있다. 영역(603)의 정보를 참조한다. 노드 E0에 의해 지원되는 무결성 보호 알고리즘은 AES-CCM, ZUC, AES-GCM이고, 노드 E1에 의해 지원되는 무결성 보호 알고리즘은 AES-CCM과 AES-GCM이며, 노드 E2에 의해 지원되는 보안 알고리즘은 AES-CCM과 AES-GCM이고, 그룹 내 모든 노드에 의해 지원되는 알고리즘은 AES-CCM과 AES-GCM임을 알 수 있다. 영역(604)을 참조한다. AES-CCM의 우선순위가 1임을 알 수 있다. 영역(605)을 참조한다. AES-GCM의 우선순위가 3임을 알 수 있다. 따라서, AES-CCM은 무결성 보호 알고리즘으로 결정될 수 있다.
선택적으로, 시퀀스 기반 알고리즘 선택 정책에서, 미리 정의되거나 미리 설정된 시퀀스에 기초하여 앞선 시퀀스의 보안 알고리즘이 결정될 수 있다. 또한, 통신 그룹 내 노드에 의해 지원되는 2개의 알고리즘의 우선순위가 동일한 경우, 앞 시퀀스의 보안 알고리즘이 선택될 수 있다.
선택적으로, 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함한다. 제1 노드는 그룹 키의 유형 및 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성할 수 있다. 세션 키의 유형은 시그널링 플레인 암호화 키, 시그널링 플레인 무결성 보호 키, 사용자 플레인 암호화 키, 사용자 플레인 무결성 보호 키 등 중 하나 이상을 포함할 수 있다. 예를 들어, 시그널링 플레인 암호화 키가 예로 사용된다. 시그널링 플레인 암호화 키 Kenc는 제3 KDF, 예를 들어 Kenc = 제3 KDF(GK, "enc")를 사용하여 제1 통신 그룹의 그룹 키 GK와 시그널링 플레인 암호화 키의 키 유형 "enc"에 기초하여 생성된다. 또한, 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응할 수 있다. 본 출원에서, 전술한 네 가지 유형만이 예로서 사용된다. 특정 구현에서, 다른 유형의 세션 키가 추가로 포함될 수 있다.
단계 S1109: 제1 노드는 제2 노드에게 연관 설정 메시지를 전송한다.
선택적으로, 제1 연관 설정 메시지는 제1 보호 키 GKc와 제1 통신 그룹의 그룹 보안 알고리즘 Galgorithm을 포함한다.
선택적으로, 제1 연관 설정 메시지는 제2 신선도 파라미터 NONCEk, 제1 통신 그룹의 그룹 키의 유효 기간 GK 만료, 제1 통신 그룹의 그룹 키의 시작 시간 타이머, 메시지 인증 코드 MAC3 등 중 하나 이상을 더 포함할 수 있다. 제2 신선도 파라미터는 제1 보호 키를 복호화하기 위해 제2 노드에 의해 사용될 수 있다. 제1 통신 그룹의 그룹 키의 유효 기간은 제1 통신 그룹의 그룹 키의 사용 기간을 지시하는 데 사용된다. 제1 통신 그룹의 그룹 키의 시작 시간은 제1 통신 그룹의 그룹 키를 적용하는 시기를 지시하는 데 사용된다.
연관 설정 메시지의 메시지 인증 코드 MAC3은 연관 설정 메시지의 무결성을 검증하기 위해 제2 노드에 의해 사용된다.
제1 노드는 제2 노드로 제1 연관 설정 메시지를 전송하고, 이에 상응하여, 제2 노드는 제1 노드로부터 제1 연관 설정 메시지를 수신하는 것으로 이해될 수 있다. 선택적으로, 제1 노드는 암호화 키를 사용하여 제1 연관 설정 메시지를 암호화할 수 있다. 이에 상응하여, 제2 노드는 대응하는 복호화 키를 사용하여 제1 연관 설정 메시지를 복호화하여 제1 연관 설정 메시지의 데이터 컨텐츠를 획득할 수 있다.
단계 S1110: 제2 노드는 제1 통신 그룹의 그룹 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 보호 키를 복호화한다.
구체적인 설명은 단계 S305에서의 내용을 참조한다.
선택적으로, 도 11에 도시된 통신 방법은 단계 S1111을 더 포함할 수 있다. 단계 S1111은 구체적으로 다음과 같다:
단계 S1111: 제2 노드는 제1 노드에게 연관 완료 메시지를 전송한다.
구체적으로, 연관 완료 메시지는 제1 노드에 대해 연관이 성공적으로 설정되었음을 지시하는 데 사용된다. 제2 노드는 제1 노드로 연관 완료 메시지를 전송하고, 이에 상응하여, 제1 노드는 제2 노드로부터 연관 완료 메시지를 수신하는 것으로 이해될 수 있다. 선택적으로, 제1 노드는 암호화 키를 사용하여 제1 연관 설정 메시지를 암호화할 수 있다. 이에 상응하여, 제2 노드는 대응하는 복호화 키를 사용하여 제1 연관 설정 메시지를 복호화하여 제1 연관 설정 메시지의 데이터 컨텐츠를 획득할 수 있다. 선택적으로, 연관 완료 메시지는 메시지 인증 코드 MAC4를 포함하며, 메시지 인증 코드 MAC4는 제1 노드에 의해 연관 완료 메시지의 무결성을 검증하는 데 사용된다.
도 12a 및 도 12b는 본 출원의 실시예에 따른 통신 방법의 개략적인 흐름도이다. 이 방법은 도 1에 도시된 아키텍처에 기초하여 구현될 수 있다. 이 방법은 다음의 단계를 포함하지만 이에 제한되지 않는다.
단계 S1201: 제2 노드는 제1 노드에게 연관 요청 메시지를 전송한다.
구체적인 설명은 단계 S1101에서의 내용을 참조한다.
단계 S1202: 제1 노드는 제2 노드에게 보안 컨텍스트 요청 메시지를 전송한다.
구체적인 설명은 단계 S1102에서의 내용을 참조한다.
단계 S1203: 제2 노드는 제1 신원 인증 정보에 기초하여 제1 노드의 신원을 검증한다.
구체적인 설명은 단계 S1103에서의 내용을 참조한다.
단계 S1204: 제2 노드는 제1 노드에게 보안 컨텍스트 응답 메시지를 전송한다.
구체적인 설명은 단계 S1104에서의 내용을 참조한다.
단계 S1205: 제1 노드는 제2 신원 인증 정보에 기초하여 제2 노드의 신원을 검증한다.
구체적인 설명은 단계 S1105에서의 내용을 참조한다.
단계 S1206: 제1 노드는 제1 통신 그룹의 그룹 키를 결정한다.
구체적인 설명은 단계 S1106에서의 내용을 참조한다.
단계 S1207: 제1 노드는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되었는지 여부를 결정한다.
구체적으로, 제1 노드가 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않은 것으로 결정하는 경우, 제1 노드는 단계 S1208 또는 단계 S1208 이후의 단계를 수행할 수 있다.
제1 노드가 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있는 것으로 결정하는 경우, 제1 노드는 단계 S1212 또는 단계 S1212 이후의 단계를 수행할 수 있다.
단계 S1208: 제1 노드는 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하여 제1 보호 키를 획득할 수 있다.
구체적인 설명은 단계 S1107에서의 내용을 참조한다.
단계 S1209: 제1 노드는 그룹 보안 알고리즘을 결정한다.
구체적인 설명은 단계 S1108에서의 내용을 참조한다.
단계 S1210 단계: 제1 노드는 제2 노드에게 제1 연관 설정 메시지를 전송한다.
구체적인 설명은 단계 S1109에서의 내용을 참조한다.
단계 S1211: 제2 노드는 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 보호 키를 복호화하여 제1 통신 그룹의 그룹 키를 획득한다.
구체적인 설명은 단계 S1110에서의 내용을 참조한다.
단계 S1212: 제1 노드는 제2 노드에게 제2 연관 설정 메시지를 전송한다.
구체적으로, 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 암호화가 활성화되어 있는 경우, 제1 노드는 제2 연관 설정 메시지를 제2 노드로 전송한다. 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함한다. 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속하기 때문에, 그룹 키는 시그널링 플레인 메시지를 암호화함으로써 보호될 수 있다.
단계 S1213: 제2 노드는 제1 노드에게 연관 완료 메시지를 전송한다.
구체적으로, 연관 완료 메시지는 제1 노드에 대해 연관이 성공적으로 설정되었음을 지시하는 데 사용된다. 제2 노드는 제1 노드로 연관 완료 메시지를 전송하고, 이에 상응하여, 제1 노드는 제2 노드로부터 연관 완료 메시지를 수신할 수 있는 것으로 이해될 수 있다. 선택적으로, 제1 노드는 암호화 키를 사용하여 제1 연관 설정 메시지를 암호화할 수 있다. 이에 상응하여, 제2 노드는 대응하는 복호화 키를 사용하여 제1 연관 설정 메시지를 복호화하여 제1 연관 설정 메시지의 데이터 컨텐츠를 획득할 수 있다. 선택적으로, 연관 완료 메시지는 메시지 인증 코드를 포함하며, 메시지 인증 코드는 제1 노드에 의해 연관 완료 메시지의 무결성을 검증하는 데 사용된다.
본 출원의 실시예에 따른 방법은 상기에 상세히 설명되어 있으며, 본 출원의 실시예에 따른 장치는 아래에서 제공된다.
도 13은 본 출원의 실시예에 따른 통신 장치(130) 구조의 개략도이다. 장치(130)는 노드일 수 있거나, 또는 노드의 컴포넌트, 예를 들어 칩 또는 집적 회로일 수 있다. 장치(130)는 수신 유닛(1301), 처리 유닛(1302) 및 전송 유닛(1303)을 포함할 수 있다. 각각의 유닛은 다음과 같이 설명된다:
수신 유닛(1301)은 제2 노드로부터 연관 요청 메시지를 수신하도록 구성된다.
처리 유닛(1302)은 제1 통신 그룹의 그룹 키를 결정하도록 구성된다. 제1 통신 그룹은 제2 노드가 속한 통신 그룹이며, 제1 통신 그룹의 그룹 키는 제1 신선도 파라미터와 제1 통신 그룹의 식별자 ID 중 적어도 하나에 기초하여 결정된다.
처리 유닛(1302)은 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하여 제1 보호 키를 획득하도록 구성된다.
전송 유닛(1303)은 제1 연관 설정 메시지를 제2 노드로 전송하도록 구성된다. 제1 연관 설정 메시지는 제1 보호 키를 포함한다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은 구체적으로,
제1 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키와 제2 신선도 파라미터에 기초하여 제1 통신 그룹의 그룹 키를 암호화하도록구성된다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은 구체적으로,
제1 키 도출 함수(key derivation function, KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키와 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고 ― 제1 KDF는 제2 노드에 의해 지원되는 KDF임 ―,
제1 보호 키를 획득하기 위해 제1 중간 키와 제1 통신 그룹의 그룹 키에 대해 배타적 OR 처리를 수행하도록 구성된다.
또 다른 가능한 구현 방법에서, 공유 키는 제1 노드와 제2 노드 사이의 암호화 키이고, 제2 신선도 파라미터는 한 번의 숫자이며, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함한다.
또 다른 가능한 구현 방법에서, 제2 신선도 파라미터는 제1 카운터의 값이고, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은 구체적으로,
제1 통신 그룹의 ID에 기초하여 제1 통신 그룹의 그룹 키를 결정하거나 ― 제1 통신 그룹의 ID와 제1 통신 그룹의 그룹 키 사이에 대응관계가 존재함 ―, 또는
제2 KDF를 사용하여 제1 신선도 파라미터와 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 제1 통신 그룹의 그룹 키를 생성하도록 구성된다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은,
그룹 보안 알고리즘을 결정하도록 추가로 구성되며, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘이고, 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함한다.
제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함한다.
또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘에서 우선순위가 가장 높은 알고리즘이다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은 구체적으로, 알고리즘 선택 정책에 기초하여 그룹 보안 알고리즘을 결정하도록 구성된다. 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책 및 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다.
또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함하며, 처리 유닛은,
그룹 키의 유형과 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 키 유형은 시그널링 플레인 암호화 키, 사용자 플레인 암호화 키, 시그널링 플레인 무결성 보호 키, 또는 사용자 플레인 무결성 보호 키 중 하나 이상을 포함하거나, 또는 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응한다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 암호화는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 활성화되고, 전송 유닛(1303)은,
제2 노드에게 제2 연관 설정 메시지를 전송하도록 추가로 구성되며, 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함하고, 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 신호 플레인 메시지에 속한다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은 제1 통신 그룹의 그룹 키를 업데이트하기 위한 조건이 충족되는 것으로 결정하도록 추가로 구성된다.
처리 유닛(1302)은 제3 신선도 파라미터 및 제1 통신 그룹의 식별자 ID 중 적어도 하나에 기초하여 제1 키를 결정하도록 추가로 구성된다.
처리 유닛(1302)은 제2 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 키를 암호화하도록 추가로 구성된다.
전송 유닛(1303)은 키 업데이트 메시지를 제2 노드로 전송하도록 추가로 구성된다. 키 업데이트 메시지는 제2 보호 키를 포함한다.
또 다른 가능한 구현 방법에서, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용된다.
또 다른 가능한 구현 방법에서, 키 업데이트 메시지는 제1 키의 시작 시간 및 제1 키의 유효 기간을 지시하는 데 추가로 사용되며, 제1 키는 제1 키의 시작 시간으로부터 시작하여 제1 키의 유효 기간 내에 적용된다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은,
제1 통신 그룹에 속하는 적어도 하나의 제2 노드로부터 업데이트 확인 메시지가 수신되는 것으로 결정하고,
제1 키의 시작 시간에 제1 키를 적용하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은 구체적으로,
제1 통신 그룹에 속하는 모든 제2 노드로부터의 업데이트 확인 메시지가 수신되는 것으로 결정하도록 구성된다.
또 다른 가능한 구현 방법에서, 처리 유닛(1302)은 구체적으로,
제2 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키와 제4 신선도 파라미터에 기초하여 키를 암호화하도록 구성된다.
또 다른 가능한 구현 방법에서, 업데이트 조건은,
현재 통신 프레임의 프레임 번호와 표시된 프레임 번호 사이의 차이가 제1 임계값 이상인 조건 ― 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호가 동일한 카운팅 주기에 있고, 표시된 프레임 번호가 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호가 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
표시된 프레임 번호와 현재 통신 프레임의 프레임 번호 사이의 차이가 제2 임계값 이하인 조건 ― 현재 통신 프레임의 프레임 번호는 표시된 프레임 번호의 다음 카운팅 주기에 있고, 표시된 프레임 번호가 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호가 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
제1 통신 그룹의 그룹 키의 유효 기간이 만료되거나 또는 제1 통신 그룹의 그룹 키의 사용 기간이 제3 임계값에 도달하는 조건; 또는
제1 통신 그룹의 적어도 하나의 제2 노드가 제1 통신 그룹을 떠나는 조건
을 포함한다.
각각의 유닛의 구현에 대해, 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 실시예의 해당 설명을 참조한다. 장치(130)는 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 실시예에서의 제1 노드일 수 있다.
본 출원의 장치 실시예에서, 복수의 유닛으로의 분할은 단지 기능에 기초한 논리적 분할일 뿐이며, 장치의 특정 구조를 제한하기 위한 것이 아님을 이해할 수 있을 것이다. 구체적인 구현에서, 일부 기능 모듈은 더 세분화된 기능 모듈로 추가로 분할될 수 있고, 일부 기능 모듈은 하나의 기능 모듈로 결합될 수 있다. 그러나, 기능 모듈이 더 세분화되거나 결합되는지 여부에 관계없이, 통신 프로세스에서 장치에 의해 수행되는 일반적인 절차는 동일하다. 예를 들어, 장치(130)의 수신 유닛(1301)과 전송 유닛(1303)은 통신 유닛으로 결합될 수도 있다. 일반적으로, 각각의 유닛은 각각의 프로그램 코드(또는 프로그램 명령어)에 대응한다. 프로세서에서 해당 유닛에 대응하는 프로그램 코드가 실행되면, 해당 유닛은 대응하는 기능을 구현하기 위해 대응하는 절차를 실행한다.
도 14는 본 출원의 실시예에 따른 통신 장치(140) 구조의 개략도이다. 장치(140)는 노드일 수 있거나, 또는 노드의 컴포넌트, 예를 들어 칩 또는 집적 회로일 수 있다. 장치(140)는 전송 유닛(1401), 수신 유닛(1402) 및 처리 유닛(1403)을 포함할 수 있다. 각각의 유닛은 다음과 같이 설명된다:
전송 유닛(1401)은 연관 요청 메시지를 제1 노드로 전송하도록 구성된다.
수신 유닛(1402)은 제1 노드로부터 제1 연관 설정 메시지를 수신하도록 구성된다. 제1 연관 설정 메시지는 제1 보호 키를 포함한다.
처리 유닛(1403)은 제1 노드와 제2 노드 사이의 공유 키와 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하도록 구성된다. 제1 통신 그룹은 제2 노드가 속하는 통신 그룹이다.
또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드가 공유 키를 공유한다.
또 다른 가능한 구현 방법에서, 처리 유닛(1403)은 구체적으로,
제1 노드와 제2 노드 사이의 공유 키, 제2 신선도 파라미터 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하도록 구성된다.
또 다른 가능한 구현 방법에서, 처리 유닛(1403)은 구체적으로,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키와 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고,
제1 중간 키와 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하도록 구성된다.
또 다른 가능한 구현 방법에서, 공유 키는 제1 노드와 제2 노드 사이의 암호화 키이고, 제2 신선도 파라미터는 한 번의 숫자이며, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함한다.
또 다른 가능한 구현 방법에서, 제2 신선도 파라미터는 제1 카운터의 값이고, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다.
또 다른 가능한 구현 방법에서, 제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함하고, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘이며, 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함한다.
또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘에서 우선순위가 가장 높은 알고리즘이다.
다르게는, 그룹 보안 알고리즘을 결정하는 것은 알고리즘 선택 정책에 대응한다. 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책과 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다.
또 다른 가능한 구현 방법에서, 처리 유닛(1403)은,
그룹 키의 유형과 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 키 유형은 시그널링 플레인 암호화 키, 사용자 플레인 암호화 키, 시그널링 플레인 무결성 보호 키 또는 사용자 플레인 무결성 보호 키 중 하나 이상을 포함하거나, 또는 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응한다.
또 다른 가능한 구현 방법에서, 제1 통신 그룹의 그룹 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 보호 키를 암호화하기 전에,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하는 것을 더 포함한다.
또 다른 가능한 구현 방법에서, 수신 유닛(1402)은 제1 노드로부터 제2 연관 설정 메시지를 수신하도록 추가로 구성된다. 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함하고, 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속한다.
처리 유닛(1403)은 제1 통신 그룹의 그룹 키를 획득하기 위해 제1 노드와 제2 노드 사이의 신호 플레인 암호화 키를 사용하여 제2 연관 설정 메시지를 복호화하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 수신 유닛(1402)은 제1 노드로부터 키 업데이트 메시지를 수신하도록 추가로 구성된다. 키 업데이트 메시지는 제2 보호 키를 포함한다.
처리 유닛(1403)은 제1 노드와 제2 노드 사이의 공유 키 및 제2 보호 키에 기초하여 제1 키를 획득하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용된다.
또 다른 가능한 구현 방법에서, 키 업데이트 메시지는 제1 키의 시작 시간 및 제1 키의 유효 기간을 지시하는 데 추가로 사용되며, 제1 키는 제1 키의 시작 시간으로부터 시작하여 제1 키의 유효 기간 내에 적용된다.
또 다른 가능한 구현 방법에서, 처리 유닛(1403)은,
제1 노드에게 업데이트 확인 메시지를 전송하고,
제1 키의 시작 시간에 제1 키를 적용하도록 추가로 구성된다.
또 다른 가능한 구현에서, 처리 유닛(1403)은 구체적으로,
제1 노드와 제2 노드 사이의 공유 키, 제4 신선도 파라미터 및 제2 보호 키에 기초하여 제1 키를 획득하도록 구성된다.
각각의 유닛의 구현에 대해, 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 실시예의 해당 설명을 참조한다. 장치(140)는 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 실시예에서 제2 노드일 수 있다.
도 15는 본 출원의 실시예에 따른 통신 장치(150) 구조의 개략도이다. 통신 장치(150)는 노드일 수 있거나, 또는 노드 내의 컴포넌트, 예를 들어 칩 또는 집적 회로일 수 있다. 장치(150)는 적어도 하나의 메모리(1501) 및 적어도 하나의 프로세서(1502)를 포함할 수 있다. 선택적으로, 버스(1503)가 더 포함될 수 있다. 또한 선택적으로, 통신 인터페이스(1504)가 더 포함될 수 있다. 메모리(1501), 프로세서(1502) 및 통신 인터페이스(1504)는 버스(1503)를 통해 연결된다.
메모리(1501)는 저장 공간을 제공하도록 구성되며, 저장 공간은 운영 체제 및 컴퓨터 프로그램과 같은 데이터를 저장할 수 있다. 메모리(1501)는 랜덤 액세스 메모리(random access memory, RAM), 읽기 전용 메모리(read-only memory, ROM), 소가 가능한 프로그램 가능 읽기 전용 메모리(erasable programmable read-only memory, EPROM), 휴대용 읽기 전용 메모리(compact disc read-only memory, CD-ROM) 중 하나 또는 그 조합일 수 있다.
프로세서(1502)는 산술 연산 및/또는 논리 연산을 수행하는 모듈로서, 구체적으로 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 마이크로 프로세서 장치(microprocessor unit, MPU), 주문형 집적 회로(Application-Specific Integrated Circuit, ASIC), 필드 프로그램 가능 게이트 어레이(Field Programmable Gate Array, FPGA) 및 복합 프로그램 가능 논리 장치(Complex programmable logic device, CPLD)와 같은 처리 모듈 중 하나 또는 이들의 조합일 수 있다.
통신 인터페이스(1504)는 외부 장치에 의해 전송된 데이터를 수신하고 및/또는 외부 장치로 데이터를 전송하도록 구성되며, 이더넷 케이블과 같은 유선 링크 인터페이스일 수 있거나, 또는 무선 링크(와이파이, 블루투스, 일반 무선 전송 등) 인터페이스일 수 있다. 선택적으로, 통신 인터페이스(1504)는 인터페이스에 결합된 전송기(예컨대, 무선 주파수 전송기 또는 안테나), 수신기 등을 더 포함할 수 있다.
장치(150)의 프로세서(1502)는 메모리(1501)에 저장된 컴퓨터 프로그램을 읽도록 구성되며, 전술한 통신 방법, 예를 들어 도 3, 도 7, 도 11 또는 도 12a 및 도 12b에서 설명된 통신 방법을 수행하도록 구성된다.
예를 들어, 장치(150)의 프로세서(1502)는 메모리(1501)에 저장된 컴퓨터 프로그램을 읽도록 구성되어,
통신 인터페이스(1504)를 통해 제2 노드로부터 연관 요청 메시지를 수신하는 작동,
제1 통신 그룹의 그룹 키를 결정하는 작동 ― 제1 통신 그룹은 제2 노드가 속한 통신 그룹이고, 제1 통신 그룹의 그룹 키는 제1 신선도 파라미터 및 제1 통신 그룹의 식별자 ID 중 적어도 하나에 기초하여 결정됨 ―,
제1 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하는 작동,
통신 인터페이스(1504)를 통해 제2 노드로 제1 연관 설정 메시지를 전송하는 작동 ― 제1 연관 설정 메시지는 제1 보호 키를 포함함 ―
을 수행한다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는 구체적으로,
제1 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키와 제2 신선도 파라미터에 기초하여 제1 통신 그룹의 그룹 키를 암호화하도록 구성된다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는 구체적으로,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키와 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고 ― 제1 KDF는 제2 노드에 의해 지원되는 KDF임 ―,
제1 보호 키를 획득하기 위해 제1 중간 키와 제1 통신 그룹의 그룹 키에 대해 배타적 OR 처리를 수행하도록 구성된다.
또 다른 가능한 구현 방법에서, 공유 키는 제1 노드와 제2 노드 사이의 암호화 키이고, 제2 신선도 파라미터는 한 번의 숫자이며, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함한다.
또 다른 가능한 구현 방법에서, 제2 신선도 파라미터는 제1 카운터의 값이고, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는 구체적으로,
제1 통신 그룹의 ID에 기초하여 제1 통신 그룹의 그룹 키를 결정하거나 ― 제1 통신 그룹의 ID와 제1 통신 그룹의 그룹 키 사이에 대응관계가 존재함 ―, 또는
제2 KDF를 사용하여 제1 신선도 파라미터와 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 제1 통신 그룹의 그룹 키를 생성하도록 구성된다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는,
그룹 보안 알고리즘을 결정하도록 추가로 구성되며, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘이고, 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함한다.
제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함한다.
또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘에서 우선순위가 가장 높은 알고리즘이다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는 구체적으로 알고리즘 선택 정책에 기초하여 그룹 보안 알고리즘을 결정하도록 구성된다. 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책 및 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다.
또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함하며, 처리 유닛은,
그룹 키의 유형과 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 키 유형은 시그널링 플레인 암호화 키, 사용자 플레인 암호화 키, 시그널링 플레인 무결성 보호 키 또는 사용자 플레인 무결성 보호 키 중 하나 이상을 포함하거나, 또는 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응한다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있음을 확인하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 암호화는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 활성화되고, 프로세서(1502)는,
통신 인터페이스(1504)를 통해 제2 노드로 제2 연관 설정 메시지를 전송하도록 추가로 구성되며, 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함하고, 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속한다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는,
제1 통신 그룹의 그룹 키를 업데이트하기 위한 조건이 충족되는 것으로 결정하고,
제3 신선도 파라미터와 제1 통신 그룹의 식별자 ID 중 적어도 하나에 기초하여 제1 키를 결정하며,
제2 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키에 기초하여 제1 키를 암호화하고,
통신 인터페이스(1504)를 통해 제2 노드로 키 업데이트 메시지를 전송하도록 추가로 구성되며, 키 업데이트 메시지는 제2 보호 키를 포함한다.
또 다른 가능한 구현 방법에서, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용된다.
또 다른 가능한 구현 방법에서, 키 업데이트 메시지는 제1 키의 시작 시간 및 제1 키의 유효 기간을 지시하는 데 추가로 사용되며, 제1 키는 제1 키의 시작 시간으로부터 시작하여 제1 키의 유효 기간 내에 적용된다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는,
제1 통신 그룹에 속하는 적어도 하나의 제2 노드로부터 업데이트 확인 메시지가 수신된 것으로 결정하고,
제1 키의 시작 시간에 제1 키를 적용하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는 구체적으로,
제1 통신 그룹에 속하는 모든 제2 노드로부터의 업데이트 확인 메시지가 수신된 것으로 결정하도록 구성된다.
또 다른 가능한 구현 방법에서, 프로세서(1502)는 구체적으로,
제2 보호 키를 획득하기 위해 제1 노드와 제2 노드 사이의 공유 키와 제4 신서도 파라미터에 기초하여 제1 키를 암호화하도록 구성된다.
또 다른 가능한 구현 방법에서, 업데이트 조건은,
현재 통신 프레임의 프레임 번호와 표시된 프레임 번호 사이의 차이가 제1 임계값 이상인 조건 ― 현재 통신 프레임의 프레임 번호와 표시된 프레임 번호가 동일한 카운팅 주기에 있고, 표시된 프레임 번호가 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호가 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
표시된 프레임 번호와 현재 통신 프레임의 프레임 번호 사이의 차이가 제2 임계값 이하인 조건 ― 현재 통신 프레임의 프레임 번호는 표시된 프레임 번호의 다음 카운팅 주기에 있고, 표시된 프레임 번호가 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 표시된 프레임 번호가 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
제1 통신 그룹의 그룹 키의 유효 기간이 만료되거나 또는 제1 통신 그룹의 그룹 키의 사용 기간이 제3 임계값에 도달하는 조건; 또는
제1 통신 그룹의 적어도 하나의 제2 노드가 제1 통신 그룹을 떠나는 조건
을 포함한다.
각각의 유닛의 구현에 대해, 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 실시예의 해당 설명을 참조한다. 장치(150)는 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 실시예에서의 제1 노드일 수 있다.
도 16은 본 출원의 실시예에 따른 통신 장치(160) 구조의 개략도이다. 통신 장치(160)는 노드일 수 있거나, 또는 노드 내의 컴포넌트, 예를 들어 칩 또는 집적 회로일 수 있다. 장치(160)는 적어도 하나의 메모리(1601) 및 적어도 하나의 프로세서(1602)를 포함할 수 있다. 선택적으로, 버스(1603)가 더 포함될 수 있다. 또한 선택적으로, 통신 인터페이스(1604)가 더 포함될 수 있다. 메모리(1601), 프로세서(1602) 및 통신 인터페이스(1604)는 버스(1603)를 통해 연결된다.
메모리(1601)는 저장 공간을 제공하도록 구성되며, 저장 공간은 운영 체제 및 컴퓨터 프로그램과 같은 데이터를 저장할 수 있다. 메모리(1601)는 RAM, ROM, EPROM, CD-ROM 등의 하나 또는 이들의 조합일 수 있다.
프로세서(1602)는 산술 연산 및/또는 논리 연산을 수행하는 모듈로서, 구체적으로 CPU, GPU, MPU, ASIC, FPGA 및 CPLD와 같은 처리 모듈의 하나 또는 이들의 조합일 수 있다.
통신 인터페이스(1604)는 외부 장치에 의해 전송된 데이터를 수신하고 및/또는 외부 장치로 데이터를 전송하도록 구성되며, 이더넷 케이블과 같은 유선 링크 인터페이스일 수 있거나, 또는 무선 링크(Wi-Fi, 블루투스 등) 인터페이스일 수 있다. 선택적으로, 통신 인터페이스(1604)는 인터페이스에 결합된 전송기(예컨대, 무선 주파수 전송기 또는 안테나), 수신기 등을 더 포함할 수 있다.
장치(160)의 프로세서(1602)는 메모리(1601)에 저장된 컴퓨터 프로그램을 판독하도록 구성되며, 전술한 통신 방법, 예를 들어 도 3, 도 7, 도 11 또는 도 12a 및 도 12b에서 설명된 통신 방법을 수행하도록 구성된다.
예를 들어, 장치(160)의 프로세서(1602)는 메모리(1601)에 저장된 컴퓨터 프로그램을 판독하여,
통신 인터페이스(1604)를 통해 제1 노드에게 연관 요청 메시지를 전송하는 작동;
통신 인터페이스(1604)를 통해 제1 노드로부터 제1 연관 설정 메시지를 수신하는 작동 ― 제1 연관 설정 메시지는 제1 보호 키를 포함함 ―, 및
제1 노드와 제2 노드 사이의 공유 키와 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 작동 ― 제1 통신 그룹은 제2 노드가 속한 통신 그룹임 ―
을 수행한다.
또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드는 공유 키를 공유한다.
또 다른 가능한 구현 방법에서, 프로세서(1602)는 구체적으로,
제1 노드와 제2 노드 사이의 공유 키, 제2 신선도 파라미터 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하도록 구성된다.
또 다른 가능한 구현 방법에서, 프로세서(1602)는 구체적으로,
제1 키 도출 함수(KDF)를 사용하여 제1 노드와 제2 노드 사이의 공유 키와 제2 신선도 파라미터에 기초하여 제1 중간 키를 생성하고,
제1 중간 키와 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하도록 구성된다.
또 다른 가능한 구현 방법에서, 공유 키는 제1 노드와 제2 노드 사이의 암호화 키이고, 제2 신선도 파라미터는 1회성 숫자이며, 제1 연관 설정 메시지는 제2 신선도 파라미터를 포함한다.
또 다른 가능한 구현 방법에서, 제2 신선도 파라미터는 제1 카운터의 값이고, 제1 카운터는 공유 키에 기초하여 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용된다.
또 다른 가능한 구현 방법에서, 제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함하고, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘이며, 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함한다.
또 다른 가능한 구현 방법에서, 그룹 보안 알고리즘은 제1 통신 그룹의 노드에 의해 지원되는 알고리즘에서 우선순위가 가장 높은 알고리즘이다.
그룹 보안 알고리즘을 결정하는 것은 알고리즘 선택 정책에 대응하며, 여기서 알고리즘 선택 정책은 우선순위 기반 알고리즘 선택 정책과 시퀀스 기반 알고리즘 선택 정책 중 적어도 하나를 포함한다.
또 다른 가능한 구현 방법에서, 처리 유닛(1602)은,
그룹 키의 유형과 제1 통신 그룹의 세션 키에 기초하여 제3 KDF 알고리즘을 사용하여 제1 통신 그룹의 세션 키를 생성하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 키 유형은 시그널링 플레인 암호화 키, 사용자 플레인 암호화 키, 시그널링 플레인 무결성 보호 키 또는 사용자 플레인 무결성 보호 키 중 하나 이상을 포함하거나, 또는 세션 키의 유형은 세션 키가 적용되는 시나리오에 대응한다.
또 다른 가능한 구현 방법에서, 제1 노드와 제2 노드 사이의 공유 키 및 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하기 전에,
제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하는 것을 더 포함한다.
또 다른 가능한 구현 방법에서, 프로세서(1602)는,
통신 인터페이스(1604)를 통해 제1 노드로부터 제2 연관 설정 메시지를 수신하고 ― 제2 연관 설정 메시지는 제1 통신 그룹의 그룹 키를 포함하고, 제2 연관 설정 메시지는 제1 노드와 제2 노드 사이의 시그널링 플레인 메시지에 속함 ―,
제1 통신 그룹의 그룹 키를 획득하기 위해 제1 노드와 제2 노드 사이의 신호 플레인 암호화 키를 사용하여 제2 연관 설정 메시지를 복호화하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 프로세서(1602)는,
통신 인터페이스(1604)를 통해 제1 노드로부터 키 업데이트 메시지를 수신하고, ― 키 업데이트 메시지는 제2 보호 키를 포함함 ―,
제1 노드와 제2 노드 사이의 공유 키 및 제2 보호 키에 기초하여 제1 키를 획득하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 제1 키는 제1 통신 그룹의 그룹 키를 대체하는 데 사용된다.
또 다른 가능한 구현 방법에서, 키 업데이트 메시지는 제1 키의 시작 시간 및 제1 키의 유효 기간을 지시하는 데 추가로 사용되며, 제1 키는 제1 키의 시작 시간으로부터 시작하여 제1 키의 유효 기간 내에 적용된다.
또 다른 가능한 구현 방법에서, 프로세서(1602)는,
제1 노드에게 업데이트 확인 메시지를 전송하고,
제1 키의 시작 시간에 제1 키를 적용하도록 추가로 구성된다.
또 다른 가능한 구현 방법에서, 프로세서(1602)는 구체적으로,
제1 노드와 제2 노드 사이의 공유 키, 제4 신선도 파라미터 및 제2 보호 키에 기초하여 제1 키를 획득하도록 구성된다.
각각의 유닛의 구현에 대해, 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 실시예의 해당 설명을 참조한다. 장치(160)는 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 실시예에서 제2 노드일 수 있다.
본 출원의 실시예는 컴퓨터 판독 가능 저장 매체를 더 제공한다. 컴퓨터 판독 가능 저장 매체는 컴퓨터 프로그램을 저장한다. 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 임의의 실시예에서의 방법이 수행된다.
본 출원의 실시예는 칩 시스템을 더 제공한다. 칩 시스템의 통신 장치는 적어도 하나의 프로세서 및 통신 인터페이스를 포함하고, 통신 인터페이스는 데이터를 전송 및/또는 수신하도록 구성되며, 적어도 하나의 프로세서는 적어도 하나의 메모리에 저장된 컴퓨터 프로그램을 호출하도록 구성된다. 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 임의의 실시예에서의 방법이 수행된다.
본 출원의 실시예는 단말을 더 제공한다. 단말은 제1 노드(예를 들어, 자동차 콕핏 도메인 제어기(CDC)) 및/또는 제2 노드(예를 들어, 카메라, 스크린, 마이크, 스피커, 레이더, 전자 키 및 수동 진입 수동 시동 시스템 제어기와 같은 모듈 중 적어도 하나)를 포함한다. 제1 노드는 도 13 또는 도 15에 도시된 실시예에서 설명된 장치를 포함하고, 제2 노드는 도 13 또는 도 15에 도시된 실시예에서 설명된 장치를 포함한다.
또한 선택적으로, 단말은 차량, 무인 항공기, 로봇, 스마트 홈 시나리오의 장치, 스마트 제조 시나리오의 장치 등이 될 수 있다.
본 출원의 실시예는 지능형 콕핏 제품을 추가로 제공한다. 지능형 콕핏 제품은 제1 노드(예를 들어, 자동차 콕핏 도메인 제어기(CDC))를 포함한다. 제1 노드는 도 3, 도 7, 도 11 또는 도 12a 및 도 12b에 도시된 임의의 실시예에서의 제1 노드이다. 또한, 지능형 콕핏 제품은 제2 노드(예를 들어, 카메라, 스크린, 마이크, 스피커, 레이더, 전자 키, 및 수동 진입 수동 시동 시스템 제어기와 같은 모듈 중 적어도 하나)를 포함한다. 제2 노드는 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 임의의 실시예에서의 제2 노드이다.
본 출원의 실시예는 차량을 추가로 제공한다. 차량은 제1 노드(예를 들어, 자동차 콕핏 도메인 제어기(CDC))를 포함한다. 또한, 차량은 제2 노드(예를 들어, 카메라, 스크린, 마이크, 스피커, 레이더, 전자 키 및 수동 진입 수동 시동 시스템 제어기와 같은 모듈 중 적어도 하나)를 더 포함한다. 제1 노드는 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 임의의 실시예에서의 제1 노드이고, 제2 노드는 도 3, 도 7, 도 11, 또는 도 12a 및 도 12b에 도시된 임의의 실시예에서의 제2 노드이다. 다르게는, 차량은 지능형 단말 또는 무인 항공기 또는 로봇과 같은 운송 차량으로 대체될 수 있다.
본 출원의 실시예는 컴퓨터 프로그램 제품을 더 제공한다. 컴퓨터 프로그램 제품이 하나 이상의 프로세서에서 실행되는 경우, 도 3, 도 7, 도 11 또는 도 12a 및 도 12b에 도시된 임의의 실시예에서 설명된 통신 방법이 수행될 수 있다.
전술한 실시예의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 실시예를 구현하기 위해 소프트웨어가 사용되는 경우, 실시예의 전부 또는 일부가 컴퓨터 제품(예컨대, 컴퓨터 프로그램 또는 컴퓨터 명령어)의 형태로 구현될 수 있다. 컴퓨터 프로그램 제품이 컴퓨터에서 로드되어 실행될 때, 본 출원의 실시예에 따른 절차 또는 기능이 전부 또는 부분적으로 구현될 수 있다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그램 가능 장치일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 저장 매체에 저장될 수 있거나 또는 컴퓨터 판독 가능 저장 매체를 통해 전송될 수 있다. 컴퓨터 판독 가능 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 사용 가능한 매체 또는 하나 이상의 사용 가능한 매체를 통합하는 서버 또는 데이터 센터와 같은 데이터 저장 장치일 수 있다. 사용 가능한 매체는 자기 매체(예: 플로피 디스크, 하드 디스크 또는 자기 테이프), 광학 매체(예: DVD), 반도체 매체(예: 솔리드 스테이트 디스크(solid state disk, SSD)) 또는 이와 유사한 것일 수 있다.
실제 요구사항에 따라 본 출원의 방법 실시예의 단계에 대해 시퀀스 조정, 조합 또는 삭제가 수행될 수 있다.
실제 요구사항에 따라 본 출원의 장치 실시예의 모듈에 대해 조합, 분할 및 삭제가 수행될 수 있다.

Claims (30)

  1. 통신 방법으로서,
    제2 노드로부터 연관 요청 메시지를 수신하는 단계;
    제1 통신 그룹의 그룹 키를 결정하는 단계 ― 상기 제1 통신 그룹은 상기 제2 노드가 속한 통신 그룹이고, 상기 제1 통신 그룹의 그룹 키는 제1 신선도(freshness) 파라미터 및 상기 제1 통신 그룹의 식별자(ID) 중 적어도 하나에 기초하여 획득됨 ―;
    제1 보호 키를 획득하기 위해, 제1 노드와 상기 제2 노드 사이의 공유 키에 기초하여 상기 제1 통신 그룹의 그룹 키를 암호화하는 단계; 및
    상기 제2 노드에게 제1 연관 설정 메시지를 전송하는 단계 ― 상기 제1 연관 설정 메시지는 상기 제1 보호 키를 포함함 ―
    를 포함하는 통신 방법.
  2. 제1항에 있어서,
    상기 제1 보호 키를 획득하기 위해, 제1 노드와 상기 제2 노드 사이의 공유 키에 기초하여 상기 제1 통신 그룹의 그룹 키를 암호화하는 단계는,
    상기 제1 보호 키를 획득하기 위해, 상기 제1 노드와 상기 제2 노드 사이의 공유 키 및 제2 신선도 파라미터에 기초하여 상기 제1 통신 그룹의 그룹 키를 암호화하는 단계
    를 포함하는, 통신 방법.
  3. 제2항에 있어서,
    상기 공유 키는 상기 제1 노드와 상기 제2 노드 사이의 암호화 키이고, 상기 제2 신선도 파라미터는 1회성 숫자(number once)이며, 상기 제1 연관 설정 메시지는 상기 제2 신선도 파라미터를 포함하는,
    통신 방법.
  4. 제2항에 있어서,
    상기 제2 신선도 파라미터는 제1 카운터의 값이고, 상기 제1 카운터는 상기 공유 키에 기초하여 상기 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용되는,
    통신 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 통신 그룹의 그룹 키를 결정하는 단계는,
    상기 제1 통신 그룹의 ID에 기초하여 상기 제1 통신 그룹의 그룹 키를 결정하거나 ― 상기 제1 통신 그룹의 ID와 상기 제1 통신 그룹의 그룹 키 사이에는 대응관계가 존재함 ―, 또는
    제2 KDF를 사용하여 상기 제1 신선도 파라미터와 상기 제1 통신 그룹의 ID 중 적어도 하나에 기초하여 상기 제1 통신 그룹의 그룹 키를 생성하는 단계
    를 포함하는, 통신 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 통신 방법은,
    그룹 보안 알고리즘을 결정하는 단계 ― 상기 그룹 보안 알고리즘은 상기 제1 통신 그룹의 노드에 의해 지원되는 알고리즘이고, 상기 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함함 ―
    를 더 포함하며,
    상기 제1 연관 설정 메시지는 상기 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함하는,
    통신 방법.
  7. 제6항에 있어서,
    상기 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함하고, 상기 통신 방법은,
    상기 그룹 키의 유형과 상기 제1 통신 그룹의 세션 키에 기초하여 상기 제3 KDF 알고리즘을 사용하여 상기 제1 통신 그룹의 세션 키를 생성하는 단계
    를 더 포함하는, 통신 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 보호 키를 획득하기 위해, 상기 제1 노드와 상기 제2 노드 사이의 공유 키에 기초하여 상기 제1 통신 그룹의 그룹 키를 암호화하는 단계 전에, 상기 통신 방법은,
    상기 제1 노드와 상기 제2 노드 사이의 시그널링 플레인(signaling plane) 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하는 단계
    를 더 포함하는 통신 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 통신 방법은,
    상기 제1 통신 그룹의 그룹 키를 업데이트하기 위한 조건이 충족된 것으로 결정하는 단계;
    제3 신선도 파라미터 및 상기 제1 통신 그룹의 식별자(ID) 중 적어도 하나에 기초하여 제1 키를 결정하는 단계;
    제2 보호 키를 획득하기 위해, 상기 제1 노드와 상기 제2 노드 사이의 공유 키에 기초하여 상기 제1 키를 암호화하는 단계; 및
    상기 제2 노드에게 키 업데이트 메시지를 전송하는 단계 ― 상기 키 업데이트 메시지는 상기 제2 보호 키를 포함함 ―
    를 포함하는 통신 방법.
  10. 제9항에 있어서,
    상기 키 업데이트 메시지는 상기 제1 키의 시작 시간 및 상기 제1 키의 유효 기간을 지시하기 위해 추가로 사용되며, 상기 제1 키는 상기 제1 키의 시작 시간으로부터 시작하여 상기 제1 키의 유효 기간 내에 적용되는,
    통신 방법.
  11. 제10항에 있어서,
    상기 제2 노드에게 상기 키 업데이트 메시지를 전송하는 단계 후에, 상기 통신 방법은,
    상기 제1 통신 그룹에 속하는 적어도 하나의 제2 노드로부터 업데이트 확인 메시지가 수신된 것으로 결정하는 단계; 및
    상기 제1 키의 시작 시간에 상기 제1 키를 적용하는 단계
    를 더 포함하는, 통신 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    제2 보호 키를 획득하기 위해, 상기 제1 노드와 상기 제2 노드 사이의 공유 키에 기초하여 상기 제1 키를 암호화하는 단계는,
    상기 제2 보호 키를 획득하기 위해, 상기 제1 노드와 상기 제2 노드 사이의 공유 키 및 제4 신선도 파라미터에 기초하여 상기 제1 키를 암호화하는 단계
    를 포함하는, 통신 방법.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 제1 통신 그룹의 그룹 키를 업데이트하기 위한 조건은,
    현재 통신 프레임의 프레임 번호와 표시된 프레임 번호 사이의 차이가 제1 임계값 이상인 조건 ― 상기 현재 통신 프레임의 프레임 번호와 상기 표시된 프레임 번호는 동일한 카운팅 주기에 있고, 상기 표시된 프레임 번호는 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 상기 표시된 프레임 번호는 상기 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
    상기 표시된 프레임 번호와 상기 현재 통신 프레임의 프레임 번호 사이의 차이가 제2 임계값 이하인 조건 ― 상기 현재 통신 프레임의 프레임 번호는 상기 표시된 프레임 번호의 다음 카운팅 주기에 있고, 상기 표시된 프레임 번호는 키 업데이트가 수행되어야 하는 프레임 번호이거나 또는 상기 표시된 프레임 번호는 상기 제1 통신 그룹의 그룹 키를 사용하여 처음으로 암호화된 통신 프레임의 프레임 번호임 ―; 또는
    상기 제1 통신 그룹의 그룹 키의 유효 기간이 만료되거나 또는 상기 제1 통신 그룹의 그룹 키의 사용 기간이 제3 임계값에 도달하는 조건, 또는
    상기 제1 통신 그룹의 적어도 하나의 제2 노드가 상기 제1 통신 그룹을 떠나는 조건
    을 포함하는, 통신 방법.
  14. 통신 방법으로서,
    제1 노드에게 연관 요청 메시지를 전송하는 단계;
    상기 제1 노드로부터 제1 연관 설정 메시지를 수신하는 단계 ― 상기 제1 연관 설정 메시지는 제1 보호 키를 포함함 ―; 및
    상기 제1 노드와 제2 노드 사이의 공유 키 및 상기 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계 ― 상기 제1 통신 그룹은 상기 제2 노드가 속한 통신 그룹임 ―
    를 포함하는 통신 방법.
  15. 제14항에 있어서,
    상기 제1 노드와 제2 노드 사이의 공유 키 및 상기 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계는,
    상기 제1 노드와 상기 제2 노드 사이의 공유 키, 제2 신선도 파라미터 및 상기 제1 보호 키에 기초하여 상기 제1 통신 그룹의 그룹 키를 획득하는 단계
    를 포함하는, 통신 방법.
  16. 제15항에 있어서,
    상기 공유 키는 상기 제1 노드와 상기 제2 노드 사이의 암호화 키이고, 상기 제2 신선도 파라미터는 1회성 숫자이며, 상기 제1 연관 설정 메시지는 상기 제2 신선도 파라미터를 포함하는,
    통신 방법.
  17. 제15항에 있어서,
    상기 제2 신선도 파라미터는 제1 카운터의 값이고, 상기 제1 카운터는 상기 공유 키에 기초하여 상기 제1 통신 그룹의 그룹 키를 암호화하기 위한 횟수를 나타내는 데 사용되는,
    통신 방법.
  18. 제14항 내지 제17항 중 어느 한 항에 있어서,
    상기 제1 연관 설정 메시지는 그룹 보안 알고리즘을 지시하는 데 사용되는 정보를 더 포함하고, 상기 그룹 보안 알고리즘은 상기 제1 통신 그룹의 노드에 의해 지원되는 알고리즘이며, 상기 그룹 보안 알고리즘은 그룹 암호화 알고리즘, 그룹 무결성 보호 알고리즘 및 그룹 KDF 알고리즘 중 적어도 하나를 포함하는,
    통신 방법.
  19. 제18항에 있어서,
    상기 그룹 보안 알고리즘은 제3 KDF 알고리즘을 포함하고, 상기 통신 방법은,
    상기 그룹 키의 유형과 상기 제1 통신 그룹의 세션 키에 기초하여 상기 제3 KDF 알고리즘을 사용하여 상기 제1 통신 그룹의 세션 키를 생성하는 단계
    를 더 포함하는, 통신 방법.
  20. 제14항 내지 제19항 중 어느 한 항에 있어서,
    상기 제1 노드와 제2 노드 사이의 공유 키 및 상기 제1 보호 키에 기초하여 제1 통신 그룹의 그룹 키를 획득하는 단계 이전에, 상기 통신 방법은,
    상기 제1 노드와 상기 제2 노드 사이의 신호 플레인 메시지에 대해 암호화가 활성화되어 있지 않음을 확인하는 단계
    를 더 포함하는, 통신 방법.
  21. 제14항 내지 제20항 중 어느 한 항에 있어서,
    상기 통신 방법은,
    상기 제1 노드로부터 제2 보호 키를 포함하는 키 업데이트 메시지를 수신하는 단계; 및
    상기 제1 노드와 상기 제2 노드 사이의 공유 키 및 상기 제2 보호 키에 기초하여 제1 키를 획득하는 단계
    를 더 포함하는 통신 방법.
  22. 제21항에 있어서,
    상기 키 업데이트 메시지는 상기 제1 키의 시작 시간 및 상기 제1 키의 유효 기간을 지시하기 위해 추가로 사용되며, 상기 제1 키는 상기 제1 키의 시작 시간으로부터 시작하여 상기 제1 키의 유효 기간 내에 적용되는,
    통신 방법.
  23. 제22항에 있어서,
    상기 제1 노드와 상기 제2 노드 사이의 공유 키 및 상기 제2 보호 키에 기초하여 제1 키를 획득하는 단계 후에, 상기 통신 방법은,
    상기 제2 노드에게 업데이트 확인 메시지를 전송하는 단계; 및
    상기 제1 키의 시작 시간에 상기 제1 키를 적용하는 단계
    를 더 포함하는, 통신 방법.
  24. 통신 장치로서,
    제1항 내지 제13항 중 어느 한 항에 따른 방법을 수행하도록 구성된 유닛을 포함하는,
    통신 장치.
  25. 통신 장치로서,
    제14항 내지 제23항 중 어느 한 항에 따른 방법을 수행하도록 구성된 유닛을 포함하는,
    통신 장치.
  26. 칩 시스템으로서,
    적어도 하나의 프로세서 및 통신 인터페이스를 포함하며, 상기 통신 인터페이스는 데이터를 전송 및/또는 수신하도록 구성되고, 상기 칩 시스템이 위치된 장치가 제1항 내지 제13항 중 어느 한 항에 따른 방법을 구현할 수 있도록 상기 적어도 하나의 프로세서가 적어도 하나의 메모리에 저장된 컴퓨터 프로그램을 호출하도록 구성되는,
    칩 시스템.
  27. 칩 시스템으로서,
    적어도 하나의 프로세서 및 통신 인터페이스를 포함하며, 상기 통신 인터페이스는 데이터를 전송 및/또는 수신하도록 구성되고, 상기 칩 시스템이 위치된 장치가 제14항 내지 제23항 중 어느 한 항에 따른 방법을 구현할 수 있도록 상기 적어도 하나의 프로세서가 적어도 하나의 메모리에 저장된 컴퓨터 프로그램을 호출하도록 구성되는,
    칩 시스템.
  28. 컴퓨터 판독 가능 저장 매체로서,
    컴퓨터 프로그램을 저장하고, 상기 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때 제1항 내지 제13항 중 어느 한 항에 따른 방법이 수행되는,
    컴퓨터 판독 가능 저장 매체.
  29. 컴퓨터 판독 가능 저장 매체로서,
    컴퓨터 프로그램을 저장하고, 상기 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때 제14항 내지 제23항 중 어느 한 항에 따른 방법이 수행되는,
    컴퓨터 판독 가능 저장 매체.
  30. 통신 시스템으로서,
    제24항에 따른 통신 장치를 포함하는 제1 노드; 및
    제25항에 따른 통신 장치를 포함하는 제2 노드
    를 포함하는 통신 장치.
KR1020237009722A 2020-08-28 2020-08-28 통신 방법 및 관련 장치 KR20230051592A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/112249 WO2022041141A1 (zh) 2020-08-28 2020-08-28 一种通信方法及相关装置

Publications (1)

Publication Number Publication Date
KR20230051592A true KR20230051592A (ko) 2023-04-18

Family

ID=80352448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237009722A KR20230051592A (ko) 2020-08-28 2020-08-28 통신 방법 및 관련 장치

Country Status (6)

Country Link
US (1) US20230208625A1 (ko)
EP (1) EP4195580A4 (ko)
JP (1) JP2023541563A (ko)
KR (1) KR20230051592A (ko)
CN (2) CN115885496B (ko)
WO (1) WO2022041141A1 (ko)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100389555C (zh) * 2005-02-21 2008-05-21 西安西电捷通无线网络通信有限公司 一种适合有线和无线网络的接入认证方法
WO2007111710A2 (en) * 2005-11-22 2007-10-04 Motorola Inc. Method and apparatus for providing a key for secure communications
CN101242323B (zh) * 2007-02-06 2010-12-08 华为技术有限公司 设备间管道的建立方法和家庭网络系统
JP5328142B2 (ja) * 2007-12-05 2013-10-30 キヤノン株式会社 通信装置、通信装置の制御方法、コンピュータプログラム
JP5328141B2 (ja) * 2007-12-05 2013-10-30 キヤノン株式会社 通信装置、通信装置の制御方法、コンピュータプログラム
CN102761830A (zh) * 2011-04-27 2012-10-31 华为终端有限公司 多播密钥更新、发送方法、接入点设备、终端设备和系统
CN104769982B (zh) * 2013-10-23 2019-05-03 华为技术有限公司 用户设备之间进行安全通信的方法及装置
JP6271808B2 (ja) * 2015-03-16 2018-01-31 株式会社東芝 管理装置、プログラム、システムおよび方法
CN106027233A (zh) * 2016-04-28 2016-10-12 江苏大学 一种车载网群组协商通信协议设计方法
KR20190056661A (ko) * 2017-11-17 2019-05-27 (주)이씨스 차량 네트워크에서 기지국 기반 보안 통신 방법
US10939288B2 (en) * 2018-01-14 2021-03-02 Qualcomm Incorporated Cellular unicast link establishment for vehicle-to-vehicle (V2V) communication
DE102018214354A1 (de) * 2018-08-24 2020-02-27 Robert Bosch Gmbh Erstes fahrzeugseitiges Endgerät, Verfahren zum Betreiben des ersten Endgeräts, zweites fahrzeugseitiges Endgerät und Verfahren zum Betreiben des zweiten fahrzeugseitigen Endgeräts
CN109005539B (zh) * 2018-09-06 2021-12-14 东北大学 基于加密Mix-Zone的VANETs中车辆节点位置隐私保护方法
CN110933672B (zh) * 2019-11-29 2021-11-30 华为技术有限公司 一种密钥协商方法及电子设备

Also Published As

Publication number Publication date
WO2022041141A1 (zh) 2022-03-03
EP4195580A1 (en) 2023-06-14
US20230208625A1 (en) 2023-06-29
EP4195580A4 (en) 2023-09-27
CN115885496A (zh) 2023-03-31
CN117749355A (zh) 2024-03-22
CN115885496B (zh) 2023-10-20
JP2023541563A (ja) 2023-10-03

Similar Documents

Publication Publication Date Title
EP4254861A1 (en) Secure access method and device
EP3754897B1 (en) System and method of counter management and security key update for device-to-device group communication
JP5607749B2 (ja) ユーザ端末間の安全な接続の構築方法及びシステム
KR20190102068A (ko) 보안 구현 방법, 기기 및 시스템
CN113545115B (zh) 一种通信方法及装置
CN112449323B (zh) 一种通信方法、装置和系统
US20220417015A1 (en) Key update method and related apparatus
US20230308875A1 (en) Wi-fi security authentication method and communication apparatus
US20230171602A1 (en) Communication Method and Apparatus
KR20230051592A (ko) 통신 방법 및 관련 장치
Kahya et al. Formal analysis of PKM using scyther tool
IL254758B2 (en) Method, equipment and computer software product for code encryption
CN113455032A (zh) 通信方法及装置
US20230099065A1 (en) Key obtaining method and related apparatus
WO2017118269A1 (zh) 一种空口标识的保护方法及装置
US20240023175A1 (en) Pairing method and apparatus
CN116996872A (zh) 一种信道建立方法、装置、系统及计算设备
CN117880805A (zh) 智能设备的配网方法、装置和电子设备
CN114157413A (zh) 信息处理方法、装置、设备及存储介质