KR20220137124A - 키 업데이트 방법 및 관련 장치 - Google Patents
키 업데이트 방법 및 관련 장치 Download PDFInfo
- Publication number
- KR20220137124A KR20220137124A KR1020227032169A KR20227032169A KR20220137124A KR 20220137124 A KR20220137124 A KR 20220137124A KR 1020227032169 A KR1020227032169 A KR 1020227032169A KR 20227032169 A KR20227032169 A KR 20227032169A KR 20220137124 A KR20220137124 A KR 20220137124A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- node
- target
- parameter
- update
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 출원의 실시예들은 근거리 통신 분야에서 사용되고, 특히 조종석 영역 통신과 관련되는, 키 업데이트 방법 및 관련 장치를 제공한다. 방법은: 제1 키 업데이트 요청을 제2 노드로 전송하는 단계로서, 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성되는, 상기 전송하는 단계; 제2 노드로부터 제1 응답 메시지를 수신하는 단계로서, 제1 응답 메시지는 제2 신원 인증 정보를 포함하는, 상기 수신하는 단계; 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하는 단계; 및 제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계를 포함한다. 본 출원의 실시예들에 의하면, 키 업데이트 프로세스에서 데이터 보안이 향상될 수 있다.
Description
본 발명은 통신 기술 분야에 관한 것으로, 특히 예컨대, 조종석 영역 통신과 같은 근거리 통신 기술 분야에 관한 것이다. 구체적으로, 본 발명은 키 업데이트 방법 및 관련 장치에 관한 것이다.
통신 기술이 사람들의 삶에 침투해오고 있다. 사람들은 통신의 편리함을 누리면서도 보안 취약성과 개인 정보 유출의 위협에 직면해 있다. 통신 프로세스에서 데이터 전송 및 저장의 보안을 보장하기 위해, 노드는 일반적으로 데이터를 저장하거나 전송하기 전에 전송된 데이터를 암호화한다. 데이터를 수신한 후 수신측(receiving party)의 노드는 암호문을 복호화(decrypt)하고 평문으로 복원한다. 추가로, 노드는 데이터에 대한 무결성 보호(또는 줄여서 무결성 보호)를 추가로 수행할 수 있다. 데이터를 수신한 후 수신측의 노드는 메시지에 대한 무결성 검증(integrity verification)을 수행한다. 무결성 검증이 성공하면, 이는 메시지가 전송 프로세스에서 수정되지 않았음을 나타낸다. 안전한 데이터 통신 중에 두 통신 당사자는 가령, 암호화/복호화 키 및 무결성 보호 키와 같은 키를 가지고 있어야 한다. 가령, 암호화/복호화 키 및 무결성 보호 키와 같은 키가 만료되거나 크랙(crack)되면, 그 키를 사용함으로써 암호화 또는 무결성 보호가 수행된 정보가 누출되어서, 데이터 전송 보안에 영향을 미칠 가능성이 높다.
키의 서비스 수명은 제한된다. 키가 공개되거나 크랙되는 것을 방지하기 위해 일반적으로 키 업데이트 메커니즘이 사용된다. 즉, 키의 유효 기간이 끝나려고 하면, 이전 키가 새로운 키로 교체된다. 키 업데이트 프로세스에서, 키 업데이트를 위해 사용되고 노드에 의해 전송되는 메시지는 중간자(man-in-the-middle) 공격에 취약하여 데이터 보안에 영향을 미친다.
따라서, 키 업데이트 프로세스에서 데이터 보안을 어떻게 향상시킬 것인가는 통상의 기술자가 연구하고 있는 문제이다.
본 출원의 실시예들은 키 업데이트 프로세스에서 데이터 보안을 개선하기 위해 키 업데이트 방법 및 관련 장치를 개시한다.
제1 양태에 따르면, 본 출원의 실시예는 다음 단계를 포함하는 키 업데이트 방법을 개시한다:
제1 키 업데이트 요청이 제2 노드로 전송되고, 여기서 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성된다. 제1 공유 키는 두 통신 당사자의 노드에 저장된 동일한 비밀 값(secret value)이며, 마스터 키, 세션 키, 사전 공유 키(pre-shared key; PSK) 등이 될 수 있다. 세션 키는, 노드에 의해 전송되는 데이터 또는 파일에 대한 암호화 또는 무결성 보호를 수행하는 데 사용될 수 있다. 추가로, 제1 신원 인증 정보는 제1 공유 키에 기초한 암호화 알고리즘을 사용하여 생성될 수 있다. 암호화 알고리즘은 해시 알고리즘(해시 알고리즘이라고도 함), 또는 인증 알고리즘 등, 예를 들어, (HMAC 보안 해시 알고리즘 HMAC-SHA256, HMAC-SHA3, HMAC 중국어 암호화 알고리즘 HMAC-SM3 등을 포함하는) 해시-기반 메시지 인증 코드 HMAC 알고리즘일 수 있다. 또한, 암호화 알고리즘은, cDNA 말단(ends) RACE 무결성 프리미티브 평가 메시지 다이제스트(RACE Integrity Primitives Evaluation Message Digest; RIPEMD) 알고리즘의 급속 증폭을 더 포함할 수 있다.
제2 노드로부터 제1 응답 메시지가 수신되고, 여기서 제1 응답 메시지는 제2 신원 인증 정보를 포함한다. 제2 신원 인증 정보를 생성하는 원리는 제1 신원 인증 정보의 원리와 동일하며, 세부사항이 본 명세서에서 다시 설명되지 않는다.
제1 공유 키를 사용함으로써, 제2 신원 인증 정보에 대한 검증(verification)이 수행된다.
제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키가 결정된다.
전술한 방법에서, 원본 키가 만료되기 전에 제1 노드 및 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자(eavesdropper)가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격(man-in-the-middle attack)을 방지하고, 데이터 보안을 향상시킬 수 있다.
제1 양태의 가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내기 위해 사용된다.
종래의 키 업데이트 프로세스에서, 키 업데이트 시점은 프로토콜에 미리 정의되어 있고 유연하게 선택될 수 없다. 그러나, 본 출원의 키 업데이트 방법에서, 제1 노드는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화(customize)하고, 필요에 따라 제1 타깃 키가 인에이블(enable)될 수 있도록 제2 노드에 업데이트 시점 및/또는 유효 기간을 나타낼 수 있다.
제1 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 상기 제1 프레임 번호는 복수의 비트, 예를 들어, F개의 비트를 사용하여 나타낸다. 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타내는데 사용된다. 대안으로, 제1 키 업데이트 요청은 MAC SN(Media Access Control Serial Number)을 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F 미만이다. 구체적으로, 제1 프레임 번호를 나타내는 데 사용되는 복수의 비트는 2개의 부분: 고차(high-order) 부분 및 저차(low-order) 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호(hyper frame number)를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에서는 가능한 한 적은 정보가 수반(carried)될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제1 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하는 제1 타깃 키의 유효 기간 내에 적용된다.
제1 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하며, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하는 단계를 포함한다.
제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터는 키 협상 프로세스에서 생성되는 알고리즘 파라미터이다. 키 협상은 두 통신 당사자가 협상을 통해 키를 획득하기 위해 임의의 파라미터를 교환하는 프로세스이다. 키 협상에 사용되는 알고리즘은, 키 협상 알고리즘 또는 키 교환 알고리즘이라고 지칭된다. 본 출원의 이러한 실시예에서, 제1 노드는 제1 키 협상 알고리즘 파라미터를 생성하고, 제2 노드는 제2 키 협상 알고리즘 파라미터를 생성한다. 제1 타깃 키는 두 당사자에 의해 제공된 키 협상 알고리즘 파라미터를 사용하여 결정된다. DH 알고리즘을 예로 들면, 2개의 노드는, 동일한 큰 소수 p와 동일한 생성기 숫자 g를 사용함으로써 난수 a와 b를 각각 생성한다. 제1 노드는 g mod P의 a제곱(ath power)에 의해 생성된 값 A를 제2 노드에 전송하고, 제2 노드는 g mod P의 b제곱에 의해 생성된 값 B를 제1 노드에 전송하고, 이후 제1 노드는 수신된 값 A에 a제곱 연산을 수행하고, 제2 노드는 수신된 값 B에 b제곱 연산을 수행한다. K=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod p이기 때문에, 제1 노드 및 제2 노드에 의해 생성된 키 K는 동일하다.
제1 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제2 타깃 키 및 상기 최신 파라미터에 기초해서 제1 타깃 키를 생성하는 단계를 포함한다.
제2 타깃 키는 제1 노드와 제2 노드 사이에 공유되는 비밀 값이거나, 제1 노드와 제2 노드 사이에 공유된 키로 지칭될 수 있으며, 마스터 키, 세션 키, 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있으며, 여기서 fresh는 최신 파라미터이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
제1 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 마스터 키이다.
마스터 키는 노드의 고급 비밀 값이고, 주로 세션 키와 같은 키를 보호하는 데 사용된다. 선택적 솔루션에서는, 마스터 키에 기초한 키 유도 함수(KDF)를 사용하여 세션 키가 획득된다. 선택적으로, 세션 키를 암호화하기 위해 마스터 키가 사용될 수 있다.
제1 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하는 단계를 포함하고, 여기서 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하는데 사용되는 알고리즘을 표시(mark)하는데 사용된다.
제1 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 무결성 보호 키 또는 암호화 키이다.
제1 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는, 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 무결성 보호가 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중의 적어도 하나에 대해 수행된다.
기존의 키 업데이트 방식은 기존 키(즉, 제2 타깃 키)가 만료되면 키를 업데이트하는 방식임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서, 제1 타깃 키는 제2 타깃 키가 만료되기 전에 결정될 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는, 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있어서, 데이터 보안을 개선할 수 있다.
제1 양태의 또 다른 가능한 구현에서, 제2 노드에 제1 키 업데이트 요청을 전송하는 단계는: 제1 통신 프레임을 사용하여 제2 노드에 제1 키 업데이트 요청을 전송하는 단계를 포함하며, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청 내에 수반되는 제3 프레임 번호보다 작고, 상기 제3 프레임 번호는 마지막으로 업데이트된 키의 시작 시점을 나타내는 데 사용되며, 상기 제1 프레임 번호는 상기 제2 프레임 번호보다 크고 상기 제3 프레임 번호보다는 작다. 통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되고, 따라서 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 프레임 번호가 동일한 데이터 프레임이 상이한 키들을 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안이 향상된다. 대안적인 솔루션에서, 제1 키 업데이트 요청은 제1 프레임 번호 대신 MAC 일련 번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이고, M은 F보다 작다. 대안으로, 마지막 키 업데이트 동안 사용된 키 업데이트 요청 내에 수반(carried)되는 제3 프레임 번호는 또한, MAC SN, 즉, 제3 프레임 번호를 나타내는데 사용되는 복수의 비트 중 일부가 나타내는 MAC SN으로 대체될 수도 있다. 이 대안적인 솔루션에서, 제1 프레임 번호, 제2 프레임 번호 및 제3 프레임 번호 사이의 값의 관계는 변경되지 않은 상태로 유지된다. 구체적으로, 제1 프레임 번호를 나타내기 위해 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제1 양태의 또 다른 가능한 구현에서, 통신 프레임은: 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임, 또는 사용자 평면 다운링크 프레임 중 적어도 하나를 포함한다. 또한, 본 출원에서 프레임 번호는 통신 프레임의 프레임 번호이다.
제1 양태의 또 다른 가능한 구현에서, 방법은:
제2 신원 정보에 대한 검증이 실패하는 경우, 제2 노드에 대한 통신 연결을 끊거나, 또는 업데이트 실패 정보를 제2 노드에 전송하는 단계를 더 포함한다.
제2 신원 인증 정보에 대한 검증이 실패하는 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타냄을 학습할 수 있다. 따라서, 제1 노드는 제2 노드로의 통신 연결을 끊거나, 업데이트 실패 정보를 제2 노드로 전송하여서, 키 업데이트를 수행해야 하는 노드에 대해 액세스 요청을 다시 초기화(re-initialize)하고, 그럼으로써 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
제1 양태의 또 다른 가능한 구현에서, 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하기 전에, 방법은:
제1 응답 메시지에 대한 무결성 검증을 수행하는 단계;
무결성 검증이 성공하는 경우, 제1 공유 키를 사용함으로써 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하는 단계; 및
무결성 검증이 실패하는 경우, 제2 노드에 대한 통신 연결을 끊거나, 또는 업데이트 실패 정보를 제2 노드에 전송하는 단계를 포함한다.
상기 방법에서, 제1 노드는 신원 정보에 대한 검증을 수행하기 전에, 제1 응답 메시지의 정보가 변조되지 않았다고 결정하기 위해, 제1 응답 메시지에 대한 무결성 검증을 먼저 수행한다. 무결성 검증에 실패하는 경우 이는 제1 응답 정보의 데이터가 변조되었고, 키를 업데이트할 수 없음을 나타낸다. 따라서, 제1 노드는 제2 노드와의 통신 연결을 끊거나 업데이트 실패 정보를 제2 노드로 전송하여, 제1 노드가 키 업데이트를 수행해야 하는 노드에 다시 액세스하도록 함으로써, 키 업데이트 프로세스에서 데이터 보안을 보장한다.
제2 양태에 따르면, 본 출원의 실시예는 다음 단계를 포함하는 키 업데이트 방법을 개시한다:
제1 키 업데이트 요청이 제1 노드로부터 수신되고, 여기서 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함한다. 제1 신원 인증 정보는 제1 공유 키에 기초한 암호화 알고리즘을 사용하여 생성될 수 있다. 암호화 알고리즘은 해시 알고리즘(해시 알고리즘이라고도 함), 또는 인증 알고리즘 등, 예를 들어, (HMAC 보안 해시 알고리즘 HMAC-SHA256, HMAC-SHA3, 및 HMAC 중국어 암호화 알고리즘 HMAC-SM3 등을 포함하는) 해시-기반 메시지 인증 코드 HMAC 알고리즘일 수 있다. 또한, 암호화 알고리즘은, cDNA 말단(ends) RACE 무결성 프리미티브 평가 메시지 다이제스트(RACE Integrity Primitives Evaluation Message Digest; RIPEMD) 알고리즘의 급속 증폭을 더 포함할 수 있다.
제1 공유 키를 사용하여 제1 신원 인증 정보에 대한 검증이 수행된다. 제1 공유 키는 두 통신 당사자의 노드에 저장된 동일한 비밀 값이며, 마스터 키, 세션 키, 사전 공유 키(PSK) 등이 될 수 있다. 세션 키는 노드에 의해 전송되는 데이터 또는 파일에 대한 암호화 또는 무결성 보호를 수행하는 데 사용될 수 있다. 추가로, 제1 공유 키에 기초한 암호화 알고리즘을 사용하여 제1 신원 인증 정보가 생성된다. 따라서, 제2 노드는 제1 공유 키에 기초한 암호화 알고리즘을 사용함으로써 제1 신원 인증 정보에 대한 검증을 수행할 수 있다. 제1 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키가 결정된다.
제1 응답 메시지가 제1 노드로 전송되고, 여기서 제1 응답 메시지는 제2 신원 인증 정보를 포함하고, 제2 신원 인증 정보는 제1 공유 키를 사용하여 생성된다. 제2 신원 인증 정보를 생성하는 원리는 제1 신원 인증 정보의 원리와 동일하며, 세부사항이 본 명세서에서 다시 설명되지 않는다.
전술한 방법에서, 원래 세션 키가 만료되기 전에, 제1 노드 및 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원래 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없으므로, 중간자의 공격을 방지하고 키 업데이트 프로세스에서 데이터 보안을 향상시킨다.
제2 양태의 가능한 구현에서, 제1 키 업데이트 요청은, 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용된다.
기존의 키 업데이트 프로세스에서 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 그러나, 본 출원의 키 업데이트 방법에서, 제1 노드는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화하고, 필요에 따라 제1 타깃 키가 인에이블될 수 있도록 업데이트 시점 및/또는 유효 기간을 제2 노드에 나타낸다.
제2 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC 일련 번호(Media Access Control Serial Number; MAC SN)을 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F 미만이다. 구체적으로, 제1 프레임 번호를 나타내는 데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제2 양태의 또 다른 가능한 구현에서, 제1 타깃 키는, 제1 업데이트 시점으로부터 시작하는 제1 타깃 키의 유효 기간 내에 적용된다.
제2 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하며; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하는 단계를 포함한다.
제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터는 키 협상 프로세스에서 생성되는 알고리즘 파라미터이다. 키 협상은 두 통신 당사자가 협상을 통해 키를 획득하기 위해 임의의 파라미터를 교환하는 프로세스이다. 키 협상에 사용되는 알고리즘은, 키 협상 알고리즘 또는 키 교환 알고리즘이라고 지칭된다. 본 출원의 이 실시예에서, 제1 노드는 제1 키 협상 알고리즘 파라미터를 생성하고, 제2 노드는 제2 키 협상 알고리즘 파라미터를 생성한다. 제1 타깃 키는 두 당사자에 의해 제공된 키 협상 알고리즘 파라미터를 사용하여 결정된다. DH 알고리즘을 예로 들면, 2개의 노드는, 동일한 큰 소수 p와 동일한 생성기 숫자 g를 사용함으로써 난수 a와 b를 각각 생성한다. 제1 노드는 g mod P의 a제곱(ath power)에 의해 생성된 값 A를 제2 노드에 전송하고, 제2 노드는 g mod P의 b제곱에 의해 생성된 값 B를 제1 노드에 전송하고, 이후 제1 노드는 수신된 값 A에 a제곱 연산을 수행하고, 제2 노드는 수신된 값 B에 b제곱 연산을 수행한다. K=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod p이기 때문에, 제1 노드 및 제2 노드에 의해 생성된 키 K는 동일하다.
제2 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제2 타깃 키 및 최신 파라미터에 기초해서 제1 타깃 키를 생성하는 단계를 포함한다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 및 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key을 사용함으로써 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있으며, 여기서 fresh는 최신 파라미터이고 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
제2 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 마스터 키이다.
마스터 키는 노드의 고급 비밀 값이고, 주로 세션 키와 같은 키를 보호하는 데 사용된다. 선택적 솔루션에서는, 마스터 키에 기초한 키 유도 함수(key derivation function, KDF)를 사용하여 세션 키가 획득된다. 선택적으로, 마스터 키는 세션 키를 암호화하는데 사용될 수 있다.
제2 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하는 단계를 포함하고, 여기서 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하는데 사용되는 알고리즘을 나타내는데 사용된다.
제2 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 무결성 보호 키 또는 암호화 키이다.
제2 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용함으로써 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행된다.
기존의 키 업데이트 방법은 기존 키(즉, 제2 타깃 키)가 만료되면 키를 업데이트하는 것임을 인식할 수 있다. 제2 타깃 키가 만료되었기 때문에 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서, 제1 타깃 키는 제2 타깃 키가 만료되기 전에 결정될 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용함으로써 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
제2 양태의 또 다른 가능한 구현에서, 방법은:
제1 신원 정보에 대한 검증이 실패하는 경우, 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드에 전송하는 단계를 포함한다.
제1 신원 인증 정보에 대한 검증이 실패하는 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타냄을 학습할 수 있다. 따라서, 제2 노드는 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드에 전송하여 현재 키 프로세스를 중지함으로써, 키 업데이트 프로세스에서 제2 노드의 데이터 보안을 보장할 수 있다.
제2 양태의 또 다른 가능한 구현에서, 제1 공유 키를 사용하여 제1 신원 인증 정보에 대한 검증을 수행하기 전에, 방법은:
제1 키 업데이트 요청에 대해 무결성 검증을 수행하는 단계;
무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하는 단계; 및
무결성 검증이 실패하는 경우, 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드에 전송하는 단계를 더 포함한다.
상기 방법에서, 신원 정보에 대한 검증을 수행하기 전에, 제1 키 업데이트 요청의 정보가 변조되지 않았다고 결정하기 위해, 제2 노드는 제1 키 업데이트 요청에 대한 무결성 검증을 우선 수행한다. 무결성 검증이 실패하는 경우, 이는 제1 키 업데이트 요청의 데이터가 변조되었고, 키가 업데이트될 수 없음을 나타낸다. 따라서, 제2 노드는 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드에 전송함으로써, 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
제3 양태에 따르면, 본 출원의 실시예는:
제1 키 업데이트 요청을 제2 노드로 전송하도록 구성된 전송 유닛으로서, 상기 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 상기 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성되는 것인, 상기 전송 유닛;
제2 노드로부터 제1 응답 메시지를 수신하도록 구성된 수신 유닛으로서, 제1 응답 메시지는 제2 신원 인증 정보를 포함하는 것인, 상기 수신 유닛;
제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하도록 구성된 검증 유닛; 및
제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하도록 구성된 결정 유닛을 포함하는 장치를 개시한다.
키 업데이트 프로세스에서, 전술한 노드와 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드가 신원 인증 정보를 사용하여 다른 노드의 신원을 우선 결정하고, 신원 인증이 성공한 후에만 제1 타깃 키를 획득하기 위해, 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격을 방지하고, 데이터 보안을 향상시킬 수 있다.
제3 양태의 가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내기 위해 사용된다.
기존의 키 업데이트 프로세스에서, 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 그러나, 본 출원에서 제공되는 노드는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화하고, 필요에 따라 제1 타깃 키가 인에이블될 수 있도록 업데이트 시점 및/또는 유효 기간을 제2 노드에 나타낼 수 있다.
제3 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC 일련번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F 미만이다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제3 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하는 제1 타깃 키의 유효 기간 내에 적용된다.
제3 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하며, 결정 유닛은 제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제3 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 결정 유닛은 제2 타깃 키 및 최신 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용함으로써 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있으며, 여기서 fresh는 최신 파라미터이고 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
제3 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 노드의 마스터 키이다.
제3 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 결정 유닛은 제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하도록 구성되며, 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하기 위해 사용되는 알고리즘을 나타내는데 사용된다.
제3 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 무결성 보호 키 또는 노드의 암호화 키이다.
제3 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 무결성 보호가 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 수행된다.
기존의 키 업데이트 방법은 기존 키가 만료되면 키를 업데이트하는 것임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서 제공되는 노드는 키가 만료되기 전에 제1 타깃 키를 결정할 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
제3 양태의 또 다른 가능한 구현에서, 전송 유닛은 제1 통신 프레임을 사용하여 제2 노드로 제1 키 업데이트 요청을 전송하도록 구성되며, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반되는 제3 프레임 번호보다 작고, 제3 프레임 번호는 마지막 업데이트된 키의 시작 시점을 나타내는데 사용되며, 제1 프레임 번호는 제2 프레임 번호보다 크고, 제3 프레임 번호보다 작다.
통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되고, 따라서 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 동일한 프레임 번호를 갖는 데이터 프레임이 상이한 키를 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다. 대안적인 솔루션에서, 제1 키 업데이트 요청은 제1 프레임 번호 대신 MAC 일련 번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이고, M은 F보다 작다. 대안으로, 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호는 또한, MAC SN, 즉, 제3 프레임 번호를 나타내는데 사용되는 복수의 비트 중 일부가 나타내는 MAC SN으로 대체될 수도 있다. 이 대안적인 솔루션에서, 제1 프레임 번호, 제2 프레임 번호 및 제3 프레임 번호 사이의 값의 관계는 변경되지 않은 상태로 유지된다. 구체적으로, 제1 프레임 번호를 나타내기 위해 사용되는 복수의 비트는 2개의 부분: 고차 부분과 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제3 양태의 또 다른 가능한 구현에서, 통신 프레임은 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임, 또는 사용자 평면 다운링크 프레임 중 적어도 하나를 포함한다.
제3 양태의 또 다른 가능한 구현에서, 제2 신원 정보에 대한 검증이 실패하는 경우, 전송 유닛 및 수신 유닛은 제2 노드에 대한 통신 연결을 끊거나, 업데이트 실패 정보를 제2 노드에 전송한다.
제2 신원 인증 정보에 대한 검증이 실패하는 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타낸다는 것을 알 수 있다. 따라서, 전술한 노드는 제2 노드로의 통신 연결을 끊거나, 업데이트 실패 정보를 제2 노드로 전송하여서, 키 업데이트를 수행해야 하는 노드에 대해 액세스 요청을 다시 초기화(re-initialize)하고, 그럼으로써 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
제3 양태의 또 다른 가능한 구현에서, 검증 유닛은, 또한: 제1 응답 메시지에 대해 무결성 검증을 수행하고; 무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하고;
무결성 검증이 실패하는 경우, 전송 유닛 및 수신 유닛은, 제2 노드에 대한 통신 연결을 절단하거나, 업데이트 실패 정보를 제2 노드로 전송하거나, 또는 전송 유닛을 사용하여 업데이트 실패 정보를 제2 노드로 전송한다.
신원 정보에 대한 검증을 수행하기 전에, 제1 응답 메시지의 정보가 변조되지 않았다고 결정하기 위해, 노드는 제1 응답 메시지에 대한 무결성 검증을 우선 수행할 수 있다. 무결성 검증에 실패하는 경우, 이는 제1 응답 정보의 데이터가 변조되어 키를 업데이트할 수 없음을 나타낸다. 따라서, 노드는 제2 노드와의 통신 연결을 끊거나, 또는 업데이트 실패 정보를 제2 노드로 전송하여, 그 노드가 키 업데이트를 수행해야 하는 노드에 다시 액세스하도록 함으로써, 키 업데이트 프로세스에서 데이터 보안을 보장한다.
제4 양태에 따르면, 본 출원의 실시예는:
제1 노드로부터 제1 키 업데이트 요청을 수신하도록 구성된 수신 유닛으로서, 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하는 것인, 상기 수신 유닛;
제1 공유 키를 사용하여 제1 신원 인증 정보에 대한 검증을 수행하도록 구성된 검증 유닛;
제1 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하도록 구성되는 결정 유닛; 및
제1 응답 메시지를 제1 노드에 전송하도록 구성된 전송 유닛으로서, 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함하고, 제2 신원 인증 정보는 제1 공유 키를 사용하여 생성되는 것인, 상기 전송 유닛을 포함하는 장치를 개시한다.
원본 세션 키가 만료되기 전에, 전술한 노드와 제1 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원래 세션 키를 크랙하더라도 도청자가 신원 정보를 위조할 수 없으므로, 중간자 공격을 방지하고 키 업데이트 프로세스에서 데이터 보안을 향상시킨다.
제4 양태의 가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용된다.
기존의 키 업데이트 프로세스에서 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 그러나, 본 출원의 키 업데이트 방법에서, 제1 노드는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화하고, 필요에 따라 제1 타깃 키가 인에이블될 수 있도록 업데이트 시점 및/또는 유효 기간을 노드에 나타낼 수 있다.
제4 양태의 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC SN을 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F 미만이다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분과 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제4 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하는 제1 타깃 키의 유효 기간 내에 적용된다.
제4 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하고; 결정 유닛은 제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제4 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 결정 유닛은 제2 타깃 키 및 최신 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있으며, 여기서 fresh는 최신 파라미터이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
제4 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 노드의 마스터 키이다.
제4 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 결정 유닛은 제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하도록 구성되며, 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하기 위해 사용되는 알고리즘을 식별하는데 사용된다.
제4 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 무결성 보호 키 또는 제2 노드의 암호화 키이다. 제4 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 수행된다.
기존의 키 업데이트 방법은 기존 키가 만료되면 키를 업데이트하는 것임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서, 제1 타깃 키는 키가 만료되기 전에 결정될 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
제4 양태의 또 다른 가능한 구현에서, 제1 신원 정보에 대한 검증이 실패하는 경우, 전송 유닛 및 수신 유닛은 제1 노드에 대한 연결을 끊거나, 또는 전송 유닛을 사용하여 업데이트 실패 표시 정보를 제1 노드로 전송한다.
제1 신원 인증 정보에 대한 검증이 실패하는 경우, 제2 노드의 신원이 신뢰할 수 없음을 나타냄을 알 수 있다. 따라서, 노드는 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드에 전송하여 현재 키 프로세스를 중지함으로써 키 업데이트 프로세스에서 노드의 데이터 보안을 보장할 수 있다.
제4 양태의 또 다른 가능한 구현에서, 검증 유닛은: 제1 키 업데이트 요청에 대해 무결성 검증을 수행하고; 무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하도록 구성되고;
무결성 검증이 실패하는 경우, 노드는 제1 노드에 대한 연결을 끊거나, 또는 전송 유닛을 사용하여 업데이트 실패 표시 정보를 제1 노드에 전송한다.
신원 정보에 대한 검증을 수행하기 전에, 전술한 노드는 제1 키 업데이트 요청에 대한 무결성 검증을 우선 수행하여, 제1 키 업데이트 요청의 정보가 변조되지 않았는지 결정한다. 무결성 검증에 실패하는 경우, 이는 제1 키 업데이트 요청의 데이터가 변조되어 키를 업데이트할 수 없음을 나타낸다. 따라서, 전술한 노드는 제1 노드와의 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드로 전송함으로써 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
제5 양태에 따르면, 본 출원의 실시예는 장치를 개시한다. 노드는 메모리, 프로세서 및 통신 인터페이스를 포함하고, 메모리는 계산기 프로그램을 저장하고, 프로세서는 메모리에 저장된 컴퓨터 프로그램을 호출하여 다음 동작들:
통신 인터페이스를 통해 제2 노드에 제1 키 업데이트 요청을 전송하는 동작으로서, 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성되는, 상기 전송하는 동작;
통신 인터페이스를 통해 제2 노드로부터 제1 응답 메시지를 수신하는 동작으로서, 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함하는, 상기 수신하는 동작;
상기 제1 공유 키를 사용하여 상기 제2 신원 인증 정보를 검증하는 동작; 및
제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작을 수행한다.
키 업데이트 프로세스에서, 전술한 노드와 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격을 방지하고, 데이터 보안을 향상시킬 수 있다.
제5 양태의 가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용된다.
기존의 키 업데이트 프로세스에서 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 그러나, 본 출원에서 제공되는 노드는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화하고, 제1 타깃 키가 필요에 따라 인에이블될 수 있도록 업데이트 시점 및/또는 유효 기간을 제2 노드에 나타낼 수 있다.
제5 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC SN을 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F 미만이다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제5 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하는 제1 타깃 키의 유효 기간 내에 적용된다.
제5 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서는 구체적으로:
제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제5 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서는 구체적으로:
제2 타깃 키와 최신 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 및 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는 DK=KDF(Key, fresh)로 표현될 수 있으며, 여기서 fresh는 최신 파라미터이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
제5 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서는 구체적으로:
제5 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 노드의 마스터 키이다.
제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하도록 구성되고, 여기서 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하는데 사용되는 알고리즘을 표시하는데 사용된다.
제5 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 무결성 보호 키 또는 노드의 암호화 키이다.
제5 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 수행된다.
기존의 키 업데이트 방법은 기존 키가 만료되면 키를 업데이트하는 것임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서, 제1 타깃 키는 키가 만료되기 전에 결정될 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
제5 양태의 또 다른 가능한 구현에서, 통신 인터페이스는 제1 통신 프레임을 사용하여 제2 노드에 제1 키 업데이트 요청을 전송하고, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반되는 제3 프레임 번호보다 작고, 제3 프레임 번호는 마지막 업데이트된 키의 시작 시점을 나타내는데 사용되며, 제1 프레임 번호는 제2 프레임 번호보다 크고 제3 프레임 번호보다 작다.
통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되고, 따라서 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 동일한 프레임 번호를 갖는 데이터 프레임은 상이한 키를 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다. 대안적인 솔루션에서, 제1 키 업데이트 요청은 제1 프레임 번호 대신 MAC 일련 번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이고, M은 F보다 작다. 대안으로, 마지막 키 업데이트 동안 사용된 키 업데이트 요청 내에 수반되는 제3 프레임 번호는 또한, MAC SN, 즉, 제3 프레임 번호를 나타내는데 사용되는 복수의 비트 중 일부가 나타내는 MAC SN으로 대체될 수도 있다. 이 대안적인 솔루션에서, 제1 프레임 번호, 제2 프레임 번호 및 제3 프레임 번호 사이의 값의 관계는 변경되지 않은 상태로 유지된다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분과 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제5 양태의 또 다른 가능한 구현에서, 통신 프레임은 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임, 또는 사용자 평면 다운링크 프레임 중 적어도 하나를 포함한다.
제5 양태의 또 다른 가능한 구현에서, 프로세서는: 제2 신원 정보에 대한 검증이 실패하는 경우, 제2 노드에 대한 통신 연결을 끊거나, 또는 통신 인터페이스를 통해 업데이트 실패 정보를 제2 노드에 전송하도록 통신 인터페이스에 지시하게끔 또한, 구성된다.
제2 신원 인증 정보에 대한 검증이 실패하는 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타냄을 알 수 있다. 따라서, 전술한 노드는 제2 노드로의 통신 연결을 끊거나, 업데이트 실패 정보를 제2 노드로 전송하여서, 키 업데이트를 수행해야 하는 노드에 대해 액세스 요청을 다시 초기화하고, 그럼으로써 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
제5 양태의 또 다른 가능한 구현에서, 프로세서는: 제2 노드로부터 제1 응답 메시지를 수신한 후, 제1 응답 메시지에 대해 무결성 검증을 수행하고; 무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하도록 또한, 구성되고;
프로세서는: 무결성 검증이 실패하는 경우, 제2 노드에 대한 통신 연결을 끊거나, 또는 통신 인터페이스를 통해 업데이트 실패 정보를 제2 노드에 전송하게끔 통신 인터페이스에 지시하도록 또한, 구성된다.
정보가 변조되었는지 여부를 결정하기 위해 무결성 검증이 수행될 수 있음을 알 수 있다. 따라서, 전술한 노드는 신원 정보에 대한 검증을 수행하기 전에 제1 응답 메시지의 정보가 변조되지 않았는지 결정하기 위해, 제1 응답 메시지에 대한 무결성 검증을 우선 수행한다. 무결성 검증에 실패하는 경우, 이는 제1 응답 정보의 데이터가 변조되었고 키가 업데이트될 수 없음을 나타낸다. 따라서, 노드는 제2 노드와의 통신 연결을 끊거나, 또는 업데이트 실패 정보를 제2 노드로 전송하여, 상기 노드가 키 업데이트를 수행해야 하는 노드에 다시 액세스하고, 그럼으로써 키 업데이트 프로세스에서 데이터 보안을 보장한다.
제6 양태에 따르면, 본 출원의 실시예는 장치를 개시한다. 노드는 메모리, 프로세서 및 통신 인터페이스를 포함하고, 메모리는 계산기 프로그램을 저장하고, 프로세서는 메모리에 저장된 컴퓨터 프로그램을 호출하여 다음 동작들:
통신 인터페이스를 통해 제2 노드에 제1 키 업데이트 요청을 전송하는 동작으로서, 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성되는, 상기 전송하는 동작;
통신 인터페이스를 통해 제2 노드로부터 제1 응답 메시지를 수신하는 동작으로서, 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함하는, 상기 수신하는 동작;
상기 제1 공유 키를 사용하여 상기 제2 신원 인증 정보에 대한 검증을 수행하는 동작; 및
제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작을 수행하게 한다.
원본 세션 키가 만료되기 전에, 전술한 노드와 제1 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원래 세션 키를 크랙하더라도 도청자가 신원 정보를 위조할 수 없으므로, 중간자 공격을 방지하고 키 업데이트 프로세스에서 데이터 보안을 향상시킨다.
제6 양태의 가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용된다.
기존의 키 업데이트 프로세스에서 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 그러나, 본 출원에서, 제1 노드는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화하고, 제1 타깃 키가 필요에 따라 인에이블될 수 있도록 업데이트 시점 및/또는 유효 기간을 상기 노드에 나타낼 수 있다.
제6 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC SN을 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F 미만이다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
제6 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하는 제1 타깃 키의 유효 기간 내에 적용된다.
제6 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서는 구체적으로:
제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제6 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서는 구체적으로:
제2 타깃 키와 최신 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 및 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있으며, 여기서 fresh는 최신 파라미터이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
제6 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 노드의 마스터 키이다.
제6 양태의 또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서는 구체적으로:
제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하도록 구성되고, 여기서 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하는데 사용되는 알고리즘을 표시하는데 사용된다.
제6 양태의 또 다른 가능한 구현에서, 제1 타깃 키는 무결성 보호 키 또는 노드의 암호화 키이다.
제6 양태의 또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 수행된다.
기존의 키 업데이트 방법은 기존 키가 만료되면 키를 업데이트하는 것임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서, 제1 타깃 키는 키가 만료되기 전에 결정될 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있어서, 데이터 보안을 향상시킨다.
제6 양태의 또 다른 가능한 구현에서, 프로세서는: 제1 신원 정보에 대한 검증이 실패하는 경우, 제1 노드에 대한 통신 연결을 끊거나, 또는 통신 인터페이스를 통해 업데이트 실패 표시 정보를 제1 노드에 전송하게끔 통신 인터페이스에 지시하도록 또한, 구성된다.
제1 신원 인증 정보에 대한 검증이 실패하는 경우, 노드는 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드에 전송하여 현재 키 프로세스를 중지하고, 그럼으로써 키 업데이트 프로세스에서 노드의 데이터 보안을 보장할 수 있음을 알 수 있다.
제6 양태의 또 다른 가능한 구현에서, 제1 노드로부터 제1 키 업데이트 요청을 수신한 후, 프로세서는: 제1 키 업데이트 요청에 대해 무결성 검증을 수행하고; 무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제1 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하도록 또한, 구성되고;
프로세서는: 무결성 검증이 실패하는 경우, 제1 노드에 대한 연결을 끊거나, 또는 통신 인터페이스를 통해 업데이트 실패 표시 정보를 제1 노드에 전송하게끔 통신 인터페이스에 지시하도록 또한, 구성된다.
신원 정보에 대한 검증을 수행하기 전에, 제1 키 업데이트 요청의 정보가 변조되지 않았는지 결정하기 위해 전술한 노드는 제1 키 업데이트 요청에 대한 무결성 검증을 우선 수행한다. 무결성 검증에 실패하는 경우, 이는 제1 키 업데이트 요청의 데이터가 변조되었고, 키가 업데이트될 수 없음을 나타낸다. 따라서, 전술한 노드는 제1 노드와의 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드로 전송함으로써 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
제7 양태에 따르면, 본 출원의 실시예는 컴퓨터 판독가능한 저장 매체를 개시한다. 컴퓨터 판독가능한 저장 매체는 컴퓨터 프로그램을 저장한다. 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 제1 양태 및 제1 양태의 가능한 구현들 중 어느 하나 또는 제2 양태 및 제2 양태의 가능한 구현들 중 어느 하나의 방법이 수행된다.
제8 양태에 따르면, 본 출원의 실시예는 칩 시스템을 개시한다. 칩 시스템은 적어도 하나의 프로세서, 메모리 및 인터페이스 회로를 포함한다. 인터페이스 회로는 적어도 하나의 프로세서에 대한 정보 입력/출력을 제공하도록 구성되고, 적어도 하나의 메모리는 컴퓨터 프로그램을 저장하고, 컴퓨터 프로그램이 하나 이상의 프로세서를 실행할 때, 제1 양태 및 제1 양태의 가능한 구현들 중 어느 하나 또는 제2 양태 및 제2 양태의 가능한 구현들 중 어느 하나의 방법이 수행된다.
제9 양태에 따르면, 본 출원의 실시예는 차량을 개시한다. 차량은 제1 노드(예컨대, 자동차 조종석 영역 컨트롤러(CDC))를 포함한다. 또한, 차량은 제2 노드(예를 들어, 가령, 카메라, 스크린, 마이크, 사운더(sounder), 레이더, 전자 키, 키리스 엔트리(keyless entry) 또는 시동 시스템 컨트롤러 등의 모듈 중 적어도 하나)를 더 포함한다. 제1 노드는 제3 양태 및 제3 양태의 가능한 구현들 중 어느 하나 또는 제5 양태 및 제5 양태의 가능한 구현들 중 어느 하나의 노드이고, 제2 노드는 제4 양태 및 제4 양태의 가능한 구현들 중 어느 하나 또는 제6 양태 및 제6 양태의 가능한 구현들 중 어느 하나의 노드이다.
다음은 본 출원의 실시예에서 사용된 첨부 도면을 설명한다.
도 1은 본 출원의 실시예에 따른 DH 알고리즘의 개략적인 원리도이다.
도 2는 본 출원의 실시예에 따른 키 유도 알고리즘의 개략도이다.
도 3은 본 출원의 실시예에 따른 통신 시스템의 개략적인 구조도이다.
도 4는 본 출원의 실시예에 따른 키 업데이트 방법의 사용 시나리오의 개략도이다.
도 5는 본 출원의 실시예에 따른 키 업데이트 방법의 개략적인 흐름도이다.
도 6a 및 6b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법의 개략적인 흐름도이다.
도 7a 및 7b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법의 개략적인 흐름도이다.
도 8a 및 8b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법의 개략적인 흐름도이다.
도 9는 본 출원의 실시예에 따른 노드의 개략적인 구조도이다.
도 10은 본 출원의 실시예에 따른 또 다른 노드의 개략적인 구조도이다.
도 11은 본 출원의 실시예에 따른 또 다른 노드의 개략적인 구조도이다.
도 12는 본 출원의 실시예에 따른 또 다른 노드의 개략적인 구조도이다.
도 1은 본 출원의 실시예에 따른 DH 알고리즘의 개략적인 원리도이다.
도 2는 본 출원의 실시예에 따른 키 유도 알고리즘의 개략도이다.
도 3은 본 출원의 실시예에 따른 통신 시스템의 개략적인 구조도이다.
도 4는 본 출원의 실시예에 따른 키 업데이트 방법의 사용 시나리오의 개략도이다.
도 5는 본 출원의 실시예에 따른 키 업데이트 방법의 개략적인 흐름도이다.
도 6a 및 6b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법의 개략적인 흐름도이다.
도 7a 및 7b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법의 개략적인 흐름도이다.
도 8a 및 8b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법의 개략적인 흐름도이다.
도 9는 본 출원의 실시예에 따른 노드의 개략적인 구조도이다.
도 10은 본 출원의 실시예에 따른 또 다른 노드의 개략적인 구조도이다.
도 11은 본 출원의 실시예에 따른 또 다른 노드의 개략적인 구조도이다.
도 12는 본 출원의 실시예에 따른 또 다른 노드의 개략적인 구조도이다.
다음은 본 출원의 실시예에서 첨부된 도면을 참조하여 본 출원의 실시예를 설명한다. 본 출원에서 "예(example)", 또는 "예를 들어(for example)" 등의 단어는 실시예, 예시, 또는 설명을 제공하는 것을 나타내는데 사용된다는 점에 유의해야 한다. 본 출원에서 "예", 또는 "예를 들어"로 설명된 임의의 실시예 또는 설계 솔루션은 다른 실시예 또는 설계 솔루션보다 더 바람직하거나 더 많은 이점을 갖는 것으로 설명되어서는 안된다. 정확히는, "예", 또는 "예를 들어" 등의 단어를 사용하는 것은 상대적인 개념을 특정한 방식으로 제시하도록 의도된다.
다음은 이해의 편의를 위해 본 출원에서 관련된 기술 및 기술 용어를 우선 간략하게 설명한다.
1. 노드(node)
노드는 데이터 송/수신 기능을 갖는 전자 디바이스이다. 예를 들어, 노드는 자동차 조종석(조종석 영역(Cockpit Domain)) 디바이스, 또는 자동차 조종석 디바이스의 모듈(가령, 조종석 영역 컨트롤러(cockpit domain controller, CDC), 카메라, 스크린, 마이크, 사운더, 전자 키, 및 키리스 엔트리 또는 시동 시스템 컨트롤러 등의 모듈 중 하나 이상)을 포함한다. 구체적인 구현 프로세스에서, 노드는 예컨대, 라우터, 중계기(repeater), 브리지, 또는 스위치와 같은 데이터 전송 디바이스일 수 있거나, 예를 들어, 다양한 유형, 가령 사용자 장비(user equipment, UE), 휴대전화(휴대전화), 태블릿 컴퓨터(패드), 데스크톱 컴퓨터, 헤드셋, 및 음향기와 같은 단말 디바이스일 수 있고; 가령, 자율주행(self-driving) 디바이스, 교통 안전(transportation safety) 디바이스, 가상 현실(virtual reality, VR) 단말 디바이스, 증강 현실(augmented reality, AR) 단말 디바이스, 기계형 통신(Machine Type Communication, MTC) 디바이스, 산업용 컨트롤(industrial control) 디바이스, 원격 의료(remote medical) 디바이스, 스마트 그리드(smart grid) 디바이스, 및 스마트 시티(smart city) 디바이스와 같은 기계 지능 디바이스(machine intelligence device)를 더 포함할 수 있으며, 웨어러블 디바이스(예컨대, 스마트 워치, 스마트 밴드, 만보계) 등을 더 포함할 수 있다. 일부 기술 시나리오에서, 유사한 데이터 송/수신 기능을 갖는 디바이스의 이름이 노드로 지칭되지 않을 수 있다. 그러나, 설명의 편의를 위해, 데이터 송/수신 기능을 갖는 전자 디바이스는 본 출원의 실시예에서 집합적으로 노드로 지칭된다.
2. 키(key)
통신 프로세스에서, 데이터는 통신 노드 간에 전송된다. 데이터를 기밀로 유지해야 하는 경우, 키를 사용하여 데이터가 암호화되어야 한다. 노드에서 기밀로 유지되어야 하는 콘텐츠의 비밀 수준과 비밀 클래스가 때때로 상이하기 때문에, 상이한 유형의 키가 암호화에 사용되어야 한다. 공통 키 유형은 세션 키, 마스터 키, 및 공유 키 등을 포함한다.
(1). 세션 키(session key)
세션 키는 암호화 키, 무결성 보호 키, 및 파일 키 등을 포함한다. 암호화 키(encryption key)는 노드에 의해 전송되는 데이터를 보호하기 위해 사용될 수 있으며, 데이터 암호화 키라고도 또한, 지칭될 수 있다. 무결성 보호 키는 전송된 데이터에 대한 무결성 보호를 수행하는 데 사용할 수 있다. 파일 키는 전송된 파일을 보호하는 데 사용할 수 있다. 선택적으로 세션 키는 두 통신 당사자의 노드에 미리 구성될 수 있거나, 두 통신 당사자 간의 협상을 통해 획득될 수 있거나, 또는 원래 키를 사용하여 유도될 수 있거나, 또는 키 배포 센터(Key Distribution Center, KDC)에 의해 할당될 수 있다. 선택적으로, 세션 키는 대칭 암호화 알고리즘(symmetric encryption algorithm)의 키일 수 있거나, 또는 비대칭 암호화 알고리즘(asymmetric encryption algorithm)의 키일 수 있다.
(2). 마스터 키(master key)
마스터 키는 노드의 고급 비밀 값(high-class secret value)이고, 세션 키, 및 서브 마스터 키 등을 유도하는데 사용될 수 있다. 서브마스터 키는 마스터 키와 세션 키 사이의 클래스를 갖는 키이며, 때때로 중간 키라고도 지칭된다.
일부 가능한 솔루션에서, 마스터 키는 물리적 또는 전자적 격리를 통해 엄격하게 보호될 수 있다.
(3). 공유 키(shared key, SK)
공유 키는 두 통신 당사자의 노드에 저장된 동일한 비밀 값이다. 일부 선택적 솔루션에서, 노드는 마스터 키, 세션 키 또는 사전 공유 키(PSK)를 공유 키로 사용할 수 있다. 노드에 하나 이상의 공유 키가 있을 수 있다.
예를 들어, 노드는 세션 키를 공유 키로 사용한다. 예를 들어, 노드 A와 노드 B가 대칭 암호화 알고리즘을 사용하여(즉, 암호화와 복호화에 동일한 키를 사용하여) 서로 통신하는 경우, 노드 A는 암호화 키 Km를 사용하여 평문 메시지를 암호화하고, 노드 B에 상기 평문 메시지를 전송하며, 노드 B는 복호화 키 Km을 사용하여 평문 메시지를 복호화한다. 이 경우, 암호화 키 Km은 두 노드 간의 공유 키로 사용될 수 있다.
다른 예로, 노드는 사전 공유 키를 공유 키로 사용할 수 있으며, 사전 공유 키는 두 노드 간의 연결을 식별하는 비밀 값이다. 사전 공유 키는 두 통신 당사자의 노드에서 미리 구성될 수 있다. 예를 들어, 차량의 조종석 영역 컨트롤러(cockpit domain controller, CDC)와 차량 내 레이더 디바이스는 서로 통신할 수 있는 두 개의 노드이며, CDC와 차량 내 레이더에 대하여 비밀 값이 배치 동안에 미리 설정되어 있고, 오로지 차량의 CDC만이 루프 레이더(roof radar)에 연결되거나, 또는 루프 레이더에 데이터를 전송할 수 있다. 대안으로, 사전 공유 키는 통신을 통해 두 통신 당사자에 의해 획득될 수 있다. 예를 들어, CDC가 휴대전화과 블루투스로 연결되기 전에 페어링을 확인하여 사전 공유 키를 생성할 수 있다. 추가로, 사전 공유 키는 신뢰할 수 있는 디바이스(예를 들어, KDC)에 의해 제1 노드 및 제2 노드에 별도로 전송될 수 있다.
3. 키 협상(key negotiation)
키 협상은 두 통신 당사자가 협상을 통해 키를 획득하기 위해 임의의 파라미터를 교환하는 프로세스이다. 키 협상에 사용되는 알고리즘은, 키 협상 알고리즘 또는 키 교환 알고리즘이라고 지칭된다. 일반적인 키 협상 알고리즘은, DH(Diffie-Hellman) 알고리즘, 타원 곡선 암호화(Elliptic Curve Cryptosystems, ECC) DH(ECDH) 알고리즘, 오클리(Oakley) 알고리즘, 및 중국어 암호화(Chinese cryptography) 알고리즘(예를 들어, SM1, SM2, SM3, SM4) 등을 포함한다.
DH 알고리즘을 예로 들면, 두 노드는 동일한 소수 p와 동일한 난수 g를 사용하여 각각 난수 a와 b를 생성한다. 제1 노드는 g mod P의 a제곱에 의해 생성된 값을 제2 노드로 전송하고, 제2 노드는 g mod P의 b제곱에 의해 생성된 값을 제1 노드로 전송하고, 제1 노드는 이후 수신된 결과에 대해 a제곱 연산을 수행하고, 제2 노드는 수신된 결과에 대해 a제곱 연산을 수행하며, 여기서 mod는 모듈로 연산(modulo operation)을 나타낸다. 최종적으로, 비밀번호가 형성되고, 키 교환이 완료된다.
도 1은 본 출원의 실시예에 따른 DH 알고리즘의 개략적인 원리도이다. DH 알고리즘에서 키를 교환하는 단계는 다음과 같다.
1단계: 제1 노드는 소수 p, 난수 g, 및 난수 a를 결정한다.
2단계: 제1 노드는 제1 계산된 값 A를 생성하고, 여기서 A는 A=ga mod p의 방정식을 충족한다.
3단계: 제1 노드는 소수 p, 난수 g, 및 제1 계산된 값 A를 제2 노드로 전송한다.
4단계: 제2 노드가 난수 b를 결정한다.
5단계: 제2 노드는 계산을 통해 제2 계산된 값 B를 획득하며, 여기서 B는 예를 들어, B=gb mod p의 방정식을 충족한다.
6단계: 제2 노드는 협상을 통해 키 s=Ab mod p를 계산한다.
7단계: 제2 노드는 제1 계산된 값 B를 제1 노드로 전송한다.
8단계: 제1 노드는 s=Ba mod p를 계산한다.
K=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod p이기 때문에, 제1 노드와 제2 노드에 의해 계산된 키 s는 동일하다. 추가로, 키 s는 네트워크 상에서 전송되지 않고, 알고리즘에서 선택된 소수 p, 난수 g, 난수 a, 및 난수 b의 값이 실제로 매우 크기 때문에, 네트워크에서 전송된 소수 p, 난수 g, 제1 계산된 값 A, 및 제2 계산된 값 B에 기초해서 키 s를 유도하는 것은 난해하다. 따라서, DH 알고리즘을 사용하여 획득된 키는 안전하다.
4. 키 유도(key derivation)
키 유도는 하나의 비밀 값에서 하나 이상의 키를 유도하는 것이다. 키를 유도하는데 사용되는 알고리즘은 키 유도 알고리즘(key derivation function, KDF)이라고 지칭된다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있으며, 여기서 fresh는 최신 파라미터(fresh parameter)이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등 중 적어도 하나를 포함한다. 상이한 순간들에서의 최신 파라미터는 일반적으로 상이하다. 프레임 번호는 프레임의 번호이며, 프레임은 여러 비트 또는 필드를 포함하는 특정 정보 구조이다. 예를 들어, 시분할 다중접속(time division multiple access, TDMA) 통신 기술에서, 시간은 주기적 프레임으로 분할(segment)되고, 각 프레임의 프레임 번호는 0에서 2715647까지 주기적으로 변경된다.
일반적인 키 유도 알고리즘은 암호 기반 키 유도 함수(password-based key derivation function, PBKDF), 및 스크립트(scrypt) 알고리즘 등을 포함한다. PBKDF 알고리즘은 1세대 PBKDF1과 2세대 PBKDF2를 더 포함한다. 선택적으로, 일부 KDF 알고리즘의 키 유도 프로세스에서, 해시 알고리즘이 입력 비밀 값에 대한 해시 변경을 수행하는데 사용된다. 따라서, 알고리즘 식별자는 사용될 해시 알고리즘을 나타내도록 KDF 함수의 입력으로서 또한, 수신될 수 있다.
PBKDF2를 예로 들면, PBKDF2 알고리즘에서 비밀 값 Key를 사용하여 유도된 새로운 키 DK는 DK=PBKDF2(PRF, Key, salt, c, dk_len)로 표현될 수 있으며, 여기서 파라미터 PRF는 사용될 해시 알고리즘의 식별자를 나타내고, salt는 무작위로 생성된 salt이며 최신 파라미터로 간주될 수 있으며, c는 반복의 횟수, dk_len은 생성된 DK의 길이이고, 블록 크기로 또한, 지칭될 수 있으며, 디폴트로 존재할 수 있다. 도 2는 본 출원의 실시예에 따른 키 유도 알고리즘의 개략도이다. 유도된 키(1)는, 비밀 값(201), 알고리즘 식별자(1), 및 최신 파라미터 fresh1을 사용하여 획득될 수 있고, 유도된 키(2)는 비밀 값(201), 알고리즘 식별자(1), 및 최신 파라미터 fresh2를 사용하여 획득될 수 있으며, 여기서 반복의 횟수와 블록 크기가 미리 설정된다.
5. 암호화 알고리즘(cryptographic algorithm)
암호화 알고리즘은 암호화 및/또는 복호화를 위한 수학적 함수일 수 있으며, 암호화 함수라고도 또한, 지칭될 수 있다. 일반적인 암호화 알고리즘은 해시 알고리즘, 또는 인증 알고리즘 등을 포함한다. 해시 알고리즘은 해시(hash) 함수 또는 해시 알고리즘이라고도 또한, 지칭된다. 해시 알고리즘은 임의의 길이의 정보를 식별자로 변환하는 데 사용될 수 있으며, 역 규칙(inverse rule)을 찾기가 난해하다. 일반적인 해시 알고리즘은 해시 기반 메시지 인증 코드(hash-based message authentication code, HMAC), HMAC 중국어 암호화 알고리즘 HMAC-SM(예컨대, HMAC-SM3), HMAC 보안 해시 알고리즘(HMAC-secure hash algorithm, HMAC-SHA), 가령 HMAC-SHA256 또는 HMAC-SHA3 등을 포함하고, 가령, MD2, MD4, MD5 등과 같은 메시지 다이제스트(message digest, MD) 알고리즘을 더 포함할 수 있다. 또한, 암호화 알고리즘은, cDNA 말단(ends) RACE 무결성 프리미티브 평가 메시지 다이제스트(RACE Integrity Primitives Evaluation Message Digest; RIPEMD) 알고리즘의 급속 증폭을 더 포함할 수 있다.
다음은 본 출원의 실시예에서 시스템 아키텍처 및 서비스 시나리오를 설명한다. 본 출원에 설명된 시스템 아키텍처 및 서비스 시나리오는 본 출원의 기술 솔루션을 보다 명확하게 설명하기 위한 의도이며, 본 출원에서 제공되는 기술 솔루션에 대한 제한을 구성하지 않는다. 통상의 기술자는: 시스템 아키텍처의 발전과 새로운 서비스 시나리오의 출현으로, 본 출원에서 제공되는 기술 솔루션은 유사한 기술 문제에도 또한, 적용가능하다는 것을 인식할 수 있다.
도 3은 본 출원의 실시예에 따른 통신 시스템의 개략적인 구조도이다. 통신 시스템은 제1 노드(301) 및 제2 노드(302)를 포함한다. 제1 노드(301)는 데이터 링크를 통해 제2 노드(302)와 통신할 수 있다. 도청자(또는 공격자)가 정보의 콘텐츠를 획득하는 것을 방지하기 위해, 암호화 키를 사용하여 통신 중에 정보가 암호화될 수 있다. 예를 들어, 제1 노드(301)는, 암호문 메시지(304)를 획득하기 위해, 암호화 키(305)를 사용하여 전송되어야 하는 평문 메시지(303)를 암호화한다. 제1 노드(301)는 암호문 메시지(304)를 제2 노드(302)로 전송한다. 이에 대응하여, 제2 노드(302)는 암호문 메시지(304)를 수신한 후 키를 사용하여 암호문 메시지(304)를 복호화하여 평문 메시지(303)를 획득함으로써 데이터 전송을 완료할 수 있다. 암호화 키 및 복호화 키에 추가하여, 제1 노드(301) 및 제2 노드(302)는 가령, 무결성 보호 키, 파일 키, 및 마스터 키 등과 같은 키를 더 포함할 수 있다.
제1 노드(301) 및 제2 노드(302)는 상이한 디바이스들일 수 있음에 유의해야 한다. 예를 들어, 도 4는 본 출원의 실시예에 따른 키 업데이트 방법의 사용 시나리오의 개략도이다. CDC(401) 및 카메라(402)는 스마트 조종석 디바이스의 2개의 노드이다. CDC(401)는 제1 노드(301)로 간주될 수 있고, 카메라(402)는 제2 노드(302)로 간주될 수 있다. 카메라(402)는 키를 사용하여 비디오 데이터를 암호화하고, 암호화된 비디오 데이터를 블루투스를 통해 CDC(401)로 전송하고, CDC(401)는 블루투스를 통해 암호화된 비디오 데이터를 수신하고, 암호화된 비디오 데이터를 복호화하여 촬영된 비디오 데이터를 획득한다. 제1 노드(301) 및 제2 노드(302)는 대안으로 동일한 유형의 노드일 수 있다. 예를 들어, 제1 노드(301)가 휴대전화 A이고, 제2 노드(302)가 휴대전화 B인 경우, 휴대전화 A는 로컬 음성 데이터를 암호화하고, 암호화된 음성 데이터를 네트워크 호출을 통해 단말 B로 전송할 수 있다.
선택적으로, 제1 노드(301)와 제2 노드(302) 사이에서 데이터를 전송하기 위한 데이터 링크는, 예를 들어, 유선 링크, 무선 링크(예를 들어, 와이파이 또는 블루투스), 또는 광 섬유 링크와 같은 다양한 유형의 연결 매체를 포함할 수 있다.
선택적으로, 제1 노드(301)는 통신 개시자일 수 있고, 마스터 노드로 지칭될 수 있다. 이에 대응하여, 제2 노드(302)는 통신 수신측으로서, 이차 노드(secondary node)로 지칭될 수 있다.
노드의 암호화된 콘텐츠가 공개되지 않도록 보장하기 위해, 키의 서비스 수명이 일반적으로 제한된다. 따라서, 키 업데이트 메커니즘이 도입되어야 한다. 예를 들어, 블루투스로 연결된 CDC(401)와 카메라(402)를 예로 들면, E0 암호화 방식이 사용되는 경우, CDC(401)와 카메라(402)는 228 블루투스 틱(ticks)(약 23.3시간) 이내에 키를 한 번 업데이트해야 하고; 고급 암호화 표준(Advanced Encryption Standard, AES) 암호화 알고리즘이 사용되는 경우, CDC(401)와 카메라(402)는 238 틱(약 2.72년) 이내에 키를 한 번 업데이트해야 한다. 다른 예로, 마스터 키와 세션 키를 포함하는 노드에서, 마스터 키와 카운터 값을 사용하여 세션 키가 생성되는 경우, 카운터 값이 반전되기 전에(또는 새로운 카운팅 라운드가 재시작되기 전에) 마스터 키가 업데이트되어야 한다. 키 업데이트 프로세스에서, 키 업데이트를 위해 사용되고 노드 간에 전송되는 메시지는, 중간자(man-in-the-middle) 공격에 취약하고, 그럼으로써 데이터 보안에 영향을 미친다. 이러한 문제를 해결하기 위해, 본 출원의 실시예에서는 다음의 방법을 제공한다.
도 5는 본 출원의 실시예에 따른 키 업데이트 방법의 개략적인 흐름도이다. 키 업데이트 방법은 도 3에 도시된 아키텍처에 기초해서 구현될 수 있다. 이 방법에는 다음 단계가 포함되지만 이에 국한되지는 않는다.
단계 S501: 제1 노드는 제2 노드에 제1 키 업데이트 요청을 전송한다.
구체적으로, 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함한다. 제1 키 협상 파라미터는 제1 타깃 키를 생성하는데 사용되는 키 파라미터이다. 몇 가지 선택적인 케이스들이 다음과 같이 설명된다.
케이스 1: 제1 키 협상 파라미터는 키 협상 알고리즘의 파라미터 KEm을 포함할 수 있다. 설명의 편의를 위해, 키 협상 알고리즘의 파라미터 KEm은 제1 키 협상 알고리즘 파라미터로 지칭될 수 있다.
키 협상 알고리즘이 DH 알고리즘인 실시예에서, 제1 노드에서 결정되는 DH 알고리즘의 파라미터는 소수 p, 난수 g, 난수 a, 및 계산된 값 A를 포함한다. 값 A는 다음의 방정식: A=ga mod p를 충족하고, 소수 p와 난수 g는 제2 노드에 의해 추가로 사용되어서 DH 알고리즘의 다른 파라미터를 생성한다. 선택적으로, 소수 p, 난수 g ,및 계산된 값 A는 제2 노드로 전송되어야 하기 때문에, 소수 p, 난수 g, 및 계산된 값 A는 제1 노드의 공개 키로 간주될 수 있다. 따라서, 난수 a는 제2 노드로 전송되지 않으므로, 난수는 제1 노드의 개인 키로 간주될 수 있다. 선택적으로, 제1 노드는 계산된 값 A를 제1 키 협상 알고리즘 파라미터 KEm로 사용하고 제1 키 업데이트 요청을 보내기 전에 소수 p와 난수 g를 제2 노드로 전송하거나, 소수 p, 난수 g, 및 계산된 값 A를 제1 키 협상 알고리즘 파라미터 KEm로 사용하고, 제1 키 업데이트 요청을 사용하여 제1 키 협상 알고리즘 파라미터 KEm을 제2 노드에 전송할 수 있다.
케이스 2: 제1 키 협상 파라미터는 최신 파라미터(fresh parameter)를 포함할 수 있다.
본 출원의 이 실시예에서, 제1 키 업데이트 요청의 제1 신원 인증 정보는 제1 노드와 제2 노드 사이의 공유 키를 사용하여 생성될 수 있다. 설명의 편의를 위해, 제1 키 업데이트 요청을 생성하기 위한 공유 키는 제1 공유 키로 지칭되고, 제1 공유 키는 마스터 키 또는 사전 공유 키(PSK)와 같은 키일 수 있다.
선택적인 솔루션에서, 제1 신원 인증 정보는 암호화 알고리즘을 사용하여 생성될 수 있다. 암호화 알고리즘이 HMAC인 실시예에서, HMAC는 하나 이상의 문자 파라미터의 입력을 수신하고, 식별자를 출력하는데 사용되며, 식별자는 제1 신원 인증 정보로 사용될 수 있다. 다음은 설명을 위해 해시 함수가 HMAC인 실시예를 사용한다.
실시예 1: 제1 노드에 의해 생성된 제1 신원 인증 정보 AUTHm은 HMAC(PSK), 즉 AUTHm=HMAC(PSK)일 수 있다.
실시예 2: 제1 키 협상 파라미터가 S1으로 나타나는 경우, 제1 노드에 의해 생성된 제1 신원 인증 정보 AUTHm은 HMAC(PSK, S1), 즉 AUTHm=HMAC(PSK, S1)일 수 있다. S1은, 전술한 케이스 1에서 제1 키 협상 알고리즘 파라미터 KEm일 수 있거나, 전술한 케이스 2에서 최신 파라미터(예를 들어, 카운터 값, 일련 번호, 난수 값, 프레임 번호 중 적어도 하나)일 수 있다.
실시예 3: 제1 키 업데이트 요청이 난수 값(한 번 사용된 수, NONCE)을 더 포함하는 경우, 제1 노드에 의해 생성된 제1 신원 인증 정보 AUTHm은 HMAC(PSK, S1, NONCEm)일 수 있으며, 여기서 NONCEm은 제1 노드에 의해 생성된 난수 값이고, 즉 AUTHm=HMAC(PSK, S1, NONCEm)이다.
본 출원의 이 실시예에서, 제1 키 업데이트 요청은 제1 타깃 키의 유효 기간(만료) 및 제1 업데이트 시점에 대한 적어도 하나의 정보를 더 나타낼 수 있다. 제1 업데이트 시점은 제1 타깃 키가 인에이블되는 시간을 나타내는데 사용되며, 인에이블 시점 또는 시작 시점이라고도 지칭될 수 있다.
예를 들어, 제1 키 업데이트 요청은 제1 타깃 키의 유효 기간을 나타내는 제1 표시 정보를 포함한다. 제1 표시 정보는 특정 날짜시간(datetime)일 수 있다. 예를 들어, 제1 표시 정보가 2020년 2월 6일 00:52:50인 경우 제1 타깃 키의 유효 날짜시간이 2020년 2월 6일 00:52:50에 종료되거나, 유효하지 않은 날짜시간이 2020년 2월 6일 00:52:50 이후에 시작됨을 나타낼 수 있다. 제1 표시 정보는, 대안으로 유효 시간 또는 무효 시간을 나타내는 문자열, 예를 들어 2020년 2월 6일 00:52:50을 나타내는 타임스탬프 "1590921570"일 수 있다. 제1 표시 정보는 대안으로 타이머(timer) 등일 수 있다. 예를 들어, 제1 타깃 키의 유효 기간이 1000초인 경우, 제1 타깃 키가 생성 또는 인에이블된 이후 1000번째 초 이전까지 유효함을 나타낸다. 제2 표시 정보는 프레임 번호 등을 더 포함할 수 있다.
다른 실시예로, 제1 키 업데이트 요청은 제1 업데이트 시점을 나타내는 제2 표시 정보를 포함한다. 제2 표시 정보는 프레임 번호, 특정 날짜시간, 문자열, 타이머 중 하나 이상일 수 있다. 프레임 번호는 통신 프레임의 번호 또는 인덱스이고, 통신 프레임은 제1 노드가 제2 노드와 통신할 때의 메시지 구조이다. 통신 프레임은 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임 또는 사용자 평면 다운링크 프레임 중 적어도 하나를 포함한다. 통신 프레임의 프레임 번호는 일반적으로 미리 설정된 프레임 번호 값 범위 내에서 순환한다. 예를 들어, 시분할 다중 접속(TDMA) 통신 기술에서, 시간은 주기적인 프레임으로 분할되고, 각 프레임의 프레임 번호는 0에서 2715647까지 주기적으로 변경된다. 제1 노드는 업데이트 요청에 수반된 프레임 번호를 사용하여 제1 업데이트 시점을 나타낼 수 있다. 설명의 편의를 위해, 제1 키 업데이트 요청에 수반된 프레임 번호는 제1 프레임 번호로 지칭된다. 예를 들어, 제1 프레임 번호가 2345인 경우, 제1 타깃 키는 프레임 번호 2345부터 시작되는 통신 프레임 이후에 적용됨을 나타낸다. 선택적으로, 제1 프레임 번호는 복수의 프레임 번호일 수 있다. 예를 들어, 제1 프레임 번호가 사용자 평면 다운링크 프레임의 프레임 번호 A와 사용자 평면 업링크 프레임의 프레임 번호 B를 포함할 수 있는 경우, 이는 제1 타깃 키가 프레임 번호 A를 시작하고 이에 후속하여서, 사용자 평면 다운링크 프레임에 적용되고, 제1 타깃 키는 프레임 번호 B를 시작하고 이에 후속하여서, 사용자 평면 업링크 프레임에 적용됨을 나타낼 수 있다.
선택적으로, 제1 키 업데이트 요청이 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타내는 경우, 제1 프레임 번호는, 복수의 비트, 예를 들어, F 비트를 사용하여 나타낼 수 있다. 대안으로, 제1 키 업데이트 요청은 미디어 액세스 제어 일련 번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이고, M은 F보다 작다. 구체적으로, 제1 프레임 번호를 나타내기 위해 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다. 설명의 편의를 위해 제1 프레임 번호는 본 명세서에서 설명을 위한 예로서 사용된 것으로, 본 발명을 제한하려는 의도가 아니다.
제1 키 업데이트 요청이 유효 기간 및/또는 제1 업데이트 시점을 더 포함하는 경우, 제1 신원 인증 정보에 대해 다음 실시예가 또한, 존재할 수 있다.
실시예 4: 제1 키 업데이트 요청이 제1 타깃 키의 유효 기간을 나타내는 정보 만료를 포함하는 경우, 제1 노드에 의해 생성된 신원 인증 정보 AUTHm은 HMAC(PSK, S1, expiration)일 수 있고, 즉, AUTHm=HMAC(PSK, S1, expiration)일 수 있다.
실시예 5: 제1 키 업데이트 요청이 제1 업데이트 시점을 나타내는 정보 타이머를 포함하는 경우, 제1 노드에 의해 생성된 신원 인증 정보 AUTHm은 HMAC(PSK, S1, timer)일 수 있고, 즉, AUTHm=HMAC(PSK, S1, timer)일 수 있다. 인에이블 시간 타이머는 새로운 키가 시작되는 시간을 나타낸다.
실시예 6: 제1 키 업데이트 요청이 난수 값 NONCEm, 제1 타깃 키의 유효 기간을 나타내는 정보 만료, 및 제1 업데이트 시점을 나타내는 정보 타이머를 포함하는 경우, 제1 노드에 의해 생성된 신원 인증 정보 AUTHm은 HMAC(PSK, S1, NONCEm, expiration, timer)일 수 있고, 즉 AUTHm=HMAC(PSK, S1, NONCEm, expiration, timer)일 수 있다.
물론, 제1 신원 인증 정보가 생성되는 경우, 다른 정보(예를 들어, 제1 노드의 번호, 제1 노드의 주소, 제1 노드와 제2 노드 간의 연결의 식별자)가 제1 공유 치에 추가하여 포함될 수 있다. 제1 키 업데이트 요청이 가령, 난수 값 NONCEm, 제1 타깃 키의 유효 기간을 나타내는 정보 만료, 및 제1 업데이트 시점을 나타내는 정보 타이머와 같은 파라미터를 포함하는 경우, 제1 노드는 대안으로 제1 세대 신원 인증 정보 AUTHm의 파라미터의 일부 또는 전부를 사용하지 않을 수 있음에 유의해야 한다.
선택적으로, 제1 노드는 제1 통신 프레임을 사용하여 제2 노드에 제1 키 업데이트 요청을 전송할 수 있고, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호보다 작으며, 제3 프레임 번호는 마지막으로 업데이트된 키의 시작 시점을 나타내는데 사용된다. 제1 키 업데이트 요청에 수반된 제1 프레임 번호는 제2 프레임 번호보다 크고 제3 프레임 번호보다 작다. 예를 들어, 제3 프레임 번호가 2365인 경우, 이는 프레임 번호가 2365부터 시작하는 통신 프레임 이후에 마지막으로 업데이트된 키가 적용되고, 제1 노드는 프레임 번호가 다시 2365에 도달하기 전에 제1 타깃 키를 결정해야 함을 나타낸다. 따라서, 제1 노드는 프레임 번호가 2345인 제1 통신 프레임에서 제1 키 업데이트 요청을 전송할 수 있고, 제1 프레임 번호 2355는 제1 키 업데이트 요청에서 제1 타깃 키의 시작 시점을 나타내는데 사용된다. 통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되고, 따라서 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 동일한 프레임 번호를 갖는 데이터 프레임은 상이한 키를 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
대안적인 솔루션에서, 제1 키 업데이트 요청은 제1 프레임 번호 대신 MAC 일련 번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F보다 작다. 대안으로, 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호는 MAC SN, 즉, 제3 프레임을 나타내는데 사용되는 복수의 비트 중 일부가 나타내는 MAC SN으로 대체될 수도 있다. 이 대안적인 솔루션에서, 제1 프레임 번호, 제2 프레임 번호 및 제3 프레임 번호 사이의 값의 관계는 변경되지 않은 상태로 유지된다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
선택적으로, 제1 타깃 키와 마지막으로 업데이트된 키는 동일한 유형의 키이다. 예를 들어, 제1 키 업데이트 요청에서 업데이트가 요청된 제1 타깃 키가 암호화 키인 경우, 제3 프레임 번호는 지난 번의 암호화 키 업데이트에 사용된 키 업데이트 요청에 수반된 프레임 번호이다.
선택적으로, 제1 노드는 통신 프레임의 프레임 번호를 기록하고, 통신 프레임의 프레임 번호와 제3 프레임 번호가 제1 임계값 이하인 경우 제1 키 업데이트 요청을 전송할 수 있다. 예를 들어, 제1 노드는 제1 임계값을 20으로 미리 설정한다. 제3 프레임 번호가 2365인 경우, 제1 노드는 프레임 번호가 2345인 통신 프레임을 기록할 때 제1 키 업데이트 요청을 전송할 수 있다. 또한, 제1 노드는 하나 이상의 통신 프레임의 프레임 번호를 기록할 수 있으며, 예를 들어 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임, 또는 사용자 평면 다운링크 프레임 중 적어도 2개의 프레임 번호를 기록할 수 있다. 하나의 통신 프레임의 프레임 번호와 제3 프레임 번호의 차이가 제1 임계값에 도달하는 경우, 제1 키 업데이트 요청이 전송된다.
선택적으로, 마지막 키 업데이트 프로세스에서 키 시작 시점을 나타내는 정보가 수반되지 않거나 제1 노드가 이전에 키 업데이트를 수행하지 않은 경우, 제1 노드는 타깃 프레임 번호를 미리 설정할 수 있다. 제1 노드가 현재 통신 프레임 번호와 타깃 프레임 번호 사이의 차이가 제1 임계값 이하인 것을 검출하는 경우, 제1 노드는 제1 키 업데이트 요청을 전송한다. 마지막 키 업데이트에 수반된 제3 프레임 번호를 획득하는 것 외에도, 제1 노드는 마지막 키 업데이트 중에 전송된 키 업데이트 요청에 프레임 번호, 응답 메시지가 마지막으로 수신된 경우 프레임 번호, 또는 마지막으로 업데이트된 키가 처음으로 통신에 사용될 때 사용된 통신 프레임의 프레임 번호를 기록하여, 현재 키가 업데이트되어야 하는지 여부를 검출할 수 있다.
단계 S502: 제2 노드는 제1 공유 키에 기초해서 제1 신원 인증 정보에 대한 검증을 수행한다.
구체적으로, 제1 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제1 노드에 의해 생성된다. 따라서, 제2 노드는, 제1 공유 키에 기초해서, 제1 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적인 솔루션에서, 프로토콜은 제1 노드가 특정 파라미터를 사용하여 제1 신원 인증 정보를 생성하도록 규정하고, 따라서 제2 노드 또한, 동일한 파라미터를 사용하여 검증에 사용되는 신원 인증 정보를 생성해야 한다. 검증에 사용된 신원 인증 정보가 제1 신원 인증 정보와 동일한 경우, 인증이 성공한 것으로 간주된다. 예를 들어, 제1 신원 인증 정보는 HMAC을 사용하여 생성된다. 따라서, 제2 노드는, HMAC을 사용함으로써, 검증에 사용되는 신원 인증 정보(체크 값 check1이라고도 지칭됨)를 생성하고, 이후 검증에 사용되는 신원 인증 정보를 사용하여, 제1 신원 인증 정보가 정확한지 여부를 검증할 수 있다. 아래에서 일실시예가 설명을 위해 사용된다.
예를 들어, 제1 신원 인증 정보 AUTHm가 HMAC(PSK)인 경우, 제2 노드는 제2 노드와 제1 노드 간의 사전 공유 키(PSK)에 기초해서 HMAC를 사용하여 체크 값 check1=HMAC(PSK)를 획득한다. 체크 값 check1이 AUTHm과 동일한 경우, 검증이 성공한다.
다른 예로, 제1 신원 인증 정보 AUTHm이 HMAC(PSK, S1)인 경우, 제2 노드는 제2 노드 및 제1 노드 사이의 사전 공유 키(PSK) 및 제1 키 협상 파라미터 S1에 기초해서 HMAC을 사용하여 체크 값 check1=HMAC(PSK, S1)을 획득한다. 체크 값 check1이 AUTHm과 동일한 경우, 검증이 성공한다. 제1 키 협상 파라미터 S1에 대해서는, 단계 S501의 해당 설명을 참조한다.
선택적으로, 제1 신원 정보에 대한 검증이 실패하는 경우, 이는 제1 노드의 신원이 신뢰할 수 없음을 나타낸다. 따라서, 제2 노드는 후속 키 업데이트 단계를 수행하지 않을 수 있다. 이 경우, 제2 노드가 제1 노드와의 통신 연결을 끊거나, 제2 노드가 업데이트 실패 표시 정보를 제1 노드로 전송하거나, 또는 제2 노드는, 제1 키 업데이트 요청을 폐기하고 응답하지 않을 수 있어서, 제2 노드의 데이터 보안을 보장할 수 있다.
선택적으로, 제2 노드는, 제1 키 업데이트 요청의 정보가 다른 디바이스에 의해 변조되는 것을 방지하기 위해, 제1 키 업데이트 요청의 메시지 무결성에 대한 검증을 수행할 수 있다. 제1 키 업데이트 요청은 무결성 보호 검증 식별자를 포함할 수 있다. 제2 노드는 무결성 보호 검증 식별자를 사용하여 제1 키 업데이트 요청의 메시지 무결성에 대한 검증을 수행한다. 검증이 성공하는 경우, 제2 노드는 제1 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행한다. 검증이 실패하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 끊거나, 업데이트 실패 표시 정보를 제1 노드에 전송하거나, 또는 제2 노드가 제1 키 업데이트 요청을 폐기하고 응답하지 않을 수 있어서, 제2 노드의 데이터 보안을 보장할 수 있다.
단계 S503: 제1 신원 인증 정보에 대한 검증이 성공하는 경우, 제2 노드는 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정한다.
구체적으로, 제2 노드는 적어도 다음 4개의 선택적 방법들을 사용하여 제1 키 업데이트 요청의 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정한다.
방법 1: 제1 키 협상 파라미터는 전술한 케이스 1을 만족한다. 즉, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터 KEm을 포함하고, 제2 노드는 키 협상 알고리즘의 제2 키 협상 알고리즘 파라미터 KE를 결정할 수 있다. 제2 노드는 제1 키 협상 알고리즘 파라미터 KEm 및 제2 키 협상 알고리즘 파라미터KEs에 기초해서 제1 타깃 키를 생성할 수 있다.
키 협상 알고리즘이 DH 알고리즘인 경우, 제1 노드로부터 제2 노드에 의해 수신되는 DH 알고리즘의 파라미터는 소수 p, 난수 g, 및 제1 계산된 값 A를 포함할 수 있고, DH 알고리즘에 속하고 제2 노드에 의해 결정될 수 있는 파라미터는 난수 b 및 계산된 값 B, 즉, 제2 키 협상 알고리즘 파라미터 KEs를 포함하며, 여기서 B는 방정식 B=gb mod p를 만족한다. 제2 노드는 난수 b, 계산된 값 A, 및 소수 p에 기초해서, 제1 타깃 키 K1을 결정할 수 있으며, 여기서 K1은 다음 방정식: K1=Ab mod p를 만족한다.
선택적으로, 제2 노드에 의해 결정된 DH 알고리즘의 파라미터에서, 난수 b는 제2 노드에 의해 제1 타깃 키를 생성하는데 사용되며, 따라서 난수 b는 제2 노드의 개인 키로 간주될 수 있으며; 계산된 값 B는 제1 노드로 전송되므로, 계산된 값 B는 제2 노드의 공개 키로 간주될 수 있다.
방법 2: 제1 키 협상 파라미터는 전술한 케이스 2를 만족한다. 즉, 제1 키 협상 파라미터는 최신 파라미터를 포함하고, 제2 노드는 제2 타깃 키 및 최신 파라미터에 기초해서 제1 타깃 키를 생성할 수 있다. 제2 타깃 키는 제1 노드와 제2 노드 간의 공유 키일 수 있다.
선택적으로, 제2 노드는 KDF를 사용하여 제1 타깃 키를 생성할 수 있다.
예를 들어, 제2 노드는, 제2 타깃 키 K2 및 최신 파라미터 fresh에 기초한 KDF 알고리즘을 사용하여, 제1 타깃 키 K1이: K1=KDF(K2, fresh)임을 결정한다.
방법 3: 제1 키 협상 파라미터는 전술한 케이스 2를 만족한다. 즉, 제1 키 협상 파라미터는 최신 파라미터를 포함한다. 알고리즘 식별자 tag가 제2 노드로부터 획득되는 경우, 제2 노드는, 제2 타깃 키 K2, 최신 파라미터 fresh, 및 알고리즘 식별자 tag에 기초한 KDF 알고리즘을 사용함으로써, 제1 타깃 키 K1이: K1=KDF(K2, fresh, tag)임을 결정할 수 있다.
알고리즘 식별자는 제1 타깃 키를 생성하기 위해 사용되는 알고리즘을 나타내는데 사용될 수 있다. 예를 들어, 문자열 "암호화(encryption)"는 암호화 키를 생성하는데 사용되는 알고리즘을 나타내는데 사용된다. 다른 예를 들면, 무결성 보호 키를 생성하기 위해 사용되는 알고리즘을 나타내기 위해 문자열 "무결성(integrity)"이 사용된다. 알고리즘 식별자는, 사용될 해시 알고리즘의 식별자를 나타내기 위해 대안으로 사용될 수 있다. 예를 들어, 문자열 "SHA256"은 제1 타깃 키를 결정하는데 사용되는 알고리즘이 SHA256 알고리즘임을 나타내는데 사용된다. 알고리즘 식별자는 숫자 값을 사용하여 대안으로 표현될 수 있다. 예를 들어, 01은 AES 암호화 알고리즘을 나타내고, 10은 메시지 인증 기반의 AES 알고리즘(AES-cypher-based message authentication code, AES-CMAC) 무결성 알고리즘을 나타낸다.
알고리즘 식별자는 제1 노드와 제2 노드 사이에 미리 설정되거나, 제1 노드에 의해 결정된 후 제2 노드로 전송될 수 있다.
방법 4: 제1 키 협상 파라미터는 전술한 케이스 2를 만족한다. 즉, 제1 키 협상 파라미터는 최신 파라미터를 포함한다. 알고리즘 식별자 tag 및 알고리즘 유형 type이 제2 노드로부터 획득되는 경우, 제2 노드는, 제2 타깃 키 K2, 최신 파라미터(fresh), 알고리즘 식별자 tag, 및 키 유형(type)에 기초해서 제1 타깃 키 K1이: K1=KDF(K2, fresh, tag, type)이라고 결정할 수 있고, 여기서 type은 키의 유형을 나타낸다. 예를 들어, 문자열 "암호화"는 암호화 키 생성을 나타내는데 사용된다. 다른 예를 들어, 문자열 "무결성"은 무결성 보호 키 생성을 나타내는데 사용된다. 알고리즘 식별자는 제1 타깃 키를 생성하는데 사용되는 알고리즘을 나타내는데 사용된다.
키 유형을 제1 키 업데이트 요청에 나타낼 수 있거나, 또는 키 유형은 제1 타깃 키가 생성되기 전에 제1 노드 및 제2 노드에 의해 사전 협상될 수 있다.
선택적으로, 방법 2, 방법 3, 및 방법 4 중 어느 하나 이상에서의 제1 타깃 키를 결정하는 프로세스에서, 제2 노드는 우선 제1 타깃 키 K2 및 최신 파라미터에 기초해서 중간 키를 결정할 수 있고, 이후 중간 키에 기초해서 알고리즘 식별자 tag 및 키 유형 type 중 적어도 하나를 사용하여 제1 타깃 키 K1을 결정할 수 있다. 예를 들어, 제2 노드는 키 유도 함수 KDF1를 사용하여 중간 키 Kmid: Kmid=KDF1(K2, fresh)를 획득하고, 이후 중간 키 Kmid에 기초한 키 유도 함수 KDF2를 사용하여 제1 타깃 키 K1: K1=KDF2 (Kmid, tag, type)임을 결정한다. KDF1과 KDF2는 동일한 키 유도 함수일 수도 있고, 상이한 키 유도 함수일 수도 있다. 이 경우, 제1 노드는 중간 키 Kmid를 결정할 때 새로운 최신 파라미터를 생성하기만 하면 되고, 제1 타깃이 결정될 때마다 새로운 최신 파라미터를 생성할 필요가 없으며, 그럼으로써 최신 파라미터를 생성하는 횟수를 감소시키고 생성된 최신 파라미터의 관리를 용이하게 한다. 본 명세서에서 이 솔루션을 더 명확하게 설명하기 위해, 제1 타깃 키를 어떻게 획득하는 지가 2개의 단계를 사용하여 설명된다는 점에 유의해야 한다. 실제 처리에서, 제1 타깃 키는 대안으로 하나의 단계를 사용하여 획득될 수 있다. 중간 키 Kmid는 중간 결과일 뿐이다. 즉, 제1 타깃을 결정하는 방식은 K1=KDF2(KDF1(K2, fresh), tag, type)를 만족한다.
선택적으로, 제1 키 업데이트 요청이 제1 업데이트 시점을 나타내는 정보를 전달하는 경우, 제2 노드에서 생성된 제1 타깃 키는 제1 업데이트 시점에서 시작하는 시간 이후에 적용된다. 선택적으로, 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타내는 경우, 제1 업데이트 시점부터 통신 프레임이 시작된 후 제1 타깃 키가 적용된다.
선택적으로, 제2 노드는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호(또는 제3 프레임 번호에 대응하는 MAC 일련 번호)를 획득할 수 있다. 제2 노드가 통신 프레임의 프레임 번호가 반전된 것(또는 새로운 카운팅 라운드가 재시작되는 것)을 감지하고, 현재 통신 프레임의 프레임 번호는 제3 프레임 번호(또는 제3 프레임 번호에 대응하는 MAC 일련 번호)이상이고, 이 시점에서 키 업데이트 요청이 수신되지 않았거나, 또는 새로운 키가 적용되지 않은 경우, 제2 노드는 제1 노드에 대한 연결을 끊고, 보안 컨텍스트를 추가로 삭제할 수 있어서, 상대방과의 연결을 다시 개시하고, 그럼으로써 통신 프로세스의 보안을 보장할 수 있다. 보안 컨텍스트는 가령, 공유 키, 키 유효 기간, 및 키 업데이트 시점과 같은 보안 정보 중 적어도 하나를 포함한다.
선택적으로, 제2 노드는 마지막으로 업데이트된 키가 처음으로 통신에 사용될 때 사용된 통신 프레임의 프레임 번호를 추가로 획득할 수 있다. 제2 노드가 통신 프레임의 프레임 번호가 한 번 반전되었음을 감지하고, 현재 통신 프레임의 프레임 번호가 마지막으로 업데이트된 키가 통신에 처음 사용될 때 사용된 통신 프레임의 프레임 번호 이상이고, 키 업데이트 요청이 수신되지 않았거나, 또는 이 시점에서 새로운 키가 적용되지 않은 경우, 제2 노드는 제1 노드에 대한 연결을 끊고, 보안 컨텍스트를 추가로 삭제할 수 있어서, 통신 프로세스의 보안을 보장할 수 있다.
단계 S504: 제2 노드는 제1 노드에 제1 응답 메시지를 전송한다.
구체적으로, 제1 응답 메시지는 제2 노드의 신원에 대한 인증을 수행하기 위해 사용되는 제2 신원 인증 정보를 포함한다. 제2 노드가 방법 1을 사용하여 제1 타깃 키를 생성하는 경우, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터 KEs를 더 포함한다. 선택적으로, 제1 응답 메시지는 제2 노드에 의해 생성된 난수 값 NONCEs를 더 포함한다.
본 출원의 이 실시예에서, 제2 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제2 노드에 의해 생성될 수 있다.
선택적인 솔루션에서, 제2 신원 인증 정보는 암호화 알고리즘을 사용하여 생성될 수 있다. 암호화 알고리즘이 HMAC인 실시예에서, HMAC는 하나 이상의 문자 파라미터의 입력을 수신하고, 식별자를 출력하는데 사용되며, 식별자는 신원 인증 정보로 사용될 수 있다. 다음은 설명을 위해 암호화 알고리즘이 HMAC인 실시예를 사용한다.
실시예 1: 제2 노드에 의해 생성된 제2 신원 인증 정보 AUTHs는 HMAC(PSK)일 수 있고, 즉 AUTHs=HMAC(PSK)일 수 있다.
실시예 2: 제1 응답 메시지가 제2 키 협상 파라미터 KEs를 더 포함하는 경우, 제2 노드에 의해 생성된 제2 신원 인증 정보 AUTHs는 HMAC(PSK, KEs)일 수 있고, 즉 AUTHs=HMAC(PSK, KEs)일 수 있다.
실시예 3: 제1 응답 메시지가 제2 노드에 의해 생성된 난수 값 NONCEs를 더 포함하는 경우, 제2 노드에 의해 생성된 신원 인증 정보 AUTHs는 HMAC(PSK, KEs, NONCEs)일 수 있고, 즉, AUTHs=HMAC(PSK, K1, NONCEs)일 수 있다.
물론, 제2 신원 인증 정보를 생성하기 위해 사용되는 파라미터에서, 다른 정보(예를 들어, 제2 노드의 번호, 제2 노드의 주소, 또는 제2 노드와 제1 노드 간의 연결의 식별자)는 제1 공유 키에 추가하여 포함된다. 제1 응답 메시지가 가령, 제2 키 협상 파라미터 KEs 및/또는 난수 값 NONCEs와 같은 파라미터를 포함하는 경우, 제2 노드는 신원 인증 정보 AUTHs를 생성하는데 이러한 파라미터를 사용하지 않을 수 있다.
선택적으로, 제1 응답 메시지는 제2 노드가 제1 키 협상 파라미터 및 제1 공유 키에 기초해서 제1 신원 인증 정보를 인증할 수 있는 후에 전송되는 응답 메시지이다.
단계 S505: 제1 노드는 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행한다.
구체적으로, 제2 신원 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제2 노드에 의해 생성된다. 따라서, 제1 노드는, 제1 공유 키에 기초해서, 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적인 솔루션에서, 프로토콜은 제2 노드가 특정 파라미터를 사용하여 제2 신원 인증 정보를 생성하도록 규정하고, 따라서 제1 노드 또한, 동일한 파라미터를 사용하여 검증에 사용되는 신원 인증 정보를 생성해야 한다. 인증에 사용된 신원 인증 정보가 제2 신원 인증 정보와 동일한 경우, 인증이 성공한 것으로 간주된다.
예를 들어, 제2 신원 인증 정보는 HMAC를 사용하여 생성될 수 있다. 따라서, 제1 노드는, HMAC을 사용함으로써, 검증에 사용되는 신원 인증 정보(체크 값 check2라고도 지칭됨)를 생성하고, 이후 검증에 사용되는 신원 인증 정보를 사용하여, 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다. 아래에서 일실시예가 설명을 위해 사용된다.
예를 들어, 제2 신원 인증 정보 AUTHs가 HMAC(PSK)인 경우, 제1 노드는 제1 노드와 제2 노드 간의 사전 공유 키(PSK)에 기초해서 HMAC를 사용하여 체크 값 check2=HMAC(PSK)를 획득한다. 체크 값 check2가 AUTHs와 동일한 경우, 검증이 성공한다.
다른 예시로, 제1 신원 인증 정보 AUTHs가 HMAC(PSK, KEs)인 경우, 제1 노드는 제1 노드와 제2 노드 사이의 사전 공유 키(PSK) 및 제1 응답 메시지의 제2 키 협상 파라미터 KEs에 기초해서 HMAC를 사용하여 체크 값 check2=HMAC(PSK, KEs)를 획득한다. 체크 값 check2가 AUTHs와 동일한 경우, 검증이 성공한다.
선택적으로, 제2 신원 인증 정보에 대한 검증이 실패한 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타낸다. 따라서, 제1 노드는 제2 노드에 대한 연결을 끊거나, 업데이트 실패 표시 정보를 제2 노드에 전송하거나, 또는 제1 응답 메시지를 폐기하고 응답하지 않을 수 있어서, 데이터 업데이트 프로세스에서 데이터 보안을 보장하고, 키 업데이트를 수행할 필요가 있는 노드에 대한 연결을 용이하게 할 수 있다.
선택적으로, 제1 노드는, 제1 응답 메시지의 정보가 다른 디바이스에 의해 변조되는 것을 방지하기 위해, 제1 응답 메시지의 메시지 무결성에 대한 검증을 수행할 수 있다. 제2 노드는 제1 응답 메시지에 무결성 보호 검증 식별자를 추가할 수 있다. 제1 노드는 무결성 보호 검증 식별자를 사용하여 제1 응답 메시지의 메시지 무결성에 대한 검증을 수행한다. 검증이 성공하는 경우, 제1 노드는 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속하여 수행한다. 검증이 실패하는 경우, 제1 노드는 제2 노드에 대한 연결을 끊거나, 업데이트 실패 표시 정보를 제2 노드에 전송하거나, 또는 제1 응답 메시지를 폐기하고 응답하지 않아서, 데이터 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
단계 S506: 제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 노드는 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정한다.
구체적으로, 제1 노드는 적어도 다음과 같은 몇몇 선택적 방법을 사용하여 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정한다.
방법 1: 제1 키 협상 파라미터는 전술한 케이스 1을 만족한다. 즉, 제1 키 협상 파라미터는 키 협상 알고리즘의 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 파라미터 KE를 포함한다. 제1 노드는 제1 키 협상 알고리즘 파라미터(KEm) 및 제2 키 협상 알고리즘 파라미터 KEs에 기초해서 제1 타깃 키를 생성할 수 있다.
키 협상 알고리즘이 DH 알고리즘인 실시예에서, 제1 노드에서 생성되는 DH 알고리즘의 파라미터는 소수 p, 난수 g, 난수 a, 및 제1 계산된 값 A를 포함한다. 제2 노드로부터 제1 노드에 의해 수신된 DH 알고리즘의 파라미터는 제1 계산된 값 B를 포함한다. 제1 노드는 난수 a, 계산된 값 B, 및 소수 p에 기초해서 제1 타깃 키 K1을 결정할 수 있고, 여기서 K1은 다음 방정식: K1=Ba mod p를 만족한다. K1=Ba mod p. Because K1=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a=Ba mod p이기 때문에, 제1 노드와 제2 노드에 의해 결정되는 제1 타깃 키 K1은 동일하다.
방법 2: 제1 키 협상 파라미터는 전술한 케이스 2를 만족한다. 즉, 제1 키 협상 파라미터는 최신 파라미터를 포함하고, 제1 노드는 제2 타깃 키와 최신 파라미터에 기초해서 제1 타깃 키를 생성한다.
선택적으로, 제1 노드는 KDF를 사용하여 제1 타깃 키를 생성할 수 있다.
예를 들어, 제1 노드는 제2 타깃 키 K2 및 최신 파라미터 fresh에 기초한 KDF를 사용함으로써, 제1 타깃 키 K1이: K1=KDF(K2, fresh)임을 결정한다.
방법 3: 제1 키 협상 파라미터는 전술한 케이스 2를 만족한다. 즉, 제1 키 협상 파라미터는 최신 파라미터를 포함한다. 알고리즘 식별자 tag가 제1 노드로부터 획득되는 경우, 제1 노드는 제2 타깃 키 K2, 최신 파라미터 fresh, 및 알고리즘 식별자 tag에 기초해서 KDF 알고리즘을 사용함으로써, 제1 타깃 키 K1가: K1=KDF(K2, fresh, tag)임을 결정한다.
알고리즘 식별자는 제1 타깃 키를 생성하기 위해 사용되는 알고리즘을 나타내는데 사용될 수 있다. 예를 들어, 문자열 "암호화"는 암호화 키를 생성하는데 사용되는 알고리즘을 나타내는데 사용된다. 다른 예를 들면, 문자열 "무결성"은 무결성 보호 키를 생성하기 위해 사용되는 알고리즘을 나타내는데 사용된다. 알고리즘 식별자는, 사용될 해시 알고리즘의 식별자를 나타내기 위해 대안으로 사용될 수 있다. 예를 들어, 문자열 "SHA256"은 제1 타깃 키를 결정하는데 사용되는 알고리즘이 SHA256 알고리즘임을 나타내는데 사용된다. 알고리즘 식별자는 숫자 값을 사용하여 대안으로 표현될 수 있다. 예를 들어, 01은 AES 암호화 알고리즘을 나타내고, 10은 메시지 인증 기반의 AES 알고리즘(AES-cypher-based message authentication code, AES-CMAC) 무결성 알고리즘을 나타낸다.
알고리즘 식별자는 제1 노드와 제2 노드 사이에 미리 설정되거나, 제1 노드에 의해 결정될 수 있다.
방법 4: 제1 키 협상 파라미터는 전술한 케이스 2를 만족한다. 즉, 제1 키 협상 파라미터는 최신 파라미터를 포함한다. 알고리즘 식별자 tag 및 알고리즘 유형 type이 제1 노드로부터 획득되는 경우, 제1 노드는 제2 타깃 키 K2, 최신 파라미터 fresh, 알고리즘 식별자 tag, 및 키 유형 type에 기초해서 제1 타깃 키 K1이: K1=KDF(K2, fresh, tag, type)이라고 결정할 수 있고, 여기서 type은 키 유형을 나타낸다. 예를 들어, 문자열 "암호화"는 암호화 키 생성을 나타내는데 사용된다. 다른 예를 들어, 문자열 "무결성"은 무결성 보호 키 생성을 나타내는데 사용된다. 알고리즘 식별자는 제1 타깃 키를 생성하는데 사용되는 알고리즘을 나타내는데 사용된다.
키 유형을 제1 키 업데이트 요청 내에 나타낼 수 있거나, 키 유형은 제1 타깃 키가 생성되기 전에 제1 노드 및 제2 노드에 의해 사전 협상될 수 있다.
선택적으로, 방법 2, 방법 3, 및 방법 4 중 어느 하나 이상에서의 제1 타깃 키를 결정하는 프로세스에서, 제1 노드는 우선 제1 타깃 키 K2 및 최신 파라미터 fresh에 기초해서 중간 키를 결정할 수 있고, 이후 중간 키에 기초해서 알고리즘 식별자 tag 및 키 유형 type 중 적어도 하나를 사용하여 제1 타깃 키 K1을 결정할 수 있다. 예를 들어, 제1 노드는 키 유도 함수 KDF1을 사용하여 중간 키 Kmid: Kmid=KDF1(K2, fresh)를 획득하고, 이후 중간 키 Kmid에 기초해서 키 유도 함수 KDF2를 사용하여 제1 타깃 키 K1=KDF2(Kmid, tag, type)를 결정한다. KDF1과 KDF2는 동일한 키 유도 함수일 수도 있고, 상이한 키 유도 함수일 수도 있다. 본 명세서에서 이 솔루션을 더 명확하게 설명하기 위해, 제1 타깃 키를 어떻게 획득하는 지가 2개의 단계를 사용하여 설명된다. 실제 처리에서, 제1 타깃 키는 대안으로 하나의 단계를 사용하여 획득될 수 있다. 중간 키 Kmid는 중간 결과일 뿐이다. 즉, 제1 타깃을 결정하는 방식은 K1=KDF2(KDF1(K2, fresh), tag, type)를 만족한다.
선택적으로, 제1 타깃 키는 제1 노드와 제2 노드 사이의 공유 키에 적용될 수 있으며, 마스터 키, 및 세션 키 등을 포함한다.
선택적으로, 제1 키 업데이트 요청이 제1 업데이트 시점을 나타내는 경우, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하는 시간 내에 적용될 수 있다. 예를 들어, 제1 타깃 키가 마스터 키이고, 제1 키 업데이트 요청에 포함되어 제1 비밀 키를 나타내는 정보가 타임스탬프 "1590921570"인 경우, 이는 제1 타깃 키가 인에이블된 시간이 2020년 2월 6일 00:52:50임을 나타내고, 따라서 제1 노드와 제2 노드는 2020년 2월 6일 00:52:50부터 시작하는 시간 이후 제1 타깃 키를 마스터 키로 사용한다.
선택적으로, 제1 키 업데이트 요청이 제1 타깃 키의 유효 기간을 나타내는 경우, 제1 타깃 키가 제1 타깃 키의 유효 기간 내에 적용될 수 있다. 예를 들어, 제1 타깃 키가 마스터 키이고, 제1 키 업데이트 요청에 포함되어 제1 비밀 키를 나타내는 정보가 타임스탬프 "1590952447"인 경우, 이는 제1 타깃 키의 유효 기간이 2020년 2월 6일 09:28:26 이내임을 나타내고, 따라서 제1 노드와 제2 노드는 2020년 2월 6일 09:28:26에 제1 타깃 키를 마스터 키로 사용할 수 있다.
선택적으로, 제2 노드는 제1 타깃 키의 유효 기간 전에 새로운 타깃 키를 결정하기 위해 제1 타깃 키의 유효 기간을 추가로 검출할 수 있다.
제1 키 업데이트 요청이 제1 업데이트 시점 및 제1 타깃 키의 유효 기간을 나타내는 경우, 제1 타깃 키가 제1 업데이트 시점부터 시작하는 제1 타깃 키의 유효 기간 내에 적용되는 것으로 이해될 수 있다.
선택적으로, 제2 타깃 키는 암호화 키일 수 있다. 이 경우, 제1 키 업데이트 요청은 제2 타깃 키를 사용하여 암호화될 수 있다. 이에 대응하여, 제1 키 업데이트 요청을 수신한 후, 제2 노드는 복호화를 위해 제2 타깃 키를 사용할 수 있다. 유사하게, 제1 응답 요청은 제2 타깃 키를 사용하여 암호화될 수 있다. 이에 대응하여, 제1 응답 메시지를 수신한 후, 제1 노드는 복호화를 위해 제2 타깃 키를 사용할 수 있다.
선택적으로, 제2 타깃 키는 무결성 보호 키일 수 있다. 이 경우, 제2 타깃 키를 사용하여 제1 키 업데이트 요청에 대해 무결성 보호가 수행될 수 있다. 이에 대응하여, 제1 노드로부터 제1 키 업데이트 요청을 수신한 후, 제2 노드는 제2 타깃 키를 사용하여 데이터 무결성을 확인할 수 있다. 유사하게, 제2 타깃 키를 사용하여 제1 응답 요청에 대해 무결성 보호가 수행될 수 있다. 이에 대응하여, 제1 노드는 제1 응답 메시지를 수신한 후, 제2 타깃 키를 사용하여 데이터 무결성을 확인할 수 있다. 기존의 키 업데이트 프로세스에서는, 키 업데이트 시점이 설정(configure)된다. 따라서, 새로운 키가 업데이트될 때, 기존 키가 만료되었기 때문에, 키 업데이트 중에 암호화 프로세스가 일시 중단되어야 하고, 키 업데이트가 완료된 후 암호화 프로세스가 재개된다. 그러나, 암호화 프로세스의 일시 중단 및 암호화 프로세스의 재개는 키 업데이트 효율성에 영향을 미치며, 암호화 프로세스의 일시 중단은 보안에 영향을 미친다. 그러나, 본 출원의 키 업데이트 방법에서는, 기존 키가 만료되기 전에 키가 업데이트된다. 기존 키가 만료되지 않았기 때문에 암호화 프로세스를 일시 중단할 필요가 없으므로, 키 업데이트 효율성이 향상되고, 데이터 보안이 향상된다.
선택적으로, 제2 타깃 키는 마스터 키일 수 있다. 이 경우, 제2 타깃 키는 암호화 키 또는 무결성 보호 키를 결정하는데 사용될 수 있다. 따라서, 제2 타깃 키에 기초해서 결정된 암호화 키 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여, 제1 키 업데이트 요청에 대해 암호화 및/또는 무결성 보호가 수행될 수 있다. 이에 대응하여, 제1 키 업데이트 요청을 수신한 후, 제2 노드는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 제1 키 업데이트 요청을 복호화할 수 있거나, 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 데이터 무결성을 확인하는데 사용될 수 있다. 유사하게, 암호화 및/또는 무결성 보호는, 제2 타깃 키에 기초해서 결정된 암호화 키를 사용함으로써 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용함으로써 제1 응답 요청에 대해 수행될 수 있다. 이에 대응하여, 제1 응답 메시지를 수신한 후, 제1 노드는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 제1 응답 메시지를 복호화할 수 있거나, 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 데이터 무결성을 확인하는데 사용될 수 있다.
선택적으로, 방법 2 및 방법 3을 사용하여 제1 타깃 키가 결정될 때, 제1 타깃 키가 세션 키인 경우, 제1 타깃 키를 사용하여 제1 응답 메시지에 대해 암호화 또는 무결성 보호가 수행될 수 있다.
선택적으로, 제1 노드가 마스터 키와 카운터 값을 사용하여 세션 키를 업데이트할 때, 제1 노드는 카운터 값이 반전되었는지(또는 새로운 카운팅 라운드가 다시 시작되는지) 여부를 검출하고, 카운터 값이 반전되기 전에 제1 키 업데이트 요청을 제2 노드에 전송하며, 여기서 결정된 제1 타깃 키는 마스터 키이다. 선택적으로, 카운터 값이 반전되기 전에 제1 노드가 제1 키 업데이트 요청을 전송하지 않는 경우, 제1 노드는 제2 노드에 대한 통신 연결을 끊고 제2 노드에 다시 액세스하고, 그럼으로써 제2 노드와의 통신 프로세스의 보안을 보장할 수 있다.
선택적으로, 제1 노드는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호(또는 제3 프레임 번호에 대응하는 MAC 일련 번호)를 획득할 수 있다. 제1 노드가 통신 프레임의 프레임 번호가 1회 반전되었음을 검출하는 경우, 현재 통신 프레임의 프레임 번호는 제3 프레임 번호(또는 제3 프레임 번호에 대응하는 MAC 일련 번호) 이상이고, 이 시점에서 키 업데이트 요청이 전송되지 않았거나 새로운 키가 적용되지 않은 경우, 제1 노드는 제2 노드에 대한 연결을 끊고, 보안 컨텍스트를 추가로 삭제할 수 있어서, 다른 당사자와의 연결을 재개할 수 있으며, 그럼으로써 통신 프로세스의 보안을 보장한다.
도 5에 설명된 방법에 있어서, 키 업데이트 프로세스에서 제1 노드 및 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 확인하고, 신원 인증이 성공한 후에야 제1 키 협상 파라미터에 기초해서 키를 업데이트하여 제1 타깃 키를 획득한다. 이 경우, 도청자가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격을 방지하고, 데이터 보안을 향상시킬 수 있다.
도 5에 도시된 전술한 방법의 실시예는 다수의 가능한 구현 솔루션을 포함한다. 다음은 도 6a, 6b, 7a, 7b, 8a, 및 8b를 참조하여 일부 구현 솔루션을 별도로 설명한다. 도 6a, 6b, 7a, 7b, 8a, 및 8b에 설명되지 않은 관련된 개념 또는 동작 또는 논리적 관계에 대해서는, 도 5에 도시된 실시예의 해당 설명을 참조한다는 점에 유의해야 한다. 따라서, 자세한 내용은 다시 설명되지 않는다.
도 6a 및 6b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법을 도시한다. 이 방법은 적어도 다음의 단계들을 포함한다.
단계 S601: 제1 노드가 제2 노드에 제1 키 업데이트 요청을 전송한다.
본 출원의 이 실시예에서, 암호화 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용함으로써 및/또는 제2 타깃 키에 기초해서 결정된 무결성 키를 사용함으로써 제1 키 업데이트 요청에 대해 수행될 수 있다. 제2 타깃 키는 제1 노드와 제2 노드 간의 공유 키이다.
본 출원의 이 실시예에서, 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함한다. 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터(KEm)일 수 있다. 선택적으로, 제1 키 업데이트 요청은 난수 값 NONCEm, 제1 업데이트 시점을 나타내는 정보 타이머, 및 제1 타깃 키의 유효 기간을 나타내는 정보 만료 중 적어도 하나를 더 포함할 수 있다.
본 출원의 이 실시예에서, 제1 키 업데이트 요청의 제1 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키를 사용하여 생성될 수 있고, 제1 공유 키는 마스터 키 및 사전 공유 키(PSK) 등을 포함할 수 있다.
선택적으로, 제1 신원 인증 정보를 생성하기 위한 함수는 암호화 알고리즘일 수 있다. 암호화 알고리즘이 HMAC이고, 제1 공유 키가 사전 공유 키(PSK)인 실시예에서, 생성된 제1 신원 인증 정보 AUTHm은: AUTHm=HMAC(PSK, KEm, NONCEm, expiration, timer)로 표현될 수 있고, 파라미터의 시퀀스는 상이할 수 있다. 물론, 제1 키 업데이트 요청이 가령, 제1 키 협상 알고리즘 파라미터 KEm, 난수 값 NONCEm, 제1 타깃 키의 유효 기간을 나타내는 정보 만료, 또는 제1 업데이트 시점을 나타내는 정보 타이머와 같은 파라미터를 포함할 때, 제1 노드는 제1 신원 인증 정보 AUTHm을 생성하기 위해 파라미터의 일부 또는 전부를 사용하지 않을 수 있다.
선택적으로, 제1 노드는 제1 통신 프레임을 사용하여 제2 노드에 제1 키 업데이트 요청을 전송할 수 있고, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호보다 작으며, 제3 프레임 번호는 마지막 업데이트된 키의 시작 시점을 나타내는데 사용된다. 제1 키 업데이트 요청에 수반된 제1 프레임 번호는 제2 프레임 번호보다 크고 제3 프레임 번호보다 작다. 예를 들어, 제3 프레임 번호가 2365인 경우, 이는 프레임 번호가 2365부터 시작하는 통신 프레임 이후에 마지막으로 업데이트된 키가 적용되고, 제1 노드는 프레임 번호가 다시 2365에 도달하기 전에 제1 타깃 키를 결정해야 함을 나타낸다. 따라서, 제1 노드는 프레임 번호가 2345인 제1 통신 프레임에서 제1 키 업데이트 요청을 전송할 수 있고, 제1 프레임 번호 2355는 제1 키 업데이트 요청에서 제1 타깃 키의 시작 시점을 나타내는데 사용된다. 통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되고, 따라서 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 동일한 프레임 번호를 갖는 데이터 프레임은 상이한 키를 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
선택적으로, 마지막 키 업데이트 프로세스에서 키 시작 시점을 나타내는 정보가 수반되지 않거나, 또는 제1 노드가 이전에 키 업데이트를 수행하지 않은 경우, 제1 노드는 타깃 프레임 번호를 미리 구성할 수 있다. 제1 노드가 현재 통신 프레임 번호와 타깃 프레임 번호 사이의 차이가 제1 임계값 이하인 것을 검출하는 경우, 제1 노드는 제1 키 업데이트 요청을 전송한다.
단계 S602: 제2 노드는 제1 키 업데이트 요청을 복호화한다.
구체적으로, 제2 노드는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 제1 키 업데이트 요청을 복호화할 수 있다.
단계 S603: 제2 노드는 제1 키 업데이트 요청의 메시지 무결성에 대한 검증을 수행한다.
선택적으로, 검증이 실패하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 끊거나, 제2 노드는 업데이트 실패 표시 정보를 제1 노드에 전송하거나, 또는 제2 노드는 제1 키 업데이트 요청을 폐기할 수 있다.
선택적으로, 도 6a 및 6b에 도시된 실시예에서, 제2 노드는 단계 S603을 수행하지 않을 수 있다. 이 경우, 제2 노드는 단계 S602를 수행한 후, 제2 노드는 단계 S604 및 단계 S604의 후속 단계를 계속 수행할 수 있다.
단계 S604: 제2 노드는 제1 신원 인증 정보에 대한 검증을 수행한다.
구체적으로, 제1 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제1 노드에 의해 생성된다. 따라서, 제2 노드는, 제1 공유 키에 기초해서, 제1 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적인 솔루션에서, 프로토콜은 제1 노드가 특정 파라미터를 사용하여 제1 신원 인증 정보를 생성하도록 규정하고, 따라서 제2 노드 또한, 동일한 파라미터를 사용하여 검증에 사용되는 신원 인증 정보를 생성해야 한다. 검증에 사용된 신원 인증 정보가 제1 신원 인증 정보와 동일한 경우, 인증이 성공한 것으로 간주된다. 예를 들어, 제1 신원 인증 정보는 HMAC를 사용하여 생성된다. 따라서, 제2 노드는, HMAC을 사용함으로써, 검증에 사용되는 신원 인증 정보(체크 값 check1이라고도 지칭됨)를 생성하고, 이후 검증에 사용되는 신원 인증 정보를 사용하여, 제1 신원 인증 정보가 정확한지 여부를 검증할 수 있다. 아래에서 일실시예가 설명을 위해 사용된다.
예를 들어, 제1 신원 인증 정보 AUTHm이 HMAC(PSK)인 경우, 제2 노드는 제2 노드와 제1 노드 간의 사전 공유 키(PSK)에 기초해서 HMAC를 사용하여 체크 값 check1=HMAC(PSK)를 획득한다. 체크 값 check1이 AUTHm과 동일한 경우, 검증이 성공한다.
다른 실시예로, 제1 신원 인증 정보 AUTHm이 HMAC(PSK, KEm)인 경우, 제2 노드는, 제1 노드와 제2 노드 사이의 사전 공유 키(PSK) 및 제1 키 협상 파라미터 KEm에 기초해서, HMAC를 사용하여 체크 값 check1=HMAC(PSK, KEm)을 획득한다. 체크 값 check1이 AUTHm과 동일한 경우, 검증이 성공한다.
선택적으로, 제1 신원 정보에 대한 검증이 실패하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 끊을 수 있거나, 제2 노드는 업데이트 실패 표시 정보를 제1 노드에 전송하거나, 제2 노드는 제1 키 업데이트 요청을 폐기한다.
선택적으로, 제2 노드는 S604의 동작을 먼저 수행한 후 S603의 동작을 수행할 수 있다.
단계 S605: 제1 신원 인증 정보에 대한 검증이 성공하는 경우, 제2 노드는 제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성한다.
구체적으로, 제2 노드는 키 협상 알고리즘의 제2 키 협상 알고리즘 파라미터 KEs를 결정할 수 있다. 제2 노드는 제1 키 협상 알고리즘 파라미터 KEm 및 제2 키 협상 알고리즘 파라미터 KEs에 기초해서 제1 타깃 키를 생성한다.
키 협상 알고리즘이 DH 알고리즘인 경우, 제1 노드로부터 제2 노드에 의해 수신되는 DH 알고리즘의 파라미터는 소수 p, 난수 g, 및 제1 계산된 값 A를 포함하고, DH 알고리즘에 속하고 제2 노드에 의해 결정될 수 있는 파라미터는 난수 b 및 계산된 값 B, 즉 제2 키 협상 알고리즘 파라미터 KEs를 포함하며, 여기서 B는 B=gb mod p를 만족한다. 제2 노드는 난수 b, 계산된 값 A, 및 소수 p에 기초해서 제1 타깃 키 K1을 결정할 수 있으며, 여기서 K1은: K1=Ab mod p의 방정식을 만족한다.
단계 S606: 제2 노드가 제1 노드에 제1 응답 메시지를 전송한다.
본 출원의 이 실시예에서, 암호화 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용함으로써 및/또는 제2 타깃 키에 기초해서 결정된 무결성 키를 사용함으로써 제1 응답 메시지에 대해 수행될 수 있다. 제2 타깃 키는 제2 노드와 제1 노드 사이의 공유 키이다.
제1 응답 메시지는 제2 신원 인증 정보 및 제2 키 협상 알고리즘 파라미터 KEs를 포함하고, 제2 신원 인증 정보는 제2 노드의 신원을 검증하는데 사용되며, 제1 노드와 제2 노드 사이의 제1 공유 키를 사용하여 생성될 수 있다. 선택적으로, 제1 응답 메시지는 난수 값 NONCEs를 더 포함할 수 있다.
본 출원의 이 실시예에서, 제2 신원 인증 정보는 암호화 알고리즘을 사용하여 생성될 수 있다. 암호화 알고리즘이 HMAC인 실시예에서, 생성된 제2 신원 인증 정보 AUTHs는 AUTHs=HMAC(PSK, KEs, NONCEs)로 표현될 수 있고, 파라미터들의 시퀀스는 상이할 수 있다. 확실히, 제1 키 업데이트 요청이 가령, 제2 키 협상 알고리즘 파라미터 KEs 및 난수 값 NONCEs와 같은 파라미터를 포함할 때, 제2 노드는 제2 신원 인증 정보 AUTHs를 생성하기 위해 파라미터의 일부 또는 전부를 사용하지 않을 수 있다.
선택적으로, 제2 노드는 먼저 S606의 동작을 수행한 후, S605의 동작을 수행할 수 있다.
단계 S607: 제1 노드는 제1 응답 메시지를 복호화한다.
구체적으로, 제1 노드는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 제1 응답 메시지를 복호화할 수 있다.
선택적으로, 제1 노드는 S607의 동작을 먼저 수행한 후 S606의 동작을 수행할 수 있다.
단계 S608: 제1 노드는 제1 응답 메시지의 메시지 무결성에 대한 검증을 수행한다.
선택적으로, 메시지 무결성에 대한 검증이 실패하는 경우, 제1 노드는 제2 노드에 대한 연결을 끊거나, 업데이트 실패 표시 정보를 제2 노드에 전송하거나, 또는 제1 응답 메시지를 폐기할 수 있다.
선택적으로, 도 6a 및 6b에 도시된 실시예에서, 제1 노드는 단계 S608을 수행하지 않을 수 있다. 이 경우, 단계 S607을 수행한 후, 제1 노드는 단계 S609 및 단계 S609의 후속 단계를 계속 수행할 수 있다.
단계 S609: 제1 노드는 제2 신원 인증 정보에 대한 검증을 수행한다.
구체적으로, 제2 신원 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제2 노드에 의해 생성된다. 따라서, 제1 노드는 제1 공유 키에 기초해서 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적인 솔루션에서, 프로토콜은 제2 노드가 특정 파라미터를 사용하여 제2 신원 인증 정보를 생성하도록 규정하고, 따라서 제1 노드 또한, 동일한 파라미터를 사용하여 검증에 사용되는 신원 인증 정보를 생성해야 한다. 인증에 사용된 신원 인증 정보가 제2 신원 인증 정보와 동일한 경우, 인증이 성공한 것으로 간주된다.
예를 들어, 제2 신원 인증 정보는 HMAC를 사용하여 생성될 수 있다. 따라서, 제1 노드는, HMAC을 사용함으로써, 검증에 사용되는 신원 인증 정보(체크 값 check2라고도 지칭됨)를 생성하고, 이후 검증에 사용되는 신원 인증 정보를 사용하여, 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다. 아래에서 일실시예가 설명을 위해 사용된다.
예를 들어, 제2 신원 인증 정보 AUTHs가 HMAC(PSK)인 경우, 제1 노드는 제1 노드와 제2 노드 간의 사전 공유 키(PSK)에 기초해서 HMAC를 사용하여 체크 값 check2=HMAC(PSK)를 획득한다. . 체크 값 check2가 AUTHs와 동일한 경우, 검증이 성공한다.
다른 예시로, 제1 신원 인증 정보 AUTHs가 HMAC(PSK, KEs)인 경우, 제1 노드는 제1 노드 및 제2 노드 사이의 사전 공유 키(PSK)와, 제1 응답 메시지의 제2 키 협상 파라미터 KEs에 기초해서 HMAC를 사용하여 체크 값 check2=HMAC(PSK, KEs)를 획득한다. 체크 값 check2가 AUTHs와 동일한 경우, 검증이 성공한다.
선택적으로, 제2 신원 인증 정보에 대한 검증이 실패하는 경우, 제1 노드는 제2 노드에 대한 연결을 끊거나, 업데이트 실패 표시 정보를 제2 노드에 전송하거나, 또는 제1 응답 메시지를 폐기할 수 있다.
선택적으로, 제1 노드는 먼저 S609의 동작을 수행한 후 S608의 동작을 수행할 수 있다.
단계 S610: 제2 신원 인증 정보에 대한 검증이 성공하면, 제1 노드는 제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성한다.
구체적으로, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터 KEs를 포함하기 때문에, 제1 노드는 제1 키 협상 알고리즘 파라미터 KEm 및 제2 키 협상 알고리즘 파라미터 KEs에 기초해서 제1 타깃 키를 생성한다.
키 협상 알고리즘이 DH 알고리즘인 경우, 제1 노드에서 생성되는 DH 알고리즘의 파라미터는 소수 p, 난수 g, 난수 a 및 제1 계산된 값 A를 포함한다. 제2 노드로부터 제1 노드에 의해 수신된 DH 알고리즘의 파라미터는 제1 계산된 값 B를 포함한다. 제1 노드는 난수 a, 계산된 값 B 및 소수 p에 기초해서 제1 타깃 키 K1을 결정할 수 있고, 여기서 K1은 다음 방정식: K1=Ba mod p을 만족한다. K1=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod p이기 때문에, 제1 노드와 제2 노드에 의해 결정되는 제1 타깃 키 K1은 동일하다.
선택적으로, 제1 타깃 키는 제1 노드와 제2 노드 간의 공유 키에 적용되거나 마스터 키 또는 세션 키에 적용될 수 있다.
도 6a 및 6b에 설명된 방법에서의 키 업데이트 프로세스에서, 제1 노드 및 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드가 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 확인하고, 신원 인증이 성공한 후에야 제1 키 협상 파라미터에 기초해서 키를 업데이트하여, 제1 타깃 키를 획득한다. 이 경우, 도청자가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격을 방지하고, 데이터 보안을 향상시킬 수 있다.
도 7a 및 7b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법을 도시한다. 이 방법은 적어도 다음 단계들을 포함한다.
단계 S701: 제1 노드가 제2 노드에 제1 키 업데이트 요청을 전송한다.
본 출원의 이 실시예에서, 암호화 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용함으로써 및/또는 제2 타깃 키에 기초해서 결정된 무결성 키를 사용함으로써 제1 키 업데이트 요청에 대해 수행될 수 있다. 제2 타깃 키는 제2 노드와 제1 노드 간의 공유 키이다.
본 출원의 이 실시예에서, 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함한다. 제1 키 협상 파라미터는 최신 파라미터(fresh)일 수 있다. 선택적으로, 제1 키 요청은 난수 값 NONCEm, 제1 업데이트 시점을 나타내는 정보 타이머, 및 제1 타깃 키의 유효 기간을 나타내는 정보 만료 중 적어도 하나를 더 포함할 수 있다.
본 출원의 이 실시예에서, 제1 키 업데이트 요청의 제1 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키를 사용하여 생성될 수 있고, 제1 공유 키는 마스터 키 및 사전 공유 키(PSK) 등을 포함할 수 있다.
선택적으로, 제1 신원 인증 정보를 생성하기 위한 함수는 암호화 알고리즘일 수 있다. 암호화 알고리즘이 HMAC이고, 제1 공유 키가 사전 공유 키(PSK)인 예시에서, 생성된 제1 신원 인증 정보 AUTHm은 AUTHm=HMAC(PSK, fresh, NONCEm, expiration, timer)로 표현될 수 있고, 파라미터의 시퀀스는 상이할 수 있다. 물론, 제1 키 업데이트 요청이 가령, 최신 파라미터 fresh, 난수 값 NONCEm, 제1 타깃 키의 유효 기간을 나타내는 정보 만료, 또는 제1 업데이트 시점을 나타내는 정보 타이머와 같은 정보를 포함할 때, 제1 노드는 제1 신원 인증 정보 AUTHm를 생성하기 위해 파라미터의 일부 또는 전부를 사용하지 않을 수 있다.
선택적으로, 제1 노드는 제1 통신 프레임을 사용하여 제2 노드에 제1 키 업데이트 요청을 전송할 수 있으며, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호보다 작고, 제3 프레임 번호는 마지막으로 업데이트된 키의 시작 시점을 나타내는데 사용된다. 제1 키 업데이트 요청에 수반된 제1 프레임 번호는, 제2 프레임 번호보다 크고 제3 프레임 번호보다 작다. 예를 들어, 제3 프레임 번호가 2365인 경우, 이는 프레임 번호가 2365부터 시작하는 통신 프레임 이후에 마지막으로 업데이트된 키가 적용되고, 제1 노드는 프레임 번호가 다시 2365에 도달하기 전에 제1 타깃 키를 결정해야 함을 나타낸다. 따라서, 제1 노드는 프레임 번호가 2345인 제1 통신 프레임에서 제1 키 업데이트 요청을 전송할 수 있고, 제1 프레임 번호 2355는 제1 키 업데이트 요청에서 제1 타깃 키의 시작 시점을 나타내는데 사용된다. 통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되고, 따라서 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 동일한 프레임 번호를 갖는 데이터 프레임은 상이한 키를 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
선택적으로, 마지막 키 업데이트 프로세스에서 키 시작 시점을 나타내는 정보가 수반되지 않거나 제1 노드가 이전에 키 업데이트를 수행하지 않은 경우, 제1 노드는 타깃 프레임 번호를 미리 구성할 수 있다. 제1 노드가 현재 통신 프레임 번호와 타깃 프레임 번호 사이의 차이가 제1 임계값 이하인 것을 검출하는 경우, 제1 노드는 제1 키 업데이트 요청을 전송한다.
단계 S702: 제2 노드는 제1 키 업데이트 요청을 복호화한다.
구체적으로, 제2 노드는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 제1 키 업데이트 요청을 복호화할 수 있다.
단계 S703: 제2 노드는 제1 키 업데이트 요청의 메시지 무결성에 대한 검증을 수행한다.
선택적으로, 메시지 무결성에 대한 검증이 실패하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 끊을 수 있거나, 제2 노드는 업데이트 실패 표시 정보를 제1 노드에 전송하거나, 또는 제2 노드는 제1 키 업데이트 요청을 폐기할 수 있다.
선택적으로, 도 7a 및 7b에 도시된 실시예에서, 제2 노드는 단계 S703을 수행하지 않을 수 있다. 이 경우, 제2 노드는 단계 S702를 수행한 후, 단계 S704 및 단계 S704의 후속 단계를 계속 수행할 수 있다.
단계 S704: 제2 노드는 제1 신원 인증 정보에 대한 검증을 수행한다.
구체적으로, 제1 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제1 노드에 의해 생성된다. 따라서, 제2 노드는 제1 공유 키에 기초해서 제1 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적인 솔루션에서, 프로토콜은 제1 노드가 특정 파라미터를 사용하여 제1 신원 인증 정보를 생성하도록 규정하고, 따라서 제2 노드 또한, 동일한 파라미터를 사용하여 검증에 사용되는 신원 인증 정보를 생성해야 한다. 검증에 사용된 신원 인증 정보가 제1 신원 인증 정보와 동일한 경우, 인증이 성공한 것으로 간주된다. 예를 들어, 제1 신원 인증 정보는 HMAC를 사용하여 생성된다. 따라서, 제2 노드는, HMAC을 사용함으로써, 검증에 사용되는 신원 인증 정보(체크 값 check1이라고도 지칭됨)를 생성하고, 이후 검증에 사용되는 신원 인증 정보를 사용하여, 제1 신원 인증 정보가 정확한지 여부를 검증할 수 있다. 아래에서 일실시예가 설명을 위해 사용된다.
예를 들어, 제1 신원 인증 정보 AUTHm이 HMAC(PSK)인 경우, 제2 노드는 제2 노드와 제1 노드 간의 사전 공유 키(PSK)에 기초해서 HMAC를 사용하여 체크 값 check1=HMAC(PSK)를 획득한다. 체크 값 check1이 AUTHm과 동일한 경우, 검증이 성공한다.
다른 예시로, 제1 키 협상 파라미터가 최신 파라미터 fresh를 포함하고, 제1 신원 인증 정보 AUTHm이 HMAC(PSK, fresh)인 경우, 제2 노드는 제2 노드와 제1 노드 사이의 사전 공유 키 PSK 및 최신 파라미터 fresh에 기초해서HMAC를 사용하여 체크 값 check1=HMAC(PSK, fresh)를 획득한다. 체크 값 check1이 AUTHm과 동일한 경우, 검증이 성공한다.
선택적으로, 제1 신원 정보에 대한 검증이 실패하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 끊을 수 있거나, 제2 노드는 업데이트 실패 표시 정보를 제1 노드에 전송하거나, 또는 제2 노드는 제1 키 업데이트 요청을 폐기할 수 있다.
선택적으로, 특정 구현 프로세스에서, 제2 노드는 먼저 S704의 동작을 수행한 후, S703의 동작을 수행할 수 있다.
단계 S705: 제1 신원 인증 정보에 대한 검증이 성공하는 경우, 제2 노드는 제2 타깃 키와 최신 파라미터에 기초해서 제1 타깃 키를 생성한다.
선택적으로, 제1 신원 정보에 대한 검증이 실패하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 끊을 수 있거나, 제2 노드는 업데이트 실패 표시 정보를 제1 노드에 전송하거나, 또는 제2 노드는 제1 키 업데이트 요청을 폐기한다.
구체적으로, 제2 노드는 제2 타깃 키 및 최신 파라미터에 기초해서 제1 타깃 키를 생성할 수 있다. 예를 들어, 제2 노드는 제2 타깃 키 K2 및 최신 파라미터 fresh에 기초해서, 제1 타깃 키 K1가 K1=KDF(K2, fresh)임을 결정할 수 있다.
단계 S706: 제2 노드는 제1 노드에 제1 응답 메시지를 보낸다.
본 출원의 이 실시예에서, 암호화 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용함으로써 및/또는 제2 타깃 키에 기초해서 결정된 무결성 키를 사용함으로써 제1 키 업데이트 요청에 대해 수행될 수 있다. 제2 타깃 키는 제2 노드와 제1 노드 간의 공유 키이다.
제1 응답 메시지는 제2 신원 인증 정보를 포함하고, 제2 신원 인증 정보는 제2 노드의 신원을 검증하는데 사용되며, 제1 노드와 제2 노드 사이의 제1 공유 키를 사용하여 생성될 수 있다. 선택적으로, 제1 응답 메시지는 난수 값 NONCEs를 더 포함할 수 있다.
본 출원의 이 실시예에서, 제2 신원 인증 정보를 생성하기 위한 알고리즘은 암호화 알고리즘일 수 있다. 암호화 알고리즘이 HMAC인 경우, 생성된 제2 신원 인증 정보 AUTHs는 AUTHs=HMAC(PSK, NONCEs)로 표현될 수 있고, 파라미터들의 시퀀스는 상이할 수 있다. 확실히, 제1 응답 메시지가 가령, 난수 값 NONCEs와 같은 파라미터를 포함할 때, 제2 노드는 이러한 파라미터를 사용하여 제2 신원 인증 정보 AUTHs를 생성하지 않을 수 있다.
선택적으로, 특정 구현 프로세스에서, 제2 노드는 먼저 S706의 동작을 수행한 후, S705의 동작을 수행할 수 있다.
단계 S707: 제1 노드는 제1 응답 메시지를 복호화한다.
구체적으로, 제1 노드는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 제1 응답 메시지를 복호화할 수 있다.
단계 S708: 제1 노드는 제1 응답 메시지의 메시지 무결성에 대한 검증을 수행한다.
선택적으로, 메시지 무결성에 대한 검증이 실패하는 경우, 제1 노드는 제2 노드에 대한 연결을 끊거나, 업데이트 실패 표시 정보를 제2 노드에 전송하거나, 또는 제1 응답 메시지를 폐기할 수 있다.
선택적으로, 도 7a 및 7b에 도시된 실시예에서, 제1 노드는 단계 S708을 수행하지 않을 수 있다. 이 경우, 단계 S707을 수행한 후, 제1 노드는 단계 S709 및 단계 S709의 후속 단계를 계속 수행할 수 있다.
단계 S709: 제1 노드는 제2 신원 인증 정보에 대한 검증을 수행한다.
구체적으로, 제2 신원 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제2 노드에 의해 생성된다. 따라서, 제1 노드는 제1 공유 키에 기초해서 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적인 솔루션에서, 프로토콜은 제2 노드가 특정 파라미터를 사용하여 제2 신원 인증 정보를 생성하도록 규정하고, 따라서 제1 노드 또한, 동일한 파라미터를 사용하여 검증에 사용되는 신원 인증 정보를 생성해야 한다. 인증에 사용된 신원 인증 정보가 제2 신원 인증 정보와 동일한 경우, 인증이 성공한 것으로 간주된다.
예를 들어, 제2 신원 인증 정보는 HMAC를 사용하여 생성될 수 있다. 따라서, 제1 노드는, HMAC을 사용함으로써, 검증에 사용되는 신원 인증 정보(체크 값 check2라고도 지칭됨)를 생성하고, 이후 검증에 사용되는 신원 인증 정보를 사용하여, 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다. 아래에서 일실시예가 설명을 위해 사용된다.
예를 들어, 제2 신원 인증 정보 AUTHs가 HMAC(PSK)인 경우, 제1 노드는 제1 노드와 제2 노드 간의 사전 공유 키(PSK)에 기초해서 HMAC를 사용하여 체크 값 check2=HMAC(PSK)를 획득한다. 체크 값 check2가 AUTHs와 동일한 경우, 검증이 성공한다.
다른 예시로, 제1 신원 인증 정보 AUTHs가 HMAC(PSK, NONCEs)인 경우, 제1 노드는 제1 노드와 제2 노드 사이의 사전 공유 키(PSK) 및 제1 응답 메시지의 난수 값 NONCEs에 기초해서 HMAC를 사용하여 체크 값 check2=HMAC(PSK, NONCEs)를 획득한다. 체크 값 check2가 AUTHs와 동일한 경우, 검증이 성공한다.
선택적으로, 제2 신원 인증 정보에 대한 검증이 실패하는 경우, 제1 노드는 제2 노드에 대한 통신 연결을 끊거나, 업데이트 실패 표시 정보를 제2 노드에 전송하거나, 제1 응답 메시지를 폐기할 수 있다.
선택적으로, 특정 구현 프로세스에서, 제1 노드는 먼저 S709의 동작을 수행한 후, S708의 동작을 수행할 수 있다.
단계 S710: 제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 노드는 제2 타깃 키 및 최신 파라미터에 기초해서 제1 타깃 키를 생성한다.
구체적으로, 제1 노드는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 함수를 사용하여 제1 타깃 키를 생성할 수 있다. 예를 들어, 제2 노드는 제2 타깃 키 K2 및 최신 파라미터 fresh에 기초해서, 제1 타깃 키 K1가: K1=KDF(K2, fresh)임을 결정할 수 있다.
선택적으로, 제1 타깃 키는 제1 노드와 제2 노드 사이의 공유 키에 적용될 수 있으며, 마스터 키, 및 세션 키 등을 포함한다.
도 7a 및 7b에 설명된 방법에서의 키 업데이트 프로세스에서, 제1 노드 및 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 제2 타깃 키 및 최신 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격을 방지하고, 데이터 보안을 향상시킬 수 있다.
도 8a 및 8b는 본 출원의 실시예에 따른 또 다른 키 업데이트 방법을 도시한다. 이 방법은 다음의 단계들이 포함되지만, 이에 국한되지는 않는다.
단계 S801: 제1 노드가 제2 노드에 제1 키 업데이트 요청을 전송한다.
본 출원의 이 실시예에서, 암호화 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용함으로써 및/또는 제2 타깃 키에 기초해서 결정된 무결성 키를 사용함으로써 제1 키 업데이트 요청에 대해 수행될 수 있다. 제2 타깃 키는 제2 노드와 제1 노드 간의 공유 키이다.
본 출원의 이 실시예에서, 제1 키 업데이트 요청은 제1 키 협상 파라미터, 최신 파라미터, 및 제1 신원 인증 정보를 포함한다. 제1 키 협상 파라미터는 최신 파라미터 fresh일 수 있다. 선택적으로, 제1 키 요청은 난수 값 NONCEm, 제1 업데이트 시점을 나타내는 정보 타이머, 및 제1 타깃 키의 유효 기간을 나타내는 정보 만료 중 적어도 하나를 더 포함할 수 있다.
본 출원의 이 실시예에서, 제1 키 업데이트 요청의 제1 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키를 사용하여 생성될 수 있고, 제1 공유 키는 마스터 키 및 사전 공유 키(PSK) 등을 포함할 수 있다.
선택적으로, 제1 신원 인증 정보를 생성하기 위한 알고리즘은 암호화 알고리즘일 수 있다. 암호화 알고리즘이 HMAC인 실시예에서, 생성된 제1 신원 인증 정보 AUTHm은 AUTHm=HMAC(PSK, fresh, NONCEm, expiration, timer)로 표현될 수 있으며, 파라미터의 시퀀스는 상이할 수 있다. 물론, 제1 키 업데이트 요청이 가령, 최신 파라미터 fresh, 난수 값 NONCEm, 제1 타깃 키의 유효 기간을 나타내는 정보 만료, 또는 제1 업데이트 시점을 나타내는 정보 타이머와 같은 정보를 포함할 때, 제1 노드는 제1 신원 인증 정보 AUTHm을 생성하기 위해 파라미터의 일부 또는 전부를 사용하지 않을 수 있다.
선택적으로, 제1 노드는 제1 통신 프레임을 사용하여 제2 노드에 제1 키 업데이트 요청을 전송할 수 있고, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호보다 작으며, 제3 프레임 번호는 마지막으로 업데이트된 키의 시작 시점을 나타내는데 사용된다. 제1 키 업데이트 요청에 수반된 제1 프레임 번호는, 제2 프레임 번호보다 크고 제3 프레임 번호보다 작다. 예를 들어, 제3 프레임 번호가 2365인 경우, 이는 프레임 번호가 2365부터 시작하는 통신 프레임 이후에 마지막으로 업데이트된 키가 적용되고, 제1 노드는 프레임 번호가 다시 2365에 도달하기 전에 제1 타깃 키를 결정해야 함을 나타낸다. 따라서, 제1 노드는 프레임 번호가 2345인 제1 통신 프레임에서 제1 키 업데이트 요청을 전송할 수 있고, 제1 프레임 번호 2355는 제1 키 업데이트 요청에서 제1 타깃 키의 시작 시점을 나타내는데 사용된다. 통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되고, 따라서 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 동일한 프레임 번호를 갖는 데이터 프레임은 상이한 키를 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
선택적으로, 마지막 키 업데이트 프로세스에서 키 시작 시점을 나타내는 정보가 수반되지 않거나 제1 노드가 이전에 키 업데이트를 수행하지 않은 경우, 제1 노드는 타깃 프레임 번호를 미리 구성할 수 있다. 제1 노드가 현재 통신 프레임 번호와 타깃 프레임 번호 사이의 차이가 제1 임계값 이하인 것을 검출하는 경우, 제1 노드는 제1 키 업데이트 요청을 전송한다.
단계 S802: 제2 노드가 제1 키 업데이트 요청을 복호화한다.
구체적으로, 제2 노드는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 제1 키 업데이트 요청을 복호화할 수 있다.
단계 S803: 제2 노드는 제1 키 업데이트 요청의 메시지 무결성에 대한 검증을 수행한다.
선택적으로, 메시지 무결성에 대한 검증이 실패하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 끊을 수 있거나, 제2 노드가 업데이트 실패 표시 정보를 제1 노드에 전송하거나, 또는 제2 노드가 제1 키 업데이트 요청을 폐기하고 응답하지 않는다.
선택적으로, 도 8a 및 8b에 도시된 실시예에서, 제2 노드는 단계 S803을 수행하지 않을 수 있다. 이 경우, 단계 S802를 수행한 후, 제2 노드는 단계 S804 및 단계 S804의 후속 단계를 계속 수행할 수 있다.
단계 S804: 제2 노드가 제1 신원 인증 정보에 대한 검증을 수행한다.
선택적으로, 제1 신원 정보에 대한 검증이 실패하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 끊을 수 있거나, 제2 노드는 업데이트 실패 표시 정보를 제1 노드에 전송하거나, 또는 제2 노드는 제1 키 업데이트 요청을 폐기한다.
선택적으로, 특정 구현 프로세스에서, 제2 노드는 먼저 S804의 동작을 수행한 후, S803의 동작을 수행할 수 있다.
단계 S805: 제1 신원 인증 정보에 대한 검증이 성공하는 경우, 제2 노드는 제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성한다.
구체적으로, 알고리즘 식별자는 키를 생성하기 위한 알고리즘을 나타내기 위해 사용될 수 있다. 알고리즘 식별자는 가령, 마스터 키, 암호화 키 또는 무결성 보호 키와 같은 키를 생성하기 위한 알고리즘의 식별자를 나타내는데 사용될 수 있다. 예를 들어, 문자열 "암호화"는 암호화 키 생성을 나타내는데 사용된다. 다른 예를 들어, "무결성" 문자열은 무결성 보호 키 생성을 나타내는데 사용된다. 알고리즘 식별자는 사용될 해시 알고리즘의 식별자 등을 나타내기 위해 대안으로 사용될 수 있다. 예를 들어, 문자열 "SHA256"은 제1 타깃 키를 결정하는데 사용되는 알고리즘이 SHA256 알고리즘임을 나타내는데 사용된다. 알고리즘 식별자는 제1 노드와 제2 노드 사이에 미리 설정되거나, 제1 노드에 의해 결정된 후 제2 노드로 전송될 수 있다.
제2 노드는 제2 타깃 키 K2, 최신 파라미터 fresh, 및 알고리즘 식별자 tag에 기초해서 제1 타깃 키 K1을 결정할 수 있다.
예를 들어, 제2 노드는 제2 타깃 키 K2, 최신 파라미터 fresh, 및 알고리즘 식별자 tag에 기초한 키 유도 함수(KDF)를 사용하여, 제1 타깃 키 K1이: K1=KDF(K2, fresh, tag)임을 결정한다.
선택적으로, 제2 노드는 제2 타깃 키 K2, 최신 파라미터 fresh, 알고리즘 식별자 tag, 및 키 유형 type에 기초한 키 유도 함수(KDF)를 사용함으로써, 제1 타깃 키 K1이: K1= KDF(K2, fresh, tag, type)임을 추가로 결정할 수 있고, 여기서 type은 키 유형을 나타낸다. 예를 들어, 문자열 "암호화"는 암호화 키 생성을 나타내는데 사용된다. 다른 예를 들어, "무결성" 문자열은 무결성 보호 키 생성을 나타내는데 사용된다.
선택적으로, 제2 노드는 먼저 제1 타깃 키 K2 및 최신 파라미터 fresh에 기초해서 중간 키를 결정할 수 있고, 이후 중간 키에 기초해서 알고리즘 식별자 tag 및 키 유형 type 중 적어도 하나를 사용하여 제1 타깃 키 K1을 결정할 수 있다. 예를 들어, 제2 노드는 키 유도 함수 KDF1을 사용하여 중간 키 Kmid: Kmid=KDF1(K2, fresh)를 획득하고, 이후 중간 키 Kmid에 기초한 키 유도 함수 KDF2를 사용하여 제1 타깃 키 K1=KDF2(Kmid, tag, type)를 결정한다. 본 명세서에서 이 솔루션을 더 명확하게 설명하기 위해, 제1 타깃 키를 어떻게 획득하는 지가 2개의 단계를 사용하여 설명된다는 점에 유의해야 한다. 실제 처리에서, 제1 타깃 키는 대안으로 하나의 단계를 사용하여 획득될 수 있다. 중간 키 Kmid는 중간 결과일 뿐이다. 즉, 제1 타깃을 결정하는 방식은 K1=KDF2(KDF1(K2, fresh), tag, type)를 만족한다.
단계 S806: 제2 노드는 제1 노드에 제1 응답 메시지를 전송한다.
본 출원의 이 실시예에서, 암호화 및/또는 무결성 보호는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용함으로써 및/또는 제2 타깃 키에 기초해서 결정된 무결성 키를 사용함으로써 제1 응답 메시지에 대해 수행될 수 있다. 제2 타깃 키는 제2 노드와 제1 노드 간의 공유 키이다.
제1 응답 메시지는 제2 신원 인증 정보를 포함하고, 제2 신원 인증 정보는 제2 노드의 신원을 인증하는데 사용된다. 선택적으로, 제2 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키를 사용하여 생성될 수 있다. 선택적으로, 제1 응답 메시지는 난수 값 NONCEs를 더 포함한다.
본 출원의 이 실시예에서, 제2 신원 인증 정보를 생성하기 위한 알고리즘은 암호화 알고리즘일 수 있다. 암호화 알고리즘이 HMAC인 예시에서, 생성된 제2 신원 인증 정보 AUTHs는 AUTHs=HMAC(PSK, NONCEs)로 표현될 수 있고, 파라미터들의 시퀀스는 상이할 수 있다. 물론, 제1 응답 메시지가 가령, 난수 값 NONCEs와 같은 파라미터를 포함할 때, 제2 노드는 이러한 파라미터를 사용하여 제2 신원 인증 정보 AUTHs를 생성하지 않을 수 있다.
선택적으로, 특정 구현 프로세스에서, 제2 노드는 먼저 S806의 동작을 수행한 후, S805의 동작을 수행할 수 있다.
단계 S807: 제1 노드는 제1 응답 메시지를 복호화한다.
구체적으로, 제1 노드는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 제1 응답 메시지를 복호화할 수 있다.
단계 S808: 제1 노드는 제1 응답 메시지의 메시지 무결성에 대한 검증을 수행한다.
구체적으로, 제1 신원 인증 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제1 노드에 의해 생성된다. 따라서, 제2 노드는 제1 공유 키에 기초해서 제1 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적으로, 도 8a 및 8b에 도시된 실시예에서, 제1 노드는 단계 S808을 수행하지 않을 수 있다. 이 경우, 제1 노드는 단계 S807을 수행한 후, 단계 S809 및 단계 S809의 후속 단계를 계속 수행할 수 있다.
단계 S809: 제1 노드가 제2 신원 인증 정보에 대한 검증을 수행한다.
구체적으로, 제2 신원 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제2 노드에 의해 생성된다. 따라서, 제1 노드는 제1 공유 키에 기초해서 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적인 솔루션에서, 프로토콜은 제1 노드가 특정 파라미터를 사용하여 제1 신원 인증 정보를 생성하도록 규정하고, 따라서 제2 노드 또한, 동일한 파라미터를 사용하여 검증에 사용되는 신원 인증 정보를 생성해야 한다. 검증에 사용된 신원 인증 정보가 제1 신원 인증 정보와 동일한 경우, 인증이 성공한 것으로 간주된다. 예를 들어, 제1 신원 인증 정보는 HMAC를 사용하여 생성된다. 따라서, 제2 노드는, HMAC을 사용함으로써, 검증에 사용되는 신원 인증 정보(체크 값 check1이라고도 지칭됨)를 생성하고, 이후 검증에 사용되는 신원 인증 정보를 사용하여, 제1 신원 인증 정보가 정확한지 여부를 검증할 수 있다. 아래에서 일실시예가 설명을 위해 사용된다.
예를 들어, 제1 신원 인증 정보 AUTHm이 HMAC(PSK)인 경우, 제2 노드는 제2 노드와 제1 노드 간의 사전 공유 키(PSK)에 기초해서 HMAC를 사용하여 체크 값 check1=HMAC(PSK)를 획득한다. . 체크 값 check1이 AUTHm과 동일한 경우, 검증이 성공한다.
다른 예시로, 제1 키 협상 파라미터가 최신 파라미터 fresh를 포함하고, 제1 신원 인증 정보 AUTHm이 HMAC(PSK, fresh)인 경우, 제2 노드는 제2 노드와 제1 노드 사이의 사전 공유 키(PSK)와 최신 파라미터에 기초해서 HMAC를 사용함으로써 체크 값 check1=HMAC (PSK, fresh)을 획득한다. 체크 값 check1이 AUTHm과 동일한 경우, 검증이 성공한다.
선택적으로, 메시지 무결성에 대한 검증에 실패하는 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타낸다. 따라서, 제1 노드는 제2 노드에 대한 연결을 끊거나, 업데이트 실패 표시 정보를 제2 노드에 전송하거나, 또는 제1 응답 메시지를 폐기할 수 있다.
단계 S809: 제1 노드는 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행한다.
구체적으로, 제2 신원 정보는 제1 노드와 제2 노드 사이의 제1 공유 키에 기초해서 제2 노드에 의해 생성된다. 따라서, 제1 노드는, 제1 공유 키에 기초해서, 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다.
선택적인 솔루션에서, 프로토콜은 제2 노드가 특정 파라미터를 사용하여 제2 신원 인증 정보를 생성하도록 규정하고, 따라서 제1 노드 또한, 동일한 파라미터를 사용하여 검증에 사용되는 신원 인증 정보를 생성해야 한다. 인증에 사용된 신원 인증 정보가 제2 신원 인증 정보와 동일한 경우, 인증이 성공한 것으로 간주된다.
예를 들어, 제2 신원 인증 정보는 HMAC를 사용하여 생성될 수 있다. 따라서, 제1 노드는, HMAC을 사용함으로써, 검증에 사용되는 신원 인증 정보(체크 값 check2라고도 지칭됨)를 생성하고, 이후 검증에 사용되는 신원 인증 정보를 사용하여, 제2 신원 인증 정보가 정확한지 여부를 검증할 수 있다. 아래에서 일실시예가 설명을 위해 사용된다.
예를 들어, 제2 신원 인증 정보 AUTHs가 HMAC(PSK)인 경우, 제1 노드는 제1 노드와 제2 노드 간의 사전 공유 키(PSK)에 기초해서 HMAC를 사용하여 체크 값 check2=HMAC(PSK)를 획득한다. . 체크 값 check2가 AUTHs와 동일한 경우, 검증이 성공한다.
다른 예시로, 제1 신원 인증 정보(AUTHs)가 HMAC(PSK, NONCEs)인 경우, 제1 노드는 제1 노드와 제2 노드 사이의 사전 공유 키(PSK) 및 제2 노드 및 제1 응답 메시지의 난수 값 NONCEs에 기초해서 HMAC를 사용하여 체크 값 check2=HMAC(PSK, NONCEs)를 획득한다. 체크 값 check2가 AUTHs와 동일한 경우, 검증이 성공한다.
선택적으로, 제2 신원 인증 정보에 대한 검증이 실패하는 경우, 제1 노드는 제2 노드에 대한 연결을 끊거나, 업데이트 실패 표시 정보를 제2 노드에 전송하거나, 또는 제1 응답 메시지를 폐기할 수 있다.
선택적으로, 특정 구현 프로세스에서, 제1 노드는 먼저 S809의 동작을 수행한 후, S808의 동작을 수행할 수 있다.
단계 S810: 제2 신원 인증 정보에 대한 검증이 성공하면, 제1 노드는 제2 타깃 키와 최신 파라미터에 기초해서 제1 타깃 키를 생성한다.
구체적으로, 알고리즘 식별자는 키를 생성하기 위한 알고리즘을 나타내기 위해 사용될 수 있다. 알고리즘 식별자는 가령, 마스터 키, 암호화 키, 또는 무결성 보호 키와 같은 키를 생성하기 위한 알고리즘의 식별자를 나타내는데 사용될 수 있다. 예를 들어, 문자열 "암호화"는 암호화 키 생성을 나타내는데 사용된다. 다른 예를 들어, "무결성" 문자열은 무결성 보호 키 생성을 나타내는데 사용된다. 알고리즘 식별자는 사용될 해시 알고리즘의 식별자 등을 나타내기 위해 대안으로 사용될 수 있다. 예를 들어, 문자열 "SHA256"은 제1 타깃 키를 결정하는데 사용되는 알고리즘이 SHA256 알고리즘임을 나타내는데 사용된다. 알고리즘 식별자는 제1 노드와 제2 노드 사이에 미리 설정되거나, 제1 노드에 의해 결정될 수 있다.
제1 노드는 제2 타깃 키 K2, 최신 파라미터 fresh, 및 알고리즘 식별자 tag에 기초한 KDF 알고리즘을 사용함으로써, 제1 타깃 키 K1이: K1=KDF(K2, fresh, tag)임을 결정할 수 있다.
선택적으로, 제1 노드는 먼저 제1 타깃 키 K2 및 최신 파라미터 fresh에 기초해서 중간 키를 결정할 수 있고, 이후 중간 키에 기초해서 알고리즘 식별자 tag 및 키 유형 type 중 적어도 하나를 사용함으로써 제1 타깃 키 K1을 결정할 수 있다. 예를 들어, 제1 노드는 키 유도 함수 KDF1을 사용하여 중간 키 Kmid: Kmid=KDF1(K2, fresh)를 획득하고, 이후 중간 키 Kmid에 기초한 키 유도 함수 KDF2를 사용하여 제1 타깃 키가 K1=KDF2(Kmid, tag, type)임을 결정한다. KDF1과 KDF2는 동일한 키 유도 함수일 수 있거나, 또는 상이한 키 유도 함수일 수 있다. 본 명세서에서 이 솔루션을 더 명확하게 설명하기 위해, 제1 타깃 키를 어떻게 획득하는 지가 2개의 단계를 사용하여 설명된다는 점에 유의해야 한다. 실제 처리에서, 제1 타깃 키는 대안으로 하나의 단계를 사용하여 획득될 수 있다. 중간 키 Kmid는 중간 결과일 뿐이다. 즉, 제1 타깃을 결정하는 방식은 K1=KDF2(KDF1(K2, fresh), tag, type)를 만족한다.
선택적으로, 제1 타깃 키는 제1 노드와 제2 노드 사이의 공유 키에 적용될 수 있으며, 마스터 키, 및 세션 키 등을 포함한다. 도 8a 및 8b에 설명된 방법에 있어서, 키 업데이트 프로세스에서, 제1 노드 및 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드가 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 확인하고, 신원 인증이 성공한 후에만 제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 키를 업데이트하여 제1 타깃 키를 획득한다. 이 경우, 도청자가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격을 방지하고, 데이터 보안을 향상시킬 수 있다.
선택적으로, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 실시예에서, 제1 노드에 의해 전송된 제1 키 업데이트 요청은 제1 신원 인증 정보를 전달하지 않을 수 있다. 이에 대응하여, 제2 노드는 제1 신원 정보에 대한 검증을 수행하지 않을 수 있다. 유사하게, 제1 응답 메시지는 제2 신원 인증 정보를 전달하지 않을 수 있다. 이에 대응하여, 제2 노드는 제2 신원 인증 정보에 대한 검증을 수행하지 않을 수 있다. 이 경우, 제1 키 업데이트 요청은, 두 당사자의 신원을 인증하기 위해, 제2 타깃 키(또는 제2 타깃 키에서 유도된 세션 키)를 사용하여 암호화된다.
가능한 솔루션에서, 제1 노드 및 제2 노드는 마스터 키 및 세션 키를 포함한다. 세션 키가 마스터 키에 기초해서 결정된 키인 경우, 마스터 키가 만료될 때 도 6a 및 도 6b 또는 도 7a 및 도 7b에 도시된 키 업데이트 방법을 사용하여 마스터 키가 업데이트될 수 있다. 마스터 키가 업데이트되기 때문에, 마스터 키에 기초해서 결정된 세션 키 또한, 업데이트되어야 한다. 따라서, 제1 노드 및 제2 노드는 도 8a 및 8b에 도시된 키 업데이트 방법을 사용하여 세션 키를 업데이트할 수 있다.
본 출원의 실시예의 방법은 위에서 상세히 설명된다. 본 출원의 실시예의 장치는 아래에서 제공된다.
도 9는 본 출원의 실시예에 따른 장치(90)의 개략적인 구조도이다. 장치(90)는 데이터 송/수신 기능을 갖는 전자 디바이스일 수 있거나, 데이터 송/수신 기능을 갖는 전자 디바이스 내의 가령, 칩 또는 집적 회로와 같은 컴포넌트일 수 있다. 장치(90)는 전송 유닛(901), 수신 유닛(902), 검증 유닛(903), 및 결정 유닛(904)을 포함할 수 있다. 유닛들은 다음과 같이 설명된다.
전송 유닛(901)은 제1 키 업데이트 요청을 제2 노드에 전송하도록 구성되며, 여기서 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성된다.
수신 유닛(902)은 제2 노드로부터 제1 응답 메시지를 수신하도록 구성되며, 여기서 제1 응답 메시지는 제2 신원 인증 정보를 포함한다.
검증 유닛(903)은 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하도록 구성된다.
결정 유닛(904)은: 제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하도록 구성된다.
키 업데이트 프로세스에서, 전술한 장치(90) 및 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 신원 인증 정보를 사용하여 다른 노드의 신원을 우선 결정하고, 신원 인증이 성공한 후에만 제1 타깃 키를 획득하기 위해 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격을 방지하고, 데이터 보안을 향상시킬 수 있다.
본 명세서에서 전술한 복수의 유닛의 분할은 단지 기능에 기초한 논리적 분할일 뿐이며, 장치(90)의 특정 구조를 제한하려는 의도가 아님에 유의해야 한다. 특정 구현에서, 일부 기능 모듈은 더 정밀한 기능 모듈로 세분화될 수 있고, 일부 기능 모듈은 하나의 기능 모듈로 결합될 수 있다. 하지만, 기능 모듈의 세분화 또는 조합 여부와 관계없이 키 업데이트 프로세스에서 장치(90)에 의해 수행되는 일반적인 절차는 동일하다. 예를 들어, 전술한 복수의 유닛은 통신 유닛 및 프로세싱 유닛으로서 단순화될 수 있다. 통신 유닛은 전송 유닛(901) 및 수신 유닛(902) 중 하나 이상의 기능을 구현하도록 구성되고, 프로세싱 유닛은 검증 유닛(903) 및 결정 유닛(904) 중 하나 이상의 기능을 구현하도록 구성된다. 일반적으로, 각 유닛은 각각의 프로그램 코드(또는 프로그램 명령어)에 대응한다. 유닛에 대응하는 프로그램 코드가 프로세서에서 실행될 때, 유닛은 대응하는 기능을 구현하기 위해 대응하는 절차를 실행한다.
가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용된다.
기존의 키 업데이트 프로세스에서, 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 그러나, 본 출원에서 제공되는 장치(90)는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화할 수 있고, 업데이트 시간 및/또는 유효 기간을 제2 노드에 나타냄으로써, 제1 타깃 키는 필요에 따라 인에이블될 수 있도록 한다.
또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC 일련 번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F 미만이다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
예를 들어, 제1 키 업데이트 요청에 수반된 제1 프레임 번호는 2345이고, 제1 프레임 번호는 제1 타깃 키가 프레임 번호 2345부터 시작하는 통신 프레임 이후에 적용됨을 나타낼 수 있다.
또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하여 제1 타깃 키의 유효 기간 내에 적용된다.
기존의 키 업데이트 프로세스에서, 키 업데이트 시점이 구성된다. 따라서, 이전 키가 만료될 때, 새로운 키가 업데이트된다. 기존 키가 만료되었기 때문에, 키 업데이트 중에 암호화 프로세스를 일시 중단해야 하며, 키 업데이트가 완료된 후 암호화 프로세스가 재개된다. 그러나, 암호화 프로세스의 일시 중단 및 암호화 프로세스의 재개는 키 업데이트 효율성에 영향을 미치며, 암호화 프로세스의 일시 중단는 보안에 영향을 미친다. 그러나, 본 출원의 장치(90)에서, 키 업데이트 동안에, 이전 키가 만료되지 않았기 때문에 암호화 프로세스가 일시 중단될 필요가 없으므로, 키 업데이트 효율 및 데이터 보안이 향상된다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하며; 결정 유닛(904)은 제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 결정 유닛(904)은 제2 타깃 키 및 최신 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 및 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있고, 여기서 fresh는 최신 파라미터이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
또 다른 가능한 구현에서, 제1 타깃 키는 장치(90)의 마스터 키이다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 결정 유닛(904)은 제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하도록 구성되며, 여기서 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하기 위해 사용되는 알고리즘을 표시(mark)하는데 사용된다.
또 다른 가능한 구현에서, 제1 타깃 키는 장치(90)의 무결성 보호 키 또는 암호화 키이다.
또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행된다.
기존의 키 업데이트 방법은 기존 키가 만료되면 키를 업데이트하는 것임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에, 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서 제공되는 장치(90)는 키가 만료되기 전에 제1 타깃 키를 결정할 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킬 수 있다.
또 다른 가능한 구현에서, 전송 유닛(901)은 제1 통신 프레임을 사용하여 제2 노드로 제1 키 업데이트 요청을 전송하도록 구성되고, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호보다 작고, 제3 프레임 번호는 마지막으로 업데이트된 키의 시작 시점을 나타내는데 사용되며, 제1 프레임 번호는 제2 프레임 번호보다 크고 제3 프레임 번호보다 작다.
통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되므로, 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 동일한 프레임 번호를 갖는 데이터 프레임은 상이한 키를 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다. 대안적인 솔루션에서, 제1 키 업데이트 요청은 제1 프레임 번호 대신 MAC 일련 번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F보다 작다. 대안으로, 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호는 또한, MAC SN, 즉, 제3 프레임 번호를 나타내는데 사용되는 복수의 비트 중 일부가 나타내는 MAC SN으로 대체될 수도 있다. 이 대안적인 솔루션에서, 제1 프레임 번호, 제2 프레임 번호 및 제3 프레임 번호 사이의 값의 관계는 변경되지 않은 상태로 유지된다. 구체적으로, 제1 프레임 번호를 나타내기 위해 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
또 다른 가능한 구현에서, 통신 프레임은 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임, 또는 사용자 평면 다운링크 프레임 중 적어도 하나를 포함한다.
또 다른 가능한 구현에서, 제2 신원 정보에 대한 검증이 실패한 경우, 전송 유닛(901) 및 수신 유닛(902)은 제2 노드에 대한 통신 연결을 끊거나 또는 전송 유닛(901)을 사용하여 업데이트 실패 정보를 제2 노드에 전송한다.
제2 신원 인증 정보에 대한 검증이 실패하는 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타낸다는 것을 알 수 있다. 따라서, 전술한 장치(90)는 제2 노드에 대한 통신 연결을 끊거나, 업데이트 실패 정보를 제2 노드로 전송하여, 키 업데이트를 수행해야 하는 노드에 대한 액세스 요청이 다시 초기화되도록 하고, 그럼으로써 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
또 다른 가능한 구현에서, 검증 유닛(903)은: 제1 응답 메시지에 대해 무결성 검증을 수행하고; 무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하도록 또한, 구성되고;
무결성 검증이 실패하는 경우, 전송 유닛(901) 및 수신 유닛(902)은 제2 노드에 대한 통신 연결을 끊거나 전송 유닛(901)을 사용하여 업데이트 실패 정보를 제2 노드에 전송한다.
신원 정보에 대한 검증을 수행하기 전에, 장치(90)는 제1 응답 메시지에 대한 무결성 검증을 먼저 수행하여, 제1 응답 메시지의 정보가 변조되지 않았음을 결정할 수 있다. 무결성 검증에 실패하는 경우, 이는 제1 응답 정보의 데이터가 변조되어 키가 업데이트될 수 없음을 나타낸다. 따라서, 장치(90)는 제2 노드와의 통신 연결을 끊거나, 업데이트 실패 정보를 제2 노드로 전송하여, 장치(90)가 키 업데이트를 수행해야 하는 노드에 다시 액세스하도록 하고, 그럼으로써 키 업데이트 프로세스에서 데이터 보안을 보장한다.
각 유닛의 구현에 대해, 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예의 대응하는 설명을 참조한다는 점에 유의해야 한다. 장치(90)는 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서 제1 노드이다.
도 10은 본 출원의 실시예에 따른 장치(100)의 개략적인 구조도이다. 장치(100)는 데이터 송/수신 기능을 갖는 전자 디바이스일 수 있고, 데이터 송/수신 기능을 갖는 전자 디바이스의 가령, 칩 또는 집적 회로와 같은 컴포넌트일 수 있다. 장치(100)는 수신 유닛(1001), 검증 유닛(1002), 결정 유닛(1003), 및 전송 유닛(1004)을 포함할 수 있다. 유닛들은 다음과 같이 설명된다.
수신 유닛(1001)은 제1 노드로부터 제1 키 업데이트 요청을 수신하도록 구성되며, 여기서 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함한다.
검증 유닛(1002)은 제1 공유 키를 사용하여 제1 신원 인증 정보에 대한 검증을 수행하도록 구성된다.
결정 유닛(1003)은: 제1 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하도록 구성된다.
전송 유닛(1004)은 제1 응답 메시지를 제1 노드로 전송하도록 구성되며, 여기서 제1 응답 메시지는 제2 신원 인증 정보를 포함하고, 제2 신원 인증 정보는 제1 공유 키를 사용하여 생성된다.
원래 세션 키가 만료되기 전에, 전술한 장치(100)와 제1 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원래 세션 키를 크랙하더라도 도청자가 신원 정보를 위조할 수 없으므로, 중간자 공격을 방지하고 키 업데이트 프로세스에서 데이터 보안을 향상시킨다.
본 명세서에서 전술한 복수의 유닛의 분할은 기능에 기초한 논리적 분할일 뿐이며, 장치(100)의 특정 구조를 제한하려는 의도가 아님에 유의해야 한다. 특정 구현에서, 일부 기능 모듈은 더 정밀한 기능 모듈로 세분화(subdivide)될 수 있고, 일부 기능 모듈은 하나의 기능 모듈로 결합될 수 있다. 하지만, 기능 모듈의 세분화 또는 결합 여부와 관계없이, 키 업데이트 프로세스에서 장치(100)에 의해 수행되는 일반적인 절차는 동일하다. 예를 들어, 전술한 복수의 유닛은 통신 유닛 및 프로세싱 유닛으로서 단순화될 수 있다. 통신 유닛은 수신 유닛(1001) 및 전송 유닛(1004)의 기능을 구현하도록 구성되고, 프로세싱 유닛은 검증 유닛(1002) 및 결정 유닛(1003) 중 하나 이상의 기능을 구현하도록 구성된다. 일반적으로, 각 유닛은 각각의 프로그램 코드(또는 프로그램 명령어)에 대응한다. 유닛에 대응하는 프로그램 코드가 프로세서에서 실행될 때, 유닛은 대응하는 기능을 구현하기 위해 대응하는 절차를 실행한다.
가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용된다.
기존의 키 업데이트 프로세스에서, 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 그러나, 본 출원의 키 업데이트 방법에서, 제1 노드는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화하고, 업데이트 시점 및/또는 유효 기간을 장치(100)에 나타내어, 필요에 따라 제1 타깃 키가 인에이블될 수 있도록 한다.
또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC SN(Media Access Control Serial Number)을 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F 미만이다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
예를 들어, 제1 키 업데이트 요청에 수반된 제1 프레임 번호는 2345이고, 제1 프레임 번호는 제1 타깃 키가 프레임 번호 2345부터 시작하는 통신 프레임 이후에 적용됨을 나타낼 수 있다.
또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하여 제1 타깃 키의 유효 기간 내에 적용된다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 포함하며; 결정 유닛(1003)은 제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 결정 유닛(1003)은 제2 타깃 키 및 최신 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 및 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있으며, 여기서 fresh는 최신 파라미터이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
또 다른 가능한 구현에서, 제1 타깃 키는 장치(100)의 마스터 키이다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 결정 유닛(1003)은 제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하도록 구성되며, 여기서 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하기 위해 사용되는 알고리즘을 식별하는데 사용된다.
또 다른 가능한 구현에서, 제1 타깃 키는 장치(100)의 무결성 보호 키 또는 암호화 키이다.
또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행된다.
종래의 키 업데이트 방법은 기존 키가 만료되면 키를 업데이트하는 것임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에, 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서, 장치(100)는 키가 만료되기 전에 제1 타깃 키를 결정할 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있어서, 데이터 보안을 향상시킬 수 있다.
또 다른 가능한 구현에서, 전송 유닛(1004)은 제1 신원 정보에 대한 검증이 실패하는 경우, 장치(100)가 제1 노드에 대한 통신 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드로 전송하도록 또한, 구성된다.
제1 신원 인증 정보에 대한 검증이 실패하는 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타낸다는 것을 알 수 있다. 따라서, 장치(100)는 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드로 전송하여 현재 키 프로세스를 중지함으로써, 키 업데이트 프로세스에서 장치(100)의 데이터 보안을 보장할 수 있다.
또 다른 가능한 구현에서, 검증 유닛(1002)은: 제1 응답 메시지에 대해 무결성 검증을 수행하고; 무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하도록 또한, 구성되고;
전송 유닛(1004)은: 무결성 검증이 실패하는 경우, 장치(100)가 제1 노드에 대한 통신 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드에 전송하도록 또한, 구성된다.
전술한 장치(100)는 신원 정보에 대한 검증을 수행하기 전에 먼저 제1 키 업데이트 요청에 대한 무결성 검증을 수행하여서, 제1 키 업데이트 요청의 정보가 변조되지 않았는지 결정한다. 무결성 검증에 실패하는 경우, 이는 제1 키 업데이트 요청의 데이터가 변조되었고, 키가 업데이트될 수 없음을 나타낸다. 따라서, 전술한 장치(100)는 제1 노드와의 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드로 전송함으로써, 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
각 유닛의 구현에 대해, 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예의 대응하는 설명을 참조한다는 점에 유의해야 한다. 장치(100)는 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서 제2 노드이다.
도 11은 본 출원의 실시예에 따른 장치(110)의 개략적인 구조도이다. 장치(110)는 데이터 송/수신 기능을 갖는 전자 디바이스일 수 있고, 데이터 송/수신 기능을 갖는 전자 디바이스의 칩 또는 집적 회로와 같은 컴포넌트일 수 있다. 장치(110)는 메모리(1101), 프로세서(1102), 및 통신 인터페이스(1103)를 포함할 수 있다. 또한, 선택적으로, 버스(1104)가 더 포함될 수 있다. 메모리(1101), 프로세서(1102), 및 통신 인터페이스(1103)는 버스(1104)를 통해 연결된다.
메모리(1101)는 저장 공간을 제공하도록 구성되고, 저장 공간은 가령, 운영 체제 및 컴퓨터 프로그램과 같은 데이터를 저장할 수 있다. 메모리(1101)는 랜덤 액세스 메모리(random access memory, RAM), 읽기 전용 메모리(read-only memory, ROM), 소거 가능한 프로그래밍 가능 읽기 전용 메모리(erasable programmable read only memory, EPROM), 또는 컴팩트 디스크 읽기 전용 메모리(compact disc read-only memory, CD-ROM)를 포함하지만, 이에 제한되지 않는다.
프로세서(1102)는 산술 연산 및 논리 연산을 수행하는 모듈이고, 가령 중앙 처리 유닛(central processing unit, CPU), 그래픽 처리 유닛(graphics processing unit, GPU), 또는 마이크로프로세서 유닛(microprocessor unit, MPU)과 같은 프로세싱 모듈 중 하나 또는 이들의 조합일 수 있다.
통신 인터페이스(1103)는 외부 디바이스에 의해 전송된 데이터를 수신하거나 및/또는 외부 디바이스로 데이터를 전송하도록 구성되며, 가령 이더넷 케이블과 같은 유선 링크 인터페이스일 수 있거나, 무선 링크 인터페이스(Wi-Fi 또는 블루투스 등)일 수 있다. 선택적으로, 통신 인터페이스는 인터페이스에 결합된 송신기(예를 들어, 무선 주파수 송신기), 또는 수신기 등을 더 포함할 수 있다.
장치(110)의 프로세서(1102)는, 다음의 동작을 수행하도록 메모리(1101)에 저장된 컴퓨터 프로그램 코드를 판독하게끔 구성된다.
통신 인터페이스(1103)를 통해 제1 키 업데이트 요청을 제2 노드에 전송하는 것 - 상기 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성됨 - ;
통신 인터페이스(1104)를 통해 제2 노드로부터 제1 응답 메시지를 수신하는 것 - 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함함 - ;
상기 제1 공유 키를 사용하여 상기 제2 신원 인증 정보에 대한 검증을 수행하는 것; 및
제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 것.
키 업데이트 프로세스에서, 전술한 장치(110) 및 제2 노드는 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원본 세션 키를 크랙하더라도, 도청자가 신원 정보를 위조할 수 없고, 그럼으로써 키 업데이트 프로세스에서 중간자 공격을 방지하고, 데이터 보안을 향상시킬 수 있다.
가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내기 위해 사용된다.
기존의 키 업데이트 프로세스에서 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 그러나, 본 출원에서 제공되는 장치(110)는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화하고, 업데이트 시점 및/또는 유효 기간을 제2 노드에 나타낼 수 있으므로, 필요에 따라 제1 타깃 키가 인에이블될 수 있다.
또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC SN(Media Access Control Serial Number)을 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F보다 작다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
예를 들어, 제1 키 업데이트 요청에 수반된 제1 프레임 번호는 2345이고, 제1 프레임 번호는 제1 타깃 키가 프레임 번호 2345부터 시작하는 통신 프레임 이후에 적용됨을 나타낼 수 있다.
또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하는 제1 타깃 키의 유효 기간 내에 적용된다.
기존의 키 업데이트 프로세스에서는, 키 업데이트 시점이 설정된다. 따라서, 이전 키가 만료될 때 새로운 키가 업데이트된다. 기존 키가 만료되었기 때문에, 키 업데이트 중에 암호화 프로세스가 일시 중단되어야 하고, 키 업데이트가 완료된 후 암호화 프로세스가 재개된다. 그러나, 암호화 프로세스의 일시 중단 및 암호화 프로세스의 재개는 키 업데이트 효율성에 영향을 미치며, 암호화 프로세스의 일시 중단은 보안에 영향을 미친다. 그러나, 본 출원에서 제공하는 장치(110)에서는, 키 업데이트 동안, 이전 키가 만료되지 않았기 때문에 암호화 프로세스가 일시 중단될 필요가 없고, 그럼으로써 키 업데이트 효율을 향상시키고 데이터 보안을 향상시킨다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서(1102)는 구체적으로 제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서(1102)는 구체적으로:
제2 타깃 키와 최신 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 및 사전 공유 키(PSK) 등을 포함한다. 또한, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘을 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있고, 여기서 fresh는 최신 파라미터이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
또 다른 가능한 구현에서, 제1 타깃 키는 장치(110)의 마스터 키이다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서(1102)는 구체적으로:
제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하도록 구성되고, 여기서 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하는데 사용되는 알고리즘을 표시하는데 사용된다.
또 다른 가능한 구현에서, 제1 타깃 키는 장치(110)의 무결성 보호 키 또는 암호화 키이다.
또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행된다.
기존의 키 업데이트 방법은 기존 키가 만료될 때 키를 업데이트하는 것임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에, 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서, 장치(110)는 키가 만료되기 전에 제1 타깃 키를 결정할 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있어서, 데이터 보안을 향상시킨다.
또 다른 가능한 구현에서, 통신 인터페이스(1103)는 제1 통신 프레임을 사용하여 제2 노드에 제1 키 업데이트 요청을 전송하며, 여기서 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안에 사용된 키 업데이트 요청에 수반된 제3 프레임 번호보다 작고, 제3 프레임 번호는 마지막 업데이트된 키의 시작 시점을 나타내는데 사용되며, 제1 프레임 번호는 제2 프레임 번호보다 크고 제3 프레임 번호보다 작다.
통신 프로세스에서 통신 프레임에 대한 보안 보호가 수행될 때, 사용되는 암호화 방법은 프레임 번호와 마지막으로 업데이트된 키에 기초해서 암호화를 수행하는 것일 수 있다. 따라서, 프레임 번호가 마지막으로 업데이트된 키의 프레임 번호까지 반복되기 전에 제1 타깃 키가 결정되고, 따라서 제1 타깃 키를 사용하여 데이터 프레임이 암호화된다. 이러한 방식으로, 동일한 프레임 번호를 갖는 데이터 프레임은 상이한 키를 사용하여 두 번 암호화될 수 있고, 그럼으로써 데이터 보안을 향상시킨다.
대안적인 솔루션에서, 제1 키 업데이트 요청은 제1 프레임 번호 대신 MAC 일련 번호(MAC SN)를 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F보다 작다. 대안으로, 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된 제3 프레임 번호는 또한, MAC SN, 즉, 제3 프레임 번호를 나타내는데 사용되는 복수의 비트 중 일부가 나타내는 MAC SN으로 대체될 수 있다. 이 대안적인 솔루션에서, 제1 프레임 번호, 제2 프레임 번호 및 제3 프레임 번호 사이의 값의 관계는 변경되지 않은 상태로 유지된다. 구체적으로, 제1 프레임 번호를 나타내기 위해 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
또 다른 가능한 구현에서, 통신 프레임은 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임, 또는 사용자 평면 다운링크 프레임 중 적어도 하나를 포함한다.
또 다른 가능한 구현에서, 프로세서(1102)는: 제2 신원 정보에 대한 검증이 실패하는 경우, 제2 노드에 대한 통신 연결을 끊거나, 통신 인터페이스(1103)를 통해 제2 노드에 업데이트 실패 정보를 전송하도록 통신 인터페이스(1103)에 지시하도록 또한, 구성된다.
제2 신원 인증 정보에 대한 검증이 실패하는 경우, 이는 제2 노드의 신원이 신뢰할 수 없음을 나타냄을 알 수 있다. 따라서, 전술한 장치(110)는 제2 노드에 대한 통신 연결을 끊거나, 업데이트 실패 정보를 제2 노드로 전송하여, 키 업데이트를 수행해야 하는 노드에 대한 액세스 요청이 다시 초기화되도록 하고, 그럼으로써 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
또 다른 가능한 구현에서, 제2 노드로부터 제1 응답 메시지를 수신한 후, 프로세서(1102)는: 제1 응답 메시지에 대해 무결성 검증을 수행하고; 무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제2 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하도록 또한, 구성되고;
프로세서(1102)는: 무결성 검증이 실패하는 경우, 제2 노드에 대한 통신 연결을 끊거나, 업데이트 실패 정보를 통신 인터페이스(1103)를 통해 제2 노드에 전송하게끔 통신 인터페이스(1103)에 지시하도록 또한, 구성된다.
정보가 변조되었는지 여부를 결정하기 위해 무결성 검증이 수행될 수 있음을 알 수 있다. 따라서, 전술한 장치(110)는, 신원 정보에 대한 검증을 수행하기 전에, 먼저 제1 응답 메시지에 대한 무결성 검증을 수행하여서, 제1 응답 메시지의 정보가 변조되지 않았는지 결정한다. 무결성 검증에 실패하는 경우, 이는 제1 응답 정보의 데이터가 변조되었고, 키가 업데이트될 수 없음을 나타낸다. 따라서, 장치(110)는 제2 노드에 대한 통신 연결을 끊거나, 업데이트 실패 정보를 제2 노드로 전송하여서, 장치(110)가 키 업데이트를 수행해야 하는 노드에 다시 액세스하도록 하고, 그럼으로써 키 업데이트 프로세스에서 데이터 보안을 보장한다.
각 유닛의 구현에 대해, 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예의 대응하는 설명을 참조한다는 점에 유의해야 한다. 노드(10)는 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서 제1 노드이다.
도 12는 본 출원의 실시예에 따른 장치(120)의 개략적인 구조도이다. 장치(120)는 데이터 송/수신 기능을 갖는 전자 디바이스일 수 있고, 가령 데이터 송/수신 기능을 갖는 전자 디바이스의 칩 또는 집적 회로와 같은 컴포넌트일 수 있다. 장치(120)는 메모리(1201), 프로세서(1202), 및 통신 인터페이스(1203)를 포함할 수 있다. 또한, 선택적으로 버스(1204)가 더 포함될 수 있다. 메모리(1201), 프로세서(1202), 및 통신 인터페이스(1203)는 버스(1204)를 통해 연결된다.
메모리(1201)는 저장 공간을 제공하도록 구성되고, 저장 공간은 가령, 운영 체제 및 컴퓨터 프로그램과 같은 데이터를 저장할 수 있다. 메모리(1201)는 랜덤 액세스 메모리(random access memory, RAM), 읽기 전용 메모리(read-only memory, ROM), 소거 가능한 프로그래밍 가능 읽기 전용 메모리(erasable programmable read only memory, EPROM), 또는 컴팩트 디스크 읽기 전용 메모리(compact disc read-only memory, CD-ROM)를 포함하지만, 이에 제한되지 않는다.
프로세서(1202)는 산술 연산 및 논리 연산을 수행하는 모듈이고, 가령 중앙 처리 유닛(central processing unit, CPU), 그래픽 처리 유닛(graphics processing unit, GPU), 또는 마이크로프로세서 유닛(microprocessor unit, MPU)과 같은 프로세싱 모듈 중 하나 또는 이들의 조합일 수 있다.
통신 인터페이스(1203)는 외부 디바이스에 의해 전송된 데이터를 수신하거나 및/또는 외부 디바이스로 데이터를 전송하도록 구성되며, 가령 이더넷 케이블과 같은 유선 링크 인터페이스일 수 있거나, 무선 링크 인터페이스(Wi-Fi, 또는 블루투스 등)일 수 있다. 선택적으로, 통신 인터페이스는 인터페이스에 결합된 송신기(예를 들어, 무선 주파수 송신기) 또는 수신기 등을 더 포함할 수 있다.
장치(120)의 프로세서(1202)는 다음의 동작을 수행하도록 메모리(1201)에 저장된 컴퓨터 프로그램 코드를 판독하도록 구성된다.
통신 인터페이스(1203)를 통해 제1 키 업데이트 요청을 제2 노드에 전송하는 것 - 상기 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성됨 - ;
통신 인터페이스(1203)를 통해 제2 노드로부터 제1 응답 메시지를 수신하는 것 - 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함함 - ;
상기 제1 공유 키를 사용하여 상기 제2 신원 인증 정보에 대한 검증을 수행하는 것; 및
제2 신원 인증 정보에 대한 검증이 성공하는 경우, 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 것.
전술한 장치(120)와 제1 노드는, 원래 세션 키가 만료되기 전에, 제1 공유 키에 기초해서 신원 인증 정보를 생성한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 결정하고, 제1 타깃 키를 획득하기 위해, 신원 인증이 성공한 후에야 키 협상 파라미터에 기초해서 키를 업데이트한다. 이 경우, 도청자가 원래 세션 키를 크랙하더라도 도청자가 신원 정보를 위조할 수 없으므로, 중간자 공격을 방지하고 키 업데이트 프로세스에서 데이터 보안을 향상시킨다.
가능한 구현에서, 제1 키 업데이트 요청은 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용된다.
기존의 키 업데이트 프로세스에서 키 업데이트 시점은 프로토콜에 미리 정의되어 있고, 유연하게 선택될 수 없다. 하지만, 본 출원에서, 제1 노드는 제1 타깃 키의 업데이트 시점 및/또는 제1 타깃 키의 유효 기간을 맞춤화하고, 업데이트 시점 및/또는 유효 기간을 장치(120)에 나타낼 수 있으므로, 필요에 따라 제1 타깃 키가 인에이블될 수 있다.
또 다른 가능한 구현에서, 제1 키 업데이트 요청은 제1 프레임 번호를 포함하고, 제1 키 업데이트 요청은 제1 프레임 번호를 사용하여 제1 업데이트 시점을 나타낸다. 제1 프레임 번호는 복수의 비트, 예를 들어 F 비트를 사용하여 나타낸다. 대안으로, 제1 키 업데이트 요청은 MAC SN(Media Access Control Serial Number)을 포함하고, MAC SN은 M 비트를 사용하여 나타내고, M 비트는 F 비트의 일부이며, M은 F보다 작다. 구체적으로, 제1 프레임 번호를 나타내는데 사용되는 복수의 비트는 2개의 부분: 고차 부분 및 저차 부분을 포함한다. 저차 부분은 MAC SN을 나타내는데 사용되는 M 비트이다. 고차 부분은 N 비트를 사용하여 나타낸다. 선택적으로, N 비트는 하이퍼 프레임 번호를 나타내는데 사용되는 복수의 비트이다. 이러한 대안적인 방식으로, 키 업데이트 요청에 가능한 한 적은 정보가 수반될 수 있으므로, 시그널링 소비를 감소시키고 통신 효율성을 개선할 수 있다.
예를 들어, 제1 키 업데이트 요청에 수반된 제1 프레임 번호는 2345이고, 제1 프레임 번호는 제1 타깃 키가 프레임 번호 2345부터 시작하는 통신 프레임 이후에 적용됨을 나타낼 수 있다.
또 다른 가능한 구현에서, 제1 타깃 키는 제1 업데이트 시점으로부터 시작하는 제1 타깃 키의 유효 기간 내에 적용된다.
기존의 키 업데이트 프로세스에서는, 키 업데이트 시점이 설정된다. 따라서, 이전 키가 만료될 때, 새로운 키가 업데이트된다. 기존 키가 만료되었기 때문에, 키 업데이트 동안에 암호화 프로세스가 일시 중단되어야 하고, 키 업데이트가 완료된 후 암호화 프로세스가 재개된다. 하지만, 암호화 프로세스의 일시 중단 및 암호화 프로세스의 재개는 키 업데이트 효율성에 영향을 미치며, 암호화 프로세스의 일시 중단은 보안에 영향을 미친다. 하지만, 본 출원에서 제공하는 장치(120)에서는, 키 업데이트 동안, 이전 키가 만료되지 않았기 때문에 암호화 프로세스가 일시 중단될 필요가 없고, 그럼으로써 키 업데이트 효율을 향상시키고 데이터 보안을 향상시킨다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서(1202)는 구체적으로:
제1 키 협상 알고리즘 파라미터 및 제2 키 협상 알고리즘 파라미터에 기초해서 제1 타깃 키를 생성하도록 구성된다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서(1202)는 구체적으로:
제2 타깃 키와 최신 파라미터에 기초해서 제1 타깃 키를 생성한다.
제2 타깃 키는 제1 노드와 제2 노드 사이의 공유 키일 수 있으며, 마스터 키, 세션 키, 및 사전 공유 키(PSK) 등을 포함한다. 추가로, 제1 타깃 키는 제2 타깃 키 및 최신 파라미터에 기초한 키 유도 알고리즘 KDF를 사용하여 생성될 수 있다. 예를 들어, 비밀 값 Key를 사용하여 유도된 새로운 키 DK는: DK=KDF(Key, fresh)로 표현될 수 있고, 여기서 fresh는 최신 파라미터이고, 업데이트에 사용되는 파라미터이며, 카운터 값(counter), 일련 번호(number), 난수(rand), 및 프레임 번호(frame number) 등을 포함한다.
또 다른 가능한 구현에서, 제1 타깃 키는 장치(120)의 마스터 키이다.
또 다른 가능한 구현에서, 제1 키 협상 파라미터는 최신 파라미터를 포함하고; 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 동작에서, 프로세서(1202)는 구체적으로:
제2 타깃 키, 최신 파라미터, 및 알고리즘 식별자에 기초해서 제1 타깃 키를 생성하고, 여기서 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하는데 사용되는 알고리즘을 표시하는데 사용된다.
또 다른 가능한 구현에서, 제1 타깃 키는 장치(120)의 무결성 보호 키 또는 암호화 키이다.
또 다른 가능한 구현에서, 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나는 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 제1 키 업데이트 요청 및 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행된다.
기존의 키 업데이트 방법은 기존 키가 만료될 때 키를 업데이트하는 것임을 알 수 있다. 제2 타깃 키가 만료되었기 때문에 새로운 키를 결정하는 프로세스에서 암호화 및 무결성 보호가 수행되지 않는다. 그러나, 본 출원의 이 실시예에서, 제1 타깃 키는 키가 만료되기 전에 결정될 수 있다. 따라서, 제1 키 업데이트 요청 및 제1 응답 메시지는 제2 타깃 키에 기초해서 결정된 키를 사용하여 암호화될 수 있어서, 데이터 보안이 향상될 수 있다.
또 다른 가능한 구현에서, 프로세서(1202)는: 제1 신원 정보에 대한 검증이 실패하는 경우, 제1 노드에 대한 통신 연결을 끊거나, 또는 통신 인터페이스(1203)를 통해 업데이트 실패 표시 정보를 제1 노드에 전송하게끔 통신 인터페이스(1203)에 지시하도록 또한, 구성된다.
제1 신원 인증 정보에 대한 검증이 실패한 경우, 장치(120)는 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드에 전송하여, 현재 키 프로세스를 중지함으로써, 키 업데이트 프로세스에서 노드의 데이터 보안을 보장할 수 있음을 알 수 있다.
또 다른 가능한 구현에서, 제1 노드로부터 제1 키 업데이트 요청을 수신한 후, 프로세서(1202)는, 또한: 제1 키 업데이트 요청에 대해 무결성 검증을 수행하고; 무결성 검증이 성공하는 경우, 제1 공유 키를 사용하여 제1 신원 인증 정보에 대한 검증을 수행하는 단계를 계속 수행하도록 구성되고;
프로세서(1202)는, 무결성 검증이 실패하는 경우, 제1 노드에 대한 연결을 끊거나, 또는 업데이트 실패 표시 정보를 통신 인터페이스(1203)를 통해 제1 노드에 전송하게끔 통신 인터페이스(1203)에 지시하도록 또한, 구성된다.
신원 정보에 대한 검증을 수행하기 전에, 전술한 장치(120)는 먼저 제1 키 업데이트 요청에 대한 무결성 검증을 수행하여, 제1 키 업데이트 요청의 정보가 변조되지 않았는지 결정한다. 무결성 검증에 실패하는 경우, 이는 제1 키 업데이트 요청의 데이터가 변조되었고, 키가 업데이트될 수 없음을 나타낸다. 따라서, 전술한 장치(120)는 제1 노드와의 연결을 끊거나, 또는 업데이트 실패 표시 정보를 제1 노드로 전송함으로써 키 업데이트 프로세스에서 데이터 보안을 보장할 수 있다.
각 유닛의 구현에 대해, 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예의 대응하는 설명을 참조한다는 점에 유의해야 한다. 장치(120)는 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서 제1 노드이다.
본 출원의 실시예는 컴퓨터 판독가능 저장 매체를 더 제공한다. 컴퓨터 판독가능 저장 매체는 컴퓨터 프로그램을 저장한다. 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예의 방법이 수행된다.
본 출원의 실시예는 칩 시스템을 더 제공한다. 칩 시스템은 적어도 하나의 프로세서, 메모리, 및 인터페이스 회로를 포함한다. 인터페이스 회로는, 적어도 하나의 프로세서에 대한 정보 입력/출력을 제공하도록 구성되고, 적어도 하나의 메모리는 컴퓨터 프로그램을 저장하며, 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예의 키 업데이트 방법이 수행된다.
본 출원의 실시예는 스마트 조종석 제품을 더 제공한다. 스마트 조종석 제품은 제1 노드(예컨대, 자동차 조종석 영역 컨트롤러(CDC))를 포함하고, 제1 노드는 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서의 제1 노드이다. 또한, 차량은 제2 노드(예를 들어, 가령, 카메라, 스크린, 마이크, 사운더, 레이더, 전자 키, 키리스 엔트리, 및 시동 시스템 컨트롤러와 같은 모듈들 중 적어도 하나)를 더 포함하고, 제2 노드는 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서의 제2 노드이다.
본 출원의 실시예는 차량을 더 제공한다. 차량은 제1 노드(예컨대, 자동차 조종석 영역 컨트롤러(CDC))를 포함한다. 또한, 차량은 제2 노드(예를 들어, 가령, 카메라, 스크린, 마이크, 사운더, 레이더, 전자 키, 키리스 엔트리, 또는 시동 시스템 컨트롤러와 같은 모듈들 중 적어도 하나)를 더 포함한다. 제1 노드는 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서의 제1 노드이고, 제2 노드는 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서의 제2 노드이다. 본 출원의 실시예는 컴퓨터 프로그램 제품을 더 제공한다. 컴퓨터 프로그램 제품이 하나 이상의 프로세서에서 실행될 때, 도 5, 도 6a 및 6b, 도 7a 및 7b, 또는 도 8a 및 8b에 도시된 임의의 실시예에서의 키 업데이트 방법이 수행될 수 있다.
전술한 바에 비추어 볼 때, 본 출원의 실시예에서 제공되는 키 업데이트 방법에 따르면, 두 통신 당사자의 노드들은, 키가 업데이트되기 전에, 제1 공유 키에 기초해서 신원 인증 정보를 생성해야 한다. 다른 노드로부터 메시지를 수신한 후, 하나의 노드는 먼저 신원 인증 정보를 사용하여 다른 노드의 신원을 확인하고, 신원 인증이 성공한 후 키 협상 파라미터에 기초해서 제1 타깃 키를 결정한다. 이 경우, 도청자가 원래 세션 키를 크랙하더라도 도청자가 신원 정보를 위조할 수 없으므로, 중간자 공격을 방지하고 키 업데이트 프로세스에서 데이터 보안을 향상시킨다.
간략한 설명을 위해, 전술한 방법의 실시예는 일련의 동작 조합으로 표현된다는 점에 유의해야 한다. 그러나, 통상의 기술자는, 본 출원에 따르면 일부 단계가 다른 순서로 또는 동시에 수행될 수 있기 때문에, 본 출원이 설명된 동작의 순서로 제한되지 않는다는 것을 인식해야 한다. 본 명세서에 설명된 실시예는 모두 예시적인 실시예에 속하며, 수반된 동작 및 모듈이 본 출원에서 반드시 요구되는 것은 아니라는 점이 통상의 기술자에 의해 또한, 인식되어야 한다.
본 출원의 실시예들에 따른 방법의 단계들의 순서는 실제 요구사항에 기초해서 조정, 결합, 또는 제거될 수 있다.
본 출원의 실시예에 따른 장치의 모듈은 실제 요구 사항에 따라 결합, 분할, 및 삭제될 수 있다.
통상의 기술자는 실시예에 따른 방법의 단계의 전부 또는 일부가 관련 하드웨어에 지시하는 프로그램에 의해 구현될 수 있음을 이해할 수 있다. 프로그램은 컴퓨터 판독가능한 저장 매체에 저장될 수 있다. 저장 매체는 플래시 메모리, 읽기 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 자기 디스크, 또는 광 디스크 등을 포함할 수 있다.
앞서 개시된 내용은 오로지 본 출원의 예시적인 실시예일 뿐이다. 통상의 기술자라면 전술한 실시예를 구현하는 절차의 전부 또는 일부와, 본 출원의 청구범위에 따라 이루어지는 등가의 수정사항들이 본 출원의 범위에 속한다는 것을 이해할 수 있을 것이다.
Claims (39)
- 키 업데이트 방법으로서,
제1 키 업데이트 요청을 제2 노드로 전송하는 단계 - 상기 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 상기 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성됨 -;
상기 제2 노드로부터 제1 응답 메시지를 수신하는 단계 - 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함함 -;
상기 제1 공유 키를 사용하여 상기 제2 신원 인증 정보에 대한 검증을 수행하는 단계; 및
상기 제2 신원 인증 정보에 대한 검증이 성공하는 경우, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계
를 포함하는 키 업데이트 방법. - 제1항에 있어서,
상기 제1 키 업데이트 요청은, 상기 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용되는, 키 업데이트 방법. - 제2항에 있어서,
상기 제1 키 업데이트 요청은 제1 프레임 번호 또는 제1 미디어 액세스 컨트롤(MAC) 일련 번호를 포함하고, 상기 제1 키 업데이트 요청은 상기 제1 프레임 번호 또는 상기 제1 MAC 일련 번호를 사용하여 상기 제1 업데이트 시점을 나타내는데 사용되는, 키 업데이트 방법. - 제2항에 있어서,
상기 제1 타깃 키는, 상기 제1 업데이트 시점부터 시작되는 상기 제1 타깃 키의 유효 기간 내에 적용되는, 키 업데이트 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 상기 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하며, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
상기 제1 키 협상 알고리즘 파라미터 및 상기 제2 키 협상 알고리즘 파라미터에 기초해서 상기 제1 타깃 키를 생성하는 단계를 포함하는, 키 업데이트 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 최신 파라미터(fresh parameter)를 포함하고, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제2 타깃 키 및 상기 최신 파라미터에 기초해서 상기 제1 타깃 키를 생성하는 단계를 포함하는, 키 업데이트 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 최신 파라미터를 포함하고, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제2 타깃 키, 상기 최신 파라미터, 및 알고리즘 식별자에 기초해서 상기 제1 타깃 키를 생성하는 단계를 포함하고, 상기 알고리즘 식별자는 암호화 키 또는 무결성(integrity) 보호 키를 결정하기 위해 사용되는 알고리즘을 표시(mark)하는데 사용되는, 키 업데이트 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 제1 키 업데이트 요청 및 상기 제1 응답 메시지 중 적어도 하나는 상기 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 상기 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 상기 제1 키 업데이트 요청 및 상기 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행되는, 키 업데이트 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 제1 키 업데이트 요청은 상기 제1 프레임 번호를 포함하고, 상기 제1 프레임 번호는 상기 제1 타깃 키의 업데이트 시점을 나타내는데 사용되고, 상기 제1 키 업데이트 요청을 제2 노드로 전송하는 단계는:
제1 통신 프레임을 사용하여 상기 제1 키 업데이트 요청을 상기 제2 노드로 전송하는 단계를 포함하고, 상기 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된(carried) 제3 프레임 번호보다 작고, 상기 제3 프레임 번호는 마지막으로 업데이트된 키의 시작 시점을 나타내는데 사용되며, 상기 제1 프레임 번호는 상기 제2 프레임 번호보다 크고 상기 제3 프레임 번호보다 작은, 키 업데이트 방법. - 제9항에 있어서,
상기 통신 프레임은 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임, 또는 사용자 평면 다운링크 프레임 중 적어도 하나를 포함하는, 키 업데이트 방법. - 키 업데이트 방법으로서,
제1 노드로부터 제1 키 업데이트 요청을 수신하는 단계 - 상기 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함함 -;
제1 공유 키를 사용하여 상기 제1 신원 인증 정보에 대한 검증을 수행하는 단계;
상기 제1 신원 인증 정보에 대한 검증이 성공하는 경우, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계; 및
제1 응답 메시지를 상기 제1 노드로 전송하는 단계 - 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함하고, 상기 제2 신원 인증 정보는 상기 제1 공유 키를 사용하여 생성됨 -
를 포함하는 키 업데이트 방법. - 제11항에 있어서,
상기 제1 키 업데이트 요청은, 상기 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용되는, 키 업데이트 방법. - 제12항에 있어서,
상기 제1 키 업데이트 요청은 제1 프레임 번호 또는 제1 미디어 액세스 컨트롤(MAC) 일련 번호를 포함하고, 상기 제1 키 업데이트 요청은 상기 제1 프레임 번호 또는 상기 제1 MAC 일련 번호를 사용하여 상기 제1 업데이트 시점을 나타내는데 사용되는, 키 업데이트 방법. - 제12항에 있어서,
상기 제1 타깃 키는, 상기 제1 업데이트 시점부터 시작되는 상기 제1 타깃 키의 유효 기간 내에 적용되는, 키 업데이트 방법. - 제11항 내지 제14항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 상기 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하며, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
상기 제1 키 협상 알고리즘 파라미터 및 상기 제2 키 협상 알고리즘 파라미터에 기초해서 상기 제1 타깃 키를 생성하는 단계를 포함하는, 키 업데이트 방법. - 제11항 내지 제14항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 최신 파라미터(fresh parameter)를 포함하고, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제2 타깃 키 및 상기 최신 파라미터에 기초해서 상기 제1 타깃 키를 생성하는 단계를 포함하는, 키 업데이트 방법. - 제11항 내지 제14항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 최신 파라미터를 포함하고, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하는 단계는:
제2 타깃 키, 상기 최신 파라미터, 및 알고리즘 식별자에 기초해서 상기 제1 타깃 키를 생성하는 단계를 포함하고, 상기 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하기 위해 사용되는 알고리즘을 식별하는데 사용되는, 키 업데이트 방법. - 제11항 내지 제17항 중 어느 한 항에 있어서,
상기 제1 키 업데이트 요청 및 상기 제1 응답 메시지 중 적어도 하나는 상기 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 상기 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 상기 제1 키 업데이트 요청 및 상기 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행되는, 키 업데이트 방법. - 장치로서,
제1 키 업데이트 요청을 제2 노드로 전송하도록 구성된 전송 유닛 - 상기 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함하고, 상기 제1 신원 인증 정보는 제1 공유 키를 사용하여 생성됨 -;
상기 제2 노드로부터 제1 응답 메시지를 수신하도록 구성된 수신 유닛 - 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함함 -;
상기 제1 공유 키를 사용하여 상기 제2 신원 인증 정보에 대한 검증을 수행하도록 구성된 검증 유닛; 및
상기 제2 신원 인증 정보에 대한 검증이 성공하는 경우, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하도록 구성된 결정 유닛
을 포함하는 장치. - 제19항에 있어서,
상기 제1 키 업데이트 요청은, 상기 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용되는, 장치. - 제19항에 있어서,
상기 제1 키 업데이트 요청은 제1 프레임 번호 또는 제1 미디어 액세스 컨트롤(MAC) 일련 번호를 포함하고, 상기 제1 키 업데이트 요청은 상기 제1 프레임 번호 또는 상기 제1 MAC 일련 번호를 사용하여 상기 제1 업데이트 시점을 나타내는데 사용되는, 장치. - 제20항에 있어서,
상기 제1 타깃 키는, 상기 제1 업데이트 시점부터 시작되는 상기 제1 타깃 키의 유효 기간 내에 적용되는, 장치. - 제19항 내지 제22항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 상기 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하며, 상기 결정 유닛은 상기 제1 키 협상 알고리즘 파라미터 및 상기 제2 키 협상 알고리즘 파라미터에 기초해서 상기 제1 타깃 키를 생성하도록 구성되는, 장치. - 제19항 내지 제22항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 최신 파라미터를 포함하고, 상기 결정 유닛은 제2 타깃 키 및 상기 최신 파라미터에 기초해서 상기 제1 타깃 키를 생성하도록 구성되는, 장치. - 제19항 내지 제22항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 최신 파라미터를 포함하고, 상기 결정 유닛은, 제2 타깃 키, 상기 최신 파라미터, 및 알고리즘 식별자에 기초해서 상기 제1 타깃 키를 생성하도록 구성되며, 상기 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하기 위해 사용되는 알고리즘을 표시하는데 사용되는, 장치. - 제19항 내지 제25항 중 어느 한 항에 있어서,
상기 제1 키 업데이트 요청 및 상기 제1 응답 메시지 중 적어도 하나는 상기 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 상기 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 상기 제1 키 업데이트 요청 및 상기 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행되는, 장치. - 제19항 내지 제26항 중 어느 한 항에 있어서,
상기 제1 키 업데이트 요청은 상기 제1 프레임 번호를 포함하고, 상기 제1 프레임 번호는 상기 제1 타깃 키의 업데이트 시점을 나타내는데 사용되고,
상기 전송 유닛은, 제1 통신 프레임을 사용하여 상기 제2 노드로 상기 제1 키 업데이트 요청을 전송하도록 구성되며, 상기 제1 통신 프레임의 제2 프레임 번호는 마지막 키 업데이트 동안 사용된 키 업데이트 요청에 수반된(carried) 제3 프레임 번호보다 작고, 상기 제3 프레임 번호는 마지막으로 업데이트된 키의 시작 시점을 나타내는데 사용되며, 상기 제1 프레임 번호는 상기 제2 프레임 번호보다 크고 상기 제3 프레임 번호보다 작은, 장치. - 제27항에 있어서,
상기 통신 프레임은 시그널링 평면 업링크 프레임, 시그널링 평면 다운링크 프레임, 사용자 평면 업링크 프레임, 또는 사용자 평면 다운링크 프레임 중 적어도 하나를 포함하는, 장치. - 장치로서,
제1 노드로부터 제1 키 업데이트 요청을 수신하도록 구성된 수신 유닛 - 상기 제1 키 업데이트 요청은 제1 키 협상 파라미터 및 제1 신원 인증 정보를 포함함 -;
제1 공유 키를 사용하여 상기 제1 신원 인증 정보에 대한 검증을 수행하도록 구성된 검증 유닛;
상기 제1 신원 인증 정보에 대한 검증이 성공하는 경우, 상기 제1 키 협상 파라미터에 기초해서 제1 타깃 키를 결정하도록 구성된 결정 유닛; 및
제1 응답 메시지를 상기 제1 노드에 전송하도록 구성된 전송 유닛 - 상기 제1 응답 메시지는 제2 신원 인증 정보를 포함하고, 상기 제2 신원 인증 정보는 상기 제1 공유 키를 사용하여 생성됨 -
을 포함하는 장치. - 제29항에 있어서,
상기 제1 키 업데이트 요청은, 상기 제1 타깃 키의 제1 업데이트 시점 및 유효 기간 중 적어도 하나를 나타내는데 사용되는, 장치. - 제30항에 있어서,
상기 제1 키 업데이트 요청은 제1 프레임 번호 또는 제1 미디어 액세스 컨트롤(MAC) 일련 번호를 포함하고, 상기 제1 키 업데이트 요청은 상기 제1 프레임 번호 또는 상기 제1 MAC 일련 번호를 사용하여 상기 제1 업데이트 시점을 나타내는데 사용되는, 장치. - 제30항에 있어서,
상기 제1 타깃 키는, 상기 제1 업데이트 시점부터 시작되는 상기 제1 타깃 키의 유효 기간 내에 적용되는, 장치. - 제30항 내지 제32항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 제1 키 협상 알고리즘 파라미터를 포함하고, 상기 제1 응답 메시지는 제2 키 협상 알고리즘 파라미터를 더 포함하며,
상기 결정 유닛은, 상기 제1 키 협상 알고리즘 파라미터 및 상기 제2 키 협상 알고리즘 파라미터에 기초해서 상기 제1 타깃 키를 생성하도록 구성되는, 장치. - 제30항 내지 제32항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 최신 파라미터를 포함하고,
상기 결정 유닛은 제2 타깃 키 및 상기 최신 파라미터에 기초해서 상기 제1 타깃 키를 생성하도록 구성되는, 장치. - 제30항 내지 제32항 중 어느 한 항에 있어서,
상기 제1 키 협상 파라미터는 최신 파라미터를 포함하고,
상기 결정 유닛은 제2 타깃 키, 상기 최신 파라미터, 및 알고리즘 식별자에 기초해서 상기 제1 타깃 키를 생성하도록 구성되며, 상기 알고리즘 식별자는 암호화 키 또는 무결성 보호 키를 결정하기 위해 사용되는 알고리즘을 나타내는데 사용되는, 장치. - 제30항 내지 제32항 중 어느 한 항에 있어서,
상기 제1 키 업데이트 요청 및 상기 제1 응답 메시지 중 적어도 하나는 상기 제2 타깃 키에 기초해서 결정된 암호화 키를 사용하여 암호화되거나, 및/또는 상기 제2 타깃 키에 기초해서 결정된 무결성 보호 키를 사용하여 상기 제1 키 업데이트 요청 및 상기 제1 응답 메시지 중 적어도 하나에 대해 무결성 보호가 수행되는, 장치. - 장치로서,
상기 장치는 적어도 하나의 프로세서 및 통신 인터페이스를 포함하고,
상기 적어도 하나의 프로세서는, 제1항 내지 제10항 중 어느 한 항에 따른 방법을 구현하도록 상기 장치를 인에이블(enable)하기 위해, 적어도 하나의 메모리에 저장된 컴퓨터 프로그램을 호출하도록 구성되는, 장치. - 장치로서,
상기 장치는 적어도 하나의 프로세서 및 통신 인터페이스를 포함하고,
상기 적어도 하나의 프로세서는, 제11항 내지 제18항 중 어느 한 항에 따른 방법을 구현하도록 상기 장치를 인에이블하기 위해, 적어도 하나의 메모리에 저장된 컴퓨터 프로그램을 호출하도록 구성되는, 장치. - 컴퓨터-판독가능 저장 매체로서,
상기 컴퓨터-판독가능 저장 매체는 컴퓨터 프로그램을 저장하고,
상기 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 제1항 내지 제18항 중 어느 한 항에 따른 방법이 수행되는, 컴퓨터-판독가능 저장 매체.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/077353 WO2021168860A1 (zh) | 2020-02-29 | 2020-02-29 | 一种密钥更新方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220137124A true KR20220137124A (ko) | 2022-10-11 |
Family
ID=77490551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227032169A KR20220137124A (ko) | 2020-02-29 | 2020-02-29 | 키 업데이트 방법 및 관련 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220417015A1 (ko) |
EP (1) | EP4099615A4 (ko) |
JP (2) | JP7451738B2 (ko) |
KR (1) | KR20220137124A (ko) |
CN (2) | CN115104282B (ko) |
WO (1) | WO2021168860A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116418606A (zh) * | 2022-01-05 | 2023-07-11 | 西安西电捷通无线网络通信股份有限公司 | 安全通道休眠唤醒方法、装置及计算机可读存储介质 |
CN116155491B (zh) * | 2023-02-02 | 2024-03-08 | 广州万协通信息技术有限公司 | 安全芯片的对称密钥同步方法及安全芯片装置 |
CN116761167B (zh) * | 2023-08-21 | 2023-11-03 | 北京领创医谷科技发展有限责任公司 | 一种数据加密传输方法、系统、电子设备及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4713745B2 (ja) * | 2000-01-14 | 2011-06-29 | パナソニック株式会社 | 認証通信装置及び認証通信システム |
JP4691244B2 (ja) * | 2000-11-10 | 2011-06-01 | 株式会社東芝 | 限定受信システムの限定受信装置及びセキュリティモジュール、限定受信システム、限定受信装置認証方法及び暗号通信方法 |
US7596225B2 (en) * | 2005-06-30 | 2009-09-29 | Alcatl-Lucent Usa Inc. | Method for refreshing a pairwise master key |
CN1832397B (zh) * | 2005-11-28 | 2010-09-29 | 四川长虹电器股份有限公司 | 电子设备接口间基于公钥证书的认证密钥协商和更新方法 |
CN101047978A (zh) * | 2006-03-27 | 2007-10-03 | 华为技术有限公司 | 对用户设备中的密钥进行更新的方法 |
CN101425897B (zh) * | 2007-10-29 | 2011-05-18 | 上海交通大学 | 一种用户认证方法、系统、服务器和用户节点 |
JP2009141767A (ja) * | 2007-12-07 | 2009-06-25 | Kyoichi Shibuya | 暗号鍵の生成システム、暗号鍵の生成方法、暗号化認証システム及び暗号化通信システム |
CN101420694A (zh) * | 2008-12-16 | 2009-04-29 | 天津工业大学 | 一种wapi-xg1接入及快速切换认证方法 |
US8560848B2 (en) * | 2009-09-02 | 2013-10-15 | Marvell World Trade Ltd. | Galois/counter mode encryption in a wireless network |
JP5414558B2 (ja) * | 2010-01-29 | 2014-02-12 | Kddi株式会社 | 鍵交換システム、鍵交換方法及び鍵交換プログラム |
WO2014069783A1 (ko) * | 2012-10-31 | 2014-05-08 | 삼성에스디에스 주식회사 | 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치 |
JP6018511B2 (ja) * | 2013-01-31 | 2016-11-02 | 株式会社東芝 | サーバ装置、グループ鍵通知方法及びそのプログラム |
US10154032B2 (en) * | 2014-09-09 | 2018-12-11 | Comcast Cable Communications, Llc | Methods for security system-agnostic uniform device identification |
CN106712932B (zh) * | 2016-07-20 | 2019-03-19 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置及系统 |
JP6918582B2 (ja) * | 2017-06-02 | 2021-08-11 | パナソニック株式会社 | 乱数性検証システム及び乱数性検証方法 |
CN108572642B (zh) * | 2017-12-15 | 2022-02-18 | 蔚来(安徽)控股有限公司 | 一种自动驾驶系统及其横向控制方法 |
-
2020
- 2020-02-29 JP JP2022550128A patent/JP7451738B2/ja active Active
- 2020-02-29 WO PCT/CN2020/077353 patent/WO2021168860A1/zh unknown
- 2020-02-29 KR KR1020227032169A patent/KR20220137124A/ko active Search and Examination
- 2020-02-29 CN CN202080096273.4A patent/CN115104282B/zh active Active
- 2020-02-29 CN CN202311240730.4A patent/CN117201014A/zh active Pending
- 2020-02-29 EP EP20920962.6A patent/EP4099615A4/en active Pending
-
2022
- 2022-08-25 US US17/895,707 patent/US20220417015A1/en active Pending
-
2024
- 2024-03-06 JP JP2024034390A patent/JP2024081663A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023515104A (ja) | 2023-04-12 |
US20220417015A1 (en) | 2022-12-29 |
EP4099615A1 (en) | 2022-12-07 |
CN115104282B (zh) | 2023-08-22 |
CN115104282A (zh) | 2022-09-23 |
CN117201014A (zh) | 2023-12-08 |
JP2024081663A (ja) | 2024-06-18 |
WO2021168860A1 (zh) | 2021-09-02 |
EP4099615A4 (en) | 2023-02-01 |
JP7451738B2 (ja) | 2024-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7233664B2 (en) | Dynamic security authentication for wireless communication networks | |
US20220417015A1 (en) | Key update method and related apparatus | |
KR20170076742A (ko) | 보안 접속 및 관련 서비스를 위한 효율적인 개시 | |
WO2016065321A1 (en) | Secure communication channel with token renewal mechanism | |
CN105553951A (zh) | 数据传输方法和装置 | |
CN106941404B (zh) | 密钥保护方法及装置 | |
WO2018076740A1 (zh) | 数据传输方法及相关设备 | |
US20200195446A1 (en) | System and method for ensuring forward & backward secrecy using physically unclonable functions | |
US11863977B2 (en) | Key generation method, device, and system | |
CN113545115B (zh) | 一种通信方法及装置 | |
CN113228721A (zh) | 通信方法和相关产品 | |
WO2021109817A1 (zh) | 密钥的更新方法、数据解密方法、数字签名的验证方法 | |
WO2021103772A1 (zh) | 数据传输方法和装置 | |
CN104243452A (zh) | 一种云计算访问控制方法及系统 | |
KR20160111244A (ko) | 전자 장치 및 그의 통신 방법 | |
CN116405320B (zh) | 数据传输方法及装置 | |
CN111835691B (zh) | 一种认证信息处理方法、终端和网络设备 | |
CN111836260B (zh) | 一种认证信息处理方法、终端和网络设备 | |
US12058257B2 (en) | Data storage method, data read method, electronic device, and program product | |
TWI761243B (zh) | 群組即時通訊的加密系統和加密方法 | |
WO2022135394A1 (zh) | 身份鉴别方法、装置、存储介质、程序、及程序产品 | |
CN111404670A (zh) | 一种密钥生成方法、ue及网络设备 | |
WO2022041141A1 (zh) | 一种通信方法及相关装置 | |
Braga et al. | Implementation issues in the construction of an application framework for secure SMS messages on android smartphones | |
CN104955037A (zh) | 一种实现gsm手机的加密通话方法和加密装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |