KR20220161068A - 근접 통신 방법 및 장치 - Google Patents

근접 통신 방법 및 장치 Download PDF

Info

Publication number
KR20220161068A
KR20220161068A KR1020210069493A KR20210069493A KR20220161068A KR 20220161068 A KR20220161068 A KR 20220161068A KR 1020210069493 A KR1020210069493 A KR 1020210069493A KR 20210069493 A KR20210069493 A KR 20210069493A KR 20220161068 A KR20220161068 A KR 20220161068A
Authority
KR
South Korea
Prior art keywords
terminal
key
authentication
public key
communication channel
Prior art date
Application number
KR1020210069493A
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 삼성에스디에스 주식회사
Priority to KR1020210069493A priority Critical patent/KR20220161068A/ko
Priority to EP22173989.9A priority patent/EP4096154A1/en
Priority to US17/826,443 priority patent/US20220385654A1/en
Publication of KR20220161068A publication Critical patent/KR20220161068A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • H04W12/0471Key exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/47Security arrangements using identity modules using near field communication [NFC] or radio frequency identification [RFID] modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

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

Abstract

단말들 사이의 근접 통신 방법 및 그러한 단말 장치가 제공된다. 본 발명의 일 실시예에 따른 단말 사이의 통신 방법은, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제1 단말의 공개키를 포함한 제1 메시지를 수신하는 단계와, 상기 제2 단말이, 상기 제1 단말의 상기 공개키를 저장하는 단계와, 상기 제2 단말이, 상기 제2 단말과 통신 가능하게 연결된 인증부를 통해 보안 인증 루틴을 수행하는 단계와, 상기 인증에 성공하였다는 판정에 기초하여, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제2 단말의 공개키를 포함한 제2 메시지를 상기 제1 단말로 전송하는 단계를 포함할 수 있다.

Description

