KR20240034848A - 정보 처리 방법, 장치 및 디바이스 - Google Patents
정보 처리 방법, 장치 및 디바이스 Download PDFInfo
- Publication number
- KR20240034848A KR20240034848A KR1020247006142A KR20247006142A KR20240034848A KR 20240034848 A KR20240034848 A KR 20240034848A KR 1020247006142 A KR1020247006142 A KR 1020247006142A KR 20247006142 A KR20247006142 A KR 20247006142A KR 20240034848 A KR20240034848 A KR 20240034848A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- verification code
- random number
- key
- password
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 22
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012795 verification Methods 0.000 claims abstract description 339
- 238000000034 method Methods 0.000 claims abstract description 122
- 238000012790 confirmation Methods 0.000 claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims description 161
- 238000012545 processing Methods 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 45
- 230000008569 process Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000005336 cracking Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100107644 Arabidopsis thaliana ABI5 gene Proteins 0.000 description 1
- 101100452776 Arabidopsis thaliana IQD21 gene Proteins 0.000 description 1
- 101100216045 Candida albicans (strain SC5314 / ATCC MYA-2876) GAM1 gene Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/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
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
-
- 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
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/3271—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 challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 출원은 정보 처리 방법, 장치 및 디바이스를 제공한다. 이 방법은: 제1 비밀번호와 제1 난수를 획득하는 단계; 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계; 및 제1 확인 코드 및 제1 난수를 제2 노드에 송신하는 단계를 포함한다. 전술한 방법은 비밀번호 인증을 지원하고 인증 효율성을 향상시킨다.
Description
본 출원은 통신 분야에 관한 것으로, 특히 정보 처리 방법, 장치 및 디바이스에 관한 것이다.
무선 통신 기술은 전파를 이용하는 노드 간 정보 전송에 관한 것이다. 전송 거리가 상대적으로 짧은 범위(예를 들어, 수십 미터)로 제한되면, 이를 단거리(short range) 무선 통신이라고 할 수 있다.
무선 통신 기술에 있어 정보 보안은 매우 중요하며, 특히 신원 인증( identity authentication) 등 두 통신 당사자의 인증이 요구된다. 비밀번호(password)는 일반적인 신원 인증에 사용될 수 있다. 그러나 기존 기술에서는 비밀번호 인증 방식이 제공되지 않는다. 결과적으로, 통신 보안이 효과적으로 보장될 수 없다. 따라서 인증 효율성을 높이고 통신 성능을 보장하기 위해서는 비밀번호 인증 메커니즘이 절실히 필요하다.
전술한 문제를 해결하기 위해, 본 출원은 비밀번호 인증을 지원하여 인증 효율성을 향상시키는 정보 처리 방법, 장치 및 디바이스를 제공한다.
제1 측면에 따르면, 정보 처리 방법이 제공된다. 이 방법은:
제1 비밀번호와 제1 난수(random number)를 획득하는 단계;
제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드(acknowledgment code)를 생성하는 단계; 및
제1 확인 코드와 제1 난수를 제2 노드에 송신하는 단계를 포함한다.
전술한 솔루션에서는, 제1 비밀번호와 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성한 다음, 인증을 위해 제1 확인 코드와 제1 난수를 제2 노드에 송신하여 통신에서 비밀번호 인증을 구현한다.
일부 가능한 설계에서, 이 방법은, 제2 노드로부터 제2 확인 코드 및 제2 난수를 수신하는 단계; 제2 난수에 기반하여 제2 노드에 대응하는 제3 확인 코드를 생성하는 단계; 및 제2 확인 코드가 제3 확인 코드와 동일하면, 제2 확인 코드가 정확하다고(correct) 결정하는 단계를 포함한다.
전술한 솔루션에서는, 인증 프로세스에서 계산 작업량을 줄여서 인증 효율성을 효과적으로 향상시킬 수 있다.
일부 가능한 설계에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는, 암호 알고리즘(cryptographic algorithm)에 따라 제1 비밀번호 및 제1 난수에 기반하여 제1 확인 코드를 생성하는 단계를 포함한다.
일부 가능한 설계에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는, 제1 비밀번호에 기반하여 제1 난독화(obfuscation) 코드를 생성하는 단계; 및 제1 난수 및 제1 난독화 코드에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계를 포함한다.
전술한 솔루션에서는 두 가지 계산을 통해 제1 확인 코드가 생성된다. 제1 계산에서, 제1 비밀번호에 기반하여 제1 난독화 코드가 먼저 생성되고; 그런 다음 제2 계산에서, 제1 난독화 코드와 제1 난수에 기반하여 제1 확인 코드가 생성된다. 이는 제1 확인 코드를 크랙킹(cracking)하는 데 어려움을 증가시킨다.
일부 가능한 설계에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는: 제1 난수, 제1 비밀번호, 제1 노드의 공개 키(public key) 및 제2 노드의 공개 키에 기반하여 제1 확인 코드를 생성하는 단계를 포함한다.
전술한 솔루션에서는, 제1 노드로부터의 공개 키와 제2 노드로부터의 공개 키에 기반하여 제1 확인 코드가 생성됨으로써, 제1 노드와 제2 노드 모두가 제1 확인 코드를 신뢰할 수 있다.
일부 가능한 설계에서, 제2 확인 코드가 정확하다면, 이 방법은 제1 키에 기반하여 제1 검증 코드(verification code)를 생성하는 단계; 및 제1 검증 코드가 제2 노드로부터의 제2 검증 코드와 동일하면, 제2 검증 코드가 정확한 것으로 결정하는 단계를 더 포함한다.
전술한 솔루션에서는, 제2 확인 코드와 제2 검증 코드를 별도로 검증하고, 두 검증이 성공한 후에야 제1 노드와 제2 노드를 페어링(pair)할 수 있으므로 인증 정확도가 향상된다.
일부 가능한 설계에서, 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는: 제1 키에 기반하여 제1 키 검증 코드를 생성하는 단계; 및 제1 키 검증 코드에 기반하여 제1 검증 코드를 생성하는 단계를 포함한다.
전술한 솔루션에서는 두 가지 계산을 통해 제1 검증 코드가 생성된다. 제1 계산에서, 제1 키에 기반하여 제1 키 검증 코드가 생성되고; 그런 다음 제2 계산에서 제1 키 검증 코드에 기반하여 제1 검증 코드가 생성된다. 이는 제1 검증 코드를 크랙킹하는 데 어려움을 증가시킨다.
일부 가능한 설계에서, 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는: 암호 알고리즘에 따라 그리고 제1 키, 적어도 2개의 난수, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력(input/output capability), 제2 노드의 입력/출력 능력, 제1 인증 방식(authentication scheme), 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제1 검증 코드를 생성하는 단계를 포함한다.
전술한 솔루션에서는, 제1 노드에 관한 정보(제1 노드의 주소 및 제1 노드의 입력/출력 능력), 제2 노드에 관한 정보(제2 노드의 주소 및 제2 노드의 입력/출력 능력) 및 제1 노드와 제2 노드 사이에서 협상된(negotiated) 정보(제1 인증 방식 또는 암호 알고리즘 유형)를 포함하는, 복수의 관점으로부터의 정보를 사용하여 제1 검증 코드를 생성할 수 있어서, 제1 검증 코드를 크랙킹하는데 있어서 어려움을 증가시킨다.
일부 가능한 설계에서, 이 방법은, 제1 정보를 제2 노드에 송신하는 단계를 더 포함하며, 제1 정보는 암호 알고리즘을 지시한다(indicate).
일부 가능한 설계에서, 암호 알고리즘은 암호 알고리즘 세트에 속하고, 이 방법은: 제2 정보를 제2 노드에 송신하는 단계 - 제2 정보는 암호 알고리즘 세트를 지시함 -; 및 제2 노드로부터 제3 정보를 수신하는 단계 - 제3 정보는 암호 알고리즘 세트를 지시함 - 를 더 포함한다.
전술한 솔루션에서, 제1 노드와 제2 노드는 사용될 수 있는 암호 알고리즘 세트를 상호 작용을 통해 협상하여, 제1 노드와 제2 노드가 서로 다른 애플리케이션 시나리오에 적응하기 위해 선택을 위한 더 많은 암호 알고리즘을 가질 수 있도록 보장할 수 있다.
일부 가능한 설계에서, 이 방법은, 제4 정보를 제2 노드에 송신하는 단계를 더 포함하며, 제4 정보는 제1 인증 방식이 비밀번호 인증임을 지시한다.
제2 측면에 따르면, 정보 처리 장치가 제공된다. 이 장치는 획득 모듈, 처리 모듈 및 트랜시버 모듈을 포함하고,
획득 모듈은 제1 비밀번호 및 제1 난수를 획득하도록 구성되며;
처리 모듈은 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하도록 구성되며; 그리고
트랜시버 모듈은 제1 확인 코드와 제1 난수를 제2 노드에 송신하도록 구성된다.
일부 가능한 설계에서, 트랜시버 모듈은 제2 노드로부터 제2 확인 코드 및 제2 난수를 수신하도록 구성되고; 처리 모듈은 추가로, 제2 난수에 기반하여 제2 노드에 대응하는 제3 확인 코드를 생성하도록 구성되며; 처리 모듈은 추가로, 제2 확인 코드가 제3 확인 코드와 동일하면, 제2 확인 코드가 정확한 것으로 결정하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 암호 알고리즘에 따라 제1 비밀번호 및 제1 난수에 기반하여 제1 확인 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 제1 비밀번호에 기반하여 제1 난독화 코드를 생성하고; 제1 난수와 제1 난독화 코드에 기반하여 제1 노드의 제1 확인 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 제1 난수, 제1 비밀번호, 제1 노드의 공개 키 및 제2 노드의 공개 키에 기반하여 제1 확인 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 제2 확인 코드가 정확하면 제1 키에 기반하여 제1 검증 코드를 생성하고; 제1 검증 코드가 제2 노드로부터의 제2 검증 코드와 동일하면, 제2 검증 코드가 정확한 것으로 결정한다.
일부 가능한 설계에서, 처리 모듈은 추가로, 제1 키에 기반하여 제1 키 검증 코드를 생성하고; 제1 키 검증 코드에 기반하여 제1 검증 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 암호 알고리즘에 따라 그리고 제1 키, 적어도 2개의 난수, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제1 검증 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 트랜시버 모듈은 추가로, 제1 정보를 제2 노드에 송신하도록 구성되며, 제1 정보는 암호 알고리즘을 지시한다.
일부 가능한 설계에서, 암호 알고리즘은 암호 알고리즘 세트에 속하고, 트랜시버 모듈은 추가로, 제2 정보를 제2 노드에 송신하고 - 제2 정보는 암호 알고리즘 세트를 지시함 -; 제2 노드로부터 제3 정보를 수신하도록 구성되며, 제3 정보는 암호 알고리즘 세트를 지시한다.
일부 가능한 설계에서, 트랜시버 모듈은 추가로, 제4 정보를 제2 노드에 송신하도록 구성되며, 제4 정보는 제1 인증 방식이 비밀번호 인증임을 지시한다.
제3 측면에 따르면, 검증 방법이 제공된다. 이 방법은:
제1 키에 기반하여 제1 검증 코드를 생성하는 단계; 및
제1 검증 코드가 제2 노드로부터의 제2 검증 코드와 동일하면, 제2 검증 코드가 정확한 것으로 결정하는 단계를 포함한다.
일부 가능한 설계에서, 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는: 제1 키에 기반하여 제1 키 검증 코드를 생성하는 단계; 및 제1 키 검증 코드에 기반하여 제1 검증 코드를 생성하는 단계를 포함한다.
일부 가능한 설계에서, 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는: 암호 알고리즘에 따라 그리고 제1 키, 적어도 2개의 난수, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제1 검증 코드를 생성하는 단계를 포함한다.
일부 가능한 설계에서, 이 방법은, 제1 비밀번호 및 제1 난수를 획득하는 단계; 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계; 및 제1 확인 코드와 제1 난수를 제2 노드에 송신하는 단계를 더 포함한다.
일부 가능한 설계에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는: 제1 비밀번호에 기반하여 제1 난독화 코드를 생성하는 단계; 및 제1 난수 및 제1 난독화 코드에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계를 포함한다.
일부 가능한 설계에서, 이 방법은, 제2 노드로부터 제2 확인 코드 및 제2 난수를 수신하는 단계; 제2 난수에 기반하여 제2 노드에 대응하는 제3 확인 코드를 생성하는 단계; 및 제2 확인 코드가 제3 확인 코드와 동일하면, 제2 확인 코드가 정확하다고 결정하는 단계를 더 포함한다.
일부 가능한 설계에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는: 암호 알고리즘에 따라 제1 비밀번호 및 제1 난수에 기반하여 제1 확인 코드를 생성하는 단계를 포함한다.
일부 가능한 설계에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는: 제1 난수, 제1 비밀번호, 제1 노드의 공개 키 및 제2 노드의 공개 키에 기반하여 제1 확인 코드를 생성하는 단계를 포함한다.
일부 가능한 설계에서, 이 방법은, 제1 정보를 제2 노드에 송신하는 단계를 더 포함하며, 제1 정보는 암호 알고리즘을 지시한다.
일부 가능한 설계에서, 암호 알고리즘은 암호 알고리즘 세트에 속하고, 이 방법은: 제2 정보를 제2 노드에 송신하는 단계 - 제2 정보는 암호 알고리즘 세트를 지시함 -; 및 제2 노드로부터 제3 정보를 수신하는 단계 - 제3 정보는 암호 알고리즘 세트를 지시함 - 를 포함한다.
일부 가능한 설계에서, 이 방법은, 제4 정보를 제2 노드에 송신하는 단계를 더 포함하며, 제4 정보는 제1 인증 방식이 비밀번호 인증임을 지시한다.
제4 측면에 따르면, 검증 장치가 제공된다. 이 장치는 처리 모듈을 포함하며,
처리 모듈은 제1 키에 기반하여 제1 검증 코드를 생성하고; 제1 검증 코드가 제2 노드로부터의 제2 검증 코드와 동일하면, 제2 검증 코드가 정확한 것으로 결정하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 제1 키에 기반하여 제1 키 검증 코드를 생성하고; 제1 키 검증 코드에 기반하여 제1 검증 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 암호 알고리즘에 따라 그리고 제1 키, 적어도 2개의 난수, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제1 검증 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 이 장치는 획득 모듈 및 송신 모듈을 더 포함하며, 획득 모듈은 제1 비밀번호 및 제1 난수를 획득하도록 구성되며; 처리 모듈은 추가로 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하도록 구성되며; 송신 모듈은 제1 확인 코드 및 제1 난수를 제2 노드에 송신하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 제1 비밀번호에 기반하여 제1 난독화 코드를 생성하고; 제1 난수와 제1 난독화 코드에 기반하여 제1 노드의 제1 확인 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 트랜시버 모듈은 추가로, 제2 노드로부터 제2 확인 코드 및 제2 난수를 수신하도록 구성되고; 처리 모듈은 추가로, 제2 난수에 기반하여 제2 노드에 대응하는 제3 확인 코드를 생성하도록 구성되며; 처리 모듈은 추가로, 제2 확인 코드가 제3 확인 코드와 동일하면, 제2 확인 코드가 정확한 것으로 결정하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 암호 알고리즘에 따라 제1 비밀번호 및 제1 난수에 기반하여 제1 확인 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 처리 모듈은 추가로, 제1 난수, 제1 비밀번호, 제1 노드의 공개 키 및 제2 노드의 공개 키에 기반하여 제1 확인 코드를 생성하도록 구성된다.
일부 가능한 설계에서, 트랜시버 모듈은 추가로, 제1 정보를 제2 노드에 송신하도록 구성되며, 제1 정보는 암호 알고리즘을 지시한다.
일부 가능한 설계에서, 암호 알고리즘은 암호 알고리즘 세트에 속하고, 트랜시버 모듈은 추가로 제2 정보를 제2 노드에 송신하도록 구성되며, 제2 정보는 암호 알고리즘 세트를 지시하고, 트랜시버 모듈은 추가로 제2 노드로부터 제3 정보를 수신하도록 구성되며, 제3 정보는 암호 알고리즘 세트를 지시한다.
일부 가능한 설계에서, 트랜시버 모듈은 추가로 제4 정보를 제2 노드에 송신하도록 구성되며, 제4 정보는 제1 인증 방식이 비밀번호 인증임을 지시한다.
제5 측면에 따르면, 칩이 제공된다. 칩은 적어도 하나의 프로세서 및 인터페이스 회로를 포함하며, 적어도 하나의 프로세서는 인터페이스 회로를 이용하여 프로그램 또는 명령어를 획득하고, 적어도 하나의 프로세서는 프로그램 또는 명령어를 실행하여 제1 측면 중 어느 하나에 따른 방법 또는 제3 측면 중 어느 하나에 따른 방법을 구현한다.
제6 측면에 따르면, 단말 디바이스가 제공된다. 단말 디바이스는 프로세서와 메모리를 포함하며, 프로세서와 메모리는 서로 통신할 수 있고, 메모리는 명령어를 저장하며, 프로세서는 명령어를 실행하여 제1 측면 중 어느 하나에 따른 방법 또는 제3 측면 중 어느 하나에 따른 방법을 구현한다.
제7 측면에 따르면, 본 출원의 실시예는 컴퓨터 소프트웨어 제품을 제공한다. 컴퓨터 프로그램 소프트웨어 제품은 프로그램 명령어를 포함하고, 컴퓨터 소프트웨어 제품이 장치에 의해 실행될 때, 장치는 제1 측면의 가능한 실시예 중 어느 하나에 따른 방법, 또는 제3 측면의 가능한 실시예 중 어느 하나에 따른 방법을 수행한다. 컴퓨터 소프트웨어 제품은 소프트웨어 설치 패키지일 수 있다. 제1 측면 중 어느 하나에 따른 방법 또는 제3 측면 중 어느 하나에 따른 방법을 사용해야 할 때, 컴퓨터 소프트웨어 제품을 다운로드할 수 있고, 컴퓨터 소프트웨어 제품을 장치에서 실행하여, 제1 측면 또는 제1 측면의 가능한 실시예 중 어느 하나에 따른 방법, 또는 제3 측면 또는 제3 측면의 가능한 실시예 중 어느 하나에 따른 방법을 구현한다.
제8 측면에 따르면, 본 출원의 실시예는 컴퓨터가 판독 가능한 저장 매체를 제공한다. 컴퓨터가 판독 가능한 저장 매체는 장치에 의해 실행되기 위한 프로그램 코드를 저장하고, 프로그램 코드는 제1 측면 중 어느 하나에 따른 방법 또는 제3 측면 중 어느 하나에 따른 방법을 수행하는 데 사용되는 명령어를 포함한다.
제9 측면에 따르면, 본 출원의 실시예는 장치를 제공한다. 이 장치는 적어도 하나의 프로세서 및 통신 인터페이스를 포함하며, 통신 인터페이스는 적어도 하나의 프로세서에 대한 정보 입력 및/또는 정보 출력을 제공하도록 구성된다. 이 장치는 칩 또는 집적 회로일 수 있으며; 또는 이 장치는 제2 측면에 따른 장치일 수 있고, 이 장치는 제1 측면 또는 제1 측면의 가능한 실시예 중 어느 하나에 따른 방법을 구현하도록 구성되며; 또는 이 장치는 제4 측면에 따른 장치일 수 있고, 이 장치는 제1 측면 또는 제1 측면의 가능한 실시예 중 어느 하나에 따른 방법 또는 제3 측면 또는 제3 측면의 가능한 실시예 중 어느 하나에 따른 방법을 구현하도록 구성된다.
본 출원의 실시예의 기술적 솔루션 또는 배경을 보다 명확하게 설명하기 위해, 이하에서는 본 출원의 실시예 또는 배경에 사용된 첨부 도면을 설명한다.
도 1은 본 출원에 따른 단거리 통신의 애플리케이션 시나리오의 개략도이다.
도 2는 본 출원에 따른 노드들 사이의 단거리 통신을 수행하기 위한 프로토콜 기반 상호 작용 절차의 개략도이다.
도 3a 및 도 3b는 본 출원에 따른 노드들 사이의 단거리 통신을 수행하기 위한 두 가지 특정 프로토콜 기반 상호 작용 절차의 개략적인 흐름도이다.
도 4a 내지 도 4e는 본 출원에 따른 노드들 사이의 단거리 통신을 수행하기 위한 두 가지 특정 프로토콜 기반 상호 작용 절차에 사용되는 정보 구조의 개략도이다.
도 5는 본 출원에 따른 제1 노드와 제2 노드 사이의 협상 절차의 개략적인 흐름도이다.
도 6은 본 출원에 따른 제1 노드와 제2 노드 사이의 비밀번호 검증 프로세스의 개략적인 흐름도이다.
도 7은 본 출원에 따른 제1 노드와 제2 노드 사이의 검증 코드 검증 프로세스의 개략적인 흐름도이다.
도 8은 본 출원에 따라 제1 키 검증 코드를 생성하는 프로세스의 개략도이다.
도 9는 본 출원에 따라 제1 검증 코드를 생성하는 프로세스의 개략도이다.
도 10은 본 출원의 실시예에 따른 장치의 구조의 개략도이다.
도 11은 본 출원의 실시예에 따른 장치의 구조의 개략도이다.
도 12는 본 출원의 실시예에 따른 장치의 구조의 개략도이다.
도 1은 본 출원에 따른 단거리 통신의 애플리케이션 시나리오의 개략도이다.
도 2는 본 출원에 따른 노드들 사이의 단거리 통신을 수행하기 위한 프로토콜 기반 상호 작용 절차의 개략도이다.
도 3a 및 도 3b는 본 출원에 따른 노드들 사이의 단거리 통신을 수행하기 위한 두 가지 특정 프로토콜 기반 상호 작용 절차의 개략적인 흐름도이다.
도 4a 내지 도 4e는 본 출원에 따른 노드들 사이의 단거리 통신을 수행하기 위한 두 가지 특정 프로토콜 기반 상호 작용 절차에 사용되는 정보 구조의 개략도이다.
도 5는 본 출원에 따른 제1 노드와 제2 노드 사이의 협상 절차의 개략적인 흐름도이다.
도 6은 본 출원에 따른 제1 노드와 제2 노드 사이의 비밀번호 검증 프로세스의 개략적인 흐름도이다.
도 7은 본 출원에 따른 제1 노드와 제2 노드 사이의 검증 코드 검증 프로세스의 개략적인 흐름도이다.
도 8은 본 출원에 따라 제1 키 검증 코드를 생성하는 프로세스의 개략도이다.
도 9는 본 출원에 따라 제1 검증 코드를 생성하는 프로세스의 개략도이다.
도 10은 본 출원의 실시예에 따른 장치의 구조의 개략도이다.
도 11은 본 출원의 실시예에 따른 장치의 구조의 개략도이다.
도 12는 본 출원의 실시예에 따른 장치의 구조의 개략도이다.
이해를 돕기 위해, 본 출원에서의 단거리 통신(short range communication)의 애플리케이션 시나리오를 먼저 자세히 설명한다.
도 1에 도시된 바와 같이, 노드 간 단거리 통신이 이루어진 후, 노드 간 데이터 전송이 자유롭게 수행될 수 있다. 단거리 통신에 사용되는 기술은 블루투스(Bluetooth) 기술, 지그비(ZigBee) 기술, 무선 근거리 통신망(Wireless Local Area Network, WLAN) 기술, 초광대역(ultra-wideband, UWB) 기술 등일 수 있다. 노드는 데이터를 송신하고 수신할 수 있는 전자 디바이스이다. 예를 들어, 노드는 차량 조종석 도메인(cockpit domain) 디바이스, 또는 차량 조종석 도메인 디바이스 내의 모듈, 예를 들어, 조종석 도메인 컨트롤러(cockpit domain controller, CDC), 카메라, 디스플레이, 마이크로폰, 스피커, 전자 키, 키 없는 출입(entry) 또는 시작 시스템 컨트롤러와 같은 모듈 중 하나 이상일 수 있다. 노드는 데이터 전송 디바이스 예를 들어 라우터, 중계기, 브리지 또는 스위치일 수 있으며; 또는 단말 디바이스, 예를 들어, 임의의 유형의 사용자 장비(user equipment, UE), 모바일폰(mobile phone), 태블릿 컴퓨터(pad), 데스크톱 컴퓨터, 이어폰 또는 스피커일 수 있으며; 또는 자율 주행(self-driving) 디바이스, 교통 안전(transportation safety) 디바이스, 가상 현실(virtual Reality, VR) 단말 디바이스, 증강 현실(augmented reality, AR) 단말 디바이스, 기계 유형 통신(machine type communication, MTC) 디바이스, 산업 제어(industrial control) 디바이스, 원격의료(remote medical) 디바이스, 스마트 그리드(smart grid) 디바이스, 또는 스마트 시티(smart city) 디바이스와 같은 기계 지능 디바이스를 포함할 수 있으며; 또는 웨어러블 디바이스(예를 들어, 스마트 워치, 스마트 밴드, 만보계) 등을 포함할 수 있다. 구체적인 실시예에서, 노드는 차량 내 시스템(in-vehicle system)과 이동 단말(mobile terminal)을 포함할 수 있으며, 즉, 차량 내 시스템과 이동 단말 사이에 단거리 통신이 수행될 수 있다. 일부 시나리오에서는 유사한 데이터 송신/수신 능력을 가진 디바이스를 노드라고 부르지 않을 수도 있다. 다만, 설명의 편의를 위해, 본 출원의 실시예에서는 데이터 송신/수신 능력을 갖는 전자 디바이스를 총칭하여 노드라고 지칭한다. 본 명세서의 예들은 단거리 통신의 애플리케이션 시나리오를 예로 들어 설명된다는 점을 이해해야 한다. 그러나 실제 애플리케이션에서는 또 다른 통신 애플리케이션 시나리오도 적용 가능하며, 이는 여기에서 특별히 제한하지 않는다.
노드 간 단거리 통신을 수행하기 전에, 노드 간 페어링(pairing) 절차와 인증 프로세스가 수행되어야 한다. 도 2가 예로 사용된다. 먼저, 제1 노드와 제2 노드 사이에 페어링 절차가 수행되고; 그런 다음 제1 노드와 제2 노드 간에 협상 절차가 수행된다. 다음은 자세한 설명을 위해 비밀번호를 검증하는 시나리오를 예로 들어 설명한다. 비밀번호를 검증하는 시나리오는, 사용자가 비밀번호를 미리 설정한 다음, 최초 로그인 후 페어링 절차에서 제1 노드와 제2 노드에서 비밀번호를 입력하고, 비밀번호에 기반하여 신원 인증을 수행함으로써, 이후 로그인 시 반복적으로 신원 인증을 수행할 필요가 없는 시나리오를 지칭한다.
비밀번호가 검증되는 시나리오에서, 제1 노드와 제2 노드 간의 페어링 절차는 다음과 같은 두 가지 방식으로 수행될 수 있다.
제1 방식에서는 제2 노드에 의해 페어링 절차가 트리거된다. 도 3a에 도시된 바와 같이, 제2 노드는 페어링 절차를 트리거하기 위해 보안 요청(security request)을 제1 노드에 송신한다. 제1 노드는 페어링 요청을 제2 노드에 송신한다. 제2 노드는 페어링 응답을 제1 노드에 송신한다. 제1 노드는 페어링 확인(acknowledgment)을 제2 노드에 송신한다. 제2 노드는 초기 페어링 정보를 제1 노드에 송신한다.
제2 방식에서는 제1 노드에 의해 페어링 절차가 트리거된다. 도 3b에 도시된 바와 같이, 제1 노드와 제2 노드 간의 페어링 절차는 제1 노드가 페어링 절차를 트리거하기 위해 페어링 요청을 제2 노드에 송신하는 것을 포함할 수 있다. 제2 노드는 페어링 응답을 제1 노드에 송신한다. 제1 노드는 페어링 확인을 제2 노드에 송신한다. 제2 노드는 초기 페어링 정보를 제1 노드에 송신한다.
전술한 두 가지 구현은 단지 특정 예일 뿐이라는 것이 이해되어야 한다. 이는 여기에서 특별히 제한되지 않는다.
특정 구현에서, 도 4a에 도시된 바와 같이, 보안 요청에는 커맨드(command) 코드(예를 들어, 0X01), 인증 요청 등이 포함된다. 인증 요청에는 보안 속성, 중간자 공격(man-in-the-middle attack, MitM) 방지 지시 비트, 키 프롬프트, 예약된 비트(reserved bit) 등이 포함된다.
일 구현에서, 보안 속성이 표 1에서 나타낼 수 있다.
값 | 설명 |
00 | 비바인딩 모드에서의 페어링 |
01 | 바인딩 모드에서의 페어링 |
기타 | 예약된 필드 |
표 1은 단지 보안 속성의 값과 보안 속성의 설명 간의 대응 관계를 반영하기 위한 예로서 사용된 것으로 이해될 수 있다. 실제의 애플리케이션에서, 대응 관계의 저장 방식과 텍스트 콘텐츠(text content)는 다르게는 다른 형태일 수 있다. 이는 여기에서 특별히 제한되지 않는다. 다음 표들은 모두 예로 표현되었으며, 대응 관계는 임의의 가능한 방식으로 표현되거나 저장될 수 있다. 자세한 내용은 다음에서 설명하지 않는다.
일 구현에서, MitM은 표 2에서 나타낼 수 있다.
값 | 설명 |
0 | 중간자 공격 모드에서의 페어링이 지원될 필요가 없음. |
1 | 중간자 공격 모드에서의 페어링이 지원되어야 함. |
일 구현에서, 키 프롬프트는 표 3에서 나타낼 수 있다.
값 | 설명 |
0 | 키 프롬프트 없이 페어링 |
1 | 키 프롬프트 있는 페어링 |
특정 구현에서, 도 4b에 도시된 바와 같이, 페어링 요청은 커맨드 코드(예를 들어, 0X02), 입력/출력 능력, 대역 외 데이터(Out of Band, OOB) 데이터 식별자, 인증 요청, 최대 암호화 키(encryption key) 길이, 보안 정보 배포 정보, 암호 알고리즘 세트 등을 포함될 수 있다.
일 구현에서, 입력/출력 능력은 표 4에서 나타낼 수 있다.
값 | 설명 |
0x00 | 디스플레이만 |
0x01 | 디스플레이; 그리고 입력 예 및 아니오 |
0x02 | 키보드만 |
0x03 | 입력 또는 출력 없음 |
0x04 | 키보드 및 디스플레이 |
0x05-0xFF | 다른 목적을 위해 예약됨 |
일 구현에서, OOB 데이터 식별자는 표 5에서 나타낼 수 있다.
값 | 설명 |
0x00 | OOB 데이터가 없음 |
0x01 | OOB 데이터가 있음 |
일 구현에서, 인증 요청에 대해서는 전술한 인증 요청을 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
일 구현에서, 최대 암호화 키 길이는 노드가 지원할 수 있는 최대 키 길이를 지시하는 데 사용된다. 예를 들어, 키의 최소 길이는 7바이트로 제한된다.
일 구현에서, 보안 정보 배포(distribution) 정보는 표 6에서 나타낼 수 있다.
값 | 설명 |
0 | 페어링 후, IRK 정보가 피어단으로 배포됨. |
1 | 페어링 후, 주소 정보, 즉, 공개 주소 또는 정적 랜덤 주소가 피어단으로 배포됨. |
일 구현에서, 암호 알고리즘 세트는 암호화 알고리즘(encryption algorithm), 무결성 보호(integrity protection) 알고리즘, 키 유도 함수, 키 합의(agreement) 알고리즘 등을 포함할 수 있다. 암호 알고리즘 세트는 표 7에서 나타낼 수 있다.
암호화 알고리즘 | 무결성 보호 알고리즘 | 키 유도 함수 | 키 합의 알고리즘 |
일 구현에서, 표 8에 나타낸 바와 같이, 암호 알고리즘은 다음을 포함할 수 있다:
일 구현에서, 암호 알고리즘 세트(보안 기능이 될 수도 있음)가 표 9에 설명되어 있다.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
바이트 1 | GCA1 | GCA2 | GCA3 | 예약됨 | 예약됨 | 예약됨 | 예약됨 | 예약됨 |
바이트 2 | GIA1 | GIA2 | GIA3 | 예약됨 | 예약됨 | 예약됨 | 예약됨 | 예약됨 |
바이트 3 | GHA1 | GHA2 | 예약됨 | 예약됨 | 예약됨 | 예약됨 | 예약됨 | 예약됨 |
바이트 4 | GKE1 | GKE2 | 예약됨 | 예약됨 | 예약됨 | 예약됨 | 예약됨 | 예약됨 |
암호 알고리즘 세트는 다른 유형의 암호 알고리즘을 더 포함할 수 있으며, 암호화 알고리즘의 콘텐츠, 무결성 보호 알고리즘의 콘텐츠, 키 유도 함수의 콘텐츠, 키 합의 알고리즘의 콘텐츠는 단지 도 8에서 나타낸 실시예에 기술된 콘텐츠가 아닌 것으로 이해될 수 있다. 이는 여기에서 특별히 제한되지 않는다.
특정 구현에서, 도 4c에 도시된 바와 같이, 페어링 응답에는 커맨드 코드(예를 들어, 0X03), 입력/출력 능력, OOB 데이터 식별자, 인증 요청, 최대 암호화 키 길이, 보안 정보 배포 정보, 암호 알고리즘 유형 등이 포함될 수 있다. 실제로 입력/출력 능력, OOB 데이터 식별자, 인증 요청, 최대 암호화 키 길이, 보안 정보 배포 정보, 암호 알고리즘 세트에 대한 설명은 전술한 관련 콘텐츠를 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
특정 구현에서, 페어링 확인 정보는 후속 페어링 및 암호화를 수행하기 위해 제2 노드에 의해 사용되는 인증 유형 및 암호 알고리즘 유형을 포함할 수 있다. 인증 유형은 최적의 페어링 방법에 따라 결정될 수 있고, 최적의 페어링 방법은 제2 노드의 입력/출력 능력에 따라 제1 노드에 의해 결정될 수 있다. 암호 알고리즘 유형은 제2 노드가 지원하는 암호 알고리즘 세트에 기반하여 결정될 수 있다. 선택적으로, 페어링 확인 정보는 이후 링크 암호 키(link cipher key) 생성에 사용되는 난수 N1과 키 합의에 사용되는 공개 키를 더 포함할 수 있다. 도 4d에 도시된 바와 같이, 페어링 확인에는 커맨드 코드(예를 들어, 0X04), 키 길이, 인증 유형, 암호 알고리즘 유형, 제1 노드의 공개 키 및 난수 N1이 포함될 수 있다.
일 구현에서, 키 길이는 제1 노드에 의해 최종적으로 결정된 키 길이이다.
일 구현에서, 인증 유형은 표 10에서 나타낼 수 있다.
값 | 설명 |
0x00 | 비밀번호 인증 |
0x01 | 수치 비교 인증 |
0x02 | 패스 코드 입력 인증 |
0x03 | OOB 인증 (대역 외 모드) |
0x04 | 입력 없이 인증 |
일 구현에서, 암호 알고리즘은 암호 알고리즘 세트의 하나 이상의 알고리즘일 수 있다.
일 구현에서, 난수 N1은 링크 암호 키를 생성하는 데 사용해야 하는 난수이다.
특정 구현에서, 도 4e에 도시된 바와 같이, 페어링 초기 정보는 커맨드 코드(예를 들어, 0X05), 제2 노드의 공개 키, 난수 N2를 포함할 수 있다.
일 구현에서, 난수 N2는 링크 암호 키를 생성하는 데 사용해야 하는 난수이다.
전술한 페어링 절차에서는 암호 알고리즘 유형이 운반되고, 인증 유형에 비밀번호 인증 방식을 추가함으로써, 비밀번호 검증 시나리오에서의 협상 절차를 지원할 수 있는 것으로 이해될 수 있다.
제1 노드가 제4 정보를 제2 노드에 송신하면 - 제4 정보는 인증 방식이 비밀번호 인증임을 지시함 -, 비밀번호 검증 시나리오에 진입한다. 제4 정보는 도 4d에 도시된 페어링 확인 또는 유사한 정보일 수 있다. 비밀번호 검증 시나리오에서, 도 5에 도시된 바와 같이, 제1 노드와 제2 노드 사이의 협상 프로세스는 다음과 같은 단계를 포함할 수 있다: 제1 노드와 제2 노드 사이에서 비밀번호 인증 프로세스가 수행되고; 제1 노드와 제2 노드 사이에서 검증 코드 검증 프로세스가 수행된다.
도 6은 본 출원에 따른 제1 노드와 제2 노드 사이의 비밀번호 검증 프로세스의 개략적인 흐름도이다. 본 실시예의 비밀번호 검증 프로세스는 다음 단계를 포함한다:
S101A: 제1 노드는 제1 비밀번호와 제1 난수를 획득한다.
특정 구현에서, 제1 비밀번호는 사용자가 미리 설정한, 숫자와 문자와 기호의 조합일 수 있다. 제1 비밀번호는 제1 노드의 사용자 인터페이스를 통해 사용자에 의해 입력될 수도 있고, 다른 방식으로 획득될 수도 있다.
특정 구현에서, 제1 난수는 제1 노드에 의해 무작위로 생성된 수이다.
S102A: 제1 노드는 제1 비밀번호와 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성한다.
특정 구현에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는, 제1 난수, 제1 비밀번호, 제1 노드의 공개 키 및 제2 노드의 공개 키에 기반하여 제1 확인 코드를 생성하는 단계일 수 있다. 제1 노드의 공개 키는, 제1 노드가 제2 노드로 송신한 공개 키이면서 또한 도 4d에 도시되어 있는, 페어링 확인 메시지에 포함된 공개 키일 수 있다. 제2 노드의 공개 키는 제2 노드가 제1 노드에 송신한 공개 키이면서 또한 도 4e에 도시되어 있는, 페어링 초기 정보의 공개 키일 수 있다. 이하에서, "~에 기반하여"의 의미는 "단순히 기반하여"가 아니라 "적어도 기반하여"라는 의미로 이해될 수 있다. 예를 들어, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는, 제1 비밀번호와 제1 난수 외에, 더 많은 파라미터, 예를 들어, 제1 노드의 공개 키와 제2 노드의 공개 키에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계로 이해될 수 있다.
특정 구현에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는, 제1 비밀번호에 기반하여 제1 난독화 코드를 생성하는 단계; 및 제1 난수 및 제1 난독화 코드에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계를 포함한다.
특정 구현에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는, 암호 알고리즘에 따라 제1 비밀번호 및 제1 난수에 기반하여 제1 확인 코드를 생성하는 단계일 수 있다. 암호 알고리즘은 암호 알고리즘 세트의 하나 이상의 암호 알고리즘일 수 있다. 예를 들어, 암호 알고리즘 세트는 위의 표 8에 나타낸 암호 알고리즘을 포함할 수 있다. 암호 알고리즘은 AES-CMAC 알고리즘, HMAC-SM3 알고리즘 등일 수 있다. 암호 알고리즘은 제1 노드에 의해 특정되어 제2 노드에 통지될 수 있다. 예를 들어, 제1 노드는 암호 알고리즘을 지시하는 제1 정보를 제2 노드에 송신함으로써, 제1 노드와 제2 노드 모두가 암호 알고리즘을 사용할 수 있다. 여기서, 제1 정보는 제1 노드에서 제2 노드로 송신되는, 도 4d의 페어링 확인 또는 유사한 정보일 수 있다. 암호 알고리즘 세트는 제1 노드와 제2 노드 사이에서 협상될 수 있다. 예를 들어, 제1 노드는 암호 알고리즘 세트를 지시하는 제2 정보를 제2 노드에 송신하고, 제2 노드는 암호 알고리즘 세트를 지시하는 제3 정보를 제1 노드에 송신하여 암호 알고리즘 세트에 대한 협상을 구현한다. 여기서, 제2 정보는 제1 노드에서 제2 노드로 송신되는, 도 4b의 페어링 요청 또는 유사한 정보일 수 있다. 제3 정보는 제2 노드에서 제1 노드로 송신되는, 도 4c의 페어링 응답 또는 유사한 정보일 수 있다.
보다 특정 구현에서, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는, AES-CMAC 알고리즘 및/또는 HMAC-SM3 알고리즘에 따라 제1 비밀번호에 기반하여 제1 난독화 코드를 생성하는 단계일 수 있다. 예를 들어, 제1 난독화 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC(DL, 제1 비밀번호);
HMAC-SM3(DL, 제1 비밀번호);
HMAC-SM3(DL, 제1 비밀번호) + AES-CMAC(DL, 제1 비밀번호);
AEC-CMAC는 암호 알고리즘이며; HMAC-SM3은 또 다른 암호 알고리즘이고, DL은 교환 키(exchange key)의 일부로 표현될 수 있다. 교환 키는 DH 키 등일 수 있다. 예를 들어, 교환 키는 DH 키이고, 교환 키는 키 합의 알고리즘과 공개 키에 기반하여 생성될 수 있다. 키 합의 알고리즘은 키 알고리즘 세트가 교환된 후 제1 노드에 의해 결정된다. 교환 키는 대칭 키이다. 교환 키의 일부는 키의 고차 부분(high-order part), 중차 부분(medium-order part), 저차 부분(low-order part)일 수 있다. 예를 들어, 교환 키는 256비트이고, 교환 키의 일부는 상위 128비트, 중간 128비트, 하위 128비트 등일 수 있다. 전술한 예는 교환 키가 256비트인 예를 사용하여 설명한 것으로 이해되어야 한다. 다른 실시예에서, 교환 키는 128비트, 512비트, 1024비트 등일 수 있다. 이는 여기에서 특별히 제한되지 않는다.
이후 AES-CMAC 알고리즘 및/또는 HMAC-SM3 알고리즘에 따라 제1 난수, 제1 노드의 공개 키, 제2 노드의 공개 키 및 제1 난독화 코드에 기반하여 제1 확인 코드가 생성된다. 예를 들어, 제1 확인 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (K1, M1, len1);
HMAC-SM3 (K1, M1, len1);
AES-CMAC (K1, M1, len1) + HMAC-SM3 (K1, M1, len1);
K1은 제1 난수이고, M1은 제1 노드의 공개 키||제2 노드의 공개 키||제1 난독화 코드이며, len1은 M1의 길이이다. "||"는 문자가 연결되어(concatenated) 있음을 지시한다.
S101B: 제2 노드는 제2 비밀번호와 제2 난수를 획득한다.
특정 구현에서, 제2 비밀번호는 사용자가 미리 설정한, 숫자와 문자와 기호의 조합일 수 있다. 제2 비밀번호는 제2 노드의 사용자 인터페이스를 통해 사용자에 의해 입력될 수도 있고, 다른 방식으로 획득될 수도 있다.
특정 구현에서, 제2 난수는 제2 노드에 의해 무작위로 생성된 수이다.
S102B: 제2 노드는 제2 비밀번호와 제2 난수에 기반하여 제2 노드의 제2 확인 코드를 생성한다.
특정 구현에서, 제2 비밀번호 및 제2 난수에 기반하여 제2 노드의 제2 확인 코드를 생성하는 단계는, 제2 난수, 제2 비밀번호, 제1 노드의 공개 키 및 제2 노드의 공개 키에 기반하여 제2 확인 코드를 생성하는 단계일 수 있다.
특정 구현에서, 제2 비밀번호 및 제2 난수에 기반하여 제2 노드의 제2 확인 코드를 생성하는 단계는, 제2 비밀번호에 기반하여 제2 난독화 코드를 생성하는 단계; 및 제2 난수 및 제2 난독화 코드에 기반하여 제2 노드의 제2 확인 코드를 생성하는 단계일 수 있다.
특정 구현에서, 제2 비밀번호 및 제2 난수에 기반하여 제2 노드의 제2 확인 코드를 생성하는 단계는, 암호 알고리즘에 따라 제2 비밀번호 및 제2 난수에 기반하여 제2 확인 코드를 생성하는 단계일 수 있다.
보다 특정 구현에서, 제2 비밀번호 및 제2 난수에 기반하여 제2 노드의 제2 확인 코드를 생성하는 단계는, AES-CMAC 알고리즘 및/또는 HMAC-SM3 알고리즘에 따라 제2 비밀번호에 기반하여 제2 난독화 코드를 생성하는 단계일 수 있다. 예를 들어, 제2 난독화 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC(DL, 제2 비밀번호);
HMAC-SM3(DL, 제2 비밀번호);
AES-CMAC (DL, 제2 비밀번호) + HMAC-SM3 (DL, 제2 비밀번호);
AEC-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; DL은 교환 키의 일부로 표현될 수 있다.
이후 AES-CMAC 알고리즘과 HMAC-SM3 알고리즘에 따라 제2 난수, 제1 노드의 공개 키, 제2 노드의 공개 키 및 제2 난독화 코드에 기반하여 제2 확인 코드가 생성된다. 예를 들어, 제2 확인 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (K2, M2, len2);
HMAC-SM3 (K2, M2, len2);
AES-CMAC (K2, M2, len2) + HMAC-SM3 (K2, M2, len2);
K2는 제2 난수이고, M2는 제1 노드의 공개 키||제2 노드의 공개 키||제2 난독화 코드이며, len2는 M2의 길이이다.
S103: 제2 노드는 제2 확인 코드와 제2 난수를 제1 노드에 송신한다. 이에 따라, 제1 노드는 제1 노드에 의해 송신된, 제2 확인 코드와 제2 난수를 수신한다.
S104: 제1 노드는 제2 난수에 기반하여 제2 노드에 대응하는 제3 확인 코드를 생성한다.
특정 구현에서, 제2 난수에 기반하여 제2 노드의 제3 확인 코드를 생성하는 단계는, 제2 난수, 제1 비밀번호, 제1 노드의 공개 키 및 제2 노드의 공개 키에 기반하여 제2 확인 코드를 생성하는 단계일 수 있다.
특정 구현에서, 제2 난수에 기반하여 제2 노드의 제3 확인 코드를 생성하는 단계는, 제1 비밀번호에 기반하여 제3 난독화 코드를 생성하는 단계; 및 제2 난수 및 제3 난독화 코드에 기반하여 제2 노드의 제3 확인 코드를 생성하는 단계일 수 있다.
특정 구현에서, 제2 난수에 기반하여 제2 노드의 제3 확인 코드를 생성하는 단계는, 암호 알고리즘에 따라 제2 난수에 기반하여 제2 노드의 제3 확인 코드를 생성하는 단계일 수 있다.
보다 특정 구현에서, 암호 알고리즘에 따라 제2 난수에 기반하여 제2 노드의 제3 확인 코드를 생성하는 단계는, AES-CMAC 알고리즘 및/또는 HMAC-SM3 알고리즘에 따라 제1 비밀번호에 기반하여 제3 난독화 코드를 생성하는 단계일 수 있다. 예를 들어, 제3 난독화 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (DL, 제1 비밀번호);
HMAC-SM3 (DL, 제1 비밀번호);
AES-CMAC (DL, 제1 비밀번호) + HMAC-SM3 (DL, 제1 비밀번호);
AEC-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; DL은 교환 키의 일부이다.
이후 AES-CMAC 알고리즘 및/또는 HMAC-SM3 알고리즘에 따라 제2 난수, 제1 노드의 공개 키, 제2 노드의 공개 키 및 제3 난독화 코드에 기반하여 제3 확인 코드가 생성된다. 예를 들어, 제3 확인 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (K2, M3, len3);
HMAC-SM3 (K2, M3, len3);
AES-CMAC (K2, M3, len3) + HMAC-SM3 (K2, M3, len3);
K2는 제2 난수이고, M3은 제1 노드의 공개 키||제2 노드의 공개 키||제3 난독화 코드이며, len3은 M3의 길이이다.
S105: 제1 노드는 제2 확인 코드를 제3 확인 코드와 비교한다. 제2 확인 코드가 제3 확인 코드와 동일할 때, 제2 확인 코드가 정확한 것으로 결정되고, 제1 노드와 제2 노드 간의 페어링이 계속될 수 있으며, 단계(S106)이 수행되며; 또는, 제2 확인 코드가 제3 확인 코드와 상이할 때, 제2 확인 코드가 잘못된 것으로 결정되고, 제1 노드와 제2 노드 간의 페어링이 종료되며, 프로세스가 종료된다.
S106: 제1 노드는 제1 확인 코드와 제1 난수를 제2 노드에 송신한다. 이에 따라, 제2 노드는 제1 노드에 의해 송신된, 제1 확인 코드와 제1 난수를 수신한다.
S107: 제2 노드는 제1 난수에 기반하여 제1 노드에 대응하는 제4 확인 코드를 생성한다.
특정 구현에서, 제1 난수에 기반하여 제1 노드에 대응하는 제4 확인 코드를 생성하는 단계는, 제1 난수, 제2 비밀번호, 제1 노드의 공개 키 및 제2 노드의 공개 키에 기반하여 제4 확인 코드를 생성하는 단계일 수 있다.
특정 구현에서, 제1 난수에 기반하여 제1 노드에 대응하는 제4 확인 코드를 생성하는 단계는, 제2 비밀번호에 기반하여 제4 난독화 코드를 생성하는 단계; 및 제1 난수 및 제4 난독화 코드에 기반하여 제1 노드의 제4 확인 코드를 생성하는 단계일 수 있다.
특정 구현에서, 제1 난수에 기반하여 제1 노드에 대응하는 제4 확인 코드를 생성하는 단계는, 암호 알고리즘에 따라 제2 비밀번호 및 제1 난수에 기반하여 제4 확인 코드를 생성하는 단계일 수 있다.
보다 특정 구현에서, 암호 알고리즘에 따라 제2 비밀번호 및 제1 난수에 기반하여 제1 노드에 대응하는 제4 확인 코드를 생성하는 단계는, AES-CMAC 알고리즘 및/또는 HMAC-SM3 알고리즘에 따라 제2 비밀번호에 기반하여 제4 난독화 코드를 생성하는 단계일 수 있다. 예를 들어, 제4 난독화 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (DL, 제2 비밀번호);
HMAC-SM3 (DL, 제2 비밀번호);
AES-CMAC (DL, 제2 비밀번호) + HMAC-SM3 (DL, 제2 비밀번호);
AEC-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; DL은 교환 키의 일부이다.
이후 AES-CMAC 알고리즘 및/또는 HMAC-SM3 알고리즘에 따라 제1 난수, 제1 노드의 공개 키, 제2 노드의 공개 키 및 제4 난독화 코드에 기반하여 제4 확인 코드가 생성된다. 예를 들어, 제4 확인 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (K1, M4, len4);
HMAC-SM3 (K1, M4, len4);
AES-CMAC (K1, M4, len4) + HMAC-SM3 (K1, M4, len4);
K1은 제1 난수이고, M4는 제1 노드의 공개 키||제2 노드의 공개 키||제4 난독화 코드의 공개 키이며, len4는 M4의 길이이다. "||"는 문자가 연결되어 있음을 지시한다.
S108: 제2 노드는 제1 확인 코드와 제4 확인 코드를 비교한다. 제1 확인 코드와 제4 확인 코드가 동일할 때, 제1 확인 코드가 정확한 것으로 결정되며, 제1 노드와 제2 노드 간의 페어링이 계속될 수 있다. 예를 들어, 도 7에 도시된 검증 코드 검증 프로세스가 계속될 수 있거나, 제1 노드와 제2 노드가 페어링에 성공한 것으로 결정되고 프로세스가 종료된다. 제1 확인 코드가 제4 확인 코드와 상이할 때, 제1 확인 코드가 정확하지 않은 것으로 결정하며, 제1 노드와 제2 노드 간의 페어링이 종료되고, 프로세스가 종료된다.
본 실시예에서 사용되는 프로세스의 이름(예를 들어, 비밀번호 검증 프로세스) 및 정보의 이름(예를 들어, 페어링 확인 및 페어링 초기 정보)은 예일 뿐이며, 실제 애플리케이션에서 가능한 임의의 이름으로 대체될 수 있음을 이해해야 한다.
전술한 예에서, 단계(S101A) 및 단계(S102A)는 단계(S101B) 및 단계(S102B)와 관련하여 독립적으로 수행된다. 따라서, 가능한 실행 시퀀스는 다음을 포함한다: 단계(S101A) 및 단계(S101B)가 동시에 수행되고, 단계(S102A) 및 단계(S102B)가 동시에 수행되며, 단계(S101A)가 단계(S101B) 이전 또는 이후에 수행되고, 단계(S102A)가 단계(S102B) 이전 또는 이후에 수행되는 것 등이다. 이는 여기에서 특별히 제한되지 않는다. 단계(S103) 내지 단계(S105)는 단계(S106) 내지 단계(S108)와 관련하여 독립적으로 수행된다. 따라서, 가능한 실행 시퀀스는 다음을 포함한다: 단계(S103) 및 단계(S106)가 동시에 수행되고, 단계(S104) 및 단계(S107)가 동시에 수행되며, 단계(S105) 및 단계(S108)가 동시에 수행되고, 단계(S103)가 단계(S106) 이전 또는 이후에 수행되며, 단계(S104)가 단계(S107) 이전 또는 이후에 수행되고, 단계(S105)가 단계(S108) 이전 또는 이후에 수행되는 것 등이다.
도 7은 본 출원에 따른 제1 노드와 제2 노드 사이의 검증 코드 검증 프로세스의 개략적인 흐름도이다. 본 실시예의 검증 코드 검증 프로세스는 다음과 같은 단계를 포함한다:
S201A: 제1 노드는 제1 키를 획득한다.
특정 구현에서, 제1 키는 제1 DH 키일 수 있다. 제1 노드의 제1 DH 키는 키 합의 알고리즘 및 제2 노드의 공개 키에 기반하여 생성될 수 있다.
S202A: 제1 노드는 제1 키에 기반하여 제1 검증 코드를 생성한다.
특정 구현에서, 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는, 암호 알고리즘에 따라 제1 키에 기반하여 제1 검증 코드를 생성하는 단계를 포함한다.
특정 구현에서, 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는, 제1 키, 적어도 2개의 난수, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제1 검증 코드를 생성하는 단계를 포함한다. 적어도 2개의 난수는 제3 난수 및 제4 난수를 포함할 수 있다. 제3 난수는 제1 노드에 의해 제2 노드에 송신될 수 있다. 구체적으로, 제1 노드는 제3 난수를 포함하는 페어링 확인(도 4d 참조)을 제2 노드에 송신할 수 있다. 제4 난수는 제2 노드에 의해 제1 노드로 송신될 수 있다. 구체적으로, 제2 노드는 제4 난수를 포함하는 페어링 초기 정보(도 4e 참조)를 제1 노드에 송신할 수 있다. 제1 노드의 주소와 제2 노드의 주소는 페어링 이전의 교환을 통해 획득될 수도 있고, 페어링 요청 및 페어링 응답에서의 교환을 통해 획득될 수도 있다.
특정 구현에서, 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는, 제1 키, 적어도 2개의 난수, 제1 파라미터, 제2 파라미터, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제1 검증 코드를 생성하는 단계를 포함한다. 제1 파라미터는 제2 난수 등일 수 있으며; 제2 파라미터는 제1 노드의 입력/출력 능력 || 제2 노드의 입력/출력 능력 || 제1 인증 방식 || 암호 알고리즘 등일 수 있다. 제1 노드의 입력/출력 능력은 제1 노드에 의해 제2 노드로 송신될 수 있다. 예를 들어, 제1 노드는 제1 노드의 입력/출력 능력을 포함하는 페어링 요청(도 4b 참조)을 제2 노드에 송신할 수 있다. 제2 노드의 입력/출력 능력은 제2 노드에 의해 제1 노드로 송신될 수 있다. 예를 들어, 제2 노드는 제2 노드의 입력/출력 능력을 포함하는 페어링 응답(도 4c 참조)을 제1 노드에 송신할 수 있다. 제2 파라미터는 4개의 파라미터를 직렬로 연결하는 것에 의해 획득되는 것으로 이해될 수 있다. 실제 애플리케이션에서는 더 많거나 적은 수의 파라미터를 직렬로 연결하여 제2 파라미터를 획득할 수 있다. 이는 여기에서 특별히 제한되지 않는다.
보다 특정 구현에서, 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는, 제1 키에 기반하여 제1 키 검증 코드를 생성하는 단계; 및 제1 키 검증 코드에 기반하여 제1 검증 코드를 생성하는 단계를 포함한다.
도 8에 도시된 바와 같이, 제1 키에 기반하여 제1 키 검증 코드를 생성하는 단계는, 제1 키, 제3 난수, 제4 난수, 제1 노드의 주소 및 제2 노드의 주소에 기반하여 제1 키 검증 코드를 생성하는 단계를 포함할 수 있다. 예를 들어, 제1 키 검증 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (DH key1, N1, N2, Address1, Address2);
HMAC-SM3 (DH key1, N1, N2, Address1, Address2);
AES-CMAC (DH key1, N1, N2, Address1, Address2) + HMAC-SM3 (DH key1, N1, N2, Address1, Address2);
AES-CMAC는 암호 알고리즘이고, HMAC-SM3은 또 다른 암호 알고리즘이며, DH key1은 제1 키, 예를 들어, DH 키이며; N1은 제3 난수이고; N2는 제4 난수이고; Address1은 제1 노드의 주소이며; Address2는 제2 노드의 주소이다.
도 9에 도시된 바와 같이, 제1 키 검증 코드에 기반하여 제1 검증 코드를 생성하는 단계는, 제1 키 검증 코드, 제1 파라미터, 제2 파라미터, 제3 난수, 제4 난수, 제1 노드의 주소 및 제2 노드의 주소에 기반하여 제1 검증 코드를 생성하는 단계를 포함할 수 있다. 예를 들어, 제1 검증 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (제1 키 검증 코드, S1, S2, N1, N2, Address1, Address2);
HMAC-SM3 (제1 키 검증 코드, S1, S2, N1, N2, Address1, Address2);
AES-CMAC (제1 키 검증 코드, S1, S2, N1, N2, Address1, Address2) + HMAC-SM3 (제1 키 검증 코드, S1, S2, N1, N2, Address1, Address2);
AES-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; S1은 제1 파라미터이고; S2는 제2 파라미터이며; N1은 제3 난수이고; N2는 제4 난수이며; Address1은 제1 노드의 주소이고; Address2는 제2 노드의 주소이다.
S201B: 제2 노드가 제2 키를 획득한다.
특정 구현에서, 제2 키는 제2 DH 키일 수 있다. 제2 노드의 제2 DH 키는 키 합의 알고리즘과 제1 노드의 공개 키에 따라 생성될 수 있다.
S202B: 제2 노드는 제2 키에 기반하여 제2 검증 코드를 생성한다.
특정 구현에서, 제2 키에 기반하여 제2 검증 코드를 생성하는 단계는, 암호 알고리즘에 따라 제2 키에 기반하여 제2 검증 코드를 생성하는 단계를 포함한다.
특정 구현에서, 제2 키에 기반하여 제2 검증 코드를 생성하는 단계는, 제2 키, 적어도 2개의 난수, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 중 하나 이상에 기반하여 제2 검증 코드를 생성하는 단계를 포함한다.
특정 구현에서, 제2 키에 기반하여 제2 검증 코드를 생성하는 단계는, 제2 키, 적어도 2개의 난수, 제3 파라미터, 제4 파라미터, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제2 검증 코드를 생성하는 단계를 포함한다. 제3 파라미터는 제1 난수 등일 수 있으며; 제4 파라미터는 제1 노드의 입력/출력 능력||제2 노드의 입력/출력 능력||제1 인증 방식||암호 알고리즘 등일 수 있다.
보다 특정 구현에서, 제2 키에 기반하여 제2 검증 코드를 생성하는 단계는, 제2 키에 기반하여 제2 키 검증 코드를 생성하는 단계; 및 제2 키 검증 코드에 기반하여 제2 검증 코드를 생성하는 단계를 포함한다.
제2 키에 기반하여 제2 키 검증 코드를 생성하는 단계는, 제2 키, 제3 난수, 제4 난수, 제1 노드의 주소 및 제2 노드의 주소에 기반하여 제2 키 검증 코드를 생성하는 단계를 포함할 수 있다. 예를 들어, 제2 키 검증 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (DH key2, N1, N2, Address1, Address2);
HMAC-SM3 (DH key2, N1, N2, Address1, Address2);
AES-CMAC (DH key2, N1, N2, Address1, Address2) + HMAC-SM3 (DH key2, N1, N2, Address1, Address2);
AES-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; DH key2는 제2 키, 예를 들어, DH 키이고; N1은 제3 난수이며; N2는 제4 난수이고; Address1은 제1 노드의 주소이며; Address2는 제2 노드의 주소이다.
제2 키 검증 코드에 기반하여 제2 검증 코드를 생성하는 단계는, 제2 키 검증 코드, 제3 파라미터, 제4 파라미터, 제3 난수, 제4 난수, 제1 노드의 주소 및 제2 노드의 주소에 기반하여 제2 검증 코드를 생성하는 단계를 포함할 수 있다. 이 예를 들어, 제2 검증 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (제2 키 검증 코드, S3, S4, N1, N2, Address1, Address2);
HMAC-SM3 (제2 키 검증 코드, S3, S4, N1, N2, Address1, Address2);
AES-CMAC (제2 키 검증 코드, S3, S4, N1, N2, Address1, Address2) + HMAC-SM3 (제2 키 검증 코드, S3, S4, N1, N2, Address1, Address2);
AES-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; S3은 제3 파라미터이고; S4는 제4 파라미터이며; N1은 제3 난수이고; N2는 제4 난수이며; Address1은 제1 노드의 주소이고; Address2는 제2 노드의 주소이다.
S203: 제1 노드는 제1 검증 코드를 제2 노드로 송신한다. 이에 따라, 제2 노드는 제1 노드에 의해 송신된 제1 검증 코드를 수신한다.
S204: 제2 노드는 제2 키에 기반하여 제3 검증 코드를 생성한다.
특정 구현에서, 제2 키에 기반하여 제3 검증 코드를 생성하는 단계는, 암호 알고리즘에 따라 제2 키에 기반하여 제3 검증 코드를 생성하는 단계를 포함한다.
특정 구현에서, 제2 키에 기반하여 제3 검증 코드를 생성하는 단계는, 제2 키, 적어도 2개의 난수, 제1 노드의 주소, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제3 검증 코드를 생성하는 단계를 포함한다.
특정 구현에서, 제2 키에 기반하여 제3 검증 코드를 생성하는 단계는, 제2 키, 적어도 2개의 난수, 제1 파라미터, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제3 검증 코드를 생성하는 단계를 포함한다. 제1 파라미터, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식의 값에 대해서는 표 11을 참조한다.
보다 특정 구현에서, 제2 키에 기반하여 제3 검증 코드를 생성하는 단계는, 제2 키에 기반하여 제3 키 검증 코드를 생성하는 단계; 및 제3 키 검증 코드에 기반하여 제3 검증 코드를 생성하는 단계를 포함한다.
제2 키에 기반하여 제3 키 검증 코드를 생성하는 단계는, 제2 키, 제3 난수, 제4 난수, 제1 노드의 주소 및 제2 노드의 주소에 기반하여 제3 키 검증 코드를 생성하는 단계를 포함할 수 있다. 예를 들어, 제3 키 검증 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (DH key2, N1, N2, Address1, Address2);
HMAC-SM3 (DH key2, N1, N2, Address1, Address2);
AES-CMAC (DH key2, N1, N2, Address1, Address2) + HMAC-SM3 (DH key2, N1, N2, Address1, Address2);
AES-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; DH key2는 제2 키, 예를 들어, DH 키이고; N1은 제3 난수이며; N2는 제4 난수이고; Address1은 제1 노드의 주소이고; Address2는 제2 노드의 주소이다.
제3 키 검증 코드에 기반하여 제3 검증 코드를 생성하는 단계는, 제3 키 검증 코드, 제1 파라미터, 제2 파라미터, 제3 난수, 제4 난수, 제1 노드의 주소 및 제2 노드의 주소에 기반하여 제3 검증 코드를 생성하는 단계를 포함할 수 있다. 예를 들어, 제3 검증 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (제3 키 검증 코드, S1, S2, N1, N2, Address1, Address2);
HMAC-SM3 (제3 키 검증 코드, S1, S2, N1, N2, Address1, Address2);
AES-CMAC (제3 키 검증 코드, S1, S2, N1, N2, Address1, Address2) + HMAC-SM3 (제3 키 검증 코드, S1, S2, N1, N2, Address1, Address2);
AES-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; S1은 제1 파라미터이고; S2는 제2 파라미터이며; N1은 제3 난수이고; N2는 제4 난수이며; Address1은 제1 노드의 주소이고; Address2는 제2 노드의 주소이다.
S205: 제2 노드는 제1 검증 코드를 제3 검증 코드와 비교한다. 제1 검증 코드와 제3 검증 코드가 동일할 때, 제1 검증 코드가 정확한 것으로 결정되며, 제1 노드와 제2 노드 간의 페어링이 허용되고, 그리고 단계(S206)가 수행되며; 또는, 제1 검증 코드가 제3 검증 코드와 상이할 때, 제1 검증 코드가 정확하지 않은 것으로 결정되며, 제1 노드와 제2 노드 간의 페어링이 허용되지 않으며, 프로세스가 종료된다.
S206: 제2 노드는 제2 검증 코드를 제1 노드에 송신한다. 이에 따라, 제1 노드는 제2 노드가 송신한 제2 검증 코드를 수신한다.
S207: 제1 노드는 제1 키에 기반하여 제4 검증 코드를 생성한다.
특정 구현에서, 제1 키에 기반하여 제4 검증 코드를 생성하는 단계는, 암호 알고리즘에 따라 제1 키에 기반하여 제4 검증 코드를 생성하는 단계를 포함한다.
특정 구현에서, 제1 키에 기반하여 제4 검증 코드를 생성하는 단계는, 제1 키, 적어도 2개의 난수, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제4 검증 코드를 생성하는 단계를 포함한다.
특정 구현에서, 제1 키에 기반하여 제4 검증 코드를 생성하는 단계는, 제1 키, 적어도 2개의 난수, 제1 파라미터, 제2 파라미터, 제1 노드의 주소, 제2 노드의 주소, 제1 노드의 입력/출력 능력, 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 제4 검증 코드를 생성하는 단계를 포함한다.
보다 구체적인 구현에 있어서, 제1 키에 기반하여 제4 검증 코드를 생성하는 단계는, 제1 키에 기반하여 제4 키 검증 코드를 생성하는 단계; 및 제4 키 검증 코드에 기반하여 제4 검증 코드를 생성하는 단계를 포함한다.
제1 키에 기반하여 제4 키 검증 코드를 생성하는 단계는, 제1 키, 제3 난수, 제4 난수, 제1 노드의 주소 및 제2 노드의 주소에 기반하여 제4 키 검증 코드를 생성하는 단계를 포함할 수 있다. 예를 들어, 제4 키 검증 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (DH key1, N1, N2, Address1, Address2);
HMAC-SM3 (DH key1, N1, N2, Address1, Address2);
AES-CMAC (DH key1, N1, N2, Address1, Address2) + HMAC-SM3 (DH key1, N1, N2, Address1, Address2);
AES-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; DH key1은 제1 키, 예를 들어, DH 키이고; N1은 제3 난수이며; N2는 제4 난수이고; Address1은 제1 노드의 주소이며; Address2는 제2 노드의 주소이다.
제4 키 검증 코드에 기반하여 제4 검증 코드를 생성하는 단계는, 제4 키 검증 코드, 제3 파라미터, 제4 파라미터, 제3 난수, 제4 난수, 제1 노드의 주소 및 제2 노드의 주소에 기반하여 제4 검증 코드를 생성하는 단계를 포함할 수 있다. 예를 들어, 제4 검증 코드의 값은 다음 중 어느 하나를 충족한다:
AES-CMAC (제4 키 검증 코드, S3, S4, N1, N2, Address1, Address2);
HMAC-SM3 (제4 키 검증 코드, S3, S4, N1, N2, Address1, Address2);
AES-CMAC (제4 키 검증 코드, S3, S4, N1, N2, Address1, Address2) + HMAC-SM3 (제4 키 검증 코드, S3, S4, N1, N2, Address1, Address2);
AES-CMAC는 암호 알고리즘이고; HMAC-SM3은 또 다른 암호 알고리즘이며; S3은 제3 파라미터이고; S4는 제4 파라미터이며; N1은 제3 난수이고; N2는 제4 난수이며; Address1은 제1 노드의 주소이고; Address2는 제2 노드의 주소이다.
S208: 제1 노드는 제2 검증 코드를 제4 검증 코드와 비교한다. 제2 검증 코드가 제4 검증 코드와 동일하면, 제2 검증 코드가 정확한 것으로 결정되며, 제1 노드와 제2 노드 간의 페어링이 허용되고; 또는, 제1 노드와 제2 노드가 성공적으로 페어링된 것으로 결정되면, 프로세스가 종료된다. 제2 검증 코드가 제4 검증 코드와 상이하면, 제2 검증 코드가 정확하지 않은 것으로 결정되고, 제1 노드와 제2 노드 간의 페어링이 허용되지 않으며, 프로세스가 종료된다.
본 실시예에서 사용되는 절차의 이름(예를 들어, 검증 코드 검증 프로세스) 및 정보의 이름(예를 들어, 페어링 요청, 페어링 응답)은 예일 뿐이며, 실제 애플리케이션에서는 가능한 임의의 이름으로 대체된다는 점을 이해하면 된다.
전술한 예에서, 단계(S201A) 및 단계(S202A)는 단계(S201B) 및 단계(S202B와 관련하여 독립적으로 수행된다. 따라서, 가능한 실행 시퀀스는 다음을 포함한다: 단계(S201A) 및 단계(S201B)가 동시에 수행되고, 단계(S202A) 및 단계(S202B)가 동시에 수행되며, 단계(S201A)가 단계(S201B) 이전 또는 이후에 수행되고, 단계(S202A)가 단계(S202B 이전 또는 이후에 수행되는 것 등이다. 이는 여기에서 특별히 제한되지 않는다.
제1 페어링 프로세스는 도 6에 도시된 비밀번호 검증 프로세스를 포함할 수 있거나, 도 7에 도시된 검증 코드 검증 프로세스를 포함할 수 있거나, 도 6에 도시된 비밀번호 검증 프로세스와 도 7에 도시된 검증 코드 검증 프로세스를 모두 포함할 수 있음을 이해할 수 있다. 예를 들어, 도 6에 도시된 비밀번호 검증 프로세스가 먼저 수행한 후, 도 7에 도시된 검증 코드 검증 프로세스가 수행되거나; 도 7에 도시된 검증 코드 검증 프로세스가 먼저 수행된 다음, 도 6에 도시된 비밀번호 검증 프로세스가 수행된다. 이는 여기에서 특별히 제한되지 않는다.
도 10은 본 출원의 실시예에 따른 장치의 구조의 개략도이다. 이 장치(10)는 적어도 프로세서(110), 메모리(111), 수신기(112) 및 송신기(113)를 포함한다. 수신기(112) 및 송신기(113)는 통신 인터페이스로 대체될 수도 있으며, 정보 입력 및/또는 정보 출력을 프로세서(110)에 제공하도록 구성된다. 선택적으로, 메모리(111), 수신기(112), 송신기(113) 및 프로세서(110)는 버스를 통해 연결되거나 결합된다. 선택적으로, 일부 가능한 실시예에서, 이 장치(10)는 디스플레이(114)를 더 포함하고, 디스플레이(114)는 버스를 통해 프로세서(110)에 연결된다. 이 장치(10)는 차량의 조종석 도메인 컨트롤러(cockpit domain controller, CDC)일 수도 있고, CDC의 엘리먼트일 수도 있고, 칩이나 집적 회로와 같은 디바이스일 수도 있다. CDC는 헤드 유닛이라고도 할 수 있다. 여기서, 헤드 유닛은 이 장치(10)의 하드웨어를 설명하기 위한 예로 사용될 수 있다.
수신기(112)는 적어도 하나의 단말 디바이스로부터 데이터, 예를 들어 음성 신호 또는 이미지 신호를 수신하도록 구성된다.
송신기(113)는 데이터, 예를 들어 음성 신호 또는 이미지 신호를 적어도 하나의 단말 디바이스에 송신하도록 구성된다.
수신기(112) 및 송신기(113)는 광섬유와 같은 신호 전송 엔티티를 사용하여 또는 무선 인터페이스를 사용하여 단말 디바이스, 센서 또는 다른 물리적 디바이스와 통신하도록 구성되는 안테나 및 칩셋을 포함할 수 있다. 송신기(113)와 수신기(112)는 통신 모듈을 형성한다. 통신 모듈은 하나 이상의 다른 유형의 무선 통신(예를 들어, 프로토콜)을 통해 정보를 수신하고 송신하도록 구성될 수 있다. 무선 통신에는 블루투스, IEEE 802.11 통신 프로토콜, 셀룰러 기술, 마이크로웨이브 액세스를 위한 전세계 상호운용성(worldwide interoperability for microwave Access, WiMAX), 롱 텀 에볼루션(long term evolution, LTE), ZigBee 프로토콜, 전용 단거리 통신(dedicated short range communications, DSRC), 무선 주파수 식별(radio frequency identification, RFID) 통신, 범용 단거리 통신 기술, 차량 내 범용 단거리 통신 기술, 존재할 수 있는 기타 단거리 통신 기술 등을 포함한다.
디스플레이(114)는 사용자 입력을 수신하고, 사용자가 입력한 정보와 헤드 유닛이 사용자에게 제공하는 정보를 디스플레이하도록 구성된다. 디스플레이(114)는 액정 디스플레이(liquid crystal display, LCD), 유기 또는 무기 발광 다이오드(organic light-emitting Diode, OLED), 능동형 유기 발광 다이오드(active matrix/organic light emitting diode, AMOLED) 패널 등일 수 있다.
프로세서(110)는 하나 이상의 범용 프로세서, 예를 들면, 중앙 처리 유닛(central processor unit, CPU), 또는 CPU와 하드웨어 칩의 조합을 포함할 수 있다. 하드웨어 칩은 주문형 집적 회로(application-specific integrated circuit, ASIC), 프로그래밍 가능한 로직 디바이스(programmable logic device, PLD), 또는 이들의 조합일 수 있다. PLD는 복합 프로그래밍 가능 로직 디바이스(complex programmable logic device, CPLD), 필드 프로그래밍 가능 게이트 어레이(field-programmable gate array, FPGA), 일반 어레이 로직(generic array logic, GAL), 또는 이들의 임의의 조합일 수 있다.
메모리(111)는 휘발성 메모리(volatile memory), 예를 들어, 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있다. 메모리(111)는 다르게는 비휘발성 메모리(non-volatile memory), 예를 들어, ROM(read-only memory), 플래시 메모리(flash memory), 하드 디스크 드라이브(hard disk drive, HDD), 또는 솔리드 스테이트 드라이브(solid-state drive, SSD)를 포함할 수 있다. 메모리(111)는 다르게는 전술한 유형의 메모리들의 조합을 포함할 수도 있다. 메모리(111)는 프로그램 및 데이터를 저장할 수 있다. 저장된 프로그램에는 비밀번호 검증 프로세스에 대응하는 프로그램, 검증 코드 검증 프로세스에 대응하는 프로그램 등이 포함된다. 저장된 데이터에는 제1 비밀번호, 제2 비밀번호, 제1 난수 내지 제4 난수, 제1 파라미터, 제2 파라미터, 제1 노드의 주소, 제2 노드의 주소, 암호 알고리즘 등이 포함된다. 메모리(111)는 독립적으로 존재할 수도 있고, 프로세서(110)에 통합될 수도 있다.
본 출원의 실시예에서, 프로세서(110)는 구체적으로, 메모리(111)의 프로그램 코드 및 데이터를 호출하여, 도 2, 도 3a 내지 도 3b, 도 5, 도 6 및 도 7의 실시예에서 설명된 제1 노드 또는 제2 노드의 방법을 수행하도록 구성된다.
도 11은 본 출원의 실시예에 따른 장치의 구조의 개략도이다. 이 장치(20)는 적어도 프로세서(210), 메모리(211), 수신기(212), 송신기(213), 오디오 회로(214) 및 마이크로폰(215)을 포함한다. 수신기(212) 및 송신기(213)는 통신 인터페이스로 대체될 수도 있으며, 정보 입력 및/또는 정보 출력을 프로세서(210)에 제공하도록 구성된다. 선택적으로, 메모리(211), 수신기(212), 송신기(213), 오디오 회로(214), 마이크로폰(215) 및 프로세서(210)는 버스를 통해 연결되거나 결합된다. 이 장치(20)는 차량 탑재 디바이스(예를 들어, 스피커, 마이크로폰, 카메라, 디스플레이), 차량 비탑재 디바이스(예를 들어, 모바일폰 또는 헤드셋), 또는 장치(10) 또는 전술한 디바이스의 엘리먼트 예를 들어, 칩 또는 집적 회로와 통신할 수 있는 기타 디바이스일 수 있다. 여기서, 차량 탑재 디바이스는 장치(20)의 하드웨어를 설명하기 위한 예로 사용될 수 있다.
수신기(212)는 데이터, 예를 들어, 오디오 신호 또는 음성 신호를 수신하도록 구성된다.
송신기(213)는 데이터, 예를 들어, 오디오 신호 또는 음성 신호를 CDC에 송신하도록 구성된다.
수신기(212) 및 송신기(213)는 CDC 또는 차량 내 다른 물리적 디바이스와 직접 또는 무선 인터페이스를 통해 통신하도록 구성된 안테나 및 칩셋을 포함할 수 있다. 수신기(212)와 송신기(213)는 통신 모듈을 형성한다. 통신 모듈은 하나 이상의 다른 유형의 무선 통신(예를 들어, 프로토콜)을 통해 정보를 송신하고 수신하도록 구성될 수 있다. 무선 통신은, 블루투스, IEEE 802.11 통신 프로토콜, 셀룰러 기술, 마이크로웨이브 액세스를 위한 전세계 상호운용성(worldwide interoperability for microwave Access, WiMAX), 롱 텀 에볼루션(long term evolution, LTE), ZigBee 프로토콜, 전용 단거리 통신(dedicated short range communications, DSRC), 무선 주파수 식별(radio frequency identification, RFID) 통신, 범용 단거리 통신 기술, 차량 내 범용 단거리 통신 기술, 존재할 수 있는 기타 단거리 통신 기술 등을 포함한다.
마이크로폰(215)는 수집된 오디오 데이터(예를 들어, 음성 신호)를 오디오 데이터에 대응하는 전기 신호로 변환하고, 전기 신호를 오디오 회로(214)로 출력한다.
오디오 회로(214)는 마이크로폰(215)에 의해 출력된 수신된 전기 신호를 대응하는 오디오 데이터로 변환하고, 후속 처리를 위해 오디오 데이터를 프로세서(210)에 출력한다.
프로세서(210)는 하나 이상의 범용 프로세서, 예를 들면, 중앙 처리 유닛(central processor unit, CPU), 또는 CPU와 하드웨어 칩의 조합을 포함할 수 있다. 하드웨어 칩은 주문형 집적 회로(application-specific integrated circuit, ASIC), 프로그래밍 가능한 로직 디바이스(programmable logic device, PLD), 또는 이들의 조합일 수 있다. PLD는 복합 프로그래밍 가능 로직 디바이스(complex programmable logic device, CPLD), 필드 프로그래밍 가능 게이트 어레이(field-programmable gate array, FPGA), 일반 어레이 로직(generic array logic, GAL), 또는 이들의 임의의 조합일 수 있다.
메모리(211)는 휘발성 메모리(volatile memory), 예를 들어, 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있다. 메모리(211)는 다르게는 비휘발성 메모리(non-volatile Memory), 예를 들어, ROM(read-only memory), 플래시 메모리(flash memory), 하드 디스크 드라이브(hard disk drive, HDD), 또는 솔리드 스테이트 드라이브(solid-state drive, SSD)를 포함할 수 있다. 메모리(211)는 전술한 유형의 메모리들의 조합을 포함할 수도 있다. 메모리(211)는 프로그램 및 데이터를 저장할 수 있다. 저장된 프로그램에는 비밀번호 검증 프로세스에 대응하는 프로그램, 검증 코드 검증 프로세스에 대응하는 프로그램 등이 포함된다. 저장된 데이터에는 제1 비밀번호, 제2 비밀번호, 제1 난수 내지 제4 난수, 제1 파라미터, 제2 파라미터, 제1 노드의 주소, 제2 노드의 주소, 암호 알고리즘 등이 포함된다. 메모리(211)는 독립적으로 존재할 수도 있고, 프로세서(210)에 통합될 수도 있다.
본 출원의 실시예에서, 프로세서(210)는 구체적으로, 메모리(211)의 프로그램 코드 및 데이터를 호출하여, 도 2, 도 3a 내지 도 3b, 도 5, 도 6 및 도 7의 실시예에서 설명된 제1 노드 또는 제2 노드의 방법을 수행하도록 구성된다.
도 12는 본 출원의 실시예에 따른 장치의 기능적 구조의 개략도이다. 이 장치(30)는 처리 유닛(310), 송신 유닛(311) 및 수신 유닛(312)을 포함한다. 이 장치(30)는 하드웨어, 소프트웨어, 또는 소프트웨어와 하드웨어의 조합을 사용하여 구현될 수 있다.
처리 유닛(310)은 제1 비밀번호 및 제1 난수를 획득하고, 제1 비밀번호 및 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하도록 구성된다. 송신 유닛(311)은 제1 확인 코드 및 제1 난수를 제2 노드에 송신하도록 구성된다. 수신 유닛(312)은 제2 노드로부터 제2 확인 코드 및 제2 난수를 수신하도록 구성된다. 처리 유닛(310)은 추가로, 제2 난수에 기반하여 제2 노드에 대응하는 제3 확인 코드를 생성하도록 구성된다. 처리 유닛(310)은 추가로, 제2 확인 코드가 제3 확인 코드와 동일하면, 제2 확인 코드가 정확한 것으로 결정하도록 구성된다.
이 장치(30)의 기능 모듈은 도 6의 실시예에 설명된 제1 노드 측에서의 방법을 수행하도록 구성될 수 있다. 이 경우, 도 6의 실시예에서 처리 유닛(310)은 S101A, S102A, S104, S105를 수행하도록 구성될 수 있으며; 송신 유닛(311)은 S106을 수행하도록 구성될 수 있고; 수신 유닛(312)은 S103을 수행하도록 구성될 수 있다. 이 장치(30)의 기능 모듈은 도 6의 실시예에 설명된 제2 노드 측에서의 방법을 수행하도록 구성될 수 있다. 이 경우, 도 6의 실시예에서 처리 유닛(310)은 S101B, S102B, S107, S108를 수행하도록 구성될 수 있으며; 송신 유닛(311)은 S103을 수행하도록 구성될 수 있고; 수신 유닛(312)은 S106을 수행하도록 구성될 수 있다.
이 장치(30)의 기능 모듈은 도 7의 실시예에 설명된 제1 노드 측에서의 방법을 수행하도록 구성될 수 있다. 이 경우, 도 7의 실시예에서 처리 유닛(310)은 S201A, S202A, S207, S208을 수행하도록 구성될 수 있으며; 송신 유닛(311)은 S203을 수행하도록 구성될 수 있고; 수신 유닛(312)은 S206을 수행하도록 구성될 수 있다. 이 장치(30)의 기능 모듈은 도 7의 실시예에 설명된 제2 노드 측에서의 방법을 수행하도록 구성될 수 있다. 이 경우, 도 7의 실시예에서 처리 유닛(310)은 S201B, S202B, S204, S205를 수행하도록 구성될 수 있으며; 송신 유닛(311)은 S206을 수행하도록 구성될 수 있고; 수신 유닛(312)은 S203을 수행하도록 구성될 수 있다. 본 명세서의 간결성을 위해, 본 출원에서는 자세한 내용을 다시 설명하지 않는다.
전술한 실시예의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 실시예를 구현하기 위해 소프트웨어가 사용될 때, 실시예의 전부 또는 일부는 컴퓨터 프로그램 제품의 형태로 구현될 수 있다. 컴퓨터 프로그램 제품에는 하나 이상의 컴퓨터 명령어가 포함된다. 컴퓨터 프로그램 명령어가 컴퓨터에 로딩되어 실행될 때, 본 출원의 실시예에 따른 절차나 기능이 모두 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 특정 목적 컴퓨터, 컴퓨터 네트워크, 또는 다른 프로그래밍 가능한 장치일 수 있다. 컴퓨터 명령어는 컴퓨터가 판독 가능한 저장 매체에 저장될 수 있거나, 컴퓨터가 판독 가능한 저장 매체로부터 다른 컴퓨터가 판독 가능한 저장 매체로 전송될 수 있다. 예를 들어, 컴퓨터 명령어는 유선(예를 들어, 동축 케이블, 광섬유 또는 디지털 가입자 회선) 또는 무선(예를 들어, 적외선, 라디오 또는 마이크로웨이브) 방식으로, 웹사이트, 컴퓨터, 서버 또는 데이터 센터에서 다른 웹사이트, 컴퓨터, 서버 또는 데이터 센터로 전송될 수 있다. 컴퓨터가 판독 가능한 저장 매체는 컴퓨터가 액세스할 수 있는 임의의 이용 가능한 매체이거나, 예를 들어, 하나 이상의 이용 가능한 매체를 통합하는 서버, 데이터 센터 등의 데이터 저장 디바이스일 수 있다. 이용 가능한 매체는 자기 매체(예를 들어, 플로피 디스크, 저장 디스크 또는 자기 테이프), 광학 매체(예를 들어, DVD), 반도체 매체(예를 들어, 솔리드 스테이트 저장 디스크(Solid State Disk, SSD)) 등일 수 있다.
Claims (20)
- 정보 처리 방법으로서,
상기 정보 처리 방법은,
제1 비밀번호와 제1 난수를 획득하는 단계;
상기 제1 비밀번호 및 상기 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계; 및
상기 제1 확인 코드와 상기 제1 난수를 제2 노드에 송신하는 단계
를 포함하는 정보 처리 방법. - 제1항에 있어서,
상기 정보 처리 방법은,
상기 제2 노드로부터 제2 확인 코드 및 제2 난수를 수신하는 단계;
상기 제2 난수에 기반하여 상기 제2 노드에 대응하는 제3 확인 코드를 생성하는 단계; 및
상기 제2 확인 코드가 상기 제3 확인 코드와 동일하면, 상기 제2 확인 코드가 정확한(correct) 것으로 결정하는 단계
를 더 포함하는 정보 처리 방법. - 제1항 또는 제2항에 있어서,
상기 제1 비밀번호 및 상기 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는,
암호(cryptographic) 알고리즘에 따라 상기 제1 비밀번호 및 상기 제1 난수에 기반하여 상기 제1 확인 코드를 생성하는 단계
를 포함하는, 정보 처리 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 제1 비밀번호 및 상기 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하는 단계는,
상기 제1 난수, 상기 제1 비밀번호, 상기 제1 노드의 공개키 및 상기 제2 노드의 공개키에 기반하여 상기 제1 확인 코드를 생성하는 단계
를 포함하는, 정보 처리 방법. - 제2항 내지 제4항 중 어느 한 항에 있어서,
상기 제2 확인 코드가 정확하다면, 상기 정보 처리 방법은,
제1 키에 기반하여 제1 검증 코드를 생성하는 단계; 및
상기 제1 검증 코드가 상기 제2 노드로부터의 제2 검증 코드와 동일하면, 상기 제2 검증 코드가 정확한 것으로 결정하는 단계
를 더 포함하는 정보 처리 방법. - 제5항에 있어서,
상기 제1 키에 기반하여 제1 검증 코드를 생성하는 단계는,
상기 암호 알고리즘에 따라 그리고 상기 제1 키, 적어도 2개의 난수, 상기 제1 노드의 주소, 상기 제2 노드의 주소, 상기 제1 노드의 입력/출력 능력, 상기 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 상기 제1 검증 코드를 생성하는 단계
를 포함하는, 정보 처리 방법. - 제3항 또는 제6항에 있어서,
상기 정보 처리 방법은,
제1 정보를 상기 제2 노드에 송신하는 단계 - 상기 제1 정보는 상기 암호 알고리즘을 지시함 -
를 더 포함하는 정보 처리 방법. - 제7항에 있어서,
상기 암호 알고리즘은 암호 알고리즘 세트에 속하며, 상기 정보 처리 방법은,
제2 정보를 상기 제2 노드에 송신하는 단계 - 상기 제2 정보는 상기 암호 알고리즘 세트를 지시함 -; 및
상기 제2 노드로부터 제3 정보를 수신하는 단계 - 상기 제3 정보는 상기 암호 알고리즘 세트를 지시함 -
를 더 포함하는 정보 처리 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 정보 처리 방법은,
제4 정보를 상기 제2 노드에 송신하는 단계 - 상기 제4 정보는 상기 제1 인증 방식이 비밀번호 인증임을 지시함 -
를 더 포함하는 정보 처리 방법. - 장치로서,
처리 유닛 및 송신 유닛
을 포함하고,
상기 처리 유닛은 제1 비밀번호 및 제1 난수를 획득하도록 구성되며;
상기 처리 유닛은 상기 제1 비밀번호 및 상기 제1 난수에 기반하여 제1 노드의 제1 확인 코드를 생성하도록 구성되고; 그리고
상기 송신 유닛은 상기 제1 확인 코드 및 상기 제1 난수를 제2 노드에 송신하도록 구성되는, 장치. - 제10항에 있어서,
상기 장치는,
수신 유닛을 더 포함하고,
상기 수신 유닛은 상기 제2 노드로부터 제2 확인 코드 및 제2 난수를 수신하도록 구성되고;
상기 처리 유닛은 추가로, 상기 제2 난수에 기반하여 상기 제2 노드에 대응하는 제3 확인 코드를 생성하도록 구성되고; 그리고
상기 처리 유닛은 추가로, 상기 제2 확인 코드가 상기 제3 확인 코드와 동일하면, 상기 제2 확인 코드가 정확한 것으로 결정하도록 구성되는, 장치. - 제10항 또는 제11항에 있어서,
상기 처리 유닛은 추가로, 암호 알고리즘에 따라 상기 제1 비밀번호 및 상기 제1 난수에 기반하여 상기 제1 확인 코드를 생성하도록 구성되는, 장치. - 제10항 내지 제12항 중 어느 한 항에 있어서,
상기 처리 유닛은 추가로, 상기 제1 난수, 상기 제1 비밀번호, 상기 제1 노드의 공개 키 및 상기 제2 노드의 공개 키에 기반하여 상기 제1 확인 코드를 생성하도록 구성되는, 장치. - 제11항 내지 제13항 중 어느 한 항에 있어서,
상기 처리 유닛은 추가로, 상기 제2 확인 코드가 정확하다면, 제1 키에 기반하여 제1 검증 코드를 생성하고; 상기 제1 검증 코드가 상기 제2 노드로부터의 제2 검증 코드와 동일하면, 상기 제2 검증 코드가 정확한 것으로 결정하도록 구성되는, 장치. - 제14항에 있어서,
상기 처리 유닛은 추가로, 상기 암호 알고리즘에 따라 그리고 상기 제1 키, 적어도 2개의 난수, 상기 제1 노드의 주소, 상기 제2 노드의 주소, 상기 제1 노드의 입력/출력 능력, 상기 제2 노드의 입력/출력 능력, 제1 인증 방식, 또는 암호 알고리즘 유형 중 하나 이상에 기반하여 상기 제1 검증 코드를 생성하도록 구성되는, 장치. - 제12항 또는 제15항에 있어서,
상기 송신 유닛은 추가로, 제1 정보를 상기 제2 노드에 송신하도록 구성되며, 상기 제1 정보는 상기 암호 알고리즘을 지시하는, 장치. - 제16항에 있어서,
상기 암호 알고리즘은 암호 알고리즘 세트에 속하고,
상기 송신 유닛은 추가로, 제2 정보를 상기 제2 노드에 송신하도록 구성되며, 상기 제2 정보는 상기 암호 알고리즘 세트를 지시하고; 그리고
상기 수신 유닛은 상기 제2 노드로부터 제3 정보를 수신하도록 구성되며, 상기 제3 정보는 상기 암호 알고리즘 세트를 지시하는, 장치. - 제10항 내지 제17항 중 어느 한 항에 있어서,
상기 송신 유닛은 추가로, 제4 정보를 상기 제2 노드에 송신하도록 구성되며, 상기 제4 정보는 상기 제1 인증 방식이 비밀번호 인증임을 지시하는, 장치. - 칩으로서,
적어도 하나의 프로세서 및 인터페이스 회로를 포함하고,
상기 적어도 하나의 프로세서는 상기 인터페이스 회로를 사용하여 프로그램 또는 명령어를 획득하고, 상기 적어도 하나의 프로세서는 상기 프로그램 또는 상기 명령어를 실행하여 제1항 내지 제9항 중 어느 한 항에 따른 방법을 구현하는, 칩. - 제10항 내지 제18항 중 어느 한 항에 따른 장치를 포함하는 단말 디바이스.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/110360 WO2023010285A1 (zh) | 2021-08-03 | 2021-08-03 | 信息处理方法、装置以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240034848A true KR20240034848A (ko) | 2024-03-14 |
Family
ID=85154979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247006142A KR20240034848A (ko) | 2021-08-03 | 2021-08-03 | 정보 처리 방법, 장치 및 디바이스 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240179004A1 (ko) |
EP (1) | EP4369653A4 (ko) |
JP (1) | JP2024528200A (ko) |
KR (1) | KR20240034848A (ko) |
CN (1) | CN117751552A (ko) |
WO (1) | WO2023010285A1 (ko) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8644515B2 (en) * | 2010-08-11 | 2014-02-04 | Texas Instruments Incorporated | Display authenticated security association |
CN103716334A (zh) * | 2014-01-13 | 2014-04-09 | 深圳市共进电子股份有限公司 | 基于802.1x协议的认证方法及系统 |
CN104158807B (zh) * | 2014-08-14 | 2017-07-28 | 福州环亚众志计算机有限公司 | 一种基于PaaS的安全云计算方法和系统 |
CN110176987B (zh) * | 2016-02-02 | 2022-08-09 | 斑马智行网络(香港)有限公司 | 一种设备认证的方法、装置、设备和计算机存储介质 |
GB2580635A (en) * | 2019-01-18 | 2020-07-29 | Stratec Se | System for authentification |
CN112596802B (zh) * | 2019-09-17 | 2022-07-12 | 华为技术有限公司 | 一种信息处理方法及装置 |
WO2022021087A1 (zh) * | 2020-07-28 | 2022-02-03 | 华为技术有限公司 | 一种蓝牙节点配对方法及相关装置 |
CN112966242A (zh) * | 2021-03-29 | 2021-06-15 | 成都卫士通信息产业股份有限公司 | 一种用户名口令认证方法、装置、设备及可读存储介质 |
-
2021
- 2021-08-03 EP EP21952194.5A patent/EP4369653A4/en active Pending
- 2021-08-03 CN CN202180100874.2A patent/CN117751552A/zh active Pending
- 2021-08-03 JP JP2024506628A patent/JP2024528200A/ja active Pending
- 2021-08-03 KR KR1020247006142A patent/KR20240034848A/ko unknown
- 2021-08-03 WO PCT/CN2021/110360 patent/WO2023010285A1/zh active Application Filing
-
2024
- 2024-02-02 US US18/430,879 patent/US20240179004A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240179004A1 (en) | 2024-05-30 |
EP4369653A4 (en) | 2024-07-10 |
EP4369653A1 (en) | 2024-05-15 |
CN117751552A (zh) | 2024-03-22 |
WO2023010285A1 (zh) | 2023-02-09 |
JP2024528200A (ja) | 2024-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108353076B (zh) | 针对因特网密钥交换(ike)的方法和设备 | |
EP3308519B1 (en) | System, apparatus and method for transferring ownership of a device from manufacturer to user using an embedded resource | |
US10305684B2 (en) | Secure connection method for network device, related apparatus, and system | |
US10477397B2 (en) | Method and apparatus for passpoint EAP session tracking | |
JP2015517280A5 (ko) | ||
KR20160083128A (ko) | 암호화된 통신을 위한 방법 및 시스템 | |
CN103929748A (zh) | 一种物联网无线终端及其配置方法和无线网络接入点 | |
WO2014180296A1 (zh) | 一种设备之间建立连接的方法、配置设备和无线设备 | |
EP3794852B1 (en) | Secure methods and systems for identifying bluetooth connected devices with installed application | |
CN103945369A (zh) | 一种通过检查wifi数据包的长度实现wifi设备的上网配置方法 | |
CN110366175B (zh) | 安全协商方法、终端设备和网络设备 | |
US20160227412A1 (en) | Wireless Terminal Configuration Method, Apparatus, and Wireless Terminal | |
WO2022028259A1 (zh) | 用户签约数据的获取方法及装置 | |
US10152587B2 (en) | Device pairing method | |
US20230164560A1 (en) | Bluetooth node pairing method and related apparatus | |
WO2019085659A1 (zh) | 一种信息交互方法及装置 | |
US20240244681A1 (en) | Communication method, apparatus, and system | |
JP2024508724A (ja) | セルラーネットワークにおけるプロビジョニングサーバの選択 | |
KR20240034848A (ko) | 정보 처리 방법, 장치 및 디바이스 | |
TW201301928A (zh) | 無線區域網路中的網路連線方法、程式產品、及系統 | |
KR101785382B1 (ko) | 클라이언트 인증 방법, 클라이언트의 동작 방법, 서버, 및 통신 소프트웨어 | |
US12074848B2 (en) | Efficient and secure universal/app links | |
CN109963281A (zh) | 一种鉴权方法、设备及系统 | |
US20240251239A1 (en) | Technologies for non-seamless wireless local area access offload | |
WO2024164968A1 (zh) | 一种通信方法及通信装置 |