KR20230016662A - 키 네고시에이션 방법, 장치 및 시스템 - Google Patents

키 네고시에이션 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20230016662A
KR20230016662A KR1020227045418A KR20227045418A KR20230016662A KR 20230016662 A KR20230016662 A KR 20230016662A KR 1020227045418 A KR1020227045418 A KR 1020227045418A KR 20227045418 A KR20227045418 A KR 20227045418A KR 20230016662 A KR20230016662 A KR 20230016662A
Authority
KR
South Korea
Prior art keywords
information
key negotiation
algorithm
receiving device
key
Prior art date
Application number
KR1020227045418A
Other languages
English (en)
Inventor
융 왕
징 첸
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20230016662A publication Critical patent/KR20230016662A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 출원은 키 네고시에이션 방법, 장치 및 시스템을 제공하며, 통신 분야, 예를 들어 단거리 통신(조종석 도메인 포함)에 적용될 수 있다. 송신측 기기와 수신측 기기 간의 키 네고시에이션 중에, 송신측 기기는 제1 정보를 사용하여 수신측 기기에 송신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘을 통지하고, 수신측 기기는 송신측 기기에 의해 지원되는 수신된 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 선택한다. 이러한 방식으로, 수신측 기기에 의해 선택되는 키 네고시에이션 알고리즘은 송신측 기기와 수신측 기기 모두에 의해 지원된다. 이는 송신측 기기가 수신측 기기에 의해 선택되는 키 네고시에이션 알고리즘을 지원하지 않기 때문에 발생하는 키 네고시에이션 알고리즘 네고시에이션 실패를 방지하고, 키 네고시에이션 효율을 향상시킨다. 또한 본 출원에서 제공되는 키 네고시에이션 방법은 중국어 암호화 알고리즘을 지원한다.

Description