근접 통신 방법 및 장치{METHOD FOR PROXIMITY COMMUNICATION BETWEEN TERMINALS AND APPARATUS THEREOF}
본 발명은 단말들 사이의 통신 방법 및 장치에 관한 것이다. 보다 자세하게는 본 발명은 근거리의 단말들 사이에 UWB 기술 등을 이용하여 단말들의 정보를 상호 등록하고, 근거리 통신을 통해 단말을 인증하기 위한 통신 방법과 그러한 방법이 구현된 단말 장치들에 관한 것이다.
최근 정확한 거리 측정 및 보안이 강화된 데이터 전송으로 초광대역(UWB: Ultra-Wide Band) 통신 기술이 이용되기 시작하였다. UWB 통신 기술은 단말들 사이의 일반적인 데이터 교환 외에도, 실내외에서 단말들 사이의 상대적인 위치 또는 거리를 정밀하게 측정하거나, 단말들 사이에 근접 접촉 없이도 건물 또는 차량의 출입 통제나 상점 또는 대중교통에서의 대금 결제를 가능하게 하는 기술로서 큰 관심을 모으고 있다.
FiRa(Fine Ranging) 컨소시엄은 표준화된 UWB 통신 기술을 정의하기 위해 관련 업체들이 모인 단체이며, FiRa 컨소시엄에서는 UWB 기술 사용을 위한 편리한 방법 및 보안에 관한 기술 스펙을 정의해 나가고 있다.
그런데 FiRa의 UWB 통신 스펙에는 아직 기본적인 통신 프로토콜만이 정의되어 있을 뿐, 실제 UWB 통신을 활용한 다양한 응용들을 구현하기에 필요한 세부 사항들은 제공하지 않고 있다.
예를 들어 FiRa의 UWB 통신 스펙에는, 단말들 사이의 통신 채널 수립과 데이터 교환을 통한 상호 식별과 인증에 관한 과정을 정의하고 있을 뿐, 이를 위해 단말들을 서로 사전에 등록하는 절차에 대해서는 정의하고 있지 않다.
또한 FiRa의 UWB 통신 스펙은 단말 하드웨어들이 물리적인 접근할 때 교환되는 단말 식별자 등을 통한 인증 절차만을 정의하고 있을 뿐, 해당 단말 또는 외부 디바이스를 통해 사용자에게 추가적인 보안 인증을 요구하여 보안성을 향상하기 위한 프로세스에 대해서는 정의하고 있지 않다. 따라서 출입이나 결제에 사용하기 위해 사전에 등록된 단말을 사용자가 분실할 경우, 보안성을 잃게 될 염려가 있다.
한편 FiRa의 UWB 통신 스펙에는, 상호 통신하는 두 단말의 애플리케이션들 사이에 생성되는 서브 세션을 보호를 위한 암복호화 키 값으로서 대칭키를 사용하는 경우만이 다루어져 있다. 대칭키를 사용하는 경우, 서브 세션 보호를 위한 키 값을 생성한 단말이 상대편 단말로 키 값을 일방적으로 제공하여야 하므로, PKI 기반의 키를 사용하는 방식보다 상대적으로 보안성이 낮다.
한국공개특허공보 제10-2016-013817호
본 발명의 일 실시예를 통하여 달성하고자 하는 기술적 과제는, UWB 등의 기술을 통하여 단말들 사이의 통신에 기반한 다양한 응용들을 구현하기에 필요한 세부적인 통신 절차들을 제공하지는 것이다.
본 발명의 다른 일 실시예를 통하여 달성하고자 하는 기술적 과제는, 단말들 사이에 UWB 기술 등을 이용하여 단말들의 인증 정보를 상호 등록하는 방법과 그러한 방법이 구현된 단말 장치를 제공하는 것이다.
본 발명의 다른 일 실시예를 통하여 달성하고자 하는 기술적 과제는, 단말이 분실되어도 보안성을 잃지 않는 UWB 인증 방법과 그러한 방법이 구현된 단말 장치를 제공하는 것이다.
본 발명의 다른 일 실시예를 통하여 달성하고자 하는 기술적 과제는, 단말 상에서 또는 외부 디바이스를 통해 사용자에게 추가적인 보안 인증을 요구할 수 있는 UWB 인증 방법과 그러한 방법이 구현된 단말 장치를 제공하는 것이다.
본 발명의 다른 일 실시예를 통하여 달성하고자 하는 기술적 과제는, 단말 상에서 또는 외부 디바이스를 통해 사용자에게 추가적인 보안 인증을 요구할 수 있는 UWB 인증 방법과 그러한 방법이 구현된 단말 장치를 제공하는 것이다.
본 발명의 다른 일 실시예를 통하여 달성하고자 하는 기술적 과제는, 단말들의 애플리케이션들 사이에 생성되는 서브 세션을 보호를 위한 암복호화 키 값을 결정하는 보다 안전한 방법과 그러한 방법이 구현된 단말 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 단말 사이의 통신 방법은, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제1 단말이, 상기 제1 통신 채널을 통해, 상기 제1 단말의 공개키를 포함한 제1 메시지를 상기 제2 단말로 전송하는 단계와, 상기 제2 단말이, 상기 제1 단말의 상기 공개키를 저장하는 단계와, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제2 단말의 공개키를 포함한 제2 메시지를 상기 제1 단말로 전송하는 단계와, 상기 제1 단말이, 상기 제2 단말의 상기 공개키를 저장하는 단계를 포함할 수 있다. 여기서 상기 제1 단말의 상기 공개키와 상기 제2 단말의 개인키를 키 교환 함수에 투입하면 제1 비밀키가 생성되고, 상기 제1 단말의 개인키와 상기 제2 단말의 상기 공개키를 상기 키 교환 함수에 투입하면 상기 제1 비밀키가 생성되며, 상기 제1 비밀키는 상기 제1 단말과 상기 제2 단말 사이에 제2 프로토콜을 이용하는 통신에 이용되는 키일 수 있다.
일 실시예에서, 상기 제1 단말이 상기 제1 메시지를 상기 제2 단말로 전송하는 단계는, 상기 제1 단말에서 실행되는 제1 애플리케이션이 상기 제1 단말에서 실행되는 제1 애플릿에 키 정보를 요청하는 단계와, 상기 제1 애플릿이 상기 제1 애플리케이션에 상기 제1 단말의 공개키를 제공하는 단계와, 상기 제1 애플리케이션이 상기 제1 메시지를 상기 제2 단말로 전송하는 단계를 포함하고, 상기 제1 단말이 상기 제2 단말의 공개키를 저장하는 단계는, 상기 제1 애플리케이션이 상기 제1 애플릿에 상기 제2 단말의 상기 공개키를 제공하는 단계와, 상기 제1 애플릿이 상기 제2 단말의 상기 공개키를 저장하는 단계를 포함하며, 상기 제1 애플릿은 상기 제1 프로토콜과 상이한 제2 프로토콜을 따르는 통신을 지원하기 위하여 상기 제1 단말에서 실행되는 프로세스일 수 있다.
일 실시예에서, 상기 제1 애플릿은 FiRa 애플릿일 수 있다.
일 실시예에서, 상기 제2 단말이 상기 제1 단말의 상기 공개키를 저장하는 단계는, 상기 제2 단말에서 실행되는 제2 애플리케이션이 상기 제2 단말에서 실행되는 제2 애플릿에 상기 제1 단말의 상기 공개키를 제공하는 단계와, 상기 제2 애플릿이 상기 제1 단말의 상기 공개키를 저장하는 단계를 포함하고, 상기 제2 단말이 상기 제2 메시지를 상기 제1 단말로 전송하는 단계는, 상기 제2 애플릿이 상기 제2 단말의 공개키를 상기 제2 애플리케이션에 제공하는 단계와, 상기 제2 애플리케이션이 상기 제공된 상기 제2 단말의 공개키를 상기 제1 단말로 전송하는 단계를 포함하며, 상기 제2 애플릿은 상기 제1 프로토콜과 상이한 제2 프로토콜을 따르는 통신을 지원하기 위하여 상기 제2 단말에서 실행되는 프로세스일 수 있다.
일 실시예에서, 상기 키 교환 함수는 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘에 기반한 함수일 수 있다.
일 실시예에서, 상기 제1 단말 및 상기 제2 단말 중 적어도 하나가, 상기 제1 비밀키를 저장하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 제1 메시지 및 상기 제2 메시지 중 적어도 하나는, 상기 제2 단말 상에서의 요구되는 사용자 인증 모드를 나타내는 필드를 포함할 수 있다.
일 실시예에서, 상기 사용자 인증 모드는 보안 모드과 비 보안 모드를 포함하며, 상기 보안 모드는, 상기 제1 단말과 상기 제2 단말 사이의 인증 시에, 상기 제2 단말 상에서 보안 인증 루틴의 수행을 요구하는 모드일 수 있다.
일 실시예에서, 상기 제2 프로토콜은 UWB (Ultra-Wide Band) 통신 프로토콜일 수 있다.
본 발명의 일 실시예에 따른 단말 사이의 통신 방법은, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제1 단말이, 상기 제1 통신 채널을 통해, 제2 프로토콜을 이용하는 제2 통신 채널의 설정에 관한 제1 메시지를 상기 제2 단말로 전송하는 단계와, 상기 제2 단말이, 제1 비밀키를 획득하고 제2 통신 채널의 수립을 위한 레인징을 개시하는 단계와, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제2 통신 채널의 설정 결과에 관한 제2 메시지를 상기 제1 단말로 전송하는 단계와, 상기 제1 단말이, 상기 제1 비밀키를 획득하고 상기 제2 통신 채널의 수립을 위한 레인징을 개시하는 단계와, 상기 제1 단말과 상기 제2 단말 사이에 상기 제2 통신 채널을 통한 연결을 수립하고, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 교환하는 단계를 포함할 수 있다. 여기서 상기 제1 비밀키는, 상기 제2 단말이 상기 제1 단말의 공개키와 상기 제2 단말의 개인키를 키 교환 함수에 투입함으로써 획득될 수 있고, 상기 제1 비밀키는, 상기 제1 단말이 상기 제1 단말의 개인키와 상기 제2 단말의 공개키를 상기 키 교환 함수에 투입함으로써 획득될 수 있다.
일 실시예에서, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 교환하는 단계는, 상기 제2 단말이, 상기 제2 단말의 제2 공개키를 상기 제1 단말로 전송하는 단계와, 상기 제1 단말이, 상기 제1 단말의 상기 개인키와 상기 제2 단말의 상기 제2 공개키를 이용하여 제2 비밀키를 획득하는 단계와, 상기 제1 단말이, 상기 제2 통신 채널을 통해 상기 제2 비밀키를 이용하여 보호된 데이터를 상기 제2 단말로 전송하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 교환하는 단계는, 상기 제2 단말이, 상기 제2 단말의 제2 개인키와 상기 제1 단말의 공개키를 이용하여, 상기 제2 비밀키를 획득하는 단계와, 상기 제2 단말이, 상기 제1 단말로부터 수신된 데이터를 상기 획득된 제2 비밀키를 이용하여 판독하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 단말 사이의 통신 방법은, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제1 단말이, 상기 제1 통신 채널을 통해, 제2 프로토콜을 이용하는 제2 통신 채널의 설정에 관한 제1 메시지를 상기 제2 단말로 전송하는 단계와, 상기 제1 단말이 제1 비밀키를 획득하는 단계와, 상기 제1 단말이 상기 제2 통신 채널의 수립을 위한 레인징을 개시하는 단계와, 상기 제1 단말이 상기 제2 단말과의 사이에 상기 제2 통신 채널을 통한 연결을 수립하고, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 전송하는 단계를 포함할 수 있다. 여기서 상기 제1 비밀키는, 상기 제1 단말이 상기 제1 단말의 개인키와 상기 제2 단말의 공개키를 상기 키 교환 함수에 투입함으로써 획득될 수 있고, 상기 제2 단말의 공개키는 사전에 상기 제1 단말에 저장된 것일 수 있다.
일 실시예에서, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 전송하는 단계는, 상기 제1 단말이, 상기 제2 단말로부터 상기 제2 단말의 제2 공개키를 수신하는 단계와, 상기 제1 단말이, 상기 제1 단말의 상기 개인키와 상기 제2 단말의 상기 제2 공개키를 이용하여 제2 비밀키를 획득하는 단계와, 상기 제1 단말이, 상기 제2 통신 채널을 통해 상기 제2 비밀키를 이용하여 보호된 데이터를 상기 제2 단말로 전송하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 단말 사이의 통신 방법은, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 제2 프로토콜을 이용하는 제2 통신 채널의 설정에 관한 제1 메시지를 상기 제1 단말로부터 수신하는 단계와, 상기 제2 단말이 제1 비밀키를 획득하는 단계와, 상기 제2 단말이 제2 통신 채널의 수립을 위한 레인징을 개시하는 단계와, 상기 제2 단말이 상기 제1 단말과의 사이에 상기 제2 통신 채널을 통한 연결을 수립하고, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 교환하는 단계를 포함할 수 있다. 여기서 상기 제1 비밀키는, 상기 제2 단말이 상기 제1 단말의 공개키와 상기 제2 단말의 개인키를 키 교환 함수에 투입함으로써 획득될 수 있고, 상기 제1 단말의 공개키는 사전에 상기 제2 단말에 저장된 것일 수 있다.
일 실시예에서, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 교환하는 단계는, 상기 제2 단말이, 상기 제2 단말의 제2 공개키를 상기 제1 단말로 전송하는 단계와, 상기 제2 단말이, 상기 제2 단말의 제2 개인키와 상기 제1 단말의 공개키를 이용하여, 제2 비밀키를 획득하는 단계와, 상기 제2 단말이, 상기 제1 단말로부터 수신된 데이터를 상기 획득된 제2 비밀키를 이용하여 판독하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 단말의 제2 공개키를 상기 제1 단말로 전송하는 단계는, 상기 제2 단말에서 실행되는 제2 애플릿이 상기 제2 단말에서 실행되는 제2 애플리케이션으로부터 상기 제2 공개키를 획득하는 단계를 포함하고, 상기 제2 비밀키를 획득하는 단계는, 상기 제2 애플리케이션이, 상기 제2 애플릿으로부터 상기 제1 단말의 공개키를 획득하는 단계와, 상기 제2 애플리케이션이, 상기 제2 애플리케이션이 보유한 상기 제2 개인키와 상기 제2 애플릿으로부터 획득된 상기 제1 단말의 상기 공개키를 이용하여 제2 비밀키를 획득하는 단계를 포함하며, 상기 제2 애플릿은 상기 제1 프로토콜과 상이한 제2 프로토콜을 따르는 통신을 지원하기 위하여 상기 제2 단말에서 실행되는 프로세스일 수 있다.
일 실시예에서, 상기 제1 메시지는, 상기 제2 단말 상에서의 요구되는 사용자 인증 모드를 나타내는 필드를 포함하고, 상기 사용자 인증 모드가 보안 모드라는 판정에 기초하여, 상기 제2 단말이 상기 제2 통신 채널의 수립을 위한 레인징을 개시하는 단계 이전에, 상기 제2 단말 상에서 보안 인증 루틴을 수행하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 비일시적 저장 매체는 명령어를 포함하고, 상기 명령어는 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제1 단말이, 상기 제1 통신 채널을 통해, 상기 제1 단말의 공개키를 포함한 제1 메시지를 상기 제2 단말로 전송하는 단계와, 상기 제2 단말이, 상기 제1 단말의 상기 공개키를 저장하는 단계와, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제2 단말의 공개키를 포함한 제2 메시지를 상기 제1 단말로 전송하는 단계와, 상기 제1 단말이, 상기 제2 단말의 상기 공개키를 저장하는 단계를 포함하는 방법을 수행하도록 하는 것일 수 있다.
본 발명의 일 실시예에 따른 단말 사이의 통신 방법은, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제1 단말의 공개키를 포함한 제1 메시지를 수신하는 단계와, 상기 제2 단말이, 상기 제1 단말의 상기 공개키를 저장하는 단계와, 상기 제2 단말이, 상기 제2 단말과 통신 가능하게 연결된 인증부를 통해 보안 인증 루틴을 수행하는 단계와, 상기 인증에 성공하였다는 판정에 기초하여, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제2 단말의 공개키를 포함한 제2 메시지를 상기 제1 단말로 전송하는 단계를 포함할 수 있다. 여기서, 상기 제1 단말의 개인키와 상기 제2 단말의 상기 공개키를 키 교환 함수에 투입하면 제1 비밀키가 생성되며, 상기 제1 비밀키는 상기 제1 단말과 상기 제2 단말 사이에 제2 프로토콜을 이용하는 통신에 이용되는 키일 수 있다.
일 실시예에서, 상기 제1 메시지는, 상기 제2 단말 상에서의 요구되는 사용자 인증 모드를 나타내는 필드를 포함하고, 상기 인증부를 통해 보안 인증 루틴을 수행하는 단계는, 상기 사용자 인증 모드가 보안 모드라는 판정에 기초하여, 상기 보안 인증 루틴을 수행하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인증부의 적어도 일부는 상기 제2 단말의 보안 영역(Secure Element)에서 구동될 수 있다.
일 실시예에서, 상기 인증부는 상기 제2 단말의 보안 영역 외부에서 구동되는 것이고, 상기 인증부를 통해 보안 인증 루틴을 수행하는 단계는, 상기 인증부의 공개키를 상기 제2 단말에 저장하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인증부의 공개키를 상기 제2 단말에 저장하는 단계는, 상기 제2 단말에서 실행되는 애플리케이션이 상기 인증부의 공개키를 상기 인증부로부터 획득하는 단계와, 상기 애플리케이션이 상기 제2 단말에서 실행되는 애플릿에 상기 인증부의 공개키를 제공하는 단계와, 상기 애플릿이 상기 제2 단말의 보안 영역에 상기 인증부의 공개키를 저장하는 단계를 포함할 수 있다.
일 실시예에서, 상기 애플릿은 상기 제2 프로토콜을 따르는 통신을 지원하기 위하여 상기 제2 단말의 보안 영역에서 실행되는 프로세스일 수 있다.
본 발명의 일 실시예에 따른 단말 사이의 통신 방법은, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 제2 프로토콜을 이용하는 제2 통신 채널의 설정에 관한 제1 메시지를 상기 제1 단말로부터 수신하는 단계와, 상기 제2 단말이, 상기 제2 단말의 인증부를 통해 보안 인증 루틴을 수행하는 단계와, 상기 인증부를 통한 보안 인증이 성공하였다는 판정에 기초하여, 상기 제2 단말이 제2 통신 채널의 수립을 위한 레인징을 개시하는 단계와, 상기 제2 단말이 상기 제1 단말과의 사이에 상기 제2 통신 채널을 통한 연결을 수립하고, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 교환하는 단계를 포함할 수 있다. 여기서, 상기 제1 비밀키는, 상기 제2 단말이 상기 제1 단말의 공개키와 상기 제2 단말의 개인키를 키 교환 함수에 투입함으로써 획득될 수 있고, 상기 제1 단말의 공개키는 사전에 상기 제2 단말에 저장된 것일 수 있다.
일 실시예에서, 상기 보안 인증 루틴은 상기 제2 단말의 사용자의 인증 행위를 수반할 수 있다.
일 실시예에서, 상기 보안 인증 루틴을 수행하는 단계는, 제1 보안 인증 루틴을 수행하는 단계 및 제2 보안 인증 루틴을 수행하는 단계를 포함하고, 상기 제1 보안 인증 루틴을 수행하는 단계는, 상기 인증부로부터 인증 유효 기간을 나타내는 토큰을 포함한 인증 결과를 획득하는 단계와, 상기 인증 결과를 상기 제2 단말에 저장하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인증 결과는, 상기 인증부의 개인키로 서명된 값을 더 포함할 수 있다.
일 실시예에서, 상기 제2 보안 인증 루틴을 수행하는 단계는, 상기 인증부의 개인키로 서명된 값을 상기 인증부의 공개키로 검증하는 단계를 포함하며, 상기 인증부의 공개키는 사전에 상기 제2 단말에 저장된 것일 수 있다.
일 실시예에서, 상기 제1 보안 인증 루틴은 상기 제1 메시지를 상기 제1 단말로부터 수신하기 이전에 수행되고, 상기 제2 보안 인증 루틴은 상기 제1 메시지를 상기 제1 단말로부터 수신한 이후에 수행되며, 상기 제2 보안 인증 루틴을 수행하는 단계는, 상기 제1 보안 인증 루틴이 수행된 결과로서 상기 제2 단말에 저장된 인증 결과를 상기 인증부에 의해 검증하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 교환하는 단계는, 상기 제2 단말이, 상기 제2 단말의 제2 공개키를 상기 제1 단말로 전송하는 단계와, 상기 제2 단말이, 상기 제1 단말로부터 수신된 데이터를 제2 비밀키를 이용하여 판독하는 단계를 포함할 수 있다. 여기서, 상기 제2 비밀키는 상기 제1 단말의 공개키와 상기 제2 단말의 제2 개인키를 키 교환 함수에 투입함으로써 획득될 수 있다.
일 실시예에서, 상기 제2 단말의 제2 공개키 및 제2 개인키는 임시 키 페어(Ephemeral Key Pair)일 수 있다.
일 실시예에서, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 교환하는 단계는, 상기 제2 단말이, 상기 인증부의 공개키를 상기 제1 단말로 전송하는 단계와, 상기 제2 단말이, 상기 제1 단말로부터 수신된 데이터를 제2 비밀키를 이용하여 판독하는 단계를 포함할 수 있다. 여기서, 상기 제2 비밀키는 상기 제1 단말의 공개키와 상기 인증부의 개인키를 키 교환 함수에 투입함으로써 획득될 수 있다.
일 실시예에서, 상기 제2 단말이, 상기 제1 단말로부터 수신된 데이터를 제2 비밀키를 이용하여 판독하는 단계는, 상기 제2 단말이, 상기 제1 단말로부터 수신된 암호화된 데이터를 상기 인증부에 제공하는 단계와, 상기 제2 단말이, 상기 인증부로부터 복호화된 데이터를 수신하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 단말이, 상기 제1 단말로부터 수신된 암호화된 데이터를 상기 인증부에 제공하는 단계는, 상기 제1 단말의 공개키를 상기 인증부에 제공하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인증부의 적어도 일부는 상기 제2 단말의 보안 영역(Secure Element)에서 구동되며, 상기 보안 영역이 제공하는 공유 인터페이스 객체(Sharable Interface Object)를 통해 데이터를 교환할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 비일시적 저장 매체는 명령어를 포함하고, 상기 명령어는 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과 제2 단말 사이에 연결을 수립하는 단계와, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제1 단말의 공개키를 포함한 제1 메시지를 수신하는 단계와, 상기 제2 단말이, 상기 제1 단말의 상기 공개키를 저장하는 단계와, 상기 제2 단말이, 상기 제2 단말과 통신 가능하게 연결된 인증부를 통해 보안 인증 루틴을 수행하는 단계와, 상기 인증에 성공하였다는 판정에 기초하여, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제2 단말의 공개키를 포함한 제2 메시지를 상기 제1 단말로 전송하는 단계를 포함하는 방법을 수행하도록 하는 것일 수 있다.
도 1은 본 발명의 일 실시예에 따른 방법과 장치가 구현된 예시적인 출입 통제 시스템을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 장치들의 구성을 나타낸 블록도이다.
도 3은 본 발명의 몇몇 실시예들을 이해할 때 참조될 수 있는, 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘에 기반하여 생성된 키 페어들을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 단말들 사이의 등록(registration) 절차를 나타낸 흐름도이다.
도 5은 도 4를 참조하여 설명된 실시예에서, 제2 단말에서 실행되는 애플리케이션과 FiRa UWB 애플릿이 처리하는 동작들을 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 단말들 사이의 인증(authentication) 절차를 나타낸 흐름도이다.
도 7은 도 6을 참조하여 설명된 실시예에서, 제2 단말에서 실행되는 애플리케이션과 FiRa UWB 애플릿이 처리하는 동작들을 나타낸 흐름도이다.
도 8은 단말에서 추가적인 보안 인증 절차를 수행하는 본 발명의 제1 실시예에 따른, 단말들 사이의 등록 절차를 설명하기 위한 흐름도이다.
도 9 및 도 10은, 단말에서 추가적인 보안 인증 절차를 수행하는 본 발명의 제1 실시예에 따른, 단말들 사이의 인증 절차를 설명하기 위한 흐름도이다.
도 11은 단말에서 추가적인 보안 인증 절차를 수행하는 본 발명의 제2 실시예에 따른, 단말들 사이의 등록 절차를 설명하기 위한 흐름도이다.
도 12 및 도 13은, 단말에서 추가적인 보안 인증 절차를 수행하는 본 발명의 제2 실시예에 따른, 단말들 사이의 인증 절차를 설명하기 위한 흐름도이다.
도 14는 본 발명의 몇몇 실시예에 따른 단말 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 명세서의 실시예들을 상세히 설명한다. 본 명세서의 실시예들의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 명세서의 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 명세서의 실시예들을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 명세서의 실시예들의 구성 요소를 설명하는 데 있어서, 제1, 제2 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소 또는 소프트웨어 컴포넌트가 다른 구성 요소 또는 소프트웨어 컴포넌트에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 몇몇 실시예들에 대하여 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 일 실시예에 따른 통신 방법과 장치가 구현된 예시적인 출입 통제 시스템에 대하여 도 1을 참조하여 설명한다.
본 실시예에 따른 출입 통제 시스템은, 도 1에 도시된 바와 같이 타겟 디바이스(10; 예컨대 디지털 도어락)와 복수의 사용자 디바이스(20a 내지 20c; 예컨대 스마트폰)를 포함할 수 있다. 본 실시예에 따른 출입 통제 시스템은 도 1에는 도시되지 않은 원격 서버를 더 포함할 수 있다.
도 1에 도시된 타겟 디바이스(10)는 근거리 통신 모듈을 구비할 수 있다. 타겟 디바이스(10)는 NFC(Near Field Communication), 블루투스(Bluetooth), BLE(Bluetooth Lowe Energy), UWB(Ultra-Wide Band), WiFi 등의 통신 기술 중 적어도 일부를 지원하는 하나 이상의 통신 모듈들을 구비할 수 있다.
타겟 디바이스(10)는 등록 프로세스를 실행하여 복수의 사용자 디바이스들(20a 내지 20c)을 사전에 등록하고, 물리적으로 근접하게 위치한 사용자 디바이스(20a 내지 20c)와의 통신을 통해서 사용자 디바이스(20a 내지 20c)와의 거리를 측정하고, 사용자 디바이스(20a 내지 20c)를 식별하며, 사전에 등록된 정보를 이용하여 사용자 디바이스(20a 내지 20c)를 인증할 수 있다. 다시 말해 타겟 디바이스(10)는 사전에 등록된 사용자 디바이스(20a 내지 20c)를 탐지하여, 등록된 디바이스에 한하여 출입을 허가하는 기능을 제공할 수 있다.
한편, 사용자 디바이스(20a 내지 20c)가 타겟 디바이스(10)에 등록될 때, 해당 디바이스의 사용자로부터 추가적인 보안 인증을 획득할지 여부가 지정될 수 있다. 일 예로 제1 사용자 디바이스(20a)의 경우, 타겟 디바이스(10)에 물리적으로 접근하게 되면, 사용자의 추가적인 보안 인증 없이도 타겟 디바이스(10)와의 인증 절차가 진행되도록 지정될 수 있다. 다른 예로 제2 사용자 디바이스(20b)와 제3 사용자 디바이스(20c)는 타겟 디바이스(10)에 물리적으로 접근하기 이전 또는 이후에, 사용자의 지문, 안면, 홍채, 비밀번호 등을 통한 추가적인 보안 인증을 획득하여야만, 타겟 디바이스(10)와의 인증 절차가 완료될 수 있도록 지정될 수 있다.
도 1에 도시된 사용자 디바이스(20a 내지 20c)는 근거리 통신 모듈 및 FIDO 보안 인증 모듈을 구비할 수 있다. 타겟 디바이스(10)와 마찬가지로, 사용자 디바이스(20a 내지 20c)는 NFC, Bluetooth, BLE, UWB, WiFi 등의 통신 기술을 지원하는 하나 이상의 통신 모듈들을 구비할 수 있다.
사용자 디바이스(20a 내지 20c)는 등록 프로세스를 실행하여 타겟 디바이스(10)에 등록될 수 있다. 등록 프로세스 중에는 타겟 디바이스(10)가 사용자 디바이스(20a 내지 20c)를 고유하게 식별하고 인증할 수 있도록 하는 보안 정보가 사용자 디바이스(20a 내지 20c)로부터 타겟 디바이스(10)로 제공될 수 있다. 또한 등록 프로세스 중에는 사용자 디바이스(20a 내지 20c)가 타겟 디바이스(10)를 고유하게 식별하고 인증할 수 있도록 하는 보안 정보가 타겟 디바이스(10)로부터 사용자 디바이스(20a 내지 20c)에게 제공될 수 있다.
사용자 디바이스(20a 내지 20c)가 타겟 디바이스(10)에 물리적으로 접근하여 소정의 거리 이내에 위치하게 되면, 사용자 디바이스(20a 내지 20c)는 사전에 공유된 프로토콜에 따라 타겟 디바이스(10)와의 통신을 개시하고, 사용자 디바이스(20a 내지 20c)를 식별 및 인증하기 위한 정보를 타겟 디바이스(10)와 교환할 수 있다. 만약 제2 사용자 디바이스(20b)가 타겟 디바이스(10)에 등록될 때, 제2 사용자 디바이스(20b)의 사용자로부터 추가적인 보안 인증, 예컨대 지문 인증을 거치도록 지정되었을 경우, 제2 사용자 디바이스(20b)가 사용자의 지문 인증 절차를 거쳐야만 타겟 디바이스(10)와의 인증 절차를 계속할 수 있게 된다. 위와 같은 제약은 사용자 디바이스(20a 내지 20c)에서 구동되는 개별 애플리케이션에 구현될 수도 있으나, 사용자 디바이스(20a 내지 20c)의 보안 영역에서 구동되는 통신 모듈(예컨대 UWB 통신 모듈)에 의해 구현될 수도 있다.
한편 사용자 디바이스(20a 내지 20c)는 타겟 디바이스(10) 외에도 도 1에 도시되지 않은 다른 타겟 디바이스와도 통신 및/또는 인증 절차를 수행할 수 있으며, 각각의 서로 다른 타겟 디바이스를 상대로 통신 및/또는 인증 절차를 수행하기 위한 하나 또는 그 이상의 애플리케이션들이 사용자 디바이스(20a 내지 20c)에 탑재되어 구동될 수 있다. 예컨대 사용자 디바이스(20a 내지 20c)에는, 디지털 도어락에 의해 통제되는 출입문의 출입 인증을 위한 제1 애플리케이션, 차량의 잠금 해제 및 운행을 위한 제2 애플리케이션, 및 대중교통 탑승시 비접촉 결제를 위한 제3 애플리케이션 등 하나 이상의 애플리케이션이 탑재되어 구동될 수 있다.
도 2는 본 발명의 일 실시예에 따른 제1 단말(10) 및 제2 단말(20)의 구성을 나타낸 블록도이다. 도 2에 도시된 제1 단말(10)은 도 1을 참조하여 설명된 실시예에서의 타겟 디바이스(10)일 수 있고, 제2 단말(20)은 도 1을 참조하여 설명된 사용자 디바이스(20a 내지 20c)일 수 있다.
도 2를 참조하면, 제1 단말(10)은 하나 이상의 애플리케이션(101) 및 UWB 애플릿(102)을 포함할 수 있다. 제2 단말(20)은 하나 이상의 애플리케이션(201), UWB 애플릿(202), 보안 인증 애플리케이션(211), 및 보안 인증 애플릿(212)을 포함할 수 있다. 다만, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들, 예컨대, 프로세서, 메모리, 입출력 인터페이스 등이 더 포함될 수 있음을 알 수 있다. 또한, 도 2에 도시된 제1 단말(10) 및 제2 단말(20)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 이하, 각 구성요소에 대하여 상세하게 설명한다.
먼저 제1 단말(10)에서 구동되는 애플리케이션(101)은 출입 인증, 잠금 해제, 차량 운행, 결제 등 제1 단말(10)이 활용되는 다양한 목적에 따른 기능을 구현하는 애플리케이션일 수 있다. 애플리케이션(101)은 제1 단말(10)의 보안 영역(Secure Element)에서 실행될 수 있지만, 보안 영역이 아닌 일반 영역에서 실행되어도 무방하다. 애플리케이션(101)은 제1 단말(10)에 구비된 임의의 통신 모듈을 통해 다른 단말, 예컨대 제2 단말(20)과의 사이에 제1 통신 채널을 수립하고, 제1 통신 채널을 통해 데이터를 교환할 수 있다.
제1 단말(10)에서 구동되는 UWB 애플릿(102)은 제1 단말(10)의 애플리케이션(101)에 UWB 통신 기능을 제공하는 구성요소일 수 있다. UWB 애플릿(102)은 제1 단말(10)의 보안 영역(Secure Element) 내에서 실행될 수 있는데, 본 발명이 이에 한정되는 것은 아니다. UWB 애플릿(102)은 FiRa 애플릿과 SUS 애플릿을 포함할 수 있다. UWB 애플릿(102)은 상대방 단말과의 UWB 통신을 위한 세션 및 서브 세션의 ID, 세션 및 서브 세션을 위한 키 페어 등을 생성 및 관리할 수 있다.
애플리케이션(101) 및 UWB 애플릿(102)의 기능과 동작에 관해서는 도 4 내지 도 13을 참조하여 보다 자세히 설명하기로 한다.
다음으로 제2 단말(20)의 구성을 설명한다. 제2 단말(20)에서 구동되는 애플리케이션(201)은 출입 인증, 잠금 해제, 차량 운행, 결제 등 제2 단말(20)이 활용되는 다양한 목적에 따른 기능을 각각 구현하는 애플리케이션일 수 있다. 애플리케이션(201)은 제2 단말(20)의 보안 영역에서 실행될 수 있지만, 보안 영역이 아닌 일반 영역에서 실행될 수도 있다. 애플리케이션(102)은 제2 단말(20)에 구비된 임의의 통신 모듈을 통해 다른 단말, 예컨대 제1 단말(10)과의 사이에 제1 통신 채널을 수립하고, 제1 통신 채널을 통해 데이터를 교환할 수 있다.
제1 단말(10)에서 구동되는 UWB 애플릿(202)은 제2 단말(20)의 애플리케이션(201)에 UWB 통신 기능을 제공하는 구성요소일 수 있다. UWB 애플릿(202)은 제2 단말(20)의 보안 영역(Secure Element) 내에서 실행될 수 있는데, 본 발명이 이에 한정되는 것은 아니다. 제2 단말(20)의 UWB 애플릿(202)에 관한 세부 사항은 제1 단말(10)의 UWB 애플릿(102)에 관한 설명이 참조될 수 있다.
제2 단말(20)은 보안 인증부(211, 212)를 더 구비할 수 있다. 보안 인증부(211, 212)는 제2 단말(20) 내에 구현 내지는 탑재될 수도 있지만, 제2 단말(20)과 구별되는 하드웨어 장치에 구현되어, 제2 단말(20)과 통신 가능하게 연결된 것일 수도 있다. 본 명세서에서 보안 인증부(211, 212)는 보안 인증 장치로 지칭될 수 있다.
일 실시예에서, 보안 인증부(211, 212)는 일반 영역에서 실행되는 보안 인증 애플리케이션(211) 및 보안 영역(Secure Element)에서 실행되는 보안 인증 애플릿(212)을 포함할 수 있다.
보안 인증 애플리케이션(211)은 애플리케이션(202) 및 보안 인증 애플릿(212)과 통신할 수 있다. 몇몇 실시예에서, 보안 인증 애플리케이션(211)은 제2 단말(20) 외부의 보안 인증 서버(30)와도 통신할 수 있다.
보안 인증 애플릿(212)은 보안 영역 내에서 UWB 애플릿(202)과 통신할 수 있다. 구체적으로 일 실시예에서 보안 인증 애플릿은 보안 영역 내에서 제공되는 공유된 인터페이스 객체(Sharable Interface Object)를 통해서 UWB 애플릿(202)과 데이터를 교환할 수 있다.
애플리케이션(201), UWB 애플릿(202), 보안 인증 애플리케이션(211), 및 보안 인증 애플릿(212)의 기능과 동작에 관해서는 도 4 내지 도 13을 참조하여 보다 자세히 설명하기로 한다.
지금까지 도 1 및 도 2를 참조하여, 본 발명의 몇몇 실시예에 따른 예시적인 출입 통제 시스템 및 장치에 관하여 설명하였다. 이하에서는 도 3 내지 도 13을 참조하여, 본 발명의 몇몇 실시예에 따른 단말들 사이의 통신 방법을 보다 자세히 설명하기로 한다.
먼저 도 3은 본 발명의 몇몇 실시예들을 이해할 때 참조될 수 있는, 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘에 기반하여 생성된 키 페어들을 설명하기 위한 도면이다.
도 3을 참조하면, 제1 단말(10)은 제1 단말의 개인키-공개키 키 페어(41, 42)를 생성 및 보유할 수 있고, 제2 단말(20)은 제2 단말의 개인키-공개키 키 페어(51, 52)를 생성 및 보유할 수 있다.
제1 단말의 키 페어(41, 42)와 제2 단말의 키 페어(51, 52)는 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘 등을 이용하여 제1 비밀키(61)를 생성하기 위해 이용될 수 있다. 구체적으로, 제1 단말의 공개키(41)와 제2 단말의 개인키(52)를 키 교환 함수(key exchange function)에 투입하면, 제1 비밀키(61)가 도출되고, 제1 단말의 개인키(42)와 제2 단말의 공개키(51)를 키 교환 함수에 투입하면, 위와 동일한 제1 비밀키(61)가 도출될 수 있다. 즉, 제1 단말의 공개키(41)가 제2 단말에 제공되면, 제2 단말은 이를 자신의 개인키(52)와 함께 이용하여 제1 비밀키(61)를 유도할 수 있으며, 제2 단말의 공개키(51)가 제1 단말에 제공되면, 제1 단말은 이를 자신의 개인키(42)와 함께 이용하여 동일한 제1 비밀키(61)를 유도할 수 있다.
제1 비밀키(61)는 예컨대 제1 단말(10)과 제2 단말(20) 사이에 교환되는 데이터를 보호하기 위한 암호화 키로서 이용되거나, 그러한 암호화 키를 유도하기 위한 키로서 이용될 수 있다. 예를 들어 제1 비밀키(61)는 제1 단말(10)과 제2 단말(20) 사이에 형성되는 통신 세션의 세션 키(session key)를 결정하기 위해 이용될 수 있다.
제1 단말(10)의 키 페어(41, 42) 및 제2 단말(20)의 키 페어(51, 52)는 제1 단말(10) 및 제2 단말(20)의 UWB 애플릿(102, 202)에 의해 각각 생성 및 보유될 수 있으며, 구체적으로 FiRa 애플릿에 의해 생성 및 보유될 수 있다.
제1 단말(10) 또는 제2 단말(20)은 둘 이상의 키 페어를 생성하여 다른 단말과의 통신에 추가로 이용할 수 있다. 예를 들어, 도 3에 도시된 바와 같이 제2 단말(20)은 제2 키 페어(53, 54)를 추가로 생성 및 보유할 수 있다.
제2 단말의 제2 키 페어(53, 54)는 제1 단말의 키 페어(41, 42)와 함께 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘 등을 이용하여 제2 비밀키(62)를 생성하기 위해 이용될 수 있다. 제1 단말의 공개키(41)와 제2 단말의 제2 개인키(54)를 키 교환 함수에 투입하면, 제2 비밀키(62)가 도출되고, 제1 단말의 개인키(42)와 제2 단말의 제2 공개키(53)를 키 교환 함수에 투입하면, 위와 동일한 제2 비밀키(62)가 도출될 수 있다. 즉, 제1 단말의 공개키(41)가 제2 단말에 제공되면, 제2 단말은 이를 자신의 제2 개인키(54)와 함께 이용하여 제2 비밀키(62)를 유도할 수 있으며, 제2 단말의 제2 공개키(53)가 제1 단말에 제공되면, 제1 단말은 이를 자신의 개인키(42)와 함께 이용하여 동일한 제2 비밀키(62)를 유도할 수 있다. 제2 비밀키(62)는 제1 단말(10)과 제2 단말(20) 사이에 형성되는 통신 세션의 서브 세션을 암호화하여 보호하기 위한 서브 세션 키(sub-session key)를 결정하기 위해 이용될 수 있다.
제2 단말(20)의 제2 키 페어(53, 54)는 제2 단말(20)의 UWB 애플릿(또는 FiRa 애플릿)이 아닌 다른 구성요소가 생성 및 보유하는 키 페어일 수 있다. 일 실시예에서, 제2 단말(20)의 제2 키 페어(53, 54)는 제2 단말의 애플리케이션(201)이 생성한 것일 수 있다. 다른 일 실시예에서, 제2 단말(20)의 제2 키 페어(53, 54)는 제2 단말의 보안 인증부(211, 212)가 생성한 것일 수 있다. 제2 단말(20)의 UWB 애플릿(또는 FiRa 애플릿)이 아닌 다른 구성요소가 생성한 제2 키 페어(53, 54)를 이용하여 도출되는 제2 비밀키(62)를 서브 세션 키로서 사용하여 서브 세션을 암호화함으로써, UWB 애플릿이 서브 세션의 데이터를 판독하지 못하게 되므로, 단말들 사이에 멀티 채널로 통신할 때 서브 세션을 통해 교환되는 데이터에 보다 높은 보안성이 부여될 수 있다.
이하에서는 도 4 및 도 5를 참조하여 본 발명의 일 실시예에 따른 단말들 사이의 등록(registration) 절차를 설명한다. 도 4는 본 실시예에 따라 제1 단말(10)과 제2 단말(20) 사이에 순차적으로 교환되는 데이터를 중심으로 제1 단말(10) 및 제2 단말(20)의 동작을 도시한 도면이고, 도 5는 제2 단말(20)의 구성요소인 애플리케이션(201)과 UWB 애플릿(202)의 세부적인 동작을 보다 자세히 도시한 도면이다.
도 4 내지 도 13에 도시된 제1 단말(10)은, 예컨대 도 1 내지 도 2를 참조하여 설명된 실시예들에서의 타겟 디바이스(10)로 이해될 수 있고, 제2 단말(20)은 예컨대 도 1 내지 도 2를 참조하여 설명된 실시예들에서의 사용자 디바이스(20a 내지 20c)로 이해될 수 있다.
제1 단말(10)과 제2 단말(20) 사이의 등록 절차를 수행하기 위하여, 먼저 단계(S100, S200)에서는 제1 단말(10)과 제2 단말(20) 사이에 제1 통신 채널이 수립될 수 있다. 이로써, 제1 단말(10)과 제2 단말(20)의 애플리케이션(101, 201)들은 제1 통신 채널을 통하여 서로 데이터를 교환할 수 있다.
제1 통신 채널은 예컨대 BLE, NFC 등의 프로토콜에 따른 통신 채널일 수 있다. 제1 통신 채널은, BLE 또는 NFC 외에도 본 발명이 속하는 기술 분야에서 통상의 기술자들에게 널리 알려진 다양한 통신 프로토콜을 따르는 다양한 채널일 수 있다.
단계(S101)에서, 제1 단말(10)의 애플리케이션(101)은 UWB 애플릿(102)에게 키 정보를 요청할 수 있다. 제1 단말(10)의 UWB 애플릿(102)은 제1 단말(10)의 키 페어를 획득할 수 있다. 구체적으로 제1 단말(10)의 UWB 애플릿(102)은 사전에 생성되어 저장된 공개키(41) 및 개인키(42)를 획득할 수 있다. 만약 공개키(41)와 개인키(42)가 제1 단말(10)에 저장되어 있지 않다면, UWB 애플릿(102)은 공개키(41)와 개인키(42) 키 페어를 새롭게 생성할 수 있다.
제1 단말(10)의 키 페어는 도 3을 참조하여 설명된 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘에 기반하여 생성된 키 페어일 수 있다.
단계(S101)에서, UWB 애플릿(102)은 애플리케이션(101)에게 제1 단말(10)의 공개키(41)를 제공할 수 있다.
단계(S103)에서 제1 단말(10)의 애플리케이션(101)은 제1 통신 채널을 통해 제2 단말(20)에게 제1 메시지를 전송할 수 있다. 제1 메시지에는 제1 단말(10)의 식별자와 제1 단말(10)의 공개키(41)가 포함될 수 있다.
제1 메시지에는 제2 단말(20)에서 요구되는 사용자 인증 모드를 나타내는 필드를 더 포함할 수 있다. 사용자 인증 모드는 예컨대 보안 모드와 비 보안 모드를 포함할 수 있다. 제2 단말(20)에서의 사용자 인증 모드가 보안 모드일 경우, 제2 단말(20)의 사용자는 제1 단말(10)에 물리적으로 접근하기 이전 또는 이후에, 사용자의 지문, 안면, 홍채, 비밀번호 등을 통한 추가적인 보안 인증을 획득하여야만, 제1 단말(10)과의 인증 절차가 완료될 수 있다. 한편, 제2 단말(20)에서의 사용자 인증 모드가 비 보안 모드일 경우, 제2 단말(20)이 제1 단말(10)에 물리적으로 접근하면, 사용자로부터 별도의 보안 인증을 획득하지 않고도, 제1 단말(10)과의 인증 절차가 수행될 수 있다.
단계(S201) 내지 단계(S211)에 관한 이하의 설명에서는 도 4 및 도 5를 함께 참조한다.
단계(S201)에서는 제2 단말(20)이 제1 통신 채널을 통해 제1 단말(10)로부터 제1 메시지를 수신할 수 있다.
도 5를 참조하면, 단계(S202)에서는 제2 단말(20)의 애플리케이션(201)이 제2 단말의 UWB 애플릿(202)에게 제1 단말의 공개키(41)를 제공한다. 제1 단말의 공개키(41)는 제1 메시지로부터 획득된 것일 수 있다.
단계(S203)에서는 제2 단말(20)의 UWB 애플릿(202)이 상기 제1 단말의 공개키(41)를 저장할 수 있다.
제1 메시지에 포함된 사용자 인증 모드 필드가 보안 모드를 나타내는 경우, 단계(S205)에서는 제2 단말(20)의 애플리케이션(201)과 UWB 애플릿(202)이 보안 인증 루틴을 수행할 수 있다. 보안 인증 루틴에 대해서는 도 8 및 도 11을 참조하여 후술하기로 한다.
단계(S207)에서는 제2 단말의 키 페어가 획득될 수 있다. 구체적으로, 제2 단말(20)의 UWB 애플릿(202)은 사전에 생성되어 저장된 공개키(51) 및 개인키(52)를 획득할 수 있다. 만약 공개키(51)와 개인키(52)가 제2 단말(20)에 저장되어 있지 않다면, UWB 애플릿(202)은 공개키(51)와 개인키(52) 키 페어를 새롭게 생성할 수 있다.
제2 단말(20)의 키 페어는 도 3을 참조하여 설명된 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘에 기반하여 생성된 키 페어일 수 있다.
단계(S209)에서, UWB 애플릿(202)은 제1 단말(10)과 제2 단말(20) 사이의 제2 통신 채널의 세션의 세션 키로 이용될 수 있는 제1 비밀키(61)를 획득할 수 있다. 제1 비밀키(61)는 제2 단말(20)이 제1 메시지를 통해 제1 단말(10)로부터 획득한 제1 단말의 공개키(41)와, 제2 단말의 개인키(52)를 키 교환 함수에 투입함으로써 획득될 수 있다. 단계(S209)에서, UWB 애플릿(202)은 상기 제1 비밀키(61)를 저장할 수 있다.
단계(S210)에서는 제2 단말(20)의 UWB 애플릿(202)이 애플리케이션(201)에게 제2 단말의 공개키(51)를 제공할 수 있다.
단계(S211)에서 제2 단말(20)의 애플리케이션(201)은 제1 통신 채널을 통해 제1 단말(10)에게 제2 메시지를 전송할 수 있다. 제2 메시지에는 제2 단말(20)의 식별자, 제2 단말(20)의 공개키(51), 및 제2 단말(20)에서 요구되는 사용자 인증 모드의 설정 결과에 관한 정보를 담은 필드 등이 포함될 수 있다.
단계(S105)에서는 제1 단말(10)의 애플리케이션(101)이 제1 통신 채널을 통해 제2 단말(20)로부터 제2 메시지를 수신할 수 있다. 제1 단말(10)의 애플리케이션(101)은 UWB 애플릿(102)에게 제2 메시지에 포함된 제2 단말(20)의 공개키(51)를 제공할 수 있다. 제1 단말(10)의 UWB 애플릿(102)은 제2 단말(20)의 공개키(51)를 저장할 수 있다. 또한 제1 단말(10)의 UWB 애플릿(102)은 제2 단말(20)에서 요구되는 사용자 인증 모드에 관한 정보를 저장할 수 있다.
단계(S107)에서 제1 단말의 UWB 애플릿(102)은 제1 단말(10)과 제2 단말(20) 사이의 제2 통신 채널의 세션의 세션 키로 이용될 수 있는 제1 비밀키(61)를 획득할 수 있다. 제1 비밀키(61)는 제1 단말(10)이 제2 메시지를 통해 제2 단말(20)로부터 획득한 제2 단말의 공개키(51)와, 제1 단말의 개인키(42)를 키 교환 함수에 투입함으로써 획득될 수 있다. 단계(S107)에서, UWB 애플릿(102)은 상기 제1 비밀키(61)를 저장할 수 있다.
지금까지 도 4 및 도 5를 참조하여 설명된 실시예를 통하여, 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널, 예컨대 UWB 통신 기술에 기반한 근거리 통신을 통해 데이터를 교환(상호 인증, 결제 등)하기 위해 사전에 필요한 식별 정보 내지는 등록 정보가 교환할 수 있다. 특히, 제2 통신 채널을 통한 세션의 데이터를 보호하기 위한 세션 키(예컨대, 제1 비밀키)를 제1 단말(10)과 제2 단말(20) 사이에 안전하게 공유하기 위하여, 타원 곡선 디피 헬먼 알고리즘 등에 기반하여 각각의 단말이 생성한 키 페어의 공개키를 서로 상대방에게 제공할 수 있다. 이러한 과정을 통해 획득된 상대방의 공개키를 자신의 개인키와 조합하여 동일한 세션 키(제1 비밀키)를 각각의 단말이 유도하여 사용할 수 있게 된다. 따라서 어느 하나의 단말이 생성한 대칭키를 상대방에 제공하는 방식보다 안전하게 데이터를 교환할 수 있게 된다.
이하에서는 도 6 및 도 7을 참조하여 본 발명의 일 실시예에 따른 단말들 사이의 인증(authentication) 절차를 설명한다. 도 6은 본 실시예에 따라 제1 단말(10)과 제2 단말(20) 사이에 순차적으로 교환되는 데이터를 중심으로 제1 단말(10) 및 제2 단말(20)의 동작을 도시한 도면이고, 도 7은 제2 단말(20)의 구성요소인 애플리케이션(201)과 UWB 애플릿(202)의 세부적인 동작을 보다 자세히 도시한 도면이다.
먼저 제2 단말(20)에 요구되는 사용자 인증 모드가 보안 모드일 경우, 단계(S401)에서는 제2 단말(20)에서 제1 보안 인증 루틴이 수행될 수 있다. 제1 보안 인증 루틴에 대해서는 도 9 및 도 12를 참조하여 보다 자세히 설명하기로 한다.
이어서 단계(S300, S410)에서는, 제1 단말(10)과 제2 단말(20) 사이의 인증 절차를 수행하기 위하여, 제1 단말(10)과 제2 단말(20) 사이에 제1 통신 채널이 수립될 수 있다. 이로써, 제1 단말(10)과 제2 단말(20)의 애플리케이션(101, 201)들은 제1 통신 채널을 통하여 서로 데이터를 교환할 수 있다.
제1 통신 채널은 예컨대 BLE, NFC 등의 프로토콜에 따른 통신 채널일 수 있다. 제1 통신 채널은, BLE 또는 NFC 외에도 본 발명이 속하는 기술 분야에서 통상의 기술자들에게 널리 알려진 다양한 통신 프로토콜을 따르는 다양한 채널일 수 있다.
단계(S301)에서, 제1 단말(10)의 애플리케이션(101)은 제2 단말(20)에게 요구되는 사용자 인증 모드에 관한 정보를 UWB 애플릿(202)으로부터 획득할 수 있다.
또한, 단계(S301)에서 제1 단말(10)의 애플리케이션(101)은 제1 통신 채널을 통해 제2 단말(20)에게 제3 메시지를 전송할 수 있다. 제3 메시지는 제2 통신 채널 설정을 개시할 것을 요청하는 메시지를 포함할 수 있다. 제3 메시지는 제2 단말(20)에게 요구되는 사용자 인증 모드를 나타내는 필드를 더 포함할 수 있다.
단계(S411) 내지 단계(S417)에 관한 이하의 설명에서는 도 6 및 도 7을 함께 참조한다.
단계(S411)에서는 제2 단말(20)이 제1 통신 채널을 통해 제1 단말(10)로부터 제3 메시지를 수신할 수 있다.
도 6을 참조하면, 단계(S411-2)에서는 제2 단말(20)의 제2 키 페어, 즉 제2 공개키(53) 및 제2 개인키(54)가 획득될 수 있다. 일 실시예에서, 제2 단말의 제2 키 페어는 애플리케이션(201)이 생성한 공개키(53) 및 개인키(54)일 수 있다.
단계(S412)에서는, 제2 단말(20)의 애플리케이션(201)이 제2 단말의 UWB 애플릿(202)에게 제2 단말의 제2 공개키(53)을 제공할 수 있다.
단계(S412-2)에서, 제2 단말(20)의 UWB 애플릿(202)은 제2 단말의 제2 공개키를 저장할 수 있다.
한편, 제3 메시지에 포함된 사용자 인증 모드 필드가 보안 모드를 나타내는 경우, 단계(S413)에서는 제2 단말(20)의 애플리케이션(201)과 UWB 애플릿(202)이 제2 보안 인증 루틴을 수행할 수 있다. 제2 보안 인증 루틴에 대해서는 도 10 및 도 13을 참조하여 후술하기로 한다.
단계(S415)에서는 제1 단말(10)과의 사이에 제2 통신 채널을 수립하기 위한 세션 정보가 제2 단말(20)의 UWB 애플릿(202)에 의해 설정될 수 있다.
일 실시예에서, UWB 애플릿(202)은, 제1 단말(10)과 제2 단말(20) 사이의 등록 과정에서 획득된 제1 단말(10)의 공개키(41)를 제2 단말(20)의 개인키(52)와 함께 키 교환 함수에 투입하여, 세션 키로 이용될 제1 비밀키(61)를 획득할 수 있다.
다른 일 실시예에서, UWB 애플릿(202)은, 제1 단말(10)과 제2 단말(20) 사이의 등록 과정에서 제1 비밀키(61)를 획득하여 저장해 두고, 단계(S415)에서는 사전에 저장된 제1 비밀키(61)를 복원할 수 있다.
또한 단계(S415)에서는 제1 단말(10)의 애플리케이션(101)과 제2 단말(20)의 애플리케이션(201) 사이의 서브 세션을 설정하기 위한 정보가 제2 단말(20)의 UWB 애플릿(202)에 저장될 수 있다. 구체적으로, 제2 애플리케이션(20)이 제공한 제2 단말(20)의 제2 공개키(53)가 UWB 애플릿(202)에 서브 세션 키로서 설정될 수 있다.
단계(S416)에서는 세션 및 서브 세션 정보의 설정 결과가 UWB 애플릿(202)으로부터 애플리케이션(201)으로 제공될 수 있다.
이어서 단계(S417)에서는 제1 단말(10)과 제2 통신 채널을 수립하기 위한 제2 단말(20)의 레인징이 개시될 수 있다.
단계(S419)에서 제2 단말의 애플리케이션(201)은, 제1 통신 채널을 통해 제4 메시지를 제1 단말(10)에게 전송할 수 있다. 제4 메시지는 상기 세션 정보의 설정 결과와 제2 단말의 사용자 인증 모드에 관한 필드를 포함할 수 있다.
단계(S303)에서 제1 단말의 애플리케이션(101)은 제4 메시지를 수신할 수 있다.
단계(S305)에서 제1 단말(10)의 UWB 애플릿(102)은 제2 통신 채널을 수립하기 위한 세션 및 서브 세션 정보를 설정할 수 있다.
일 실시예에서, UWB 애플릿(102)은, 제1 단말(10)과 제2 단말(20) 사이의 등록 과정에서 획득된 제2 단말(20)의 공개키(51)를 제1 단말(10)의 개인키(42)와 함께 키 교환 함수에 투입하여, 세션 키로 이용될 제1 비밀키(61)를 획득할 수 있다.
다른 일 실시예에서, UWB 애플릿(202)은, 제1 단말(10)과 제2 단말(20) 사이의 등록 과정에서 제1 비밀키(61)를 획득하여 저장해 두고, 단계(S305)에서는 사전에 저장된 제1 비밀키(61)를 복원할 수 있다.
이어서 단계(S307)에서는 제1 단말(10)과 제2 통신 채널을 수립하기 위한 제1 단말(10)의 레인징이 개시될 수 있다.
단계(S309, S420)에서는 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널, 예컨대 UWB 통신 기술에 기반한 근거리 통신 채널이 수립될 수 있다. 구체적으로, 단계(S309, S420)에서는 제1 단말(10) 및 제2 단말(20)의 UWB 애플릿들(102, 202) 사이에 제2 통신 채널이 수립될 수 있다.
제2 통신 채널은 제1 비밀키(61)에 의해 보호될 수 있다. 제1 단말(10)은 단계(S305)에서 제1 비밀키(61)를 획득하여 제2 통신 채널의 세션 키로 이용할 수 있고, 제2 단말(10)의 단계(S415)에서 제1 비밀키(61)를 획득하여 제2 통신 채널의 세션 키로 이용할 수 있다.
단계(S420) 내지 단계(S427)에 관한 이하의 설명에서는 다시 도 6 및 도 7을 함께 참조한다.
단계(S421, S311)에서 제2 단말(20)의 UWB 애플릿(202)은 제2 통신 채널을 통해 제2 단말의 제2 공개키(53)를 제1 단말(10)로 전송할 수 있다. 상기 제2 공개키(53)는 제1 단말(10)과 제2 단말(20)의 애플리케이션들(101, 201) 사이에 형성될 서브 세션의 키로 사용될 수 있다.
단계(S313)에서 제1 단말(10)의 UWB 애플릿(102)은 제2 단말(20)의 제2 공개키(53)를 저장할 수 있다.
단계(S315)에서 제1 단말의 UWB 애플릿(102)은 제1 단말(10)과 제2 단말(20) 사이의 제2 통신 채널의 서브 세션의 세션 키로 이용될 수 있는 제2 비밀키(62)를 획득할 수 있다. 제2 비밀키(62)는 제1 단말(10)이 제2 단말(20)로부터 획득한 제2 단말의 제2 공개키(53)와, 제1 단말의 개인키(42)를 키 교환 함수에 투입함으로써 획득될 수 있다. 단계(S315)에서, UWB 애플릿(102)은 상기 제2 비밀키(62)를 저장할 수 있다.
단계(S317, S423)에서, 제1 단말(10)의 UWB 애플릿(102)은 제2 비밀키(62)를 추가로 이용하여 보호된 데이터를 제2 단말(20)의 UWB 애플릿(202)으로 전송하고, 제2 단말(20)의 UWB 애플릿(202)은 이를 수신할 수 있다.
단계(S424)에서 제2 단말(20)의 UWB 애플릿(202)은 단계(S423)에서 제1 단말(10)로부터 수신된 데이터와 제1 단말의 공개키(41)를 애플리케이션(201)에게 제공할 수 있다.
단계(S425)에서 제2 단말(20)의 애플리케이션(201)은 제2 비밀키(62)를 획득할 수 있다. 제2 비밀키(62)는 제1 단말(10)과 제2 단말(20) 사이의 제2 통신 채널의 서브 세션의 세션 키로 이용되는 키일 수 있다. 제2 비밀키(62)는 제2 단말(20)이 제1 단말(10)로부터 획득한 제1 단말의 공개키(41)와 제2 단말의 제2 개인키(54)를 키 교환 함수에 투입함으로써 획득될 수 있다. 제2 단말의 제2 개인키(54)는 애플리케이션(201)에 의해 생성 또는 보유되는 공개키-개인키 키 페어(53, 54)의 개인키일 수 있다.
단계(S427)에서, 제2 단말(20)의 애플리케이션(201)은, 단계(S423)에서 제1 단말(10)로부터 수신된 데이터를, 단계(S425)에서 획득한 제2 비밀키(62)로 복호화하여 판독할 수 있다.
지금까지 도 6 및 도 7을 참조하여 설명된 실시예는, 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널, 예컨대 UWB 통신 기술에 기반한 근거리 통신을 통해, 서로를 인증하기 위한 세션 및 서브 세션을 안전하게 생성하는 방법을 제공할 수 있다.
특히, 제1 단말(10)과 제2 단말(20)의 등록 과정에서 상호 교환된 공개키를 이용하여 도출되는 제1 비밀키(61)를 세션 키로 이용하여 보호된 제2 통신 채널이 제1 단말(10)과 제2 단말(20) 사이에 형성될 수 있다.
나아가, 제2 단말(20)의 애플리케이션이 생성 또는 보유한 공개키-개인키 키 페어를 추가로 이용하여 제2 비밀키(62)가 획득되고, 제2 비밀키(62)를 서브 세션 키로 이용함으로써 제1 단말(10) 및 제2 단말(20)의 애플리케이션들(101, 201) 사이에 형성되는 서브 세션이 보다 안전하게 보호될 수 있다.
이하에서는 도 8 내지 도 10을 참조하여, 제2 단말(20)에서 추가적인 보안 인증 절차를 수행하는 본 발명의 제1 실시예에 따른, 단말들 사이의 등록 절차와 인증 절차를 설명한다.
도 8 내지 도 10을 참조하여 설명될 본 실시예에서는, 제2 단말(20)의 사용자에게 요구되는 추가적인 보안 인증이, 제2 단말(20)의 일반 영역, 즉 Secure Element의 밖에서 처리될 수 있다. 본 실시예에서, 제2 단말(20)은 일반 영역에서 실행되는 애플리케이션(201) 및 보안 인증 애플리케이션(211)과, 보안 영역에서 실행되는 UWB 애플릿(202)을 구비할 수 있다. 또한 보안 인증 애플리케이션(211)은 제2 단말(20) 외부의 보안 인증 서버(30)와 인증 관련 데이터를 교환할 수 있다.
도 8은, 앞서 도 4와 도 5를 참조하여 설명된 제1 단말(10)과 제2 단말(20)의 등록 절차 중에, 단계(S205)에서 제2 단말(20)이 수행하는 동작들을 보다 자세히 도시한 도면으로 이해될 수 있다. 따라서 도 4와 도 5를 참조하여 이미 설명된 동작들에 관한 자세한 설명은 반복하지 않고, 단계(S205)의 세부 동작들에 관하여 설명하기로 한다.
먼저 도 4와 도 5를 참조하면, 제2 단말(20)은 제1 단말(10)과 제1 통신 채널을 수립하고(S200), 제1 단말(10)로부터 제1 단말(10)의 공개키(41)와 사용자 인증 모드 필드를 포함하는 제1 메시지를 수신하며(S201), 제2 단말(20)의 UWB 애플릿(202)은 제1 단말(10)의 공개키(41)를 저장할 수 있다(S203).
제1 메시지에 포함된 사용자 인증 모드 필드가 보안 모드를 나타내는 경우, 단계(S205)에서는 제2 단말(20)의 애플리케이션(201)과 UWB 애플릿(202)이 보안 인증 루틴이 수행될 수 있다.
이제 도 8을 참조하면, 단계(S601)에서 UWB 애플릿(202)은 애플리케이션(201)에게 보안 인증을 요청할 수 있다.
단계(S603)에서 애플리케이션(201)은 보안 인증 애플리케이션(211)에게 제1 단말(10)과의 제2 단말(20)의 등록에 관한 정보를 제공할 수 있다.
단계(S605)에서 보안 인증 애플리케이션(211)은 등록을 수행할 수 있다. 만약 등록을 위한 인증 수단이 이미 결정되어 있지 않다면, 지문 정보, 안면 형상 정보, 홍채 정보, 비밀번호 등 사용자로부터 보안 인증을 위한 정보를 획득하고 이를 등록할 수 있다. 또한 위 사항은 보안 인증 서버(30)로 전송되어, 서버(30)에 의해 검증되며, 검증 결과가 서버(30)로부터 보안 인증 애플리케이션(211)으로 제공될 수 있다.
단계(S607)에서는 보안 인증 애플리케이션(211)으로부터 애플리케이션(201)으로 보안 인증 정보 등록 결과가 제공될 수 있다. 보안 인증 정보 등록 결과는 보안 인증 애플리케이션(211)의 공개키, 인증 수단(지문, 안면, 홍채, 비밀번호 등)에 관한 정보 등을 포함할 수 있다.
단계(S609)에서 애플리케이션(201)은 보안 인증 애플리케이션(211)으로부터 제공받은 공개키와 보안 인증 정보 등록 결과를 UWB 애플릿(202)으로 제공할 수 있다. UWB 애플릿(202)은 보안 인증 애플리케이션의 공개키를 저장하고, 향후 제1 단말(10)과 제2 단말(20)의 인증 절차에서 이용할 수 있다.
전술한 단계(S601) 내지 단계(S609)를 수행함으로써, 도 5에 도시된 보안 인증 루틴 수행 단계(S205)가 완료될 수 있다.
이어서 도 9와 도 10을 참조하여, 앞서 도 6과 도 7을 참조하여 설명된 제1 단말(10)과 제2 단말(20)의 인증 절차 중에, 제2 단말(20)이 제1 보안 인증 루틴(S401)과 제2 보안 인증 루틴(S413)을 수행하는 동작들을 보다 자세히 설명한다. 구체적으로, 도 9는 제1 보안 인증 루틴(S401)을 보다 자세히 설명하기 위한 도면이고, 도 10은 제2 보안 인증 루틴(S413)을 보다 자세히 설명하기 위한 도면이다.
먼저 도 9를 참조하여, 제1 보안 인증 루틴(S401)을 설명한다. 제1 보안 인증 루틴(S401)은, 제1 단말(10)과 제2 단말(20)이 서로 물리적으로 접근하여 제1 통신 채널이 수립된 이후에 수행될 수도 있지만, 제1 단말(10)과 제2 단말(20)이 서로 물리적으로 접근하기 이전에 제2 단말(20)의 사용자에 의해 사전에 수행될 수도 있다. 제1 단말(10)과 제2 단말(20)이 물리적으로 접근하기 이전에 제1 보안 인증 루틴(S401)을 미리 수행할 경우, 제1 단말(10)과 제2 단말(20)이 물리적으로 접근한 후에는 제2 단말(20)의 사용자의 개입 없이도 제1 단말(10)과 제2 단말(20)의 인증 절차가 신속하게 수행될 수 있다는 장점이 있다.
단계(S801)에서는, 제2 단말(20)의 사용자 또는 제1 단말(10)에 의해 사용자 보안 인증이 요구되는 것에 응답하여, 제2 단말(20)의 애플리케이션(201)이 제2 단말의 보안 인증 애플리케이션(211)에게 보안 인증을 요청한다.
단계(S803)에서 보안 인증 애플리케이션(211)은, 등록 절차의 단계(S605)에서 사전에 등록된 인증 수단(지문, 안면, 홍채, 비밀번호 등)을 통하여, 제2 단말(20)의 사용자에게 인증을 요구할 수 있다.
단계(S803)에서 사용자의 보안 인증이 성공적으로 완료되면, 단계(S805)에서 보안 인증 애플리케이션(211)은 인증에 사용된 인증 수단(지문, 안면, 홍채, 비밀번호 등)에 관한 정보 및 인증 결과를 애플리케이션(201)에게 제공한다. 인증 결과는, 인증이 성공 또는 실패하였는지 여부, 인증된 사용자에 관한 식별 정보, 사용자 인증의 유효 시간 내지는 만료 기한에 관한 정보, 사용자 인증이 유효한 횟수 등을 포함하는 토큰 값을 포함할 수 있다. 또한 인증 결과는 보안 인증 애플리케이션(211)이 자신의 개인키를 이용하여 서명한 값을 포함할 수 있다.
단계(S807)에서 애플리케이션(201)은 상기 인증 결과를 확인하고, 상기 토큰과 서명 값을 저장할 수 있다. 저장된 정보는 후술할 제2 보안 인증 루틴(S413)의 수행 과정 중에 이용될 수 있다.
이제 도 10을 참조하여, 제2 보안 인증 루틴(S413)을 설명한다. 제2 보안 인증 루틴(S413)은, 제1 단말(10)과 제2 단말(20)이 서로 물리적으로 접근하여 제1 통신 채널이 수립된 이후에 수행될 수 있다. 제1 단말(10)과 제2 단말(20)이 물리적으로 접근하기 이전에 제1 보안 인증 루틴(S401)이 미리 수행된 경우, 제2 보안 인증 루틴(S413)의 수행 중에는 제2 단말(20)의 사용자의 개입 없이도 제1 단말(10)과 제2 단말(20)의 인증 절차가 수행될 수 있다.
도 10은, 앞서 도 6과 도 7을 참조하여 설명된 제1 단말(10)과 제2 단말(20)의 인증 절차 중에, 단계(S413)에서 제2 단말(20)이 수행하는 동작들을 보다 자세히 도시한 도면으로 이해될 수 있다. 따라서 도 6과 도 7을 참조하여 이미 설명된 동작들에 관한 자세한 설명은 반복하지 않고, 단계(S413)의 세부 동작들에 관하여 설명하기로 한다.
도 10을 도 6과 함께 참조하면, 단계(S401)에서 제2 단말(20) 상에서 제1 보안 인증 루틴(S401)이 수행되고, 단계(S410)에서 제1 단말(10)과 제2 단말(20) 사이에 제1 통신 채널이 수립될 수 있다. 단계(S411)에서 제2 단말(20)의 애플리케이션(201)은 제1 단말(10)로부터 제3 메시지(제2 통신 채널 설정 개시 요청, 사용자 인증 모드 등의 필드를 포함)를 수신할 수 있고, 수신된 제3 메시지는 제2 단말(20)의 UWB 애플릿(202)에 제공될 수 있다.
단계(S1001)에서, 애플리케이션(201)은, 제1 보안 인증 루틴(S401)을 수행한 결과로서 획득되어 사전에 저장된, 사용자 보안 인증 결과 확인할 수 있다. 전술한 바와 같이 상기 사용자 보안 인증 결과는, 인증이 성공했는지 여부, 인증된 사용자에 관한 식별 정보, 사용자 인증의 유효 시간 내지는 만료 기한에 관한 정보, 사용자 인증이 유효한 횟수 등을 포함하는 토큰 값을 포함할 수 있다.
만약 제1 보안 인증 루틴(S401)의 수행 결과가, 사용자 보안 인증이 성공했음을 나타내고, 현재 사용자 인증이 만료되기 전(즉, 사용자 인증이 현재 유효)이라는 것을 나타내는 경우, 애플리케이션(201)은 단계(S1003) 이하를 진행할 수 있다.
만약 제1 보안 인증 루틴(S401)의 수행 결과가, 사용자 보안 인증이 실패했음을 나타내거나, 사용자 인증이 현재는 만료되었다는 것을 나타내는 경우, 애플리케이션(201)은 제1 보안 인증 루틴(S401)을 재수행한 후에, 단계(S1001)의 동작을 다시 수행할 수 있다.
단계(S1003)에서, 애플리케이션(201)은 제1 보인 인증 루틴(S401)의 수행 중에 보안 인증 애플리케이션(211)으로부터 획득된 토큰과 서명 값을 UWB 애플릿(202)으로 제공할 수 있다.
UWB 애플릿(202)은 단계(S1005)에서 상기 토큰과 서명 값을 보안 인증 애플리케이션(211)의 공개키로 검증할 수 있다. 보안 인증 애플리케이션(211)의 공개키는, 제1 단말(10)과 제2 단말(20)의 등록 절차 중 보안 인증 루틴(S205)의 단계(S609)에서, UWB 애플릿(202)이 애플리케이션(201)으로부터 제공받아서 저장해 둔 것일 수 있다.
단계(S1005)에서 UWB 애플릿(202)은 보안 인증 애플리케이션(211)의 공개키를 이용하여, 보안 인증 애플리케이션(211)이 자신의 개인키로 서명한 값을 검증함으로써, 단계(S1003)를 통해 애플리케이션(201)으로부터 제공받은 토큰 및 서명 값의 진위를 검증할 수 있다.
이어서 단계(S1007)에서 UWB 애플릿(202)은 제1 단말(10)과의 제2 통신 채널을 통해 수립할 서브 세션에서 사용될 임시 키 페어(임시 공개키 및 임시 개인키)를 생성할 수 있다.
상기 임시 키 페어는, 도 6의 단계(S411-2)와 관련하여 설명된 제2 단말(20)의 제2 키 페어(제2 공개키(53) 및 제2 개인키(54))를 대체하는 것으로 이해될 수 있다. 즉, 상기 임시 키 페어는 제1 단말의 키 페어(41, 42)와 함께 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘 등을 이용하여 제2 비밀키(62)를 생성하기 위해 이용될 수 있다. 제1 단말의 공개키(41)와 제2 단말의 임시 개인키를 키 교환 함수에 투입하면, 제2 비밀키(62)가 도출되고, 제1 단말의 개인키(42)와 제2 단말의 임시 공개키를 키 교환 함수에 투입하면, 위와 동일한 제2 비밀키(62)가 도출될 수 있다. 즉, 제1 단말의 공개키(41)가 제2 단말에 제공되면, 제2 단말은 이를 자신의 임시 개인키와 함께 이용하여 제2 비밀키(62)를 유도할 수 있으며, 제2 단말의 임시 공개키가 제1 단말에 제공되면, 제1 단말은 이를 자신의 개인키(42)와 함께 이용하여 동일한 제2 비밀키(62)를 유도할 수 있다. 제2 비밀키(62)는 제1 단말(10)과 제2 단말(20) 사이에 형성되는 통신 세션의 서브 세션을 암호화하여 보호하기 위한 서브 세션 키(sub-session key)를 결정하기 위해 이용될 수 있다.
단계(S1007)가 수행된 이후, 제2 단말(20)은 도 7을 참조하여 앞서 설명된 단계(S415 내지 S417)을 수행할 수 있다. 이하에서는 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널이 수립된 이후의 단계를 설명한다.
단계(S420)에서는 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널이 수립되고, UWB 애플릿(202)에 의해 제1 단말(10)로부터 제1 비밀키로 보호된 데이터를 수신할 수 있다.
단계(S421-1)에서, UWB 애플릿(202)은 제2 통신 채널을 통해 제2 단말의 제2 공개키를 제1 단말(10)로 전송한다. 여기서 제2 단말의 제2 공개키는 단계(S1007)에서 생성된 임시 키 페어의 공개키일 수 있다.
단계(S423)에서, UWB 애플릿(202)은 제2 통신 채널을 통해 제1 단말(10)로부터 제2 비밀키로 보호된 데이터를 수신할 수 있다.
단계(S425-1)에서, UWB 애플릿(202)은 제2 비밀키를 획득할 수 있다. 제2 비밀키(62)는 제1 단말(10)과 제2 단말(20) 사이의 제2 통신 채널의 서브 세션의 세션 키로 이용되는 키일 수 있다. 제2 비밀키(62)는 제2 단말(20)이 제1 단말(10)로부터 획득한 제1 단말의 공개키(41)와 제2 단말의 임시 키 페어의 개인키를 키 교환 함수에 투입함으로써 획득될 수 있다.
단계(S427-1)에서, UWB 애플릿(202)은 단계(S423)에서 제1 단말(10)로부터 수신된 데이터를 제2 비밀키를 이용하여 복호화할 수 있다.
단계(S429)에서, UWB 애플릿(202)은 복호화된 데이터를 애플리케이션(201)에게 제공할 수 있고, 애플리케이션(202)은 복호화된 데이터를 판독할 수 있다.
지금까지 도 8 내지 도 10을 참조하여 설명된 본 실시예에서는, 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널, 예컨대 UWB 통신 기술에 기반한 근거리 통신을 위한 등록 및 인증 과정에서, 제2 단말(20)의 사용자에게 추가적인 보안 인증(지문, 안면, 홍채, 비밀번호 등)을 요구함으로써, 보안성을 한층 더 향상시킬 수 있다. 이를 통해 제1 단말(10)과 제2 단말(20) 사이의 등록, 인증, 및 기타 데이터 교환을 보다 안전하게 처리할 수 있다.
또한 본 실시예에서는, 제1 단말(10)과 제2 단말(20)이 물리적으로 접근하기 이전에 사용자로부터 추가적인 보안 인증을 획득하는 절차를 수행할 수 있도록 함으로써, 제1 단말(10)과 제2 단말(20)이 물리적으로 접근한 후에는 제2 단말(20)의 사용자의 개입 없이도 제1 단말(10)과 제2 단말(20)의 인증 절차가 신속하게 수행될 수 있다.
또한 본 실시예에서는, 서브 세션을 암호화하기 위한 제2 비밀키를 생성하기 위하여, 제2 단말(20)의 UWB 애플릿(202)이 생성한 임시 키 페어를 이용하고, 상기 임시 키 페어는 예컨대 소정의 시간이 경과되거나 소정 횟수의 인증이 완료된 후에는 자동으로 폐기되도록 함으로써, 제1 단말(10)과 제2 단말(20)의 애플리케이션들 사이에 송수신되는 데이터를 보다 안전하게 보호할 수 있다.
이하에서는 도 11 내지 도 13을 참조하여, 제2 단말(20)에서 추가적인 보안 인증 절차를 수행하는 본 발명의 제2 실시예에 따른, 단말들 사이의 등록 절차와 인증 절차를 설명한다.
도 11 내지 도 13을 참조하여 설명될 본 실시예에서는, 제2 단말(20)의 사용자에게 요구되는 추가적인 보안 인증의 적어도 일부 단계들이, 제2 단말(20)의 보안 영역(예컨대 Secure Element) 내에서 처리될 수 있다. 적어도 이와 같은 점에서, 본 실시예는 도 8 내지 도 10을 참조하여 설명된 실시예와 구별될 수 있다.
구체적으로, 본 실시예에서, 제2 단말(20)은 일반 영역에서 실행되는 애플리케이션(201) 및 보안 인증 애플리케이션(211)과, 보안 영역에서 실행되는 UWB 애플릿(202) 및 보안 인증 애플릿(212)을 구비할 수 있다. 몇몇 실시예에서, UWB 애플릿(202)과 보안 인증 애플릿(212)은 보안 영역 내에서 공유 인터페이스 객체(Sharable Interface Object)를 통해 상호 간에 데이터를 교환할 수 있다. 한편 보안 인증 애플리케이션(211)은 제2 단말(20) 외부의 보안 인증 서버(30)와 인증 관련 데이터를 교환할 수 있다.
도 11은, 앞서 도 4와 도 5를 참조하여 설명된 제1 단말(10)과 제2 단말(20)의 등록 절차 중에, 단계(S205)에서 제2 단말(20)이 수행하는 동작들을 보다 자세히 도시한 도면으로 이해될 수 있다. 따라서 도 4와 도 5를 참조하여 이미 설명된 동작들에 관한 자세한 설명은 반복하지 않고, 단계(S205)의 세부 동작들에 관하여 설명하기로 한다.
먼저 도 4와 도 5를 참조하면, 제2 단말(20)은 제1 단말(10)과 제1 통신 채널을 수립하고(S200), 제1 단말(10)로부터 제1 단말(10)의 공개키(41)와 사용자 인증 모드 필드를 포함하는 제1 메시지를 수신하며(S201), 제2 단말(20)의 UWB 애플릿(202)은 제1 단말(10)의 공개키(41)를 저장할 수 있다(S203).
제1 메시지에 포함된 사용자 인증 모드 필드가 보안 모드를 나타내는 경우, 단계(S205)에서는 제2 단말(20)의 애플리케이션(201)과 UWB 애플릿(202)이 보안 인증 루틴이 수행될 수 있다.
이제 도 11을 참조하면, 단계(S601)에서 UWB 애플릿(202)은 애플리케이션(201)에게 보안 인증을 요청할 수 있다.
단계(S603)에서 애플리케이션(201)은 보안 인증 애플리케이션(211)에게 제1 단말(10)과의 제2 단말(20)의 등록에 관한 정보를 제공할 수 있다.
단계(S605)에서 보안 인증 애플리케이션(211)은 상기 등록을 처리하도록 보안 인증 애플릿(212)에 요청할 수 있다. 만약 등록을 위한 인증 수단이 이미 결정되어 있지 않다면, 보안 인증 애플릿(212)은 지문 정보, 안면(얼굴) 형상 정보, 홍채 정보, 비밀번호 등 사용자로부터 보안 인증을 위한 정보를 획득하고 이를 등록할 수 있다. 또한 위 사항은 보안 인증 서버(30)로 전송되어, 서버(30)에 의해 검증되며, 검증 결과가 서버(30)로부터 보안 인증 애플리케이션(211)으로 제공될 수 있다.
단계(S607-1)에서는 보안 인증 애플리케이션(211)으로부터 애플리케이션(201)으로 보안 인증 정보 등록 결과가 제공될 수 있다. 보안 인증 정보 등록 결과는 인증 수단(지문, 안면, 홍채, 비밀번호 등)에 관한 정보 등을 포함할 수 있다.
본 실시예의 단계(S607-1)에서는 보안 인증 애플리케이션(211)의 공개키가 애플리케이션(201)으로 제공되지 않을 수 있다는 점에서, 도 8 내지 도 10을 참조하여 설명된 실시예의 단계(S607)과는 차이가 있음에 유의한다.
또한 본 실시예에서는 보안 인증 애플리케이션(211)의 공개키가 UWB 애플릿(202)으로 제공되지 않을 수 있다는 점에서, 도 8 내지 도 10을 참조하여 설명된 실시예와 차이가 있음에 유의한다.
본 실시예에서는, 전술한 단계(S601) 내지 단계(S607-1)를 수행함으로써, 도 5에 도시된 보안 인증 루틴 수행 단계(S205)가 완료될 수 있다.
이어서 도 12와 도 13을 참조하여, 앞서 도 6과 도 7을 참조하여 설명된 제1 단말(10)과 제2 단말(20)의 인증 절차 중에, 제2 단말(20)이 제1 보안 인증 루틴(S401)과 제2 보안 인증 루틴(S413)을 수행하는 동작들을 보다 자세히 설명한다. 구체적으로, 도 12는 제1 보안 인증 루틴(S401)을 보다 자세히 설명하기 위한 도면이고, 도 13은 제2 보안 인증 루틴(S413)을 보다 자세히 설명하기 위한 도면이다.
먼저 도 12를 참조하여, 제1 보안 인증 루틴(S401)을 설명한다. 제1 보안 인증 루틴(S401)은, 제1 단말(10)과 제2 단말(20)이 서로 물리적으로 접근하여 제1 통신 채널이 수립된 이후에 수행될 수도 있지만, 제1 단말(10)과 제2 단말(20)이 서로 물리적으로 접근하기 이전에 제2 단말(20)의 사용자에 의해 사전에 수행될 수도 있다. 제1 단말(10)과 제2 단말(20)이 물리적으로 접근하기 이전에 제1 보안 인증 루틴(S401)을 미리 수행할 경우, 제1 단말(10)과 제2 단말(20)이 물리적으로 접근한 후에는 제2 단말(20)의 사용자의 개입 없이도 제1 단말(10)과 제2 단말(20)의 인증 절차가 신속하게 수행될 수 있다는 장점이 있다.
단계(S801)에서는, 제2 단말(20)의 사용자 또는 제1 단말(10)에 의해 사용자 보안 인증이 요구되는 것에 응답하여, 제2 단말(20)의 애플리케이션(201)이 제2 단말의 보안 인증 애플리케이션(211)에게 보안 인증을 요청한다.
단계(S803)에서 보안 인증 애플리케이션(211)은 상기 사용자 보안 인증을 처리하도록 보안 인증 애플릿(212)에 요청할 수 있다. 보안 인증 애플릿(212)은
등록 절차의 단계(S605)에서 사전에 등록된 인증 수단(지문, 안면, 홍채, 비밀번호 등)을 통하여, 제2 단말(20)의 사용자에게 인증을 요구할 수 있다.
단계(S803)에서 사용자의 보안 인증이 성공적으로 완료되면, 단계(S805-1, S805-2)에서 보안 인증 애플리케이션(211)은 인증에 사용된 인증 수단(지문, 안면, 홍채, 비밀번호 등)에 관한 정보 및 인증 결과를 보안 인증 애플리케이션(211)을 통해 애플리케이션(201)에게 제공한다. 인증 결과는 인증이 성공 또는 실패하였는지 여부, 인증된 사용자에 관한 식별 정보, 사용자 인증의 유효 시간 내지는 만료 기한에 관한 정보, 사용자 인증이 유효한 횟수 등을 포함하는 토큰 값을 포함할 수 있다. 본 실시예에서는 보안 인증 애플리케이션(211) 또는 보안 인증 애플릿(212)의 개인키로 서명된 값이 애플리케이션(201)에게 제공될 필요가 없다는 점에서, 도 8 내지 도 10을 참조하여 앞서 설명된 실시예와 구별될 수 있다.
단계(S807-1)에서 애플리케이션(201)은 상기 인증 결과를 확인하고, 상기 토큰을 UWB 애플릿(202)에 제공할 수 있으며, 단계(S807-2)에서 UWB 애플릿(202)은 제공받은 토큰을 저장할 수 있다. 저장된 토큰은 후술할 제2 보안 인증 루틴(S413)의 수행 과정 중에 이용될 수 있다.
이제 도 13을 참조하여, 제2 보안 인증 루틴(S413)을 설명한다. 제2 보안 인증 루틴(S413)은, 제1 단말(10)과 제2 단말(20)이 서로 물리적으로 접근하여 제1 통신 채널이 수립된 이후에 수행될 수도 있다. 제1 단말(10)과 제2 단말(20)이 물리적으로 접근하기 이전에 제1 보안 인증 루틴(S401)이 미리 수행된 경우, 제2 보안 인증 루틴(S413)의 수행 중에는 제2 단말(20)의 사용자의 개입 없이도 제1 단말(10)과 제2 단말(20)의 인증 절차가 수행될 수 있다.
도 13은, 앞서 도 6과 도 7을 참조하여 설명된 제1 단말(10)과 제2 단말(20)의 인증 절차 중에, 단계(S413)에서 제2 단말(20)이 수행하는 동작들을 보다 자세히 도시한 도면으로 이해될 수 있다. 따라서 도 6과 도 7을 참조하여 이미 설명된 동작들에 관한 자세한 설명은 반복하지 않고, 단계(S413)의 세부 동작들에 관하여 설명하기로 한다.
도 13을 도 6과 함께 참조하면, 단계(S401)에서 제2 단말(20) 상에서 제1 보안 인증 루틴(S401)이 수행되고, 단계(S410)에서 제1 단말(10)과 제2 단말(20) 사이에 제1 통신 채널이 수립될 수 있다. 단계(S411)에서 제2 단말(20)의 애플리케이션(201)은 제1 단말(10)로부터 제3 메시지(제2 통신 채널 설정 개시 요청, 사용자 인증 모드 등의 필드를 포함)를 수신할 수 있고, 수신된 제3 메시지는 제2 단말(20)의 UWB 애플릿(202)에 제공될 수 있다.
단계(S1201)에서, UWB 애플릿(202)은 제1 보안 인증 루틴(S401)을 수행한 결과로서 획득되어 사전에 저장된, 사용자 보안 인증 결과 확인할 수 있다. 전술한 바와 같이 상기 사용자 보안 인증 결과는, 인증이 성공했는지 여부, 인증된 사용자에 관한 식별 정보, 사용자 인증의 유효 시간 내지는 만료 기한에 관한 정보, 사용자 인증이 유효한 횟수 등을 포함하는 토큰 값을 포함할 수 있다.
만약 제1 보안 인증 루틴(S401)의 수행 결과가, 사용자 보안 인증이 성공했음을 나타내고, 현재 사용자 인증이 만료되기 전(즉, 사용자 인증이 현재 유효)이라는 것을 나타내는 경우, UWB 애플릿(202)은 단계(S1203) 이하를 진행할 수 있다.
만약 제1 보안 인증 루틴(S401)의 수행 결과가, 사용자 보안 인증이 실패했음을 나타내거나, 사용자 인증이 현재는 만료되었다는 것을 나타내는 경우, UWB 애플릿(202)은 제1 보안 인증 루틴(S401)을 재수행한 후에, 단계(S1201)의 동작을 다시 수행할 수 있다.
단계(S1203)에서, UWB 애플릿(202)은 등록 과정 중에 제1 단말(10)로부터 획득한 제1 단말의 공개키(41)와 함께 보안 인증 애플릿(212)에게 보안 인증을 요청할 수 있다. 상기 보인 인증 요청에는 제1 보인 인증 루틴(S401)의 수행 중에 보안 인증 애플릿(212)으로부터 획득된 토큰이 포함될 수 있다.
단계(S1203)에서, 보안 인증 애플릿(212)은 상기 토큰을 검증할 수 있다. 제1 보안 인증 루틴(S401)의 수행 중에 보안 인증 애플릿(212) 자신이 발행했던 토큰을, 본 단계에서 보안 인증 애플릿(212) 검증하는 방법은 다양할 수 있다.
보안 인증 애플릿(212)은 자체 키 페어를 생성 및 보유할 수 있다. 보안 인증 애플릿(212)의 키 페어는, 도 6의 단계(S411-2)와 관련하여 설명된 제2 단말(20)의 제2 키 페어(제2 공개키(53) 및 제2 개인키(54))를 대체하는 것으로 이해될 수 있다. 즉, 보안 인증 애플릿(212)의 키 페어는 제1 단말의 키 페어(41, 42)와 함께 타원 곡선 디피 헬먼(Elliptic-curve Diffie-Hellman) 알고리즘 등을 이용하여 제2 비밀키(62)를 생성하기 위해 이용될 수 있다. 제1 단말의 공개키(41)와 보안 인증 애플릿(212)의 개인키를 키 교환 함수에 투입하면, 제2 비밀키(62)가 도출되고, 제1 단말의 개인키(42)와 보안 인증 애플릿(212)의 공개키를 키 교환 함수에 투입하면, 위와 동일한 제2 비밀키(62)가 도출될 수 있다. 즉, 제1 단말의 공개키(41)가 제2 단말에 제공되면, 제2 단말의 보안 인증 애플릿(212)는 이를 자신의 개인키와 함께 이용하여 제2 비밀키(62)를 유도할 수 있으며, 제2 단말의 보안 인증 애플릿(212)의 공개키가 제1 단말에 제공되면, 제1 단말(10)은 이를 자신의 개인키(42)와 함께 이용하여 위와 동일한 제2 비밀키(62)를 유도할 수 있다. 제2 비밀키(62)는 제1 단말(10)과 제2 단말(20) 사이에 형성되는 통신 세션의 서브 세션을 암호화하여 보호하기 위한 서브 세션 키(sub-session key)를 결정하기 위해 이용될 수 있다.
보안 인증 애플릿(212)이 토큰 검증에 성공하면, 단계(S1205)에서는 토큰의 검증 결과와 함께 상기 보안 인증 애플릿(212)의 공개키가 보안 인증 애플릿(212)에 의해 UWB 애플릿(202)에 제공될 수 있다.
UWB 애플릿(202)은 보안 인증 애플릿(212)의 공개키를 제1 단말(10)에게 제공하기 위해 저장해 둘 수 있다.
단계(S1205)가 수행된 이후, 제2 단말(20)은 도 7을 참조하여 앞서 설명된 단계(S415 내지 S417)을 수행할 수 있다. 이하에서는 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널이 수립된 이후의 단계를 설명한다.
단계(S420)에서는 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널이 수립되고, UWB 애플릿(202)에 의해 제1 단말(10)로부터 제1 비밀키로 보호된 데이터를 수신할 수 있다.
단계(S421-2)에서, UWB 애플릿(202)은 제2 통신 채널을 통해 제2 단말(10)의 제2 공개키를 제1 단말(10)로 전송한다. 여기서 제2 단말(20)의 제2 공개키는 단계(S1205)에서 보안 인증 애플릿(212)으로부터 제공받은 보안 인증 애플릿(212)의 공개키일 수 있다.
단계(S423)에서, UWB 애플릿(202)은 제2 통신 채널을 통해 제1 단말(10)로부터 제2 비밀키로 보호된 데이터를 수신할 수 있다.
단계(S423-1)에서, UWB 애플릿(202)은 단계(S423)에서 수신된 데이터를 제1 단말의 공개키(41)와 함께 보안 인증 애플릿(212)으로 제공할 수 있다.
단계(S425-2)에서, 보안 인증 애플릿(212)은 제2 비밀키를 획득할 수 있다. 제2 비밀키(62)는 제1 단말(10)과 제2 단말(20) 사이의 제2 통신 채널의 서브 세션의 세션 키로 이용되는 키일 수 있다. 제2 비밀키(62)는 상기 제1 단말의 공개키(41)와 보안 인증 애플릿(212)의 개인키를 키 교환 함수에 투입함으로써 획득될 수 있다.
단계(S427-2)에서, 보안 인증 애플릿(212)은 단계(S423)에서 제1 단말(10)로부터 수신된 데이터를 제2 비밀키를 이용하여 복호화할 수 있다.
단계(S429-1)에서 보안 인증 애플릿(212)은 복호화된 데이터를 UWB 애플릿(202)에게 제공하고, 단계(S429-2)에서 UWB 애플릿(202)은 보안 인증 애플릿(212)은 복호화된 데이터를 애플리케이션(201)에게 제공할 수 있다. 애플리케이션(202)은 복호화된 데이터를 판독할 수 있다.
지금까지 도 11 내지 도 13을 참조하여 설명된 본 실시예에서는, 제1 단말(10)과 제2 단말(20) 사이에 제2 통신 채널, 예컨대 UWB 통신 기술에 기반한 근거리 통신을 위한 등록 및 인증 과정에서, 제2 단말(20)의 사용자에게 추가적인 보안 인증(지문, 안면, 홍채, 비밀번호 등)을 요구함으로써, 보안성을 한층 더 향상시킬 수 있다. 이를 통해 제1 단말(10)과 제2 단말(20) 사이의 등록, 인증, 및 기타 데이터 교환을 보다 안전하게 처리할 수 있다.
또한 본 실시예에서는, 제2 단말(20)의 사용자에게 요구되는 추가적인 보안 인증의 적어도 일부 단계들이, 제2 단말(20)의 보안 영역(예컨대 Secure Element) 내에서 처리됨으로써, 보안성이 강화될 수 있다. 구체적으로, 본 실시예에서는 UWB 애플릿(202)과 보안 인증 애플릿(212)이 보안 영역에서 실행되며, 두 애플릿(202, 212)이 보안 영역의 공유 인터페이스 객체(Sharable Interface Object)를 통해 상호 간에 데이터를 안전하게 교환함으로써. 외부의 해킹 등으로부터 데이터를 안전하게 보호할 수 있다.
또한 본 실시예에서는, 보안 영역 내에서 실행되는 보안 인증 애플릿(212)의 키 페어를 이용하여, 서브 세션을 암호화하기 위한 제2 비밀키를 생성함으로써, 제1 단말(10)과 제2 단말(20)의 애플리케이션들 사이에 송수신되는 데이터를 보다 안전하게 보호할 수 있다.
지금까지 도 1 내지 도 13을 참조하여, 본 발명의 몇몇 실시예에 따른 단말들 사이의 통신 방법 및 그러한 방법이 구현된 단말 장치들에 관하여 설명하였다.
지금까지 도 1 내지 도 13을 참조하여 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이하, 본 발명의 몇몇 실시예들에 따른 예시적인 컴퓨팅 장치의 하드웨어 구성을 도 14를 참조하여 설명하기로 한다. 도 14를 참조하여 설명하는 컴퓨팅 장치는, 예를 들어 도 2를 참조하여 설명한 제1 단말(10) 또는 제2 단말(20)의 하드웨어 구성일 수 있다.
도 14는 본 발명의 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다. 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 시스템 버스(1600), 통신 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다.
프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 둘 이상의 프로세서를 구비할 수 있다.
메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 컴퓨터 프로그램(1500)을 로드(load) 할 수 있다. 메모리(1400)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다. 시스템 버스(1600)는 컴퓨팅 장치(1000)의 구성 요소 간 통신 기능을 제공한다.
시스템 버스(1600)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다. 통신 인터페이스(1200)는 컴퓨팅 장치(1000)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(1200)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1200)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다. 스토리지(1300)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(1500)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
이상 첨부된 도면을 참조하여 본 명세서의 실시예들을 설명하였지만, 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서의 실시예들이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (21)

  1. 제2 단말이, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과의 연결을 수립하는 단계;
    상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제1 단말의 공개키를 포함한 제1 메시지를 수신하는 단계;
    상기 제2 단말이, 상기 제1 단말의 상기 공개키를 저장하는 단계;
    상기 제2 단말이, 상기 제2 단말과 통신 가능하게 연결된 인증부를 통해 보안 인증 루틴을 수행하는 단계; 및
    상기 인증에 성공하였다는 판정에 기초하여, 상기 제2 단말이, 상기 제1 통신 채널을 통해, 상기 제2 단말의 공개키를 포함한 제2 메시지를 상기 제1 단말로 전송하는 단계
    를 포함하되,
    상기 제1 단말의 개인키와 상기 제2 단말의 상기 공개키를 키 교환 함수에 투입하면 제1 비밀키가 생성되며,
    상기 제1 비밀키는 상기 제1 단말과 상기 제2 단말 사이에 제2 프로토콜을 이용하는 통신에 이용되는 키인,
    통신 방법.
  2. 제1항에 있어서,
    상기 제1 메시지는, 상기 제2 단말 상에서의 요구되는 사용자 인증 모드를 나타내는 필드를 포함하고,
    상기 인증부를 통해 보안 인증 루틴을 수행하는 단계는, 상기 사용자 인증 모드가 보안 모드라는 판정에 기초하여, 상기 보안 인증 루틴을 수행하는 단계를 포함하는,
    통신 방법.
  3. 제1항에 있어서,
    상기 인증부의 적어도 일부는 상기 제2 단말의 보안 영역(Secure Element)에서 구동되는,
    통신 방법.
  4. 제1항에 있어서,
    상기 인증부는 상기 제2 단말의 보안 영역 외부에서 구동되는 것이고,
    상기 인증부를 통해 보안 인증 루틴을 수행하는 단계는,
    상기 인증부의 공개키를 상기 제2 단말에 저장하는 단계를 포함하는,
    통신 방법.
  5. 제4항에 있어서,
    상기 인증부의 공개키를 상기 제2 단말에 저장하는 단계는,
    상기 제2 단말에서 실행되는 애플리케이션이 상기 인증부의 공개키를 상기 인증부로부터 획득하는 단계;
    상기 애플리케이션이 상기 제2 단말에서 실행되는 애플릿에 상기 인증부의 공개키를 제공하는 단계; 및
    상기 애플릿이 상기 제2 단말의 보안 영역에 상기 인증부의 공개키를 저장하는 단계
    를 포함하는,
    통신 방법.
  6. 제5항에 있어서,
    상기 애플릿은 상기 제2 프로토콜을 따르는 통신을 지원하기 위하여 상기 제2 단말의 보안 영역에서 실행되는 프로세스인,
    통신 방법.
  7. 제2 단말이, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제1 단말과의 연결을 수립하는 단계;
    상기 제2 단말이, 상기 제1 통신 채널을 통해, 제2 프로토콜을 이용하는 제2 통신 채널의 설정에 관한 제1 메시지를 상기 제1 단말로부터 수신하는 단계;
    상기 제2 단말이, 상기 제2 단말의 인증부를 통해 보안 인증 루틴을 수행하는 단계;
    상기 인증부를 통한 보안 인증이 성공하였다는 판정에 기초하여, 상기 제2 단말이 제2 통신 채널의 수립을 위한 레인징을 개시하는 단계; 및
    상기 제2 단말이 상기 제1 단말과의 사이에 상기 제2 통신 채널을 통한 연결을 수립하고, 상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 수신하는 단계
    를 포함하되,
    상기 제1 비밀키는, 상기 제2 단말이, 사전에 상기 제2 단말에 저장된 상기 제2 단말의 개인키와 상기 제1 단말의 공개키를 키 교환 함수에 투입함으로써 획득되는,
    통신 방법.
  8. 제7항에 있어서,
    상기 보안 인증 루틴은 상기 제2 단말의 사용자의 인증 행위를 수반하는,
    통신 방법.
  9. 제7항에 있어서,
    상기 보안 인증 루틴을 수행하는 단계는, 제1 보안 인증 루틴을 수행하는 단계 및 제2 보안 인증 루틴을 수행하는 단계를 포함하고,
    상기 제1 보안 인증 루틴을 수행하는 단계는,
    상기 인증부로부터 인증 유효 기간을 나타내는 토큰을 포함한 인증 결과를 획득하는 단계; 및
    상기 인증 결과를 상기 제2 단말에 저장하는 단계
    를 포함하는,
    통신 방법.
  10. 제9항에 있어서,
    상기 인증 결과는, 상기 인증부의 개인키로 서명된 값을 더 포함하는,
    통신 방법.
  11. 제10항에 있어서,
    상기 제2 보안 인증 루틴을 수행하는 단계는,
    상기 인증부의 개인키로 서명된 값을 상기 인증부의 공개키로 검증하는 단계를 포함하며,
    상기 인증부의 공개키는 사전에 상기 제2 단말에 저장된 것인,
    통신 방법.
  12. 제9항에 있어서,
    상기 제1 보안 인증 루틴은 상기 제1 메시지를 상기 제1 단말로부터 수신하기 이전에 수행되고,
    상기 제2 보안 인증 루틴은 상기 제1 메시지를 상기 제1 단말로부터 수신한 이후에 수행되며,
    상기 제2 보안 인증 루틴을 수행하는 단계는,
    상기 제1 보안 인증 루틴이 수행된 결과로서 상기 제2 단말에 저장된 인증 결과를 상기 인증부에 의해 검증하는 단계를 포함하는,
    통신 방법.
  13. 제9항에 있어서,
    상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 수신하는 단계는,
    상기 제2 단말이, 상기 제2 단말의 제2 공개키를 상기 제1 단말로 전송하는 단계; 및
    상기 제2 단말이, 상기 제1 단말로부터 수신된 데이터를 제2 비밀키를 이용하여 판독하는 단계
    를 포함하되,
    상기 제2 비밀키는 상기 제1 단말의 공개키와 상기 제2 단말의 제2 개인키를 키 교환 함수에 투입함으로써 획득될 수 있는,
    통신 방법.
  14. 제13항에 있어서,
    상기 제2 단말의 제2 공개키 및 제2 개인키는 임시 키 페어(Ephemeral Key Pair)인,
    통신 방법.
  15. 제9항에 있어서,
    상기 제2 통신 채널을 통해 상기 제1 비밀키를 이용하여 보호된 데이터를 수신하는 단계는,
    상기 제2 단말이, 상기 인증부의 공개키를 상기 제1 단말로 전송하는 단계; 및
    상기 제2 단말이, 상기 제1 단말로부터 수신된 데이터를 제2 비밀키를 이용하여 판독하는 단계
    를 포함하되,
    상기 제2 비밀키는 상기 제1 단말의 공개키와 상기 인증부의 개인키를 키 교환 함수에 투입함으로써 획득될 수 있는,
    통신 방법.
  16. 제15항에 있어서,
    상기 제2 단말이, 상기 제1 단말로부터 수신된 데이터를 제2 비밀키를 이용하여 판독하는 단계는,
    상기 제2 단말이, 상기 제1 단말로부터 수신된 암호화된 데이터를 상기 인증부에 제공하는 단계; 및
    상기 제2 단말이, 상기 인증부로부터 복호화된 데이터를 수신하는 단계
    를 포함하는,
    통신 방법.
  17. 제16항에 있어서,
    상기 제2 단말이, 상기 제1 단말로부터 수신된 암호화된 데이터를 상기 인증부에 제공하는 단계는,
    상기 제1 단말의 공개키를 상기 인증부에 제공하는 단계
    를 포함하는,
    통신 방법.
  18. 제17항에 있어서,
    상기 인증부의 적어도 일부는 상기 제2 단말의 보안 영역(Secure Element)에서 구동되며, 상기 보안 영역이 제공하는 공유 인터페이스 객체(Sharable Interface Object)를 통해 데이터를 교환하는,
    통신 방법.
  19. 제1 단말이, 제1 프로토콜을 이용하는 제1 통신 채널을 통해 제2 단말과의 연결을 수립하는 단계;
    상기 제1 단말이, 상기 제1 통신 채널을 통해, 제2 프로토콜을 이용하는 제2 통신 채널의 설정에 관한 제1 메시지를 상기 제2 단말로 전송하는 단계;
    상기 제1 단말이 상기 제2 통신 채널의 수립을 위한 레인징을 개시하는 단계;
    상기 제1 단말이 상기 제2 단말과의 사이에 상기 제2 통신 채널을 통한 연결을 수립하는 단계;
    상기 제1 단말이, 상기 제2 통신 채널을 통해, 제1 비밀키를 이용하여 보호된 데이터를 수신하는 단계;
    상기 제1 단말이, 상기 제2 통신 채널을 통해, 상기 제2 단말로부터 상기 제2 단말의 제2 공개키를 수신하는 단계;
    상기 제1 단말이, 상기 제1 단말의 개인키와 상기 제2 단말의 상기 제2 공개키를 이용하여 제2 비밀키를 획득하는 단계; 및
    상기 제1 단말이, 상기 제2 통신 채널을 통해, 상기 제2 비밀키를 이용하여 보호된 데이터를 상기 제2 단말로 전송하는 단계
    를 포함하되,
    상기 제1 비밀키는, 상기 제1 단말이, 사전에 상기 제1 단말에 저장된 상기 제2 단말의 제1 공개키와 상기 제1 단말의 개인키를 이용하여 획득되는,
    통신 방법.
  20. 제19항에 있어서,
    상기 제2 단말의 상기 제2 공개키는 상기 제2 단말이 생성한 임시 키 페어의 공개키인,
    통신 방법.
  21. 제19항에 있어서,
    상기 제2 단말의 상기 제2 공개키는 상기 제2 단말에 통신 가능하게 결합된 인증부가 제공한 공개키인,
    통신 방법.