키 네고시에이션 방법, 장치 및 시스템
본 출원은 통신 기술 분야에 관한 것으로, 특히 키 네고시에이션(key negotiation) 방법, 장치 및 시스템에 관한 것이며, 구체적으로 조종석 도메인(cockpit domain) 통신과 같은 단거리(short-range) 통신에 적용될 수 있다.
IKEv2(Internet Key Exchange Version 2, 인터넷 키 교환 버전 2)는 키 네고시에이션에 사용되는 프로토콜로, IPsec(Internet Protocol Security, 인터넷 프로토콜 보안) 터널을 위한 보안 프로토콜, 알고리즘, 및 키와 같은 파라미터의 네고시에이션에 사용될 수 있다.
IKEv2 네고시에이션 프로세스는 다음과 같을 수 있다: 송신측 기기(sender 에 의해 수신측 기기(receiver device)로 전송되는 네고시에이션 패킷(negotiation packet)은 송신측 기기에 의해 지원되는 적어도 하나의 키 네고시에이션 알고리즘 및 송신측 기기에 대응하는 하나의 키 네고시에이션 알고리즘의 키 네고시에이션 파라미터를 포함한다. 수신측 기기는 네고시에이션 패킷을 수신한 후, 네고시에이션 패킷에 포함된 키 네고시에이션 알고리즘들 중에서 수신측 기기가 지원하는 키 네고시에이션 알고리즘을 선택한다. 네고시에이션 패킷에 포함된 송신측 기기의 키 네고시에이션 파라미터가 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘에 대응하지 않으면, 수신측 기기는 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 포함하는 패킷을 송신측 기기에 전송하고, 그러면 송신측 기기는 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘에 기초하여 네고시에이션 패킷을 재전송한다. 결과적으로 송신측 기기와 수신측 기기 사이의 패킷 교환 횟수가 증가하여 키 네고시에이션 효율의 저하를 초래한다.
본 출원의 실시예는 키 네고시에이션 효율을 개선하기 위한 키 네고시에이션 방법, 장치 및 시스템을 제공한다.
제1 측면에 따르면, 본 출원 실시예는 키 네고시에이션(key negotiation) 방법을 제공하며, 상기 키 네고시에이션 방법은,
제1 정보를 전송하는 단계 - 상기 제1 정보는 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, N은 1보다 크거나 같은 정수이며, 상기 N개의 키 네고시에이션 알고리즘은 송신측 기기에 의해 지원되는 알고리즘임 -;
수신측 기기로부터 제2 정보를 수신하는 단계 - 상기 제2 정보는 타깃 키 네고시에이션 알고리즘을 지시하는 데 사용되고 제1 키 네고시에이션 파라미터를 포함하며, 상기 타깃 키 네고시에이션 알고리즘은 상기 N개의 키 네고시에이션 알고리즘 중에서 상기 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘이고, 구체적으로, 상기 제1 키 네고시에이션 파라미터는 상기 수신측 기기에 대응하고 상기 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이거나, 또는 상기 제1 키 네고시에이션 파라미터는 상기 수신측 기기에 의해 상기 타깃 키 네고시에이션 알고리즘에 기초하여 생성되는 키 네고시에이션 파라미터임 -; 및
상기 타깃 키 네고시에이션 알고리즘 및 상기 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성하는 단계를 포함한다.
가능한 설계에서, 상기 키 네고시에이션 방법은,
상기 수신측 기기에 제3 정보를 전송하는 단계 - 상기 제3 정보는 제2 키 네고시에이션 파라미터를 포함하고, 상기 제2 키 네고시에이션 파라미터는 상기 송신측 기기에 대응하고 상기 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터임 -를 더 포함한다.
가능한 설계에서, 상기 수신측 기기에 제3 정보를 전송하는 단계는,
상기 수신측 기기에, 무결성 보호 알고리즘(integrity protection algorithm)을 사용하여 처리된 상기 제3 정보를 전송하는 단계를 포함한다.
가능한 설계에서, 상기 제1 정보는 상기 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용되며,
상기 제1 정보는 상기 N개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 상기 식별 정보는 상기 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열되거나 캡슐화된다(encapsulated).
가능한 설계에서, 상기 제2 정보는 상기 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘을 지시하는 데 추가로 사용되고, M은 1보다 크거나 같은 정수이다.
가능한 설계에서, 상기 타깃 키 네고시에이션 알고리즘 및 상기 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성하는 단계는,
상기 타깃 키 네고시에이션 알고리즘이 상기 N개의 키 네고시에이션 알고리즘 중에서, 상기 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중 운선순위가 가장 높은 키 네고시에이션 알고리즘인 것으로 결정하는 단계; 및
상기 타깃 키 네고시에이션 알고리즘 및 상기 제1 키 네고시에이션 파라미터에 기초하여 상기 타깃 키를 생성하는 단계를 포함한다.
대안적으로, 가능한 설계에서, 상기 타깃 키 네고시에이션 알고리즘은 상기 N개의 키 네고시에이션 알고리즘 중에서, 상기 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘 중 우선순위가 가장 높은 키 네고시에이션 알고리즘이다.
가능한 설계에서, 상기 키 네고시에이션 방법은,
상기 수신측 기기로부터 상기 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 수신하는 단계를 더 포함한다.
가능한 설계에서, 상기 제2 정보는 상기 수신측 기기에 의해 지원되는 상기 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용되며,
상기 제2 정보는 상기 M개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 상기 식별 정보는 상기 M개의 키 네고시에이션 알고리즘의 우선순위에 기초하여 배열 또는 캡슐화된다.
가능한 설계에서, 상기 제3 정보는 제1 인증 데이터를 더 포함하고, 상기 제1 인증 데이터는 상기 송신측 기기가 상기 제2 정보에 대해 인증 처리를 수행한 후 획득된 인증 데이터이다. 대안적으로, 가능한 설계에서, 상기 키 네고시에이션 방법은 제1 인증 데이터를 상기 수신측 기기에 전송하는 단계를 더 포함하며, 상기 제1 인증 데이터는 상기 송신측 기기가 상기 제2 정보에 대해 인증을 수행한 후에 획득된 인증 데이터이다. 상기 제2 인증 데이터는 상기 제3 정보를 사용하여 지시될 수 있거나, 다른 정보를 사용하여 전달될 수 있다.
가능한 설계에서, 상기 키 네고시에이션 방법은,
상기 수신측 기기로부터 제4 정보를 수신하여 검증을 시도하는 단계를 더 포함하며,
상기 제4 정보는 제2 인증 데이터를 포함하고, 상기 제2 인증 데이터는 상기 수신측 기기로부터의 데이티이고 상기 제3 정보에 대해 인증 처리가 수행된 후 획득된 데이터이다.
가능한 설계에서, 상기 키 네고시에이션 방법은,
상기 수신측 기기에 의해 전송되는 제4 정보를 수신하여 검증을 시도하는 단계를 더 포함하며,
상기 제4 정보는 제3 인증 데이터를 포함하고, 상기 제3 인증 데이터는
상기 수신측 기기로부터의 데이터이고 상기 제3 정보, 및 상기 제1 정보에 지시되는 상기 N개의 키 네고시에이션 알고리즘에 대해 인증 처리가 수행된 후 획득된 데이터이다.
가능한 설계에서, 상기 제4 정보는 무결성 보호 알고리즘을 사용하여 처리된 정보이다.
가능한 설계에서, 상기 인증 처리는 미리 설정된 공유 키(shared key)에 기초하여 수행되는 인증 처리를 더 포함한다.
가능한 설계에서, 상기 제3 정보는 상기 송신측 기기에 의해 지원되는 상기 N개의 키 네고시에이션 알고리즘을 추가로 지시한다.
가능한 설계에서, 상기 제1 정보를 수신측 기기에 전송하는 단계는,
상기 제1 정보를 브로드캐스트 방식으로 상기 수신측 기기에 전송하는 단계를 포함한다.
가능한 설계에서, 상기 제1 정보를 수신측 기기에 전송하는 단계 전에, 상기 키 네고시에이션 방법은,
상기 수신측 기기로부터 제5 정보를 수신하는 단계 - 상기 제5 정보는 상기 제1 정보를 상기 수신측 기기에 전송하도록 상기 송신측 기기에 지시하는 데 사용됨 -; 및
상기 제1 정보는 전송하는 단계는,
상기 제1 정보를 유니캐스트 방식으로 상기 수신측 기기에 전송하는 단계를 포함한다.
제2 측면에 따르면, 본 출원의 실시예는 키 네고시에이션 방법을 제공하며, 상기 키 네고시에이션 방법은,
송신측 기기로부터 제1 정보를 수신하는 단계 - 상기 제1 정보는 상기 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, N은 1보다 크거나 같은 정수임 -;
타깃 키 네고시에이션 알고리즘을 결정하는 단계 - 상기 타깃 키 네고시에이션 알고리즘은 상기 N개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘임 -;
상기 타깃 키 네고시에이션 알고리즘에 기초하여 제1 키 네고시에이션 파라미터를 생성하는 단계 - 상기 제1 키 네고시에이션 파라미터는 상기 수신측 기기에 대응하고 상기 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이거나, 상기 제1 키 네고시에이션 파라미터는 상기 타깃 키 네고시에이션 알고리즘에 기초하여 상기 수신측 기기에 의해 생성되는 키 네고시에이션 파라미터임 -; 및
상기 송신측 기기에 제2 정보를 전송하는 단계 - 상기 제2 정보는 상기 타깃 키 네고시에이션 알고리즘을 지시하고 상기 제1 키 네고시에이션 파라미터를 포함함-를 포함한다.
가능한 설계에서, 상기 키 네고시에이션 방법은, 상기 송신측 기기로부터 제3 정보를 수신하는 단계 - 상기 제3 정보는 제2 키 네고시에이션 파라미터를 지시하고, 상기 제2 키 네고시에이션 파라미터는 상기 송신측 기기에 대응하고 상기 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터임 -; 및
상기 제2 키 네고시에이션 파라미터 및 상기 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성하는 단계를 더 포함한다.
가능한 설계에서, 상기 제3 정보는 무결성 보호 알고리즘을 사용하여 처리된 것이다.
가능한 설계에서, 상기 제2 정보는 상기 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 추가로 지시하며,
상기 제2 정보는 상기 M개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 상기 식별 정보는 상기 M개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화된다.
가능한 설계에서, 상기 제1 정보는 상기 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용되며, 상기 제1 정보는 상기 N개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 상기 식별 정보는 상기 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화된다.
가능한 설계에서, 상기 타깃 키 네고시에이션 알고리즘을 결정하는 단계는,
상기 N개의 키 네고시에이션 알고리즘 중에서 우선순위가 가장 높은 키 네고시에이션 알고리즘을 상기 타깃 키 네고시에이션 알고리즘으로 결정하는 단계를 포함한다.
대안적으로, 가능한 설계에서, 상기 타깃 키 네고시에이션 알고리즘은 상기 N개의 키 네고시에이션 중에서, 상기 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중 우선순위가 가장 높은 키 네고시에이션 알고리즘이다.
가능한 설계에서, 상기 키 네고시에이션 방법은,
상기 송신측 기기로부터 제1 인증 데이터를 수신하는 단계 - 상기 제1 인증 데이터는 상기 송신측 기기가 상기 제2 정보에 대해 인증 처리를 수행한 후 획득된 인증 데이터임 -를 더 포함한다. 대안적으로, 상기 제3 정보는 제1 인증 데이터를 더 포함하고, 상기 제1 인증 데이터는 상기 송신측 기기가 상기 제2 정보에 대해 인증을 수행한 후 획득된 인증 데이터이다. 상기 제2 인증 데이터는 제3 정보를 사용하여 지시될 수 있거나, 다른 정보를 사용하여 전달될 수 있다.
가능한 설계에서, 상기 키 네고시에이션 방법은, 상기 송신측 기기에 제4 정보를 전송하는 단계 - 상기 제4 정보는 제2 인증 데이터를 포함하고, 상기 제2 인증 데이터는 상기 수신측 기기가 상기 제3 정보에 대해 인증 처리를 수행한 후 획득된 데이터임 -를 더 포함한다.
가능한 설계에서, 상기 송신측 기기에 제4 정보를 전송하는 단계 - 상기 제4 정보는 제3 인증 데이터를 포함하고, 상기 제3 인증 데이터는 상기 수신측 기기가 상기 제3 정보, 및 상기 제1 정보에 지시되는 상기 N개의 키 네고시에이션 알고리즘에 대해 인증 처리를 수행한 후 획득된 데이터임 -를 더 포함한다.
가능한 설계에서, 상기 송신측 기기에 제4 정보를 전송하는 단계는,
상기 송신측 기기에, 무결성 보호 알고리즘을 사용하여 처리된 상기 제4 정보를 전송하는 단계를 포함한다.
가능한 설계에서, 상기 인증 처리는 미리 설정된 키에 기초하여 수행되는 인증 처리를 더 포함한다.
가능한 설계에서, 상기 제3 정보는 상기 송신측 기기에 의해 지원되는 상기 N개의 키 네고시에이션 알고리즘을 추가로 지시한다.
가능한 설계에서, 상기 송신측 기기로부터 제1 정보를 수신하는 단계 전에, 상기 키 네고시에이션 방법은,
상기 송신측 기기에 제5 정보를 전송하는 단계 - 상기 제5 정보는 상기 제1 정보를 상기 수신측 기기에 전송하도록 상기 송신측 기기에 지시하는 데 사용됨 -를 더 포함한다.
제3 측면에 따르면, 본 출원의 실시예는 키 네고시에이션 장치를 제공하며, 상기 키 네고시에이션 장치는,
제1 측면에서의 키 네고시에이션 방법을 구현하도록 구성된 하나 이상의 모듈, 구성요소, 또는 회로; 또는
제2 측면에서의 키 네고시에이션 방법을 구현하도록 구성된 하나 이상의 모듈, 구성요소, 또는 회로를 포함한다.
제4 측면에 따르면, 본 출원의 실시예는 적어도 하나의 프로세서 및 메모리를 포함하는 키 네고시에이션 장치를 제공한다. 상기 적어도 하나의 프로세서는 상기 메모리 내의 컴퓨터 프로그램을 실행하여, 상기 키 네고시에이션 장치가 본 출원의 실시예에서 제1 측면 또는 제2 측면에 따른 키 네고시에이션 방법을 수행하도록 한다.
제5 측면에 따르면, 본 출원의 실시예는 키 네고시에이션 장치를 제공한다. 상기 키 네고시에이션 장치는 하나 이상의 프로세서 및 통신 유닛을 포함한다. 하나 이상의 프로세서는 본 출원의 실시예에서 제1 측면 또는 제2 측면에 따른 키 네고시에이션 방법을 수행할 때 통신 장치를 지원하도록 구성된다. 통신 유닛은 수신 기능 및/또는 송신 기능을 구현하기 위해 다른 장치와 통신할 때 키 네고시에이션 장치를 지원하도록 구성된다.
선택적으로, 상기 키 네고시에이션 장치는 하나 이상의 메모리를 더 포함할 수 있다. 상기 메모리는 상기 프로세서에 결합되도록 구성되며, 상기 메모리는 상기 키 네고시에이션 장치에 필요한 프로그램 명령어 및/또는 데이터를 저장한다. 상기 하나 이상의 메모리는 상기 프로세서와 통합될 수 있거나, 상기 프로세서와 독립적으로 배치될 수 있다. 본 출원에서는 이를 한정하지 않는다.
상기 키 네고시에이션 장치는 대안적으로 칩일 수 있다. 상기 통신 유닛은 통신 칩의 입출력 회로 또는 인터페이스일 수 있다.
제6 측면에 따르면, 본 출원의 실시예는 컴퓨터 프로그램을 저장하도록 구성된, 컴퓨터로 판독 가능한 저장 매체를 제공한다. 상기 컴퓨터 프로그램은 본 출원의 실시예의 제1 측면 또는 제2 측면에 따른 키 네고시에이션 방법을 수행하는 데 사용되는 명령어를 포함한다.
제7 측면에 따르면, 본 출원의 실시예는 컴퓨터 프로그램 제품을 제공한다. 상기 컴퓨터 프로그램 제품은 컴퓨터 프로그램 코드를 포함하고, 상기 컴퓨터 프로그램 코드가 컴퓨터에서 실행될 때, 상기 컴퓨터는 본 출원의 실시예의 제1 측면 또는 제2 측면에 따른 키 네고시에이션 방법을 수행할 수 있게 된다.
제8 측면에 따르면, 본 출원의 실시예는 키 네고시에이션 시스템을 제공하며, 상기 키 네고시에이션 시스템은 본 출원의 실시예의 제1 측면에 따른 키 네고시에이션 방법을 수행하도록 구성된 키 네고시에이션 장치 및 본 출원의 실시예의 제2 측면에 따른 키 네고시에이션 방법을 수행하도록 구성된 키 네고시에이션 장치를 포함한다.
제9 측면에 따르면, 본 출원의 실시예는 단말기를 제공한다. 상기 단말기는 드론, 무인 운송 차량, 자동차, 로봇 등을 포함한, 운송 차량(transportation vehicle) 또는 지능형 기기일 수 있다. 운송 차량 또는 지능형 기기는 제3 측면 및/또는 제4 측면 및/또는 제5 측면에 따른 키 네고시에이션 장치를 포함한다.
본 출원의 실시예는 키 네고시에이션 방법, 장치 및 시스템을 제공한다. 송신측 기기와 수신측 기기 간의 키 네고시에이션 중에, 송신측 기기는 제1 정보를 사용하여 수신측 기기에 송신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘을 통지한다. 수신측 기기는 송신측 기기에 의해 지원되는 수신된 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원하는 키 네고시에이션 알고리즘을 선택한다. 이러한 방식으로 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘은 송신측 기기와 수신측 기기 모두에 의해 지원된다. 이는 송신측 기기가 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘을 지원하지 않기 때문에 발생하는 키 네고시에이션 알고리즘 네고시에이션 실패를 방지하고, 키 네고시에이션 효율성을 향상시킨다. 또한, 본 출원의 실시예에서 제공되는 키 네고시에이션 방법은 중국어 암호화 알고리즘을 지원한다.
도 1은 본 출원의 일 실시예에 따른 애플리케이션 시나리오의 개략도이다.
도 2는 본 출원의 실시예에 적용 가능한 통신 장치의 하드웨어 구성의 개략도이다.
도 3은 키 네고시에이션 방법의 흐름도이다.
도 4는 본 출원의 일 실시예에 따른 키 네고시에이션 방법의 흐름도이다.
도 5는 본 출원의 다른 실시예에 따른 키 네고시에이션 방법의 흐름도이다.
도 6은 본 출원의 다른 실시예에 따른 키 네고시에이션 방법의 흐름도이다.
도 7은 본 출원의 다른 실시예에 따른 키 네고시에이션 방법의 흐름도이다.
도 8은 본 출원의 일 실시예에 따른 키 네고시에이션 장치의 구성 개략도이다.
도 9는 본 출원의 다른 실시예에 따른 키 네고시에이션 장치의 구성 개략도이다.
도 10은 본 출원의 다른 실시예에 따른 키 네고시에이션 장치의 구성 개략도이다. 그리고
도 11은 본 출원의 일 실시예에 따른 키 네고시에이션 시스템의 구성 개략도이다.
본 출원의 구현 부분에서 사용한 용어는 단지 본 출원의 구체적인 실시예를 설명하기 위해 사용된 것으로, 본 출원을 한정하려는 의도가 아니다.
본 출원의 실시예는 다양한 유형의 통신 시스템에서 사용될 수 있다. 도 1은 본 출원의 실시예에 따른 애플리케이션 시나리오의 개략도이다. 도 1에 도시된 통신 시스템은 주로 송신측 기기(11)와 수신측 기기(12)를 포함한다. 송신측 기기(11)는 통신의 개시자이고, 수신측 기기(12)는 통신의 수신자이다.
도 1에 도시된 통신 시스템에 포함된 송신측 기기(11) 또는 수신측 기기(12)는 송수신기 기능을 가진 임의의 기기일 수 있으며, 롱텀 에볼루션(long term evolution, LTE) 시스템에서의 진화된 노드B(NodeB, eNB 또는 e-NodeB, evolved NodeB), 새로운 라디오(new radio, NR) 시스템에서의 gNodeB(gNodeB 또는 gNB) 또는 송수신 포인트(transmission receive point/transmission receipt point, TRP), 3세대 파트너십 프로젝트(the 3rd generation partnership project, 3GPP)에 의해 후에 진화되는 기지국, 무선 통신 시스템(예: Wi-Fi 또는 Bluetooth)의 액세스 노드, 무선 중계 노드, 무선 백홀 노드, 범용 이동 통신 기술에서의 데이터 송신 기기(예: 라우터, 리피터, 범용 이동 브리지 또는 교환기)를 포함하지만, 이에 한정되지 않는다. 기지국은 매크로 기지국, 마이크로 기지국, 피코셀 기지국, 소형 셀, 중계국, 벌룬국(balloon station) 등일 수 있다.
송신측 기기(11) 또는 수신측 기기(12)는 대안적으로 클라우드 무선 액세스 네트워크(cloud radio access network, CRAN) 시나리오에서의; 무선 제어기, 중앙집중형 유닛(centralized unit, CU) 및/또는 분산형 유닛(distributed unit, DU)일 수 있다.
송신측 기기(11) 또는 수신측 기기(12)는 대안적으로 서버, 웨어러블 기기(wearable device)(예: 스마트 워치, 스마트 밴드 또는 만보계), 기계 통신 기기 또는 차량 탑재형 기기(vehicle-mounted device)일 수 있다.
송신측 기기(11) 또는 수신측 기기(12)는 대안적으로 이동 전화(mobile phone), 태블릿 컴퓨터(Pad), 무선 송수신 기능을 구비한 컴퓨터, 헤드셋, 스피커, 가상 현실(virtual reality, VR) 단말 기기, 증강 현실(augmented reality, AR) 단말 기기, 기계형 통신(machine type communication, MTC)에서의 단말기, 산업용 제어(industrial control)에서의 단말기, 차량 탑재형 단말 기기, 자율 주행(self driving)에서의 단말기, 보조 주행(assisted driving)에서의 단말 기기, 원격 의료(remote medical)에서의 단말기, 스마트 그리드(smart grid)에서의 단말기, 교통 안전(transportation safety)에서의 단말기, 스마트 시티(smart city)에서의 단말기, 스마트 홈(smart home)에서의 단말기 등일 수 있다.
송신측 기기(11) 또는 수신측 기기(12)는 대안적으로 차량 조종석 도메인 장치, 또는 차량 조종석 도메인 기기 내의 모듈(예: 조종석 도메인 제어기(cockpit domain controller, CDC), 카메라, 스크린, 마이크, 스피커, 전자 키 또는 수동 진입 수동 시동 시스템 제어기(passive entry passive start system controller))일 수 있다.
애플리케이션 시나리오는 이 애플리케이션의 실시예에서 한정되지 않는다. 때로, 단말기는 또한 단말 기기, 사용자 장비(user equipment, UE), 액세스 단말 기기, 차량 탑재형 단말기, 산업용 제어 단말기, UE 유닛, UE국, 이동국, 이동 콘솔(mobile console), 원격국, 원격 단말 기기, 이동 기기, UE 단말 기기, 무선 통신 기기, 기계 단말기, UE 에이전트, UE 장치 등으로 지칭될 수 있다. 단말기는 고정식이거나 이동식일 수 있다.
도 1에 도시된 통신 시스템(10)은 단지 예시로서 사용된 것이며, 본 출원의 기술적 방안을 한정하기 위한 것이 아니다. 당업자라면 구체적인 구현 프로세스에서 통신 시스템(10)이 다른 장치를 더 포함할 수 있고, 송신측 기기의 수량와 수신측 기기의 수량는 구체적인 요구사항에 따라 결정될 수 있으며, 이는 한정되지 않는다는 것을 이해해야 한다.
선택적으로, 본 출원의 이 실시예에서 도 1의 기기, 예를 들어 송신측 기기(11) 및 수신측 기기(12)는 각각 장치 내의 하나의 기능 모듈일 수 있다. 기능 모듈은 하드웨어 기기의 요소, 예를 들어 단말 기기 또는 네트워크 기기의 칩 또는 통신 부품일 수 있거나, 하드웨어에서 실행되는 소프트웨어 기능 모듈 또는 플랫폼(예: 클라우드 플랫폼)에서 인스턴스화된, 가상화된 기능일 수 있음을 이해할 수 있다.
예를 들어, 도 1의 기기 각각은 도 2의 통신 장치(200)를 사용하여 구현될 수 있다. 통신 장치(200)는 기기, 또는 기기 내의 칩 또는 집적 회로일 수 있다. 도 2는 본 출원의 실시예에 적용 가능한 통신 장치의 하드웨어 구성의 개략도이다. 통신 장치(200)는 적어도 하나의 프로세서(201) 및 적어도 하나의 통신 인터페이스(204)를 포함할 수 있다. 선택적으로, 통신 장치(200)는 통신 라인(202) 및 메모리(203) 중 적어도 하나를 더 포함할 수 있다.
프로세서(201)는 범용 중앙 처리 장치(central processing unit, CPU), 마이크로프로세서, 주문형 반도체(application-specific integrated circuit, ASIC) 또는 본 출원의 방안에서 프로그램의 실행을 제어하도록 구성되는 하나 이상의 집적 회로일 수 있다.
통신 라인(202)은, 예를 들어 버스와 같은, 전술한 구성요소 사이에서 정보가 송신되는 채널을 포함할 수 있다.
통신 인터페이스(204)는 송수신기와 같은 임의의 장치를 사용하여 다른 기기 또는 통신 네트워크와 통신하는 데 사용되며, 예를 들어 이더넷(Ethernet) 인터페이스, 무선 액세스 네트워크(radio access network, RAN) 인터페이스, 또는 무선 근거리 통신망(wireless local area network, WLAN) 인터페이스이다.
메모리(203)는 판독 전용 메모리(read-only memory, ROM) 또는 정적 정보 및 명령어를 저장할 수 있는 다른 유형의 정적 저장 기기, 또는 랜덤 액세스 메모리(random access memory, RAM) 또는 정보 및 명령어를 저장할 수 있는 다른 유형의 동적 저장 기기, 전기적으로 소거 가능한 프로그래밍 가능한 판독 전용 메모리(electrically erasable programmable read-only memory, EEPROM), 컴팩트 디스크 판독 전용 메모리(compact disc read-only memory, CD-ROM) 또는 다른 컴팩트 디스크 스토리지, 광 디스크 스토리지(압축 광 디스크, 레이저 디스크, 광 디스크, 디지털 다목적 광 디스크, Blu-ray 디스크 등 포함), 자기 디스크 저장 매체 또는 다른 자기 저장 기기, 또는 명령어 또는 데이터 구조의 형태로 예상되는 프로그램 코드를 실어 전달하거나 저장할 수 있고 컴퓨터가 액세스할 수 있는 기타 매체일 수 있다. 그러나 메모리(203)는 이에 한정되지 않는다. 메모리는 독립적으로 존재할 수 있고, 통신 라인(202)을 통해 프로세서에 연결된다. 메모리는 대안적으로 프로세서와 통합될 수 있다. 본 출원의 이 실시예에서 제공되는 메모리는 일반적으로 비휘발성일 수 있다. 메모리(203)는 본 출원의 방안을 실행하기 위한 컴퓨터로 실행 가능한 명령어를 저장하도록 구성되며, 프로세서(201)는 그 실행을 제어한다. 프로세서(201)는 메모리(203)에 저장된, 컴퓨터로 실행 가능한 명령어를 실행하여 본 출원의 실시예에서 제공되는 방법을 구현하도록 구성된다.
선택적으로, 본 출원의 이 실시예에서 컴퓨터로 실행 가능한 명령어는 애플리케이션 프로그램 코드라고도 지칭될 수 있다. 이는 본 출원의 본 실시예에서 특별히 한정되지 않는다.
구체적인 구현 시에, 일 실시예에서, 프로세서(201)는 하나 이상의 CPU, 예를 들어 도 2의 CPU 0 및 CPU 1을 포함할 수 있다.
구체적인 구현 시에, 일 실시예에서, 통신 장치(200)는 복수의 프로세서, 예를 들어 도 2의 프로세서(201) 및 프로세서(207)를 포함할 수 있다. 각각의 프로세서는 단일 CPU(single-CPU) 프로세서이거나 다중 CPU(multi-CPU) 프로세서일 수 있다. 여기서 프로세서는 데이터(예: 컴퓨터 프로그램 명령어)를 처리하기 위한 하나 이상의 기기, 회로 및/또는 처리 코어일 수 있다.
구체적인 구현 시에, 일 실시예에서, 통신 장치(200)는 출력 기기(205) 및 입력 기기(206)를 더 포함할 수 있다. 출력 기기(205)는 프로세서(201)와 통신하고, 복수의 방식으로 정보를 표시할 수 있다. 예를 들어, 출력 기기(205)는 액정 디스플레이(liquid crystal display, LCD), 발광다이오드(light emitting diode, LED) 디스플레이 기기, 음극선관(cathode ray tube, CRT) 디스플레이 기기, 프로젝터(projector) 등일 수 있다. 입력 기기(206)는 프로세서(201)와 통신하고, 복수의 방식으로 사용자 입력을 수신할 수 있다. 예를 들어, 입력 기기(206)는 마우스, 키보드, 터치스크린 기기 또는 감지 기기일 수 있다.
구체적인 구현 시에, 통신 장치(200)는 데스크톱 컴퓨터, 휴대형 컴퓨터, 네트워크 서버, 개인 정보 단말기(personal digital assistant, PDA), 이동 전화, 태블릿 컴퓨터, 무선 단말 기기, 내장형 기기(embedded device), 또는 도 2에서와 유사한 구성을 갖는 기기일 수 있다. 통신 장치(200)의 유형은 본 출원의 이 실시예에서 한정되지 않는다.
도 1 및 도 2를 참조하여 가능한 키 네고시에이션 방법을 이하에서 구체적으로 설명한다. 다음의 실시예들에서 송신측 기기와 수신측 기기는 도 2에 도시된 구성요소들을 포함할 수 있다.
도 3에는 송신측 기기와 수신측 기기 사이의 키 네고시에이션을 위한 방법이 도시되어 있으며, 이 키 네고시에이션 방법에는 다음 단계를 포함한다.
S301: 송신측 기기는 네고시에이션 패킷을 수신측 기기에 전송한다. 이에 따라, 수신측 기기는 네고시에이션 패킷을 수신한다.
네고시에이션 패킷은 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, 송신측 기기의 키 네고시에이션 파라미터를 포함한다. 키 네고시에이션 파라미터는 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중 하나에 기초하여 획득된다.
이 실시예에서, 송신측 기기는 송신측 기기에 의해 지원되는 임의의 키 네고시에이션 알고리즘을 타깃 키를 생성하기 위한 알고리즘으로서 사용하고, 선택된 키 네고시에이션 알고리즘에 기초하여 키 네고시에이션 파라미터를 획득한 다음, 키 네고시에이션 파라미터를 네고시에이션 패킷에 추가하고, 그 네고시에이션 패킷을 수신측 기기에 전송한다. 이러한 방식으로 수신측 기기는 네고시에이션 패킷을 사용함으로써, 송신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘을 결정할 수 있으며, 수신측 기기에 의해 타깃 키를 생성하는 데 사용하는 송신측 기기의 키 네고시에이션 파라미터를 직접 획득할 수 있다.
S302: 수신측 기기는 타깃 키 네고시에이션 알고리즘을 결정하고, 타깃 네고시에이션 알고리즘에 기초하여 수신측 기기의 키 네고시에이션 파라미터를 생성한다.
수신측 기기의 키 네고시에이션 파라미터는 타깃 키 네고시에이션 알고리즘에 기초하여 획득된다.
이 실시예에서, 수신측 기기는 타깃 키를 생성하기 위한 알고리즘으로서, 네고시에이션 패킷에 기초하여 획득되는, 송신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘 중에서 임의의 키 네고시에이션 알고리즘을 선택하고, 선택한 키 네고시에이션 알고리즘에 기초하여 키 네고시에이션 파라미터를 획득한다. 타깃 키 네고시에이션 알고리즘을 선택하는 프로세스에서, 수신측 기기는 송신측 기기에 의해 어떤 키 네고시에이션 알고리즘을 선택되었는지를 고려하지 않는다. 다시 말해, 송신측 기기와 수신측 기기는 타깃 키를 생성하는 데 사용되는 각자의 키 네고시에이션 알고리즘을 선택할 때 서로 독립적이다. 따라서, 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘과 송신측 기기에 의해 선택된 키 네고시에이션 알고리즘이 매칭되지 않는 상황이 발생하기 쉽다. 결과적으로, 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘이 송신측 기기의 키 네고시에이션 파라미터와 매칭되지 않는다.
S303: 송신측 기기의 키 네고시에이션 파라미터가 타깃 키 네고시에이션 알고리즘과 매칭되면, 수신측 기기는 네고시에이션 응답 패킷을 송신측 기기에 전송한다.
네고시에이션 응답 패킷은 타깃 키 네고시에이션 알고리즘을 지시하는 데 사용되고 수신측 기기의 키 네고시에이션 파라미터를 포함한다.
S304: 수신측 기기는 송신측 기기의 키 네고시에이션 파라미터, 및 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성한다.
S305: 송신측 기기는 수신측 기기의 키 네고시에이션 파라미터, 및 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성한다.
이 실시예에서, 수신측 기기와 송신측 기기가 타깃 키를 생성하는 프로세스는 다음과 같다:
DH(Diffie-Hellman) 알고리즘이 예로서 사용된다. 2개의 노드가 동일한 비교적 큰 소수(prime number) p와 동일한 난수(random number) g(즉, 소수 p와 난수 g는 송신측 기기와 수신측 기기 간의 공개 키임)를 사용하여, 각각 난수 a와 b를 생성한다(즉, 난수 a는 수신측 기기의 개인 키이고, 난수 b는 송신측 기기의 개인 키임). 소수 p, 난수 g, 그리고 난수 a 및 b는 모두 키 네고시에이션 알고리즘의 파라미터로 간주될 수 있다. 수신측 기기는 g의 모듈러스(modulus, mod) P를 a 거듭제곱하여 생성되는 값 A(즉, A = ga mod p이고, A는 제1 키 네고시에이션 알고리즘 파라미터임)를 송신측 기기에 전송하고, 그러면 송신측 기기는 수신된 값 A를 b 거듭제곱하여 비밀 값 KE를 생성한다. 송신측 기기는 g mod P를 b 거듭제곱하여 생성한 값 B(즉, B = gb mod p이고, B는 제2 키 네고시에이션 알고리즘 파라미터임)를 수신측 기기에 전송하고, 그러면 수신측 기기는 값 B를 a의 거듭제곱하여 비밀 값 KE를 생성한다. KE = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p이므로, 송신측 기기와 수신측 기기에 의해 생성된 비밀값 KE는 동일하다, 즉, 타깃 키가 동일하다.
현재 기술에서는 수신측 기기와 송신측 기기가 수신측 기기와 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 각자 선택하기 때문에, 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘은 개시측 기기(initiator device)의 키 네고시에이션 파라미터와 매칭되하지 않을 가능성이 높으며, 결과적으로 네고시에이션에 실패한다는 것을 학습할 수 있다. 수신측 기기가 선택한 키 네고시에이션 알고리즘이 개시측 기기의 키 네고시에이션 파라미터와 매칭되지 않는 경우, 수신측 기기는 개시측 기기에 패킷을 전송하여, 개시측 기기가 네고시에이션 패킷을 재전송하도록 하여, 전술한 단계를 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘이 개시측 기기의 키 네고시에이션 파라미터와 매칭될 때까지 반복할 필요가 있다. 결과적으로, 송신측 기기와 수신측 기기 사이의 패킷 교환 횟수가 증가하여 키 네고시에이션 효율을 저하시킨다.
전술한 문제를 해결하기 위해, 본 출원의 실시예는 송신측 기기가 수신측 기기에게 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 통지하고, 수신측 기기가 키 네고시에이션 알고리즘들 중에서 수신측 기기 및 수신측 기기 모두에 의해 지원되는 키 네고시에이션 알고리즘을 선택하고, 선택된 키 네고시에이션 알고리즘과 수신측 기기에 대응하고 키 네고시에이션 알고리즘에 기초하여 생성된 키 네고시에이션 파라미터를 송신측 기기에 전송하는 것을 제안한다. 송신측 기기와 수신측 기기가 송신측 기기와 수신측 기기에 의해 지원하는 키 네고시에이션 알고리즘을 각자 선택하는 방법과 비교할 때, 본 출원의 방법은 송신측 기기와 수신측 기기에 의해 선택되는 키 네고시에이션 알고리즘이 매칭되지 않는 문제를 해결하여, 키 네고시에이션 효율을 향상시킨다.
본 출원에서 제안하는 키 네고시에이션 방법을 구체적인 실시예를 참조하여 아래에서 상세히 설명한다.
도 4는 본 출원의 일 실시예에 따른 키 네고시에이션 방법의 흐름도이다. 도 4에 도시된 바와 같이, 본 출원의 이 실시예에서의 키 네고시에이션 방법은 다음 단계를 포함한다.
S401: 송신측 기기는 제1 정보를 수신측 기기에 전송한다. 이에 상응하여, 수신측 기기는 제1 정보를 수신한다.
제1 정보는 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, N은 1보다 크거나 같은 정수이며, N개의 키 네고시에이션 알고리즘은 송신측 기기에 의해 지원된다.
예를 들어, 제1 정보는 네고시에이션 패킷에 실려 전달된다. 구체적으로, 통신 시스템의 두 기기가 데이터 송신을 수행하기 전에 두 기기는 키 네고시에이션을 수행하여 타깃 키를 획득하여, 송신되는 데이터를 타깃 키에 기초하여 암호화(encrypt) 및 암호 해독(decrypt)할 필요가 있다. 송신측 기기와 수신측 기기가 키 네고시에이션을 수행하는 경우, 개시측 기기는 네고시에이션 패킷을 수신측 기기에 전송한다.
제1 정보는 다음 방식 중 어느 하나로 N개의 키 네고시에이션 알고리즘을 지시할 수 있다:
방식 1: 제1 정보는 개시측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘의 식별자를 포함하여, 수신측 기기가 개시측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 획득하도록 한다.
표 1에 나타낸 알고리즘의 식별자는 예로서 사용된다. 제1 정보가 ID 1, ID 3, ID 5를 포함하는 경우, 제1 정보는 알고리즘 1, 알고리즘 3, 알고리즘 5를 지시하는 데 사용된다. 제1 정보가 ID 2 및 ID 4를 포함하는 경우, 제1 정보는 알고리즘 2 및 알고리즘 4를 지시하는 데 사용된다.
[표 1]
Figure pct00001
표 1은 제1 정보에 의해 지시되는 키 네고시에이션 알고리즘 식별자의 일례에 불과하다는 것을 이해할 수 있다. 구체적인 애플리케이션에서, 제1 정보에 의해 지시되는 키 네고시에이션 알고리즘은 대안적으로 다른 형태일 수 있으며, 이는 한정되지 않는다.
방식 2: 제1 정보는 비트 시퀀스를 포함하고, 비트 시퀀스에서의 1비트는 하나의 알고리즘에 대응하며, 비트 시퀀스에서의 비트 각각은 제1 정보가 그 비트에 대응하는 알고리즘을 지시하는지를 지시하기 위해 0 또는 1일 수 있다. 예를 들어, 비트가 1이면, 제1 정보는 그 비트에 대응하는 알고리즘을 지시하고; 비트가 0이면, 제1 정보는 그 비트에 대응하는 알고리즘을 지시하지 않음을 지시할 수 있다.
예를 들어, 제1 정보는 5비트를 포함하고, 5비트 중에서 첫 번째(제1) 비트는 알고리즘 1에 대응하고, 두 번째(제2) 비트는 알고리즘 2에 대응하고, 세 번째(제3) 비트는 알고리즘 3에 대응하고, 네 번째(제4) 비트는 알고리즘 4에 대응하고, 다섯 번째(제5) 비트는 알고리즘 5에 대응한다. 5비트가 01010이면, 제1 정보가 알고리즘 2와 알고리즘 4를 지시하는 데 사용됨을 지시할 수 있다. 5비트가 11001이면, 제1 정보가 알고리즘 1, 알고리즘 2 및 알고리즘 5를 지시하는 데 사용됨을 지시할 수 있다.
선택적으로, 제1 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용된다. 제1 정보에 포함된 N개의 키 네고시에이션 알고리즘의 식별 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화된다.
예를 들어, 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘은 우선순위의 내림차순으로 배열되거나, 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘은 우선순위의 오름차순으로 배열된다. 예를 들어, 표 2에 나타낸 바와 같이, 제1 정보는 알고리즘 1, 알고리즘 2, 알고리즘 3, 알고리즘 4, 및 알고리즘 5를 지시하는 데 사용된다. 알고리즘 4의 우선순위는 알고리즘 2의 우선순위보다 높고, 알고리즘 2의 우선순위는 알고리즘 5의 우선순위보다 높고, 알고리즘 5의 우선순위는 알고리즘 1의 우선순위보다 높으며, 알고리즘 1의 우선순위는 알고리즘 3의 우선순위보다 높다.
[표 2]
Figure pct00002
선택적으로, 송신측 기기는 네고시에이션 패킷을 브로드캐스트 방식으로 수신측 기기로 전송하므로, 추가적인 패킷 교환이 필요하지 않고 키 네고시에이션 효율이 향상된다. 또한, 브로드캐스트 방식으로 네고시에이션 패킷을 전송하므로, 복수의 수신측 기기가 네고시에이션 패킷을 수신할 수 있고, 패킷 교환 횟수를 더욱 감소시킬 수 있다.
제1 정보를 전송하는 과정에서, 제1 정보는 제3자 기기에 의해 가로채일 가능성이 있다는 점에 유의해야 한다. 제3자 기기가 제1 정보를 위변조하여(temper) 위변조된 제1 정보를 수신측 기기에 전송한다. 이 경우, 수신측 기기에 의해 수신된 제1 정보에 지시되는, 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘과 송신측 기기에 의해 전송되는 제1 정보에 지시되는, 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘 간에는 차이가 있을 수 있다. 이 경우, 수신측 기기에 의해 수신되는 제1 정보에 지시되는, 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘은 K개의 키 네고시에이션 알고리즘이며, K는 0보다 크거나 같은 정수이다.
수신측 기기에 의해 수신되는 제1 정보에 지시되는, 송신측 기기에 의해 지원되는 K개의 키 네고시에이션 알고리즘 및 송신측 기기에 의해 전송되는 제1 정보에 지시되어 있는, 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘은 적어도 다음 세 가지 관계를 가짐을 이해할 수 있다.
제1 관계: K는 N과 같고, 수신측 기기에 의해 수신되는 제1 정보에 지시되는, 송신측 기기에 의해 지원되는 K개의 키 네고시에이션 알고리즘은 송신측 기기에 의해 전송되는 제1 정보에 지시되는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘과 일대일 대응이다.
제2 관계: K는 N과 같지만, 수신측 기기에 의해 수신되는 제1 정보에 지시되는, 송신측 기기에 의해 지원되는 K개의 키 네고시에이션 알고리즘은 송신측 기기에 의해 전송되는 제1 정보에 지시되는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘과 일대일 대응이 아니다.
제3 관계: K는 N과 같지 않다.
K개의 키 네고시에이션 알고리즘과 N개의 키 네고시에이션 알고리즘 간의 관계가 제1 관계이면, 송신측 기기에 의해 전송되는 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘이 위변조되지 않았음을 지시한다. K개의 키 네고시에이션 알고리즘과 N개의 키 네고시에이션 알고리즘 간의 관계가 제2 관계 또는 제3 관계이면, 송신측 기기에 의해 전송되는 제1 정보가 위변조되었음을 지시한다.
선택적으로, S401 이전에, 본 출원에에 설명된 키 네고시에이션 알고리즘은 수신측 기기로부터 제5 정보를 수신하는 단계를 더 포함하며, 여기서 제5 정보는 송신측 기기가 제1 정보를 전송하도록 지시하는 데 사용된다. 이에 따라, S401의 가능한 구현은 제1 정보를 유니캐스트 방식으로 수신측 기기에 전송하는 것이다. 구체적으로, 수신측 기기가 송신측 기기와 통신이 필요한 경우, 수신측 기기는 먼저 정보, 즉 제5 정보를 송신측 기기에 전송할 수 있다. 제5 정보는 송신측 기기가 제1 정보를 수신측 기기에 전송하도록 지시하는 데 사용된다. 이러한 방식으로, 송신측 기기는 제5 정보를 수신한 후, 수신측 기기에 제1 정보를 전송한다. 송신측 기기는 유니캐스트 방식으로 제1 정보를 전송한다.
선택적으로, 제5 정보는 지시 식별자를 실어 전달한다. 예를 들어, 지시 식별자는 송신측 기기와 수신측 기기에 의해 미리 네고시에이션될 수 있다. 수신측 기기는 송신측 기기가 제1 정보를 수신측 기기에 전송하도록 지시할 필요가 있는 경우, 제5 정보는 미리 네고시에이션된 지시 식별자를 포함한다. 송신측 기기는 지시 식별자를 포함하는 제5 정보를 수신한 후, 수신측 기기에 제1 정보를 전송한다.
선택적으로, 제5 정보는 빈(empty) 타깃 키 네고시에이션 알고리즘을 포함한다. 예를 들어, 키 네고시에이션 알고리즘을 지시하는 데 사용되는 비트의 식별자가 "널(null)"이다. 수신측 기기는 송신측 기기가 제1 정보를 수신측 기기에 전송하도록 지시할 필요가 있는 경우, 제5 정보는 빈 타깃 키 네고시에이션 알고리즘을 포함하고, 송신측 기기는 빈 타깃 키 네고시에이션 알고리즘을 포함하는 제5 정보를 수신한 후, 수신측 기기에 제1 정보를 전송한다.
S402: 수신측 기기는 타깃 키 네고시에이션 알고리즘을 결정한다.
타깃 키 네고시에이션 알고리즘은 N개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘이다.
이 실시예에서, 수신측 기기는 제1 정보에 있는 N개의 키 네고시에이션 알고리즘 중에서, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로서 결정한다.
선택적으로, 수신측 기기는 수신된 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여, N개의 키 네고시에이션 알고리즘 중에 있고 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중 우선순위가 가장 높은 키 네고시에이션 알고리즘을 결정하고, 그 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로 사용한다. 여기서 가장 높은 우선순위는 송신측 기기에 대응하는 키 네고시에이션 알고리즘의 우선순위 시퀀스에 기초하여 결정된다는 점에 유의해야 합니다.
예를 들어, 표 3은 수신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘을 나타낸다. 수신기 장치에 의해 수신되는 제1 정보는 표 1에 나타낸 5개의 키 네고시에이션 알고리즘을 지시한다. 제1 정보에서 5개의 알고리즘의 식별자는 우선순위의 내림차순으로 배열된다. 표 1 내지 표 3로부터 알 수 있듯이, 5개의 키 네고시에이션 알고리즘에서, 수신기 장치는 알고리즘 2, 알고리즘 3 및 알고리즘 5를 지원하고, 알고리즘 2의 우선순위는 알고리즘 3 및 알고리즘 5의 우선순위보다 높다. 이 경우, 수신측 기기는 알고리즘 2를 타깃 네고시에이션 알고리즘으로 선택한다.
[표 3]
Figure pct00003
선택적으로, 수신측 기기는 수신된 제1 정보에 지시된 N개의 키 네고시에이션 알고리즘에 기초하여, N개의 키 네고시에이션 알고리즘에 있고 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중에서 수신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘을 결정하고, 그 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로 사용한다. 즉, N개의 키 네고시에이션 알고리즘 에서, 타깃 키 네고시에이션 알고리즘은 수신측 기기에 대응하는 키 네고시에이션 알고리즘의 우선순위 시퀀에 기초하여, 수신측 기기와 송신측 기기에 의해 모두 지원되는는 키 네고시에이션 알고리즘들 중에서 결정된다.
예를 들어, 표 4는 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위 정보를 나타낸다. 표 3에 나타낸 바와 같이, 수신측 기기에 의해 수신되는 제1 정보는 표 1에 나타낸 5개의 키 네고시에이션 알고리즘을 지시하며, 수신측 기기는 5개의 키 네고시에이션 알고리즘 중 알고리즘 2, 알고리즘 3, 알고리즘 5를 지원한다. 표 4에서 알 수 있는 것은 수신측 기기의 경우, 알고리즘 3의 우선순위가 알고리즘 2의 우선순위보다 높고, 알고리즘 2의 우선순위가 알고리즘 5의 우선순위보다 높다는 것이다. 이 경우, 수신측 기기는 알고리즘 3을 타깃 네고시에이션 알고리즘으로 선택한다. 이 실시예에서, 제1 정보에 지시되는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘은 우선순위에 따라 배열되지 않을 수 있다는 점에 유의해야 한다. 즉, 제1 정보는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하지 않는다.
[표 4]
Figure pct00004
S403: 수신측 기기는 타깃 키 네고시에이션 알고리즘에 기초하여 제1 키 네고시에이션 파라미터를 생성한다.
제1 키 네고시에이션 파라미터는 수신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이다.
예를 들어, 수신측 기기는 S304의 방식으로 개인 키를 생성하며, 여기서 수신측 기기만이 개인 키를 알고 있고, 그러면 수신측 기기는 선택된 키 네고시에이션 알고리즘을 사용하여 수신측 기기에 대응하는 공개 키를 생성하고, 그 공개 키를 제1 키 네고시에이션 파라미터, 즉 키 네고시에이션 파라미터 KE 1로 사용한다.
제1 키 네고시에이션 파라미터를 획득하는 방식은 본 출원에서 한정되지 않는다.
S404: 수신측 기기는 제2 정보를 송신측 기기에 전송한다. 이에 상응하여, 송신측 기기는 수신측 기기로부터 제2 정보를 수신한다.
제2 정보는 타깃 키 네고시에이션 알고리즘을 지시하고, 제1 키 네고시에이션 파라미터를 포함한다.
선택적으로, 제2 정보는 제1 난수를 추가로 실어 전달하고, 제1 난수(NONCE 1)는 수신측 기기에 의해 생성되는 난수이다.
S405: 송신측 기기는 타깃 키 네고시에이션 알고리즘 및 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성한다.
이 실시예에서, 제2 정보가 타깃 키 네고시에이션 알고리즘의 식별자를 실어 전달하기 때문에, 송신측 기기는 타깃 키 네고시에이션 알고리즘의 식별자를 사용하여, 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘을 결정한다. 예를 들어, 송신측 기기는 S305와 같은 방식으로 개인 키를 생성한다. 개인 키는 송신측 기기만 알고 있다. 그러면 송신측 기기는 제1 타깃 키 네고시에이션 알고리즘에 기초한 계산을 통해 송신측 기기에 대응하는 공개 키를 획득하고, 그 공개 키를 제2 키 네고시에이션 파라미터로 사용하며, 이는 KE 2로 표시된다. 그 다음에, 타깃 키 KE는 타깃 키 네고시에이션 알고리즘 및 키 네고시에이션 파라미터 KE 1에 기초하여 생성된다.
선택적으로, 송신측 기기는 제2 정보를 사용하여 타깃 키 네고시에이션 알고리즘을 결정한 후, 타깃 키 네고시에이션 알고리즘이 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘 중 하나인지를 판정하고; 그렇다면(예, Yes), 송신측 기기는 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 및/또는 키 네고시에이션 파라미터 KE2를 획득하고; 그렇지 아니면(아니오, No), 송신측 기기는 제2 정보를 폐기한다.
선택적으로, 송신측 기기는 타깃 키 KE에 기초하여 암호화 키(encryption key) 및 무결성 보호 키(integrity protection key)를 획득한다. 암호화 키는 송신측 기기와 수신측 기기 간에 송신되는 정보를 암호화하는 데 사용된다. 무결성 보호 키는 송신측 기기와 수신측 기기 간에 송신되는 정보에 대한 무결성 보호를 수행하는 데 사용된다.
송신측 기기가 암호화 키 및 무결성 보호 키를 획득하는 방식은 다음과 같다:
송신측 기기는 제2 난수(NONCE 2)를 무작위로 생성하고, 송신측 기기는 타깃 키 KE, 난수(NONCE 1) 및 난수(NONCE 2)를 키 파생 함수((key derivation function, KDF) KDF 1의 입력으로 사용하여, 공유 키 Kgt를 획득한다. 즉 Kgt = KDF 1(KE, NONCE 1, NONCE 2).
송신측 기기는 공유 키 Kgt를 KDF 2의 입력으로 사용하여, 암호화 키 및 무결성 보호 키를 획득한다, 즉 Kenc = KDF 2(Kgt)이다. 마찬가지로, Kint = KDF 3 (Kgt)이다. Kenc는 암호화 키이고, Kint는 무결성 보호 키이다.
다른 방식으로, 송신측 기기는 타깃 키 KE를 획득한 후, 타깃 키 KE를 KDF 2의 입력으로 사용하여, 암호화 키 및 무결성 보호 키를 획득한다, 즉 Kenc = KDF 2(KE)이다. 마찬가지로 Kint = KDF 3(KE)이다. Kenc는 암호화 키이고 Kint는 무결성 보호 키이다.
KDF 1, KDF 2 및 KDF 3은 동일하거나 상이할 수 있음에 유의해야 한다. 또한, 공유 키 Kgt를 획득하는 데 사용되는 KDF, 암호화 키 Kenc를 획득하는 데 사용되는 KDF, 및 무결성 보호 키 Kint를 획득하는 데 사용되는 KDF는 본 출원에서 한정되지 않는다.
본 출원의 이 실시예에서 공유 키 Kgt, 암호화 키 Kenc 및 무결성 보호 키 Kint를 획득하는 방식은 본 출원을 한정하기 위한 것이 아니며, 다른 방식이 대안적으로 사용될 수 있음을 이해할 수 있다. 예를 들어, Kenc = KDF 2(Kgt, ID 1)이고, Kint = KDF 3(Kgt, ID 2)이며, 여기서 ID 1은 암호화 알고리즘의 식별자, ID 2는 무결성 보호 알고리즘의 식별자이다.
선택적으로, 이 키 네고시에이션 방법은 S406을 더 포함한다: 송신측 기기는 제3 정보를 수신측 기기에 전송한다. 이에 따라, 수신측 기기는 송신측 기기로부터 제3 정보를 수신한다.
제3 정보는 제2 키 네고시에이션 파라미터를 포함하고, 제2 키 네고시에이션 파라미터는 송신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이다.
구체적으로, 제3 정보는 제2 난수(NONCE 2)를 실어 전달한다.
수신측 기기에 의해 송신측 기기로 전송되는 제2 정보에 대해 어떠한 보안 보호도 수행되지 않기 때문에, 제2 정보는 전송 과정에서 위변조될 수 있다. 제2 정보가 변조되면, 송신측 기기와 수신측 기기 간의 키 네고시에이션이 실패할 수 있다. 따라서 제2 정보의 위변조 여부를 검증할 필요가 있다. 제2 정보의 위변조 여부를 검증하는 방법은 예를 들면 다음과 같다.
송신측 기기는 제2 정보에 대한 인증 처리를 수행하고, 제2 정보를 파라미터로 사용하여 제1 인증 데이터 AUTH 1를 생성하고, 제1 인증 데이터 AUTH 1를 수신측 기기에 전송하여, 수신측 기기가 제2 정보가 위변조되었는지를 검증할 수 있도록 한다. 선택적으로, 제3 정보는 제1 인증 데이터 AUTH 1를 포함한다. AUTH 1을 획득하는 방식은 다음을 포함한다:
방식 1: 인증 데이터 AUTH 1은 송신측 기기에 의해 수신된 제2 정보, 미리 설정된 공유 키 PSK 및 KDF 4, 즉 AUTH 1 = KDF 4(PSK, 제2 정보)에 기초하여 송신측 기기에 의해 획득된다. 미리 설정된 공유 키 PSK는 송신측 기기와 수신측 기기에 의해 미리 공유되는 키이므로, 미리 설정된 공유 키 PSK에 기초하여 송신측 기기와 수신측 기기 모두의 ID(IDentity)에 대해 검증이 수행되어, 송신측 기기와 수신측 기기 간에 교환되는 정보의 위변조를 방지할 수 있다. 미리 설정된 공유 키 PSK를 미리 설정하는 방식은 본 출원의 이 실시예에서 한정되지 않는다는 점에 유의해야 한다. 예를 들어, 미리 설정된 공유 키 PSK는 송신측 기기와 수신측 기기 각각에 동일한 번호를 미리 입력하여 획득할 수 있거나, 타깃 키 KE를 획득한 후 동일한 파생 알고리즘을 사용하여 획득될 수 있다.
이에 상응하여, 수신측 기기는 제3 정보를 수신한 후, 인증 데이터 AUTH 1을 획득하고, 인증 데이터 AUTH 1을 제1 참조 인증 데이터와 매칭한다. 제1 참조 인증 데이터는 전송된 제2 정보, 미리 설정된 공유 키 PSK 및 KDF 4, 즉 제1 참조 인증 데이터 = KDF 4(PSK, 제2 정보)에 기초하여, 수신측 기기에 의해 획득된다. 따라서, 송신 과정에서 제2 정보가 위변조되지 않으면, 즉 송신측 기기에 의해 수신되는 제2 정보가 수신측 기기에 의해 전송되는 제2 정보와 일치하면, 인증 데이터 AUTH 1은 참조 인증 데이터와 매칭되고; 그렇지 않으면 인증 데이터 AUTH 1은 참조 인증 데이터와 매칭되지 않는다. 따라서, 수신측 기기는 인증 데이터 AUTH 1과 제1 참조 인증 데이터의 매칭 결과에 따라, 송신측 기기에 의해 수신되는 제2 정보가 수신측 기기에 의해 전송되는 제2 정보와 매칭되는지를 판정할 수 있다. 인증 데이터 AUTH 1이 참조 인증 데이터와 매칭되면, 제2 정보가 위변조되지 않았음을 지시하고; 그렇지 않으면, 수신측 기기는 제3 정보를 폐기하고, 수신측 기기와 송신측 기기 사이의 현재 연결을 해제한 다음, 제2 정보를 재전송할 수 있다.
방식 2: 인증 데이터 AUTH 1은 송신측 기기에 의해 수신되는 제2 정보, 난수(NONCE 2), 미리 설정된 공유 키 PSK 및 KDF 5에 기초하여 획득된다, 즉 AUTH 1 = KDF 5(PSK, NONCE 2, 제2 정보)이다. 이에 상응하여, 제1 참조 인증 데이터는 전송된 제2 정보, 수신된 제3 정보에서의 난수(NONCE 2), 미리 설정된 공유 키 PSK 및 KDF 5에 기초하여 수신측 기기에 의해 획득된다, 즉, 제1 참조 인증 데이터 = KDF 5(PSK, NONCE 2, 제2 정보)이다. 따라서 송신 과정에서 제2 정보가 위변조되지 않으면, 즉, 송신측 기기에 의해 수신된 제2 정보가 수신측 기기에 의해 전송된 제2 정보와 일치하고, 제3 정보에서의 난수(NONCE 2)가 위변조되지 않으면, 인증 데이터 AUTH 1은 참조 인증 데이터와 매칭되고; 그렇지 않으면, 인증 데이터 AUTH 1은 참조 인증 데이터와 매칭되지 않는다. 따라서, 수신측 기기는 인증 데이터 AUTH 1과 제1 참조 인증 데이터의 매칭 결과에 따라, 송신측 기기에 의해 수신되는 제2 정보가 수신측 기기에 의해 전송되는 제2 정보와 일치하는지를 판정할 수 있다. 인증 데이터 AUTH 1이 참조 인증 데이터와 매칭되면, 제2 정보와 난수(NONCE 2)가 위변조되지 않았음을 지시하고; 그렇지 않으면, 수신측 기기는 제3 정보를 폐기하고, 수신측 기기와 송신측 기기 사이의 현재 연결을 해제한 다음, 제2 정보를 재전송할 수 있다.
본 출원의 이 실시예에서, AUTH 1은 여기에서 일일이 열거하지 않은 다른 방식으로 대안적으로 획득될 수 있다.
AUTH 1을 획득하기 위한 KDF가 제1 참조 인증 데이터를 획득하기 위한 KDF와 동일하고, AUTH 1을 획득하기 위한 파라미터는 제1 참조 인증 데이터를 획득하기 위한 파라미터와 일대일 대응한다는 것을 전제로, AUTH 1을 획득하기 위한 KDF, 및 제1 참조 인증 데이터는 본 출원의 이 실시예에서 한정되지 않는다는 점에 유의해야 한다. 예를 들어, AUTH 1은 KDF 4, 송신측 기기에 의해 수신되는 제2 정보, 및 미리 설정된 공유 키 PSK를 사용하여 획득되고; 이에 상응하여, 제1 참조 인증 데이터는 KDF 4, 수신측 기기에 의해 전송되는 제2 정보 및 미리 설정된 공유 키 PSK를 사용하여 획득된다.
선택적으로, 제3 정보는 무결성 보호 알고리즘을 사용하여 처리된 정보이다.
예를 들어, S406이 수행되기 전에, 송신측 기기가 암호화 키 Kenc 및 무결성 보호 키 Kint를 획득한 후, 송신측 기기는 무결성 보호 알고리즘,
무결성 보호 키 Kint, 및 송신측 기기에 의해 전송되는 제3 정보의 일부 또는 전부에 기초하여 제1 메시지 인증 코드(message authentication code, MAC)를 획득하고, 제1 MAC을 사용하여 제3 정보에 대한 무결성 보호를 수행한다. 예를 들어, 제3 정보는 제1 MAC을 포함한다.
S407: 수신측 기기는 제2 키 네고시에이션 파라미터 및 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성한다.
이 실시예에서, 수신측 기기는 송신측 기기의 키 네고시에이션 파라미터 KE 2를 수신한 후, 키 네고시에이션 알고리즘 및 수신된 키 네고시에이션 파라미터 KE 2에 기초하여 타깃 키 KE를 획득한다.
선택적으로, 수신측 기기는 송신측 기기와 동일한 방법을 사용하여 타깃 키 KE에 기초하여 암호화 키 Kenc 및 무결성 보호 키 Kint를 획득한다. 수신측 기기는 무결성 보호 알고리즘, 무결성 보호 키 Kint, 및 수신측 기기에 의해 수신되는 제3 정보의 일부 또는 전부에 기초하여 제2 MAC을 획득한다. 제1 MAC이 제2 MAC과 일치하면, 제3 정보가 위변조되지 않았음을 지시한다. 그렇지 않으면, 수신측 기기는 제3 정보를 폐기하고, 수신측 기기와 송신측 기기 사이의 현재 연결을 해제한 다음, 제2 정보를 재전송할 수 있다.
선택적으로, 키 네고시에이션 방법은 S408을 더 포함한다: 수신측 기기는 제4 정보를 송신측 기기에 전송한다. 이에 따라, 송신측 기기는 제4 정보를 수신한다.
제4 정보는 송신측 기기에 의해 키 네고시에이션이 성공했는지를 판정하는 데 사용된다.
선택적으로, 제4 정보는 암호화 키 Kenc를 사용하여 암호화된다. 수신측 기기는 암호화 키 Kenc를 사용하여 제4 정보를 암호화한다. 송신측 기기는 제4 정보를 수신한 후, 암호화 키 Kenc를 사용하여 암호화된 제4 정보를 암호 해독하여 제4 정보를 획득한다.
선택적으로, 제4 정보는 제3 인증 데이터를 더 포함한다. 제3 인증 데이터 AUTH 3를 획득하는 방식은 다음을 포함한다:
방식 1: 수신측 기기는 수신측 기기에 의해 수신되는 제1 정보에 지시되는 K개의 키 네고시에이션 알고리즘, 수신된한 제3 정보, 미리 설정된 공유 키 PSK, 난수(NONCE 1), 및 KDF 6에 기초하여 AUTH 3을 획득한다. 즉 AUTH 3 = KDF 6(PSK, K개의 키 네고시에이션 알고리즘, 제3 정보, NONCE 1)이다.
방식 2: 수신측 기기는 수신측 기기에 의해 수신되는 제1 정보에 지시되는 K개의 키 네고시에이션 알고리즘, 수신된 제3 정보, 미리 설정된 공유 키 PSK 및 KDF 7에 기초하여 AUTH 3을 획득한다. 즉, AUTH 3 = KDF 7(PSK, K개의 키 네고시에이션 알고리즘, 제3 정보)이다.
본 출원의 이 실시예에서, AUTH 1은 대안적으로 여기에 일일이 열거되지 않은 다른 방식으로 획득될 수 있다.
선택적으로, 제4 정보는 무결성 보호 알고리즘을 사용하여 처리된 정보이다.
수신측 기기는 무결성 보호 알고리즘, 무결성 보호 키 Kint, 및 수신측 기기에 의해 전송되는 제4 정보의 일부 또는 전부에 기초하여 제3 메시지 인증 코드 MAC를 획득하고, 제3 MAC을 사용하여 제4 정보에 대한 무결성 보호를 수행한다. 예를 들어, 제4 정보는 제3 MAC을 포함한다.
선택적으로, 키 네고시에이션 방법은 S409를 더 포함한다: 송신측 기기는 제4 정보의 검증을 시도한다.
선택적으로, 송신측 기기는 무결성 보호 알고리즘, 무결성 보호 키 Kint 및 송신측 기기에 의해 수신되는 제4 정보의 일부 또는 모든 정보에 기초하여 제4 메시지 인증 코드(MAC)를 획득한다. 제3 MAC과 제4 MAC이 일치하면, 제4 정보가 위변조되지 않았음을 지시하고, 후속 동작이 수행된다. 그렇지 않으면, 수신측 기기는 제4 정보를 폐기한다. 후속 동작의 특정 동작 내용은 본 출원의 이 실시예에서 한정되지 않는다.
선택적으로, 제4 정보는 인증 데이터 AUTH 3을 포함하고, 이에 상응하여 송신측 기기는 인증 데이터 AUTH 3을 획득하고, 인증 데이터 AUTH 3을 제3 참조 인증 데이터와 매칭시킨다.
제3 참조 인증 데이터를 획득하기 위한 KDF 및 파라미터는 AUTH 3을 획득하는 방식에 대응한다. 예를 들면 다음과 같다:
AUTH 3이 방식 1로 획득되는 경우, 제3 참조 인증 데이터는 송신측 기기에 의해 전송된 제1 정보에 지시된 N개의 키 네고시에이션 알고리즘, 전송된 제3 정보, 미리 설정된 공유 키 PSK, 난수(NONCE 1), KDF 6에 기초하여 송신측 기기에 의해 획득한다. 즉, 제3 참조 인증 데이터 = KDF 6(PSK, 전송된 제1 정보에 지시된 N개의 키 네고시에이션 알고리즘, 제3 정보, NONCE 1)이다. 따라서, 송신 중에 제1 정보 및 제3 정보가 위변조되지 않으면, 즉, 수신측 기기에 의해 수신되는 제1 정보 및 제3 정보가 각각 송신측 기기에 의해 전송되는 제1 정보 및 제3 정보와 일치하면, 인증 데이터 AUTH 3은 제3 참조 인증 데이터와 매칭된다. 제1 정보 및/또는 제3 정보가 전송 중에 위변조되면, 인증 데이터 AUTH 3은 제3 참조 인증 데이터와 매칭되지 않는다. 따라서, 인증 데이터 AUTH 3와 제3 참조 인증 데이터의 매칭 결과에 따라, 송신측 기기는 수신측 기기에 의해 수신된 제1 정보가 송신측 기기에 의해 전송된 제1 정보와 일치하는지를 판정할 수 있고, 수신측 기기에 의해 수신된 제3 정보가 송신측 기기에 의해 전송된 제3 정보와 일치하는지를 판정할 수 있다. 인증 데이터 AUTH 3이 참조 인증 데이터와 매칭되면, 제1 정보와 제3 정보 어느 것도 위변조되지 않았고, 송신측 기기와 수신측 기기 간의 키 네고시에이션이 성공했음을 지시하고; 그렇지 않으면 송신측 기기는 제4 정보를 폐기하고 수신측 기기와의 연결을 해제한다.
AUTH 3이 방식 2로 획득되는 경우, 제3 참조 인증 데이터는 송신측 기기에 의해 전송되는 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘, 전송된 제3 정보, 미리 설정된 공유 키 PSK 및 KDF 6에 기초하여 송신측 기기에 의해 획득한다. 즉, 제3 참조 인증 데이터 = KDF 7(PSK, 전송된 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘, 제3 정보)이다. 따라서, 송신 중에 제1 정보 및 제3 정보가 위변조되지 않으면, 즉 수신측 기기에 의해 수신되는 제1 정보 및 제3 정보가 각각 송신측 기기에 의해 전송된 제1 정보 및 제3 정보와 각각 일치하면, 인증 데이터 AUTH 3은 제3 참조 인증 데이터와 매칭된다. 제1 정보 및/또는 제3 정보가 전송신 중에 위변조되면, 인증 데이터 AUTH 3은 제3 참조 인증 데이터와 매칭되지 않는다. 따라서, 인증 데이터 AUTH 3과 제3 참조 인증 데이터의 매칭 결과에 따라, 송신측 기기는 수신측 기기에 의해 수신된 제1 정보가 송신측 기기에 의해 전송된 제1 정보와 일치하는지를 판정할 수 있고, 수신측 기기에 의해 수신된 제3 정보가 송신측 기기에 의해 전송된 제3 정보와 일치하는지를 판정할 수 있다. 인증 데이터 AUTH 3가 참조 인증 데이터와 매칭되면, 제1 정보와 제3 정보 모두 위변조되지 않았으며 송신측 기기와 수신측 기기 간의 키 네고시에이션이 성공했음을 지시하고; 그렇지 않으면 송신측 기기는 제4 정보를 폐기하고, 수신측 기기와의 연결을 해제한다.
AUTH 3을 획득하기 위한 KDF가 제3 참조 인증 데이터를 획득하기 위한 KDF와 동일하고, AUTH 3을 획득하기 위한 파라미터가 제3 참조 인증 데이터를 획득하기 위한 파라미터와 일대일 대응한다는 것을 전제로, AUTH 3 및 제3 참조 인증 데이터를 획득하기 위한 KDF는 본 출원의 이 실시예에서 한정되지 않는다는 점에 유의해야 한다. 예를 들어, AUTH 3은 KDF 6, 수신측 기기에 의해 수신되는 제1 정보에 지시되는 K개의 키 네고시에이션 알고리즘, 수신된 제3 정보, 미리 설정된 공유 키 PSK 및 난수(NONCE 1)를 사용하여 획득된다. 이에 상응하여, 제3 참조 인증 데이터는 KDF 6, 송신측 기기에 의해 전송되는 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘, 전송된 제3 정보, 미리 설정된 공유 키 PSK, 및 난수(NONCE 1)을 사용하여 획득된다.
이 실시예에서, 송신측 기기와 수신측 기기 사이의 키 네고시에이션 동안, 송신측 기기는 제1 정보를 사용하여, 송신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘을 수신측 기기에 통지하고, 수신측 기기는 송신측 기기에 의해 지원되는 수신된 키 네고시에이션 알고리즘들 중에서, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 선택한다. 이러한 방식으로, 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘은 송신측 기기와 수신측 기기 모두에 의해 지원된다. 이는 송신측 기기가 수신측 기기에 의해 선택된 키 네고시에이션 알고리즘을 지원하지 않기 때문에 발생하는 키 네고시에이션 알고리즘 네고시에이션 실패를 방지하고, 키 네고시에이션 효율을 향상시킨다. 또한, 본 출원의 이 실시예에서 제공되는 키 네고시에이션 방법은 중국어 암호화 알고리즘을 지원한다.
도 5는 본 출원의 다른 실시예에 따른 키 네고시에이션 방법의 흐름도이다. 도 5에 도시된 바와 같이, 본 출원의 이 실시예의 키 네고시에이션 방법은 다음 단계를 포함한다.
S501: 송신측 기기는 제1 정보를 수신측 기기에 전송한다. 이에 따라, 수신측 기기는 제1 정보를 수신한다.
제1 정보는 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, N은 1보다 크거나 같은 정수이며, N개의 키 네고시에이션 알고리즘은 송신측 기기에 의해 지원된다.
예를 들어, 제1 정보는 네고시에이션 패킷에 실려 전달된다. 구체적으로, 통신 시스템의 두 기기가 데이터 송신을 수행하기 전에, 두 기기는 키 네고시에이션을 수행하여 타깃 키를 획득하여, 타깃 키에 기초하여 송신 데이터를 암호화하고 암호 해독해야 한다. 송신측 기기와 수신측 기기가 키 네고시에이션을 수행하는 경우, 개시측 기기는 네고시에이션 패킷을 수신측 기기에 전송한다.
선택적으로, 제1 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용된다. 제1 정보에 포함된 N개의 키 네고시에이션 알고리즘의 식별 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화된다.
예를 들어, 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘은 우선순위의 내림차순으로 배열되거나, 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘은 우선순위의 오름차순으로 배열된다. 예를 들어, 표 2에서 나타낸바와 같이, 제1 정보는 알고리즘 1, 알고리즘 2, 알고리즘 3, 알고리즘 4, 알고리즘 5를 지시하는 데 사용된다. 알고리즘 4의 우선순위는 알고리즘 2의 우선순위보다 높고, 알고리즘 2의 우선순위는 알고리즘 5의 우선순위보다 높고, 알고리즘 5의 우선순위는 알고리즘 1의 우선순위보다 높으며, 알고리즘 1의 우선순위는 알고리즘 3의 우선순위보다 높다.
S502: 수신측 기기는 타깃 키 네고시에이션 알고리즘을 결정한다.
타깃 키 네고시에이션 알고리즘은 N개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘이다.
이 실시예에서, 수신측 기기는 제1 정보에서의 N개의 키 네고시에이션 알고리즘 중에서, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로서 결정한다.
선택적으로, 수신측 기기는 수신된 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여, N개의 키 네고시에이션 알고리즘 중에 있고 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중에서 송신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘을 선택하고, 그 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로 사용한다.
예를 들어, 표 3은 수신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘을 나타낸다. 수신측 기기에 의해 수신된 제1 정보는 표 1에 나타낸 5개의 키 네고시에이션 알고리즘을 지시한다. 제1 정보에서, 5개의 알고리즘의 식별자는 우선순위의 내림차순으로 정렬되어 있다. 표 1 내지 표 3으로부터 알 수 있는 것은, 5개의 키 네고시에이션 알고리즘 중에서, 수신측 기기는 알고리즘 2, 알고리즘 3, 및 알고리즘 5를 지원하고, 알고리즘 2의 우선순위는 알고리즘 3의 우선순위 및 알고리즘 5의 우선순위보다 높다. 이 경우, 수신측 기기는 알고리즘 2를 타깃 네고시에이션 알고리즘으로 선택한다.
선택적으로, 수신측 기기는 수신된 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘에 기초하여, N개의 키 네고시에이션 알고리즘에 있고 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중에서 수신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘을 결정하고, 그 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로 사용한다.
예를 들어, 표 4는 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위 정보를 나타낸다. 표 3에 나타낸 바와 같이, 수신측 기기에 의해 수신되는 제1 정보는 표 1에 나타낸 5개의 키 네고시에이션 알고리즘을 지시하며, 수신측 기기는 5개의 키 네고시에이션 알고리즘 중 알고리즘 2, 알고리즘 3, 알고리즘 5를 지원한다. 표 4에서 알 수 있는 것은, 수신측 기기의 경우, 알고리즘 3의 우선순위가 알고리즘 2의 우선순위보다 높고 알고리즘 2의 우선순위가 알고리즘 5의 우선순위보다 높다는 것이다. 이 경우, 수신측 기기는 알고리즘 3을 타깃 네고시에이션 알고리즘으로 선택한다. 이 실시예에서, 제1 정보에 지시되는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘은 우선순위 정보에 따라 배열되지 않을 수 있다는 점에 유의해야 한다. 즉, 제1 정보는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하지 않는다.
S503: 수신측 기기는 타깃 키 네고시에이션 알고리즘에 기초하여 제1 키 네고시에이션 파라미터를 생성한다.
제1 키 네고시에이션 파라미터는 수신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이다.
예를 들어, 수신측 기기는 선택된 키 네고시에이션 알고리즘을 사용하여 계산을 통해 키 네고시에이션 파라미터 KE 1을 획득한다.
S504: 수신측 기기는 송신측 기기에 제2 정보를 전송한다. 이에 따라, 송신측 기기는 수신측 기기로부터 제2 정보를 수신한다.
제2 정보는 타깃 키 네고시에이션 알고리즘을 지시하고, 제1 키 네고시에이션 파라미터를 포함한다. 또한, 선택적으로, 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘을 추가로 지시한다.
이 실시예에서, 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘을 추가로 지시하므로, 송신측 기기는 수신측 기기에 의해 선택되는 키 네고시에이션 알고리즘이 수신측 기기 및 송신측 기기 모두에 의해 지원되는지 를 판정할 수 있다. 수신측 기기에 의해 선택되는 키 네고시에이션 알고리즘이 수신측 기기와 송신측 기기 모두에 의해 지원되는 것으로 결정한 경우, 송신측 기기는 S505를 수행하고; 그렇지 않으면, 송신측 기기는 제2 정보를 폐기하고 수신측 기기와의 연결을 해제한다.
제2 정보는 다음 방식 중 어느 하나로 M개의 키 네고시에이션 알고리즘을 지시할 수 있다:
방식 1: 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 식별자를 포함하여, 송신측 기기가 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘을 획득할 수 있도록 한다.
표 1에 나타낸 알고리즘의 식별자가 예로서 사용된다. 제2 정보가 ID 2, ID 3 및 ID 5를 포함하는 경우, 제2 정보는 알고리즘 2, 알고리즘 3, 알고리즘 5를 지시하는 데 사용된다. 제2 정보가 ID 1 및 ID 5를 포함하는 경우, 제2 정보는 알고리즘 알고리즘 1 및 알고리즘 5을 지시하는 데 사용된다.
표 1은 제2 정보에 의해 지시되는 키 네고시에이션 알고리즘 식별자의 예일 뿐이라는 것을 이해할 수 있다. 구체적인 애플리케이션에서, 제2 정보에 의해 지시되는 키 네고시에이션 알고리즘은 대안적으로 다른 형태일 수 있으며, 이는 한정되지 않는다.
방식 2: 제2 정보는 비트 시퀀스를 포함하고, 비트 시퀀스에서의 1비트는 하나의 알고리즘에 대응하며, 비트 시퀀스에서의 비트 각각은 제2 정보가 그 비트에 대응하는 알고리즘을 지시하는지를 지시하기 위해 0 또는 1일 수 있다. 예를 들어, 비트가 1이면, 제2 정보는 그 비트에 대응하는 알고리즘을 지시하고; 비트가 0이면, 제2 정보는 그 비트에 대응하는 알고리즘을 지시하지 않음을 지시할 수 있다.
예를 들어, 제1 정보는 4비트를 포함하고, 4비트 중에서 첫 번째(제1) 비트는 알고리즘 1에 대응하고, 두 번째(제2) 비트는 알고리즘 2에 대응하고, 세 번째(제3) 비트는 알고리즘 3에 대응하고, 네 번째(제4) 비트는 알고리즘 4에 대응한다. 4비트가 01010이면, 제1 정보가 알고리즘 2와 알고리즘 4를 지시하는 데 사용됨을 지시할 수 있다. 4비트가 1001이면, 제2 정보가 알고리즘 1 및 알고리즘 4를 지시하는 데 사용됨을 지시할 수 있다. 4비트가 1100이면, 제1 알고리즘 네고시에이션 요청 정보가 알고리즘 1과 알고리즘 2를 지시하는 데 사용됨을 지시할 수 있다.
선택적으로, 송신측 기기는 수신된 제2 정보에 지시되는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘에 기초하여, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위를 결정하여, 수신측 기기에 의해 선택되는 키 네고시에이션 알고리즘이 수신측 기기와 송신측 기기 모두에 의해 지원되는 알고리즘들 중에서 송신측 기기 또는 수신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘인지를 판정할 수 있도록 한다. 그렇다면, 송신측 기기는 S505를 수행하고; 그렇지 않으면 송신측 기기는 제2 정보를 폐기하고, 수신측 기기와의 연결을 해제한다.
예를 들어, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘은 알고리즘 2, 알고리즘 3, 알고리즘 5 및 알고리즘 6을 포함한다. 표 4에 나타낸 바와 같이, 수신측 기기에 대해, 알고리즘 3의 우선순위는 알고리즘 6의 우선순위보다 높고, 알고리즘 6의 우선순위는 알고리즘 2의 우선순위보다 높고, 알고리즘 2의 우선순위가 알고리즘 5의 우선순위보다 높다.
표 2 및 표 4를 참조하면, 수신측 기기가 타깃 네고시에이션 알고리즘으로서, 수신측 기기와 송신측 기기 모두에 의해 지원되는 알고리즘들 중 송신측 기기에 대한 우선순위가 가장 높은 키 네고시에이션 알고리즘을 선택하면, 송신측 기기에 의해 제2 정보를 사용하여 획득되는 타깃 네고시에이션 알고리즘은 알고리즘 2이어야 함을 학습할 수 있다. 송신측 기기에 의해 제2 정보를 사용하여 획득되는 타깃 네고시에이션 알고리즘이 알고리즘 2가 아니면, 송신측 기기는 제2 정보를 폐기한다.
수신측 기기가 타깃 네고시에이션 알고리즘으로서, 수신측 기기와 송신측 기기 모두에 의해 지원되는 알고리즘들 중 수신측 기기에 대한 우선순위가 가장 높은 키 네고시에이션 알고리즘을 선택하면, 송신측 기기에 의해 제2 정보를 사용하여 획득되는 타깃 네고시에이션 알고리즘은 알고리즘 3이어야 한다. 송신측 기기에 의해 제2 정보를 사용하여 획득되는 타깃 네고시에이션 알고리즘이 알고리즘 3이 아니면, 송신측 기기는 제2 정보를 폐기한다.
예를 들어, 송신기 장치가 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위를 결정하는 방식은 다음을 포함한다:
방식 1: 송신측 기기는 수신측 기기로부터 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 수신한다. 예를 들어, 송신측 기기와 수신측 기기 간에 키 네고시에이션이 수행된다. 키 네고시에이션 중에, 수신측 기기는 정보를 사용하여 송신측 기기에, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위를 지시한다. 그러면, 송신측 기기는 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위를 수신측 기기와 연관짓고 연관관계를 저장한다. 따라서 이 키 네고시에이션 프로세스에서, 송신측 기기는 수신측 기기의 식별자에 기초하여, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위를 결정한다.
방식 2: 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용된다. 제2 정보는 M개의 키 네고시에이션 알고리즘의 식별 정보를 포함하며, 식별 정보는 M개의 키 네고시에이션 알고리즘의 우선순위에 기초하여 배열 또는 캡슐화된다. 이 경우, 송신측 기기는 제2 정보에 기초하여, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위 정보를 획득한다.
선택적으로, 제2 정보는 제1 난수를 추가로 실어 전달하고, 제1 난수(NONCE 1)는 수신측 기기에 의해 생성된 난수이다.
선택적으로, 제2 정보는 수신측 기기의 식별자를 추가로 실어 전달한다. 수신측 기기의 식별자는 수신측 기기를 식별하는 데 사용된다.
S505: 송신측 기기는 타깃 키 네고시에이션 알고리즘 및 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성한다.
이 실시예에서, 제2 정보가 타깃 키 네고시에이션 알고리즘의 식별자를 실어 전달하기 때문에, 송신측 기기는 타깃 키 네고시에이션 알고리즘의 식별자를 사용하여, 수신측 기기에 의해 선택되는 키 네고시에이션 알고리즘을 결정하여, 타깃 키 네고시에이션 알고리즘 및 키 네고시에이션 파라미터 KE 1에 기초하여 타깃 키 KE를 생성하도록 한다. 또한, 송신측 기기는 타깃 키 네고시에이션 알고리즘에 기초하여 키 네고시에이션 파라미터 KE 2를 계산한다.
선택적으로, 송신측 기기는 제2 정보를 사용하여 타깃 키 네고시에이션 알고리즘을 결정한 후, 타깃 키 네고시에이션 알고리즘이 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘 중 하나인지를 판정하고; 예이면, 송신측 기기는 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 및/또는 키 네고시에이션 파라미터 KE2를 획득하고; 아니오이면, 송신측 기기는 제2 정보를 폐기한다.
선택적으로, 송신측 기기는 타깃 키 KE에 기초하여 암호화 키 및 무결성 보호 키를 획득한다. 암호화 키는 송신측 기기와 수신측 기기 간에 송신되는 정보를 암호화하는 데 사용된다. 무결성 보호 키는 송신측 기기와 수신측 기기 간에 송신되는 정보에 대한 무결성 보호를 수행하는 데 사용된다.
송신측 기기가 암호화 키 및 무결성 보호 키를 획득하는 방식은 다음과 같다:
송신측 기기는 제2 난수(NONCE 2)를 무작위로 생성하고, 송신측 기기는 타깃 키 KE, 난수(NONCE 1) 및 난수(NONCE 2)를 키 파생 함수((key derivation function, KDF) KDF 1의 입력으로 사용하여, 공유 키 Kgt를 획득한다. 즉 Kgt = KDF 1(KE, NONCE 1, NONCE 2).
송신측 기기는 공유 키 Kgt를 KDF 2의 입력으로 사용하여, 암호화 키 및 무결성 보호 키를 획득한다, 즉 Kenc = KDF 2(Kgt)이다. 마찬가지로, Kint = KDF 3 (Kgt)이다. Kenc는 암호화 키이고, Kint는 무결성 보호 키이다.
다른 방식으로, 송신측 기기는 타깃 키 KE를 획득한 후, 타깃 키 KE를 KDF 2의 입력으로 사용하여, 암호화 키 및 무결성 보호 키를 획득한다, 즉 Kenc = KDF 2(KE)이다. 마찬가지로 Kint = KDF 3(KE)이다. Kenc는 암호화 키이고 Kint는 무결성 보호 키이다.
KDF 1, KDF 2 및 KDF 3은 동일하거나 상이할 수 있음에 유의해야 한다. 또한, 공유 키 Kgt를 획득하는 데 사용되는 KDF, 암호화 키 Kenc를 획득하는 데 사용되는 KDF, 및 무결성 보호 키 Kint를 획득하는 데 사용되는 KDF는 본 출원에서 한정되지 않는다.
본 출원의 이 실시예에서 공유 키 Kgt, 암호화 키 Kenc 및 무결성 보호 키 Kint를 획득하는 방식은 본 출원을 한정하기 위한 것이 아니며, 다른 방식이 대안적으로 사용될 수 있음을 이해할 수 있다. 예를 들어, Kenc = KDF 2(Kgt, ID 1)이고, Kint = KDF 3(Kgt, ID 2)이며, 여기서 ID 1은 암호화 알고리즘의 식별자, ID 2는 무결성 보호 알고리즘의 식별자이다.
선택적으로, 이 방법은 S506을 더 포함한다: 송신측 기기가 수신측 기기에 제3 정보를 전송한다. 이에 상응하여, 수신측 기기는 송신측 기기로부터 제3 정보를 수신한다.
제3 정보는 제2 키 네고시에이션 파라미터를 포함하고, 제2 키 네고시에이션 파라미터는 송신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이다.
구체적으로, 제3 정보는 제2 난수(NONCE 2)를 실어 전달한다.
선택적으로, 수신측 기기에 의해 송신측 기기로 전송되는 제2 정보에 대해 어떠한 보안 보호도 수행되지 않기 때문에, 제2 정보는 전송 과정에서 위변조될 수 있다. 제2 정보가 위변조되면, 송신측 기기와 수신측 기기 간의 키 네고시에이션이 실패할 수 있다. 따라서, 제2 정보의 위변조 여부를 검증해야 한다. 제2 정보의 위변조 여부를 검증하는 방법은 예를 들면 다음과 같을 수 있다:
송신측 기기는 제2 정보에 대해 인증 처리를 수행하고, 제2 정보를 파라미터로 사용하여 제1 인증 데이터 AUTH 1을 생성하고, 인증 데이터 AUTH 1을 수신측 기기에 전송하여, 수신측 기기가 제2 정보의 위변조 여부를 검증할 수 있도록 한다. 선택적으로, 제3 정보는 인증 데이터 AUTH 1을 포함한다. AUTH 1을 획득하는 방식은 다음을 포함한다:
방식 1: 인증 데이터 AUTH 1은 송신측 기기에 의해 수신된 제2 정보, 미리 설정된 공유 키 PSK 및 KDF 4, 즉 AUTH 1 = KDF 4(PSK, 제2 정보)에 기초하여 송신측 기기에 의해 획득된다. 미리 설정된 공유 키 PSK는 송신측 기기와 수신측 기기에 의해 미리 공유되는 키이므로, 미리 설정된 공유 키 PSK에 기초하여 송신측 기기와 수신측 기기 모두의 ID(IDentity)에 대해 검증이 수행되어, 송신측 기기와 수신측 기기 간에 교환되는 정보의 위변조를 방지할 수 있다. 미리 설정된 공유 키 PSK를 미리 설정하는 방식은 본 출원의 이 실시예에서 한정되지 않는다는 점에 유의해야 한다. 예를 들어, 미리 설정된 공유 키 PSK는 송신측 기기와 수신측 기기 각각에 동일한 번호를 미리 입력하여 획득할 수 있거나, 타깃 키 KE를 획득한 후 동일한 파생 알고리즘을 사용하여 획득될 수 있다.
이에 상응하여, 수신측 기기는 제3 정보를 수신한 후, 인증 데이터 AUTH 1을 획득하고, 인증 데이터 AUTH 1을 제1 참조 인증 데이터와 매칭한다. 제1 참조 인증 데이터는 전송된 제2 정보, 미리 설정된 공유 키 PSK 및 KDF 4, 즉 제1 참조 인증 데이터 = KDF 4(PSK, 제2 정보)에 기초하여, 수신측 기기에 의해 획득된다. 따라서, 송신 과정에서 제2 정보가 변조되지 않으면, 즉 송신측 기기에 의해 수신되는 제2 정보가 수신측 기기에 의해 전송되는 제2 정보와 일치하면, 인증 데이터 AUTH 1은 참조 인증 데이터와 매칭되고; 그렇지 않으면 인증 데이터 AUTH 1은 참조 인증 데이터와 매칭되지 않는다. 따라서, 수신측 기기는 인증 데이터 AUTH 1과 제1 참조 인증 데이터의 매칭 결과에 따라, 송신측 기기에 의해 수신되는 제2 정보가 수신측 기기에 의해 전송되는 제2 정보와 매칭되는지를 판정할 수 있다. 인증 데이터 AUTH 1이 참조 인증 데이터와 매칭되면, 제2 정보가 위변조되지 않았음을 지시하고; 그렇지 않으면, 수신측 기기는 제3 정보를 폐기하고, 수신측 기기와 송신측 기기 사이의 현재 연결을 해제한 다음, 제2 정보를 재전송할 수 있다.
방식 2: 인증 데이터 AUTH 1은 송신측 기기에 의해 수신되는 제2 정보, 난수(NONCE 2), 미리 설정된 공유 키 PSK 및 KDF 5에 기초하여 획득된다, 즉 AUTH 1 = KDF 5(PSK, NONCE 2, 제2 정보)이다. 이에 상응하여, 제1 참조 인증 데이터는 전송된 제2 정보, 수신된 제3 정보에서의 난수(NONCE 2), 미리 설정된 공유 키 PSK 및 KDF 5에 기초하여 수신측 기기에 의해 획득된다, 즉, 제1 참조 인증 데이터 = KDF 5(PSK, NONCE 2, 제2 정보)이다. 따라서 송신 과정에서 제2 정보가 위변조되지 않으면, 즉, 송신측 기기에 의해 수신된 제2 정보가 수신측 기기에 의해 전송된 제2 정보와 일치하고, 제3 정보에서의 난수(NONCE 2)가 위변조되지 않으면, 인증 데이터 AUTH 1은 참조 인증 데이터와 매칭되고; 그렇지 않으면, 인증 데이터 AUTH 1은 참조 인증 데이터와 매칭되지 않는다. 따라서, 수신측 기기는 인증 데이터 AUTH 1과 제1 참조 인증 데이터의 매칭 결과에 따라, 송신측 기기에 의해 수신되는 제2 정보가 수신측 기기에 의해 전송되는 제2 정보와 일치하는지를 판정할 수 있다. 인증 데이터 AUTH 1이 참조 인증 데이터와 매칭되면, 제2 정보와 난수(NONCE 2)가 변조되지 않았음을 지시하고; 그렇지 않으면, 수신측 기기는 제3 정보를 폐기하고, 수신측 기기와 송신측 기기 사이의 현재 연결을 해제한 다음, 제2 정보를 재전송할 수 있다.
본 출원의 이 실시예에서, AUTH 1은 여기에서 일일이 열거하지 않은 다른 방식으로 대안적으로 획득될 수 있다.
AUTH 1을 획득하기 위한 KDF가 제1 참조 인증 데이터를 획득하기 위한 KDF와 동일하고, AUTH 1을 획득하기 위한 파라미터는 제1 참조 인증 데이터를 획득하기 위한 파라미터와 일대일 대응한다는 것을 전제로, AUTH 1을 획득하기 위한 KDF, 및 제1 참조 인증 데이터는 본 출원의 이 실시예에서 한정되지 않는다는 점에 유의해야 한다. 예를 들어, AUTH 1은 KDF 4, 송신측 기기에 의해 수신되는 제2 정보, 및 미리 설정된 공유 키 PSK를 사용하여 획득되고; 이에 상응하여, 제1 참조 인증 데이터는 KDF 4, 수신측 기기에 의해 전송되는 제2 정보 및 미리 설정된 공유 키 PSK를 사용하여 획득된다.
선택적으로, 제3 정보는 무결성 보호 알고리즘을 사용하여 처리된 정보이다.
예를 들어, S406이 수행되기 전에, 송신측 기기가 암호화 키 Kenc 및 무결성 보호 키 Kint를 획득한 후, 송신측 기기는 무결성 보호 알고리즘, 무결성 보호 키 Kint, 및 송신측 기기에 의해 전송되는 제3 정보의 일부 또는 전부에 기초하여 제1 메시지 인증 코드(message authentication code, MAC)를 획득하고, 제1 MAC을 사용하여 제3 정보에 대한 무결성 보호를 수행한다. 예를 들어, 제3 정보는 제1 MAC을 포함한다.
S507: 수신측 기기는 제2 키 네고시에이션 파라미터 및 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성한다.
이 실시예에서, 수신측 기기는 송신측 기기의 키 네고시에이션 파라미터 KE 2를 수신한 후, 키 네고시에이션 알고리즘 및 수신된 키 네고시에이션 파라미터 KE 2에 기초하여 타깃 키 KE를 획득한다.
선택적으로, 수신측 기기는 송신측 기기와 동일한 방법을 사용하여 타깃 키 KE에 기초하여 암호화 키 Kenc 및 무결성 보호 키 Kint를 획득한다. 수신측 기기는 무결성 보호 알고리즘, 무결성 보호 키 Kint, 및 수신측 기기에 의해 수신되는 제3 정보의 일부 또는 전부에 기초하여 제2 메시지 인증 코드(MAC)를 획득한다. 제1 MAC이 제2 MAC과 일치하면, 제3 정보가 위변조되지 않았음을 지시한다. 그렇지 않으면, 수신측 기기는 제3 정보를 폐기하고, 수신측 기기와 송신측 기기 사이의 현재 연결을 해제한 다음, 제2 정보를 재전송할 수 있다.
선택적으로, 키 네고시에이션 방법은 S508을 더 포함한다: 수신측 기기는 제4 정보를 송신측 기기에 전송한다. 이에 따라, 송신측 기기는 제4 정보를 수신한다.
선택적으로, 키 네고시에이션 방법은 S509를 더 포함한다: 송신측 기기는 제4 정보의 검증을 시도한다.
이 실시예에서, 제4 정보는 제2 인증 데이터 AUTH 2를 더 포함하고, 제2 인증 데이터 AUTH 2는 수신측 기기가 제3 정보에 대해 인증 처리를 수행한 후에 획득된 인증 데이터이다. 제2 인증 데이터 AUTH 2는 제3 정보의 위변조를 지시하는 데 사용된다. 제3 정보의 위변조 여부는 제2 인증 데이터 AUTH 2와 제2 참조 인증 데이터의 매칭 결과를 사용하여 지시된다. 제2 참조 인증 데이터는 제3 정보에 대해 인증 처리를 수행한 후 획득된 인증 데이터이다.
제2 정보는 수신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘을 지시한다. S508이 수행되면, 송신 과정에서 제1 정보 및 제2 정보가 위변조되지 않았음을 지시한다. 따라서, 제1 정보의 위변조 여부를 검증할 필요가 없다.
송신측 기기는 제3 정보를 수신측 기기에 전송하여, 수신측 기기가 타깃 키를 획득할 수 있도록 한다. 그러나, 수신측 기기는 타깃 키를 생성하지 않기 때문에, 암호화 키가 생성될 수 없다. 따라서, 송신측 기기는 제3 정보를 암호화할 수 없다. 즉, 제3의 정보는 보안 보호를 받지 못하고, 그 결과 송신 중에 제3 정보가 위변조될 가능성이 있다. 제3 정보가 위변조되면, 송신측 기기와 수신측 기기 간의 통신 정보가 유출될 수 있다. 따라서 제3 정보가 위변조되었는지를 판정해야 한다. 따라서, 수신측 기기는 제3 정보에 대한 인증 처리를 수행하여 제2 인증 데이터 AUTH 2를 획득한다. 또한, 제3 정보는 송신측 기기에 의해 전송되기 때문에, 인증 데이터 AUTH 2는 제4 정보에 포함되어 송신측 기기에 전송되고, 송신측 기기는 제3 정보가 위변조되었는지를 판정한다. 예를 들어, AUTH 2는 수신된 제3 정보, 미리 설정된 공유 키 PSK, 난수(NONCE 1) 및 KDF 6에 기초하여 수신측 기기에 의해 획득된다. 즉, AUTH 2 = KDF 8(PSK, 제3 정보, NONCE 1)이다.
송신측 기기는 제4 정보로부터 AUTH 2를 획득하고, 인증 데이터 AUTH 2를 제2 참조 인증 데이터와 매칭시킨다. 제2 참조 인증 데이터는 송신측 기기에 의해 전송되는 제3 정보, 미리 설정된 공유 키 PSK, 난수(NONCE 1) 및 KDF 8에 기초하여 송신측 기기에 의해 획득된다. 즉, 제3 참조 인증 데이터 = KDF 8(PSK, 제3 정보, NONCE 1)이다. 따라서, 제3 정보가 전송 중에 위변조되지 않으면, 즉, 수신측 기기에 의해 수신된 제3 정보가 송신측 기기에 의해 전송된 제3 정보와 일치하면, 인증 데이터 AUTH 2는 제2 참조 인증 데이터와 매칭된다. 제3 정보가 전송 중에 위변조되면, 인증 데이터 AUTH 2는 제2 참조 인증 데이터와 매칭되지 않는다. 따라서, 송신측 기기는 인증 데이터 AUTH 2 및 제2 참조 인증 데이터의 매칭 결과에 따라, 수신측 기기에 의해 수신된 제3 정보가 송신측 기기에 의해 송신된 제3 정보와 일치하는지를 판정할 수 있다. 인증 데이터 AUTH 2가 참조 인증 데이터와 매칭되면, 제3 정보가 위변조되지 않았고, 송신측 기기와 수신측 기기 간의 키 네고시에이션이 성공했음을 지시하고; 그렇지 않으면 송신측 기기는 제4 정보를 폐기하고, 수신측 기기와의 연결을 해제한다.
도 6은 본 출원의 다른 실시예에 따른 키 네고시에이션 방법의 흐름도이다. 도 6에 도시된 바와 같이, 본 출원의 이 실시예에서의 키 네고시에이션 방법은 다음 단계를 포함한다.
S601: 송신측 기기는 제1 정보를 수신측 기기에 전송한다. 이에 따라, 수신측 기기는 제1 정보를 수신한다.
제1 정보는 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, N은 1보다 크거나 같은 정수이며, N개의 키 네고시에이션 알고리즘은 송신측 기기에 의해 지원된다.
예를 들어, 제1 정보는 네고시에이션 패킷에 실려 전달된다. 구체적으로, 통신 시스템의 두 기기가 데이터 송신을 수행하기 전에, 두 기기는 키 네고시에이션을 수행하여 타깃 키를 획득하여, 타깃 키에 기초하여 송신 데이터를 암호화하고 암호 해독해야 한다. 송신측 기기와 수신측 기기가 키 네고시에이션을 수행하는 경우, 개시측 기기는 네고시에이션 패킷을 수신측 기기에 전송한다.
선택적으로, 제1 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용된다. 제1 정보에 포함된 N개의 키 네고시에이션 알고리즘의 식별 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화된다.
예를 들어, 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘은 우선순위의 내림차순으로 배열되거나, 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘은 우선순위의 오름차순으로 배열된다. 예를 들어, 표 2에서 나타낸바와 같이, 제1 정보는 알고리즘 1, 알고리즘 2, 알고리즘 3, 알고리즘 4, 알고리즘 5를 지시하는 데 사용된다. 알고리즘 4의 우선순위는 알고리즘 2의 우선순위보다 높고, 알고리즘 2의 우선순위는 알고리즘 5의 우선순위보다 높고, 알고리즘 5의 우선순위는 알고리즘 1의 우선순위보다 높으며, 알고리즘 1의 우선순위는 알고리즘 3의 우선순위보다 높다.
S602: 수신측 기기는 타깃 키 네고시에이션 알고리즘을 결정한다.
타깃 키 네고시에이션 알고리즘은 N개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘이다.
이 실시예에서, 수신측 기기는 제1 정보에서의 N개의 키 네고시에이션 알고리즘 중에서, 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로서 결정한다.
선택적으로, 수신측 기기는 수신된 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여, N개의 키 네고시에이션 알고리즘 중에 있고 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중에서 송신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘을 선택하고, 그 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로 사용한다.
예를 들어, 표 3은 수신측 기기에 의해 지원되는 모든 키 네고시에이션 알고리즘을 나타낸다. 수신측 기기에 의해 수신된 제1 정보는 표 1에 나타낸 5개의 키 네고시에이션 알고리즘을 지시한다. 제1 정보에서, 5개의 알고리즘의 식별자는 우선순위의 내림차순으로 정렬되어 있다. 표 1 내지 표 3으로부터 알 수 있는 것은, 5개의 키 네고시에이션 알고리즘 중에서, 수신측 기기는 알고리즘 2, 알고리즘 3, 및 알고리즘 5를 지원하고, 알고리즘 2의 우선순위는 알고리즘 3의 우선순위 및 알고리즘 5의 우선순위보다 높다. 이 경우, 수신측 기기는 알고리즘 2를 타깃 네고시에이션 알고리즘으로 선택한다.
선택적으로, 수신측 기기는 수신된 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘에 기초하여, N개의 키 네고시에이션 알고리즘에 있고 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중에서 수신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘을 결정하고, 그 키 네고시에이션 알고리즘을 타깃 네고시에이션 알고리즘으로 사용한다.
예를 들어, 표 4는 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘의 우선순위 정보를 나타낸다. 표 3에 나타낸 바와 같이, 수신측 기기에 의해 수신되는 제1 정보는 표 1에 나타낸 5개의 키 네고시에이션 알고리즘을 지시하며, 수신측 기기는 5개의 키 네고시에이션 알고리즘 중 알고리즘 2, 알고리즘 3, 알고리즘 5를 지원한다. 표 4에서 알 수 있는 것은, 수신측 기기의 경우, 알고리즘 3의 우선순위가 알고리즘 2의 우선순위보다 높고 알고리즘 2의 우선순위가 알고리즘 5의 우선순위보다 높다는 것이다. 이 경우, 수신측 기기는 알고리즘 3을 타깃 네고시에이션 알고리즘으로 선택한다. 이 실시예에서, 제1 정보에 지시되는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘은 우선순위 정보에 따라 배열되지 않을 수 있다는 점에 유의해야 한다. 즉, 제1 정보는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하지 않는다.
S603: 수신측 기기는 타깃 키 네고시에이션 알고리즘에 기초하여 제1 키 네고시에이션 파라미터를 생성한다.
제1 키 네고시에이션 파라미터는 수신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이다.
예를 들어, 수신측 기기는 선택된 키 네고시에이션 알고리즘을 사용하여 계산을 통해 키 네고시에이션 파라미터 KE 1을 획득한다.
S604: 수신측 기기는 제2 정보를 송신측 기기에 전송한다. 이에 따라, 송신측 기기는 수신측 기기로부터 제2 정보를 수신한다.
제2 정보는 타깃 키 네고시에이션 알고리즘을 지시하고, 제1 키 네고시에이션 파라미터를 포함한다.
선택적으로, 제2 정보는 제1 난수를 추가로 실어 전달하고, 제1 난수(NONCE 1)는 수신측 기기에 의해 생성된 난수이다.
선택적으로, 제2 정보는 수신측 기기의 식별자를 추가로 실어 전달한다. 수신측 기기의 식별자는 수신측 기기를 식별하는 데 사용된다.
S605: 송신측 기기는 타깃 키 네고시에이션 알고리즘 및 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성한다.
이 실시예에서, 제2 정보가 타깃 키 네고시에이션 알고리즘의 식별자를 실어 전달하기 때문에, 송신측 기기는 타깃 키 네고시에이션 알고리즘의 식별자를 사용하여, 수신측 기기에 의해 선택되는 키 네고시에이션 알고리즘을 결정하여, 타깃 키 네고시에이션 알고리즘 및 키 네고시에이션 파라미터 KE 1에 기초하여 타깃 키 KE를 생성하도록 한다. 또한, 송신측 기기는 타깃 키 네고시에이션 알고리즘에 기초하여 KE 2로 표시되는 키 네고시에이션 파라미터를 획득한다.
선택적으로, 송신측 기기는 제2 정보를 사용하여 타깃 키 네고시에이션 알고리즘을 결정한 후, 타깃 키 네고시에이션 알고리즘이 제1 정보에 의해 지시되는 N개의 키 네고시에이션 알고리즘 중 하나인지를 판정하고; 예이면, 송신측 기기는 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 및/또는 키 네고시에이션 파라미터 KE2를 획득하고; 아니오이면, 송신측 기기는 제2 정보를 폐기한다.
선택적으로, 송신측 기기는 타깃 키 KE에 기초하여 암호화 키 및 무결성 보호 키를 획득한다. 암호화 키는 송신측 기기와 수신측 기기 간에 송신되는 정보를 암호화하는 데 사용된다. 무결성 보호 키는 송신측 기기와 수신측 기기 간에 송신되는 정보에 대한 무결성 보호를 수행하는 데 사용된다.
송신측 기기가 암호화 키 및 무결성 보호 키를 획득하는 방식은 다음과 같다:
송신측 기기는 제2 난수(NONCE 2)를 무작위로 생성하고, 송신측 기기는 타깃 키 KE, 난수(NONCE 1) 및 난수(NONCE 2)를 키 파생 함수((key derivation function, KDF) KDF 1의 입력으로 사용하여, 공유 키 Kgt를 획득한다. 즉 Kgt = KDF 1(KE, NONCE 1, NONCE 2).
송신측 기기는 공유 키 Kgt를 KDF 2의 입력으로 사용하여, 암호화 키 및 무결성 보호 키를 획득한다, 즉 Kenc = KDF 2(Kgt)이다. 마찬가지로, Kint = KDF 3 (Kgt)이다. Kenc는 암호화 키이고, Kint는 무결성 보호 키이다.
다른 방식으로, 송신측 기기는 타깃 키 KE를 획득한 후, 타깃 키 KE를 KDF 2의 입력으로 사용하여, 암호화 키 및 무결성 보호 키를 획득한다, 즉 Kenc = KDF 2(KE)이다. 마찬가지로 Kint = KDF 3(KE)이다. Kenc는 암호화 키이고 Kint는 무결성 보호 키이다.
KDF 1, KDF 2 및 KDF 3은 동일하거나 상이할 수 있음에 유의해야 한다. 또한, 공유 키 Kgt를 획득하는 데 사용되는 KDF, 암호화 키 Kenc를 획득하는 데 사용되는 KDF, 및 무결성 보호 키 Kint를 획득하는 데 사용되는 KDF는 본 출원에서 한정되지 않는다.
본 출원의 이 실시예에서 공유 키 Kgt, 암호화 키 Kenc 및 무결성 보호 키 Kint를 획득하는 방식은 본 출원을 한정하기 위한 것이 아니며, 다른 방식이 대안적으로 사용될 수 있음을 이해할 수 있다. 예를 들어, Kenc = KDF 2(Kgt, ID 1)이고, Kint = KDF 3(Kgt, ID 2)이며, 여기서 ID 1은 암호화 알고리즘의 식별자, ID 2는 무결성 보호 알고리즘의 식별자이다.
선택적으로, 이 방법은 S606을 더 포함한다: 송신측 기기는 수신측 기기에 제3 정보를 전송한다. 이에 따라, 수신측 기기는 송신측 기기로부터 제3 정보를 수신한다.
제3 정보는 제2 키 네고시에이션 파라미터를 포함하고, 제2 키 네고시에이션 파라미터는 송신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이고, 제3 정보는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 지시하는 데 추가로 사용된다. 수신측 기기는 제1 정보가 변조(tampered)되었는지를 판정한다.
제3 정보는 또 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 지시한다. 제3 정보에 대해 무결성 보호가 수행되기 때문에, 수신측 기기는 제1 MAC과 제2 MAC의 비교 결과를 사용하여, 제3 정보가 위변조되었는지를 판정할 수 있다. 제3 정보가 위변조되지 않은 경우, 제3 정보에 의해 지시되는, 송신측 기기에 의해 지원하는 N개의 키 네고시에이션 알고리즘이 제1 정보로부터 획득되는, 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘과 일치하면, 제1 정보는 위변조되지 않았음을 지시하고; 그렇지 않으면 제1 정보가 위변조되었음을 지시하며, 수신측 기기는 제3 정보를 폐기하고 송신측 기기와의 연결을 해제한다.
S607: 수신측 기기는 제2 키 네고시에이션 파라미터 및 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성한다.
이 실시예에서, 수신측 기기는 송신측 기기의 키 네고시에이션 파라미터 KE 2를 수신한 후, 키 네고시에이션 알고리즘 및 수신된 키 네고시에이션 파라미터 KE 2에 기초하여 타깃 키 KE를 획득한다.
선택적으로, 수신측 기기는 송신측 기기와 동일한 방법을 사용하여 타깃 키 KE에 기초하여 암호화 키 Kenc 및 무결성 보호 키 Kint를 획득한다. 수신측 기기는 무결성 보호 알고리즘, 무결성 보호 키 Kint, 및 수신측 기기에 의해 수신되는 제3 정보의 일부 또는 전부에 기초하여 제2 메시지 인증 코드(MAC)를 획득한다. 제1 MAC이 제2 MAC과 일치하면, 제3 정보가 위변조되지 않았음을 지시한다. 그렇지 않으면, 수신측 기기는 제3 정보를 폐기하고, 수신측 기기와 송신측 기기 사이의 현재 연결을 해제한 다음, 제2 정보를 재전송할 수 있다.
선택적으로, 키 네고시에이션 방법은 S608을 더 포함한다: 수신측 기기는 제4 정보를 송신측 기기에 전송한다. 이에 따라, 송신측 기기는 제4 정보를 수신한다.
선택적으로, 키 네고시에이션 방법은 S609를 더 포함한다: 송신측 기기는 제4 정보의 검증을 시도한다.
이 실시예에서, 제4 정보는 제2 인증 데이터를 더 포함하고, 제2 인증 데이터는 수신측 기기가 제3 정보에 대해 인증 처리를 수행한 후에 획득된 인증 데이터이다. 제2 인증 데이터는 제3 정보의 위변조를 지시하는 데 사용된다. 제3 정보의 위변조 여부는 제2 인증 데이터와 제2 참조 인증 데이터의 매칭 결과를 사용하여 지시된다. 제2 참조 인증 데이터는 제3 정보에 대해 인증 처리를 수행한 후 획득된 인증 데이터이다.
송신측 기기는 제3 정보를 수신측 기기에 전송하여, 수신측 기기가 타깃 키를 획득할 수 있도록 한다. 그러나, 수신측 기기는 타깃 키를 생성하지 않기 때문에, 암호화 키가 생성될 수 없다. 따라서, 송신측 기기는 제3 정보를 암호화할 수 없다. 즉, 제3의 정보는 보안 보호를 받지 못하고, 그 결과 송신 중에 제3 정보가 위변조될 가능성이 있다. 제3 정보가 위변조되면, 송신측 기기와 수신측 기기 간의 통신 정보가 유출될 수 있다. 따라서 제3 정보가 위변조되었는지를 판정해야 한다. 따라서, 수신측 기기는 제3 정보에 대한 인증 처리를 수행하여 제2 인증 데이터 AUTH 2를 획득하고, 제2 인증 데이터 AUTH 2를 제4 정보에 추가하고, 제4 정보를 송신측 기기에 전송한다. 제3 정보는 송신측 기기에 의해 전송되기 때문에, 송신측 기기는 제3 정보가 위변조되었는지를 판정한다. 예를 들어, AUTH 2는 수신된 제3 정보, 미리 설정된 공유 키 PSK, 난수(NONCE 1) 및 KDF 6에 기초하여 수신측 기기에 의해 획득된다. 즉, AUTH 2 = KDF 6(PSK, 제3 정보, NONCE 1)이다.
송신측 기기는 제4 정보로부터 AUTH 2를 획득하고, 인증 데이터 AUTH 2를 제2 참조 인증 데이터와 매칭시킨다. 제2 참조 인증 데이터는 송신측 기기에 의해 전송되는 제3 정보, 미리 설정된 공유 키 PSK, 난수(NONCE 1) 및 KDF 5에 기초하여 송신측 기기에 의해 획득된다. 즉, 제3 참조 인증 데이터 = KDF 6(PSK, 제3 정보, NONCE 1)이다. 따라서, 제3 정보가 전송 중에 위변조되지 않으면, 즉, 수신측 기기에 의해 수신된 제3 정보가 송신측 기기에 의해 전송된 제3 정보와 일치하면, 인증 데이터 AUTH 2는 제2 참조 인증 데이터와 매칭된다. 제3 정보가 전송 중에 위변조되면, 인증 데이터 AUTH 2는 제2 참조 인증 데이터와 매칭되지 않는다. 따라서, 송신측 기기는 인증 데이터 AUTH 2 및 제2 참조 인증 데이터의 매칭 결과에 따라, 수신측 기기에 의해 수신된 제3 정보가 송신측 기기에 의해 송신된 제3 정보와 일치하는지를 판정할 수 있다. 인증 데이터 AUTH 2가 참조 인증 데이터와 매칭되면, 제3 정보가 위변조되지 않았고, 송신측 기기와 수신측 기기 간의 키 네고시에이션이 성공했음을 지시하고; 그렇지 않으면 송신측 기기는 수신측 기기와의 연결을 해제한다.
도 7은 본 출원의 다른 실시예에 따른 키 네고시에이션 방법의 흐름도이다. 도 7에 도시된 바와 같이, 본 출원의 이 실시예의 키 네고시에이션 방법은 다음 단계를 포함한다.
S701: 제6 정보를 전송한다. 이에 따라, 수신측 기기는 제6 정보를 수신한다.
이 실시예에서, 제6 정보는 제1 정보와 비교하면, 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 지시하지 않는다. 따라서, 수신측 기기는 제6 정보를 수신한 후, 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 알 수 없다.
S702: 수신측 기기는 제1 타깃 키 네고시에이션 알고리즘을 결정한다.
제1 타깃 키 네고시에이션 알고리즘은 수신측 기기에 의해 M개의 키 네고시에이션 알고리즘으로부터 결정되는 키 네고시에이션 알고리즘이다.
이 실시예에서, 수신측 기기는 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 알지 못하기 때문에, 수신측 기기는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘 중에서 제1 타깃 키 네고시에이션 알고리즘을 결정한다.
S703: 수신측 기기는 제1 타깃 키 네고시에이션 알고리즘에 기초하여 제1 키 네고시에이션 파라미터를 생성한다.
이 실시예에서, 수신측 기기는 개인 키를 생성하며, 여기서 개인 키는 수신측 기기에게만 알려져 있고, 수신측 기기는 선택된 키 네고시에이션 알고리즘을 사용하여 공개 키를 생성하며, 공개 키는 키 네고시에이션 파라미터 KE 1이다.
S704: 수신측 기기는 송신측 기기에 제2 정보를 전송한다. 이에 따라, 송신측 기기는 수신측 기기로부터 제2 정보를 수신한다.
제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘, 제1 타깃 키 네고시에이션 파라미터 및 제1 키 네고시에이션 파라미터를 지시하는 데 사용된다.
S705: 송신측 기기는 제1 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 네고시에이션을 수행할지를 판정하고, 예(Yes)이면 S706을 수행하고, 아니오(No)이면 S710을 수행한다.
이 실시예에서, 제1 타깃 키 네고시에이션 알고리즘을 선택할 때, 수신측 기기는 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘을 알지 못한다. 따라서, 제1 타깃 키 네고시에이션 알고리즘은 송신측 기기에 의해 지원되지 않을 수 있다. 따라서, 송신측 기기는 제2 정보를 수신한 후, 제1 타깃 키 네고시에이션 알고리즘이 송신측 기기에 의해 지원되는지를 판정하고; 그렇다면(Yes), S706을 수행하고; 그렇지 않으면(No), S710을 수행한다.
선택적으로, 송신측 기기는 제1 타깃 키 네고시에이션이 송신측 기기에 의해 지원되고 또한 수신측 기기에 의해서도 지원되는 알고리즘들 중에서 송신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘인지를 추가로 판정할 수 있다. 그렇다면, S706이 수행되고; 그렇지 않으면 S710이 수행된다.
선택적으로, 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 추가로 지시한다. 따라서, 송신측 기기는 제2 정보에 기초하여 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 알 수 있다. 이 경우, 송신측 기기는 제1 타깃 키 네고시에이션이 송신측 기기에 의해 지원되고 수신측 기기에 의해서도 지원되는 알고리즘들 중에서 수신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘인지를 추가로 판정할 수 있다. 그렇다면, S706이 수행되고; 그렇지 않으면 S710이 수행된다.
S706: 송신측 기기는 제1 타깃 키 네고시에이션 알고리즘 및 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성한다.
이 실시예에서, 송신측 기기는 제1 타깃 키 네고시에이션 알고리즘 및 키 네고시에이션 파라미터 KE 1에 기초하여 타깃 키 KE를 생성한다. 또한, 송신측 기기는 개인 키를 생성하며 - 여기서 개인 키는 송신측 기기에만 알려져 있음 -, 그 다음에 송신측 기기는 제1 타깃 키 네고시에이션 알고리즘에 기초한 계산을 통해 대응하는 공개 키를 획득한다. 공개 키는 KE 2로 표시되는 제2 키 네고시에이션 파라미터이다.
S707: 송신측 기기는 수신측 기기에 제3 정보를 전송한다. 이에 따라, 수신측 기기는 송신측 기기로부터 제3 정보를 수신한다.
제3 정보는 제2 키 네고시에이션 파라미터를 포함한다.
S708: 수신측 기기는 제2 키 네고시에이션 파라미터 및 제1 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성한다.
이 실시예에서, 제3 정보는 키 네고시에이션 파라미터 KE 2를 포함하고, 수신측 기기는 제3 정보를 수신한 후, 키 네고시에이션 파라미터 KE 2 및 제1 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 KE를 생성한다.
S709: 수신측 기기는 제4 정보를 송신측 기기에 전송한다. 이에 따라, 송신측 기기는 제4 정보를 수신한다.
제4 정보는 송신측 기기에 의해 키 네고시에이션의 성공했는지를 판정하는 데 사용된다.
S710: 송신측 기기는 제2 타깃 키 네고시에이션 알고리즘을 결정한다.
제2 타깃 키 네고시에이션 알고리즘은 송신측 기기 및 수신측 기기 모두에 의해 지원되고 송신측 기기에 의해 N개의 키 네고시에이션 알고리즘 및 M개의 키 네고시에이션 알고리즘 중에서 결정되는 키 네고시에이션 알고리즘이다.
이 실시예에서, 송신측 기기는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘을 알고 있다. 이 경우, 송신측 기기는 송신측에 의해 지원되는 N개의 키 네고시에이션 알고리즘과 수신측 기기에 의해 지원하는 M개의 키 네고시에이션 알고리즘 중에서, 송신측과 수신측에서 모두에 의해 지원되는 키 네고시에이션 알고리즘을 제2 타깃 키 네고시에이션 알고리즘으로 선택한다.
선택적으로, 송신측 기기는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘과 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘 중에서 송신측 기기에 대해 우선순위가 가장 높고 송신측 기기와 수신측 기기 모두에 의해 지원되는 키 네고시에이션 알고리즘을 제2 타깃 키 네고시에이션 알고리즘으로 추가로 선택할 수 있다.
선택적으로, 송신측 기기는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘과 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘 중에서 송신측 기기에 대해 우선순위가 가장 높고 송신측 기기와 수신측 기기 모두에 의해 지원되는 키 네고시에이션 알고리즘을 제2 타깃 키 네고시에이션 알고리즘으로 추가로 선택할 수 있다.
선택적으로, 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 추가로 지시한다. 이 경우, 송신측 기기는 송신측 기기는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘과 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 대해 우선순위가 가장 높고 송신측 기기 및 수신측 기기 모두에 의해 지원되는 키 네고시에이션 알고리즘을 제2 타깃 키 네고시에이션 알고리즘으로 추가로 선택할 수 있다.
S711: 송신측 기기는 수신측 기기에 제7 정보를 전송한다.
제7 정보는 송신측 기기에 의해 선택된 제2 타깃 키 네고시에이션 알고리즘을 지시하는 데 사용된다.
예를 들어, 송신측 기기는 제7 정보를 사용하여 수신측 기기에 제2 타깃 키 네고시에이션 알고리즘을 전송한다. 수신측 기기는 제7 정보를 수신한 후, 도 4에서의 단계 S403 내지 S408을 수행하지만, 타깃 키 네고시에이션 알고리즘은 제2 번째 타깃 키 네고시에이션 알고리즘이다. 구체적으로, 수신측 기기는 제7 정보에 기초하여 제2 타깃 키 네고시에이션 알고리즘을 학습한 다음, 개인 키를 생성하며, 여기서 개인 키는 수신측 기기에만 알려져 있고; 수신측 기기는 제2 키 네고시에이션 알고리즘을 사용하여 공개 키를 생성하며, 여기서 공개 키는 키 네고시에이션 파라미터 KE 1이고; 수신측 기기는 송신측 기기에 제2 정보를 전송하며, 여기서 제2 정보는 키 네고시에이션 파라미터 KE 1을 포함한다.
송신측 기기는 제2 정보를 수신한 후, 키 네고시에이션 파라미터 KE 1을 획득하고, 송신측 기기는 개인 키를 생성하며, 여기서 개인 키는 송신측 기기에만 알려져 있다. 송신측 기기는 키 네고시에이션 파라미터 KE 1, 송신측 기기에 대응하는 개인 키 및 제2 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 KE를 획득한다. 또한, 송신측 기기는 제2 키 네고시에이션 알고리즘을 사용하여 생성된 개인키에 기초하여 공개 키를 생성하며, 여기서 공개키는 키 네고시에이션 파라미터 KE 2이고, 송신측 기기는 제3 정보를 수신측 기기에 전송하며, 여기서 제3 정보는 키 네고시에이션 파라미터 KE 2를 포함한다.
수신측 기기는 제3 정보를 수신한 후, 키 네고시에이션 파라미터 KE 2를 획득하고, 수신측 기기는 개인 키를 생성하며, 여기서 개인 키는 수신측 기기에만 알려져 있다. 수신측 기기는 키 네고시에이션 파라미터 KE 2, 수신측 기기에 대응하는 개인 키, 및 제2 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 KE를 획득한다.
선택적으로, 제7 정보는 송신측 기기에 의해 선택되는 제2 타깃 키 네고시에이션 알고리즘, 및 제2 키 네고시에이션 파라미터를 지시하는 데 사용된다. 송신측 기기는 제2 타깃 키 네고시에이션 알고리즘을 결정한 후, 개인 키를 생성하며, 여기서 개인 키는 송신측 기기에만 알려져 있다. 송신측 기기는 제2 타깃 키 네고시에이션 알고리즘을 사용하여 키 네고시에이션 파라미터 KE 2를 생성하고, 키 네고시에이션 파라미터 KE 2 및 제2 타깃 키 네고시에이션 알고리즘을 수신측 기기에 전송한다. 이러한 방식으로, 수신측 기기는 제7 정보를 사용하여 키 네고시에이션 파라미터 KE 2를 직접 학습할 수 있으므로, 송신측 기기는 키 네고시에이션 파라미터 KE 2를 지시하기 위해 다른 정보를 전송할 필요가 없어, 송신측 기기와 수신측 기기 간의 정보 교환이 줄어들고, 키 네고시에이션 효율이 향상된다.
수신측 기기는 제7 정보를 수신한 후, 송신측 기기의 키 네고시에이션 파라미터 KE 2, 및 제2 타깃 키 네고시에이션 알고리즘을 획득할 수 있다. 수신측 기기는 개인 키를 생성하며, 개인 키는 수신측 기기에만 알려져 있다. 그 다음, 수신측 기기는 제2 타깃 키 네고시에이션 알고리즘에 기초하여 키 네고시에이션 파라미터 KE 1을 생성한다. 그 다음, 수신측 기기는 키 네고시에이션 파라미터 KE 2 및 제2 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 KE를 생성한다. 그 다음, 수신측 기기는 송신측 기기에 제2 정보를 전송하며, 여기서 제2 정보는 키 네고시에이션 파라미터 KE 1을 포함한다.
선택적으로, 제2 정보는 수신측 기기에 의해 무작위로 생성되는 제1 난수(NONCE 1)를 더 포함한다.
선택적으로, 제2 정보는 제4 인증 데이터를 더 포함할 수 있고, 제4 인증 데이터는 수신된 제7 정보, 미리 설정된 공유 키 PSK 및 KDF 9에 기초하여 수신측 기기에 의해 획득된다. 즉, 제4 참조 인증 데이터 = KDF 9(PSK, 수신자에 의해 수신된 제7 정보)이다. 송신측 기기는 제2 정보를 수신한 후, 제4 인증 데이터를 제4 참조 인증 데이터와 비교한다. 제4 참조 인증 데이터는 전송된 제7 정보, 미리 설정된 공유 키 PSK 및 KDF 9에 기초하여 송신측 기기에 의해 획득한다. 이 경우, 제4 인증 데이터가 제4 참조 인증 데이터와 매칭되면, 제7 정보는 전송 과정에서 위변조되지 않았음을 지시하고; 그렇지 않으면 송신측 기기는 제2 정보를 폐기하고 수신측 기기와의 연결을 해제한다. 선택적으로 제2 정보는 무결성 보호 정보이다.
전송 과정에서 제7 정보가 위변조되지 않으면, 송신측 기기는 수신측 기기에 제3 정보를 전신하며, 여기서 제3 정보는 암호화되고 무결성 보호된 정보이다. 제3 정보는 제5 인증 데이터를 포함하고, 제5 인증 데이터는 S704에서 송신측 기기에 의해 수신되는 대응하는 제2 정보, 미리 설정된 공유 키 PSK, 송신측 기기에 의해 수신되는 제2 정보에 기초하여 송신측 기기에 의해 획득되고, 제4 인증 데이터를 실어 전달한다. 즉, 제4 참조 인증 데이터 = KDF 9(PSK, S704에서 송신측 기기에 의해 수신되는 대응하는 제2 정보, 및 송신측 기기에 의해 수신되고 제4 인증 데이터를 실어 전달하는 제2 정보). 송신측 기기는 제3 정보를 수신한 후, 제5 인증 데이터를 제5 참조 인증 데이터와 비교한다. 제5 참조 인증 데이터는 S704에서 전송된 대응하는 제2 정보, 미리 설정된 공유 키 PSK, 제4 인증 데이터를 포함하는 전송된 제2 정보, 및 KDF 10에 기초하여 수신기에 의해 획득된다. 따라서 제5 인증 데이터가 제5 참조 인증 데이터와 매칭되면, S704에서의 대응하는 제2 정보도 제4 인증 데이터를 포함하는 제2 정보도 전송 과정에서 위변조되지 않았음을 지시하고; 그렇지 않으면, 수신측 기기는 제3 정보를 폐기하고, 수신측 기기와의 연결을 해제한다.
송신측 기기는 제2 정보를 수신한 후, 키 네고시에이션 파라미터 KE 1을 획득하고, 키 네고시에이션 파라미터 KE 1 및 제2 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키 KE를 획득한다.
선택적으로, 제7 정보는 송신측 기기에 의해 무작위로 생성되는 제2 난수(NONCE 2)를 더 포함한다.
전술한 실시예에서, 송신측 기기에 의해 구현되는 방법 또는 단계는 수신측 기기에 사용될 수 있는 구성요소에 의해 구현될 수도 있고, 수신측 기기에 의해 구현되는 방법 또는 단계는 또한 송신측 기기에 사용될 수 있는 구성요소에 의해 구현될 수도 있다.
도 8은 본 출원의 일 실시예에 따른 키 네고시에이션 장치의 구성 개략도이다. 도 8에 도시된 바와 같이, 이 실시예의 키 네고시에이션 장치(800)는 전술한 방법 실시예에서 언급한 송신측 기기 또는 수신측 기기일 수 있다. 키 네고시에이션 장치는 전술한 방법 실시예에서 설명된 송신측 기기 또는 수신측 기기에 대응하는 방법을 구현하도록 구성될 수 있다. 자세한 내용은 전술한 방법 실시예의 설명을 참조한다.
키 네고시에이션 장치(800)는 하나 이상의 프로세서(801)를 포함할 수 있다. 프로세서(801)는 또한 처리 유닛으로 지칭될 수 있고, 특정 제어 또는 처리 기능을 구현할 수 있다. 프로세서(801)는 범용 프로세서, 전용 프로세서 등일 수 있다. 예를 들어, 프로세서는 기저대역 프로세서 또는 중앙 처리 장치일 수 있다. 기저대역 프로세서는 통신 프로토콜 및 통신 데이터를 처리하도록 구성될 수 있다. 중앙 처리 장치는 통신 장치를 제어하고, 소프트웨어 프로그램을 실행하고, 소프트웨어 프로그램의 데이터를 처리하도록 구성될 수 있다.
선택적 설계에서, 프로세서(801)는 명령어(803) 또는 데이터(예: 중간 데이터)를 저장할 수도 있다. 명령어(803)은 프로세서에 의해 실행되어, 키 네고시에이션 장치(800)가 전술한 방법 실시예에서 설명된 송신측 기기 또는 수신측 기기에 대응하는 방법을 수행할 수 있게 할 수 있다.
다른 가능한 설계에서, 키 네고시에이션 장치(800)는 회로를 포함할 수 있다. 회로는 전술한 방법 실시예에서의 전송, 수신 또는 통신 기능을 구현할 수 있다.
선택적으로, 키 네고시에이션 장치(800)는 하나 이상의 메모리(802)를 포함할 수 있다. 메모리는 명령어(804)을 저장하고, 명령어는 프로세서에서 실행되어, 키 네고시에이션 장치(800)가 전술한 방법 실시예에서 설명된 방법을 수행할 수 있도록 할 수 있다.
선택적으로, 메모리는 데이터를 저장할 수도 있다. 프로세서와 메모리는 개별적으로 배치되거나 함께 통합될 수 있다.
선택적으로, 키 네고시에이션 장치(800)는 송수신기(805) 및/또는 안테나(806)를 더 포함할 수 있다. 프로세서(801)는 처리 유닛으로 지칭될 수 있고, 키 네고시에이션 장치(송신측 기기 또는 수신측 기기)를 제어한다. 송수신기(805)는 송수신기 유닛, 송수신기 기계, 송수신기 회로, 송수신기 등으로 지칭될 수 있고, 키 네고시에이션 장치의 송수신 기능을 구현하도록 구성된다.
설계 시, 키 네고시에이션 장치(800)는 전술한 실시예에서의 수신측 기기에 대응하는 동작을 구현하도록 구성된다. 예를 들어, 송수신기(805)는 송신측 기기로부터 제1 정보를 수신할 수 있다. 프로세서(801)는 제1 정보에 기초하여 수신측 기기가 송신측 기기와 키 네고시에이션을 수행한다고 결정한다.
다른 설계에서, 키 네고시에이션 장치(800)는 전술한 실시예에서의 송신측 기기에 대응하는 동작을 구현하도록 구성된다. 예를 들어, 프로세서(801)는 제1 정보를 결정할 수 있으며, 여기서 제1 정보는 송신측 기기에 의해 지원되는 키 네고시에이션 알고리즘 능력을 지시하고, 송수신기(805)는 제1 정보를 수신측 기기에 전송한다.
송수신기(805) 및 프로세서(801)의 구체적인 구현 프로세스에 대해서는 전술한 실시예의 관련 설명을 참조하고 세부사항은 여기에서 다시 설명하지 않는다.
본 출원에 기술된 프로세서(801) 및 송수신기(805)는 집적 회로(integrated circuit, IC), 아날로그 IC, 무선 주파수 집적 회로(radio frequency integrated circuit, RFIC), 혼합 신호(mixed signal) IC, 주문형 반도체(application-specific integrated circuit, ASIC), 인쇄 회로 기판(printed circuit board, PCB), 전자 기기 등에 구현될 수 있다. 프로세서 및 송수신기는 다양한 IC 기술, 예를 들어, 상보형 금속 산화물 반도체(complementary metal oxide semiconductor, CMOS), N형 금속 산화물 반도체(N-type metal oxide semiconductor, NMOS), 포지티브 채널 금속 산화물 반도체(positive channel metal oxide semiconductor, PMOS), 바이폴라 접합 트랜지스터(bipolar junction transistor, BJT), 바이폴라 CMOS(BiCMOS), 실리콘 게르마늄(SiGe) 및 갈륨 비소(GaAs)을 사용하여 제조될 수있다.
전술한 실시예에서는 키 네고시에이션 장치(800)가 송신측 기기 또는 수신측 기기를 예로 들어 설명되었지만, 본 출원에서 설명된 키 네고시에이션 장치의 범위는 전술한 송신측 기기 또는 전술한 수신기측 기기에 한정되지 않는다. 또한, 키 네고시에이션 장치(800)의 구성은 도 8에 한정되지 않을 수 있다. 키 네고시에이션 장치(800)는 독립적인 기기일 수 있거나 비교적 큰 기기의 일부일 수 있다. 예를 들어, 기기는 다음과 같은 것일 수 있다:
(1) 독립적인 집적 회로(IC), 칩 또는 칩 시스템이나 서브시스템;
(2) 하나 이상의 IC를 포함하는 세트, 예기서 선택적으로 IC 세트는 데이터 및/또는 명령어를 저장하도록 구성된 저장 구성요소를 더 포함할 수 있음;
(3) ASIC, 예를 들어 모뎀(MSM);
(4) 다른 기기에 내장될 수 있는 모듈;
(5) 수신기, 단말기, 셀룰러 폰, 무선 기기, 핸드헬드 폰, 이동 유닛, 네트워크 기기 등; 또는
(6) 기타 등등.
도 9는 본 출원의 다른 실시예에 따른 키 네고시에이션 장치의 구성 개략도이다. 이 키 네고시에이션 장치는 도 4 내지 도 6에 도시된 방법 실시예에서의 송신측 기기에 대응하는 동작 또는 단계를 구현하도록 구성된 송신측 기기일 수 있거나, 송신측 기기의 구성요소(예: 집적 회로 또는 칩)일 수 있거나, 또 다른 통신 모듈일 수 있다. 도 9에 도시된 바와 같이, 이 실시예에서 제공되는 키 네고시에이션 장치는 제1 송신 모듈(901), 제1 수신 모듈(902) 및 제1 처리 모듈(903)을 포함한다.
제1 전송 모듈(901)은 제1 정보를 수신측 기기에 전송하도록 구성되며, 여기서 제1 정보는 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, N은 1보다 크거나 같은 정수이며, N개의 키 네고시에이션 알고리즘은 송신측 기기에 의해 지원되는 알고리즘이다.
제1 수신 모듈(902)은 수신측 기기로부터 제2 정보를 수신하도록 구성되며, 여기서 제2 정보는 타깃 키 네고시에이션 알고리즘을 지시하는 데 사용되고 제1 키 네고시에이션 파라미터를 포함하며, 타깃 키 네고시에이션 알고리즘은 N개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘이고, 제1 키 네고시에이션 파라미터는 수신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이다.
제1 처리 모듈(903)은 타깃 키 네고시에이션 알고리즘 및 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성하도록 구성된다.
선택적으로, 제1 전송 모듈(901)은 추가로,
수신측 기기에 제3 정보를 전송하도록 구성되며, 여기서 제3 정보는 제2 키 네고시에이션 파라미터를 포함하고, 제2 키 네고시에이션 파라미터는 송신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이다.
선택적으로, 제1 전송 모듈(901)은 수신측 기기에 제3 정보를 전송하는 경우, 구체적으로,
수신측 기기에, 무결성 보호 알고리즘을 사용하여 처리된 제3 정보를 전송하도록 구성된다.
선택적으로, 제1 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용된다.
제1 정보는 N개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 식별 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화된다.
선택적으로, 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘을 지시하는 데 추가로 사용되며, M은 1보다 크거나 같은 정수이다.
타깃 키 네고시에이션 알고리즘 및 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성하는 것은,
타깃 키 네고시에이션 알고리즘이 M개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 대해 우선순위가 가장 높은 키 네고시에이션 알고리즘이라고 결정하는 것; 및
타깃 키 네고시에이션 알고리즘 및 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성하는 것을 포함한다.
선택적으로, 제1 수신 모듈(902)은 추가로, .
수신측 기기로부터 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 수신하도록 구성된다.
선택적으로, 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용된다.
제2 정보는 M개의 키 네고시에이션 알고리즘의 식별 정보를 포함하며, 식별 정보는 M개의 키 네고시에이션 알고리즘의 우선순위에 따라 배열 또는 캡슐화된다.
선택적으로, 제1 전송 모듈(901)은 추가로,
수신측 기기에 제1 인증 데이터를 전송하도록 구성되며, 여기서 제1 인증 데이터는 송신측 기기가 제2 정보에 대한 인증 처리를 수행한 후 획득된 인증 데이터이다.
선택적으로, 제1 수신 모듈(902)은 추가로,
수신측 기기에 의해 전송되는 제4 정보를 수신하도록 구성되고;
제1 제1 모듈(903)은 추가로,
제4 정보의 검증을 시도하도록 구성되며;
여기서 제4 정보는 제2 인증 데이터를 포함하고, 제2 인증 데이터는 수신측 기기로부터의 데이터이고 제3 정보에 대해 인증 처리가 수행된 후 획득된 데이터이다.
선택적으로, 제1 수신 모듈(902)은 추가로,
수신측 기기에 의해 전송되는 제4 정보를 수신하도록 구성되며;
제1 처리 모듈(903)은 추가로,
제4 정보의 검증을 시도하도록 구성되며;
여기서 제4 정보는 제3 인증 데이터를 포함하고, 제3 인증 데이터는 수신측 기기로부터의 데이터이고 제3 정보 및 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘에 대해 인증 처리가 수행된 후 수신측 기기로부터 획득된 데이터이다.
선택적으로, 제4 정보는 무결성 보호 알고리즘을 사용하여 처리되었다.
선택적으로, 인증 처리는 미리 설정된 공유 키에 기초하여 수행되는 인증 처리를 더 포함한다.
선택적으로, 제3 정보는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 추가로 지시한다.
선택적으로, 수신측 기기에 제1 정보를 전송하는 경우, 제1 전송 모듈(901)은 구체적으로,
수신측 기기에 브로드캐스트 방식으로 제1 정보를 전송하도록 구성된다.
구체적으로, 이 실시예에서 제공되는 키 네고시에이션 장치는 전술한 방법 실시예 중 어느 하나의 기술적 방안을 실행하도록 상응하게 구성될 수 있다. 구현 원리 및 그 기술적 효과는 유사하며, 세부사항은 여기에서 다시 설명하지 않는다.
도 10은 본 출원의 다른 실시예에 따른 키 네고시에이션 장치의 구성 개략도이다. 이 키 네고시에이션 장치는 수신측 기기일 수 있거나, 수신측 기기의 구성요소(예: 집적 회로 또는 칩)일 수 있거나, 도 4 내지 도 6에 도시된 방법 실시예에서의 수신측 기기에 대응하는 동작 또는 단계를 구현하도록 구성된 다른 통신 모듈일 수 있다. 도 10에 도시된 바와 같이, 이 실시예에서 제공되는 키 네고시에이션 장치는 제2 수신 모듈(1001), 제2 처리 모듈(1002) 및 제2 송신 모듈(1003)을 포함한다.
제2 수신 모듈(1001)은 송신측 기기로부터 제1 정보를 수신하도록 구성되며, 여기서 제1 정보는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 지시하고, N은 1보다 크거나 같은 정수이다.
제2 처리 모듈(1002)은 타깃 키 네고시에이션 알고리즘을 결정하고, 타깃 키 네고시에이션 알고리즘에 기초하여 제1 키 네고시에이션 파라미터를 생성하도록 구성되며, 여기서 타깃 키 네고시에이션 알고리즘은 N개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘이고, 제1 키 네고시에이션 파라미터는 수신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득된 키 네고시에이션 파라미터이다.
제2 전송 모듈(1003)은 송신측 기기에 제2 정보를 전송하도록 구성되며, 여기서 제2 정보는 타깃 키 네고시에이션 알고리즘을 지시하고 제1 키 네고시에이션 파라미터를 포함한다.
제2 수신 모듈(1001)은 송신측 기기로부터 제3 정보를 수신하도록 구성되며, 여기서 제3 정보는 제2 키 네고시에이션 파라미터를 지시하고, 제2 키 네고시에이션 파라미터는 송신측 기기에 대응하고 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터이다.
제2 처리 모듈(1002)은 추가로, 제2 키 네고시에이션 파라미터 및 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성하도록 성된다.
선택적으로, 제3 정보는 무결성 보호 알고리즘을 사용하여 처리되었다.
선택적으로, 제1 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용된다. 제1 정보는 N개의 키 네고시에이션 알고리즘의 식별 정보를 포함하며, 식별 정보는 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화된다.
제2 처리 모듈(1002)은 타깃 키 네고시에이션 알고리즘을 다음과 같이 결정한다:
N개의 키 네고시에이션 알고리즘 중에서 송신측 기기에 대한 우선순위가 가장 높은 키 네고시에이션 알고리즘을 타깃 키 네고시에이션 알고리즘으로 결정한다.
선택적으로, 타깃 키 네고시에이션 알고리즘을 결정하는 경우, 제2 처리 모듈(1002)은 구체적으로,
N개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 대한 우선순위가 가장 높은 키 네고시에이션 알고리즘을 타깃 키 네고시에이션 알고리즘으로 결정한다.
선택적으로, 제2 정보는 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용된다.
제2 정보는 M개의 키 네고시에이션 알고리즘의 식별 정보를 포함하며, 식별 정보는 M개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화된다.
선택적으로, 제2 수신 모듈(1001) 추가로,
송신측 기기로부터 제1 인증 데이터를 수신하도록 구성되며, 여기서 제1 인증 데이터는 송신측 기기가 제2 정보에 대해 인증 처리를 수행한 후 획득된 인증 데이터이다.
선택적으로, 제2 전송 모듈(1003)은 추가로,
송신측 기기에 제4 정보를 전송하도록 구성되며, 여기서 제4 정보는 제2 인증 데이터를 포함하고, 제2 인증 데이터는 수신측 기기가 제3 정보에 대해 인증 처리를 수행한 후 획득된 인증 데이터이다.
선택적으로, 제2 전송 모듈(1003)은 추가로,
제4 정보를 송신측 기기에 전송하도록 구성되며, 여기서 제4 정보는 제3 인증 데이터를 포함하고, 제3 인증 데이터는 수신측 기기가 제3 정보 및 제1 정보에 지시되는 N개의 키 네고시에이션 알고리즘에 대한 인증 처리를 수행한 후 획득된 인증 데이터이다.
선택적으로, 제4 정보를 송신측 기기에 전송하는 경우, 제2 전송 모듈(1003)은 구체적으로,
무결성 보호 알고리즘을 사용하여 처리된 제4 정보를 송신측 기기로 전송하도록 구성된다.
선택적으로 인증 처리는 미리 설정된 키에 기초하여 수행되는 인증 처리를 더 포함한다.
선택적으로, 제3 정보는 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 추가로 지시한다.
구체적으로, 이 실시예에서 제공되는 키 네고시에이션 장치는 전술한 방법 실시예 중 어느 하나의 기술적 방안을 실행하도록 상응하게 구성될 수 있다. 구현 원리 및 그 기술적 효과는 유사하며, 세부사항은 여기에서 다시 설명하지 않는다.
도 11은 본 출원의 일 실시예에 따른 통신 시스템의 구성 개략도이다. 도 11에 도시된 바와 같이, 이 실시예의 통신 시스템(1100)은 송신측 기기(1101) 및 수신측 기기(1102)를 포함할 수 있다.
다른 가능한 구현에서, 송신측 기기(1101)는 도 8 또는 도 9에 도시된 장치 실시예의 구성을 사용할 수 있다. 이에 상응하여, 송신측 기기(1101)는 전술한 방법 실시예 중 어느 하나에서의 송신측 기기와 관련된 기술적 방안을 수행할 수 있다. 구현 원리 및 그 기술적 효과는 유사하다. 세부사항은 여기서 다시 설명하지 않는다.
다른 가능한 구현에서, 수신측 기기(1102)는 도 8 또는 도 10에 도시된 장치 실시예의 구성을 사용할 수 있다. 이에 상응하여, 수신측 기기(1102)는 전술한 방법 실시예 중 어느 하나에서의 수신측 기기와 관련된 기술적 방안을 수행할 수 있다. 구현 원리 및 그 기술적 효과는 유사하다. 세부사항은 여기서 다시 설명하지 않는다.
다른 가능한 구현에서, 송신측 기기(1101)는 도 8 또는 도 9에 도시된 장치 실시예의 구성을 사용할 수 있다. 이에 상응하여, 송신측 기기(1101)는 전술한 방법 실시예 중 어느 하나에서의 송신측 기기와 관련된 기술적 방안을 수행할 수 있다. 구현 원리 및 그 기술적 효과는 유사하다. 세부사항은 여기서 다시 설명하지 않는다. 수신측 기기(1102)는 도 8 또는 도 10에 도시된 장치 실시예의 구성을 사용할 수 있다. 이에 상응하여, 수신측 기기(1102)는 전술한 방법 실시예 중 어느 하나에서의 수신측 기기와 관련된 기술적 방안을 수행할 수 있다. 구현 원리 및 그 기술적 효과는 유사하다. 세부사항은 여기서 다시 설명하지 않는다.
통합된 모듈이 소프트웨어 기능 모듈 형태로 구현되어 독립된 제품으로 판매 또는 사용되는 경우, 통합된 모듈은 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있다. 이러한 이해를 바탕으로, 본질적으로 본 출원의 기술적 방안, 또는 현재 기술에 기여하는 부분, 또는 기술적 방안의 전부 또는 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되며 컴퓨터 기기(개인용 컴퓨터, 서버 또는 네트워크 기기일 수 있음) 또는 프로세서(processor)에게 본 출원의 실시예에 기재된 방법의 단계들 중 일부 또는 전부를 수행하도록 명령하는 여러 명령어를 포함한다. 전술한 저장 매체로는 USB 플래시 드라이브, 탈식식 하드 디스크 드라이브, 판독 전용 메모리(read-only memory, ROM), 랜덤 액세스 메모리(random access memory, RAM), 자기 디스크 및 광 디스크와 같은, 프로그램 코드를 저장할 수 있는 다양한 매체를 포함한다.
본 출원의 일 실시예는 컴퓨터로 판독 가능한 저장 매체를 더 제공한다. 컴퓨터로 판독 가능한 저장매체는 컴퓨터 프로그램을 저장한다. 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 도 3 내지 도 7에 도시된 실시예들 중 어느 하나의 방법이 수행된다.
본 출원의 일 실시예는 칩 시스템을 더 제공한다. 칩 시스템은 적어도 하나의 프로세서, 적어도 하나의 메모리 및 인터페이스 회로를 포함한다. 인터페이스 회로는 적어도 하나의 프로세서에 정보 입력/출력을 제공하도록 구성되고, 적어도 하나의 메모리는 컴퓨터 프로그램을 저장하고, 컴퓨터 프로그램이 하나 이상의 프로세서에서 실행될 때, 도 3 내지 도 7에 도시된 실시예들 중 어느 하나에서의 방법이 수행된다.
본 출원의 일 실시예는 스마트 조종석 제품을 더 제공한다. 스마트 조종석 제품은 도 8 또는 도 10에 제공된 키 네고시에이션 장치 또는 도 8 또는 도 9에 제공된 키 네고시에이션 장치를 포함한다. 키 네고시에이션 장치는 도 3 내지 도 7의 실시예 중 어느 하나에서의 키 네고시에이션 장치에 대응하는 송신측 기기 또는 수신측 기기에 의해 수행되는 방법을 수행할 수 있다.
본 출원의 실시예는 스마트 단말기를 더 제공합니다. 스마트 단말기는 도 8 또는 도 10에 제공된 키 네고시에이션 장치 또는 도 8 또는 도 9에 제공된 키 네고시에이션 장치를 포함한다. 키 네고시에이션 장치는 도 3 내지 도 7의 실시예 중 어느 하나에서의 키 네고시에이션 장치에 대응하는 송신측 기기 또는 수신측 기기에 의해 수행되는 방법을 수행할 수 있다. 또한, 스마트 단말기는 드론, 무인 운송 차량, 스마트 카, 로봇 등을 포함한, 운송 차량 또는 지능형 기기일 수 있다.
본 명세서의 실시예는 모두 점진적 방식으로 설명되며, 실시예에서 동일하거나 유사한 부분에 대해서는 이러한 실시예를 참조하고, 각각의 실시예는 다른 실시예와의 차이점에 중점을 둔다. 특히, 장치 실시예는 기본적으로 방법 실시예와 유사하므로 간략히 설명한다. 관련 부분에 대해서는 방법 실시예의 설명 부분을 참조한다. 기술된 장치 실시예는 단지 예일 뿐이다. 별개의 부분으로 기술된 유닛은 물리적으로 분리될 수도 그렇지 않을 수도 있으며, 유닛으로 표시되는 부분은 물리적 유닛일 수도 있고 아닐 수도 있으며, 한 곳에 있을 수도 있고, 복수의 네트워크 유닛에 분산되어 있을 수도 있다. 모듈 중 일부 또는 전부는 실시예의 방안의 목적을 달성하기 위해 실제 요구사항에 따라 선택될 수 있다. 당업자라면 창의적인 노력 없이 실시예를 이해하고 구현할 수 있을 것이다.
전술한 실시예 중 일부 또는 전부는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 조합을 사용하여 구현될 수 있다. 실시예를 구현하기 위해 소프트웨어가 사용되는 경우, 실시예 중 일부 또는 전부는 컴퓨터 프로그램 제품의 형태로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령어를 포함한다. 컴퓨터 프로그램 명령어가 컴퓨터에 로드되어 실행될 때, 본 출원의 실시예에 따른 프로시저 또는 기능이 모두 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그래밍 가능한 장치일 수 있다. 컴퓨터 명령어는 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있거나 컴퓨터 판독 가능한 저장 매체에서 다른 컴퓨터로 판독 가능한 저장 매체로 전송될 수 있다. 예를 들어, 컴퓨터 명령어는 유선(예: 동축 케이블, 광섬유 또는 디지털 가입자 회선(digital subscriber line, DSL)) 또는 무선(예: 적외선, 라디오 또는 마이크로웨이브) 방식으로 웹사이트, 컴퓨터, 서버 또는 데이터 센터에서 다른 웹사이트, 컴퓨터, 서버 또는 데이터 센터로 송신될 수 있다. 컴퓨터로 판독 가능한 저장 매체는 컴퓨터, 또는 하나 이상의 사용 가능한 매체를 통합한 서버 또는 데이터 센터와 같은 데이터 저장 기기에 의해 액세스 가능한 임의의 사용 가능한 매체일 수 있다.
사용 가능한 매체는 자기 매체(예: 플로피 디스크, 하드 디스크 또는 자기 테이프), 광학 매체(예: DVD), 반도체 매체(예: 솔리드 스테이트 드라이브(Solid-State Drive, SSD)일 수 있다.
이상의 설명은 본 애플리케이션의 구체적인 구현일 뿐이며, 본 출원의 보호범위를 한정하려는 의도는 아니다. 본 출원에 개시된 기술적 범위 내에서 당업자에 의해 쉽게 파악되는 변형 또는 대체는 본 출원의 보호범위에 속한다. 따라서 본 출원의 보호범위는 청구범위의 보호범위에 따라야 한다.

Claims (33)

  1. 키 네고시에이션(key negotiation) 방법으로서,
    제1 정보를 전송하는 단계 - 상기 제1 정보는 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, N은 1보다 크거나 같은 정수이며, 상기 N개의 키 네고시에이션 알고리즘은 송신측 기기에 의해 지원되는 알고리즘임 -;
    수신측 기기로부터 제2 정보를 수신하는 단계 - 상기 제2 정보는 타깃 키 네고시에이션 알고리즘을 지시하는 데 사용되고 제1 키 네고시에이션 파라미터를 포함하며, 상기 타깃 키 네고시에이션 알고리즘은 상기 N개의 키 네고시에이션 알고리즘 중에서 상기 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘이고, 상기 제1 키 네고시에이션 파라미터는 상기 수신측 기기에 대응하고 상기 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터임 -; 및
    상기 타깃 키 네고시에이션 알고리즘 및 상기 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성하는 단계
    를 포함하는 키 네고시에이션 방법.
  2. 제1항에 있어서,
    상기 키 네고시에이션 방법은,
    상기 수신측 기기에 제3 정보를 전송하는 단계 - 상기 제3 정보는 제2 키 네고시에이션 파라미터를 포함하고, 상기 제2 키 네고시에이션 파라미터는 상기 송신측 기기에 대응하고 상기 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터임 -를 더 포함하는 키 네고시에이션 방법.
  3. 제2항에 있어서,
    상기 수신측 기기에 제3 정보를 전송하는 단계는,
    상기 수신측 기기에, 무결성 보호 알고리즘을 사용하여 처리된 상기 제3 정보를 전송하는 단계를 포함하는, 키 네고시에이션 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 정보는 상기 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용되며,
    상기 제1 정보는 상기 N개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 상기 식별 정보는 상기 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화되는, 키 네고시에이션 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제2 정보는 상기 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘을 지시하는 데 추가로 사용되고, M은 1보다 크거나 같은 정수인, 키 네고시에이션 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 타깃 키 네고시에이션 알고리즘 및 상기 제1 키 네고시에이션 파라미터에 기초하여 타깃 키를 생성하는 단계는,
    상기 타깃 키 네고시에이션 알고리즘이 상기 N개의 키 네고시에이션 알고리즘 중에서, 상기 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘들 중 우선순위가 가장 높은 키 네고시에이션 알고리즘인 것으로 결정하는 단계; 및
    상기 타깃 키 네고시에이션 알고리즘 및 상기 제1 키 네고시에이션 파라미터에 기초하여 상기 타깃 키를 생성하는 단계를 포함하는, 키 네고시에이션 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 키 네고시에이션 방법은,
    상기 수신측 기기로부터 상기 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 수신하는 단계를 더 포함하는 키 네고시에이션 방법.
  8. 제5항 또는 제6항에 있어서,
    상기 제2 정보는 상기 수신측 기기에 의해 지원되는 상기 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용되며,
    상기 제2 정보는 상기 M개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 상기 식별 정보는 상기 M개의 키 네고시에이션 알고리즘의 우선순위에 기초하여 배열 또는 캡슐화되는, 키 네고시에이션 방법.
  9. 제2항 내지 제6항 중 어느 한 항에 있어서,
    상기 제3 정보는 제1 인증 데이터를 더 포함하고, 상기 제1 인증 데이터는 상기 송신측 기기가 상기 제2 정보에 대해 인증 처리를 수행한 후 획득된 인증 데이터인, 키 네고시에이션 방법.
  10. 제2항 내지 제9항 중 어느 한 항에 있어서,
    상기 키 네고시에이션 방법은,
    상기 수신측 기기로부터 제4 정보를 수신하여 검증을 시도하는 단계를 더 포함하며,
    상기 제4 정보는 제2 인증 데이터를 포함하고, 상기 제2 인증 데이터는 상기 제3 정보에 대해 인증 처리가 수행된 후 획득된 데이터인, 키 네고시에이션 방법.
  11. 제2항 내지 제9항 중 어느 한 항에 있어서,
    상기 키 네고시에이션 방법은,
    상기 수신측 기기에 의해 전송되는 제4 정보를 수신하여 검증을 시도하는 단계를 더 포함하며,
    상기 제4 정보는 제3 인증 데이터를 포함하고, 상기 제3 인증 데이터는 상기 제3 정보 및 상기 제1 정보에 지시되는 상기 N개의 키 네고시에이션 알고리즘에 대해 인증 처리가 수행된 후 획득된 데이터인, 키 네고시에이션 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 제4 정보는 무결성 보호 알고리즘을 사용하여 처리된 정보인, 키 네고시에이션 방법.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 인증 처리는 미리 설정된 공유 키에 기초하여 수행되는 인증 처리를 더 포함하는, 키 네고시에이션 방법.
  14. 제2항 내지 제13항 중 어느 한 항에 있어서,
    상기 제3 정보는 상기 N개의 키 네고시에이션 알고리즘을 추가로 지시하는, 키 네고시에이션 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 제1 정보를 전송하는 단계는,
    상기 제1 정보를 브로드캐스트 방식으로 상기 수신측 기기에 전송하는 단계를 포함하는, 키 네고시에이션 방법.
  16. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 제1 정보를 전송하는 단계 전에, 상기 키 네고시에이션 방법은,
    상기 수신측 기기로부터 제5 정보를 수신하는 단계 - 상기 제5 정보는 상기 제1 정보를 전송하도록 상기 송신측 기기에 지시하는 데 사용됨 -; 및
    상기 제1 정보는 전송하는 단계는,
    상기 제1 정보를 유니캐스트 방식으로 상기 수신측 기기에 전송하는 단계를 포함하는, 키 네고시에이션 방법.
  17. 키 네고시에이션 방법으로서,
    송신측 기기로부터 제1 정보를 수신하는 단계 - 상기 제1 정보는 상기 송신측 기기에 의해 지원되는 N개의 키 네고시에이션 알고리즘을 지시하는 데 사용되고, N은 1보다 크거나 같은 정수임 -;
    타깃 키 네고시에이션 알고리즘을 결정하는 단계 - 상기 타깃 키 네고시에이션 알고리즘은 상기 N개의 키 네고시에이션 알고리즘 중에서 수신측 기기에 의해 지원되는 키 네고시에이션 알고리즘임 -;
    상기 타깃 키 네고시에이션 알고리즘에 기초하여 제1 키 네고시에이션 파라미터를 생성하는 단계; 및
    상기 송신측 기기에 제2 정보를 전송하는 단계 - 상기 제2 정보는 상기 타깃 키 네고시에이션 알고리즘을 지시하고 상기 제1 키 네고시에이션 파라미터를 포함함-
    를 포함하는 키 네고시에이션 방법.
  18. 제17항에 있어서,
    상기 키 네고시에이션 방법은,
    상기 송신측 기기로부터 제3 정보를 수신하는 단계 - 상기 제3 정보는 제2 키 네고시에이션 파라미터를 지시하고, 상기 제2 키 네고시에이션 파라미터는 상기 송신측 기기에 대응하고 상기 타깃 키 네고시에이션 알고리즘에 기초하여 획득되는 키 네고시에이션 파라미터임 -; 및
    상기 제2 키 네고시에이션 파라미터 및 상기 타깃 키 네고시에이션 알고리즘에 기초하여 타깃 키를 생성하는 단계를 더 포함하는 키 네고시에이션 방법.
  19. 제18항에 있어서,
    상기 제3 정보는 무결성 보호 알고리즘을 사용하여 처리된 것인, 키 네고시에이션 방법.
  20. 제17항 내지 제29항 중 어느 한 항에 있어서,
    상기 제2 정보는 상기 수신측 기기에 의해 지원되는 M개의 키 네고시에이션 알고리즘의 우선순위 정보를 추가로 지시하며,
    상기 제2 정보는 상기 M개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 상기 식별 정보는 상기 M개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화되는, 키 네고시에이션 방법.
  21. 제17항 내지 제20항 중 어느 한 항에 있어서,
    상기 제1 정보는 상기 N개의 키 네고시에이션 알고리즘의 우선순위 정보를 지시하는 데 추가로 사용되며, 상기 제1 정보는 상기 N개의 키 네고시에이션 알고리즘의 식별 정보를 포함하고, 상기 식별 정보는 상기 N개의 키 네고시에이션 알고리즘의 우선순위 정보에 기초하여 배열 또는 캡슐화되는, 키 네고시에이션 방법.
  22. 제17항 내지 제21항 중 어느 한 항에 있어서,
    상기 타깃 키 네고시에이션 알고리즘을 결정하는 단계는,
    상기 N개의 키 네고시에이션 알고리즘 중에서 우선순위가 가장 높은 키 네고시에이션 알고리즘을 상기 타깃 키 네고시에이션 알고리즘으로 결정하는 단계를 포함하는, 키 네고시에이션 방법.
  23. 제17항 내지 제22항 중 어느 한 항에 있어서,
    상기 키 네고시에이션 방법은,
    상기 송신측 기기로부터 제1 인증 데이터를 수신하는 단계 - 상기 제1 인증 데이터는 상기 송신측 기기가 상기 제2 정보에 대해 인증 처리를 수행한 후 획득된 인증 데이터임 -를 더 포함하는 키 네고시에이션 방법.
  24. 제18항 내지 제23항 중 어느 한 항에 있어서,
    상기 송신측 기기에 제4 정보를 전송하는 단계 - 상기 제4 정보는 제2 인증 데이터를 포함하고, 상기 제2 인증 데이터는 상기 수신측 기기가 상기 제3 정보에 대해 인증 처리를 수행한 후 획득된 데이터임 -를 더 포함하는 키 네고시에이션 방법.
  25. 제2항 내지 제9항 중 어느 한 항에 있어서,
    상기 송신측 기기에 제4 정보를 전송하는 단계 - 상기 제4 정보는 제3 인증 데이터를 포함하고, 상기 제3 인증 데이터는 상기 수신측 기기가 상기 제3 정보, 및 상기 제1 정보에 지시되는 상기 N개의 키 네고시에이션 알고리즘에 대해 인증 처리를 수행한 후 획득된 데이터임 -를 더 포함하는 키 네고시에이션 방법.
  26. 제24항 내지 제25항 중 어느 한 항에 있어서,
    상기 송신측 기기에 제4 정보를 전송하는 단계는,
    상기 송신측 기기에, 무결성 보호 알고리즘을 사용하여 처리된 상기 제4 정보를 전송하는 단계를 포함하는, 키 네고시에이션 방법.
  27. 제23항 내지 제26항 중 어느 한 항에 있어서,
    상기 인증 처리는 미리 설정된 키에 기초하여 수행되는 인증 처리를 더 포함하는, 키 네고시에이션 방법.
  28. 제23항 내지 제27항 중 어느 한 항에 있어서,
    상기 제3 정보는 상기 송신측 기기에 의해 지원되는 상기 N개의 키 네고시에이션 알고리즘을 추가로 지시하는, 키 네고시에이션 방법.
  29. 제17항 내지 제28항 중 어느 한 항에 있어서,
    상기 송신측 기기로부터 제1 정보를 수신하는 단계 전에, 상기 키 네고시에이션 방법은,
    상기 송신측 기기에 제5 정보를 전송하는 단계 - 상기 제5 정보는 상기 제1 정보를 전송하도록 상기 송신측 기기에 지시하는 데 사용됨 -를 더 포함하는 키 네고시에이션 방법.
  30. 키 네고시에이션 장치로서,
    제1항 내지 제16항 중 어느 한 항에 따른 방법을 구현하도록 구성되고, 및/또는 제17항 내지 제29항 중 어느 한 항에 따른 방법을 수행하도록 구성되는,
    키 네고시에이션 장치.
  31. 하나 이상의 프로세서를 포함하는 키 네고시에이션 장치로서,
    상기 하나 이상의 프로세서는 하나 이상의 메모리에 결합되고;
    상기 하나 이상의 메모리는 컴퓨터 프로그램 또는 명령어를 저장하도록 구성되고,
    상기 하나 이상의 프로세서는 상기 하나 이상의 메모리에 저장된 컴퓨터 프로그램 또는 명령어를 실행하여, 상기 키 네고시에이션 장치가 제1항 내지 제16항 중 어느 한 항에 따른 방법을 수행할 수 있게 하고/하거나 제17항 내지 제29항 중 어느 한 항에 따른 방법을 수행할 수 있게 하도록 구성되는,
    키 네고시에이션 장치.
  32. 제1항 내지 제16항 중 어느 한 항에 따른 방법을 수행하도록 구성된 송신측 기기 및 제17항 내지 제29항 중 어느 한 항에 따른 방법을 수행하도록 구성된 수신측 기기를 포함하는 통신 시스템.
  33. 프로그램 또는 명령어를 포함하는 판독 가능한 저장 매체로서,
    상기 프로그램 또는 명령어는 프로세서에서 실행될 때, 제1항 내지 제16항 중 어느 한 항에 따른 방법 및/또는 제17항 내지 제29항 중 어느 한 항에 따른 방법이 수행되는,
    판독 가능한 저장 매체.
KR1020227045418A 2020-05-29 2020-05-29 키 네고시에이션 방법, 장치 및 시스템 KR20230016662A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/093490 WO2021237724A1 (zh) 2020-05-29 2020-05-29 密钥协商方法、装置和系统

Publications (1)

Publication Number Publication Date
KR20230016662A true KR20230016662A (ko) 2023-02-02

Family

ID=78745342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227045418A KR20230016662A (ko) 2020-05-29 2020-05-29 키 네고시에이션 방법, 장치 및 시스템

Country Status (8)

Country Link
US (1) US20230087265A1 (ko)
EP (1) EP4149048A4 (ko)
JP (1) JP2023527212A (ko)
KR (1) KR20230016662A (ko)
CN (1) CN115668858A (ko)
CA (1) CA3183089A1 (ko)
MX (1) MX2022015025A (ko)
WO (1) WO2021237724A1 (ko)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060712B (zh) * 2006-04-20 2011-08-24 华为技术有限公司 无线连接建立方法
CN101272241B (zh) * 2008-04-09 2010-05-12 西安西电捷通无线网络通信有限公司 一种密钥的分配与管理方法
CN101605324B (zh) * 2008-06-13 2011-06-01 华为技术有限公司 算法协商的方法、装置及系统
WO2018076365A1 (zh) * 2016-10-31 2018-05-03 美的智慧家居科技有限公司 密钥协商方法及装置
CN106789023B (zh) * 2016-12-29 2020-03-06 杭州迪普科技股份有限公司 一种基于IKEv2的DH算法协商方法及装置
WO2018177905A1 (en) * 2017-03-29 2018-10-04 Koninklijke Philips N.V. Hybrid key exchange
WO2019047197A1 (en) * 2017-09-11 2019-03-14 Telefonaktiebolaget Lm Ericsson (Publ) METHOD AND SYSTEM FOR INTEGRATING FIXED ACCESS IN A CONVERGED 5G HEART
CN110380868A (zh) * 2019-08-22 2019-10-25 广东浪潮大数据研究有限公司 一种通信方法、装置及通信系统和存储介质

Also Published As

Publication number Publication date
EP4149048A1 (en) 2023-03-15
EP4149048A4 (en) 2023-06-28
JP2023527212A (ja) 2023-06-27
CA3183089A1 (en) 2021-12-02
MX2022015025A (es) 2023-03-10
US20230087265A1 (en) 2023-03-23
CN115668858A (zh) 2023-01-31
WO2021237724A1 (zh) 2021-12-02

Similar Documents

Publication Publication Date Title
KR102062162B1 (ko) 보안 인증 방법, 구성 방법 및 관련 기기
US10320754B2 (en) Data transmission method and apparatus
TWI812678B (zh) 終端訊息的傳遞方法及相關產品
JP7255949B2 (ja) 通信方法および装置
EP3840518A1 (en) Rrc connection method, device, and system
CN114025352A (zh) 终端设备的鉴权方法及其装置
CN113545115B (zh) 一种通信方法及装置
CN110784865A (zh) 物联网设备的配网方法、终端、物联网设备及配网系统
EP2922325A1 (en) Method and apparatus for communication security processing
US20190149326A1 (en) Key obtaining method and apparatus
CN114450988A (zh) 保护蜂窝通信网络中的下行链路控制信息
EP3499834B1 (en) Key negotiation method and apparatus
CN108702303B (zh) 一种为无线承载进行安全配置方法和设备
US20230091113A1 (en) Communications Method and Apparatus
WO2022237561A1 (zh) 一种通信方法及装置
KR20230016662A (ko) 키 네고시에이션 방법, 장치 및 시스템
EP3014945A1 (en) Device to device communication security
CN109905345B (zh) 通信方法、通信装置和通信设备
CN113873492A (zh) 一种通信方法以及相关装置
CN113795024A (zh) 一种获取密钥的方法及装置
CN107770769B (zh) 一种加密方法、网络侧设备及终端
WO2024050846A1 (zh) 近邻通信方法和装置
CN115885496B (zh) 一种通信方法及相关装置
WO2024065469A1 (zh) 一种直连链路建立方法、设备及存储介质
EP4231751A1 (en) Wireless communication method, device, and system

Legal Events

Date Code Title Description
A201 Request for examination