KR1020210069493A 2021-05-28 2021-05-28 근접 통신 방법 및 장치 KR20220161068A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210069493A KR20220161068A (ko) 2021-05-28 2021-05-28 근접 통신 방법 및 장치
EP22173989.9A EP4096154A1 (en) 2021-05-28 2022-05-18 Method for proximity communication between terminals and apparatus thereof
US17/826,443 US20220385654A1 (en) 2021-05-28 2022-05-27 Method for proximity communication between terminals and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210069493A KR20220161068A (ko) 2021-05-28 2021-05-28 근접 통신 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220161068A true KR20220161068A (ko) 2022-12-06

Family

ID=81841935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210069493A KR20220161068A (ko) 2021-05-28 2021-05-28 근접 통신 방법 및 장치

Country Status (3)

Country Link
US (1) US20220385654A1 (ko)
EP (1) EP4096154A1 (ko)
KR (1) KR20220161068A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10778435B1 (en) * 2015-12-30 2020-09-15 Jpmorgan Chase Bank, N.A. Systems and methods for enhanced mobile device authentication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160013817A (ko) 2014-07-28 2016-02-05 르네사스 일렉트로닉스 가부시키가이샤 제어 시스템 및 반도체 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149874A1 (en) * 2002-02-06 2003-08-07 Xerox Corporation Systems and methods for authenticating communications in a network medium
AU2017250352B2 (en) * 2016-04-14 2020-04-16 Apple Inc. Methods and architectures for secure ranging
EP3748900A1 (en) * 2017-03-01 2020-12-09 Apple Inc. System access using a mobile device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160013817A (ko) 2014-07-28 2016-02-05 르네사스 일렉트로닉스 가부시키가이샤 제어 시스템 및 반도체 장치

Also Published As

Publication number Publication date
US20220385654A1 (en) 2022-12-01
EP4096154A1 (en) 2022-11-30

Similar Documents

Publication Publication Date Title
EP3280090B1 (en) User authentication method and device
JP6586446B2 (ja) 通信端末および関連システムのユーザーの識別情報を確認するための方法
US10958664B2 (en) Method of performing integrity verification between client and server and encryption security protocol-based communication method of supporting integrity verification between client and server
CN109479049B (zh) 用于密钥供应委托的系统、设备和方法
US9722792B2 (en) Reading of an attribute from an ID token
US10715327B1 (en) Software credential token issuance based on hardware credential token
RU2682430C1 (ru) Способ и устройство регистрации и аутентификации информации
WO2021190197A1 (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
JP2021519966A (ja) リモート生体計測識別
CN112204549A (zh) 利用生物信息执行服务的系统及其控制方法
CN115527292A (zh) 安全芯片的手机终端远程车辆解锁方法及安全芯片装置
EP4096154A1 (en) Method for proximity communication between terminals and apparatus thereof
EP4096155A1 (en) Method for proximity communication between terminals and apparatus thereof
US11178137B2 (en) System for IoT devices communicating with server using a tentative common key
Bolhuis Using an NFC-equipped mobile phone as a token in physical access control
CN110912685A (zh) 建立受保护通信信道
KR101172876B1 (ko) 사용자 단말기와 서버 간의 상호 인증 방법 및 시스템
KR20190130440A (ko) 센서 장치의 인증을 위해 인증 프로토콜을 수행하는 센서 인증 서버, 소프트웨어 정의 네트워크 컨트롤러 및 방법, 이 방법을 수행하기 위한 기록 매체
KR20190108888A (ko) 전자 장치 및 전자 장치에서의 인증 방법
US10984080B2 (en) Method for authenticating a user and a secure module, associated electronic apparatus and system
KR102293775B1 (ko) 클라우드 기반 지불시스템의 보안성을 강화한 모바일 결제 방법 및 이를 위한 장치
JP2023509806A (ja) モバイルネットワークアクセスシステム、方法、記憶媒体及び電子機器
CN111246480A (zh) 基于sim卡的应用通信方法、系统、设备及存储介质
KR20200101053A (ko) 전자 장치 및 전자 장치에서의 인증 방법
KR20200090490A (ko) 디지털 키 공유 시스템에서 이모빌라이저 토큰을 업데이트하는 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination