KR20220104652A - Method and apparatus for secure ranging based on ultra wide band - Google Patents

Method and apparatus for secure ranging based on ultra wide band Download PDF

Info

Publication number
KR20220104652A
KR20220104652A KR1020220006809A KR20220006809A KR20220104652A KR 20220104652 A KR20220104652 A KR 20220104652A KR 1020220006809 A KR1020220006809 A KR 1020220006809A KR 20220006809 A KR20220006809 A KR 20220006809A KR 20220104652 A KR20220104652 A KR 20220104652A
Authority
KR
South Korea
Prior art keywords
uwb
uwbs
secure
application
ranging
Prior art date
Application number
KR1020220006809A
Other languages
Korean (ko)
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 EP22739838.5A priority Critical patent/EP4274285A1/en
Priority to PCT/KR2022/000934 priority patent/WO2022154646A1/en
Priority to CN202280010513.3A priority patent/CN116724578A/en
Publication of KR20220104652A publication Critical patent/KR20220104652A/en

Links

Images

Classifications

    • 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/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • 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)
  • Basic Packing Technique (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

According to the present invention, disclosed is a method for UWB security ranging. According to an embodiment of the present invention, a method of an electronic device comprises the following steps of: transmitting a request for setting a ranging data set for security ranging to a security component; and transmitting a request for transferring the ranging data set to a UWB sub-system to the security component. Here, the ranging data set may be transferred from the security component to the UWB sub-system by using a security channel set between the security component and the UWB sub-system through a framework.

Description

UWB 기반 보안 레인징을 위한 방법 및 장치 {METHOD AND APPARATUS FOR SECURE RANGING BASED ON ULTRA WIDE BAND}Method and apparatus for UWB-based security ranging {METHOD AND APPARATUS FOR SECURE RANGING BASED ON ULTRA WIDE BAND}

본 개시는 UWB 통신에 관한 것으로, 보다 상세하게는 UWB 기반의 보안 레인징을 위한 방법 및 장치에 관한 것이다.The present disclosure relates to UWB communication, and more particularly, to a method and apparatus for UWB-based secure ranging.

인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT (Internet of Things, 사물 인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터 (Big data) 처리 기술 등이 IoT 기술에 결합된 IoE(Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서는, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구된다. 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신 (Machine to Machine, M2M), MTC(Machine Type Communication) 등의 기술이 연구되고 있다.The Internet is evolving from a human-centered connection network where humans create and consume information, to an Internet of Things (IoT) network that exchanges and processes information between distributed components such as objects. Internet of Everything (IoE) technology, which combines big data processing technology through connection with cloud servers, etc. with IoT technology, is also emerging. In order to implement the IoT, technology elements such as sensing technology, wired/wireless communication and network infrastructure, service interface technology, and security technology are required. Recently, technologies such as a sensor network, Machine to Machine (M2M), and MTC (Machine Type Communication) for connection between objects are being studied.

IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는, 기존의 IT(information technology) 기술과 다양한 산업 간의 융합 및 복합을 통하여, 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.In the IoT environment, an intelligent IT (Internet Technology) service that collects and analyzes data generated from connected objects and creates new values in human life can be provided. The IoT is a smart home, smart building, smart city, smart car or connected car, smart grid, health care, smart home appliance, advanced medical service, etc. can be applied in the field of

무선 통신 시스템의 발전에 따라 다양한 서비스를 제공할 수 있게 됨으로써, 이러한 서비스들을 효과적으로 제공하기 위한 방안이 요구되고 있다. 예를 들어, UWB(Ultra Wide Band)를 이용하여 전자 디바이스들 간의 거리를 측정하는 레인징(ranging) 기술이 사용될 수 있다.As various services can be provided with the development of wireless communication systems, a method for effectively providing these services is required. For example, a ranging technique for measuring a distance between electronic devices using Ultra Wide Band (UWB) may be used.

본 개시는 단순하고 효율적인 UWB 기반의 보안 레인징을 위한 보안 컴포넌트 및 프레임워크를 구성하는 방법을 제공한다. 본 개시는 구성된 보안 컴포넌트가 보안 레인징을 위한 세션 키를 UWB 서브시스템으로 안전하게 전달하는 방법을 제공한다.The present disclosure provides a method of configuring a security component and a framework for simple and efficient UWB-based security ranging. The present disclosure provides a method for a configured security component to securely deliver a session key for secure ranging to a UWB subsystem.

본 개시는 보안 어플리케이션과 함께 TEE 영역에 포함된 UWB 서브시스템이 보안 어플리케이션으로부터 보안 데이터를 효율적이고 안전하게 획득하기 위한 방법을 제공한다.The present disclosure provides a method for efficiently and safely obtaining security data from a security application by a UWB subsystem included in a TEE area together with a security application.

본 개시의 일 양상에 따른, 보안 레인징(secure ranging)을 수행하는 전자 장치의 방법은 상기 전자 장치의 프레임워크가, 상기 보안 레인징을 위한 레인징 데이터 세트를 설정하기 위한 요청을 보안 컴포넌트로 전송하는 동작; 및 상기 프레임워크가, 상기 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 상기 보안 컴포넌트로 전송하는 동작을 포함하며, 상기 레인징 데이터 세트는 상기 프레임워크를 통해 상기 보안 컴포넌트와 상기 UWB 서브시스템 사이에 설정된 보안 채널을 이용하여 상기 보안 컴포넌트로부터 상기 UWB 서브시스템으로 전달될 수 있다.According to an aspect of the present disclosure, in a method of an electronic device for performing secure ranging, a framework of the electronic device transmits a request for setting a ranging data set for the secure ranging to a secure component. sending action; and sending, by the framework, a request to the security component to transmit the ranging data set to the UWB subsystem, wherein the ranging data set is transmitted to the security component and the UWB sub via the framework. It may be transmitted from the secure component to the UWB subsystem using a secure channel established between the systems.

본 개시의 다른 양상에 따른, 보안 레인징을 수행하는 전자 장치는, 메모리; 및 상기 메모리에 연결된 제어부를 포함하며, 상기 제어부는: 상기 전자 장치의 프레임워크가, 상기 보안 레인징을 위한 레인징 데이터 세트를 설정하기 위한 요청을 보안 컴포넌트로 전송하고, 상기 프레임워크가, 상기 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 상기 보안 컴포넌트로 전송하도록 구성되며, 상기 레인징 데이터 세트는 상기 프레임워크를 통해 상기 보안 컴포넌트와 상기 UWB 서브시스템 사이에 설정된 보안 채널을 이용하여 상기 보안 컴포넌트로부터 상기 UWB 서브시스템으로 전달될 수 있다.According to another aspect of the present disclosure, an electronic device for performing secure ranging includes: a memory; and a control unit connected to the memory, wherein the control unit includes: the framework of the electronic device transmits a request for setting a ranging data set for the secure ranging to a security component, wherein the framework is configured to: and send a request to the secure component to transmit a ranging data set to the UWB subsystem, wherein the ranging data set is configured to use a secure channel established between the secure component and the UWB subsystem through the framework. from the security component to the UWB subsystem.

본 개시의 다양한 실시예에 따른, 보안 레인징을 수행하는 UWB 장치의 방법은 상기 UWB 장치의 UWB 서브시스템이, 상기 보안 레인징을 위한 레인징 데이터 세트(RDS)를 상기 UWB 장치의 보안 어플리케이션으로부터 가져오라는 명령을 프레임워크로부터 수신하는 단계; 상기 UWB 서브시스템이, 상기 명령에 기초하여, 상기 보안 어플리케이션과의 보안 채널을 설정하는 단계; 및 상기 UWB 서브시스템이, 상기 보안 어플리케이션으로부터 상기 설정된 보안 채널을 통해 상기 RDS를 수신하는 단계를 포함하며, 상기 UWB 서브시스템 및 상기 보안 어플리케이션은 TEE (Trusted Execution Environment) 영역 내에 포함되며, 상기 RDS는 UWB 레인징 세션을 보안하기 위해 사용되는 레인징 세션 키를 포함할 수 있다.According to various embodiments of the present disclosure, in a method of a UWB device for performing secure ranging, the UWB subsystem of the UWB device receives a ranging data set (RDS) for the secure ranging from a security application of the UWB device. receiving a command to fetch from the framework; establishing, by the UWB subsystem, a secure channel with the secure application based on the command; and receiving, by the UWB subsystem, the RDS from the security application through the established secure channel, wherein the UWB subsystem and the security application are included in a Trusted Execution Environment (TEE) area, the RDS comprising: It may include a ranging session key used to secure a UWB ranging session.

본 개시의 다양한 실시예에 따른, 보안 레인징을 수행하는 UWB 장치의 방법은 상기 UWB 장치의 보안 어플리케이션이, 상기 보안 레인징을 위한 레인징 데이터 세트(RDS)를 상기 UWB 장치의 UWB 서브시스템으로 전달하라는 명령을 프레임워크로부터 수신하는 단계; 상기 보안 어플리케이션이, 상기 명령에 기초하여, 상기 보안 어플리케이션의 보안 OS와 상기 UWB 서브시스템 사이의 보안 채널을 설정하기 위한 요청을 상기 보안 OS로 전송하는 단계; 및 상기 보안 어플리케이션이, 상기 설정된 보안 채널을 통해 상기 RDS를 상기 UWB 서브시스템으로 전달하는 단계를 포함하며, 상기 UWB 서브시스템 및 상기 보안 어플리케이션은 TEE (Trusted Execution Environment) 영역 내에 포함되며, 상기 RDS는 UWB 레인징 세션을 보안하기 위해 사용되는 레인징 세션 키를 포함할 수 있다.According to various embodiments of the present disclosure, in the method of the UWB device for performing secure ranging, the security application of the UWB device transmits the ranging data set (RDS) for the secure ranging to the UWB subsystem of the UWB device. receiving a command to forward from the framework; sending, by the secure application, a request for establishing a secure channel between the secure OS of the secure application and the UWB subsystem to the secure OS based on the command; and transmitting, by the security application, the RDS to the UWB subsystem through the established secure channel, wherein the UWB subsystem and the security application are included in a Trusted Execution Environment (TEE) area, the RDS comprising: It may include a ranging session key used to secure a UWB ranging session.

실시예로서, 상기 명령은 어플리케이션의 어플리케이션 ID 또는 상기 어플리케이션에 의해 설정된 적어도 하나의 세션 중 하나와 연관된 인스턴스 ID 중 적어도 하나를 포함할 수 있다.In an embodiment, the command may include at least one of an application ID of an application or an instance ID associated with one of at least one session established by the application.

실시예로서, 상기 TEE 영역 내의 컴포넌트와 통신하기 위한 제1 인터페이스 및 상기 TEE 영역 외의 컴포넌트와 통신하기 위한 제2 인터페이스가 상기 UWB 서브시스템을 위해 구성될 수 있다. As an embodiment, a first interface for communicating with a component within the TEE area and a second interface for communicating with a component outside the TEE area may be configured for the UWB subsystem.

실시예로서, 상기 프레임워크는 상기 TEE 영역 외에 포함될 수 있다.In an embodiment, the framework may be included in addition to the TEE area.

실시예로서, 상기 UWB 서브시스템은 상기 RDS에 포함된 레인징 세션 키를 이용하여 다른 UWB 장치의 UWB 서브시스템과의 보안 레인징을 수행할 수 있다.As an embodiment, the UWB subsystem may perform secure ranging with the UWB subsystem of another UWB device using the ranging session key included in the RDS.

본 개시의 보안 컴포넌트 및 프레임워크의 구성에 따라, 단순하고 효율적인 UWB 기반의 보안 레인징을 수행할 수 있다. 본 개시의 보안 컴포넌트가 보안 레인징을 위한 세션 키를 UWB 서브시스템으로 전달하는 방식에 따라, 안전하게 세션 키가 전달될 수 있다.According to the configuration of the security component and framework of the present disclosure, it is possible to perform simple and efficient UWB-based security ranging. According to a method in which the security component of the present disclosure delivers the session key for secure ranging to the UWB subsystem, the session key may be securely transferred.

본 개시의 실시예에 따른 방법에 따라, 보안 어플리케이션과 함께 TEE 영역에 포함된 UWB 서브시스템이 보안 어플리케이션으로부터 보안 데이터를 효율적이고 안전하게 획득할 수 있다.According to the method according to the embodiment of the present disclosure, the UWB subsystem included in the TEE area together with the security application may efficiently and safely obtain security data from the security application.

도 1은 UWB 기반 서비스를 지원하는 전자 장치의 예시적인 레이어 구성을 나타낸다.
도 2a는 UWB 기반 서비스를 지원하는 전자 장치를 포함하는 통신 시스템의 예시적인 구성을 나타낸다.
도 2b는 UWB 기반 결제 서비스를 지원하는 전자 장치를 포함하는 통신 시스템의 예시적인 구성을 나타낸다.
도 3은 UWB 기반 서비스를 지원하는 전자 장치에 포함된 프레임워크의 예시적인 구성을 나타낸다.
도 4는 본 개시의 예시적인 실시예에 따른 제1 보안 컴포넌트를 이용하여 보안 레인징(secure ranging)을 수행하는 통신 시스템의 예시적인 동작을 나타낸다.
도 5는 본 개시의 예시적인 실시예에 따른 제1 보안 컴포넌트를 이용하여 secure ranging을 수행하는 전자 장치의 예시적인 구성 및 동작을 나타낸다.
도 6은 본 개시의 예시적인 실시예에 따른 제2 보안 컴포넌트를 이용하여 secure ranging을 수행하는 전자 장치의 예시적인 구성 및 동작을 나타낸다.
도 7a는 본 개시의 예시적인 실시예에 따른 전자 장치가 제1 보안 컴포넌트와 UWBS 사이의 보안 채널을 설정하는 방법을 나타낸다.
도 7b는 본 개시의 예시적인 실시예에 따른 전자 장치가 제2 보안 컴포넌트와 UWBS 사이의 보안 채널을 설정하는 방법을 나타낸다.
도 8은 본 개시의 예시적인 실시예에 따른 제2 보안 컴포넌트를 포함하는 전자 장치가 RDS를 제공하는 방법의 흐름도이다.
도 9a는 본 개시의 예시적인 실시예에 따른 대칭 암호화 방식(Symmetric 방식)을 이용한 UWBS와 보안 컴포넌트 간의 보안 채널 설정 절차를 나타낸다.
도 9b는 본 개시의 예시적인 실시예에 따른 비대칭 암호화 방식(Asymmetric 방식)을 이용한 UWBS와 보안 컴포넌트 간의 보안 채널 설정 절차의 일 예를 나타낸다.
도 9c는 본 개시의 예시적인 실시예에 따른 Asymmetric 방식을 이용한 UWBS와 보안 컴포넌트 간의 보안 채널 설정 절차의 다른 예를 나타낸다.
도 9d는 본 개시의 예시적인 실시예에 따른 UWBS와 보안 컴포넌트 간의 보안 채널을 통해 UWBS가 보안 컴포넌트로 RDS를 전달하는 절차를 나타낸다.
도 10a는 본 개시의 예시적인 실시예에 따른 제1 보안 컴포넌트를 포함하는 전자 장치를 위한 키 프로비저닝(provisioning) 방법을 나타낸다.
도 10b는 본 개시의 일 실시예에 따른 제2 보안 컴포넌트를 포함하는 전자 장치를 위한 키 프로비저닝(provisioning) 방법을 나타낸다.
도 11은 본 개시의 일 실시예에 따른 제2 보안 컴포넌트를 포함하는 전자 장치를 위한 키 프로비저닝을 위한 증명(attestation) 절차를 나타낸다.
도 12는 본 개시의 예시적인 실시예에 따른 전자 장치의 예시적인 구성을 나타낸다.
도 13은 본 개시의 일 실시예에 따른 전자 장치의 방법을 나타내는 흐름도이다.
도 14는 본 개시의 일 실시예에 따른 제1 전자 장치의 구조를 도시한 도면이다.
도 15는 본 개시의 일 실시예에 따른 제2 전자 장치의 구조를 도시한 도면이다.
도 16은 SE를 포함하는 UWB 장치의 예시적인 구성을 나타낸다.
도 17은 SE를 포함하는 UWB 장치의 동작을 나타낸다.
도 18은 본 개시의 일 실시예에 따른, TEE를 포함하는 UWB 장치의 예시적인 구성을 나타낸다.
도 19는 본 개시의 일 실시예에 따른 TEE를 포함하는 UWB 장치의 동작을 나타낸다.
도 20은 본 개시의 일 실시예에 따른 TEE 및 SE를 포함하는 UWB 장치의 동작을 나타낸다.
도 21은 본 개시의 일 실시예에 따른 제1 UWB 장치가 제2 UWB 장치와 보안 레인징을 수행하는 방법을 나타낸다.
도 22는 본 개시의 다른 실시예에 따른 TEE를 포함하는 UWB 장치의 동작을 나타낸다.
도 23은 본 개시의 다른 실시예에 따른 제1 UWB 장치가 제2 UWB 장치와 보안 레인징을 수행하는 방법을 나타낸다.
도 24는 본 개시의 일 실시예에 따른 UWB 장치의 구성을 나타낸다.
도 25는 본 개시의 일 실시예에 따른 UWB 장치의 방법을 나타내는 흐름도이다.
도 26은 본 개시의 다른 실시예에 따른 UWB 장치의 방법을 나타내는 흐름도이다.
도 27는 본 개시의 일 실시예에 따른 전자 장치의 구조를 도시한 도면이다.
1 illustrates an exemplary layer configuration of an electronic device supporting a UWB-based service.
2A illustrates an exemplary configuration of a communication system including an electronic device supporting a UWB-based service.
2B illustrates an exemplary configuration of a communication system including an electronic device supporting a UWB-based payment service.
3 shows an exemplary configuration of a framework included in an electronic device supporting a UWB-based service.
4 illustrates an exemplary operation of a communication system for performing secure ranging using a first secure component according to an exemplary embodiment of the present disclosure.
5 illustrates an exemplary configuration and operation of an electronic device that performs secure ranging using a first secure component according to an exemplary embodiment of the present disclosure.
6 illustrates an exemplary configuration and operation of an electronic device that performs secure ranging using a second secure component according to an exemplary embodiment of the present disclosure.
7A illustrates a method for an electronic device to establish a secure channel between a first secure component and UWBS according to an exemplary embodiment of the present disclosure.
7B illustrates a method for an electronic device to establish a secure channel between a second secure component and UWBS according to an exemplary embodiment of the present disclosure.
8 is a flowchart of a method for providing an RDS by an electronic device including a second security component according to an exemplary embodiment of the present disclosure.
9A illustrates a procedure for establishing a secure channel between UWBS and a security component using a symmetric encryption method (Symmetric method) according to an exemplary embodiment of the present disclosure.
9B illustrates an example of a procedure for establishing a secure channel between UWBS and a secure component using an asymmetric encryption method (Asymmetric method) according to an exemplary embodiment of the present disclosure.
9C illustrates another example of a procedure for establishing a secure channel between UWBS and a secure component using an asymmetric scheme according to an exemplary embodiment of the present disclosure.
9D illustrates a procedure for UWBS to deliver an RDS to a secure component through a secure channel between the UWBS and the secure component according to an exemplary embodiment of the present disclosure.
10A illustrates a key provisioning method for an electronic device including a first security component according to an exemplary embodiment of the present disclosure.
10B illustrates a key provisioning method for an electronic device including a second security component according to an embodiment of the present disclosure.
11 illustrates an attestation procedure for key provisioning for an electronic device including a second security component according to an embodiment of the present disclosure.
12 shows an exemplary configuration of an electronic device according to an exemplary embodiment of the present disclosure.
13 is a flowchart illustrating a method of an electronic device according to an embodiment of the present disclosure.
14 is a diagram illustrating a structure of a first electronic device according to an embodiment of the present disclosure.
15 is a diagram illustrating a structure of a second electronic device according to an embodiment of the present disclosure.
16 shows an exemplary configuration of a UWB device including an SE.
17 shows the operation of a UWB device including an SE.
18 illustrates an exemplary configuration of a UWB device including a TEE according to an embodiment of the present disclosure.
19 illustrates an operation of a UWB device including a TEE according to an embodiment of the present disclosure.
20 illustrates an operation of a UWB device including a TEE and an SE according to an embodiment of the present disclosure.
21 illustrates a method for a first UWB device to perform security ranging with a second UWB device according to an embodiment of the present disclosure.
22 illustrates an operation of a UWB device including a TEE according to another embodiment of the present disclosure.
23 illustrates a method for a first UWB device to perform security ranging with a second UWB device according to another embodiment of the present disclosure.
24 shows the configuration of a UWB device according to an embodiment of the present disclosure.
25 is a flowchart illustrating a method of a UWB device according to an embodiment of the present disclosure.
26 is a flowchart illustrating a method of a UWB device according to another embodiment of the present disclosure.
27 is a diagram illustrating a structure of an electronic device according to an embodiment of the present disclosure.

이하, 본 개시의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present disclosure pertains and are not directly related to the present disclosure will be omitted. This is to more clearly convey the gist of the present disclosure without obscuring the gist of the present disclosure by omitting unnecessary description.

마찬가지 이유로 첨부된 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components are exaggerated, omitted, or schematically illustrated in the accompanying drawings. In addition, the size of each component does not fully reflect the actual size. In each figure, the same or corresponding elements are assigned the same reference numerals.

본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 개시의 실시 예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present disclosure, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the embodiments of the present disclosure make the present disclosure complete, and common knowledge in the technical field to which the present disclosure belongs It is provided to fully inform those who have the scope of the disclosure, and the present disclosure is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능할 수 있다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능할 수 있다.At this time, it will be understood that each block of the flowchart diagrams and combinations of the flowchart diagrams may be performed by computer program instructions. These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions performed by the processor of the computer or other programmable data processing equipment are not described in the flowchart block(s). It creates a means to perform functions. These computer program instructions may also be stored in a computer-usable or computer-readable memory that may direct a computer or other programmable data processing equipment to implement a function in a particular manner, and thus the computer-usable or computer-readable memory. It may also be possible for the instructions stored in the flowchart block(s) to produce an article of manufacture containing instruction means for performing the function described in the flowchart block(s). The computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It may also be possible for instructions to perform the processing equipment to provide steps for performing the functions described in the flowchart block(s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능할 수 있다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations it is also possible for the functions recited in the blocks to occur out of order. For example, two blocks shown one after another may in fact be performed substantially simultaneously, or it may be possible that the blocks are sometimes performed in a reverse order according to a corresponding function.

이때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일부 실시 예에 따르면 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 일부 실시 예에 따르면, '~부'는 하나 이상의 프로세서를 포함할 수 있다.In this case, the term '~ unit' used in this embodiment means software or hardware components such as FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit), and '~ unit' performs certain roles. do. However, '-part' is not limited to software or hardware. '~unit' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors. Accordingly, according to some embodiments, '~ part' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and programs. Includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and '~ units' may be combined into a smaller number of components and '~ units' or further separated into additional components and '~ units'. In addition, components and '~ units' may be implemented to play one or more CPUs in a device or secure multimedia card. Also, according to some embodiments, '~ unit' may include one or more processors.

본 명세서에서 사용하는 용어 '단말' 또는 '기기'는 이동국(MS), 사용자 장비(UE; User Equipment), 사용자 터미널(UT; User Terminal), 무선 터미널, 액세스 터미널(AT), 터미널, 가입자 유닛(Subscriber Unit), 가입자 스테이션(SS; Subscriber Station), 무선 기기(wireless device), 무선 통신 디바이스, 무선 송수신 유닛(WTRU; Wireless Transmit/Receive Unit), 이동 노드, 모바일 또는 다른 용어들로서 지칭될 수 있다. 단말의 다양한 실시 예들은 셀룰러 전화기, 무선 통신 기능을 가지는 스마트 폰, 무선 통신 기능을 가지는 개인 휴대용 단말기(PDA), 무선 모뎀, 무선 통신 기능을 가지는 휴대용 컴퓨터, 무선 통신 기능을 가지는 디지털 카메라와 같은 촬영장치, 무선 통신 기능을 가지는 게이밍 장치, 무선 통신 기능을 가지는 음악저장 및 재생 가전제품, 무선 인터넷 접속 및 브라우징이 가능한 인터넷 가전제품뿐만 아니라 그러한 기능들의 조합들을 통합하고 있는 휴대형 유닛 또는 단말기들을 포함할 수 있다. 또한, 단말은 M2M(Machine to Machine) 단말, MTC(Machine Type Communication) 단말/디바이스를 포함할 수 있으나, 이에 한정되는 것은 아니다. 본 명세서에서 상기 단말은 전자 장치 또는 단순히 장치라 지칭할 수도 있다.As used herein, the term 'terminal' or 'device' refers to a mobile station (MS), user equipment (UE), user terminal (UT), wireless terminal, access terminal (AT), terminal, subscriber unit. may be referred to as a (Subscriber Unit), Subscriber Station (SS), wireless device, wireless communication device, Wireless Transmit/Receive Unit (WTRU), mobile node, mobile or other terms. . Various embodiments of the terminal include a cellular phone, a smart phone having a wireless communication function, a personal digital assistant (PDA) having a wireless communication function, a wireless modem, a portable computer having a wireless communication function, and a digital camera having a wireless communication function. devices, gaming devices with wireless communication capabilities, music storage and playback appliances with wireless communication capabilities, Internet appliances with wireless Internet access and browsing, as well as portable units or terminals incorporating combinations of such functions. have. In addition, the terminal may include a machine to machine (M2M) terminal and a machine type communication (MTC) terminal/device, but is not limited thereto. In this specification, the terminal may be referred to as an electronic device or simply a device.

이하 첨부된 도면을 참조하여 본 개시의 동작 원리를 상세히 설명한다. 하기에서 본 개시를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, the operating principle of the present disclosure will be described in detail with reference to the accompanying drawings. In the following description of the present disclosure, if it is determined that a detailed description of a related well-known function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted. In addition, the terms described below are terms defined in consideration of functions in the present disclosure, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.

이하 본 개시의 실시 예를 첨부한 도면과 함께 상세히 설명한다. 이하에서는 UWB를 이용하는 통신 시스템(예컨대, FiRa Consotium에 의해 규정되는 UWB 통신 시스템)을 일례로서 본 개시의 실시예를 설명하지만, 유사한 기술적 배경 또는 특성을 갖는 여타의 통신 시스템에도 본 개시의 실시예가 적용될 수 있다. 예를 들어, 블루투스 또는 지그비를 이용하는 통신 시스템 등이 이에 포함될 수 있을 것이다. 따라서, 본 개시의 실시예는 숙련된 기술적 지식을 가진 자의 판단으로써 본 개시의 범위를 크게 벗어나지 아니하는 범위에서 일부 변형을 통해 다른 통신시스템에도 적용될 수 있다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Hereinafter, an embodiment of the present disclosure will be described using a communication system using UWB (eg, a UWB communication system defined by FiRa Consotium) as an example, but the embodiment of the present disclosure may also be applied to other communication systems having similar technical backgrounds or characteristics. can For example, a communication system using Bluetooth or ZigBee may be included in this. Accordingly, the embodiments of the present disclosure may be applied to other communication systems through some modifications within a range that does not significantly depart from the scope of the present disclosure as judged by a person having skilled technical knowledge.

또한, 본 개시를 설명함에 있어서 관련된 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, in the description of the present disclosure, if it is determined that a detailed description of a related function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted. In addition, the terms described below are terms defined in consideration of functions in the present disclosure, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.

일반적으로 무선 센서 네트워크 기술은 인식 거리에 따라 크게 무선랜(Wireless Local Area Network; WLAN) 기술과 무선 사설망(Wireless Personal Area Network; WPAN) 기술로 구분된다. 이 때 무선랜은 IEEE 802.11에 기반한 기술로서, 반경 100m 내외에서 기간망(backbone network)에 접속할 수 있는 기술이다. 그리고 무선 사설망은 IEEE 802.15에 기반한 기술로서, 블루투스(Bluetooth), 지그비(ZigBee), 초광대역 통신(ultra wide band; UWB) 등이 있다. 이러한 무선 네트워크 기술이 구현되는 무선 네트워크는 복수의 전자 장치들로 이루어질 수 있다.In general, wireless sensor network technology is largely divided into a wireless local area network (WLAN) technology and a wireless personal area network (WPAN) technology according to a recognition distance. In this case, the wireless LAN is a technology based on IEEE 802.11, and it is a technology that can connect to a backbone network within a radius of about 100 m. In addition, the wireless private network is a technology based on IEEE 802.15, and includes Bluetooth, ZigBee, and ultra wide band (UWB). A wireless network in which such a wireless network technology is implemented may include a plurality of electronic devices.

FCC (Federal Communications Commission)의 정의에 따르면, UWB는 500MHz 이상의 대역폭을 사용하거나, 또는 중심 주파수에 대응하는 대역폭이 20% 이상인 무선통신 기술을 의미할 수 있다. UWB는 UWB 통신이 적용되는 대역 자체를 의미할 수도 있다. UWB는 장치들 간의 안전하고 정확한(secure and accurate) 레인징을 가능하게 한다.According to the definition of the Federal Communications Commission (FCC), UWB may refer to a wireless communication technology that uses a bandwidth of 500 MHz or more, or a bandwidth corresponding to a center frequency of 20% or more. UWB may mean a band itself to which UWB communication is applied. UWB enables secure and accurate ranging between devices.

UWB 기반 서비스의 동작은 UWB 기반의 서비스를 개시하기 위한 서비스 개시 단계(Service Initiation Step), 보안을 위한 키를 제공하기 위한 키 프로비저닝 단계(Key provisioning Step), 장치를 발견하기 위한 디스커버리 단계(Discovery Step), 보안 채널 생성과 파라미터 교환을 포함하는 연결 단계(Connection Step) 및/또는 장치들 간의 위치/거리를 측정하기 위한 UWB 레인징 단계(UWB Ranging Step)를 포함할 수 있다. The operation of the UWB-based service includes a service initiation step for initiating a UWB-based service, a key provisioning step for providing a key for security, and a discovery step for discovering a device. ), a connection step including secure channel creation and parameter exchange, and/or a UWB ranging step for measuring a location/distance between devices.

한편, 실시예에 따라, 일부 단계는 생략될 수 있다. 예를 들면, 어떤 실시예에서는, 서비스 개시 단계 및 UWB 레인징 단계는 맨데토리 단계일 수 있으나, 키 프로비저닝 단계, 디스커버리 단계 및 연결 단계는 옵셔널 단계일 수 있다. 다른 예를 들면, 다른 실시예에서는, 서비스 개시 단계, 키 프로비저닝 단계 및 UWB 레인징 단계는 맨데토리 단계일 수 있으나, 디스커버리 단계 및 연결 단계는 옵셔널 단계일 수 있다.Meanwhile, depending on the embodiment, some steps may be omitted. For example, in some embodiments, the service initiation phase and the UWB ranging phase may be a mandetory phase, but the key provisioning phase, discovery phase, and connection phase may be optional phases. For another example, in another embodiment, the service initiation phase, the key provisioning phase, and the UWB ranging phase may be a mandetory phase, but the discovery phase and the connection phase may be optional phases.

이하의 설명에서 사용되는 특정 용어들은 본 개시의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 개시의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.Specific terms used in the following description are provided to help the understanding of the present disclosure, and the use of such specific terms may be changed to other forms without departing from the technical spirit of the present disclosure.

"Application Dedicated File (ADF)"는 예를 들면, 어플리케이션이나, 어플리케이션 특정 데이터(application specific data)를 호스팅(hosting)할 수 있는 데이터 구조일 수 있다.“Application Dedicated File (ADF)” may be, for example, a data structure capable of hosting an application or application specific data.

" Application Protocol Data Unit(APDU)"는 Secure Element(SE)(예컨대, embedded SE) 또는 Application Data Structure와 통신하는 경우에 사용되는 명령(command) 및 응답(response)일 수 있다. An "Application Protocol Data Unit (APDU)" may be a command and a response used when communicating with a Secure Element (SE) (eg, embedded SE) or an Application Data Structure.

"application specific data"는 예를 들면, Applet, proprietary applet 또는 Ranging Device 내의 동등한 구현(equivalent implementation)일 수 있다."application specific data" may be, for example, an Applet, a proprietary applet, or an equivalent implementation in a Ranging Device.

" Controller"는 Ranging Control Messages (RCM)를 정의 및 제어하는 Ranging Device일 수 있다. 본 개시에서, Ranging Device는 예컨대, IEEE Std 802.15.4z 스펙에 정의된 ERDEV(Enhanced Ranging Device)일 수 있다."Controller" may be a Ranging Device that defines and controls Ranging Control Messages (RCM). In the present disclosure, the ranging device may be, for example, an Enhanced Ranging Device (ERDEV) defined in the IEEE Std 802.15.4z specification.

" Controlee"는 Controller로부터 수신된 RCM 내의 레인징 파라미터를 이용하는 Ranging Device일 수 있다."Controlee" may be a Ranging Device using a ranging parameter in the RCM received from the Controller.

" Dynamic STS"는 STS가 confidential 이며, 레인징 세션 동안 절대 반복되지 않는 동작 모드일 수 있다. STS는 이 모드에서 Secure Component에 의해 관리될 수 있다."Dynamic STS" may be an operation mode in which the STS is confidential and is never repeated during the ranging session. STS can be managed by Secure Component in this mode.

" Applet"는 Secure Component 상에서 실행되는 APDU 인터페이스를 구현하고, well-defined AID(Application (Applet) ID)에 의해 식별되는 Applet일 수 있다. 이 Applet은 secure ranging을 위해 필요한 데이터를 호스팅할 수 있다. 일 실시예에서, Applet은 예컨대, FIRA CONSORTIUM COMMON SERVICE & MANAGEMENT LAYER(CSML) 스펙에 정의된 FiRa Applet일 수 있다.“Applet” may be an Applet that implements an APDU interface running on a Secure Component and is identified by a well-defined AID (Application (Applet) ID). This applet can host the data needed for secure ranging. In one embodiment, the Applet may be, for example, a FiRa Applet defined in the FIRA CONSORTIUM COMMON SERVICE & MANAGEMENT LAYER (CSML) specification.

" Ranging Device"는 미리 정의된 profiles(예컨대, UWB 지원(UWB-enabled) door lock 서비스에서 사용되는 UWB 및 OOB 관련 설정 파라미터의 세트)을 사용하는 다른 Ranging Device와 통신할 수 있는 Ranging Device이거나, 또는, 다른 Ranging Device와 레이징 세션을 수행하기 위해 미리 정의된 UWB 레인징 서비스를 지원할 수 있는 Ranging Device일 수 있다. 본 개시에서, Ranging Device는 UWB Device 또는 UWB Ranging Device로 지칭될 수 있다. 일 실시예에서, Ranging Device은 예컨대, FIRA CONSORTIUM CSML 스펙에 정의된 FiRa Device일 수 있다."Ranging Device" is a Ranging Device that can communicate with other Ranging Devices using predefined profiles (eg, a set of UWB and OOB related configuration parameters used in UWB-enabled door lock service), or , it may be a Ranging Device capable of supporting a predefined UWB ranging service in order to perform a ranging session with another ranging device. In this disclosure, the Ranging Device may be referred to as a UWB Device or a UWB Ranging Device. In one embodiment, the Ranging Device may be, for example, a FiRa Device defined in the FIRA CONSORTIUM CSML specification.

"Ranging Data Set(RDS)"는 기밀성(confidentiality), 진정성(authenticity) 및 무결성(integrity)이 보장될(protected) 필요가 있는 UWB 세션을 설정하기 위해 요구되는 데이터일 수 있다. 실시예로서, RDS는 UWB Session Key를 포함할 수 있다. 실시예로서, RDS는 보안 레인징을 위해 사용될 수 있다. 예를 들면, RDS는 보안 레인징을 위한 STS를 생성하기 위해 사용될 수 있다."Ranging Data Set (RDS)" may be data required to establish a UWB session that needs to be protected (protected) of confidentiality (confidentiality), authenticity (authenticity) and integrity (integrity). As an embodiment, the RDS may include a UWB Session Key. As an embodiment, RDS may be used for secure ranging. For example, the RDS may be used to generate an STS for secure ranging.

"UWB-enabled Application"는 UWB 세션을 위한, OOB Connector, Secure Service 및/또는 UWB 서비스를 구성하기 위한 Framework API를 이용하는 어플리케이션일 수 있다. 본 개시에서, " UWB-enabled Application"는 어플리케이션으로 약칭될 수 있다. 일 실시예에서, UWB-enabled Application은 예컨대, FIRA CONSORTIUM CSML 스펙에 정의된 FiRa-enabled Application일 수 있다."UWB-enabled Application" may be an application using Framework API for configuring OOB Connector, Secure Service, and/or UWB service for UWB session. In this disclosure, "UWB-enabled Application" may be abbreviated as an application. In one embodiment, the UWB-enabled Application may be, for example, a FiRa-enabled Application defined in the FIRA CONSORTIUM CSML specification.

" Framework"는 OOB Connector, Secure Service 및/또는 UWB 서비스를 포함하는 논리적 소프트웨어 컴포넌트(logical software components)의 집합(collection)일 수 있다. 일 실시예에서, Framework는 예컨대, FIRA CONSORTIUM CSML 스펙에 정의된 FiRa Framework일 수 있다."Framework" may be a collection of logical software components including OOB Connector, Secure Service, and/or UWB service. In one embodiment, the Framework may be, for example, the FiRa Framework defined in the FIRA CONSORTIUM CSML specification.

" OOB Connector"는 Ranging Device 간의 OOB(out-of-band) 통신(예컨대, BLE 통신)을 설정하기 위한 소프트웨어 컴포넌트일 수 있다. 일 실시예에서, OOB Connector는 예컨대, FIRA CONSORTIUM CSML 스펙에 정의된 FiRa OOB Connector일 수 있다."OOB Connector" may be a software component for establishing out-of-band (OOB) communication (eg, BLE communication) between Ranging Devices. In one embodiment, the OOB Connector may be, for example, a FiRa OOB Connector defined in the FIRA CONSORTIUM CSML specification.

" Profile"은 UWB 및 OOB 구성 파라미터(configuration parameter)의 미리 정의된 세트일 수 있다. 일 실시예에서, Profile은 예컨대, FIRA CONSORTIUM CSML 스펙에 정의된 FiRa Profile일 수 있다."Profile" may be a predefined set of UWB and OOB configuration parameters. In one embodiment, the Profile may be, for example, a FiRa Profile defined in the FIRA CONSORTIUM CSML specification.

"Profile Manager"는 Ranging Device에서 이용가능한 프로필을 구현할 수 있다. 일 실시예에서, Profile Manager는 예컨대, FIRA CONSORTIUM CSML 스펙에 정의된 FiRa Profile Manager일 수 있다."Profile Manager" can implement profiles available in Ranging Device. In one embodiment, the Profile Manager may be, for example, a FiRa Profile Manager defined in the FIRA CONSORTIUM CSML specification.

" Smart Ranging Device"는 하나 이상의 UWB-enabled Application을 호스팅할 수 있고, Framework를 구현할 수 있는 Ranging Device이거나, 또는 제조사에 의해 제공되는 특정 service application를 구현하는 Ranging device일 수 있다(예컨대, physical access reader). Smart Ranging Device는 다른 Ranging Device 또는 Smart Ranging Device와의 레인징 세션을 수행하기 위해 UWB 레인징 기반 서비스를 지원하기 위하여, 다중 UWB-enabled Application을 인스톨할 수 있는 Ranging Device일 수 있다. 일 실시예에서, Smart Ranging Device는 예컨대, FIRA CONSORTIUM CSML 스펙에 정의된 FiRa Smart Device일 수 있다."Smart Ranging Device" may host one or more UWB-enabled Applications, and may be a Ranging Device that may implement a Framework, or a Ranging Device that implements a specific service application provided by a manufacturer (eg, a physical access reader). ). The Smart Ranging Device may be a Ranging Device capable of installing multiple UWB-enabled Applications in order to support a UWB ranging-based service to perform a ranging session with another ranging device or a Smart Ranging Device. In one embodiment, the Smart Ranging Device may be, for example, a FiRa Smart Device defined in the FIRA CONSORTIUM CSML specification.

" Global Dedicated File(GDF)"는 USB 세션을 설정하기 위해 필요한 데이터를 포함하는 application specific data의 root level일 수 있다. application specific data는 예를 들면, Applet, proprietary applet 또는 Ranging Device 내의 동등한 구현(equivalent implementation)일 수 있다."Global Dedicated File (GDF)" may be a root level of application specific data including data required to establish a USB session. The application specific data may be, for example, an Applet, a proprietary applet, or an equivalent implementation in a Ranging Device.

" Framework API"는 Framework와 통신하기 위해 UWB-enabled Application에 의해 사용되는 API일 수 있다."Framework API" may be an API used by a UWB-enabled Application to communicate with the Framework.

" Initiator"는 레인징 교환(ranging exchange)을 개시하는 Ranging Device일 수 있다.“Initiator” may be a Ranging Device that initiates a ranging exchange.

" Object Identifier (OID)"는 application data structure 내의 ADF의 식별자이거나, 또는 service provider(SP)를 식별하는 unique ID일 수 있다."Object Identifier (OID)" may be an identifier of the ADF in the application data structure, or a unique ID that identifies a service provider (SP).

" Out-Of-Band (OOB)"는 하위(underlying) 무선 기술로서 UWB를 사용하지 않는 데이터 통신일 수 있다.“Out-Of-Band (OOB)” may be data communication that does not use UWB as an underlying wireless technology.

" Responder"는 레인징 교환에서 Initiator에 응답하는 Ranging Device일 수 있다.A “Respondent” may be a Ranging Device that responds to an Initiator in a ranging exchange.

" Scrambled Timestamp Sequence (STS)"는 레인징 측정 타임스탬프(ranging measurement timestamps)의 신뢰도 및 정확도(integrity and accuracy)를 증가시키기 위한 암호화된 시퀀스(ciphered sequence)일 수 있다.“Scrambled Timestamp Sequence (STS)” may be a ciphered sequence for increasing the integrity and accuracy of ranging measurement timestamps.

" Secure Channel"는 overhearing 및 tampering을 방지하는 데이터 채널일 수 있다."Secure Channel" may be a data channel that prevents overhearing and tampering.

" Secure Component"은 예컨대, dynamic STS가 사용되는 경우에, UWBS에 RDS를 제공하기 위한 목적으로 UWBS와 인터페이싱하는 컴포넌트일 수 있다. 또한, 이는 UWB-enabled Application data를 호스팅할 수 있다."Secure Component" may be, for example, a component that interfaces with UWBS for the purpose of providing RDS to UWBS when dynamic STS is used. It can also host UWB-enabled Application data.

" Secure Element (SE)"는 Ranging Device 내 Secure Component로서 사용될 수 있는 tamper-resistant secure hardware component일 수 있다."Secure Element (SE)" may be a tamper-resistant secure hardware component that can be used as a Secure Component in the Ranging Device.

" Secure Service"는 Secure Element 또는 TEE(Trusted Execution Environment)와 같은 시스템의 Secure Component와 인터페이싱하기 위한 컴포넌트일 수 있다."Secure Service" may be a component for interfacing with a Secure Component of a system, such as a Secure Element or a Trusted Execution Environment (TEE).

" Static STS"는 STS가 세션 동안 반복되는 동작 모드로서, Secure Component에 의해 관리될 필요가 없다."Static STS" is an operation mode in which the STS is repeated during a session, and does not need to be managed by the Secure Component.

" SUS Applet"은 UWBS와 SE와 같은 Secure Component 간의 Secure Channel을 위해 end point로서 동작하는 Secure Component 상의 Applet일 수 있다."SUS Applet" may be an Applet on a Secure Component that operates as an end point for a Secure Channel between UWBS and a Secure Component such as SE.

" UWB Service"는 UWBS에 대한 접속(access)을 제공하는 implementation-specific software component일 수 있다."UWB Service" may be an implementation-specific software component that provides access to UWBS.

" UWB Session"은 Controller 및 Controlee(s)가 UWB 레인징을 시작할 수 있는 경우에 설정되는 것이 고려될 수 있다. UWB Session은 Controller 및 Controlee가 UWB를 통해 통신을 시작할 때부터 통신을 정지(stop)할 때까지의 기간(period)일 수 있다. UWB Session은 레인징, 데이터 전달(transfer) 및 둘 모두를 포함할 수 있다."UWB Session" may be considered to be set when the Controller and Controlee(s) can start UWB ranging. The UWB Session may be a period from when the Controller and the Controlee start communication through UWB until the communication stops (stop). A UWB Session may include ranging, data transfer, and both.

" UWB Session ID"는 UWB Session을 식별하는 ID(예컨대, 정수)일 수 있다.“UWB Session ID” may be an ID (eg, integer) identifying a UWB Session.

" UWB Session Key"는 UWB Session을 보호하기 위해 사용되는 키일 수 있다. 본 개시에서, UWB Session Key는 UWB Ranging Session Key(URSK), 또는 세션 키로 지칭될 수 있다."UWB Session Key" may be a key used to protect the UWB Session. In this disclosure, the UWB Session Key may be referred to as a UWB Ranging Session Key (URSK), or a session key.

" UWB Subsystem (UWBS)"는 UWB PHY 및 MAC 스펙을 구현하는 하드웨어 컴포넌트일 수 있다. UWBS는 UCI logical interface layer가 구현된 FiRa Framework에 대한 인터페이스 및 RDS를 검색하기 위한 Secure Component에 대한 인터페이스를 가질 수 있다. 일 실시예에서, UWB PHY 및 MAC 스펙은 예컨대, FiRa CONSORTIUM PHY 및 MAC 스펙일 수 있다.“UWB Subsystem (UWBS)” may be a hardware component implementing the UWB PHY and MAC specifications. UWBS may have an interface to FiRa Framework in which UCI logical interface layer is implemented and an interface to Secure Component to search for RDS. In one embodiment, the UWB PHY and MAC specifications may be, for example, FiRa CONSORTIUM PHY and MAC specifications.

그리고, 본 개시를 설명함에 있어서, 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다.And, in describing the present disclosure, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted.

이하 첨부된 도면을 참고하여 본 개시의 다양한 실시예들을 설명한다.Hereinafter, various embodiments of the present disclosure will be described with reference to the accompanying drawings.

도 1은 UWB 기반 서비스를 지원하는 전자 장치의 예시적인 레이어 구성을 나타낸다.1 illustrates an exemplary layer configuration of an electronic device supporting a UWB-based service.

도 1의 전자 장치(UWB 장치)(100)는 예컨대, Smart Ranging Device 또는 Ranging Device일 수 있다. 실시예로서, Smart Ranging Device 또는 Ranging Device는 IEEE 802.15.4z에 정의된 Enhanced Ranging Device (ERDEV) 또는 FiRa Consortium에 의해 정의된 FiRa Device일 수 있다. 도 1에서, 전자 장치는 UWB 장치로 지칭될 수도 있다.The electronic device (UWB device) 100 of FIG. 1 may be, for example, a Smart Ranging Device or a Ranging Device. As an embodiment, the Smart Ranging Device or the Ranging Device may be an Enhanced Ranging Device (ERDEV) defined in IEEE 802.15.4z or a FiRa Device defined by the FiRa Consortium. In FIG. 1 , the electronic device may be referred to as a UWB device.

도 1의 실시예에서, UWB 장치(100)는 UWB 세션을 통해 다른 UWB 장치와 상호작용(interact)할 수 있다.1 , the UWB device 100 may interact with other UWB devices through a UWB session.

도 1을 참조하면, 전자 장치(100)는 UWB-enabled Application Layer(UWB-enabled Application)(110), Common Service & Management Layer(Framework)(120), 및/또는 UWB MAC Layer와 UWB Physical Layer를 포함하는 UWB 서브시스템(UWBS)(130)를 포함할 수 있다. 실시예에 따라서는, 일부 엔티티가 전자 장치에 포함되지 않거나, 추가적인 엔티티(예컨대, 보안 레이어)가 더 포함될 수 있다.Referring to FIG. 1 , the electronic device 100 includes a UWB-enabled Application Layer (UWB-enabled Application) 110, a Common Service & Management Layer (Framework) 120, and/or a UWB MAC Layer and a UWB Physical Layer. It may include a UWB subsystem (UWBS) 130 that includes. According to an embodiment, some entities may not be included in the electronic device, or additional entities (eg, a security layer) may be further included.

전자 장치(100)는 UWB-enabled Application(110)과 Framework(120) 간의 인터페이스인 제1 인터페이스(Interface(IF) #1)를 구현할 수 있고, 제1 인터페이스는 전자 장치(100) 상의 UWB-enabled application(110)이 미리 정해진 방식으로 전자 장치(100)의 UWB 성능들을 사용할 수 있게 해준다. 일 실시예에서, 제1 인터페이스는 예컨대, Framework API일 수 있으나, 이에 한정되지 않는다.The electronic device 100 may implement a first interface (Interface (IF) #1) that is an interface between the UWB-enabled Application 110 and the Framework 120 , and the first interface is UWB-enabled on the electronic device 100 . Allows application 110 to use UWB capabilities of electronic device 100 in a predetermined manner. In one embodiment, the first interface may be, for example, Framework API, but is not limited thereto.

전자 장치(100)는 Framework(110)와 UWBS(130) 간의 인터페이스인 제2 인터페이스(Interface(IF) #2)를 구현할 수 있다. 일 실시예에서, 제2 인터페이스는 예컨대, UCI(UWB Command Interface)일 수 있으나, 이에 한정되지 않는다.The electronic device 100 may implement a second interface (Interface (IF) #2 ) that is an interface between the Framework 110 and the UWBS 130 . In an embodiment, the second interface may be, for example, UWB Command Interface (UCI), but is not limited thereto.

UWB-enabled Application Layer(110)는 예컨대, UWB 세션을 위한 OOB Connector, Secure Sevice 및 UWB 서비스를 구성하기 위하여, 제1 인터페이스(예컨대, Framework API)를 이용하는 어플리케이션(예컨대, FiRa-enabled Application)의 레이어일 수 있다.The UWB-enabled Application Layer 110 is, for example, a layer of an application (eg, FiRa-enabled Application) that uses a first interface (eg, Framework API) to configure an OOB Connector, Secure Service, and UWB service for a UWB session. can be

UWB-enabled Application(110)은 제1 인터페이스를 이용하여 UWBS(130)에 의한 UWB 세션의 설정을 트리거링할 수 있다. 또한, UWB-enabled Application(110)은 미리 정의된 프로필(profile) 중 하나를 사용할 수 있다. 예를 들면, UWB-enabled Application(110)은 FiRa에 정의된 프로필 중 하나 또는 custom profile을 사용할 수 있다. UWB-enabled Application(110)은 제1 인터페이스를 사용하여, 서비스 발견(Service discovery), 레인징 통지(Ranging notifications), 및/또는 에러 컨디션(Error conditions)과 같은 관련 이벤트를 다룰 수 있다.The UWB-enabled Application 110 may trigger establishment of a UWB session by the UWBS 130 using the first interface. In addition, the UWB-enabled Application 110 may use one of the predefined profiles (profile). For example, the UWB-enabled Application 110 may use one of the profiles defined in FiRa or a custom profile. The UWB-enabled Application 110 may use the first interface to handle related events such as service discovery, ranging notifications, and/or error conditions.

Common Service & Management Layer(Framework)(120)는 예컨대, UWB secure ranging을 구현하기 위해 필요한 공통(common) 컴포넌트 및 절차를 정의할 수 있다.The Common Service & Management Layer (Framework) 120 may define, for example, common components and procedures necessary to implement UWB secure ranging.

Framework(120)는 Profile에 대한 access, 개별 UWB 설정 및/또는 통지를 제공할 수 있다. 또한, Framework(120)는 UWB 레인징 및 트랜잭션 수행을 위한 기능, 어플리케이션 및 UWBS(130)에 대한 인터페이스 제공 기능 또는 장치(100)의 위치 추정 기능과 같은 기능 중 적어도 하나를 지원할 수 있다. Framework(120)는 소프트웨어 컴포넌트의 집합일 수 있다. 상술한 것처럼, UWB-enabled Application(110)은 제1 인터페이스를 통해 프레임워크(120)와 인터페이싱할 수 있고, 프레임워크(120)는 제2 인터페이스를 통해 UWBS(130)와 인터페이싱할 수 있다.Framework 120 may provide access to Profiles, individual UWB settings and/or notifications. In addition, the Framework 120 may support at least one of a function for performing UWB ranging and transaction, a function for providing an interface to an application and UWBS 130 , or a function for estimating the location of the device 100 . The framework 120 may be a set of software components. As described above, the UWB-enabled Application 110 may interface with the framework 120 through a first interface, and the framework 120 may interface with the UWBS 130 through a second interface.

한편, 본 개시에서, UWB-enabled Application(110) 및/또는 Framework(120)는 어플리케이션 프로세서(AP)(또는, 프로세서)에 의해 구현될 수 있다. 따라서, 본 개시에서, UWB-enabled Application(110) 및/또는 Framework(120)의 동작은 AP(또는, 프로세서)에 의해 수행되는 것으로 이해될 수 있다.Meanwhile, in the present disclosure, the UWB-enabled Application 110 and/or the Framework 120 may be implemented by an application processor (AP) (or processor). Accordingly, in the present disclosure, the operation of the UWB-enabled Application 110 and/or the Framework 120 may be understood as being performed by an AP (or a processor).

UWB MAC Layer와 UWB Physical Layer는 UWB 서브시스템(UWBS)(130)로 통칭될 수 있다. UWBS(130)는 예컨대, IEEE 802.15.4z 스펙(spec)을 참조하는 FiRa PHY 및 MAC 스펙에 기초할 수 있다.The UWB MAC Layer and the UWB Physical Layer may be collectively referred to as a UWB subsystem (UWBS) 130 . The UWBS 130 may be based on, for example, the FiRa PHY and MAC specifications referring to the IEEE 802.15.4z specification.

UWBS(130)는 UWB MAC Layer와 UWB Physical Layer를 포함하는 하드웨어 컴포넌트일 수 있다. UWBS(130)는 UWB 세션 관리를 수행하고, 다른 UWB 장치의 UWBS와 통신할 수 있다. UWBS(130)는 제2 인터페이스를 통해 Framework(120)와 인터페이싱할 수 있고, Secure Component로부터 보안 데이터를 획득할 수 있다. 일 실시예에서, Framework(또는, 어플리케이션 프로세서)(120)는 UCI를 통해서 명령(command)을 UWBS(130)로 전송할 수 있고, UWBS(130)는 명령에 대한 응답(response)를 Framework(120)에 전달할 수 있다. UWBS(130)는 UCI를 통해 Framework(120)에 통지(notification)을 전달할 수도 있다.The UWBS 130 may be a hardware component including a UWB MAC layer and a UWB physical layer. The UWBS 130 may perform UWB session management and communicate with UWBSs of other UWB devices. The UWBS 130 may interface with the Framework 120 through the second interface, and may obtain security data from the Secure Component. In an embodiment, the Framework (or application processor) 120 may transmit a command to the UWBS 130 through UCI, and the UWBS 130 may transmit a response to the command to the Framework 120 . can be forwarded to The UWBS 130 may deliver a notification to the Framework 120 through the UCI.

도 2a는 UWB 기반 서비스를 지원하는 전자 장치를 포함하는 통신 시스템의 예시적인 구성을 나타낸다.2A illustrates an exemplary configuration of a communication system including an electronic device supporting a UWB-based service.

도 2a를 참조하면, 통신 시스템(200)은 제1 전자 장치(210a) 및 제2 전자 장치(220a)를 포함한다. Referring to FIG. 2A , the communication system 200 includes a first electronic device 210a and a second electronic device 220a.

실시예로서, 제1 UWB 장치(210a) 및 제2 UWB 장치(220a)는 예컨대, 도 1의 UWB 장치 또는 도 1의 UWB 장치를 포함하는 전자 장치일 수 있다. 예를 들면, 제1 전자 장치(제1 UWB 장치)(210a)는 예컨대, Smart Ranging Device 또는 Ranging Device일 수 있고, 제2 전자 장치(제2 UWB 장치)(220a)는 예컨대, Ranging Device 또는 Ranging Device일 수 있다. 실시예로서, Smart Ranging Device 또는 Ranging Device는 IEEE 802.15.4z에 정의된 Enhanced Ranging Device (ERDEV) 또는 FiRa Consortium에 의해 정의된 FiRa Device일 수 있다. 도 2a에서, 제1 전자 장치는 제1 UWB 장치로, 제2 전자 장치는 제2 UWB 장치로 지칭될 수 있다.As an embodiment, the first UWB device 210a and the second UWB device 220a may be, for example, the UWB device of FIG. 1 or an electronic device including the UWB device of FIG. 1 . For example, the first electronic device (the first UWB device) 210a may be, for example, a Smart Ranging Device or a Ranging Device, and the second electronic device (the second UWB device) 220a may be, for example, a Ranging Device or a Ranging Device. It can be a device. As an embodiment, the Smart Ranging Device or the Ranging Device may be an Enhanced Ranging Device (ERDEV) defined in IEEE 802.15.4z or a FiRa Device defined by the FiRa Consortium. In FIG. 2A , a first electronic device may be referred to as a first UWB device, and a second electronic device may be referred to as a second UWB device.

제1 전자 장치(210a)는 예컨대, 사용자(예, 모바일 폰)에 의해 인스톨될 수 있는, 하나 이상의 UWB-enabled Application을 호스팅(host)할 수 있다. 이는 Framework API에 기초할 수 있다. 제2 전자 장치(220a)는 Framework API를 제공하지 않고, 예컨대, 제조자에 의해서만 제공되는 특정 UWB-enabled Application를 구현하기 위해 proprietary interface를 이용할 수 있다. 한편, 도시된 것과 달리, 실시예에 따라서는, 제1 UWB 장치 및 제2 UWB 장치 모두가 Framework API를 이용하는 Ranging Device이거나, 제1 UWB 장치 및 제2 UWB 장치 모두가 proprietary interface를 이용하는 Ranging Device일 수도 있다.The first electronic device 210a may host, for example, one or more UWB-enabled Applications that may be installed by a user (eg, a mobile phone). It can be based on the Framework API. The second electronic device 220a does not provide the Framework API, but may use a proprietary interface to implement, for example, a specific UWB-enabled application provided only by the manufacturer. On the other hand, unlike shown, depending on the embodiment, both the first UWB device and the second UWB device may be a ranging device using the Framework API, or both the first UWB device and the second UWB device may be a ranging device using a proprietary interface. may be

제1 전자 장치(210a) 및 제2 전자 장치(220a)는 UWB-enabled Application Layer(UWB-enabled Application)(211a,221a), Framework(212a,222a), OOB component(OOB subsystem)(213a,223a), Secure Component(214a,224a) 및/또는 UWBS(215a,225a)를 각각 포함할 수 있다. 실시예에 따라서는 일부 컴포넌트가 생략되거나, 추가적인 컴포넌트가 더 포함될 수 있다.The first electronic device 210a and the second electronic device 220a include UWB-enabled Application Layer (UWB-enabled Application) 211a and 221a, Frameworks 212a and 222a, and OOB component (OOB subsystem) 213a and 223a. ), Secure Component (214a, 224a) and / or UWBS (215a, 225a) may include, respectively. Depending on the embodiment, some components may be omitted or additional components may be further included.

제1 전자 장치(210a) 및 제2 전자 장치(220a)는 OOB 컴포넌트(213a,223a)를 통해 OOB 연결(채널)을 생성할 수 있고, UWBS(215a,225a)를 통해 UWB 연결(채널)을 생성하여, 서로 통신할 수 있다.The first electronic device 210a and the second electronic device 220a may create an OOB connection (channel) through the OOB components 213a and 223a, and establish a UWB connection (channel) through the UWBS 215a and 225a. created to communicate with each other.

Framework(212a,222a)는 프로필에 대한 access, 개별 UWB 설정 및/또는 통지를 제공하는 역할을 수행할 수 있다. Framework(212a,222a)는 소프트웨어 컴포넌트의 집합으로서, 예컨대, Profile Manager, OOB Connector, Secure Service 및/또는 UWB 서비스를 포함할 수 있다.Frameworks 212a and 222a may serve to provide access to profiles, individual UWB settings, and/or notifications. The frameworks 212a and 222a are a set of software components, and may include, for example, Profile Manager, OOB Connector, Secure Service, and/or UWB service.

OOB 컴포넌트(213a,223a)는 OOB 통신(예컨대, BLE 통신)을 위한 MAC Layer 및/ Physical Layer를 포함하는 하드웨어 컴포넌트일 수 있다. OOB 컴포넌트(213a,223a)는 다른 장치의 OOB 컴포넌트와 통신할 수 있다. 일 실시예에서, 제1 UWB 장치(210a) 및 제2 UWB 장치(220a)는 OOB 컴포넌트(213a,223a)를 이용하여 OOB 연결(채널)을 생성할 수 있고, OOB 채널을 통해 UWB 세션을 설정하기 위한 파라미터들을 교환할 수 있다. 본 개시에서, OOB 컴포넌트(213a,223a)는 OOB 서브시스템으로 지칭될 수 있다.The OOB components 213a and 223a may be hardware components including a MAC layer and/or a physical layer for OOB communication (eg, BLE communication). The OOB components 213a and 223a may communicate with OOB components of other devices. In an embodiment, the first UWB device 210a and the second UWB device 220a may create an OOB connection (channel) using the OOB components 213a and 223a, and establish a UWB session through the OOB channel. parameters can be exchanged. In this disclosure, OOB components 213a and 223a may be referred to as OOB subsystems.

Secure Component(214a,224a)는 RDS를 제공하기 위해 프레임워크 및/또는 UWBS와 인터페이싱하는 하드웨어 컴포넌트일 수 있다. 실시예로서, Secure Component(214a,224a)는 SE(예컨대, eSE), TEE(또는, TEE 내의 TA(trusted application)) 또는 Strongbox(SB)일 수 있다.Secure Component 214a , 224a may be a hardware component that interfaces with a framework and/or UWBS to provide RDS. As an embodiment, the Secure Components 214a and 224a may be SE (eg, eSE), TEE (or TA (trusted application) in TEE), or Strongbox (SB).

UWBS(215a,225a)는 UWB MAC Layer와 UWB Physical Layer를 포함하는 하드웨어 컴포넌트일 수 있다. UWBS(215a,225a)는 UWB 세션 관리를 수행하고, 다른 UWB 장치의 UWBS와 통신할 수 있다. 일 실시예에서, 제1 UWB 장치(210a) 및 제2 UWB 장치(220a)는 서로 교환된 파라미터들을 이용하여 UWBS(215a,225a)를 통해 설정된 UWB 세션을 통해, UWB 레인징 및 서비스 데이터의 트랜잭션을 수행할 수 있다.The UWBSs 215a and 225a may be hardware components including a UWB MAC Layer and a UWB Physical Layer. The UWBSs 215a and 225a may perform UWB session management and communicate with UWBSs of other UWB devices. In one embodiment, the first UWB device 210a and the second UWB device 220a use the parameters exchanged with each other through the UWB session established through the UWBS 215a and 225a, and the transaction of UWB ranging and service data. can be performed.

본 개시에서, UWB-enabled Application Layer 및/또는 Framework는 어플리케이션 프로세서(AP)(또는, 프로세서)에 의해 구현될 수 있다. 따라서, 본 개시에서, UWB-enabled Application Layer 및/또는 Framework의 동작은 AP(또는, 프로세서)에 의해 수행되는 것으로 이해될 수 있다.In the present disclosure, the UWB-enabled Application Layer and/or Framework may be implemented by an application processor (AP) (or processor). Accordingly, in the present disclosure, it may be understood that the operation of the UWB-enabled Application Layer and/or Framework is performed by the AP (or processor).

도 2b는 UWB 기반 결제 서비스를 지원하는 전자 장치를 포함하는 통신 시스템의 예시적인 구성을 나타낸다.2B illustrates an exemplary configuration of a communication system including an electronic device supporting a UWB-based payment service.

도 2b의 실시예는 도 2a의 실시예의 하나의 예시일 수 있다.The embodiment of FIG. 2B may be an example of the embodiment of FIG. 2A .

도 2b를 참조하면, UWB 기반 결제 서비스를 제공하는 통신 시스템(200b)는 제1 전자 장치(제1 UWB 장치)(210b) 및 제2 전자 장치(제2 UWB 장치)(220b)를 포함할 수 있다. 도 2b에서, 제1 전자 장치는 제1 UWB 장치로, 제2 전자 장치는 제2 UWB 장치로 지칭될 수 있다.Referring to FIG. 2B , a communication system 200b that provides a UWB-based payment service may include a first electronic device (a first UWB device) 210b and a second electronic device (a second UWB device) 220b. have. In FIG. 2B , a first electronic device may be referred to as a first UWB device, and a second electronic device may be referred to as a second UWB device.

제1 전자 장치(210b)는 UWB 기반 결제 서비스를 위한 사용자의 전자 장치(예컨대, 사용자의 모바일 장치)일 수 있다. 제1 전자 장치(210b)는 적어도 하나의 UWB enabled Wallet Application(UWB enabled application)(211b-1,211b-2), UWB enabled Wallet Framework(Framework)(212b), OOB 컴포넌트(213b), 적어도 하나의 보안 컴포넌트(214b-1,214b-2) 및/또는 UWBS(215b)를 포함할 수 있다. 각 컴포넌트에 대한 설명은 도 2a의 설명을 참조할 수 있다. The first electronic device 210b may be a user's electronic device (eg, a user's mobile device) for a UWB-based payment service. The first electronic device 210b includes at least one UWB enabled Wallet Application (UWB enabled application) 211b-1 and 211b-2, a UWB enabled Wallet Framework (Framework) 212b, an OOB component 213b, and at least one security device. components 214b-1, 214b-2 and/or UWBS 215b. For a description of each component, reference may be made to the description of FIG. 2A .

한편, 도 2b의 실시예에서는 설명의 편의를 위해, UWB enabled application이 UWB enabled Wallet Application에 해당하고, Framework가 UWB enabled Wallet Framework에 해당하는 것으로 설명하지만, 실시예가 이에 한정되지 않고, 다양한 종류의 다른 서비스를 제공하기 위한 다양한 UWB enabled application 및 framework가 구현될 수 있다. 도 2b에서, UWB enabled Wallet Application은 UWB enabled application로, UWB enabled Wallet Framework는 Framework로 지칭될 수 있다.Meanwhile, in the embodiment of FIG. 2B, for convenience of explanation, it is described that the UWB enabled application corresponds to the UWB enabled Wallet Application, and the Framework corresponds to the UWB enabled Wallet Framework, but the embodiment is not limited thereto, and various types of other Various UWB enabled applications and frameworks for providing services may be implemented. In FIG. 2B , the UWB enabled Wallet Application may be referred to as a UWB enabled application, and the UWB enabled Wallet Framework may be referred to as a Framework.

(1) UWB enabled application(211b-1,211b-2)은 다음 특징(feature)들 중 적어도 하나를 지원할 수 있다.(1) The UWB enabled applications 211b-1 and 211b-2 may support at least one of the following features.

- SE(예컨대, eSE) 내 UWB 기반 결제를 위한 applet(payment applet) 또는 TEE 내 UWB 기반 결제를 위한 Trusted Application(Trusted Payment Application)를 호스팅- Hosting an applet (payment applet) for UWB-based payment in SE (eg, eSE) or Trusted Application (Trusted Payment Application) for UWB-based payment in TEE

- Framework에 의해 요청되는 경우, 제1 전자 장치의 위치 추정을 위한 앵커들의 배치 정보 및 UWB 블록 구조(예컨대, 레인징 블록 구조)를 제공- When requested by the Framework, the arrangement information of anchors for estimating the position of the first electronic device and the UWB block structure (eg, ranging block structure) are provided

- payment applet 또는 Trusted Payment Application(TPA)의 personalization을 위하여 제2 전자 장치 및 백엔드 서버와의 통신- Communication with the second electronic device and backend server for personalization of payment applet or Trusted Payment Application (TPA)

(2) Framework(212b)는 다음 특징들 중 적어도 하나를 지원할 수 있다.(2) Framework 212b may support at least one of the following features.

- 제1 전자 장치의 위치를 추정- Estimate the location of the first electronic device

- UCI 명령들을 구현- Implement UCI commands

- UWB enabled application가 UWBS 및 OOB 컴포넌트에 접근하기 위한 API의 세트를 제공- Provides a set of APIs for UWB enabled applications to access UWBS and OOB components

(3) OOB 컴포넌트(213b)는 다음 특징들을 지원할 수 있다.(3) The OOB component 213b may support the following features.

- OOB 연결 동작(예컨대, BLE 연결 동작)을 구현- Implement OOB connection operation (eg, BLE connection operation)

(4) Trusted Payment Application(211b-2)은 TEE 내에 포함될 수 있고, 다음 특징들 중 적어도 하나를 지원할 수 있다.(4) The Trusted Payment Application 211b-2 may be included in the TEE, and may support at least one of the following features.

- TEE Client API를 지원- Support TEE Client API

- Trusted Application을 구현- Implement Trusted Application

- 보안 방식으로 제2 전자 장치와 통신하기 위해 보안 채널 프로토콜을 구현- implement a secure channel protocol to communicate with the second electronic device in a secure manner

- 보안 채널을 위한 payment credential 및 cryptographic keys를 호스팅- Hosting payment credentials and cryptographic keys for secure channels

- UWB 기반 결제 서비스를 지원하기 위한 중요한 정보(예컨대, 카드 정보)를 호스팅- Hosting sensitive information (eg card information) to support UWB-based payment services

(5) payment applet(211b-1)은 SE(eSE) 내에 포함될 수 있고, 다음 특징들 중 적어도 하나를 지원할 수 있다.(5) The payment applet 211b-1 may be included in the SE (eSE) and may support at least one of the following features.

- APDU를 지원- Support APDU

- 보안 방식으로 제2 전자 장치와 통신하기 위해 보안 채널 프로토콜을 구현- implement a secure channel protocol to communicate with the second electronic device in a secure manner

- 보안 채널을 위한 payment credential 및 cryptographic keys를 호스팅- Hosting payment credentials and cryptographic keys for secure channels

- UWB 기반 결제 서비스를 지원하기 위한 중요한 정보(예컨대, 카드 정보)를 호스팅- Hosting sensitive information (eg card information) to support UWB-based payment services

제1 전자 장치(210b)의 각 구성은 미리 정의된 인터페이스(IF)를 통해 다른 구성과 통신할 수 있다. 이하에서, 각 인터페이스에 대하여 설명한다.Each component of the first electronic device 210b may communicate with another component through a predefined interface IF. Hereinafter, each interface will be described.

- IF#1: 제1 전자 장치(210b)의 UWBS(215b)와 다른 전자 장치의 UWBS(예컨대, 제2 전자 장치(220b)의 UWBS(223b)) 사이의 인터페이스. IF#1은 UWB 메시지 및/또는 payment transaction을 교환하기 위해 사용될 수 있다.- IF#1: an interface between the UWBS 215b of the first electronic device 210b and the UWBS of another electronic device (eg, the UWBS 223b of the second electronic device 220b). IF#1 may be used to exchange UWB messages and/or payment transactions.

- IF#2: 제1 전자 장치(210b)의 OOB 컴포넌트(213b)와 다른 전자 장치의 OOB 컴포넌트(예컨대, 제2 전자 장치(220b)의 OOB 컴포넌트(222b)) 사이의 인터페이스. IF#2는 OOB 메시지를 교환하기 위해 사용될 수 있다.- IF#2: an interface between the OOB component 213b of the first electronic device 210b and the OOB component of another electronic device (eg, the OOB component 222b of the second electronic device 220b). IF#2 can be used to exchange OOB messages.

- IF#3: Framework(212b)와 UWBS(215b) 사이의 인터페이스. IF#3은 UCI 메시지를 교환하기 위해 사용될 수 있다. 예를 들면, IF#3은 Trusted Payment Application(211b-2)와 UWBS(215b) 사이의 보안 채널을 설정하기 위한 UCI 메시지를 교환하기 위해 사용될 수 있다.- IF#3: Interface between Framework (212b) and UWBS (215b). IF#3 may be used to exchange UCI messages. For example, IF#3 may be used to exchange UCI messages for establishing a secure channel between the Trusted Payment Application 211b-2 and the UWBS 215b.

- IF#4: UWB enabled application(211b-2)과 TEE 내의 Trusted Payment Application(211b-2) 사이의 인터페이스. IF#4는 TEE Client API를 통해 TEE Commands를 교환하기 위해 사용될 수 있다. 예를 들면, IF#4는 Trusted Payment Application(211b-2)와 UWBS(215b) 사이의 보안 채널을 설정하기 위한 TEE Commands를 교환하기 위해 사용될 수 있다.- IF#4: the interface between the UWB enabled application (211b-2) and the Trusted Payment Application (211b-2) in the TEE. IF#4 can be used to exchange TEE Commands through the TEE Client API. For example, IF#4 may be used to exchange TEE Commands for establishing a secure channel between the Trusted Payment Application 211b-2 and the UWBS 215b.

- IF#A: UWB enabled application(211b-1, 211b-2)과 UWBS(215b) 사이의 인터페이스. IF#A는 예컨대, SUS external API일 수 있다.- IF#A: the interface between the UWB enabled application (211b-1, 211b-2) and the UWBS (215b). IF#A may be, for example, a SUS external API.

- IF#B: UWB enabled application(211b-2)과 SE(eSE) 내의 Payment Applet(214b-1) 사이의 인터페이스. IF#B는 OMAPI를 통해 APDU를 교환하기 위해 사용될 수 있다. 예를 들면, IF#B는 eSE와 UWBS 사이의 보안 채널을 설정하기 위한 APDU를 교환하기 위해 사용될 수 있다.- IF#B: the interface between the UWB enabled application (211b-2) and the Payment Applet (214b-1) in the SE (eSE). IF#B can be used to exchange APDUs via OMAPI. For example, IF#B may be used to exchange APDUs for establishing a secure channel between the eSE and UWBS.

- IF#C: OOB 컴포넌트(213b)와 Framework(212b) 또는 UWB enabled application(211b-1, 211b-2) 사이의 인터페이스.- IF#C: the interface between the OOB component (213b) and the Framework (212b) or UWB enabled applications (211b-1, 211b-2).

- IF#D: UWB enabled application(211b-1, 211b-2)와 Framework(212b) 사이의 인터페이스. IF#D는 Framework(212b)에 의해 제공되는 API(Framework API)일 수 있다.- IF#D: the interface between the UWB enabled application (211b-1, 211b-2) and the Framework (212b). IF#D may be an API (Framework API) provided by the Framework 212b.

제2 전자 장치(220b)는 UWB 기반 결제 서비스를 위한 사업자의 전자 장치(예컨대, retail의 PoS(Point of Service) 단말)일 수 있다. 제2 전자 장치(220b)는 단말 어플리케이션(221b), OOB 컴포넌트(222b) 및/또는 UWBS(223b)를 포함할 수 있다. 실시예로서, 단말 어플리케이션(221b) UWB enabled application일 수 있다.The second electronic device 220b may be an electronic device of a business operator (eg, a point of service (PoS) terminal of retail) for a UWB-based payment service. The second electronic device 220b may include a terminal application 221b, an OOB component 222b, and/or a UWBS 223b. As an embodiment, the terminal application 221b may be a UWB enabled application.

도 3은 UWB 기반 서비스를 지원하는 전자 장치에 포함된 프레임워크의 예시적인 구성을 나타낸다.3 shows an exemplary configuration of a framework included in an electronic device supporting a UWB-based service.

도 3의 프레임워크(300)는 도 2a 및 도 2b의 프레임워크의 일 예일 수 있다. 도 3의 프레임워크(300)는 예컨대, FIRA CONSORTIUM에 정의된 FiRa Framework일 수 있다. The framework 300 of FIG. 3 may be an example of the framework of FIGS. 2A and 2B . The framework 300 of FIG. 3 may be, for example, FiRa Framework defined in FIRA CONSORTIUM.

프레임워크(300)는 논리적 소프트웨어 컴포넌트(logical software component)의 집합일 수 있다. UWB-enabled Application는 프레임워크(300)에 의해 제공되는 프레임워크 API를 통해 프레임워크와 인터페이싱할 수 있다.The framework 300 may be a set of logical software components. The UWB-enabled Application may interface with the framework through the framework API provided by the framework 300 .

도 3을 참조하면, 프레임워크(300)는 Profile Manger(310), OOB Connector(320), Secure Service(330) 및/또는 UWB Service(340)를 포함할 수 있다. 다만, 실시예에 따라 일부 컴포넌트가 생략되거나, 추가적인 컴포넌트를 더 포함할 수 있다.Referring to FIG. 3 , the framework 300 may include a Profile Manager 310 , an OOB Connector 320 , a Secure Service 330 , and/or a UWB Service 340 . However, depending on the embodiment, some components may be omitted or additional components may be further included.

Profile Manger 컴포넌트(310)는 Ranging Device(UWB 장치) 상에서 이용가능한 Profile(s)을 관리할 수 있다. Profile은 Ranging Device(UWB 장치) 사이에 성공적인 UWB 세션을 설정(establish)하기 위해 요구되는 파라미터들의 집합일 수 있다. 예를 들면, 프로필은 어떤 보안 채널(예컨대, OOB 보안 채널)이 사용되는지를 나타내는 파라미터, UWB/OOB 설정 파라미터, 특정 보안 컴포넌트의 사용이 맨데토리(mandatory)인지를 나타내는 파라미터 및/또는 ADF의 파일 구조와 관련된 파라미터를 포함할 수 있다. 또한, Profile Manger는 UWB-enabled Application로부터의 UWB 및 OOB 구성 파라미터를 추상화할 수 있다.The Profile Manager component 310 may manage Profile(s) available on a Ranging Device (UWB device). The Profile may be a set of parameters required to establish a successful UWB session between Ranging Devices (UWB devices). For example, a profile may contain a parameter indicating which secure channel (eg OOB secure channel) is used, a UWB/OOB configuration parameter, a parameter indicating whether the use of a particular security component is mandatory, and/or a file in the ADF. It may contain parameters related to the structure. In addition, Profile Manager can abstract UWB and OOB configuration parameters from UWB-enabled applications.

OOB Connector 컴포넌트(320)는 Ranging Device(UWB 장치) 사이의 OOB 연결을 설정하기 위한 컴포넌트일 수 있다. OOB Connector(320)는 UWB 기반 서비스를 제공하기 위한 Discovery Phase 및 Connection Phase를 다룰 수 있다.The OOB Connector component 320 may be a component for establishing an OOB connection between Ranging Devices (UWB devices). The OOB Connector 320 may handle a Discovery Phase and a Connection Phase for providing a UWB-based service.

Secure Service 컴포넌트(330)는 Secure Element (SE) 또는 Trusted Execution Environment (TEE)와 같은 보안 컴포넌트와 인터페이싱하는 역할을 수행할 수 있다. 보안 컴포넌트는 UWBS에 UWB 레인징 데이터를 전달하기 위해 UWBS와 인터페이싱하는 컴포넌트일 수 있다.The Secure Service component 330 may play a role of interfacing with a security component such as a Secure Element (SE) or a Trusted Execution Environment (TEE). The security component may be a component that interfaces with UWBS to deliver UWB ranging data to UWBS.

UWB Service 컴포넌트(340)는 UWBS에 대한 액세스를 제공하는 컴포넌트일 수 있다.The UWB Service component 340 may be a component that provides access to UWBS.

* 상술한 것처럼, UWB enabled Wallet Application과 같은 UWB enabled application은 framework가 제공한 API를 통해 UWBS 및 OOB를 이용하기 위해 framework와 인터랙션할 수 있다. 또한, UWB enabled application은 자격 증명(credential), 암호화 키(cryptographic key) 및 기타 민감한 정보(sensitive information)를 저장하는 적어도 하나의 보안 컴포넌트과 연관될 수 있다. 예를 들면, UWB enabled application은 eSE(또는, eSE 내의 Applet)(제1 보안 컴포넌트) 및/또는 TEE(또는, TEE 내의 Trusted application(TA))(제2 보안 컴포넌트)를 보안 컴포넌트로서 가질 수 있다.* As described above, a UWB enabled application such as a UWB enabled Wallet Application can interact with the framework to use UWBS and OOB through the API provided by the framework. In addition, the UWB enabled application may be associated with at least one security component for storing credentials (credential), encryption key (cryptographic key) and other sensitive information (sensitive information). For example, a UWB enabled application may have an eSE (or Applet in the eSE) (a first security component) and/or a TEE (or a Trusted application (TA) in the TEE) (a second security component) as a security component. .

한편, TEE 내의 TA는 UWBS와 직접 또는 간접적으로 인터랙션할 수 있다.Meanwhile, the TA in the TEE may directly or indirectly interact with the UWBS.

만일 UWBS가 중간 엔티티(예컨대, Framework)를 통해 TA와 연결된 경우, UWBS는 TA와 간접적으로 통신할 수 있다. 이러한 방식의 모드는 bypass 모드로 지칭될 수 있다.If the UWBS is connected to the TA through an intermediate entity (eg, Framework), the UWBS may indirectly communicate with the TA. This type of mode may be referred to as a bypass mode.

만일 UWBS가 TEE 내의 Driver TA(Secure OS)에 물리적으로 연결된 경우, UWBS는 TA와 직접 통신할 수 있다. 이러한 방식의 모드는 attached 모드로 지칭될 수 있다. Attached 모드의 경우, UWBS는 TEE 영역 내에 포함된 것으로 이해될 수 있다.If the UWBS is physically connected to the Driver TA (Secure OS) in the TEE, the UWBS can communicate directly with the TA. This type of mode may be referred to as an attached mode. In the case of the attached mode, it may be understood that the UWBS is included in the TEE area.

<실시예 A><Example A>

실시예 A는 상술한 bypass 모드와 관련된 실시예에 해당한다. 이하에서는, 도 4 내지 15를 참조하여, 실시예 A에 대하여 예시적으로 설명한다.Embodiment A corresponds to the embodiment related to the bypass mode described above. Hereinafter, Embodiment A will be exemplarily described with reference to FIGS. 4 to 15 .

도 4는 본 개시의 예시적인 실시예에 따른 제1 보안 컴포넌트를 이용하여 secure ranging을 수행하는 통신 시스템의 예시적인 동작을 나타낸다.4 illustrates an exemplary operation of a communication system for performing secure ranging using a first secure component according to an exemplary embodiment of the present disclosure.

도 4의 실시예에서, 제1 보안 컴포넌트는 Secure Element (예컨대, embedded SE(eSE))일 수 있다. SE는 tamper resistant 특성을 기반으로 한 안전한 보안 모듈이지만, 다양한 엔티티 간의 계약 관계가 성립되지 않으면, 어플리케이션을 설치 및 구동하는데 제약이 따른다. In the embodiment of FIG. 4 , the first security component may be a Secure Element (eg, embedded SE (eSE)). SE is a secure security module based on the tamper resistant characteristic, but if the contractual relationship between various entities is not established, there are restrictions in installing and running the application.

eSE는 전자 장치에 고정하여 사용하는 고정식 SE를 의미한다. eSE는 통상적으로 단말 제조사의 요청에 의해 제조사 전용으로 제조되며, 운영체제와 프레임워크를 포함하여 제조 될 수 있다. eSE는 원격으로 애플릿 형태의 서비스 제어 모듈을 다운받아 설치하고, 예컨대, 전자지갑, 티켓팅, 전자여권, 디지털키 등과 같은 다양한 보안 서비스 용도로 사용될 수 있다. The eSE refers to a fixed SE that is fixed and used in an electronic device. The eSE is usually manufactured exclusively for the manufacturer at the request of the terminal manufacturer, and may be manufactured including the operating system and framework. The eSE remotely downloads and installs an applet-type service control module, and can be used for various security services such as, for example, electronic wallet, ticketing, e-passport, and digital key.

본 개시에서, 제1 보안 컴포넌트는 TEE(또는, TEE 내의 TA) 또는 Strongbox와 같은 보안 컴포넌트인 제2 보안 컴포넌트와 구별된다. In the present disclosure, a first security component is distinguished from a second security component that is a security component such as a TEE (or TA in the TEE) or Strongbox.

TEE는 예를 들면, 특정 칩셋(예컨대, ARM 기반)에서 지원하는 코드를 기반으로 가상의 분리된 환경을 만드는 S/W 중심의 보안 환경일 수 있다. TEE는 tamper resistant 특성을 가지지 않지만, 사용가능한 메모리가 크고 속도가 빠르며, SE에 비해 비용이 저렴하다는 이점을 갖는다. 또한, 모바일 제조사가 허용한 범위 내에서 다양한 서비스 프로바이더가 바로 사용 가능하므로, SE에 비해 엔티티 간 복잡도가 낮다는 이점을 갖는다.The TEE may be, for example, a S/W-centered security environment that creates a virtual separated environment based on codes supported by a specific chipset (eg, ARM-based). TEE does not have tamper resistant characteristics, but has advantages of large available memory, high speed, and low cost compared to SE. In addition, since various service providers can be used immediately within the range allowed by the mobile manufacturer, it has the advantage of lower complexity between entities compared to SE.

Strongbox는 예컨대, Javacard OS 기반인 물리적인 보안 칩일 수 있다. Strongbox 역시, TEE와 마찬가지로, SE에 비해 엔티티 간 복잡도가 낮다는 이점을 갖는다. Strongbox may be, for example, a physical security chip based on Javacard OS. Strongbox, like TEE, also has the advantage of lower complexity between entities compared to SE.

한편, 제2 보안 컴포넌트는 상술한 TEE 또는 Strongbox에 한정되지 않고, TEE 또는 Strongbox와 동일 또는 유사한 특성을 갖는 보안 컴포넌트일 수도 있다.Meanwhile, the second security component is not limited to the aforementioned TEE or Strongbox, and may be a security component having the same or similar characteristics to the TEE or Strongbox.

이하에서 설명할 것처럼, 제1 보안 컴포넌트를 이용하는 경우와 제2 보안 컴포넌트를 이용하는 경우에는 키 프로비저닝 절차, 보안 레인징을 위한 세션 키의 UWBS로의 전달 절차 등에 있어 차이를 갖는다.As will be described below, there is a difference between the case of using the first security component and the case of using the second security component in a key provisioning procedure, a procedure for transferring a session key for security ranging to UWBS, and the like.

도 4를 참조하면, 통신 시스템(400)은 제1 전자 장치(410), 제2 전자 장치(420) 및/또는 서비스 프로바이더(430)를 포함한다. Referring to FIG. 4 , the communication system 400 includes a first electronic device 410 , a second electronic device 420 , and/or a service provider 430 .

도 4의 실시예에서, 제1 전자 장치(제1 UWB 장치)(410) 및 제2 전자 장치(제2 UWB 장치)(420)는 도 1 내지 3에서 상술한 전자 장치 중 하나일 수 있다. 예를 들면, 제1 전자 장치(제1 UWB 장치)(410)는 예컨대, Smart Ranging Device일 수 있고, 제2 전자 장치(제2 UWB 장치)(420)는 예컨대, Ranging Device 또는 Smart Ranging Device일 수 있다. 4 , the first electronic device (first UWB device) 410 and the second electronic device (second UWB device) 420 may be one of the electronic devices described above with reference to FIGS. 1 to 3 . For example, the first electronic device (the first UWB device) 410 may be, for example, a Smart Ranging Device, and the second electronic device (the second UWB device) 420 may be, for example, a Ranging Device or a Smart Ranging Device. can

서비스 프로바이더(430)는 UWB-enabled Application을 제공하고, secure ranging을 위한 키를 프로비저닝하는 역할을 수행하는 엔티티일 수 있다.The service provider 430 may be an entity that provides a UWB-enabled application and provides a key for secure ranging.

도 4를 참조하면, 제1 전자 장치(410)는 비-보안 영역(non-secure world)에 속하는 UWB-enabled Application(411), Framework(412) 및 OOB 컴포넌트(413)를 포함하고, 보안 영역(secure world)에 속하는 Secure element(SE)(제1 보안 컴포넌트) 및 UWBS(414)를 포함할 수 있다. 제2 전자 장치(420)는 Application(421), OOB 컴포넌트(422) 및/또는 UWBS(423)를 포함할 수 있다.Referring to FIG. 4 , the first electronic device 410 includes a UWB-enabled application 411 , a framework 412 , and an OOB component 413 belonging to a non-secure world, and a secure area. It may include a Secure element (SE) (a first security component) belonging to (secure world) and a UWBS 414 . The second electronic device 420 may include an Application 421 , an OOB component 422 , and/or a UWBS 423 .

UWB-enabled Application(411)은 UWB 기능들을 요구하고, Framework(412)를 통해 UWBS(414)에 접속할 수 있다.The UWB-enabled Application 411 may request UWB functions and connect to the UWBS 414 through the Framework 412 .

Framework(412)는 상이한 Profiles에 대한 접속을 제공한다. 도 3에서 예시된 것처럼, Framework(412)는 Profile Manger, OOB Connector, Secure Service 및/또는 UWB Service 컴포넌트를 포함할 수 있다.Framework 412 provides access to different Profiles. As illustrated in FIG. 3 , the Framework 412 may include Profile Manager, OOB Connector, Secure Service, and/or UWB Service components.

SE(예컨대, eSE)는 Applet(415) 및/또는 SUS(Secure UWB Service) Applet(416)을 포함할 수 있다. Applet(415)은 Ranging Data Set(RDS)를 안전하게 생성하기 위해 요구되는 적어도 하나의 Application Dedicated File (ADF)를 포함할 수 있다. 예를 들면, 도시된 것처럼, Applet(415)은 각 서비스 프로바이더(SP)에 의해 제공된 각 ADF(예컨대, SP1의 ADF(ADF(SP1)) 및 SP2의 ADF(ADF(SP2)))를 포함할 수 있다. ADF는 예컨대, 키 프로비저닝 단계에서, 서비스 프로바이더에 의해 제공될 수 있다. 또한, Applet(415)은 RDS를 SUS Applet(416)을 통해 UWBS(414)로 전달할 수 있다. 일 실시예에서, RDS는 특정 UWB 세션에 대한 세션 ID 및/또는 UWB Session Key를 포함할 수 있다.The SE (eg, eSE) may include an Applet 415 and/or a Secure UWB Service (SUS) Applet 416 . The Applet 415 may include at least one Application Dedicated File (ADF) required to safely generate a Ranging Data Set (RDS). For example, as shown, Applet 415 includes each ADF provided by each service provider (SP) (eg, ADF of SP1 (ADF(SP1)) and ADF of SP2 (ADF(SP2))). can do. The ADF may be provided by the service provider, for example, in the key provisioning phase. In addition, Applet 415 may forward the RDS to UWBS 414 via SUS Applet 416 . In one embodiment, the RDS may include a session ID and/or UWB Session Key for a specific UWB session.

OOB 컴포넌트(413)는 Framework(412)의 OOB Connector에 연결되며, Ranging Device(UWB Device)들 간의 OOB 연결(예컨대, 블루투스 저전력 에너지(BLE) 연결)을 설정할 수 있다. 예를 들면, 제1 전자 장치(410)의 OOB 컴포넌트(413)와 제2 전자 장치(420)의 OOB 컴포넌트(422)를 통해, 제1 전자 장치(410)와 제2 전자 장치(420) 간의 OOB 연결이 설정될 수 있다.The OOB component 413 is connected to the OOB connector of the Framework 412 , and may establish an OOB connection (eg, a Bluetooth low energy (BLE) connection) between Ranging Devices (UWB Devices). For example, between the first electronic device 410 and the second electronic device 420 through the OOB component 413 of the first electronic device 410 and the OOB component 422 of the second electronic device 420 . An OOB connection may be established.

UWBS(414)는 UWB 하드웨어를 관리한다. UWBS(414)는 다른 Ranging Device의 UWBS(예컨대, 제2 전자 장치(420)의 UWBS(423))와 UWB 세션을 수행할 수 있다. UWBS(414)는 Framework(412)에 의해 관리되며, SE로부터 secure ranging을 위해 필요한 RDS를 수신할 수 있다.UWBS 414 manages UWB hardware. The UWBS 414 may perform a UWB session with the UWBS of another ranging device (eg, the UWBS 423 of the second electronic device 420 ). The UWBS 414 is managed by the Framework 412 and may receive an RDS required for secure ranging from the SE.

도 4를 참조하면, 동작 1(discovery 동작)에서, 제1 전자 장치(410)와 제2 전자 장치(420)는 OOB 컴포넌트(413,422)를 통해 service discovery 절차를 수행할 수 있다. service discovery 절차는 Secure Channel(SC) 협상 동작을 포함할 수 있다.Referring to FIG. 4 , in operation 1 (discovery operation), the first electronic device 410 and the second electronic device 420 may perform a service discovery procedure through the OOB component 413,422. The service discovery procedure may include a Secure Channel (SC) negotiation operation.

동작 2(보안 채널 설정 동작)에서, 제1 전자 장치(410)와 제2 전자 장치(420)는 전자 장치(예컨대, FiRa Device) 간에 안전하게 데이터를 공유하기 위해, Framework를 통해, 장치 간 Secure Channel(예컨대, SC#1, SC#2)을 설정할 수 있다. Secure Channel은 OOB channel(연결)을 통해 오픈(open)될 수 있다. In operation 2 (secure channel establishment operation), the first electronic device 410 and the second electronic device 420 use a framework to securely share data between electronic devices (eg, FiRa devices) through a secure channel between devices. (eg, SC#1, SC#2) may be set. The Secure Channel may be opened through an OOB channel (connection).

동작 3(RDS 생성/전달 동작)에서, UWB 세션 키(URSK)가 Applet(415)와 SUS Applet(416) 사이에 교환될 수 있다. 예를 들면, Applet(415)의 UWB Ranging Session Key (URSK)가 SUS Applet(416)와의 통신을 통해, SUS Applet(416)로 전달될 수 있다. 또한, 세션 ID가 SUS Applet(416)를 통해 UWBS(414)로 전달될 수 있다. 이를 위해, Applet(415)와 SUS Applet(416) 간의 보안 채널 및 SUS Applet(416)와 UWBS(414) 간의 보안 채널이 먼저 설정될 수 있다. UWBS(414)는 설정된 Secure Channel을 통해, SUS Applet(416)로부터 해당 RDS를 획득할 수 있다. 세션 ID와 UWB 세션 키는 Applet(415)에 의해 생성된 것일 수 있다.In operation 3 (RDS generation/delivery operation), a UWB session key (URSK) may be exchanged between the Applet 415 and the SUS Applet 416 . For example, the UWB Ranging Session Key (URSK) of the Applet 415 may be transmitted to the SUS Applet 416 through communication with the SUS Applet 416 . Also, the session ID may be passed to the UWBS 414 via the SUS Applet 416 . To this end, a secure channel between the Applet 415 and the SUS Applet 416 and a secure channel between the SUS Applet 416 and the UWBS 414 may be established first. The UWBS 414 may acquire the corresponding RDS from the SUS Applet 416 through the established Secure Channel. The session ID and UWB session key may be generated by the Applet 415 .

동작 4(보안 레인징 동작)에서, 제1 전자 장치(410)와 제2 전자 장치(420)는 UWBS(414,423)를 통해 secure ranging 절차를 수행할 수 있다. 획득된 URSK가 secure ranging을 위해 UWBS에 의해 사용될 수 있다.In operation 4 (security ranging operation), the first electronic device 410 and the second electronic device 420 may perform a secure ranging procedure through the UWBSs 414 and 423 . The obtained URSK may be used by UWBS for secure ranging.

도 5는 본 개시의 예시적인 실시예에 따른 제1 보안 컴포넌트를 이용하여 secure ranging을 수행하는 전자 장치의 예시적인 구성 및 동작을 나타낸다.5 illustrates an exemplary configuration and operation of an electronic device that performs secure ranging using a first secure component according to an exemplary embodiment of the present disclosure.

도 5의 실시예에서, 전자 장치(UWB 장치)(510)는 도 1 내지 3에서 상술한 전자 장치 중 하나일 수 있다. 예를 들면, 전자 장치(510)는 예컨대, Smart Ranging Device일 수 있고, 제1 보안 컴포넌트는 Secure Element (예컨대, eSE)일 수 있다.In the embodiment of FIG. 5 , the electronic device (UWB device) 510 may be one of the electronic devices described above with reference to FIGS. 1 to 3 . For example, the electronic device 510 may be, for example, a Smart Ranging Device, and the first security component may be a Secure Element (eg, eSE).

도 5를 참조하면, 전자 장치(510)는 UWB-enabled Application(511), Framework(512) 및 제1 보안 컴포넌트(513)를 포함하며, 외부 전자 장치(520)과 통신할 수 있다.Referring to FIG. 5 , the electronic device 510 includes a UWB-enabled application 511 , a framework 512 , and a first security component 513 , and may communicate with an external electronic device 520 .

도 5의 실시예에서, Framework(512)는 APDU 인터페이스를 통해 다른 Ranging device 및 제1 보안 컴포넌트(513)와 통신할 수 있다. APDU 인터페이스는 예컨대, ISO/IEC 7816-4에 기초한다. 예를 들면, 전자 장치(510)의 Framework(512)는 외부 Ranging Device(예컨대, FiRa Device)(520)로부터 OID에 의해 식별되는 ADF를 선택하기 위한 APDU 명령(SELECT ADF(OID))를 수신하고, 수신된 APDU 명령을 제1 보안 컴포넌트(513)로 전송할 수 있다. 또한, Framework(512)는 이 APDU 명령에 대한 응답을 제1 보안 컴포넌트(513)로부터 수신하고, 수신된 응답을 외부 Ranging Device(예컨대, FiRa Device)(520)로 전송할 수 있다. 응답은 Cryptogram, 암호화된 메시지(EncMsg) 및/또는 메시지 인증 코드(MAC)를 포함할 수 있다.In the embodiment of FIG. 5 , the Framework 512 may communicate with another Ranging device and the first security component 513 through an APDU interface. The APDU interface is based, for example, on ISO/IEC 7816-4. For example, the Framework 512 of the electronic device 510 receives an APDU command (SELECT ADF (OID)) for selecting the ADF identified by the OID from the external Ranging Device (eg, FiRa Device) 520 and , may transmit the received APDU command to the first security component 513 . In addition, the Framework 512 may receive a response to the APDU command from the first security component 513 , and transmit the received response to an external Ranging Device (eg, FiRa Device) 520 . The response may include a Cryptogram, an Encrypted Message (EncMsg) and/or a Message Authentication Code (MAC).

한편, 이러한 APDU 인터페이스는 Framework(512)에 의해서만 호출될 수 있고, Application(511)에 의해 호출될 수 없다. 따라서, APDU 인터페이스를 사용하는 경우, UWB-enabled Application(511)은 예컨대, ServiceInit() API를 이용하여 단지 Service Profile을 Framework(512)에 제공하는 역할을 수행할 수 있을 뿐이다. 즉, UWB-enabled Application(511)은 능동적으로 동작될 수 없다.On the other hand, this APDU interface can only be called by the Framework (512) and cannot be called by the Application (511). Accordingly, when using the APDU interface, the UWB-enabled Application 511 can only serve to provide the Service Profile to the Framework 512 using, for example, the ServiceInit() API. That is, the UWB-enabled Application 511 cannot be actively operated.

도 6은 본 개시의 예시적인 실시예에 따른 제2 보안 컴포넌트를 이용하여 secure ranging을 수행하는 전자 장치의 예시적인 구성 및 동작을 나타낸다.6 illustrates an exemplary configuration and operation of an electronic device that performs secure ranging using a second secure component according to an exemplary embodiment of the present disclosure.

도 6의 실시예에서, 전자 장치(UWB 장치)(610)는 도 1 내지 3에서 상술한 전자 장치 중 하나일 수 있다. 예를 들면, 전자 장치(610)는 예컨대, Smart Ranging Device일 수 있고, 제2 보안 컴포넌트는 TEE 또는 Strongbox(SB)일 수 있다.In the embodiment of FIG. 6 , the electronic device (UWB device) 610 may be one of the electronic devices described above with reference to FIGS. 1 to 3 . For example, the electronic device 610 may be, for example, a Smart Ranging Device, and the second security component may be a TEE or a Strongbox (SB).

도 6을 참조하면, 전자 장치(610)는 UWB-enabled Application(611), Framework(612) 및 제2 보안 컴포넌트(613)를 포함하며, 외부 전자 장치(620)와 통신할 수 있다.Referring to FIG. 6 , the electronic device 610 includes a UWB-enabled application 611 , a framework 612 , and a second security component 613 , and may communicate with an external electronic device 620 .

일 실시예에서, 제2 보안 컴포넌트(613)는 예컨대, 보안 채널 1(SC01)의 구현 기능 및/또는 키 구현 기능을 포함할 수 있다. 예를 들면, 제2 보안 컴포넌트(613)는 어플리케이션(예컨대, abc를 Appid로 갖는 어플리케이션)에 대응하는 MAC Privacy key(예컨대, 123를 키 값으로 갖는 MAC Privacy key) 및/또는 어플리케이션(예컨대, abc를 Appid로 갖는 어플리케이션)에 대응하는 ENC Privacy key(예컨대, 456 를 키 값으로 갖는 ENC Privacy key)을 포함할 수 있다. 일 실시예에서, MAC Privacy key 는 메시지 인증 코드의 생성을 위해 사용될 수 있고, ENC Privacy key는 암호화를 위해 사용될 수 있다. 이러한 보안 채널 키는 예컨대, 키 프로비저닝 단계에서 서비스 프로바이더에 의해 제공될 수 있다. 키 프로비저닝 단계는 디스커버리 단계 이전에 수행될 수 있다.In one embodiment, the second secure component 613 may include, for example, an implementation function of secure channel 1 (SC01) and/or a key implementation function. For example, the second security component 613 may include a MAC Privacy key (eg, MAC Privacy key having 123 as a key value) corresponding to the application (eg, an application having abc as Appid) and/or an application (eg, abc) It may include an ENC Privacy key (eg, an ENC Privacy key having 456 as a key value) corresponding to an application having Appid as Appid. In one embodiment, a MAC Privacy key may be used for generating a message authentication code, and an ENC Privacy key may be used for encryption. Such a secure channel key may be provided by, for example, a service provider in a key provisioning step. The key provisioning step may be performed before the discovery step.

도 6의 실시예에서, Framework(612)는 APDU 인터페이스가 아닌, Framework API의 세트를 통해 제2 보안 컴포넌트(TEE/SB)(613)와 통신할 수 있다. 일 실시예에서, Framework API 세트는 예컨대, 어플리케이션의 등록을 위한 Register(), 보안 메시징 세션의 설정을 위한 setSecureMessagingSession() 및/또는 레인징 데이터(또는, RDS)의 설정을 위한 setRangingData()와 같은 API를 포함할 수 있다.In the embodiment of FIG. 6 , the Framework 612 may communicate with the second security component (TEE/SB) 613 through a set of Framework APIs rather than the APDU interface. In one embodiment, the Framework API set includes, for example, Register() for application registration, setSecureMessagingSession() for establishing a secure messaging session, and/or setRangingData() for setting ranging data (or RDS). It may contain APIs.

APDU 인터페이스를 사용하는 도 5의 실시예와 달리, 이 Framework API는 Application(611)에 의해 호출될 수 있다. 따라서, 이 Framework API를 사용하는 경우, Framework(612)는 로직을 담당하고, UWB-enabled Application(611)가 API를 이용하여 secure ranging을 위한 상세 파라미터 설정과 함께, 다양한 서비스들(예컨대, FiRa service 들)을 구현하고, 이와 관련된 데이터를 Framework로 제공할 수 있다. 이를 통해, 도 6의 실시예는 도 5의 실시예에 비해, 서비스 프로바이더에 의한 Application의 유지 보수 및 신뢰성 측면에서 유리하게 된다.Unlike the embodiment of FIG. 5 that uses the APDU interface, this Framework API may be called by the Application 611 . Accordingly, when using this Framework API, the Framework 612 is in charge of logic, and the UWB-enabled Application 611 uses the API to set detailed parameters for secure ranging and provide various services (eg, FiRa service). ) and provide related data to the Framework. Through this, the embodiment of FIG. 6 is advantageous in terms of maintenance and reliability of the application by the service provider compared to the embodiment of FIG. 5 .

도 7a는 본 개시의 예시적인 실시예에 따른 전자 장치가 제1 보안 컴포넌트와 UWBS 사이의 보안 채널을 설정하는 방법을 나타낸다.7A illustrates a method for an electronic device to establish a secure channel between a first secure component and UWBS according to an exemplary embodiment of the present disclosure.

도 7a의 실시예에서, 전자 장치(710)는 예컨대, 도 5의 구성을 갖는 전자 장치이고, 제1 보안 컴포넌트는 SE(예컨대, eSE)일 수 있다.In the embodiment of FIG. 7A , the electronic device 710 may be, for example, the electronic device having the configuration of FIG. 5 , and the first security component may be an SE (eg, eSE).

도 7a를 참조하면, 전자 장치(710)는 UWB-enabled Application(711), Framework(712), UWBS(713) 및 제1 보안 컴포넌트(714)를 포함할 수 있다.Referring to FIG. 7A , the electronic device 710 may include a UWB-enabled Application 711 , a Framework 712 , a UWBS 713 , and a first security component 714 .

도 7a의 실시예에서, 보안 채널은 APDU 인터페이스에 의해, UWBS(713)와 제1 보안 컴포넌트(714) 사이에 직접 설정된다. 도시된 것처럼, 보안 채널은 UWBS(713)와 제1 보안 컴포넌트(714)가 동일한 공유키(예컨대, 공유 비밀키("sharedScret=K"))을 공유하는 Symmetric key 기반 보안 채널이다.In the embodiment of FIG. 7A , a secure channel is established directly between the UWBS 713 and the first secure component 714 by the APDU interface. As shown, the secure channel is a symmetric key based secure channel in which the UWBS 713 and the first secure component 714 share the same shared key (eg, a shared secret key (“sharedScret=K”)).

도 7b는 본 개시의 예시적인 실시예에 따른 전자 장치가 제2 보안 컴포넌트와 UWBS 사이의 보안 채널을 설정하는 방법을 나타낸다.7B illustrates a method for an electronic device to establish a secure channel between a second secure component and UWBS according to an exemplary embodiment of the present disclosure.

도 7b의 실시예에서, 전자 장치(720)는 예컨대, 도 6의 구성을 갖는 전자 장치이고, 제2 보안 컴포넌트는 TEE 및/또는 SB일 수 있다.In the embodiment of FIG. 7B , the electronic device 720 is, for example, the electronic device having the configuration of FIG. 6 , and the second security component may be a TEE and/or an SB.

도 7b를 참조하면, 전자 장치(720)는 UWB-enabled Application(721), Framework(722), UWBS(723) 및 제2 보안 컴포넌트(724)를 포함할 수 있다. 제2 보안 컴포넌트(724)는 TEE 또는 Strongbox일 수 있고, TEE는 TA를 포함할 수 있다.Referring to FIG. 7B , the electronic device 720 may include a UWB-enabled application 721 , a framework 722 , a UWBS 723 , and a second security component 724 . The second secure component 724 may be a TEE or a strongbox, and the TEE may include a TA.

도 7b의 실시예에서, 보안 채널은 function 호출(API 호출)에 의해, Framework(722)를 통해 UWBS(723)와 제2 보안 컴포넌트(724) 사이에 설정된다. 즉, 보안 채널이 UWBS(723)와 보안 컴포넌트(724) 사이에 직접 설정되는 것이 아닌, Framework(722)를 경유하여 설정될 수 있다. 예를 들면, TEE(또는, SB)(724)와 Framework(722) 사이에 보안 채널(제1 보안 채널)이 설정되고, Framework(722)와 UWBS(723) 사이에 보안 채널(제2 보안 채널)이 설정됨으로써, TEE(또는, SB)(724)와 UWBS(723) 사이에 간접적으로 보안 채널이 설정될 수 있다. 이에 대하여는 도 9a 및 b를 참조하여 이하에서 추가적으로 설명한다.In the embodiment of FIG. 7B , a secure channel is established between the UWBS 723 and the second secure component 724 via the Framework 722 by a function call (API call). That is, a secure channel may be established via the Framework 722 rather than directly established between the UWBS 723 and the security component 724 . For example, a secure channel (first secure channel) is established between the TEE (or SB) 724 and the Framework 722 , and a secure channel (second secure channel) is established between the Framework 722 and the UWBS 723 . ) is established, a secure channel may be indirectly established between the TEE (or SB) 724 and the UWBS 723 . This will be further described below with reference to FIGS. 9A and 9B.

도 7b의 실시예에서, 보안 채널은 Asymmetric key 또는 Symmetric key 기반 보안 채널일 수 있다. 즉, 도 7b의 실시예에서, 보안 채널은 Asymmetric cryptographic 알고리즘 또는 symmetric cryptographic 알고리즘에 기반하여 설정될 수 있다. 이처럼, 제1 보안 컴포넌트를 이용하는 도 7a의 실시예에서와 달리, 제2 보안 컴포넌트를 이용하는 도 7b의 실시예의 경우에는, Asymmetric key 기반의 보안 채널이 설정될 수도 있다.In the embodiment of FIG. 7B , the secure channel may be an asymmetric key or a symmetric key based secure channel. That is, in the embodiment of FIG. 7B , the secure channel may be established based on an asymmetric cryptographic algorithm or a symmetric cryptographic algorithm. As such, unlike in the embodiment of FIG. 7A using the first security component, in the embodiment of FIG. 7B using the second security component, an asymmetric key-based secure channel may be established.

도 8은 본 개시의 예시적인 실시예에 따른 제2 보안 컴포넌트를 포함하는 전자 장치가 RDS를 제공하는 방법의 흐름도이다.8 is a flowchart of a method for providing an RDS by an electronic device including a second security component according to an exemplary embodiment of the present disclosure.

UWB 보안 레인징을 위해, 전자 장치는 외부 전자 장치와 End to End encryption (E2EE) 통신을 수행해야 한다. 이를 위해, 외부 장치와 공유한 특정 세션 키(URSK)가 보안 컴포넌트로부터 UWBS로 안전하게 전달되어야 한다. 도 8의 실시예에서는, 이를 위한, 이 세션 키를 보안 컴포넌트로부터 UWBS로 안전하게 전달할 수 있는 실시예에 대하여 설명한다.For UWB security ranging, the electronic device must perform End to End encryption (E2EE) communication with an external electronic device. To this end, a specific session key (URSK) shared with an external device must be securely transferred from the secure component to the UWBS. In the embodiment of FIG. 8 , for this purpose, an embodiment in which the session key can be securely transmitted from the security component to the UWBS will be described.

도 8의 실시예에서, 전자 장치(810)는 예컨대, 도 6의 구성을 갖는 전자 장치일 수 있고, 전자 장치(810)는 프레임워크(811), UWBS(812) 및 제2 보안 컴포넌트(813)를 포함하며, 외부 전자 장치(820)와 통신을 수행할 수 있다. 제2 보안 컴포넌트(813)는 TEE(또는, TEE 내의 TA) 및/또는 SB일 수 있다. TEE는 TA(Trusted application)를 포함할 수 있다. 한편, 도시되지는 않았지만, 전자 장치(810)는 다른 UWB 장치와 마찬가지로, 적어도 하나의 어플리케이션(UWB-enabled application)을 포함할 수 있고, 프레임워크 및 UWB-enabled application은 적어도 하나의 프로세서(예컨대, 어플리케이션 프로세서(AP))에 의해 구현될 수 있다. 따라서, 본 개시에서, 프레임워크 및/또는 UWB-enabled application의 동작은 프로세서의 동작으로 표현될 수 있다. In the embodiment of FIG. 8 , the electronic device 810 may be, for example, the electronic device having the configuration of FIG. 6 , and the electronic device 810 includes a framework 811 , a UWBS 812 , and a second security component 813 . ), and may communicate with the external electronic device 820 . The second security component 813 may be a TEE (or a TA within a TEE) and/or an SB. The TEE may include a Trusted Application (TA). Meanwhile, although not shown, the electronic device 810, like other UWB devices, may include at least one application (UWB-enabled application), and the framework and the UWB-enabled application may include at least one processor (eg, may be implemented by an application processor (AP). Accordingly, in the present disclosure, the operation of the framework and/or the UWB-enabled application may be expressed as the operation of the processor.

도 8의 실시예에서는, 제2 보안 컴포넌트(813)가 제1 어플리케이션(예컨대, abc를 어플리케이션을 식별하는 식별자(예컨대, Application ID(AppID), UUID)로 갖는 UWB-enabled Application)에 대응하는 보안 채널 키(예컨대, 123를 키 값으로 갖는 키) 및 제2 어플리케이션(예컨대, xyz를 어플리케이션을 식별하는 식별자(예컨대, Application ID(AppID), UUID)로 갖는 UWB-enabled Application)에 대응하는 보안 채널 키(예컨대, 789를 키 값으로 갖는 키)를 포함하는 것으로 가정한다. 실시예로서, 보안 채널 키는 암호화를 위한 키 및/또는 메시지 인증을 위한 키를 포함할 수 있다. 다만, 이에 한정되지 않고, 제2 보안 채널은 더 많은 수의 보안 채널 키 또는 단일 보안 채널 키를 포함할 수도 있다.In the embodiment of FIG. 8 , the second security component 813 secures the security corresponding to the first application (eg, a UWB-enabled Application having abc as an identifier for identifying the application (eg, Application ID (AppID), UUID)) A secure channel corresponding to a channel key (eg, a key having 123 as a key value) and a second application (eg, UWB-enabled Application having xyz as an identifier for identifying an application (eg, Application ID (AppID), UUID)) Assume that it contains a key (eg, a key having 789 as a key value). As an embodiment, the secure channel key may include a key for encryption and/or a key for message authentication. However, the present invention is not limited thereto, and the second secure channel may include a larger number of secure channel keys or a single secure channel key.

동작 8010에서, 외부 전자 장치(820)는 보안 채널 요청(제1 보안 채널 요청)을 전자 장치(810)로 전송할 수 있다. 예를 들면, 외부 전자 장치(820)는 OID를 포함하는 제1 보안 채널 요청을 전자 장치(810)로 전송할 수 있다. 제1 보안 채널 요청은 외부 전자 장치(820)와 전자 장치(810) 간의 보안 채널의 생성을 요청하는 요청일 수 있다. 즉, 제1 보안 채널 요청은 장치 간 보안 채널의 생성 요청일 수 있다. 전송된 제1 보안 채널 요청은 전자 장치(810)의 Framework(811)로 전달될 수 있다.In operation 8010 , the external electronic device 820 may transmit a secure channel request (a first secure channel request) to the electronic device 810 . For example, the external electronic device 820 may transmit the first secure channel request including the OID to the electronic device 810 . The first secure channel request may be a request for creating a secure channel between the external electronic device 820 and the electronic device 810 . That is, the first secure channel request may be a request for creating a secure channel between devices. The transmitted first secure channel request may be transmitted to the Framework 811 of the electronic device 810 .

동작 8020에서, Framework(811)는 제1 보안 채널 요청에 포함된 OID에 매칭되는 어플리케이션 식별자(예컨대, AppID)를 식별할 수 있다. 이를 통해, Framework(811)는 OID를 AppID로 변환시킬 수 있다. 여기서, AppID는 서비스 프로바이더에 의해 제공되는 UWB-enabled Application을 식별하기 위한 ID일 수 있다. 본 개시에서, AppID는 상술한 applet을 식별하기 위한 applet ID(AID)와 구별될 수 있다. 일 실시예에서, Framework(811)는 OID와 AppID 간의 맵핑 테이블(리스트)를 포함할 수 있다.In operation 8020 , the Framework 811 may identify an application identifier (eg, AppID) matching the OID included in the first secure channel request. Through this, the Framework 811 may convert the OID into an AppID. Here, AppID may be an ID for identifying a UWB-enabled application provided by a service provider. In the present disclosure, AppID may be distinguished from applet ID (AID) for identifying the aforementioned applet. In an embodiment, the Framework 811 may include a mapping table (list) between OIDs and AppIDs.

동작 8030에서, Framework(811)는 제1 보안 채널 요청에 대응하는 제2 보안 채널 요청을 전자 장치(810)의 제2 보안 컴포넌트(813)로 전달할 수 있다. 예를 들면, Framework(811)는 제1 보안 채널 요청의 OID에 매칭되는 AppID를 포함하는 제2 보안 채널 요청을 제2 보안 컴포넌트(813)로 전달할 수 있다.In operation 8030 , the Framework 811 may transmit the second secure channel request corresponding to the first secure channel request to the second secure component 813 of the electronic device 810 . For example, the Framework 811 may forward the second secure channel request including the AppID that matches the OID of the first secure channel request to the second secure component 813 .

동작 8040에서, 전자 장치(810)는 전자 장치(810)의 제2 보안 컴포넌트(813)(또는, 전자 장치(810))와 외부 전자 장치(820) 사이의 보안 채널을 설정할 수 있다. 일 실시예에서, 보안 채널은 제2 보안 채널 요청에 포함된 AppID에 의해 식별되는 UWB-enabled Application과 연관되며, 외부 전자 장치(820)와 제2 보안 컴포넌트(813) 사이에 직접 또는 간접적으로 설정될 수 있다.In operation 8040 , the electronic device 810 may establish a secure channel between the second security component 813 (or the electronic device 810 ) of the electronic device 810 and the external electronic device 820 . In one embodiment, the secure channel is associated with a UWB-enabled Application identified by an AppID included in the second secure channel request, and is established directly or indirectly between the external electronic device 820 and the second secure component 813 . can be

동작 8050에서, 전자 장치(810)는 설정된 보안 채널을 통해 외부 전자 장치(820)와의 UWB 세션을 위한 파라미터 교환 절차를 수행할 수 있다. 이를 통해, 전자 장치(810)는 외부 전자 장치(820)와 설정된 파라미터의 값을 협상할 수 있다. 예를 들면, 전자 장치(810)는 설정된 보안 채널을 통해, 예컨대, Session ID 및/또는 URSK와 같은 파라미터의 값을 협상할 수 있다. 교환된 파라미터는 제2 보안 컴포넌트(813)에 저장될 수 있다. 일 실시예에서, 파라미터는 UWB 성능 파라미터(capabitility paramenter) 및/또는 UWB 구성 파라미터(configuration parameter)를 포함할 수 있다.In operation 8050 , the electronic device 810 may perform a parameter exchange procedure for a UWB session with the external electronic device 820 through the established secure channel. Through this, the electronic device 810 may negotiate the value of the set parameter with the external electronic device 820 . For example, the electronic device 810 may negotiate values of parameters such as Session ID and/or URSK through the established secure channel. The exchanged parameters may be stored in the second secure component 813 . In one embodiment, the parameter may include a UWB performance parameter and/or a UWB configuration parameter.

동작 8060에서, Framework(811)는 레인징 데이터(RDS)를 설정하도록 하는 명령을 제2 보안 컴포넌트(813)로 전달할 수 있다. 예를 들면, Framework(811)(또는, UWB-enabled application)는 제2 보안 컴포넌트(813)에 대한 setRangingData() API/명령를 호출/사용할 수 있다. setRangingData()는 제2 보안 컴포넌트(813)가 RDS를 준비(또는, 설정/생성)하도록 하는 기능을 갖는다. 즉, setRangingData()는 제2 보안 컴포넌트(813)가 RDS를 설정하도록 하기 위해 사용되는 API일 수 있다. setRangingData()는 어떤 Application이 이 API를 호출했는지를 식별하기 위해 해당 Application에 대한 AppID를 포함할 수 있다.In operation 8060 , the framework 811 may transmit a command to set the ranging data RDS to the second security component 813 . For example, the Framework 811 (or UWB-enabled application) may call/use the setRangingData() API/command for the second security component 813 . setRangingData() has a function to allow the second security component 813 to prepare (or set/create) the RDS. That is, setRangingData( ) may be an API used to allow the second security component 813 to set the RDS. setRangingData() can include the AppID for the application to identify which application has called this API.

동작 8070에서, 제2 보안 컴포넌트(813)는 RDS를 준비(또는, 설정/생성)할 수 있다. 예를 들면, TEE(또는, TEE 내의 TA)는 RDS를 준비할 수 있다. 일 실시예에서, RDS는 Session ID 및/또는 URSK를 포함할 수 있다.In operation 8070 , the second security component 813 may prepare (or set/create) the RDS. For example, a TEE (or a TA within a TEE) may prepare an RDS. In one embodiment, the RDS may include a Session ID and/or a URSK.

동작 8080에서, 제2 보안 컴포넌트(813)는 레인징 데이터(RDS)를 설정하도록 하는 명령에 대응하는 응답을 Framework(811)로 전달할 수 있다. 예를 들면, 제2 보안 컴포넌트(813)는 setRangingData(AppID)에 대응하는 리턴/응답(API Return)을 Framework(811)로 전달할 수 있다. 일 실시예에서, 리턴은 RDS가 준비(또는, 설정/생성)되었음을 알리는 값(API Return: RDS ready)을 포함할 수 있다.In operation 8080 , the second security component 813 may transmit a response corresponding to a command to set the ranging data RDS to the Framework 811 . For example, the second security component 813 may transmit a return/response (API Return) corresponding to setRangingData(AppID) to the Framework 811 . In an embodiment, the return may include a value (API Return: RDS ready) indicating that the RDS is ready (or set/created).

동작 8090에서, Framework(811)는 RDS를 UWBS로 전달하도록 하는 명령을 제2 보안 컴포넌트(813)로 전달할 수 있다. 예를 들면, Framework(811)(또는, UWB-enabled application)는 제2 보안 컴포넌트(813)에 대한 PushRDStoUWBS() API/명령을 호출/사용할 수 있다. PushRDStoUWBS()는 제2 보안 컴포넌트(813)가 준비된 RDS를 UWBS로 전송(또는, pushing)하도록 하는 기능을 갖는다. 즉, PushRDStoUWBS()는 제2 보안 컴포넌트(813)가 RDS를 UWBS로 전달하도록 하기 위해 사용되는 API일 수 있다. PushRDStoUWBS()는 준비된 RDS에 대응하는 어플리케이션에 대한 AppID를 포함할 수 있다.In operation 8090 , the Framework 811 may transmit a command to transmit the RDS to the UWBS to the second security component 813 . For example, the Framework 811 (or UWB-enabled application) may call/use the PushRDStoUWBS( ) API/command for the second security component 813 . PushRDStoUWBS( ) has a function of allowing the second security component 813 to transmit (or push) the prepared RDS to the UWBS. That is, PushRDStoUWBS( ) may be an API used to allow the second security component 813 to deliver the RDS to the UWBS. PushRDStoUWBS() may include an AppID for an application corresponding to the prepared RDS.

동작 8100에서, 전자 장치(810)는 UWBS(812)와 제2 보안 컴포넌트(813) 사이의 보안 채널을 설정할 수 있다. 이를 통해, 장치 내 UWBS(812)와 제2 보안 컴포넌트(813) 사이에 보안 채널이 설정될 수 있다. 예를 들면, UWBS와 TEE(또는, TEE 내의 TA) 사이에 보안 채널이 설정될 수 있다. 도 7b에서 상술한 것처럼, UWBS(812)와 제2 보안 컴포넌트(813) 사이의 보안 채널은 예컨대, Framework(811)를 통해 간접적으로 설정될 수 있다. 이 보안 채널 설정 절차의 예시에 대하여는 도 9a 및 9b를 참조하여 이하에서 설명한다.In operation 8100 , the electronic device 810 may establish a secure channel between the UWBS 812 and the second secure component 813 . Through this, a secure channel may be established between the UWBS 812 and the second secure component 813 in the device. For example, a secure channel may be established between the UWBS and the TEE (or the TA within the TEE). As described above in FIG. 7B , a secure channel between the UWBS 812 and the second secure component 813 may be indirectly established, for example, through the Framework 811 . An example of this secure channel establishment procedure will be described below with reference to FIGS. 9A and 9B.

동작 8110에서, 제2 보안 컴포넌트(813)는 설정된 보안 채널을 통해 암호화된 RDS를 UWBS(812)로 전달할 수 있다. 예를 들면, TEE(또는, TEE 내의 TA)는 보안 채널 설정 절차를 통해 획득된 암호화 키(K_ENC)를 이용하여 RDS를 암호화하고, 암호화된 RDS를 UWBS(812)로 전달할 수 있다. 이를 통해, RDS가 안전하게 제2 보안 컴포넌트에서 UWBS로 전달(푸싱)될 수 있다.In operation 8110 , the second security component 813 may deliver the encrypted RDS to the UWBS 812 through the established secure channel. For example, the TEE (or the TA in the TEE) may encrypt the RDS using the encryption key (K_ENC) obtained through the secure channel establishment procedure, and transmit the encrypted RDS to the UWBS 812 . Through this, the RDS can be safely delivered (pushed) from the second security component to the UWBS.

동작 8120에서, Framework(811)는 UWB 세션을 시작하기 위한 레인징 시작 명령(command)을 UWBS(812)로 전송할 수 있다. 예를 들면, Framework(811)는 UWB 세션/레인징을 시작하기 위한 UCI 명령(UCI: Ranging Start())을 UWBS로 전송할 수 있다. Ranging Start()는 AppID를 포함할 수 있다. 일 실시예에서, AppID는 상기 UWB 세션을 식별하는 Session ID와 연관될 수 있다.In operation 8120 , the Framework 811 may transmit a ranging start command for starting a UWB session to the UWBS 812 . For example, the Framework 811 may transmit a UCI command (UCI: Ranging Start()) for starting a UWB session/ranging to UWBS. Ranging Start() may include AppID. In one embodiment, an AppID may be associated with a Session ID that identifies the UWB session.

동작 8130에서, UWBS(812)는 레인징 시작 명령에 대응하는 응답(response)을 Framework(811)로 전송할 수 있다. 일 실시예에서, 응답은 레인징 시작 명령이 수락(accepted)되었는지 아니지를 지시하는 상태 값을 포함할 수 있다. 예를 들면, 응답은 레인징 시작 명령이 수락됨을 지시하는 OK 값, 또는 레인징 시작 명령이 수락되지 않음을 지시하는 NOK 값을 포함할 수 있다.In operation 8130 , the UWBS 812 may transmit a response corresponding to the ranging start command to the framework 811 . In one embodiment, the response may include a status value indicating whether the ranging start command has been accepted or not. For example, the response may include an OK value indicating that the ranging start command is accepted, or a NOK value indicating that the ranging start command is not accepted.

동작 8140에서, 전자 장치(810)는 UWBS(812)를 통해 외부 전자 장치(820)와 Secure Ranging을 수행할 수 있다. 이때, UWBS(812)는 URSK를 이용하여 Secure Ranging을 수행할 수 있다.In operation 8140 , the electronic device 810 may perform secure ranging with the external electronic device 820 through the UWBS 812 . In this case, the UWBS 812 may perform Secure Ranging using URSK.

도 8의 실시예에서와 같이, 제2 보안 컴포넌트를 포함하는 전자 장치에서는, 어플리케이션의 API 호출에 의해 URSK를 포함하는 RDS가 제2 보안 컴포넌트로부터 UWBS로 푸싱될 수 있다. 예를 들면, 어플리케이션의 PushRDStoUWBS(AppID) API 호출을 통해, RDS가 TEE(또는, TEE 내 TA)로부터 UWBS로 전달될 수 있다.As in the embodiment of FIG. 8 , in the electronic device including the second security component, the RDS including the URSK may be pushed from the second security component to the UWBS by an API call of the application. For example, the RDS may be transferred from the TEE (or TA within the TEE) to the UWBS through the PushRDStoUWBS (AppID) API call of the application.

한편, 도 8에 개시된 제2 보안 컴포넌트에 의해 전달된 세션 키를 이용한 보안 레인징 동작은, 도 4에 개시된 제1 보안 컴포넌트에 의해 전달된 세션 키를 이용한 보안 레인징 동작과 외부 장치의 관점에서는 동일하게 보여질 수 있다.On the other hand, the secure ranging operation using the session key delivered by the second security component shown in FIG. 8 , the secure ranging operation using the session key delivered by the first security component shown in FIG. 4 and the external device point of view can be seen the same.

<UWBS와 제2 보안 컴포넌트(예컨대, TEE) 간의 보안 채널 설정 절차의 제1 실시예><First embodiment of secure channel establishment procedure between UWBS and a second secure component (eg, TEE)>

도 9a는 본 개시의 예시적인 실시예에 따른 Symmetric 방식을 이용한 UWBS와 보안 컴포넌트 간의 보안 채널 설정 절차를 나타낸다.9A illustrates a secure channel establishment procedure between UWBS and a secure component using a symmetric scheme according to an exemplary embodiment of the present disclosure.

도 9a의 보안 채널 설정 절차는 도 8의 동작 8100의 보안 채널 설정 절차의 일 예일 수 있다. The secure channel setting procedure of FIG. 9A may be an example of the secure channel setting procedure of operation 8100 of FIG. 8 .

도 9a의 Symmetric 방식은 상호 간에 랜덤 값을 주고받고, 해당 랜덤 값을 기반으로 session key를 생성하는 방식에 해당한다. 이 경우, 인증을 위한 키를 가지고 있음을 증명하기 위해 cryptogram이 활용된다. 생성된 세션 키는 암호화를 위한 세션 키(s_ENC)(제1 세션 키) 및/또는 메시지 인증을 위한 세션 키(s_MAC)(제2 세션 키)를 포함할 수 있다.The symmetric method of FIG. 9A corresponds to a method of exchanging random values with each other and generating a session key based on the corresponding random value. In this case, a cryptogram is utilized to prove that you have the key for authentication. The generated session key may include a session key (s_ENC) (first session key) for encryption and/or a session key (s_MAC) (second session key) for message authentication.

도 9a의 실시예에서, 전자 장치는 프레임워크(911), UWBS(912) 및 보안 컴포넌트(913)를 포함할 수 있다.In the embodiment of FIG. 9A , the electronic device may include a framework 911 , a UWBS 912 , and a security component 913 .

도 9a의 실시예에서, 보안 컴포넌트(913) 및 UWBS(912)가 Symmetric cryptographic 알고리즘을 이용하는 Symmetric 방식을 위한 미리 공유된 공유키(예컨대, K1, K2)를 포함할 수 있다. 각 키는 예컨대, 도 10b에서 설명할 키 프로비저닝 동작을 통해 보안 컴포넌트에 저장될 수 있다.In the embodiment of FIG. 9A , secure component 913 and UWBS 912 may include a pre-shared shared key (eg, K1, K2) for a Symmetric scheme using a Symmetric cryptographic algorithm. Each key may be stored in the secure component, for example, through a key provisioning operation, which will be described with reference to FIG. 10B .

도 9a의 보안 채널 설정 절차는 예컨대, 동작 9100에서와 같이, PushRDStoUWBS() API가 호출된 경우에 개시될 수 있다. 예를 들면, RDS를 UWBS로 푸쉬하기 위한 명령이 프레임워크(또는, UWB-enabled application)으로부터 보안 컴포넌트로 전달된 경우, 보안 채널 설정 절차가 개시될 수 있다. 그러나, 실시예가 이에 한정되지 않는다.The secure channel establishment procedure of FIG. 9A may be initiated when the PushRDStoUWBS() API is called, as in operation 9100, for example. For example, when a command for pushing RDS to UWBS is transmitted from a framework (or UWB-enabled application) to a secure component, a secure channel establishment procedure may be initiated. However, the embodiment is not limited thereto.

도 9a를 참조하면, 동작 9101에서, 보안 컴포넌트(913)는 랜덤 값(r)을 생성하여, Framework(912)로 전송한다. 보안 컴포넌트는 TEE 또는 Strongbox일 수 있다. 상술한 것처럼, TEE는 TA를 포함할 수 있고, TEE인 보안 컴포넌트의 동작은 TEE 내의 TA의 동작으로 이해될 수 있다.Referring to FIG. 9A , in operation 9101 , the security component 913 generates a random value r and transmits it to the framework 912 . The security component can be TEE or Strongbox. As described above, the TEE may include the TA, and the operation of the security component that is the TEE may be understood as the operation of the TA in the TEE.

동작 9102에서, Framework(911)는 UWBS(912)로 수신된 랜덤 값(r)을 전달한다. 랜덤 값(r)은 제1 랜덤 값으로 지칭될 수 있다.In operation 9102 , the Framework 911 transmits the received random value r to the UWBS 912 . The random value r may be referred to as a first random value.

동작 9103에서, UWBS(912)는 랜덤 값(r') 생성 동작(Gen random r'), 제1 세션 키(s_enc) 생성 동작(Gen SessionKey s_enc), 제2 세션 키(s_MAC) 생성 동작(Gen SessionKey s_MAC) 및/또는 cryptogram (q) 생성 동작(Gen cryptogram q)를 수행할 수 있다.In operation 9103, the UWBS 912 generates a random value (r') operation (Gen random r'), a first session key (s_enc) generation operation (Gen SessionKey s_enc), a second session key (s_MAC) generation operation (Gen) SessionKey s_MAC) and/or cryptogram (q) generation operation (Gen cryptogram q) may be performed.

UWBS(912)는 랜덤 값 생성 동작을 통해 랜덤 값(r')를 생성할 수 있다. 랜덤 값(r')는 제2 랜덤 값으로 지칭될 수 있다.The UWBS 912 may generate a random value r' through a random value generation operation. The random value r′ may be referred to as a second random value.

UWBS(912)는 제1 세션 키 생성 동작을 통해 암호화를 위해 사용되는 제1 세션 키(s_enc)를 생성할 수 있다.The UWBS 912 may generate a first session key (s_enc) used for encryption through a first session key generation operation.

UWBS(912)는 제2 세션 키 생성 동작을 통해 메시지 인증을 위해 사용되는 제2 세션 키(s_MAC)를 생성할 수 있다.The UWBS 912 may generate a second session key (s_MAC) used for message authentication through a second session key generation operation.

UWBS(912)는 cryptogram 생성 동작을 통해 cryptogram(q)을 생성할 수 있다. cryptogram(q)는 제1 cryptogram으로 지칭될 수 있다.The UWBS 912 may generate a cryptogram (q) through a cryptogram generation operation. A cryptogram (q) may be referred to as a first cryptogram.

동작 9104에서, UWBS(912)는 랜덤 값(r') 및 cryptogram (q)를 보안 컴포넌트(913)로 전송할 수 있다. 랜덤 값(r') 및 cryptogram (q)는 프레임워크(911)를 통해 보안 컴포넌트(913)로 전달될 수 있다.In operation 9104 , the UWBS 912 may send a random value (r′) and a cryptogram (q) to the secure component 913 . The random value (r′) and cryptogram (q) may be transmitted to the security component 913 through the framework 911 .

동작 9105에서, 보안 컴포넌트는 제1 세션 키(s_enc) 생성 동작(Gen SessionKey s_enc), 제2 세션 키(s_MAC) 생성 동작(Gen SessionKey s_MAC), cryptogram (q) 검증 동작(Verify cryptogram (q)) 및/또는 cryptogram (p) 생성 동작(Gen cryptogram p)를 수행할 수 있다. 일 실시예에서, 세션 키는 보안 채널 키 및 랜덤 값에 기초하여 생성될 수 있다.In operation 9105 , the security component performs a first session key (s_enc) generation operation (Gen SessionKey s_enc), a second session key (s_MAC) generation operation (Gen SessionKey s_MAC), a cryptogram (q) verification operation (Verify cryptogram (q)) and/or a cryptogram (p) generation operation (Gen cryptogram p) may be performed. In one embodiment, the session key may be generated based on a secure channel key and a random value.

보안 컴포넌트(913)는 제1 세션 키 생성 동작을 통해 암호화를 위해 사용되는 제1 세션 키(s_enc)를 생성할 수 있다.The security component 913 may generate a first session key (s_enc) used for encryption through a first session key generation operation.

보안 컴포넌트(913)는 제2 세션 키 생성 동작을 통해 메시지 인증을 위해 사용되는 제2 세션 키(s_MAC)를 생성할 수 있다.The security component 913 may generate a second session key (s_MAC) used for message authentication through a second session key generation operation.

보안 컴포넌트(913)는 cryptogram 검증 동작을 통해 UWBS(912)로부터 수신된 cryptogram(q)를 검증할 수 있다.The security component 913 may verify the cryptogram (q) received from the UWBS 912 through a cryptogram verification operation.

보안 컴포넌트(913)는 cryptogram 생성 동작을 통해 cryptogram(p)을 생성할 수 있다. cryptogram(p)는 제2 cryptogram으로 지칭될 수 있다.The security component 913 may generate a cryptogram (p) through a cryptogram generating operation. The cryptogram (p) may be referred to as a second cryptogram.

동작 9106에서, 보안 컴포넌트(913)는 cryptogram (p)를 UWBS(912)로 전송할 수 있다. cryptogram(p)는 프레임워크(911)를 통해 보안 컴포넌트(913)로 전달될 수 있다.In operation 9106 , the secure component 913 may send the cryptogram (p) to the UWBS 912 . The cryptogram(p) may be delivered to the security component 913 through the framework 911 .

동작 9107에서, UWBS(912)는 cryptogram (p) 검증 동작(Verify cryptogram (p))을 수행할 수 있다. UWBS(912)는 cryptogram 검증 동작을 통해 보안 컴포넌트(913)으로부터 수신된 cryptogram(p)를 검증할 수 있다.In operation 9107 , the UWBS 912 may perform a cryptogram (p) verification operation (Verify cryptogram (p)). The UWBS 912 may verify the cryptogram (p) received from the security component 913 through the cryptogram verification operation.

동작 9108에서, Framework(911)는 UWBS(912) 및 보안 컴포넌트(913)에 대한 랜덤 챌린지 동작을 수행할 수 있다. 예를 들면, 도시된 것처럼, Framework(911)는 랜덤 챌린지 동작을 통해, 랜덤 챌린지(랜덤 값)을 UWBS(912) 및 보안 컴포넌트(913)로 전달할 수 있다.In operation 9108 , the Framework 911 may perform a random challenge operation on the UWBS 912 and the security component 913 . For example, as illustrated, the Framework 911 may transmit a random challenge (random value) to the UWBS 912 and the security component 913 through a random challenge operation.

동작 9109에서, Framework(911)는 UWBS(912) 및 보안 컴포넌트(913)로부터 랜덤 챌린지에 대한 응답을 수신할 수 있다. 예를 들면, 도시된 것처럼, Framework(911)는 랜덤 챌린지 및 메시지 인증을 위해 사용되는 제2 세션 키(s_MAC)에 기초하여 생성된 MAC를 USBS(912) 및 보안 컴포넌트(913)으로부터 각각 수신할 수 있다. 실시예로서, MAC를 생성하기 위해, HMAC(Hash-based Message Authentication Code) 알고리즘 또는 CMAC(Cipher-based Message Authentication Code) 알고리즘이 사용될 수 있다.In operation 9109 , the Framework 911 may receive a response to the random challenge from the UWBS 912 and the security component 913 . For example, as shown, the Framework 911 receives a MAC generated based on the second session key (s_MAC) used for random challenge and message authentication from the USBS 912 and the security component 913, respectively. can As an embodiment, to generate the MAC, a Hash-based Message Authentication Code (HMAC) algorithm or a Cipher-based Message Authentication Code (CMAC) algorithm may be used.

또한, Framework(911)는 UWBS(912)로부터 수신된 MAC(제1 MAC) 및 보안 컴포넌트(913)으로부터 수신된 MAC(제2 MAC)가 일치하는지 여부를 결정할 수 있다.Also, the Framework 911 may determine whether the MAC (first MAC) received from the UWBS 912 and the MAC (second MAC) received from the security component 913 match.

이러한 과정을 통해, UWBS(912)는 URSK(또는, RDS)를 수신할 준비가 되며, Framework(911) 및 보안 컴포넌트(913)는 UWBS(912)로 URSK(또는, RDS)를 푸쉬할 준비가 완료될 수 있다. 예를 들면, UWBS(912)로부터 수신된 MAC(제1 MAC) 및 보안 컴포넌트(913)으로부터 수신된 MAC(제2 MAC)가 일치하는 경우, UWBS(912)는 URSK(또는, RDS)를 수신할 준비가 되며, Framework(911) 및 보안 컴포넌트(913)는 UWBS(912)로 URSK(또는, RDS)를 전달할 준비가 완료될 수 있다.Through this process, the UWBS 912 is ready to receive the URSK (or RDS), and the Framework 911 and the security component 913 are ready to push the URSK (or RDS) to the UWBS 912 . can be completed For example, if the MAC (first MAC) received from the UWBS 912 and the MAC (second MAC) received from the security component 913 match, the UWBS 912 receives the URSK (or RDS). Ready to do so, Framework 911 and security component 913 may be ready to pass URSK (or RDS) to UWBS 912 .

<UWBS와 제2 보안 컴포넌트(예컨대, TEE) 간의 보안 채널 설정 절차의 제2 실시예><Second embodiment of secure channel establishment procedure between UWBS and a second secure component (eg, TEE)>

도 9b는 본 개시의 예시적인 실시예에 따른 Asymmetric 방식을 이용한 UWBS와 보안 컴포넌트 간의 보안 채널 설정 절차의 일 예를 나타낸다.9B shows an example of a procedure for establishing a secure channel between UWBS and a secure component using an asymmetric scheme according to an exemplary embodiment of the present disclosure.

도 9b의 보안 채널 설정 절차는 도 8의 동작 8100의 보안 채널 설정 절차의 일 예일 수 있다.The secure channel setting procedure of FIG. 9B may be an example of the secure channel setting procedure of operation 8100 of FIG. 8 .

도 9b의 Asymmetric 방식은 PFS(Perfect Forward Secrecy)를 만족하기 위해 ECC(Elliptic curve) 기반의 임시 키(ephemeral key)를 이용하여 공유 비밀키(shared secret)를 생성하는 것을 특징으로 한다. 생성된 공유 비밀키는 세션 키를 생성하기 위해 사용될 수 있다. 또한, Asymmetric 방식은 인증을 위해서 미리 모바일 벤더가 저장한 인증서 및 개인키(static key) 가 필요하며, ephemeral key와 static key를 양측에서 ECC 알고리즘에 맞게 구성하여, shared secret을 생성하여 활용할 수 있다.The asymmetric method of FIG. 9B is characterized in that a shared secret is generated using an elliptic curve (ECC)-based ephemeral key to satisfy Perfect Forward Secrecy (PFS). The generated shared secret key can be used to generate a session key. In addition, the asymmetric method requires a certificate and a private key (static key) stored by the mobile vendor in advance for authentication, and the ephemeral key and the static key are configured to match the ECC algorithm on both sides, and a shared secret can be generated and utilized.

도 9b의 실시예에서, 전자 장치는 프레임워크(921), UWBS(922) 및 보안 컴포넌트(923)를 포함할 수 있다. 실시예로서, 보안 컴포넌트(923)는 TEE 또는 SB일 수 있다. 상술한 것처럼, TEE는 TA를 포함할 수 있고, TEE인 보안 컴포넌트의 동작은 TEE 내의 TA의 동작으로 이해될 수 있다.In the embodiment of FIG. 9B , the electronic device may include a framework 921 , a UWBS 922 , and a security component 923 . As an embodiment, the secure component 923 may be a TEE or an SB. As described above, the TEE may include the TA, and the operation of the security component that is the TEE may be understood as the operation of the TA in the TEE.

도 9b의 실시예에서, UWBS(922) 및 보안 컴포넌트(923)는 Asymmetric cryptographic 알고리즘을 이용하는 Asymmetric 방식을 위한 키 및 인증서를 각각 포함한다. 예컨대, 보안 컴포넌트(TA)는 TA의 개인키/공개키(Priv/Pub_TA), TA의 인증서(Cert_TA) 및/또는 UWBS의 인증서(Cert_UWB)를 포함하고, 보안 컴포넌트(SB)는 SB의 개인키/공개키(Priv/Pub_SB), SB의 인증서(Cert_SB) 및/또는 UWB의 인증서(Cert_UWB)를 포함하고, UWBS는 UWBS의 개인키/공개키(Priv/Pub_UWB), TA의 인증서(Cert_TA), 및/또는 SB의 인증서(Cert_SB)를 포함할 수 있다. 각 키는 예컨대, 도 10b에서 설명할 키 프로비저닝 동작을 통해 보안 컴포넌트에 저장될 수 있다.In the embodiment of FIG. 9B , UWBS 922 and security component 923 each include a key and a certificate for an asymmetric scheme using an asymmetric cryptographic algorithm. For example, the security component (TA) includes the TA's private key/public key (Priv/Pub_TA), the TA's certificate (Cert_TA), and/or the UWBS's certificate (Cert_UWB), and the security component (SB) includes the SB's private key. /Public key (Priv/Pub_SB), SB's certificate (Cert_SB) and/or UWB's certificate (Cert_UWB), UWBS includes UWBS's private/public key (Priv/Pub_UWB), TA's certificate (Cert_TA), and/or the SB's certificate (Cert_SB). Each key may be stored in the secure component, for example, through a key provisioning operation, which will be described with reference to FIG. 10B .

도 9b를 참조하면, 동작 9201에서, 보안 컴포넌트(923)는 제1 임시 키(e) 생성 동작(Gen ephemeral key e)을 수행할 수 있다. 예를 들면, TEE(또는, TA)는 제1 임시 키 생성 동작을 통해, 제1 임시 키(e)를 생성할 수 있다. 일 실시예에서, 임시 키(e)는 예컨대, 예컨대, 동작 9200에서와 같이, PushRDStoUWBS() API가 호출되기 이전에 생성될 수 있으나, 이에 한정되지 않는다.Referring to FIG. 9B , in operation 9201 , the security component 923 may perform a first temporary key (e) generation operation (Gen ephemeral key e). For example, the TEE (or TA) may generate the first temporary key e through the first temporary key generation operation. In one embodiment, the temporary key e may be generated before the PushRDStoUWBS() API is called, for example, as in operation 9200, but is not limited thereto.

보안 컴포넌트(923)는 제1 임시 키(e)에 대한 서명 값(signed(e))를 더 생성할 수 있다. 예를 들면, TEE(또는, TA)는 TA의 개인키(Priv_TA)를 이용하여 제1 임시 키(e)에 대한 서명 값(signed(e))를 더 생성할 수 있다. 본 개시에서, 제1 임시 키(e)는 Pub_e로 지칭될 수도 있고, 제1 임시 키에 대한 서명 값(signed(e))은 signed(Pub_e)로 지칭될 수도 있다.The security component 923 may further generate a signature value signed(e) for the first temporary key e. For example, the TEE (or TA) may further generate a signature value (signed(e)) for the first temporary key (e) by using the TA's private key (Priv_TA). In the present disclosure, the first temporary key (e) may be referred to as Pub_e, and the signature value (signed(e)) for the first temporary key may be referred to as signed(Pub_e).

동작 9202에서, 보안 컴포넌트(923)는 제1 임시 키 및 제1 임시 키에 대한 서명 값("e || signed(e)")를 Framework(921)로 전송하고, 동작 9203에서 Framework(921)는 수신된 제1 임시 키 및 제1 임시 키의 서명 값("e || signed(e)" 또는 "Pub_e || signed(Pub_e)")를 UWBS로 전송한다.In operation 9202 , the security component 923 transmits the first temporary key and a signature value for the first temporary key (“e || signed(e)”) to the Framework 921 , and in operation 9203 , the Framework 921 sends the received first temporary key and the signature value of the first temporary key (“e || signed(e)” or “Pub_e || signed(Pub_e)”) to UWBS.

동작 9204에서, UWBS(922)는 서명된 임시키(signed e)를 검증하는 동작(Verify signed e) 및 제2 임시 키(e') 생성 동작(Gen ephemeral key e')을 수행할 수 있다. 예를 들면, UWBS(922)는 TA의 인증서(또는, TA의 공개 키(Pub_TA))를 이용하여 제1 임시 키에 대한 서명 값(signed(e))을 검증할 수 있고, 제2 임시 키 생성 동작을 통해 제2 임시 키(e')를 생성할 수 있다. 실시예로서, 공유 비밀 키(shared secret)는 제1 임시 키(e)와 제2 임시 키(e')에 기초하여 생성/계산될 수 있다. 본 개시에서, 제2 임시 키(e')는 Pub_e'로 지칭될 수도 있다.In operation 9204, the UWBS 922 may perform an operation for verifying a signed temporary key (signed e) (Verify signed e) and an operation for generating a second temporary key (e') (Gen ephemeral key e'). For example, the UWBS 922 may verify the signature value (signed(e)) for the first temporary key using the TA's certificate (or the TA's public key (Pub_TA)), and the second temporary key The second temporary key e' may be generated through the generation operation. As an embodiment, a shared secret may be generated/calculated based on the first temporary key (e) and the second temporary key (e'). In this disclosure, the second temporary key (e') may be referred to as Pub_e'.

UWBS(922)는 제2 임시 키(e')에 대한 서명 값(singed(e') 또는 signed(Pub_e', Pub_e))을 더 생성할 수 있다. 예를 들면, UWBS(922)는 UWBS의 개인키(Priv_UWBS)를 이용하여 제2 임시 키(e')에 대한 서명 값을 더 생성할 수 있다.The UWBS 922 may further generate a signature value (singed(e') or signed(Pub_e', Pub_e)) for the second temporary key (e'). For example, the UWBS 922 may further generate a signature value for the second temporary key (e') using the private key (Priv_UWBS) of the UWBS.

동작 9205에서, UWBS(922)는 제2 임시 키 및 제2 임시 키에 대한 서명 값("e' || signed(e')" 또는 "Pub_e' || signed(Pub_e', pub_e)")를 Framework(921)로 전송하고, 동작 9206에서, Framework(921)는 수신된 제2 임시 키 및 제2 임시 키에 대한 서명 값("e' || signed(e')" 또는 "Pub_e' || signed(Pub_e', pub_e)")를 보안 컴포넌트(923)로 전송한다.In operation 9205, the UWBS 922 obtains the second temporary key and a signature value for the second temporary key ("e' || signed(e')" or "Pub_e' || signed(Pub_e', pub_e)"). send to the Framework 921, and in operation 9206, the Framework 921 receives the second temporary key and a signature value for the second temporary key ("e' || signed(e')" or "Pub_e' || signed(Pub_e', pub_e)") to the security component 923 .

동작 9207에서, 보안 컴포넌트(923)는 제2 임시 키(Pub_e') 및 제1 임시 키(pub_e)를 이용하여 공유 비밀키 S를 계산하는 동작, 공유 비밀키 S 및 미리 공유된 파라미터(예컨대, 1234)(제1 컨텍스트)에 기초한 암호화를 위해 사용되는 세션 키(K_ENC)의 생성 동작, 및 공유 비밀키 S 및 미리 공유된 파라미터(예컨대, ABCD)(제2 컨텍스트)에 기초한 MAC를 위한 세션 키(K_MAC)의 생성 동작을 수행할 수 있다. 예를 들면, TEE(또는, TA)는 제2 임시 키(e') 및 제1 임시 키(e)를 이용하여 공유 비밀키 S를 생성하고, 미리 설정된 KDF(key derivation function)를 이용하여 공유 비밀키 S와 제1 컨텍스트로부터 암호화를 위한 세션 키(K_ENC)를 생성하고, 미리 설정된 KDF를 이용하여 공유 비밀키 S와 제2 컨텍스트로부터 메시지 인증을 위한 세션 키(K_MAC)를 생성할 수 있다.In operation 9207, the security component 923 calculates the shared secret key S using the second temporary key (Pub_e') and the first temporary key (pub_e), the shared secret key S and the pre-shared parameters (eg, 1234) (first context), generating operation of session key (K_ENC) used for encryption, and session key for MAC based on shared secret key S and pre-shared parameters (eg ABCD) (second context) (K_MAC) generation operation may be performed. For example, the TEE (or TA) generates a shared secret key S using the second temporary key (e') and the first temporary key (e), and shares it using a preset key derivation function (KDF). A session key (K_ENC) for encryption may be generated from the secret key S and the first context, and a session key (K_MAC) for message authentication may be generated from the shared secret key S and the second context using a preset KDF.

동작 9208에서, UWBS(922)는 제2 임시 키(Pub_e') 및 제1 임시 키(pub_e)를 이용하여 공유 비밀키 S를 계산하는 동작, 공유 비밀키 S 및 미리 공유된 파라미터(예컨대, 1234)(제1 컨텍스트)에 기초한 암호화를 위해 사용되는 세션 키(K_ENC)의 생성 동작, 및 공유 비밀키 S 및 미리 공유된 파라미터(예컨대, ABCD)(제2 컨텍스트)에 기초한 MAC를 위한 세션 키(K_MAC)의 생성 동작을 수행할 수 있다. 예를 들면, UWBS(922)는 제2 임시 키(Pub_e') 및 제1 임시 키(pub_e)를 이용하여 공유 비밀키 S를 생성하고, 미리 설정된 KDF를 이용하여 공유 비밀키 S와 제1 컨텍스트로부터 암호화를 위한 제1 세션 키(K_ENC)를 생성하고, 미리 설정된 KDF를 이용하여 공유 비밀키 S와 제2 컨텍스트로부터 메시지 인증을 위한 제2 세션 키(K_MAC)를 생성할 수 있다. 이를 통해, UWBS(922) 및 보안 컴포넌트(923)가 동일한 암호화를 위한 키(K_ENC) 및 메시지 인증을 위한 키(K_MAC)를 소유할 수 있다.In operation 9208, the UWBS 922 calculates the shared secret key S using the second temporary key (Pub_e') and the first temporary key (pub_e), the shared secret key S and the pre-shared parameters (eg, 1234). ) (the first context) (the first context), and the operation of generating the session key (K_ENC) used for encryption, and the session key for the MAC based on the shared secret key S and pre-shared parameters (e.g. ABCD) (second context) (second context). K_MAC) generation operation may be performed. For example, the UWBS 922 generates a shared secret key S using the second temporary key (Pub_e') and the first temporary key (pub_e), and uses the preset KDF to generate the shared secret key S and the first context. A first session key (K_ENC) for encryption may be generated from , and a second session key (K_MAC) for message authentication may be generated from the shared secret key S and the second context using a preset KDF. This allows the UWBS 922 and the security component 923 to possess the same key for encryption (K_ENC) and key for message authentication (K_MAC).

한편, 도시된 실시예에서는, 동작 9208이, 동작 9205 이후에 수행되는 것으로 예시되어 있으나, 동작 9208은 동작 9204 이후의 어느 시점에서도 수행될 수 있다. 예를 들면, 동작 9208은 동작 9204 이후, 그리고, 동작 9205 이전에 수행될 수도 있다.Meanwhile, in the illustrated embodiment, operation 9208 is exemplified as being performed after operation 9205, but operation 9208 may be performed at any time after operation 9204. For example, operation 9208 may be performed after operation 9204 and before operation 9205 .

동작 9209에서, Framework(921)는 UWBS(922) 및 보안 컴포넌트(923)에 대한 랜덤 챌린지 동작을 수행할 수 있다. 예를 들면, 도시된 것처럼, Framework(921)는 랜덤 챌린지 동작을 통해, 랜덤 챌린지(랜덤 값)을 UWBS(922) 및 보안 컴포넌트(923)로 전달할 수 있다.In operation 9209 , the framework 921 may perform a random challenge operation on the UWBS 922 and the security component 923 . For example, as illustrated, the Framework 921 may transmit a random challenge (random value) to the UWBS 922 and the security component 923 through a random challenge operation.

동작 9210에서, Framework(921)는 UWBS(922) 및 보안 컴포넌트(923)로부터 랜덤 챌린지에 대한 응답을 수신할 수 있다. 예를 들면, 도시된 것처럼, Framework(921)는 랜덤 챌린지 및 메시지 인증을 위해 사용되는 제2 세션 키(K_MAC)에 기초하여 생성된 MAC를 UWBS(922) 및 보안 컴포넌트(923)으로부터 각각 수신할 수 있다. 실시예로서, MAC를 생성하기 위해, HMAC(Hash-based Message Authentication Code) 알고리즘 또는 CMAC(Cipher-based Message Authentication Code) 알고리즘이 사용될 수 있다.At operation 9210 , the Framework 921 may receive a response to the random challenge from the UWBS 922 and the security component 923 . For example, as shown, the Framework 921 receives the MAC generated based on the second session key (K_MAC) used for random challenge and message authentication from the UWBS 922 and the security component 923, respectively. can As an embodiment, to generate the MAC, a Hash-based Message Authentication Code (HMAC) algorithm or a Cipher-based Message Authentication Code (CMAC) algorithm may be used.

또한, Framework(921)는 UWBS(922)로부터 수신된 MAC(제1 MAC) 및 보안 컴포넌트(923)로부터 수신된 MAC(제2 MAC)가 일치하는지 여부를 결정할 수 있다. Also, the Framework 921 may determine whether the MAC (first MAC) received from the UWBS 922 and the MAC (second MAC) received from the security component 923 match.

이러한 과정을 통해, UWBS(922)는 URSK(또는, RDS)를 수신할 준비가 되며, Framework(921) 및 보안 컴포넌트(923)는 UWBS(922)로 URSK(또는, RDS)를 푸쉬할 준비가 완료될 수 있다. 예를 들면, UWBS(922)로부터 수신된 MAC(제1 MAC) 및 보안 컴포넌트(923)으로부터 수신된 MAC(제2 MAC)가 일치하는 경우, UWBS(922)는 URSK(또는, RDS)를 수신할 준비가 되며, Framework(921) 및 보안 컴포넌트(923)는 UWBS(922)로 URSK(또는, RDS)를 전달할 준비가 완료될 수 있다.Through this process, the UWBS 922 is ready to receive the URSK (or RDS), and the Framework 921 and the security component 923 are ready to push the URSK (or RDS) to the UWBS 922 . can be completed For example, if the MAC (first MAC) received from UWBS 922 and the MAC (second MAC) received from security component 923 match, then UWBS 922 receives the URSK (or RDS). Ready to do so, Framework 921 and security component 923 may be ready to pass URSK (or RDS) to UWBS 922 .

<UWBS와 제2 보안 컴포넌트(예컨대, TEE) 간의 보안 채널 설정 절차의 제3 실시예><Third embodiment of secure channel establishment procedure between UWBS and a second secure component (eg, TEE)>

도 9c는 본 개시의 예시적인 실시예에 따른 Asymmetric 방식을 이용한 UWBS와 보안 컴포넌트 간의 보안 채널 설정 절차의 다른 예를 나타낸다.9C illustrates another example of a procedure for establishing a secure channel between UWBS and a secure component using an asymmetric scheme according to an exemplary embodiment of the present disclosure.

도 9c의 보안 채널 설정 절차는 도 8의 동작 8100의 보안 채널 설정 절차의 일 예일 수 있다.The secure channel setting procedure of FIG. 9C may be an example of the secure channel setting procedure of operation 8100 of FIG. 8 .

도 9c의 Asymmetric 방식은 PFS(Perfect Forward Secrecy)를 만족하기 위해 ECC(Elliptic curve) 기반의 임시 키(ephemeral key)를 이용하여 공유 비밀키(shared secret)를 생성하는 것을 특징으로 한다. 생성된 공유 비밀키는 세션 키를 생성하기 위해 사용될 수 있다. 또한, Asymmetric 방식은 인증을 위해서 미리 모바일 벤더가 저장한 인증서 및 개인키(static key) 가 필요하며, ephemeral key와 static key를 양측에서 ECC 알고리즘에 맞게 구성하여, shared secret을 생성하여 활용할 수 있다.The asymmetric method of FIG. 9c is characterized in that a shared secret is generated using an elliptic curve (ECC)-based ephemeral key to satisfy Perfect Forward Secrecy (PFS). The generated shared secret key can be used to generate a session key. In addition, the asymmetric method requires a certificate and a private key (static key) stored by the mobile vendor in advance for authentication, and the ephemeral key and the static key are configured to match the ECC algorithm on both sides, and a shared secret can be generated and utilized.

도 9c의 실시예에서는, 설명의 편의를 위해, 전자 장치가 UWB 기반 결제 서비스를 제공하기 위한 전자 장치(예컨대, 도 2b의 제1 전자 장치)이고, 보안 컴포넌트가 TEE(TA)인 것으로 가정하지만, 이에 한정되지 않는다.In the embodiment of FIG. 9C , for convenience of description, it is assumed that the electronic device is an electronic device for providing a UWB-based payment service (eg, the first electronic device of FIG. 2B ) and the security component is TEE (TA). , but not limited thereto.

도 9c의 실시예에서, 전자 장치는 UWB enabled Wallet Application(UWB enabled application)(921), Wallet Framework(Framework)(932), UWBS(933) 및 Trusted Payment Application(Trusted Application)(934)를 포함할 수 있다.In the embodiment of FIG. 9C , the electronic device may include a UWB enabled Wallet Application (UWB enabled application) 921 , a Wallet Framework (Framework) 932 , a UWBS 933 and a Trusted Payment Application (Trusted Application) 934 . can

도 9c의 실시예에서, UWBS(933) 및 Trusted Payment Application(TPA)(934)는 Asymmetric cryptographic 알고리즘을 이용하는 Asymmetric 방식을 위한 키 및 인증서를 각각 포함한다. 예컨대, TPA(934)는 TPA의 비밀키(개인키)(SK.TPA), TPA의 인증서(CERT.TPA) 및/또는 Root 인증서(ROOT.OEM)를 포함하고, UWBS는 UWBS의 비밀키(개인키)(SK.UWBS), UWBS의 인증서(CERT.UWBS), 및/또는 Root 인증서(ROOT.OEM)를 포함할 수 있다. 각 키는 예컨대, 도 10b에서 설명할 키 프로비저닝 동작을 통해 보안 컴포넌트에 저장될 수 있다.In the embodiment of FIG. 9C , UWBS 933 and Trusted Payment Application (TPA) 934 each include a key and a certificate for an asymmetric scheme using an asymmetric cryptographic algorithm. For example, the TPA 934 includes a TPA secret key (private key) (SK.TPA), a TPA certificate (CERT.TPA) and/or a root certificate (ROOT.OEM), and the UWBS includes the UWBS private key ( private key) (SK.UWBS), a UWBS certificate (CERT.UWBS), and/or a root certificate (ROOT.OEM). Each key may be stored in the secure component, for example, through a key provisioning operation, which will be described with reference to FIG. 10B .

아래 표 1은 UWBS와 TEE(TPA/TA) 사이에 보안 채널을 설정하기 위해 사용되는 키 및 데이터의 일 예를 나타낸다.Table 1 below shows an example of a key and data used to establish a secure channel between UWBS and TEE (TPA/TA).

Key nameKey name Type/LengthType/Length PurposePurpose PresencePresence CERT.TPA
CERT.UWBS
CERT.TPA
CERT.UWBS
ECC-P256ECC-P256 Public key certificate of the UWBS and Trusted Payment Application. This certificate is issued by Certificate Authority (e.g. Mobile OEM).Public key certificate of the UWBS and Trusted Payment Application. This certificate is issued by Certificate Authority (e.g. Mobile OEM). MandatoryMandatory
SK.TPA
SK.UWBS
SK.TPA
SK.UWBS
ECC-P256ECC-P256 Secret (Private) key of the Trusted Payment Application and UWBS to prove ownership of the authorization certificate.Secret (Private) key of the Trusted Payment Application and UWBS to prove ownership of the authorization certificate. MandatoryMandatory
shared credentialshared credential AES-128AES-128 Derived shared credential by shared secret from static keys and shared secret from ephemeral keys. This value is K-MAC in accordance with the section 9.1.1.4. Derived shared credential by shared secret from static keys and shared secret from ephemeral keys. This value is K-MAC in accordance with the section 9.1.1.4. OptionalOptional

아래 표 2는 UWBS와 TEE(TPA/TA) 사이에 보안 채널을 설정하기 위해 교환되는 인증서들(예컨대, TPA의 인증서(CERT.TPA) 및 UWBS의 인증서(CERT.UWBS))의 일 예를 나타낸다.Table 2 below shows an example of certificates (eg, TPA's certificate (CERT.TPA) and UWBS's certificate (CERT.UWBS)) that are exchanged to establish a secure channel between UWBS and TEE (TPA/TA). .

TagTag Length Length DescriptionDescription PresencePresence 0x7F210x7F21 CertificateCertificate MandatoryMandatory 0x93 0x93 1-161-16 Serial numberserial number MandatoryMandatory 0x42 0x42 Variablevariable CA IdentifierCA Identifier OptionalOptional 0x5F20 0x5F20 1616 Subject identifierSubject identifier MandatoryMandatory 0x950x95 1One Key Usage('82' digital signature verification, or '88' encipherment for confidentiality; see [GPCS] Table 11-17)Key Usage('82' digital signature verification, or '88' encipherment for confidentiality; see [GPCS] Table 11-17) OptionalOptional 0x5F25 0x5F25 44 Effective Date (YYYYMMDD, BCD format)Effective Date (YYYYMMDD, BCD format) OptionalOptional 0x5F24 0x5F24 44 Expiration Date (YYYYMMDD, BCD format)Expiration Date (YYYYMMDD, BCD format) Optional for device, not present for readerOptional for device, not present for reader 0x53 0x53 1-1271-127 Discretionary Data (unspecified format). Can be used to store the OID corresponding to the credentials, useful in case SELECT ADF with multiple selection must be supported.Discretionary Data (unspecified format). Can be used to store the OID corresponding to the credentials, useful in case SELECT ADF with multiple selection must be supported. OptionalOptional 0x73 0x73 1-1271-127 Discretionary Data (BER-TLV encoded)Discretionary Data (BER-TLV encoded) OptionalOptional 0x7F49 0x7F49 Public Key Data ObjectPublic Key Data Object MandatoryMandatory 0xB0 0xB0 6565 Public Key Point Q (in uncompressed encoding as specified in [TR-03111] section 3.2.1)Public Key Point Q (in uncompressed encoding as specified in [TR-03111] section 3.2.1) MandatoryMandatory 0xF0 0xF0 1One Key Parameter Reference (00 for NIST P256)Key Parameter Reference (00 for NIST P256) MandatoryMandatory 0x5F37 0x5F37 6464 Signature valuesignature value MandatoryMandatory

도 9c를 참조하면, 동작 9301에서, UWB enabled Wallet Application(931)은 TPA로부터 임시 키를 얻기 위한 명령을 TPA(934)로 전달할 수 있다. 예를 들면, UWB enabled Wallet Application(931)은 TPA로부터 임시 키 및/또는 서명된 임시 키를 얻기 위한 TEE 명령(예컨대, TEE Client API CMD: WALLET_GET_ EPHEMERAL_KEY)을 TPA(934)로 전달할 수 있다.Referring to FIG. 9C , in operation 9301 , the UWB enabled wallet application 931 may transmit a command for obtaining a temporary key from the TPA to the TPA 934 . For example, the UWB enabled Wallet Application 931 may transmit a TEE command (eg, TEE Client API CMD: WALLET_GET_EPHEMERAL_KEY) for obtaining a temporary key and/or a signed temporary key from the TPA to the TPA 934 .

아래 표 3은 WALLET_GET_EPHEMERAL_KEY에 대한 TEE 명령의 일 예를 나타낸다.Table 3 below shows an example of a TEE command for WALLET_GET_EPHEMERAL_KEY.

DescriptionDescription This function is to get ephemeral key and signed ephemeral key from Payment Trusted Application. Data is composed ephemeral key and signature of the ephemeral key so those are totally 64bytes(512bit).This function is to get ephemeral key and signed ephemeral key from Payment Trusted Application. Data is composed ephemeral key and signature of the ephemeral key so those are totally 64bytes(512bit). commandIDcommandID 1111 params[1]params[1] - Output data buffer : a buffer of 64 bytes, aligned on a byte boundary
- Data flow direction : output
- Output data buffer : a buffer of 64 bytes, aligned on a byte boundary
- Data flow direction: output
ErrorError TBD (0x00000001 - 0xFFFEFFFF)TBD (0x00000001 - 0xFFFEFFFF)

동작 9032에서, TPA(934)는 TPA의 임시 키(ePK.TPA)를 생성하고, TPA의 임시 키(ePK) 및/또는 TPA의 인증서(CERT.TPA)를 포함하는 응답을 UWB enabled Wallet Application(931)으로 전달할 수 있다. 예를 들면, TPA(934)는 TPA의 임시 키(ePK.TPA)를 생성하고, TPA의 임시 키(ePK.TPA) 및 TPA의 인증서(CERT.TPA)를 포함하는 TEE 응답(예컨대, TEE Client API Return: ePK.TPA | CERT.TPA)을 UWB enabled Wallet Application(931)으로 전달할 수 있다.In operation 9032, the TPA 934 generates a temporary key (ePK.TPA) of the TPA, and sends a response including the temporary key (ePK) of the TPA and/or the certificate (CERT.TPA) of the TPA to the UWB enabled Wallet Application ( 931) can be forwarded. For example, the TPA 934 generates the TPA's temporary key (ePK.TPA), and a TEE response (eg, TEE Client) that includes the TPA's temporary key (ePK.TPA) and the TPA's certificate (CERT.TPA). API Return: ePK.TPA | CERT.TPA) can be delivered to the UWB enabled Wallet Application (931).

동작 9033에서, UWB enabled Wallet Application(931)은 수신된 TPA의 임시 키(ePK.TPA) 및/또는 TPA의 인증서(CERT.TPA)를 Framework(932)로 전달할 수 있다. 예를 들면, UWB enabled Wallet Application(931)은 API(예컨대, Framework API)를 호출하여 수신된 TPA의 임시 키(ePK) 및 TPA의 인증서(CERT.TPA)를 Framework(932)로 전달할 수 있다.In operation 9033 , the UWB enabled Wallet Application 931 may transmit the received TPA temporary key (ePK.TPA) and/or the TPA certificate (CERT.TPA) to the Framework 932 . For example, the UWB enabled Wallet Application 931 may call an API (eg, Framework API) and transmit the received TPA's temporary key (ePK) and TPA's certificate (CERT.TPA) to the Framework 932 .

동작 9034에서, Framework(932)는 수신된 TPA의 임시 키(ePK) 및/또는 TPA의 인증서(CERT.TPA)를 USBS(933)로 전달할 수 있다. 예를 들면, Framework(932)는 수신된 TPA의 임시 키(ePK) 및/또는 TPA의 인증서(CERT.TPA)를 포함하는 UCI 명령(예컨대, UCI CMD: WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD)를 USBS(933)로 전달할 수 있다. WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD는 TEE(TPA/TA)로부터의 임시 키 및 인증서를 UWBS에 넣기 위한 명령일 수 있다.In operation 9034 , the Framework 932 may transfer the received TPA's temporary key (ePK) and/or the TPA's certificate (CERT.TPA) to the USBS 933 . For example, the Framework 932 may transmit a UCI command (eg, UCI CMD: WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD) including the received TPA's temporary key (ePK) and/or TPA's certificate (CERT.TPA) to the USBS 933 . have. WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD may be a command for putting a temporary key and certificate from TEE (TPA/TA) into UWBS.

아래 표 4는 WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD에 대한 UCI 명령의 일 예를 나타낸다.Table 4 below shows an example of a UCI command for WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD.

WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMDWALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD Payload Field(s)Payload Field(s) LengthLength
(Bits)(Bits)
Value/ DescriptionValue/ Description
commandcommand 00 Put the ephemeral key and certificate from TEE to UWBSPut the ephemeral key and certificate from TEE to UWBS Payload lengthpayload length 88 The length of PayloadThe length of Payload ePK.TPAePK.TPA 256256 Ephemeral key from Trusted Payment ApplicationEphemeral key from Trusted Payment Application CERT.TPACERT.TPA Variablevariable Certificate of Trusted Payment ApplicationCertificate of Trusted Payment Application

동작 9305에서, USBS(933)는 공유 비밀 키(shared secret)을 생성하고, AES 키를 생성할 수 있다. 예를 들면, USBS(933)는 UWBS의 임시 키(ePK.UWBS)를 생성하고, UWBS의 임시 키(ePK.UWBS) 및 수신된 TPA의 임시 키(ePK.TPA)를 이용하여 shared secret S를 생성할 수 있다. 또한, USBS(933)는 생성된 shared secret S를 이용하여 암호화를 위한 AES Key(K_ENC) 및 메시지 인증을 위한 AES Key(K_MAC)를 생성할 수 있다.In operation 9305 , the USBS 933 may generate a shared secret and may generate an AES key. For example, the USBS 933 generates a UWBS temporary key (ePK.UWBS), and uses the UWBS temporary key (ePK.UWBS) and the received TPA temporary key (ePK.TPA) to generate a shared secret S. can create Also, the USBS 933 may generate an AES Key (K_ENC) for encryption and an AES Key (K_MAC) for message authentication using the generated shared secret S.

동작 9306에서, USBS(933)는 생성된 UWBS의 임시 키(ePK.UWBS) 및 UWBS의 인증서(CERT.UWBS)를 Framework(932)로 전달할 수 있다. 예를 들면, USBS(933)는 생성된 UWBS의 임시 키(ePK.UWBS) 및 UWBS의 인증서(CERT.UWBS)를 포함하는 UCI 응답(예컨대, UCI RSP: WALLET_PUT_EPEHERAL_KEY_FROM_TEE)를 Framework(932)로 전달할 수 있다. WALLET_PUT_EPEHERAL_KEY_FROM_TEE_RSP은 WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD에 대한 응답일 수 있다.In operation 9306 , the USBS 933 may transfer the generated temporary key of UWBS (ePK.UWBS) and the certificate of UWBS (CERT.UWBS) to the Framework 932 . For example, the USBS 933 may transmit a UCI response (eg, UCI RSP: WALLET_PUT_EPEHERAL_KEY_FROM_TEE) including the generated UWBS temporary key (ePK.UWBS) and UWBS certificate (CERT.UWBS) to the Framework 932 . have. WALLET_PUT_EPEHERAL_KEY_FROM_TEE_RSP may be a response to WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_CMD.

아래 표 5는 WALLET_PUT_EPEHERAL_KEY_FROM_TEE_RSP의 일 예를 나타낸다.Table 5 below shows an example of WALLET_PUT_EPEHERAL_KEY_FROM_TEE_RSP.

WALLET_PUT_EPHEMERAL_KEY_FROM_TEE_RSPWALLET_PUT_EPHEMERAL_KEY_FROM_TEE_RSP Payload Field(s)Payload Field(s) LengthLength
(bits)(bits)
Value/ DescriptionValue/ Description
StatusStatus 88 For various status values refer to Table 37 in UCI Specification of FiRa ConsortiumFor various status values refer to Table 37 in UCI Specification of FiRa Consortium Payload lengthpayload length 88 The length of PayloadThe length of Payload ePK.UWBSePK.UWBS 256256 Ephemeral key from UWBSEphemeral key from UWBS CERT.UWBSCERT.UWBS Variablevariable Certificate of UWBSCertificate of UWBS

동작 9307에서, Framework(932)는 수신된 UWBS의 임시 키(ePK.UWBS) 및/또는 UWBS의 인증서(CERT.UWBS)를 UWB enabled Wallet Application(931)로 전달할 수 있다. 예를 들면, Framework(932)는 수신된 UWBS의 임시 키(ePK.UWBS) 및/또는 UWBS의 인증서(CERT.UWBS)를 포함하는 API 응답(예컨대, API Return: ePK.UWBS | CERT.UWBS)을 UWB enabled Wallet Application(931)로 전달할 수 있다.In operation 9307 , the Framework 932 may transmit the received UWBS temporary key (ePK.UWBS) and/or UWBS certificate (CERT.UWBS) to the UWB enabled Wallet Application 931 . For example, the Framework 932 provides an API response (eg, API Return: ePK.UWBS | CERT.UWBS) including the received UWBS's temporary key (ePK.UWBS) and/or UWBS's certificate (CERT.UWBS). can be delivered to the UWB enabled Wallet Application (931).

동작 9308에서, UWB enabled Wallet Application(931)은 UWBS로부터의 임시 키를 넣기(put)위한 명령을 TPA(934)로 전달할 수 있다. 예를 들면, UWB enabled Wallet Application(931)은 UWBS부터의 임시 키 및/또는 서명된 임시 키를 TPA에 넣기 위한 TEE 명령(예컨대, TEE Client API CMD: WALLET_PUT_ EPHEMERAL_KEY)을 TPA(934)로 전달할 수 있다.In operation 9308 , the UWB enabled Wallet Application 931 may transmit a command for putting a temporary key from UWBS to the TPA 934 . For example, the UWB enabled Wallet Application 931 may transmit a TEE command (eg, TEE Client API CMD: WALLET_PUT_EPHEMERAL_KEY) to the TPA 934 for putting the temporary key and/or the signed temporary key from UWBS into the TPA. have.

아래 표 6은 WALLET_PUT_EPHEMERAL_KEY에 대한 TEE 명령의 일 예를 나타낸다.Table 6 below shows an example of a TEE command for WALLET_PUT_EPHEMERAL_KEY.

DescriptionDescription This function is to put ephemeral key and signed ephemeral key from UWBS to Trusted Payment Application so those are totally 64bytes(512bit).This function is to put ephemeral key and signed ephemeral key from UWBS to Trusted Payment Application so those are totally 64bytes(512bit). commandIDcommandID 1212 params[0]params[0] -Input data buffer : a buffer of 64 bytes, aligned on a byte boundary
-Data flow direction : input
-Input data buffer : a buffer of 64 bytes, aligned on a byte boundary
-Data flow direction: input
ErrorError TBD (0x00000001 - 0xFFFEFFFF)TBD (0x00000001 - 0xFFFEFFFF)

동작 9309에서, TPA(934)는 공유 비밀 키(shared secret)을 생성하고, AES 키를 생성할 수 있다. 예를 들면, TPA(934)는 수신된 UWBS의 임시 키(ePK.UWBS) 및 자신(TPA)의 임시 키(ePK.TPA)를 이용하여 shared secret S를 생성할 수 있다. 또한, TPA(934)는 생성된 shared secret S를 이용하여 암호화를 위한 AES Key(K_ENC) 및 메시지 인증을 위한 AES Key(K_MAC)를 생성할 수 있다.In operation 9309 , the TPA 934 may generate a shared secret and may generate an AES key. For example, the TPA 934 may generate a shared secret S by using the received UWBS temporary key (ePK.UWBS) and its own (TPA) temporary key (ePK.TPA). In addition, the TPA 934 may generate an AES Key (K_ENC) for encryption and an AES Key (K_MAC) for message authentication using the generated shared secret S.

동작 9310에서, TPA(934)는 UWBS로부터의 임시 키를 넣기 위한 명령에 대한 응답을 UWB enabled Wallet Application(931)으로 전달할 수 있다. 예를 들면, TPA(934)는 OK/NOK를 지시하는 TEE 응답(예컨대, TEE Client API Return: OK/NOK)을 UWB enabled Wallet Application(931)으로 전달할 수 있다.In operation 9310 , the TPA 934 may transmit a response to the command for inserting the temporary key from the UWBS to the UWB enabled Wallet Application 931 . For example, the TPA 934 may transmit a TEE response indicating OK/NOK (eg, TEE Client API Return: OK/NOK) to the UWB enabled Wallet Application 931 .

도 9d는 본 개시의 예시적인 실시예에 따른 UWBS와 보안 컴포넌트 간의 보안 채널을 통해 UWBS가 보안 컴포넌트로 RDS를 전달하는 절차를 나타낸다.9D illustrates a procedure for UWBS to deliver an RDS to a secure component through a secure channel between the UWBS and the secure component according to an exemplary embodiment of the present disclosure.

도 9d의 실시예에서, UWBS와 보안 컴포넌트 간의 보안 채널은 예컨대, 도 9c의 보안 채널 설정 절차를 통해 설정될 수 있다.In the embodiment of FIG. 9D , a secure channel between the UWBS and the secure component may be established, for example, through the secure channel establishment procedure of FIG. 9C .

도 9d의 실시예에서는, 설명의 편의를 위해, 전자 장치가 UWB 기반 결제 서비스를 제공하기 위한 전자 장치(예컨대, 도 2b의 제1 전자 장치)이고, 보안 컴포넌트가 TEE(TA)인 것으로 가정하지만, 이에 한정되지 않는다.In the embodiment of FIG. 9D , for convenience of description, it is assumed that the electronic device is an electronic device for providing a UWB-based payment service (eg, the first electronic device of FIG. 2B ) and the security component is TEE (TA). , but is not limited thereto.

도 9d의 실시예에서, 전자 장치는 UWB enabled Wallet Application(UWB enabled application)(941), Wallet Framework(Framework)(942), UWBS(943) 및 Trusted Payment Application(Trusted Application)(944)를 포함할 수 있다.In the embodiment of FIG. 9D , the electronic device includes a UWB enabled Wallet Application (UWB enabled application) 941 , a Wallet Framework (Framework) 942 , a UWBS 943 , and a Trusted Payment Application (Trusted Application) 944 . can

동작 9401에서, UWB enabled Wallet Application(941)은 랜덤 챌린지(랜덤 값)을 TPA(944)로 전달할 수 있다. 예를 들면, UWB enabled Wallet Application(941)은 랜덤 챌린지를 포함하는 TEE 명령(예컨대, TEE Client API CMD: WALLET_PUT_CHALLENGE)를 TPA(944)로 전달할 수 있다. WALLET_PUT_CHALLENGE는 TPA로부터 MAC(예컨대, CMAC)를 얻기 위해 사용되며, 입력은 랜덤 값을 포함하며, 출력은 랜덤 값 및 shared secret의 MAC 값을 포함한다.In operation 9401 , the UWB enabled wallet application 941 may transmit a random challenge (random value) to the TPA 944 . For example, the UWB enabled Wallet Application 941 may transmit a TEE command (eg, TEE Client API CMD: WALLET_PUT_CHALLENGE) including a random challenge to the TPA 944 . WALLET_PUT_CHALLENGE is used to obtain a MAC (eg, CMAC) from the TPA, the input includes a random value, and the output includes a random value and the MAC value of the shared secret.

아래 표 7은 WALLET_PUT_CHALLENGE 에 대한 TEE 명령의 일 예를 나타낸다.Table 7 below shows an example of a TEE command for WALLET_PUT_CHALLENGE.

DescriptionDescription This function is to get CMAC from Trusted Payment Application. Input with random value and output with CMAC value of the random value and shared secret. This can check whether UWBS and Trusted Payment Application have same shared secret.This function is to get CMAC from Trusted Payment Application. Input with random value and output with CMAC value of the random value and shared secret. This can check whether UWBS and Trusted Payment Application have same shared secret. commandIDcommandID 2121 params[0]params[0] - Input data buffer : a buffer of 16 bytes, aligned on a byte boundary- Data flow direction : input- Input data buffer : a buffer of 16 bytes, aligned on a byte boundary- Data flow direction : input params[1]params[1] - Output data buffer: same length as input buffer, aligned on a byte boundary.- Data flow direction: output- Output data buffer: same length as input buffer, aligned on a byte boundary.- Data flow direction: output ErrorError TBD (0x00000001 - 0xFFFEFFFF)TBD (0x00000001 - 0xFFFEFFFF)

동작 9402에서, TPA(944)는 TPA의 MAC(MAC.TPA)를 UWB enabled Wallet Application(941)로 전달할 수 있다. 예를 들면, TPA(944)는 수신된 랜덤 챌린지 및 shared secret에 기초하여 MAC(MAC.TPA)를 생성하고, MAC(MAC.TPA)를 포함하는 TEE 응답(예컨대, TEE Client API Return: MAC.TPA)를 UWB enabled Wallet Application(941)로 전달할 수 있다.In operation 9402 , the TPA 944 may transfer the MAC (MAC.TPA) of the TPA to the UWB enabled Wallet Application 941 . For example, the TPA 944 generates a MAC (MAC.TPA) based on the received random challenge and the shared secret, and a TEE response including the MAC (MAC.TPA) (eg, TEE Client API Return: MAC. TPA) to the UWB enabled Wallet Application 941 .

동작 9403에서, UWB enabled Wallet Application(941)는 랜덤 챌린지(랜덤 값)을 Framework(942)로 전달할 수 있다. 예를 들면, UWB enabled Wallet Application(941)는 API(Framework API) 호출을 통해 랜덤 챌린지(랜덤 값)을 Framework(942)로 전달할 수 있다.In operation 9403 , the UWB enabled wallet application 941 may transmit a random challenge (random value) to the framework 942 . For example, the UWB enabled Wallet Application 941 may transmit a random challenge (random value) to the Framework 942 through an API (Framework API) call.

동작 9404에서, Framework(942)는 수신된 랜덤 챌린지를 UWBS(943)으로 전달할 수 있다. 예를 들면, Framework(942)는 수신된 랜덤 챌린지를 UWBS(943)를 포함하는 UCI 명령(예컨대, WALLET_PUT_CHALLENGE_CMD)를 UWBS(943)으로 전달할 수 있다. WALLET_PUT_CHALLENGE _CMD은 UWBS로부터 UWBS의 MAC(MAC.UWBS)를 얻기 위해 사용될 수 있다.In operation 9404 , the Framework 942 may forward the received random challenge to the UWBS 943 . For example, the Framework 942 may transmit the received random challenge to the UWBS 943 with a UCI command (eg, WALLET_PUT_CHALLENGE_CMD) including the UWBS 943 . WALLET_PUT_CHALLENGE_CMD may be used to obtain the MAC (MAC.UWBS) of UWBS from UWBS.

아래 표 8은 WALLET_PUT_CHALLENGE_CMD 의 일 예를 나타낸다.Table 8 below shows an example of WALLET_PUT_CHALLENGE_CMD.

WALLET_PUT_CHALLENGE_CMDWALLET_PUT_CHALLENGE_CMD Payload Field(s)Payload Field(s) LengthLength
(bits)(bits)
Value/ DescriptionValue/ Description
commandcommand 00 Get the MAC.UWBS from UWBSGet the MAC.UWBS from UWBS NonceNonce 128128 Random number used at onceRandom number used at once

동작 9405에서, UWBS(943)은 UWBS의 MAC(MAC.UWBS)를 Framework(942)로 전달할 수 있다. 예를 들면, UWBS(943)은 수신된 랜덤 챌린지 및 shared secret에 기초하여 MAC(MAC.UWBS)를 생성하고, MAC(MAC.UWBS)를 포함하는 UCI 응답(예컨대, WALLET_PUT_CHALLENGE_RSP)를 Framework(942)로 전달할 수 있다. In operation 9405 , the UWBS 943 may transfer the MAC (MAC.UWBS) of the UWBS to the Framework 942 . For example, the UWBS 943 generates a MAC (MAC.UWBS) based on the received random challenge and the shared secret, and sends a UCI response (eg, WALLET_PUT_CHALLENGE_RSP) including the MAC (MAC.UWBS) to the Framework 942 . can be passed to

아래 표 9은 WALLET_PUT_CHALLENGE_RSP의 일 예를 나타낸다.Table 9 below shows an example of WALLET_PUT_CHALLENGE_RSP.

WALLET_PUT_CHALLENGE_RSPWALLET_PUT_CHALLENGE_RSP Payload Field(s)Payload Field(s) LengthLength
(bits)(bits)
Value/ DescriptionValue/ Description
StatusStatus 88 For various status values refer to Table 37 in UCI Specification of FiRa ConsortiumFor various status values refer to Table 37 in UCI Specification of FiRa Consortium

동작 9406에서, Framework(942)는 수신된 UWBS의 MAC(MAC.UWBS)를 UWB enabled Wallet Application(941)으로 전달할 수 있다. 예를 들면, Framework(942)는 API 리턴을 통해 UWBS의 MAC(MAC.UWBS)를 UWB enabled Wallet Application(941)으로 전달할 수 있다.In operation 9406 , the Framework 942 may transmit the received MAC (MAC.UWBS) of the UWBS to the UWB enabled Wallet Application 941 . For example, the Framework 942 may transmit the MAC (MAC.UWBS) of UWBS to the UWB enabled Wallet Application 941 through an API return.

동작 9407에서, UWB enabled Wallet Application(941)는 TPA의 MAC(MAC.TPA) 및 UWBS의 MAC(MAC.UWBS)가 동일한지를 결정할 수 있다.In operation 9407, the UWB enabled Wallet Application 941 may determine whether the MAC (MAC.TPA) of the TPA and the MAC (MAC.UWBS) of the UWBS are the same.

동작 9408에서, UWB enabled Wallet Application(941)는 RDS를 얻기 위한 명령을 TPA(944)로 전달할 수 있다. 예를 들면, TPA의 MAC(MAC.TPA) 및 UWBS의 MAC(MAC.UWBS)가 동일한 경우, UWB enabled Wallet Application(941)는 RDS를 얻기 위한 TEE 명령(예컨대, TEE Client API Command: TEE WALLET_GET_RDS)을 TPA(944)로 전달할 수 있다. WALLET_GET_RDS은 TPA로부터 암호화된 RDS를 얻기 위해 사용될 수 있다.In operation 9408 , the UWB enabled Wallet Application 941 may transmit a command for obtaining an RDS to the TPA 944 . For example, if the MAC (MAC.TPA) of the TPA and the MAC (MAC.UWBS) of the UWBS are the same, the UWB enabled Wallet Application 941 uses a TEE command to obtain an RDS (eg, TEE Client API Command: TEE WALLET_GET_RDS) may be passed to the TPA 944 . WALLET_GET_RDS can be used to get encrypted RDS from TPA.

아래 표 10은 WALLET_GET_RDS에 대한 TEE 명령의 일 예를 나타낸다.Table 10 below shows an example of a TEE command for WALLET_GET_RDS.

DescriptionDescription This function is to get encrypted RDS from Trusted Payment Application. This function is to get encrypted RDS from Trusted Payment Application. commandIDcommandID 3131 params[0]params[0] - Value : a=Encryption Key ID- Data flow direction : input- Value : a=Encryption Key ID- Data flow direction : input params[1]params[1] - Output data buffer: a buffer of 64bytes, aligned on a byte boundary.
- Data flow direction: output
- Output data buffer: a buffer of 64bytes, aligned on a byte boundary.
- Data flow direction: output
ErrorError TBD (0x00000001 - 0xFFFEFFFF)TBD (0x00000001 - 0xFFFEFFFF)

동작 9409에서, TPA(944)는 암호화된 RDS(Encrypted_blob)을 UWB enabled Wallet Application(941)로 전달할 수 있다. 예를 들면, TPA(944)는 암호화된 RDS(Encrypted_blob) 및 암호화된 RDS의 MAC(MAC.eRDS)를 포함하는 TEE 응답(예컨대, TEE Client API Return: Encrypted_blob | MAC.eRDS)를 UWB enabled Wallet Application(941)로 전달할 수 있다.In operation 9409 , the TPA 944 may transmit an encrypted RDS (Encrypted_blob) to the UWB enabled Wallet Application 941 . For example, the TPA 944 transmits a TEE response (eg, TEE Client API Return: Encrypted_blob | MAC.eRDS) including the encrypted RDS (Encrypted_blob) and the encrypted RDS MAC (MAC.eRDS) to the UWB enabled Wallet Application (941).

동작 9410에서, UWB enabled Wallet Application(941)는 수신된 암호화된 RDS(Encrypted_blob)을 Framework(942)로 전달할 수 있다. 예를 들면, UWB enabled Wallet Application(941)는 API(Framework API) 호출을 통해 암호화된 RDS(Encrypted_blob) 및 암호화된 RDS의 MAC(MAC.eRDS)를 Framework(942)로 전달할 수 있다.In operation 9410 , the UWB enabled Wallet Application 941 may transmit the received encrypted RDS (Encrypted_blob) to the Framework 942 . For example, the UWB enabled Wallet Application 941 may transmit the encrypted RDS (Encrypted_blob) and the encrypted RDS MAC (MAC.eRDS) to the Framework 942 through a Framework API (API) call.

동작 9411에서, Framework(942)는 수신된 암호화된 RDS(Encrypted_blob)를 UWBS(943)으로 전달할 수 있다. 예를 들면, Framework(942)는 암호화된 RDS(Encrypted_blob) 및 암호화된 RDS의 MAC(MAC.eRDS)를 포함하는 UCI 명령(예컨대, WALLET_PUT_ENCRYPTED_RDS_CMD)를 UWBS(943)으로 전달할 수 있다. WALLET_PUT_ENCRYPTED_RDS_CMD은 UWBS로부터 UWBS의 RDS를 넣기 위해 사용될 수 있다.In operation 9411 , the Framework 942 may transmit the received encrypted RDS (Encrypted_blob) to the UWBS 943 . For example, the Framework 942 may transmit a UCI command (eg, WALLET_PUT_ENCRYPTED_RDS_CMD) including an encrypted RDS (Encrypted_blob) and a MAC (MAC.eRDS) of the encrypted RDS to the UWBS 943 . WALLET_PUT_ENCRYPTED_RDS_CMD can be used to put RDS of UWBS from UWBS.

아래 표 11은 WALLET_PUT_ENCRYPTED_RDS_CMD의 일 예를 나타낸다.Table 11 below shows an example of WALLET_PUT_ENCRYPTED_RDS_CMD.

WALLET_PUT_ENCRYPTED_RDS _CMDWALLET_PUT_ENCRYPTED_RDS_CMD Payload Field(s)Payload Field(s) LengthLength
(bits)(bits)
Value/ DescriptionValue/ Description
commandcommand 00 Get the capability data from UWBSGet the capability data from UWBS Payload lengthpayload length 88 The length of PayloadThe length of Payload Encrypted RDSEncrypted RDS variablevariable RDS, which is encrypted by K-ENC in section 9.1.1.4RDS, which is encrypted by K-ENC in section 9.1.1.4 MAC of encrypted RDSMAC of encrypted RDS 128128 MAC of encrypted RDS, which is derived by K-MAC in section 9.1.1.4. MAC of encrypted RDS, which is derived by K-MAC in section 9.1.1.4.

동작 9412에서, UWBS(943)은 응답을 Framework(942)로 전달할 수 있다. 예를 들면, UWBS(943)은 UCI 명령에 대응하는 UCI 응답(예컨대, WALLET_PUT_ENCRYPTED_RDS_RSP)를 Framework(942)로 전달할 수 있다. WALLET_PUT_ENCRYPTED_RDS_RSP은 암호화된 RDS가 정상적으로 수신되었는지에 대한 상태(OK/NOK)를 나타내는 정보를 포함할 수 있다.In operation 9412 , UWBS 943 may pass the response to Framework 942 . For example, the UWBS 943 may transmit a UCI response (eg, WALLET_PUT_ENCRYPTED_RDS_RSP) corresponding to the UCI command to the Framework 942 . WALLET_PUT_ENCRYPTED_RDS_RSP may include information indicating a status (OK/NOK) of whether the encrypted RDS has been normally received.

아래 표 12는 WALLET_PUT_ENCRYPTED_RDS_RSP 의 일 예를 나타낸다.Table 12 below shows an example of WALLET_PUT_ENCRYPTED_RDS_RSP.

WALLET_PUT_ENCRYPTED_RDS _RSPWALLET_PUT_ENCRYPTED_RDS_RSP Payload Field(s)Payload Field(s) LengthLength Value/ DescriptionValue/ Description StatusStatus 1 Octet1 Octet For various status values refer to Table 37 in UCI Specification of FiRa ConsortiumFor various status values refer to Table 37 in UCI Specification of FiRa Consortium

도 10a는 본 개시의 예시적인 실시예에 따른 제1 보안 컴포넌트를 포함하는 전자 장치를 위한 키 프로비저닝(provisioning) 방법을 나타낸다.10A illustrates a key provisioning method for an electronic device including a first security component according to an exemplary embodiment of the present disclosure.

도 10a의 전자 장치는 도 5의 전자장치일 수 있고, 제1 보안 컴포넌트는 SE(예컨대, eSE)일 수 있다.The electronic device of FIG. 10A may be the electronic device of FIG. 5 , and the first security component may be an SE (eg, eSE).

도 10a를 참조하면, 동작 1에서, Service Provider(SP)(1011)의 키 프로비저닝를 위해, Provisioning Authority(PA)(1012)는 인증(authorization)을 SD(Security Domain) Owner(1013)에게 요청할 수 있고, 동작 2에서, SD Owner(1013)는 요청에 기초하여 PA credential을 제1 보안 컴포넌트(1014)로 제공할 수 있다. 동작 3에서, SP(1011)는 PA(1012)에 ADF(s)를 요청할 수 있고, 동작 4에서, PA(1012)는 요청에 기초하여 ADF(s)를 제1 보안 컴포넌트(1014)로 제공할 수 있다. 동작 5에서, SP(1011)는 제1 보안 컴포넌트(1014)로 제공된 ADF에 대한 personalization을 수행할 수 있다.Referring to FIG. 10A, in operation 1, for key provisioning of the Service Provider (SP) 1011, the Provisioning Authority (PA) 1012 may request an SD (Security Domain) Owner 1013 for authorization, and , in operation 2 , the SD Owner 1013 may provide the PA credential to the first security component 1014 based on the request. In operation 3 , the SP 1011 may request the ADF(s) from the PA 1012 , and in operation 4 , the PA 1012 provides the ADF(s) to the first security component 1014 based on the request. can do. In operation 5 , the SP 1011 may perform personalization on the ADF provided to the first security component 1014 .

이와 같이, 서비스 프로바이더(1011)가 제1 보안 컴포넌트(1014)에 대해 키 프로비저닝을 제공하기 위하여는, 다양한 비즈니스 계약 관계에 있는 여러 엔티티(PA, SD Owner 등)의 협조가 필요하다. 따라서, 서비스 프로바이더(1011)가 키를 바로 제1 보안 컴포넌트(1014)로 제공하기 어렵다. 즉, 서비스 프로바이더(1011)가 유연하고 효율적으로 키를 제공하기 어렵게 된다.As such, in order for the service provider 1011 to provide key provisioning for the first security component 1014 , cooperation of several entities (PAs, SD owners, etc.) in various business contract relationships is required. Accordingly, it is difficult for the service provider 1011 to directly provide the key to the first security component 1014 . That is, it becomes difficult for the service provider 1011 to provide the key flexibly and efficiently.

도 10b는 본 개시의 일 실시예에 따른 제2 보안 컴포넌트를 포함하는 전자 장치를 위한 키 프로비저닝(provisioning) 방법을 나타낸다.10B illustrates a key provisioning method for an electronic device including a second security component according to an embodiment of the present disclosure.

도 10b의 전자 장치는 도 6의 전자장치일 수 있고, 제2 보안 컴포넌트는 TEE(TA) 또는 SB일 수 있다.The electronic device of FIG. 10B may be the electronic device of FIG. 6 , and the second security component may be a TEE (TA) or an SB.

도 10b의 실시예에서, 전자 장치는 모바일 플랫폼(예컨대, Android 플랫폼)(1022) 및 제2 보안 컴포넌트(1023)를 포함할 수 있다. 일 실시예에서, 모바일 플랫폼은 상술한 Framework를 포함할 수 있다.In the embodiment of FIG. 10B , the electronic device may include a mobile platform (eg, an Android platform) 1022 and a second security component 1023 . In one embodiment, the mobile platform may include the aforementioned Framework.

도 10b를 참조하면, 동작 1에서, 서비스 프로바이더(1021)는 키 프로비저닝을 위한 API를 호출하고, 동작 2에서, 모바일 플랫폼(1022)은 제2 보안 컴포넌트(1023)로 증명(attestation)을 제공할 수 있다. 동작 3에서, 제2 보안 컴포넌트(1023)는 인증서(certificate)를 모바일 플랫폼(1022)에 전송하고, 동작 4에서, 모바일 플랫폼(1022)은 인증서를 서비스 프로바이더(1021)에게 전송한다. 동작 5에서, 서비스 프로바이더(1021)는 암호화된 키를 모바일 플랫폼(1022)으로 전송하고, 동작 6에서, 모바일 플랫폼(1022)은 암호화된 키를 제2 보안 컴포넌트(1023)로 전송할 수 있다.Referring to FIG. 10B , in operation 1 , the service provider 1021 calls an API for key provisioning, and in operation 2 , the mobile platform 1022 provides an attestation to the second security component 1023 . can do. In operation 3 , the second security component 1023 transmits a certificate to the mobile platform 1022 , and in operation 4 , the mobile platform 1022 transmits the certificate to the service provider 1021 . In operation 5 , the service provider 1021 may transmit the encrypted key to the mobile platform 1022 , and in operation 6 , the mobile platform 1022 may transmit the encrypted key to the second security component 1023 .

제2 보안 컴포넌트를 이용하는 도 10b의 실시예에서는, 제1 보안 컴포넌트를 이용하는 도 10a의 실시예와 달리, 서비스 프로바이더(1021)가 보안화된 방법(secure manner)으로 고유 크리덴셜(own credential)을 신뢰된 영역(trusted area), 예컨대, TEE 또는 SB에 임포팅(import)할 수 있다. 이 경우, 전자 장치의 모바일 플랫폼(또는, 프레임워크)(1022)은 프로비저닝 방식을 위한 API만을 제공하면 된다. 따라서, 서비스 프로바이더(1021)가 유연하고 효율적으로 키를 제공할 수 있다.In the embodiment of FIG. 10B that uses a second secure component, unlike the embodiment of FIG. 10A that uses a first secure component, the service provider 1021 uses its own credentials in a secure manner. may be imported into a trusted area, for example, TEE or SB. In this case, the mobile platform (or framework) 1022 of the electronic device only needs to provide an API for the provisioning method. Accordingly, the service provider 1021 can provide the key flexibly and efficiently.

도 11은 본 개시의 일 실시예에 따른 제2 보안 컴포넌트를 포함하는 전자 장치를 위한 키 프로비저닝을 위한 증명(attestation) 절차를 나타낸다.11 illustrates an attestation procedure for key provisioning for an electronic device including a second security component according to an embodiment of the present disclosure.

도 11의 실시예에서, 전자 장치는 도 6의 전자장치일 수 있고, 제2 보안 컴포넌트는 TEE(TA) 또는 SB일 수 있다.In the embodiment of FIG. 11 , the electronic device may be the electronic device of FIG. 6 , and the second security component may be a TEE (TA) or an SB.

도 11의 실시예에서, attestation 절차는 도 10의 절차의 일부일 수 있다. attestation 절차는 키 프로비저닝이 수행되기 이전에 수행된다. In the embodiment of FIG. 11 , the attestation procedure may be a part of the procedure of FIG. 10 . The attestation procedure is performed before key provisioning.

도 11을 참조하면, 동작 1101에서, 전자 장치의 UWB-enabled Application는 서비스 프로바이더(서버)로 넌스(nonce)를 요청하고, 동작 1102에서, 서비스 프로바이더는 요청에 기초하여 넌스를 UWB-enabled Application에게 제공할 수 있다.Referring to FIG. 11 , in operation 1101, the UWB-enabled Application of the electronic device requests a nonce to a service provider (server), and in operation 1102, the service provider provides a nonce to UWB-enabled based on the request. It can be provided to the application.

동작 1103에서, UWB-enabled Application는 넌스를 포함하는 증명(attest)(attestation request)를 Framework로 전송할 수 있고, 동작 1104에서, Framework는 이 attest(attestation request)를 제2 보안 컴포넌트에 전송할 수 있다. In operation 1103, the UWB-enabled Application may transmit an attestation request including the nonce to the Framework, and in operation 1104, the Framework may transmit this attest (attestation request) to the second security component.

동작 1105에서, 제2 보안 컴포넌트는 attest(attestation request)에 기초한 Blob(attestation response)을 Framework로 리턴할 수 있다. 일 실시예에서, Blob(attestation response)은 넌스, measurement(s), Device ID, 서명 및/또는 인증서를 포함할 수 있다. 동작 1106에서, Framework는 Blob을 UWB-enabled Application로 전송하고, 동작 1107에서, UWB-enabled Application는 Blob을 서비스 프로바이더로 전송할 수 있다.In operation 1105 , the second security component may return an attachment response (Blob) based on an attest (attestation request) to the framework. In one embodiment, an attestation response (Blob) may include a nonce, measurement(s), Device ID, signature and/or certificate. In operation 1106, the Framework may transmit the blob to the UWB-enabled application, and in operation 1107, the UWB-enabled application may transmit the blob to the service provider.

동작 1108에서, 서비스 프로바이더는 Blob으로부터 공개 키를 추출하고, 공개 키를 기초로 키 랩핑(key wrapping) 방식을 이용하여 크리덴셜(예컨대, Secure Channel Key)을 암호화할 수 있다.In operation 1108 , the service provider may extract the public key from the blob and encrypt the credential (eg, Secure Channel Key) using a key wrapping method based on the public key.

동작 1109에서, 서비스 프로바이더는 랩핑된 키(wrapped key)를 UWB-enabled Application로 전송하고, 동작 1110에서, UWB-enabled Application는 랩핑된 키를 제2 보안 컴포넌트로 전송할 수 있다. 동작 1111에서, 제2 보안 컴포넌트는 랩핑된 키를 OID 및/또는 AppID와 함께 임포팅할 수 있다.In operation 1109, the service provider may transmit a wrapped key to the UWB-enabled application, and in operation 1110, the UWB-enabled application may transmit the wrapped key to the second security component. In operation 1111 , the second security component may import the wrapped key along with the OID and/or AppID.

이와 같은 절차를 통해, 키(보안 채널 키)가 서비스 프로바이더에 의해 제2 보안 컴포넌트에 안전하게(securely) 임포팅될 수 있다.Through this procedure, the key (secure channel key) may be securely imported into the second secure component by the service provider.

도 12는 본 개시의 예시적인 실시예에 따른 전자 장치의 예시적인 구성을 나타낸다.12 shows an exemplary configuration of an electronic device according to an exemplary embodiment of the present disclosure.

도 12의 실시예에서, 전자 장치(1200)는 예컨대, Smart Ranging device 또는 Ranging device일 수 있다.In the embodiment of FIG. 12 , the electronic device 1200 may be, for example, a Smart Ranging device or a Ranging device.

도 12를 참조하면, 전자 장치(1200)는 적어도 하나의 어플리케이션(1210), Framework(1220), UWBS(1230) 및/또는 보안 컴포넌트(1240)(예컨대, TA 및/또는 Strongbox)를 포함한다.Referring to FIG. 12 , the electronic device 1200 includes at least one application 1210 , a Framework 1220 , a UWBS 1230 , and/or a security component 1240 (eg, TA and/or Strongbox).

각 어플리케이션(1210)은 AppID에 의해 식별되며, Framework(1220)의 Framework API를 호출/사용할 수 있다. 일 실시예에서, 어플리케이션(1210)은 UWB-enabled Application일 수 있다.Each application 1210 is identified by AppID, and may call/use the Framework API of the Framework 1220 . In one embodiment, the application 1210 may be a UWB-enabled Application.

Framework(1220)는 OOB Connector(1221), 및/또는 Secure Service(1222)를 포함하고, Framework API(1223)를 통해, 어플리케이션(1210)과 인터페이싱할 수 있다. Framework API(1223)는 예컨대, 어플리케이션의 등록을 위한 Register() API, 보안 메시징 세션의 설정을 위한 setSecureMessagingSession() API, 레인징 데이터(또는, RDS)의 설정을 위한 setRangingData() API, 및/또는 URSK(또는, RDS)의 UWBS로의 전달을 위한 pushURSKtoUWBS() API를 포함할 수 있다.The Framework 1220 includes an OOB Connector 1221 and/or a Secure Service 1222 , and may interface with the application 1210 through the Framework API 1223 . The Framework API 1223 is, for example, a Register() API for application registration, a setSecureMessagingSession() API for establishing a secure messaging session, a setRangingData() API for setting ranging data (or RDS), and/or PushURSKtoUWBS() API for delivery of URSK (or RDS) to UWBS may be included.

보안 컴포넌트(1240)는 Cryptogram 생성 기능(genCryptogram) 및/또는 암호화된 메시지 생성 기능(genEncyptedMsg)을 지원하고, 어플리케이션에 대응하는 보안 채널 키(예컨대, AppID(#ABC))를 갖는 어플리케이션에 대응하는 보안 채널 키(예컨대, SC02Key), AppID(#XYZ)를 갖는 어플리케이션에 대응하는 보안 채널 키(예컨대, SC01Key))를 포함할 수 있다. 예를 들면, SB(1241)는 Cryptogram 생성 기능(genCryptogram) 및/또는 암호화된 메시지 생성 기능(genEncyptedMsg)을 지원하고, AppID(#XYZ)를 갖는 어플리케이션에 대응하는 보안 채널 키(예컨대, SC01Key))를 포함할 수 있다. 다른 예를 들면, TEE(TEE의 TA)(1242)는 Cryptogram 생성 기능(genCryptogram) 및/또는 암호화된 메시지 생성 기능(genEncyptedMsg)을 지원하고, AppID(#XYZ)를 갖는 어플리케이션에 대응하는 보안 채널 키(예컨대, SC01Key))를 포함할 수 있다.The security component 1240 supports a Cryptogram generation function (genCryptogram) and/or an encrypted message generation function (genEncyptedMsg), and a security corresponding to the application having a secure channel key corresponding to the application (eg, AppID(#ABC)). A channel key (eg, SC02Key) and a secure channel key (eg, SC01Key) corresponding to an application having an AppID (#XYZ)) may be included. For example, the SB 1241 supports a Cryptogram generation function (genCryptogram) and/or an encrypted message generation function (genEncyptedMsg), and a secure channel key corresponding to an application with an AppID (#XYZ) (eg, SC01Key)). may include As another example, the TEE (TA of TEE) 1242 supports a Cryptogram generation function (genCryptogram) and/or an encrypted message generation function (genEncyptedMsg), and a secure channel key corresponding to an application with an AppID (#XYZ). (eg, SC01Key)).

일 실시예에서, 보안 컴포넌트(1240)는 세션 ID 및/또는 UWB 세션 키(URSK)를 생성/저장할 수 있다. 세션 ID 및/또는 UWB 세션 키는 예컨대, 어플리케이션(1210)의 pushURSKtoUWBS() API의 호출에 의해 Framwork(1220)를 통해 보안 컴포넌트(1240)로부터 UWBS(1230)로 전달될 수 있다.In one embodiment, the secure component 1240 may generate/store a session ID and/or a UWB session key (URSK). The session ID and/or UWB session key may be passed from the secure component 1240 to the UWBS 1230 via the framework 1220 by, for example, a call to the pushURSKtoUWBS( ) API of the application 1210 .

도 13은 본 개시의 일 실시예에 따른 전자 장치의 방법을 나타내는 흐름도이다.13 is a flowchart illustrating a method of an electronic device according to an embodiment of the present disclosure.

도 13의 실시예에서, 전자 장치는 Smart Ranging Device 또는 Ranging Device일 수 있다. 도 13의 실시예의 각 동작에 대한 상세한 설명은 도 1 내지 12에서 상술한 설명을 참조할 수 있다. 도 13의 실시예에서, 전자 장치의 동작은 예컨대, 전자 장치의 프레임워크(또는, 어플리케이션)의 동작 또는 전자 장치의 프레임워크(또는, 어플리케이션)를 제어하는 제어부(또는, 프로세서)의 동작일 수 있다. In the embodiment of FIG. 13 , the electronic device may be a Smart Ranging Device or a Ranging Device. For a detailed description of each operation of the embodiment of FIG. 13 , reference may be made to the descriptions described above with reference to FIGS. 1 to 12 . In the embodiment of FIG. 13 , the operation of the electronic device may be, for example, an operation of a framework (or application) of the electronic device or an operation of a controller (or processor) controlling the framework (or application) of the electronic device. have.

전자 장치는 보안 레인징을 위한 레인징 데이터 세트를 설정하기 위한 요청을 보안 컴포넌트로 전송할 수 있다(1310). 예를 들면, 전자 장치는 보안 레인징을 위한 레인징 데이터 세트를 설정하기 위한 요청을 TEE(또는, TEE 내의 TA)로 전송할 수 있다. 본 개시에서, 레인징 데이터 세트는 UWB 레인징을 위해 필요한 데이터의 세트일 수 있다. 일 실시예에서, 레인징 데이터 세트는 보안 레인징과 연관된 UWB 세션을 세션 ID 정보, 및 UWB 세션을 보호하기 위한 세션 키 정보 중 적어도 하나를 포함할 수 있다.The electronic device may transmit a request for setting a ranging data set for secure ranging to the security component ( 1310 ). For example, the electronic device may transmit a request for setting a ranging data set for secure ranging to a TEE (or a TA within the TEE). In the present disclosure, the ranging data set may be a set of data required for UWB ranging. In an embodiment, the ranging data set may include at least one of session ID information for a UWB session associated with secure ranging, and session key information for protecting the UWB session.

전자 장치는 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 보안 컴포넌트로 전송할 수 있다(1320). 예를 들면, 전자 장치는 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 TEE(또는, TEE 내의 TA)로 전송할 수 있다. 일 실시예에서, 레인징 데이터 세트는 프레임워크를 통해 보안 컴포넌트와 UWB 서브시스템 사이에 설정된 보안 채널을 이용하여 보안 컴포넌트로부터 상기 UWB 서브시스템으로 전달될 수 있다. The electronic device may transmit a request for transmitting the ranging data set to the UWB subsystem to the security component ( 1320 ). For example, the electronic device may transmit a request for transferring the data set to the UWB subsystem to the TEE (or the TA in the TEE). In an embodiment, the ranging data set may be transferred from the secure component to the UWB subsystem using a secure channel established between the secure component and the UWB subsystem through the framework.

일 실시예에서, 레인징 데이터 세트를 설정하기 위한 요청을 전송하는 동작은 보안 컴포넌트가 상기 레인징 데이터 세트를 설정하도록 요청하는 프레임워크 API(setRangingData() API)를 호출하는 동작을 포함하며, 프레임워크 API는 상기 프레임워크 API를 호출한 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함할 수 있다.In one embodiment, sending a request to set a ranging data set comprises calling a framework API (setRangingData( ) API) that a security component requests to set the ranging data set, The work API may include an application ID for identifying an application that has called the framework API.

일 실시예에서, 상기 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 전송하는 동작은 보안 컴포넌트가 레인징 데이터 세트를 UWB 서브시스템으로 전달하도록 요청하는 프레임워크 API(PushRDStoUWBS() API)를 호출하는 동작을 포함하며, 프레임워크 API는 프레임워크 API를 호출한 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함할 수 있다.In one embodiment, the operation of sending the request for transferring the ranging data set to the UWB subsystem includes a framework API (PushRDStoUWBS() API) that the security component requests to transfer the ranging data set to the UWB subsystem. Including an operation of calling, the framework API may include an application ID for identifying an application that has called the framework API.

일 실시예에서, 프레임워크가, UWB 서브시스템으로 보안 레인징을 시작하는 명령을 전송하는 동작을 더 포함하고, 보안 레인징을 시작하는 명령은 보안 레인징과 연관된 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함할 수 있다.In one embodiment, the framework further comprises sending, to the UWB subsystem, a command to start secure ranging, wherein the command to start secure ranging includes an application ID for identifying an application associated with security ranging. may include

일 실시예에서, 보안 컴포넌트와 UWB 서브시스템 사이의 보안 채널은 Asymmetric key 기반 보안 채널일 수 있다. In one embodiment, the secure channel between the secure component and the UWB subsystem may be an asymmetric key based secure channel.

일 실시예에서, 보안 컴포넌트는 TEE(Trusted Execution Environment) 또는 Strongbox일 수 있다.In one embodiment, the security component may be a Trusted Execution Environment (TEE) or Strongbox.

도 14는 본 개시의 일 실시예에 따른 제1 전자 장치의 구조를 도시한 도면이다.14 is a diagram illustrating a structure of a first electronic device according to an embodiment of the present disclosure.

도 14의 제1 전자 장치는 제2 보안 컴포넌트(예컨대, TEE 또는 SB)를 포함하는 전자 장치(예컨대, Smart Ranging Device)일 수 있다.The first electronic device of FIG. 14 may be an electronic device (eg, Smart Ranging Device) including a second security component (eg, TEE or SB).

도 14를 참고하면, 제1 전자 장치는 송수신부 (1410), 제어부 (1420), 저장부 (1430)을 포함할 수 있다. 본 개시에서 제어부는, 회로 또는 어플리케이션 특정 통합 회로 또는 적어도 하나의 프로세서라고 정의될 수 있다.Referring to FIG. 14 , the first electronic device may include a transceiver 1410 , a controller 1420 , and a storage 1430 . In the present disclosure, the controller may be defined as a circuit or an application-specific integrated circuit or at least one processor.

송수신부 (1410)는 다른 전자 장치와 신호를 송수신할 수 있다. 송수신부(1410)는 예컨대, UWB 통신을 이용하여 데이터를 송수신할 수 있다.The transceiver 1410 may transmit/receive signals to and from other electronic devices. The transceiver 1410 may transmit/receive data using, for example, UWB communication.

제어부 (1420)은 본 개시에서 제안하는 실시예에 따른 UWB 인밴드 탐색 방법의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부 (1420)는 상기에서 기술한 순서도에 따른 동작을 수행하도록 각 블록 간 신호 흐름을 제어할 수 있다. 구체적으로, 제어부(1420)는, 예컨대, 도 1 내지 13을 참조하여 설명한 보안 레인징을 위한 방법의 동작을 제어할 수 있다. The controller 1420 may control the overall operation of the UWB in-band discovery method according to the embodiment proposed in the present disclosure. For example, the controller 1420 may control a signal flow between blocks to perform an operation according to the above-described flowchart. Specifically, the controller 1420 may control, for example, the operation of the method for secure ranging described with reference to FIGS. 1 to 13 .

저장부(1430)는 상기 송수신부 (1410)를 통해 송수신되는 정보 및 제어부 (1420)을 통해 생성되는 정보 중 적어도 하나를 저장할 수 있다. 예를 들어, 저장부 (1430)는 예컨대, 도 1 내지 13을 참조하여 설명한 보안 레인징을 위한 정보 및 데이터를 저장할 수 있다.The storage unit 1430 may store at least one of information transmitted/received through the transceiver 1410 and information generated through the control unit 1420 . For example, the storage unit 1430 may store information and data for security ranging described with reference to FIGS. 1 to 13 .

도 15는 본 개시의 일 실시예에 따른 제2 전자 장치의 구조를 도시한 도면이다.15 is a diagram illustrating a structure of a second electronic device according to an embodiment of the present disclosure.

도 15의 제2 전자 장치는 도 14의 제1 전자 장치와 통신하는 전자 장치(예컨대, Smart Ranging Device 또는 Ranging Device)일 수 있다.The second electronic device of FIG. 15 may be an electronic device (eg, a Smart Ranging Device or a Ranging Device) that communicates with the first electronic device of FIG. 14 .

도 15를 참고하면, 제2 전자 장치는 송수신부 (1510), 제어부 (1520), 저장부 (1530)을 포함할 수 있다. 본 개시에서 제어부는, 회로 또는 어플리케이션 특정 통합 회로 또는 적어도 하나의 프로세서라고 정의될 수 있다.Referring to FIG. 15 , the second electronic device may include a transceiver 1510 , a controller 1520 , and a storage 1530 . In the present disclosure, the controller may be defined as a circuit or an application-specific integrated circuit or at least one processor.

송수신부 (1510)는 다른 전자 장치와 신호를 송수신할 수 있다. 송수신부(1510)는 예컨대, UWB 통신을 이용하여 데이터를 송수신할 수 있다.The transceiver 1510 may transmit/receive signals to and from other electronic devices. The transceiver 1510 may transmit/receive data using, for example, UWB communication.

제어부 (1520)은 본 개시에서 제안하는 실시예에 따른 UWB 인밴드 탐색 방법의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부 (1520)는 상기에서 기술한 순서도에 따른 동작을 수행하도록 각 블록 간 신호 흐름을 제어할 수 있다. 구체적으로, 제어부(1520)는, 예컨대, 도 1 내지 13을 참조하여 설명한 보안 레인징을 위한 동작을 제어할 수 있다. The controller 1520 may control the overall operation of the UWB in-band discovery method according to the embodiment proposed in the present disclosure. For example, the controller 1520 may control a signal flow between blocks to perform an operation according to the above-described flowchart. Specifically, the controller 1520 may control, for example, the operation for security ranging described with reference to FIGS. 1 to 13 .

저장부(1530)는 상기 송수신부 (1510)를 통해 송수신되는 정보 및 제어부 (1520)을 통해 생성되는 정보 중 적어도 하나를 저장할 수 있다. 예를 들어, 저장부 (1530)는 예컨대, 도 1 내지 13을 참조하여 설명한 보안 레인징을 위한 정보 및 데이터를 저장할 수 있다.The storage unit 1530 may store at least one of information transmitted and received through the transceiver 1510 and information generated through the control unit 1520 . For example, the storage unit 1530 may store information and data for security ranging described with reference to FIGS. 1 to 13 .

<실시예 B><Example B>

실시예 B는 상술한 attached 모드와 관련된 실시예에 해당한다. 이하에서는, 도 16 내지 27을 참조하여, 실시예 A에 대하여 예시적으로 설명한다.Embodiment B corresponds to an embodiment related to the above-described attached mode. Hereinafter, Embodiment A will be exemplarily described with reference to FIGS. 16 to 27 .

* 도 16은 SE를 포함하는 UWB 장치의 예시적인 구성을 나타낸다.* Fig. 16 shows an exemplary configuration of a UWB device including an SE.

도 16의 실시예에서, UWB 장치(1600)는 보안 컴포넌트로서 Secure Element(예컨대, eSE)를 포함하는 UWB 장치(예컨대, FiRa Smart Device 또는 FiRa Device)일 수 있다.In the embodiment of FIG. 16 , the UWB device 1600 may be a UWB device (eg, FiRa Smart Device or FiRa Device) including a Secure Element (eg, eSE) as a security component.

상술한 것처럼, SE는 tamper resistant 특성을 기반으로 한 안전한 보안 모듈이고, eSE는 전자 장치에 고정하여 사용하는 고정식 SE를 의미한다.As described above, the SE is a secure security module based on a tamper resistant characteristic, and the eSE refers to a fixed SE that is fixed and used in an electronic device.

도 16을 참조하면, UWB 장치(1600)는 적어도 하나의 어플리케이션(UWB-enabled Application)(1610), Framework(1620), Secure element(1630) 및/또는 UWBS(1640)를 포함할 수 있다. UWB-enabled Application(1610), Framework(1620)에 대한 설명은 도 1 내지 3에서 상술한 설명을 참조할 수 있다.Referring to FIG. 16 , the UWB device 1600 may include at least one application (UWB-enabled Application) 1610 , a Framework 1620 , a Secure element 1630 , and/or a UWBS 1640 . For a description of the UWB-enabled Application 1610 and the Framework 1620, reference may be made to the description described above with reference to FIGS. 1 to 3 .

일 실시예에서, SE(예컨대, eSE)(1630)는 Applet(Service Applet) 및/또는 SUS(Secure UWB Service) Applet을 포함할 수 있다. Applet은 보안 데이터(예컨대, Ranging Data Set(RDS))를 안전하게 생성하기 위해 요구되는 적어도 하나의 Application Dedicated File (ADF)를 포함할 수 있다. 예를 들면, Applet은 각 서비스 프로바이더(SP)에 의해 제공된 ADF를 각각 포함할 수 있다. ADF는 키 프로비저닝 단계에서, 서비스 프로바이더에 의해 제공될 수 있다. 또한, Applet은 RDS를 SUS Applet을 통해 UWBS로 전달할 수 있다. In one embodiment, SE (eg, eSE) 1630 may include a Service Applet (Applet) and/or a Secure UWB Service (SUS) Applet. Applet may include at least one Application Dedicated File (ADF) required to securely generate secure data (eg, Ranging Data Set (RDS)). For example, each Applet may include an ADF provided by each service provider (SP). The ADF may be provided by the service provider in the key provisioning phase. Applets can also forward RDS to UWBS via SUS Applets.

일 실시예에서, RDS는 UWB 레인징 세션을 보안하기 위해 사용되는 키를 나타내는 레인징 세션 키(UWB 레인징 세션 키) 및/또는 RDS(또는, RDS와 연관된 세션)을 식별하는 세션 ID를 포함할 수 있다. 이때, 레인징 세션 키 및 세션 ID는 개시자(initiator) 및 응답자(responder)에서 동일하여야 한다. 또한, RDS는 적어도 하나의 레인징 파라미터(예컨대, AoA (Angle of Arrival), 근접 거리(Proximity Distance)), 클라이언트 특정 데이터 및/또는 멀티캐스트 응답자-특정 키(Multicast responder-specific key)를 옵셔널하게 더 포함할 수 있다.In one embodiment, the RDS includes a ranging session key (UWB ranging session key) indicating a key used to secure a UWB ranging session and/or a session ID identifying the RDS (or session associated with the RDS) can do. In this case, the ranging session key and the session ID must be the same in the initiator and the responder. In addition, RDS at least one ranging parameter (eg, AoA (Angle of Arrival), proximity (Proximity Distance)), client-specific data and / or multicast responder-specific key (Multicast responder-specific key) optional may include more.

UWBS(1640)는 UWB 하드웨어를 관리한다. UWBS(1640)는 다른 Ranging Device의 UWBS와 UWB 세션을 수행할 수 있다. UWBS(1640)는 Framework(1620)에 의해 관리되며, SE(1630)로부터 secure ranging을 위해 필요한 RDS를 수신할 수 있다.UWBS 1640 manages UWB hardware. The UWBS 1640 may perform a UWBS and UWB session of another ranging device. The UWBS 1640 is managed by the Framework 1620 and may receive an RDS required for secure ranging from the SE 1630 .

일 실시예에서, UWB 장치(1600)의 각 구성은 미리 정의된 인터페이스를 통해 서로 통신할 수 있다. 예를 들면, 어플리케이션(1610)과 프레임워크(1620)는 미리 정의된 Framework API(Application Programming Interface)를 통해 통신할 수 있다. 프레임워크(1620)와 SE(eSE)(1630)는 미리 정의된 OMAPI(Object Management Application Programming Interface)를 통해 통신할 수 있다. 프레임워크(1620)와 UWBS(1640)는 미리 정의된 UCI를 통해 통신할 수 있다. UWBS(1640)와 SE(eSE)(1630)는 미리 정의된 SUS API를 통해 통신할 수 있다. 다만, 상술한 인터페이스들은 각 구성이 서로 통신하기 위한 인터페이스의 일 예에 불과하고, 실시예에 따라서는 다른 종류의 인터페이스를 사용하여 각 구성이 서로 통신할 수도 있다.In one embodiment, each component of the UWB device 1600 may communicate with each other through a predefined interface. For example, the application 1610 and the framework 1620 may communicate through a predefined Framework Application Programming Interface (API). The framework 1620 and the SE (eSE) 1630 may communicate through a predefined Object Management Application Programming Interface (OMAPI). The framework 1620 and the UWBS 1640 may communicate through a predefined UCI. The UWBS 1640 and the SE (eSE) 1630 may communicate through a predefined SUS API. However, the above-described interfaces are merely examples of interfaces for each component to communicate with each other, and according to an embodiment, each component may communicate with each other using different types of interfaces.

도 17은 SE를 포함하는 UWB 장치의 동작을 나타낸다.17 shows the operation of a UWB device including an SE.

도 17의 실시예의 UWB 장치(1700)는, 도 16의 UWB 장치일 수 있다. 도시된 것처럼, UWB 장치(1700)는 적어도 하나의 어플리케이션(UWB-enabled Application)(1710), Framework(1720), Secure element(예컨대, eSE)(1730) 및/또는 UWBS(1740)를 포함할 수 있다. UWB 장치(1700)는 다른 UWB 장치(1750)와 통신을 수행할 수 있다. 일 실시예에서, UWB 장치(1700)는 다른 UWB(1750) 장치로부터 UWB 레인징을 위한 제어 메시지(정보)를 수신하는 controlee로 동작할 수 있다.The UWB device 1700 of the embodiment of FIG. 17 may be the UWB device of FIG. 16 . As shown, the UWB device 1700 may include at least one application (UWB-enabled Application) 1710 , a Framework 1720 , a Secure element (eg, eSE) 1730 , and/or a UWBS 1740 . have. The UWB device 1700 may communicate with another UWB device 1750 . In an embodiment, the UWB device 1700 may operate as a controlee that receives a control message (information) for UWB ranging from another UWB 1750 device.

도 17을 참조하면, 절차 1(동작 1)에서, UWB 장치(1700)는 다른 UWB 장치(1750)와 UWB 세션 파라미터의 교환을 위한 절차를 수행할 수 있다. 일 실시예에서, UWB 장치(1700)는 UWB 세션 파라미터 교환을 위해, OOB 컴포넌트(예컨대, BLE 컴포넌트)를 이용하여 설정된 보안 채널을 이용할 수 있다. 일 실시예에서, UWB 세션 파라미터는 UWB 레인징 세션을 보안하기 위해 사용되는 키를 나타내는 레인징 세션 키(UWB 레인징 세션 키) 및/또는 RDS(또는, RDS와 연관된 세션)을 식별하는 세션 ID를 포함할 수 있다. 일 실시예에서, UWB 세션 파라미터는 UWB 장치(1700) 및/또는 다른 UWB 장치(1750)의 Applet에 의해 생성될 수 있다. 절차 1을 통해 교환된 UWB 세션 파라미터는 eSE(1730)에 저장될 수 있다.Referring to FIG. 17 , in procedure 1 (operation 1), a UWB device 1700 may perform a procedure for exchanging UWB session parameters with another UWB device 1750 . In an embodiment, the UWB device 1700 may use a secure channel established using an OOB component (eg, a BLE component) for exchanging UWB session parameters. In one embodiment, the UWB session parameter is a ranging session key (UWB ranging session key) indicating a key used to secure a UWB ranging session and/or a session ID identifying an RDS (or a session associated with the RDS) may include. In one embodiment, the UWB session parameters may be generated by an Applet of the UWB device 1700 and/or another UWB device 1750 . The UWB session parameters exchanged through procedure 1 may be stored in the eSE 1730 .

절차 2(동작 2)에서, 프레임워크(1720)는 eSE(1730)로 UWB 파라미터를 요청할 수 있고, eSE(1730)는 요청에 응답하여 UWB 파라미터를 프레임워크(1720)로 전달(return)할 수 있다. 일 실시예에서, 프레임워크(1720)와 eSE(1730)는 UWB 파라미터 교환을 위해 미리 정의된 OMAPI를 이용할 수 있다. 일 실시예에서, UWB 파라미터는 eSE(1730)에 저장된 UWB 세션 파라미터의 일부 또는 전부를 포함할 수 있다. 예를 들면, UWB 파라미터는 UWB 세션 파라미터 내의 세션 ID를 포함할 수 있다. UWB 파라미터는 eSE(1730)에 저장된 UWB 장치의 정보(예컨대, controlee info) 파라미터의 일부 또는 전부를 더 포함할 수 있다.In procedure 2 (operation 2), the framework 1720 may request the UWB parameters to the eSE 1730 , and the eSE 1730 may return the UWB parameters to the framework 1720 in response to the request. have. In one embodiment, the framework 1720 and the eSE 1730 may use a predefined OMAPI for exchanging UWB parameters. In one embodiment, the UWB parameters may include some or all of the UWB session parameters stored in the eSE 1730 . For example, the UWB parameter may include a session ID in the UWB session parameter. The UWB parameter may further include some or all of the UWB device information (eg, controlee info) parameters stored in the eSE 1730 .

절차 3(동작 3)에서, 프레임워크(1720)와 UWBS(1740)는 UWB 파라미터 설정을 위한 절차를 수행할 수 있다. 일 실시예에서, 프레임워크(1720)는 세션 ID를 UWBS(1740)로 전달할 수 있다. 프레임워크(1720)와 UWBS(1740)는 UWB 파라미터 설정을 위해 미리 정의된 UCI를 이용할 수 있다. In procedure 3 (operation 3), the framework 1720 and the UWBS 1740 may perform a procedure for setting UWB parameters. In one embodiment, the framework 1720 may pass the session ID to the UWBS 1740 . The framework 1720 and the UWBS 1740 may use a predefined UCI for setting UWB parameters.

절차 4(동작 4)에서, UWBS(1740)는 eSE(1730)로부터 보안 파라미터를 획득하기 위한 동작을 수행할 수 있다. 예를 들면, UWBS(1740)는 보안 파라미터를 검색하기 위해, UWB 세션을 찾을 수 있다. 일 실시예에서, UWBS(1740)는 프레임워크(1720)를 통해 전달된 세션 ID를 이용하여 RDS를 eSE(1730)로부터 획득할 수 있다. 이 경우, UWBS(1740)는 UWBS(1740)와 eSE(1730) 간에 설정된 보안 채널을 이용하여 RDS를 획득할 수 있다. 일 실시예에서, UWBS(1740)는 보안 파라미터 획득을 위해 미리 정의된 SUS API(예컨대, SUS external API)를 이용할 수 있다.In procedure 4 (operation 4), the UWBS 1740 may perform an operation to obtain security parameters from the eSE 1730 . For example, UWBS 1740 may look for a UWB session to retrieve security parameters. In one embodiment, the UWBS 1740 may obtain the RDS from the eSE 1730 using the session ID passed through the framework 1720 . In this case, the UWBS 1740 may acquire the RDS using a secure channel established between the UWBS 1740 and the eSE 1730 . In one embodiment, UWBS 1740 may use a predefined SUS API (eg, SUS external API) to obtain security parameters.

한편, 도 17의 실시예의 경우, 프레임워크(1720)가 예컨대, 보안 레인징 등을 위해 UWBS(1740)를 호출하기 위해, UWB 세션 파라미터(예컨대, 세션 ID)가 필요하다. 따라서, 절차 2(동작 2)에서와 같이, eSE(1730)에 안전하게 저장된 UWB 세션 파라미터가 복호화되어 프레임워크(1720)로 전달되어야 한다. 이 경우, 세션 ID와 같은 보안 파라미터가 노출되게 되어 보안성 문제가 생길 수 있다. 또한, 도 17의 실시예의 경우, 모든 파라미터에 접근 규칙(access rule)을 설정(예컨대, R/W from remote/local)하여야 하여, 접근 제어에 부담이 생길 수 있다. 또한, 도 17의 실시예의 경우, eSE(1730)의 연산 성능 및 메모리 제약으로 인하여, 다수의 어플리케이션을 처리하는데 한계를 갖는다. 이하에서는, 이러한 문제를 해소할 수 있는 실시예들에 대하여 각 도면을 참조하여 설명한다.Meanwhile, in the case of the embodiment of FIG. 17 , in order for the framework 1720 to call the UWBS 1740 for security ranging, for example, a UWB session parameter (eg, a session ID) is required. Therefore, as in procedure 2 (operation 2), the UWB session parameters securely stored in the eSE 1730 must be decrypted and transmitted to the framework 1720 . In this case, a security parameter such as a session ID may be exposed, which may cause a security problem. In addition, in the case of the embodiment of FIG. 17, access rules must be set (eg, R/W from remote/local) for all parameters, which may cause a burden on access control. In addition, in the case of the embodiment of Fig. 17, due to the computational performance and memory constraints of the eSE 1730, there is a limit in processing a number of applications. Hereinafter, embodiments that can solve these problems will be described with reference to each drawing.

도 18은 본 개시의 일 실시예에 따른, TEE를 포함하는 UWB 장치의 예시적인 구성을 나타낸다.18 illustrates an exemplary configuration of a UWB device including a TEE according to an embodiment of the present disclosure.

도 18을 참조하면, UWB 장치(1800)는 적어도 하나의 어플리케이션(UWB-enabled Application)(1810), 프레임워크(1820), 및/또는 TEE(1830)를 포함한다. UWB 장치(1800)는 OOB 컴포넌트를 더 포함할 수 있다. 도 18의 프레임워크(1820), UWBS(1833), UWB-enabled Application(1810) 및 OOB 컴포넌트는 본 개시에서, 새롭게 정의/설명한 내용을 제외하고는 기본적으로 예컨대, 도 1 내지 3에서 상술한 프레임워크, UWBS, UWB-enabled Application 및 OOB 컴포넌트의 정의/설명을 따를 수 있다.Referring to FIG. 18 , the UWB device 1800 includes at least one application (UWB-enabled Application) 1810 , a framework 1820 , and/or a TEE 1830 . The UWB device 1800 may further include an OOB component. The framework 1820, UWBS 1833, UWB-enabled Application 1810, and OOB components of FIG. 18 are basically, for example, the frames described above in FIGS. 1 to 3 except for newly defined/described contents in this disclosure. You can follow the definition/description of work, UWBS, UWB-enabled Application, and OOB components.

도 18을 참조하면, TEE(1830)는 적어도 하나의 TA(Trusted application)(1831), Secure OS(Trusted OS)(1832) 및/또는 UWBS(1833)를 포함할 수 있다. 도 6의 실시예에서, UWBS(1833)는 도시된 것처럼, TEE 영역 내에 포함될 수 있다. 즉, UWBS(1833)은 TEE(1830)의 Secure OS(Driver TA)(1832)에 직접 연결된 것일 수 있다. 따라서, UWBS(1833)는 TEE 영역의 외부에 위치하는 것 보다 높은 신뢰도 및 보안 레벨을 가질 수 있다.Referring to FIG. 18 , the TEE 1830 may include at least one Trusted Application (TA) 1831 , a Trusted OS (Secure OS) 1832 , and/or a UWBS 1833 . In the embodiment of Figure 6, UWBS 1833 may be included in the TEE area, as shown. That is, the UWBS 1833 may be directly connected to the Secure OS (Driver TA) 1832 of the TEE 1830 . Thus, the UWBS 1833 may have a higher level of reliability and security than those located outside the TEE area.

TEE(1830)는 코드를 실행하는 환경으로서, 높은 수준의 신뢰도(trust)를 가질 수 있다. TEE(1830)에서 신뢰도는 범용 소프트웨어 환경과 비교할 때, TEE 영역(공간)에 저장된 아이템들에 대한 유효성(validity), 격리도(isolation) 및 접근 제어(access control)에서 더 높은 레벨의 신뢰를 가짐을 의미할 수 있다. 따라서, TEE 영역 내에서 실행되는 TA(1831) 및 Secure OS(1832)는 더 높은 신뢰도를 가질 수 있다. 일 실시예에서, TEE(1830)(또는, TA(1831))는 미리 정의된 인터페이스(예컨대, TEE Client API)를 통해 다른 컴포넌트와 통신할 수 있다. 예를 들면, TEE(1830)(또는, TA(1831))는 미리 정의된 인터페이스(예컨대, TEE Client API)를 통해 어플리케이션(1810)과 통신할 수 있다.The TEE 1830 is an environment for executing code, and may have a high level of trust. Reliability in the TEE 1830 has a higher level of trust in validity, isolation, and access control for items stored in the TEE area (space) when compared to a general-purpose software environment. can mean Accordingly, the TA 1831 and the Secure OS 1832 running in the TEE area may have higher reliability. In one embodiment, the TEE 1830 (or TA 1831 ) may communicate with other components via a predefined interface (eg, TEE Client API). For example, the TEE 1830 (or TA 1831 ) may communicate with the application 1810 through a predefined interface (eg, TEE Client API).

TA(1831)는 TEE(1830)의 어플리케이션으로서, REE(Rich Operating System Execution Environment)에서의 어플리케이션의 불확실한 특성과 구별되기 위해 TA 로 지칭된다. 본 개시에서, TA(1831)(또는, TA의 ADF)는 RDS를 생성/저장/전달하는 역할을 수행할 수 있고, 프레임워크(1820)(또는, 프레임워크와 통신하는 UWBS(1833))에 대한 컨택 포인트로서의 역할을 수행할 수 있다. 본 개시에서, TA(1831)는 TA를 위해 정의된 ID(예컨대, UUID)에 의해 식별될 수 있다. 본 개시에서, TA(1831)는 FiRa TA로 지칭될 수도 있다. 상술한 것처럼, RDS는 UWB 레인징 세션을 보안하기 위해 사용되는 키를 나타내는 레인징 세션 키(UWB 레인징 세션 키) 및/또는 RDS(또는, RDS와 연관된 세션)을 식별하는 세션 ID를 포함할 수 있다. 이때, 레인징 세션 키 및 세션 ID는 개시자(initiator) 및 응답자(responder)에서 동일하여야 한다. 또한, RDS는 적어도 하나의 레인징 파라미터(예컨대, AoA (Angle of Arrival), 근접 거리(Proximity Distance)), 클라이언트 특정 데이터 및/또는 멀티캐스트 응답자-특정 키(Multicast responder-specific key)를 옵셔널하게 더 포함할 수 있다.The TA 1831 is an application of the TEE 1830 and is referred to as a TA in order to be distinguished from the uncertain characteristics of the application in a Rich Operating System Execution Environment (REE). In the present disclosure, the TA 1831 (or the ADF of the TA) may serve to generate/store/deliver the RDS, and to the framework 1820 (or the UWBS 1833 in communication with the framework) It can serve as a contact point for In this disclosure, the TA 1831 may be identified by an ID (eg, UUID) defined for the TA. In this disclosure, the TA 1831 may be referred to as a FiRa TA. As described above, the RDS may include a ranging session key (UWB ranging session key) indicating a key used to secure a UWB ranging session and/or a session ID identifying the RDS (or session associated with the RDS). can In this case, the ranging session key and the session ID must be the same in the initiator and the responder. In addition, RDS at least one ranging parameter (eg, AoA (Angle of Arrival), proximity (Proximity Distance)), client-specific data and / or multicast responder-specific key (Multicast responder-specific key) optional may include more.

Secure OS(1832)는 TEE(1830)에 의해 호스팅되는 OS로서, 장치의 나머지(REE)에 의해 호스팅되는 Rich OS(예컨대, 안드로이드)와 구별되는 Trusted OS일 수 있다. TA(1831)와 Secure OS(1832)는 미리 정의된 TEE Core API를 통해 통신할 수 있다. 일반적으로, TA(1831)는 TEE Core API를 이용하여, 명령을 Secure OS(1832)를 통해 외부 장치(peripheral)로 내려주는 방식으로 동작할 수 있다. 본 개시에서, Secure OS(1832)는 driver TA로 지칭될 수 있다.The Secure OS 1832 is an OS hosted by the TEE 1830 and may be a Trusted OS as distinct from a Rich OS (eg, Android) hosted by the rest of the device (REE). The TA 1831 and the Secure OS 1832 may communicate through a predefined TEE Core API. In general, the TA 1831 may operate in such a way that a command is issued to an external device (peripheral) through the Secure OS 1832 using the TEE Core API. In this disclosure, the Secure OS 1832 may be referred to as a driver TA.

한편, 도 16 및 17의 실시예와 같이, UWB 장치의 보안 컴포넌트가 eSE인 경우, UWBS가 eSE에 명령을 전달하는 방식을 통해 UWBS와 eSE 간의 통신이 수행된다. 이에 반하여, 도 18의 실시예와 같이, TEE의 경우, 일반적으로 TA는 Secure OS를 통해 외부 장치에 명령을 전달하는 방식을 통해 외부 장치와 통신을 수행한다. 따라서, UWBS를 단지 하나의 외부 장치로 인식하고, 상술한 일반적인 인터페이싱 방식을 통해 TA와 UWBS가 통신하는 경우, eSE 용 UWBS 칩셋과 TEE 용 UWBS 칩셋을 별도로 구현하여야 하는 부담이 발생될 수 있다. 따라서, TA와 UWBS 간의 인터페이싱을 위한 새로운 방식이 고려될 필요가 있다. Meanwhile, as in the embodiments of FIGS. 16 and 17 , when the security component of the UWB device is the eSE, communication between the UWBS and the eSE is performed through a method in which the UWBS transmits a command to the eSE. In contrast, as in the embodiment of FIG. 18 , in the case of the TEE, the TA generally communicates with the external device through a method of transmitting a command to the external device through the Secure OS. Therefore, when the UWBS is recognized as only one external device and the TA and UWBS communicate through the above-described general interfacing method, a burden of separately implementing the UWBS chipset for eSE and the UWBS chipset for TEE may occur. Therefore, a new scheme for interfacing between TA and UWBS needs to be considered.

이하에서는 각 도면을 참조하여, TEE에 포함된 UWBS와 TA가 서로 통신하는 실시예들에 대하여 예시적으로 설명한다. 이하의 실시예에서는, UWBS가 TA에 저장된 RDS를 획득하기 위해 TA와 통신하는 것을 예로 들어 설명하고 있으나, 이에 한정되지 아니하고, UWBS가 TA에 저장된 다른 종류의 보안 데이터/파라미터를 획득하기 위한 실시예들에 대해서도 이하에서 설명할 내용이 동일 또는 유사하게 적용될 수 있음은 통상의 기술자에게 자명하다.Hereinafter, embodiments in which the UWBS and the TA included in the TEE communicate with each other will be exemplarily described with reference to each drawing. In the following embodiment, the UWBS communicates with the TA to obtain the RDS stored in the TA as an example, but is not limited thereto, and the UWBS obtains other types of security data/parameters stored in the TA. It is obvious to those skilled in the art that the same or similar contents to be described below may also be applied to the above.

실시예 1: UWBS가 RDS를 TA로부터 Pull하는 실시예 (예컨대, UWBS가 RDS 전달(획득)을 위한 절차를 개시하는 initiator로 동작하고, TA가 이에 응답하는 responder로 동작하는 실시예) Example 1: Example in which UWBS pulls RDS from TA (eg, UWBS operates as an initiator initiating a procedure for RDS delivery (acquisition), and TA operates as a responder responding to it)

이하에서는 도 19 내지 21을 참조하여 실시예 1에 대하여 예시적으로 설명한다.Hereinafter, Embodiment 1 will be exemplarily described with reference to FIGS. 19 to 21 .

도 19는 본 개시의 일 실시예에 따른 TEE를 포함하는 UWB 장치의 동작을 나타낸다.19 illustrates an operation of a UWB device including a TEE according to an embodiment of the present disclosure.

도 19의 UWB 장치는 예컨대, 도 18의 UWB 장치일 수 있다.The UWB device of FIG. 19 may be, for example, the UWB device of FIG. 18 .

도 19를 참조하면, UWB 장치(1900)는 TEE(1910) 및 프레임워크(1920)를 포함할 수 있다. 일 실시예에서, TEE(1910)는 TA(1911), Secure OS(Driver TA)(1912) 및/또는 UWBS(1913)를 포함할 수 있다. 도 19의 실시예에서, TEE 영역에 포함된 UWBS(1913)는 TA(또는 Secure OS)(1911)의 관점에서 단순히 하나의 외부 장치(peripheral)의 역할을 수행하기 보다는, RDS 획득 절차를 개시하는 주체로 동작할 수 있다. 예를 들면, UWBS(1913)는 보안 레인징을 위한 RDS 획득(요청) 명령을 전달하는 initiator로 동작할 수 있다. 이 경우, TA(1911)는 UWBS(1913)로부터 전달된 RDS 획득 명령에 응답하여 RDS를 전달하는 responder로 동작할 수 있다. 따라서, 도 19의 실시예에서, TA(1911)는 TEE Core API를 이용하여 RDS를 직접 UWBS(1913)로 push하는 방식으로 동작하지 않는다.Referring to FIG. 19 , the UWB device 1900 may include a TEE 1910 and a framework 1920 . In one embodiment, the TEE 1910 may include a TA 1911 , a Secure OS (Driver TA) 1912 , and/or a UWBS 1913 . In the embodiment of FIG. 19, the UWBS 1913 included in the TEE area does not simply play the role of one external device (peripheral) from the point of view of the TA (or Secure OS) 1911, but initiates the RDS acquisition procedure. It can act as a subject. For example, the UWBS 1913 may operate as an initiator that transmits an RDS acquisition (request) command for security ranging. In this case, the TA 1911 may operate as a responder that transmits the RDS in response to the RDS acquisition command transmitted from the UWBS 1913 . Accordingly, in the embodiment of FIG. 19 , the TA 1911 does not operate in a manner that directly pushes the RDS to the UWBS 1913 using the TEE Core API.

도 19의 실시예의 경우, UWBS(1913)는 보안 레인징을 위한 RDS를 TA(1911)로 요청할 수 있고, TA(1911)는 이 요청에 응답하여 RDS를 UWBS(1913)로 전달할 수 있다. 이 경우, 보안 컴포넌트의 유형과 관계없이, UWBS(1913)의 관점에서는 보안 컴포넌트에 대한 일관된 동작(역할)을 수행하도록 UWBS가 구현될 수 있다. 즉, 보안 컴포넌트가 TEE인지 또는 SE(eSE)인지와 무관하게, RDS 획득을 위한 보안 컴포넌트에 대한 UWBS 동작(역할)을 동일하게 구성할 수 있다. 따라서, 보안 컴포넌트의 구분 없이 설계가 가능하여 UWBS 칩셋의 설계가 용이해질 수 있다. 19, the UWBS 1913 may request an RDS for security ranging from the TA 1911, and the TA 1911 may transmit the RDS to the UWBS 1913 in response to the request. In this case, regardless of the type of security component, UWBS may be implemented to perform a consistent operation (role) for the security component from the viewpoint of the UWBS 1913 . That is, regardless of whether the security component is a TEE or an SE (eSE), the UWBS operation (role) for the security component for RDS acquisition can be configured identically. Accordingly, design of the UWBS chipset can be facilitated because it is possible to design without distinction of security components.

또한, 도 19의 실시예의 경우, 상술한 것처럼, TA(1911)는 기존에 정의된 TEE Core API를 이용하여 RDS를 push하는 절차를 수행할 수 없다. 따라서, UWBS(1913)와 Secure OS(1912) 사이의 경로를 포함하는, UWBS(1913)와 TA(1911) 사이의 전체 경로에 대한 보안 채널이 설정될 필요가 있다.In addition, in the case of the embodiment of FIG. 19 , as described above, the TA 1911 cannot perform a procedure of pushing the RDS using the previously defined TEE Core API. Accordingly, a secure channel for the entire path between the UWBS 1913 and the TA 1911, including the path between the UWBS 1913 and the Secure OS 1912, needs to be established.

또한, 도 19의 실시예의 경우, UWBS(1913)를 위한 하드웨어 인터페이스(예컨대, SPI(Serial Peripheral Interface), I2C(inter-integrated circuit) 등)가 TEE 용 및 REE 용으로 각각 별도로 정의될 수 있다. 이 경우, 필요한 보안 레벨에 따라, 특정 절차(처리)를 TEE 용 인터페이스를 이용하거나, 또는 REE 용 인터페이스를 이용하는 것으로, 유연하게 구성할 수 있다. 예를 들면, 보안 레인징을 위한 RDS 관련 처리는 TEE 용 인터페이스를 통해 수행되고, 예컨대, 일반 레인징을 위한 처리는 REE 용 인터페이스를 통해 수행되도록, 설정될 수 있다.In addition, in the case of the embodiment of FIG. 19 , a hardware interface (eg, Serial Peripheral Interface (SPI), inter-integrated circuit (I2C), etc.) for the UWBS 1913 may be separately defined for TEE and REE. In this case, a specific procedure (process) can be flexibly configured by using an interface for TEE or an interface for REE according to a required security level. For example, RDS-related processing for secure ranging may be performed through an interface for TEE, and for example, processing for general ranging may be configured to be performed through an interface for REE.

또한, 도 19의 실시예의 경우, 프레임워크(1920)는 세션 ID를 포함하는 명령을 UWBS(1913)로 전송하는 대신에, 어플리케이션의 어플리케이션 ID 및/또는 인스턴스 ID(랜덤 ID)를 포함하는 명령을 TA(1911) 및/또는 UWBS(1913)로 전송할 수 있다. In addition, in the case of the embodiment of Fig. 19, the framework 1920 sends a command including the application ID and/or instance ID (random ID) of the application instead of transmitting the command including the session ID to the UWBS 1913. It can be transmitted to the TA (1911) and / or UWBS (1913).

여기서, 어플리케이션 ID은 어플리케이션을 식별하기 위한 ID이고, 인스턴스 ID는 어플리케이션 ID에 의해 식별되는 어플리케이션과 연관된 세션 인스턴스를 식별하기 위한 ID(예컨대, 각 세션 별로 할당된 랜덤 값)일 수 있다. 예를 들면, 하나의 어플리케이션(어플리케이션 인스턴스)에 대해 복수의 세션(세션 인스턴스)이 설정되는 경우, 해당 어플리케이션의 각 세션은 어플리케이션 ID 및 인스턴스 ID에 의해 식별될 수 있다. 다른 예를 들면, 하나의 어플리케이션에 대해 하나의 세션만이 설정된 경우, 해당 어플리케이션의 세션은 인스턴스 ID(또는, 어플리케이션 ID)에 의해 식별될 수 있다. 이와 같이, 세션을 식별하기 위해 세션 ID를 사용하는 대신에, 어플리케이션 ID 및/또는 인스턴스 ID를 사용하는 경우, RDS 획득을 위해 세션 ID(보안 파라미터)가 프레임워크(1920)로 노출됨으로써 생기는 보안 문제가 해소될 수 있다. 본 개시에서, 인스턴스 ID는 세션 인스턴스 ID로 지칭될 수 있다.Here, the application ID may be an ID for identifying an application, and the instance ID may be an ID (eg, a random value assigned to each session) for identifying a session instance associated with the application identified by the application ID. For example, when a plurality of sessions (session instances) are set for one application (application instance), each session of the corresponding application may be identified by an application ID and an instance ID. As another example, when only one session is established for one application, the session of the corresponding application may be identified by an instance ID (or application ID). As such, when using the application ID and/or instance ID instead of using the session ID to identify the session, a security problem caused by exposing the session ID (security parameter) to the framework 1920 for RDS acquisition can be resolved. In this disclosure, the instance ID may be referred to as a session instance ID.

이러한 도 19의 실시예의 예시적인 동작에 대하여는 도 21를 참조하여 이하에서 설명한다.An exemplary operation of the embodiment of FIG. 19 will be described below with reference to FIG. 21 .

도 20은 본 개시의 일 실시예에 따른 TEE 및 SE를 포함하는 UWB 장치의 동작을 나타낸다. 20 illustrates an operation of a UWB device including a TEE and an SE according to an embodiment of the present disclosure.

도 20을 참조하면, UWB 장치(2000)는 TEE(2010), SE(예컨대, eSE)(2020) 및 프레임워크(2030)를 포함할 수 있다. 일 실시예에서, TEE(2010)는 TA(2011), Secure OS(2012) 및/또는 UWBS(2013)를 포함할 수 있다. Referring to FIG. 20 , the UWB device 2000 may include a TEE 2010 , an SE (eg, eSE) 2020 , and a framework 2030 . In one embodiment, TEE 2010 may include TA 2011 , Secure OS 2012 and/or UWBS 2013 .

도 20의 실시예는 보안 컴포넌트로서 TEE(2010)와 SE(2020)가 함께 사용되는 Hybrid 방식의 실시예에 해당한다. 따라서, 각 보안 컴포넌트에 대한 UWBS(2013)의 동작을 효율적으로 구성할 필요가 있다. 즉, 호환성을 높이는 방식으로 구현할 필요가 있다.The embodiment of FIG. 20 corresponds to a hybrid-type embodiment in which the TEE 2010 and the SE 2020 are used together as a security component. Therefore, it is necessary to efficiently configure the operation of the UWBS 2013 for each security component. That is, it is necessary to implement it in a way that improves compatibility.

도 20의 실시예의 TEE(2010)의 구성 및 동작은 도 19의 실시예의 TEE(1910)의 구성 및 동작을 따를 수 있다. 예를 들면, UWBS(2013)가 TEE 영역 내부에 포함되며, UWBS(2013)를 위한 하드웨어 인터페이스(예컨대, SPI, I2C 등)가 TEE 용 및 REE 용으로 각각 별도로 정의될 수 있다. 또한, UWBS(2013)는 보안 레인징을 위한 RDS를 TA(2011)로 요청하고, TA(2011)는 이 요청에 응답하여 RDS를 UWBS(2013)로 전달할 수 있다. 또한, 프레임워크(2030)는 세션 ID를 포함하는 명령을 UWBS(2013)로 전송하는 대신에, 어플리케이션의 어플리케이션 ID 및/또는 인스턴스 ID(랜덤 ID)를 포함하는 명령을 RDS 획득을 위해 TA(2011) 및/또는 UWBS(2013)로 전송할 수 있다.The configuration and operation of the TEE 2010 of the embodiment of FIG. 20 may follow the configuration and operation of the TEE 1910 of the embodiment of FIG. 19 . For example, the UWBS 2013 is included in the TEE area, and a hardware interface (eg, SPI, I2C, etc.) for the UWBS 2013 may be separately defined for the TEE and the REE. In addition, the UWBS 2013 may request an RDS for security ranging to the TA 2011 , and the TA 2011 may transmit the RDS to the UWBS 2013 in response to the request. In addition, the framework 2030 sends a command including the application ID and/or instance ID (random ID) of the application to the TA (2011) for RDS acquisition, instead of transmitting the command including the session ID to the UWBS 2013 ) and/or UWBS (2013).

도 20의 실시예의 경우, 두 종류의 보안 컴포넌트가 UWB 장치(2000)에 포함되기 때문에, UWB 장치(2000)는 두 개의 동작 모드로 동작할 수 있다. 예를 들면, UWB 장치(2000)는 TEE 모드 또는 SE(eSE) 모드로 동작할 수 있다. 여기서, TEE 모드는 프레임워크(2030)와 UWBS(2013)가 TEE(2011)와 동작하는 모드(즉, 보안 컴포넌트로 TEE(2011)를 이용하는 모드)일 수 있고, SE 모드는 프레임워크(2030)와 UWBS(2013)가 SE(eSE)(2020)와 동작하는 모드(즉, 보안 컴포넌트로 SE(2020)를 이용하는 모드)일 수 있다. 일 실시예에서, TEE 모드에서 UWBS(2013)는 보안 데이터(예컨대, RDS)를 TEE(2010)(예컨대, TEE의 TA(2011))로부터 획득할 수 있고, SE 모드에서 UWBS(2013)는 보안 데이터(예컨대, RDS)를 SE(2020)(예컨대, eSE의 SUS Applet)로부터 획득할 수 있다.20 , since two types of security components are included in the UWB device 2000 , the UWB device 2000 may operate in two operation modes. For example, the UWB device 2000 may operate in a TEE mode or an SE (eSE) mode. Here, the TEE mode may be a mode in which the framework 2030 and the UWBS 2013 operate with the TEE 2011 (that is, a mode using the TEE 2011 as a security component), and the SE mode is the framework 2030 and UWBS 2013 may be in a mode in which SE (eSE) 2020 operates (ie, a mode using SE 2020 as a security component). In one embodiment, in TEE mode, UWBS 2013 may obtain security data (eg, RDS) from TEE 2010 (eg, TA 2011 of TEE), and in SE mode UWBS 2013 is secure Data (eg, RDS) may be obtained from SE 2020 (eg, SUS Applet of eSE).

TEE 모드인 경우, 도 19에서 상술한 바와 같이, UWBS(2013)는 RDS 획득을 위한 요청(명령)을 TA(2011)로 전달하고, TA(2011)는 이 요청에 응답하여 RDS를 UWBS(2013)로 전달할 수 있다. 마찬가지로, SE 모드인 경우, UWBS(2013)는 RDS 획득을 위한 요청(명령)을 eSE(2020)의 SUS Applet으로 전달하고, eSE(2020)의 SUS Apple은 이 요청에 응답하여 RDS를 UWBS(2013)로 전달할 수 있다. 이와 같이, 두 모드 모두에서, USBS(2013)는 RDS 획득 절차를 개시하는 initiator로 동작할 수 있다. 즉, UWBS(2013)는 보안 컴포넌트의 종류와 무관하게, RDS 획득을 위해 동일한 역할 및 동작을 수행할 수 있다. 예를 들면, UWBS(2013)는 보안 컴포넌트(TEE(TA) 또는 SE)에 RDS 획득을 위한 동일한 명령들을 전달할 수 있다. 따라서, UWBS 칩 설계가 용이하다는 이점을 갖는다.In the TEE mode, as described above in FIG. 19 , the UWBS 2013 transmits a request (command) for RDS acquisition to the TA 2011, and the TA 2011 transmits the RDS to the UWBS 2013 in response to the request. ) can be passed as Similarly, in the SE mode, the UWBS 2013 forwards a request (command) for RDS acquisition to the SUS Applet of the eSE 2020, and the SUS Apple of the eSE 2020 responds to this request and transfers the RDS to the UWBS 2013 ) can be passed as As such, in both modes, the USBS 2013 can act as an initiator initiating the RDS acquisition procedure. That is, the UWBS 2013 may perform the same role and operation for RDS acquisition regardless of the type of security component. For example, UWBS 2013 may pass the same commands for RDS acquisition to a security component (TEE (TA) or SE). Therefore, it has the advantage that the UWBS chip design is easy.

한편, UWBS(2013)에 대한 프레임워크(2030)의 명령은 동작 모드에 따라 상이할 수 있다. 예를 들면, TEE 모드인 경우, 프레임워크(2030)는 어플리케이션 ID 및/또는 인스턴스 ID를 포함하는 명령을 UWBS(2013) 및/또는 TA(2011)로 전달할 수 있고, SE 모드인 경우, 프레임워크(2013)는 세션 ID를 포함하는 명령을 UWBS(2013)로 전달할 수 있다.Meanwhile, the command of the framework 2030 for the UWBS 2013 may be different depending on the operation mode. For example, in the TEE mode, the framework 2030 may transmit a command including the application ID and/or instance ID to the UWBS 2013 and/or the TA 2011, and in the SE mode, the framework 2030 (2013) may transmit a command including the session ID to the UWBS (2013).

이와 같이, TEE(2010)와 SE(2020)가 함께 사용되는 Hybrid 방식의 경우, 높은 호환성을 갖는 실시예 1(UWBS가 보안 컴포넌트(TA)로부터 RDS를 pull 하는 실시예)가 칩 설계 측면에서 이점을 갖는다. 이와 같이, Hybrid 케이스에서는, 실시예 1의 방식이 후술할 실시예 2의 방식에 비해 유리할 수 있다.As such, in the case of the hybrid method in which the TEE (2010) and the SE (2020) are used together, embodiment 1 with high compatibility (an embodiment in which UWBS pulls RDS from a security component (TA)) is advantageous in terms of chip design has As such, in the Hybrid case, the method of Example 1 may be advantageous compared to the method of Example 2, which will be described later.

도 21은 본 개시의 일 실시예에 따른 제1 UWB 장치가 제2 UWB 장치와 보안 레인징을 수행하는 방법을 나타낸다.21 illustrates a method for a first UWB device to perform security ranging with a second UWB device according to an embodiment of the present disclosure.

도 21의 실시예에서, 제1 UWB 장치(2100a)는 도 18의 UWB 장치일 수 있고, 제2 UWB 장치(2100b)는 제1 UWB 장치(2100a)와 보안 레인징을 수행하는 장치일 수 있다. 도시된 것처럼, 제1 UWB 장치(2100a)는 UWBS(2113a), Secure OS(2112a)와 TA(2111a)를 포함하는 TEE(2110a) 및 프레임워크(2120a)를 포함할 수 있다.In the embodiment of FIG. 21 , the first UWB device 2100a may be the UWB device of FIG. 18 , and the second UWB device 2100b may be a device that performs security ranging with the first UWB device 2100a. . As shown, the first UWB device 2100a may include a UWBS 2113a, a TEE 2110a including a Secure OS 2112a and a TA 2111a, and a framework 2120a.

도 21의 실시예에서, 제1 UWB 장치(2100a)는 도 19에서 상술한 방식(실시예 1)에 따라 동작하는 UWB 장치에 해당한다.In the embodiment of FIG. 21 , the first UWB device 2100a corresponds to a UWB device operating according to the method (Example 1) described above with reference to FIG. 19 .

도 21을 참조하면, 동작 2101에서, 제2 UWB 장치(2100b)는 제1 UWB 장치(2100a)로 OID(object ID)에 의해 식별되는 오브젝트를 선택하기 위한 SELECT 명령을 제1 UWB 장치(2100a)로 전송할 수 있다. 일 실시예에서, SELECT 명령은 OID를 포함할 수 있다. 일 실시예에서, 어플리케이션은 루트 레벨의 GDF와 적어도 하나의 ADF를 포함하는 데이터 구조를 가질 수 있다. 이 경우, 오브젝트는 어플리케이션에 포함된 적어도 하나의 ADF 중 하나일 수 있다. 일 실시예에서, ADF는 RDS를 생성/저장/전달하는 역할을 수행할 수 있다.Referring to FIG. 21 , in operation 2101 , the second UWB device 2100b sends a SELECT command for selecting an object identified by an object ID (OID) to the first UWB device 2100a to the first UWB device 2100a. can be sent to In one embodiment, the SELECT command may include an OID. In one embodiment, the application may have a data structure including a root-level GDF and at least one ADF. In this case, the object may be one of at least one ADF included in the application. In one embodiment, the ADF may serve to generate/store/deliver the RDS.

동작 2102에서, 제1 UWB 장치(2100a)의 프레임워크(2120a)는 OID에 의해 식별된 오브젝트와 연관된 어플리케이션(예컨대, OID에 의해 식별된 ADF를 포함하는 어플리케이션)을 식별하고, 어플리케이션의 어플리케이션 ID 및/또는 인스턴스 ID(랜덤 ID)를 TA(2111a)로 전송할 수 있다. 상술한 것처럼, 어플리케이션 ID은 어플리케이션을 식별하기 위한 ID이고, 인스턴스 ID는 어플리케이션 ID에 의해 식별되는 어플리케이션과 연관된 세션 인스턴스를 식별하기 위한 ID(예컨대, 각 세션 별로 할당된 랜덤 값)일 수 있다. 예를 들면, 하나의 어플리케이션(어플리케이션 인스턴스)에 대해 복수의 세션(세션 인스턴스)이 설정되는 경우, 해당 어플리케이션의 각 세션은 어플리케이션 ID 및 인스턴스 ID에 의해 식별될 수 있다. 다른 예를 들면, 하나의 어플리케이션에 대해 하나의 세션만이 설정된 경우, 해당 어플리케이션의 세션은 인스턴스 ID(또는, 어플리케이션 ID)에 의해 식별될 수 있다. 이와 같이, 세션을 식별하기 위해 세션 ID를 사용하는 대신에, 어플리케이션 ID 및/또는 인스턴스 ID를 사용하는 경우, RDS 획득을 위해 세션 ID(보안 파라미터)가 프레임워크로 노출됨으로써 생기는 보안 문제가 해소될 수 있다. 본 개시에서, 인스턴스 ID는 세션 인스턴스 ID로 지칭될 수 있다.In operation 2102, the framework 2120a of the first UWB device 2100a identifies an application (eg, an application including an ADF identified by the OID) associated with the object identified by the OID, the application ID of the application, and / or an instance ID (random ID) may be transmitted to the TA 2111a. As described above, the application ID may be an ID for identifying an application, and the instance ID may be an ID (eg, a random value assigned to each session) for identifying a session instance associated with the application identified by the application ID. For example, when a plurality of sessions (session instances) are set for one application (application instance), each session of the corresponding application may be identified by an application ID and an instance ID. As another example, when only one session is established for one application, the session of the corresponding application may be identified by an instance ID (or application ID). As such, when an application ID and/or an instance ID are used instead of using the session ID to identify the session, the security problem caused by exposing the session ID (security parameter) to the framework for RDS acquisition can be solved. can In this disclosure, the instance ID may be referred to as a session instance ID.

동작 2103에서, 제1 UWB 장치(2100a)와 제2 UWB 장치(2100b)는 보안 채널을 설정할 수 있다. 보안 채널은 제1 UWB 장치(2100a)의 TA(2111a)와 제2 UWB 장치(2100b)의 보안 컴포넌트(예컨대, TA 또는 SUS Applet) 간에 설정될 수 있다. 일 실시예에서, 보안 채널은 BLE와 같은 OOB를 통해 설정될 수 있다. 이 보안 채널을 통해, UWB 파라미터가 교환될 수 있다.In operation 2103, the first UWB device 2100a and the second UWB device 2100b may establish a secure channel. A secure channel may be established between the TA 2111a of the first UWB device 2100a and a secure component (eg, TA or SUS Applet) of the second UWB device 2100b. In one embodiment, the secure channel may be established via OOB, such as BLE. Through this secure channel, UWB parameters can be exchanged.

동작 2104에서, TA(2111a)는 교환된 UWB 파라미터에 기초하여, 보안 레인징을 위해 사용되는 RDS를 생성/준비할 수 있다.In operation 2104, the TA 2111a may generate/prepare an RDS used for security ranging based on the exchanged UWB parameters.

동작 2105에서, TA(2111a)는 RDS가 준비되었음을 알리는 notification을 프레임워크(2120a)로 전달할 수 있다.In operation 2105, the TA 2111a may deliver a notification indicating that the RDS is ready to the framework 2120a.

동작 2106에서, 프레임워크(2120a)는 TA(2111a)로부터 RDS를 가져가라는 PULL 명령을 UWBS(2113a)로 전송할 수 있다. 일 실시예에서, 프레임워크(2120a)는 PULL 명령을 어플리케이션 ID 및/또는 인스턴스 ID와 함께 전송할 수 있다. 예를 들면, 프레임워크(2120a)는 어플리케이션 ID 및/또는 인스턴스 ID를 포함하는 PULL 명령을 전송할 수 있다.In operation 2106 , the framework 2120a may transmit a PULL command to take the RDS from the TA 2111a to the UWBS 2113a . In one embodiment, the framework 2120a may send a PULL command along with an application ID and/or an instance ID. For example, the framework 2120a may transmit a PULL command including an application ID and/or an instance ID.

동작 2107에서, UWBS(2113a)는 SELECT 명령을 TA(2111a)로 전송할 수 있고, TA(2111a)는 SELECT 명령에 대응하는 SELECT Response를 UWBS(2113a)로 전송할 수 있다. 일 실시예에서, SELECT 명령은 TA(2111a)의 식별 정보(예컨대, UUID)를 포함할 수 있다. 이를 통해, RDS를 검색할 TA(2111a)가 선택될 수 있다.In operation 2107, the UWBS 2113a may transmit a SELECT command to the TA 2111a, and the TA 2111a may transmit a SELECT response corresponding to the SELECT command to the UWBS 2113a. In an embodiment, the SELECT command may include identification information (eg, UUID) of the TA 2111a. Through this, the TA 2111a to search for the RDS may be selected.

동작 2108에서, UWBS(2113a)는 TA(2111a)로부터 랜덤 챌린지(random challenge)를 획득하기 제1 인증 명령(GENERAL AUTHENTICATE(Part 1(1/2): GET RANDOM))을 TA(2111a)로 전송할 수 있고, TA(2111a)는 제1 인증 명령에 대응하는 응답을 UWBS(2113a)로 전송할 수 있다. 또한, 동작 2109에서, 랜덤 챌린지에 응답하여, UWBS(2113a)는 암호화된 챌린지와 함께, TA(2111a)와의 보안 채널을 설정하기 위한 제2 인증 명령(GENERAL AUTHENTICATE(Part 1(2/2): Mutual Authentication))을 TA(2111a)로 전송할 수 있고, TA(2111a)는 제2 인증 명령에 대응하는 응답을 UWBS(2113a)로 전송할 수 있다. 이러한 동작 2108 내지 2109를 통해, UWBS(2113a)와 TA(2111a) 간에 보안 채널이 설정될 수 있다.In operation 2108, the UWBS 2113a transmits a first authentication command (GENERAL AUTHENTICATE (Part 1 (1/2): GET RANDOM)) to the TA 2111a to obtain a random challenge from the TA 2111a. , and the TA 2111a may transmit a response corresponding to the first authentication command to the UWBS 2113a. Further, in operation 2109, in response to the random challenge, the UWBS 2113a, along with the encrypted challenge, a second authentication command (GENERAL AUTHENTICATE (Part 1 (2/2)) for establishing a secure channel with the TA 2111a: Mutual Authentication)) may be transmitted to the TA 2111a, and the TA 2111a may transmit a response corresponding to the second authentication command to the UWBS 2113a. Through these operations 2108 to 2109, a secure channel may be established between the UWBS 2113a and the TA 2111a.

동작 2110에서, UWBS(2113a)는 RDS를 획득하기 위한 GET 명령(GET URSK)을 TA(2111a)로 전송할 수 있고, TA(2111a)는 GET 명령에 대응하는 Response를 UWBS(2113a)로 전송할 수 있다. 일 실시예에서, 이 GET 명령은 RDS를 식별하기 위한 세션 ID(UWB 세션 ID)를 포함할 수 있고, 이 Response는 세션 ID에 대응하는 RDS 데이터(예컨대, 레인징 세션 키)를 포함할 수 있다. 이를 통해, UWBS가 RDS 데이터를 획득할 수 있다.In operation 2110, the UWBS 2113a may transmit a GET command (GET URSK) for obtaining the RDS to the TA 2111a, and the TA 2111a may transmit a Response corresponding to the GET command to the UWBS 2113a. . In one embodiment, this GET command may include a session ID (UWB session ID) to identify the RDS, and this Response may include RDS data (eg, ranging session key) corresponding to the session ID . Through this, UWBS can acquire RDS data.

동작 2111에서, UWBS(2113a)는 UWBS(2113a)가 RDS 데이터를 정상적으로 획득하였음을 알려주는 notification(Done)을 프레임워크(2120a)로 전달할 수 있다. 일 실시예에서, 이 notification은 동작 2106의 PULL 명령에 대한 응답으로 전송될 수 있다.In operation 2111, the UWBS 2113a may transmit a notification (Done) indicating that the UWBS 2113a has normally obtained RDS data to the framework 2120a. In one embodiment, this notification may be transmitted in response to the PULL command in operation 2106 .

동작 2112에서, UWBS(2113a)는 획득된 RDS 데이터를 이용하여 제2 UWB 장치(2100b)의 UWBS와의 보안 레인징을 수행할 수 있다. 예를 들면, UWBS(2113a)는 RDS의 레인징 세션 키를 이용하여 생성된 STS를 이용하여, 제2 UWB 장치(2100b)의 UWBS와 보안 레인징을 수행할 수 있다.In operation 2112, the UWBS 2113a may perform secure ranging with the UWBS of the second UWB device 2100b using the obtained RDS data. For example, the UWBS 2113a may perform secure ranging with the UWBS of the second UWB device 2100b by using the STS generated using the ranging session key of the RDS.

이와 같이, UWB 장치가 실시예 1에 따라 동작하는 경우, 보안 컴포넌트의 구분 없이 UWBS의 설계가 가능하여 UWBS 칩셋의 설계가 용이해질 수 있다. 다만, TA의 기존 API를 활용하기 어렵고, UWBS와 Secure OA 사이의 경로를 포함하는, UWBS와 TA 사이의 전체 경로에 대한 보안 채널이 설정될 필요가 있다.In this way, when the UWB device operates according to the first embodiment, it is possible to design the UWBS without distinction of security components, thereby making it easy to design the UWBS chipset. However, it is difficult to utilize the existing API of the TA, and it is necessary to establish a secure channel for the entire path between the UWBS and the TA, including the path between the UWBS and the Secure OA.

상술한 각 동작은 각 구성에서 수행되는 특정 동작을 예시한 것으로, 동작의 순서가 기재된 순서로만 제한되는 것은 아니다. 예를 들면, 기재된 순서와 다른 순서로 각 동작이 수행될 수도 있다.Each of the above-described operations exemplifies specific operations performed in each configuration, and the order of operations is not limited only to the order in which they are described. For example, each operation may be performed in an order different from the described order.

이하에서는, 호환성 중심으로 한 실시예 1과 다른 관점의 실시예(실시예 2)에 대하여 도 22 내지 23을 참조하여 예시적으로 설명한다. 실시예 2는 예컨대, 효율성 중심으로 한 실시예일 수 있다.Hereinafter, an embodiment (Embodiment 2) different from Embodiment 1 focusing on compatibility will be exemplarily described with reference to FIGS. 22 to 23 . Embodiment 2 may be, for example, an embodiment centered on efficiency.

실시예 2: TA가 RDS를 UWBS로 Push 하는 실시예 (예컨대, TA가 RDS 전달(획득)을 위한 절차를 개시하는 initiator로 동작하고, UWBS가 이에 응답하는 responder로 동작하는 실시예) Embodiment 2: TA pushes RDS to UWBS (eg, TA operates as an initiator initiating a procedure for RDS delivery (acquisition), and UWBS operates as a responder responding thereto)

이하에서는 도 22 내지 23을 참조하여 실시예 2에 대하여 예시적으로 설명한다.Hereinafter, Embodiment 2 will be exemplarily described with reference to FIGS. 22 to 23 .

도 22는 본 개시의 다른 실시예에 따른 TEE를 포함하는 UWB 장치의 동작을 나타낸다.22 illustrates an operation of a UWB device including a TEE according to another embodiment of the present disclosure.

도 22의 UWB 장치는 예컨대, 도 18의 UWB 장치일 수 있다.The UWB device of FIG. 22 may be, for example, the UWB device of FIG. 18 .

도 22를 참조하면, UWB 장치(2200)는 TEE(2210) 및 프레임워크(2220)를 포함할 수 있다. 일 실시예에서, TEE(2210)는 TA(2211), Secure OS(2212) 및/또는 UWBS(2213)를 포함할 수 있다. 도 22의 실시예에서, TEE 영역에 포함된 UWBS(2213)는 TA(2211)(또는 Secure OS(2212))의 관점에서 하나의 외부 장치(peripheral)의 역할을 수행한다. 따라서, 도 19의 실시예와 달리, 도 22의 실시예에서, TA(2211)는 TEE Core API를 이용하여 RDS를 직접 UWBS(2213)로 push하는 방식으로 동작할 수 있다. 즉, UWBS(2213)의 요청과 무관하게, TA(2211)는 RDS를 UWBS(2213)로 전달할 수 있다. 따라서, 구현이 용이하다는 이점을 갖는다. 즉, 실시예 2는 실시예 1 보다 TA의 동작 효율성 측면에서 더 유리하다.Referring to FIG. 22 , the UWB device 2200 may include a TEE 2210 and a framework 2220 . In one embodiment, TEE 2210 may include TA 2211 , Secure OS 2212 and/or UWBS 2213 . In the embodiment of FIG. 22 , the UWBS 2213 included in the TEE area performs the role of one external device (peripheral) from the viewpoint of the TA 2211 (or the Secure OS 2212). Therefore, unlike the embodiment of FIG. 19 , in the embodiment of FIG. 22 , the TA 2211 may operate by directly pushing the RDS to the UWBS 2213 using the TEE Core API. That is, regardless of the request of the UWBS 2213 , the TA 2211 may deliver the RDS to the UWBS 2213 . Therefore, it has the advantage of being easy to implement. That is, Embodiment 2 is more advantageous than Embodiment 1 in terms of operational efficiency of the TA.

또한, 도 22의 실시예의 경우, TA(2211)와 Secure OA(2212) 간에는 미리 정의된 TEE Core API를 통해 보안된 통신이 수행되기 때문에, RDS 전달을 위해, 전체 경로가 아닌, Secure OA(2212)와 UWBS(2213) 간의 경로에 대한 보안 채널만이 설정되면 된다.In addition, in the case of the embodiment of Fig. 22, since secure communication is performed through a predefined TEE Core API between the TA 2211 and the Secure OA 2212, for RDS delivery, not the entire path, but the Secure OA 2212 ) and only the secure channel for the path between the UWBS 2213 needs to be established.

또한, 도 22의 실시예의 경우, UWBS(2213)를 위한 하드웨어 인터페이스(예컨대, SPI, I2C 등)가 TEE 용 및 REE 용으로 각각 별도로 정의될 수 있다. 이 경우, 필요한 보안 레벨에 따라, 특정 절차(처리)를 TEE 용 인터페이스를 이용하거나, 또는 REE 용 인터페이스를 이용하는 것으로, 유연하게 구성할 수 있다. 예를 들면, 보안 레인징을 위한 RDS 관련 처리는 TEE 용 인터페이스를 통해 수행되고, 예컨대, 일반 레인징을 위한 처리는 REE 용 인터페이스를 통해 수행되도록, 설정될 수 있다.In addition, in the case of the embodiment of FIG. 22 , a hardware interface (eg, SPI, I2C, etc.) for the UWBS 2213 may be separately defined for TEE and REE. In this case, a specific procedure (process) can be flexibly configured by using an interface for TEE or an interface for REE according to a required security level. For example, RDS-related processing for secure ranging may be performed through an interface for TEE, and for example, processing for general ranging may be configured to be performed through an interface for REE.

또한, 도 22의 실시예의 경우, 프레임워크는 세션 ID를 포함하는 명령을 UWBS(2213)로 전송하는 대신에, 어플리케이션의 어플리케이션 ID 및/또는 인스턴스 ID(랜덤 ID)를 포함하는 명령을 TA(2211) 및/또는 UWBS(2213)로 전송할 수 있다. In addition, in the case of the embodiment of FIG. 22 , the framework sends a command including the application ID and/or instance ID (random ID) of the application to the TA 2211 instead of sending the command including the session ID to the UWBS 2213 . ) and/or UWBS 2213 .

여기서, 어플리케이션 ID은 어플리케이션을 식별하기 위한 ID이고, 인스턴스 ID는 어플리케이션 ID에 의해 식별되는 어플리케이션과 연관된 세션 인스턴스를 식별하기 위한 ID(예컨대, 어플리케이션의 각 세션 별로 할당된 랜덤 값)일 수 있다. 예를 들면, 하나의 어플리케이션(어플리케이션 인스턴스)에 대해 복수의 세션(세션 인스턴스)이 설정되는 경우, 해당 어플리케이션의 각 세션은 어플리케이션 ID 및 인스턴스 ID에 의해 식별될 수 있다. 다른 예를 들면, 하나의 어플리케이션에 대해 하나의 세션만이 설정된 경우, 해당 어플리케이션의 세션은 인스턴스 ID(또는, 어플리케이션 ID)에 의해 식별될 수 있다. 이와 같이, 세션을 식별하기 위해 세션 ID를 사용하는 대신에, 어플리케이션 ID 및/또는 인스턴스 ID를 사용하는 경우, RDS 획득을 위해 세션 ID(보안 파라미터)가 프레임워크로 노출됨으로써 생기는 보안 문제가 해소될 수 있다. 본 개시에서, 인스턴스 ID는 세션 인스턴스 ID로 지칭될 수 있다.Here, the application ID may be an ID for identifying an application, and the instance ID may be an ID (eg, a random value assigned to each session of the application) for identifying a session instance associated with the application identified by the application ID. For example, when a plurality of sessions (session instances) are set for one application (application instance), each session of the corresponding application may be identified by an application ID and an instance ID. As another example, when only one session is established for one application, the session of the corresponding application may be identified by an instance ID (or application ID). As such, when an application ID and/or an instance ID are used instead of using the session ID to identify the session, the security problem caused by exposing the session ID (security parameter) to the framework for RDS acquisition can be solved. can In this disclosure, the instance ID may be referred to as a session instance ID.

다만, 도 22의 실시예(실시예 2)의 경우, TEE(2210)와 함께 SE(eSE)가 사용되는 경우, TEE(2210)에 대한 UWBS(2213)의 동작과 SE에 대한 UWBS(2213)의 동작을 별도로 구현하여야 하기 때문에, 도 19에 실시예(실시예 1)에 비해, 칩 설계 측면에서 용이하지 않다. 따라서, 실시예 2는 보안 컴포넌트로서 TEE만을 사용하는 케이스에서 더 유리할 수 있다.However, in the case of the embodiment (Example 2) of FIG. 22, when SE (eSE) is used together with the TEE 2210, the operation of the UWBS 2213 for the TEE 2210 and the UWBS 2213 for the SE In comparison with the embodiment (Embodiment 1) in FIG. 19, since the operation of , must be implemented separately, it is not easy in terms of chip design. Accordingly, Embodiment 2 may be more advantageous in the case of using only TEE as a security component.

이러한 도 22의 실시예의 예시적인 동작에 대하여는 도 23을 참조하여 이하에서 설명한다.An exemplary operation of the embodiment of FIG. 22 will be described below with reference to FIG. 23 .

도 23은 본 개시의 다른 실시예에 따른 제1 UWB 장치가 제2 UWB 장치와 보안 레인징을 수행하는 방법을 나타낸다.23 illustrates a method for a first UWB device to perform security ranging with a second UWB device according to another embodiment of the present disclosure.

도 23의 실시예에서, 제1 UWB 장치(2300a)는 도 18의 UWB 장치일 수 있고, 제2 UWB 장치(2300b)는 제1 UWB 장치(2300a)와 보안 레인징을 수행하는 장치일 수 있다. 도시된 것처럼, 제1 UWB 장치(2300a)는 UWBS(2313a), Secure OS(2312a)와 TA(2311a)를 포함하는 TEE(2310a) 및 프레임워크(2320a)를 포함할 수 있다.In the embodiment of FIG. 23 , the first UWB device 2300a may be the UWB device of FIG. 18 , and the second UWB device 2300b may be a device that performs security ranging with the first UWB device 2300a . . As shown, the first UWB device 2300a may include a UWBS 2313a, a TEE 2310a including a Secure OS 2312a and a TA 2311a, and a framework 2320a.

도 23의 실시예에서, 제1 UWB 장치(2300a)는 도 22에서 상술한 방식(실시예 2)에 따라 동작하는 UWB 장치에 해당한다.In the embodiment of FIG. 23 , the first UWB device 2300a corresponds to the UWB device operating according to the method (Example 2) described above with reference to FIG. 22 .

도 23을 참조하면, 동작 2301에서, 제2 UWB 장치(2300b)는 제1 UWB 장치(2300a)로 OID(object ID)에 식별되는 오브젝트를 선택하기 위한 SELECT 명령을 전송할 수 있다. 일 실시예에서, SELECT 명령은 OID를 포함할 수 있다. 일 실시예에서, 어플리케이션은 루트 레벨의 GDF와 적어도 하나의 ADF를 포함하는 데이터 구조를 가질 수 있다. 이 경우, 오브젝트는 적어도 하나의 ADF 중 하나일 수 있다. 일 실시예에서, ADF는 RDS를 생성/저장/전달하는 역할을 수행할 수 있다.Referring to FIG. 23 , in operation 2301 , the second UWB device 2300b may transmit a SELECT command for selecting an object identified by an object ID (OID) to the first UWB device 2300a. In one embodiment, the SELECT command may include an OID. In one embodiment, the application may have a data structure including a root-level GDF and at least one ADF. In this case, the object may be one of at least one ADF. In one embodiment, the ADF may serve to generate/store/deliver the RDS.

동작 2302에서, 제1 UWB 장치(2300a)의 프레임워크(2320a)는 OID에 의해 식별된 오브젝트와 연관된 어플리케이션(예컨대, OID에 의해 식별된 ADF를 포함하는 어플리케이션)을 식별하고, 어플리케이션의 ID 및/또는 인스턴스 ID(랜덤 ID)를 TA(2311a)로 전송할 수 있다. In operation 2302 , the framework 2320a of the first UWB device 2300a identifies an application (eg, an application including an ADF identified by the OID) associated with the object identified by the OID, the ID of the application and/or Alternatively, an instance ID (random ID) may be transmitted to the TA 2311a.

여기서, 어플리케이션 ID은 어플리케이션을 식별하기 위한 ID이고, 인스턴스 ID는 어플리케이션 ID에 의해 식별되는 어플리케이션과 연관된 세션 인스턴스를 식별하기 위한 ID(예컨대, 각 세션 별로 할당된 랜덤 값)일 수 있다. 예를 들면, 하나의 어플리케이션(어플리케이션 인스턴스)에 대해 복수의 세션(세션 인스턴스)이 설정되는 경우, 해당 어플리케이션의 각 세션은 어플리케이션 ID 및 인스턴스 ID에 의해 식별될 수 있다. 다른 예를 들면, 하나의 어플리케이션에 대해 하나의 세션만이 설정된 경우, 해당 어플리케이션의 세션은 인스턴스 ID(또는, 어플리케이션 ID)에 의해 식별될 수 있다. 이와 같이, 세션을 식별하기 위해 세션 ID를 사용하는 대신에, 어플리케이션 ID 및/또는 인스턴스 ID를 사용하는 경우, RDS 획득을 위해 세션 ID(보안 파라미터)가 프레임워크로 노출됨으로써 생기는 보안 문제가 해소될 수 있다. 본 개시에서, 인스턴스 ID는 세션 인스턴스 ID로 지칭될 수 있다.Here, the application ID may be an ID for identifying an application, and the instance ID may be an ID (eg, a random value assigned to each session) for identifying a session instance associated with the application identified by the application ID. For example, when a plurality of sessions (session instances) are set for one application (application instance), each session of the corresponding application may be identified by an application ID and an instance ID. As another example, when only one session is established for one application, the session of the corresponding application may be identified by an instance ID (or application ID). As such, when an application ID and/or an instance ID are used instead of using the session ID to identify the session, the security problem caused by exposing the session ID (security parameter) to the framework for RDS acquisition can be solved. can In this disclosure, the instance ID may be referred to as a session instance ID.

동작 2203에서, 제1 UWB 장치(2300a)와 제2 UWB 장치(2300b)는 보안 채널을 설정할 수 있다. 보안 채널은 제1 UWB 장치(2300a)의 TA(2311a)와 제2 UWB 장치(2300b)의 보안 컴포넌트(예컨대, TA 또는 SUS Applet) 간에 설정될 수 있다. 일 실시예에서, 보안 채널은 BLE와 같은 OOB를 통해 설정될 수 있다. 이 보안 채널을 통해, UWB 파라미터가 교환될 수 있다.In operation 2203, the first UWB device 2300a and the second UWB device 2300b may establish a secure channel. A secure channel may be established between the TA 2311a of the first UWB device 2300a and a secure component (eg, TA or SUS Applet) of the second UWB device 2300b. In one embodiment, the secure channel may be established via OOB, such as BLE. Through this secure channel, UWB parameters can be exchanged.

동작 2304에서, TA(2311a)는 교환된 UWB 파라미터에 기초하여, 보안 레인징을 위해 사용되는 RDS를 생성할 수 있다.In operation 2304 , the TA 2311a may generate an RDS used for security ranging based on the exchanged UWB parameters.

동작 2305에서, TA(2311a)는 RDS가 준비되었음을 알리는 notification을 프레임워크(2320a)로 전달할 수 있다.In operation 2305, the TA 2311a may deliver a notification indicating that the RDS is ready to the framework 2320a.

동작 2306에서, 프레임워크(2320a)는 UWBS로 RDS를 보내라는 PUSH 명령(즉, TA가 UWBS로 RDS를 push 하라는 PUSH 명령)을 TA(2311a)로 전송할 수 있다. 일 실시예에서, 프레임워크(2320a)는 PUSH 명령을 어플리케이션 ID 및 인스턴스 ID와 함께 전송할 수 있다. 예를 들면, 프레임워크(2320a)는 어플리케이션 ID 및 인스턴스 ID를 포함하는 PUSH 명령을 전송할 수 있다.In operation 2306 , the framework 2320a may transmit a PUSH command to send an RDS to the UWBS (ie, a PUSH command for the TA to push the RDS to the UWBS) to the TA 2311a. In one embodiment, the framework 2320a may send the PUSH command together with the application ID and the instance ID. For example, the framework 2320a may transmit a PUSH command including an application ID and an instance ID.

동작 2307에서, TA(2311a)는 Secure OS(2312a)와 UWBS(2313a) 간의 보안 채널을 설정하기 위한 요청을 Secure OS(Driver TA)(2312a)로 전송할 수 있다. TEE(2310a)에서 TA(2311a)와 Secure OS(2312a) 간에는 보안된 상태이므로, TA(2311a)에서 생성된 RDS를 안전하게 UWBS(2313a)로 전달하기 위해서는 Secure OS(2312a)와 UWBS(2313a) 간의 보안 채널이 설정될 필요가 있다. 이하에서는 동작 2308 내지 2312를 통해 Secure OS(2312a)와 UWBS(2313a) 간의 보안 채널 설정 절차에 대하여 설명한다.In operation 2307 , the TA 2311a may transmit a request for establishing a secure channel between the Secure OS 2312a and the UWBS 2313a to the Secure OS (Driver TA) 2312a. In the TEE 2310a, between the TA 2311a and the Secure OS 2312a is in a secure state, so in order to safely transfer the RDS generated in the TA 2311a to the UWBS 2313a, between the Secure OS 2312a and the UWBS 2313a A secure channel needs to be established. Hereinafter, a procedure for establishing a secure channel between the Secure OS 2312a and the UWBS 2313a through operations 2308 to 2312 will be described.

동작 2308에서, Secure OS(2312a)는 랜덤 값(p)를 생성하고, 생성된 랜덤 값(p)를 UWBS(2313a)로 전송할 수 있다. 동작 2309에서, UWBS(2313a)는 랜덤 값(p)에 기초하여 세션 키(K)(예컨대, 메시지의 보안을 위한 세션 키)를 생성할 수 있다. 예를 들면, UWBS(2313a)는 수신된 랜덤 값(p) 및/또는 UWBS(2313a)가 생성한 랜덤 값(q)에 기초하여 세션 키(K)를 생성할 수 있다. 또한, UWBS(2313a)는 세션 키(K)에 기초하여 암호화된 데이터(cryptogram)를 생성할 수 있다.In operation 2308, the Secure OS 2312a may generate a random value p, and transmit the generated random value p to the UWBS 2313a. In operation 2309, the UWBS 2313a may generate a session key K (eg, a session key for security of a message) based on the random value p. For example, the UWBS 2313a may generate the session key K based on the received random value p and/or the random value q generated by the UWBS 2313a. Also, the UWBS 2313a may generate encrypted data (cryptogram) based on the session key (K).

동작 2310에서, UWBS(2313a)는 생성된 cryptogram 및/또는 랜덤 값(q)를 Secure OS(2312a)로 전송할 수 있다. 동작 2311에서, Secure OS(2312a)는 랜덤 값(q)에 기초하여 세션 키(K)를 생성할 수 있다. 예를 들면, Secure OS(2312a)는 수신된 랜덤 값(q) 및/또는 Secure OS(2312a)가 생성한 랜덤 값(p)에 기초하여 세션 키(K)를 생성할 수 있다. 또한, Secure OS(2312a)는 세션 키(K)에 기초하여 암호화된 데이터(cryptogram)를 생성할 수 있다. In operation 2310 , the UWBS 2313a may transmit the generated cryptogram and/or the random value q to the Secure OS 2312a. In operation 2311, the Secure OS 2312a may generate a session key K based on the random value q. For example, the Secure OS 2312a may generate the session key K based on the received random value q and/or the random value p generated by the Secure OS 2312a. Also, the Secure OS 2312a may generate encrypted data (cryptogram) based on the session key (K).

동작 2312에서, Secure OS(2312a)는 생성된 cryptogram을 UWBS(2313a)로 전송할 수 있다. 이를 통해, 동일한 세션 키(K)가 Secure OS(2312a)와 UWBS(2313a) 사이에 공유될 수 있고, 이후 동작은 이 세션 키(K)를 이용하여 보호될 수 있다. 이러한 동작 2308 내지 2312을 통해, UWBS(2313a)와 Secure OS(2312a) 간에 보안 채널이 설정될 수 있다.In operation 2312 , the Secure OS 2312a may transmit the generated cryptogram to the UWBS 2313a. Through this, the same session key K can be shared between the Secure OS 2312a and the UWBS 2313a, and subsequent operations can be protected using this session key K. Through these operations 2308 to 2312, a secure channel may be established between the UWBS 2313a and the Secure OS 2312a.

동작 2313에서, Secure OS(2312a)는 UWBS(2313a)와 Secure OS(2312a) 간에 보안 채널이 설정되었음을 알리는 notification(OK) 또는 UWBS(2313a)와 Secure OS(2312a) 간에 보안 채널이 설정되지 않음을 알리는 notification(NOK)를 TA(2311a)로 전송할 수 있다. 일 실시예에서, 이 notification은 동작 2307의 요청에 대한 응답으로 전송될 수 있다.In operation 2313, the Secure OS 2312a determines that a notification (OK) indicating that a secure channel has been established between the UWBS 2313a and the Secure OS 2312a or that a secure channel is not established between the UWBS 2313a and the Secure OS 2312a. A notification (NOK) may be transmitted to the TA 2311a. In one embodiment, this notification may be transmitted in response to the request of operation 2307 .

동작 2314에서, UWBS(2313a)와 Secure OS(2312a) 간의 보안 채널이 설정된 경우, TA(2311a)는 보안 채널을 통해 RDS를 UWBS(2313a)로 전달할 수 있다. 예를 들면, TA(2311a)는 세션 키(K)를 이용하여 Secure OS(2312a)를 통해 RDS를 UWBS(2313a)로 전달할 수 있다. 예컨대, TA(2311a)는 세션 키(K)를 이용하여 RDS를 암호화하여 UWBS(2313a)로 전달할 수 있다.In operation 2314, when a secure channel is established between the UWBS 2313a and the Secure OS 2312a, the TA 2311a may deliver the RDS to the UWBS 2313a through the secure channel. For example, the TA 2311a may transmit the RDS to the UWBS 2313a through the Secure OS 2312a using the session key K. For example, the TA 2311a may encrypt the RDS using the session key K and transmit it to the UWBS 2313a.

동작 2315에서, UWBS(2313a)는 획득된 RDS 데이터를 이용하여 제2 UWB 장치(2300b)의 UWBS와의 보안 레인징을 수행할 수 있다. 예를 들면, UWBS(2313a)는 RDS의 레인징 세션 키를 이용하여 생성된 STS를 이용하여, 제2 UWB 장치(2300b)의 UWBS와 보안 레인징을 수행할 수 있다.In operation 2315 , the UWBS 2313a may perform secure ranging with the UWBS of the second UWB device 2300b using the obtained RDS data. For example, the UWBS 2313a may perform secure ranging with the UWBS of the second UWB device 2300b by using the STS generated using the ranging session key of the RDS.

상술한 각 동작은 각 구성에서 수행되는 특정 동작을 예시한 것으로, 동작의 순서가 기재된 순서로만 제한되는 것은 아니다. 예를 들면, 기재된 순서와 다른 순서로 각 동작이 수행될 수도 있다.Each of the above-described operations exemplifies specific operations performed in each configuration, and the order of operations is not limited only to the order in which they are described. For example, each operation may be performed in an order different from the described order.

도 24는 본 개시의 일 실시예에 따른 UWB 장치의 구성을 나타낸다.24 shows the configuration of a UWB device according to an embodiment of the present disclosure.

도 24의 UWB 장치는 도 18의 UWB 장치의 일 예일 수 있다.The UWB device of FIG. 24 may be an example of the UWB device of FIG. 18 .

도 24를 참조하면, UWB 장치(2400)는 TEE(2410), 프레임워크(2420) 및 적어도 하나의 어플리케이션(UWB-enabled Application)(2430)을 포함할 수 있다. 적어도 하나의 어플리케이션(2430)은 TEE 외부에 위치하며, TEE 내부의 어플리케이션인 TA(2411)와 구별될 수 있다. 이러한 TEE 외부의 어플리케이션(2430)은 TA(2411)에 비해 낮은 보안성을 가진다. 본 개시에서, 프레임워크(2420)는 FiRa 프레임워크로, 어플리케이션(2430)은 FiRa 어플리케이션으로, TA(2411)는 FiRa TA로 지칭될 수도 있다.Referring to FIG. 24 , a UWB device 2400 may include a TEE 2410 , a framework 2420 , and at least one application (UWB-enabled Application) 2430 . At least one application 2430 is located outside the TEE, and may be distinguished from the TA 2411, which is an application inside the TEE. The application 2430 outside the TEE has lower security than the TA 2411 . In the present disclosure, the framework 2420 may be referred to as a FiRa framework, the application 2430 may be referred to as a FiRa application, and the TA 2411 may be referred to as a FiRa TA.

일 실시예에서, TEE(2410)는 적어도 하나의 TA(2411), Secure OS(Driver TA)(2412) 및/또는 UWBS(2413)를 포함할 수 있다. TA(2411)와 Secure OS(2412)는 TEE core API를 통해 통신할 수 있고, TA(2411)와 TEE 외부의 다른 컴포넌트(예컨대, 어플리케이션(2430))는 TEE Client API를 통해 통신할 수 있다.In one embodiment, the TEE 2410 may include at least one TA 2411 , a Secure OS (Driver TA) 2412 , and/or a UWBS 2413 . The TA 2411 and the Secure OS 2412 may communicate through the TEE core API, and the TA 2411 and other components outside the TEE (eg, the application 2430) may communicate through the TEE Client API.

일 실시예에서, TA(2411)는 적어도 하나의 ADF를 포함할 수 있다. ADF는 OID에 의해 식별될 수 있다. 예를 들면, 도시된 것처럼, TA(2411)는 OID#1에 의해 식별되는 ADF 및 OID#2에 의해 식별되는 ADF를 포함할 수 있다. 이 경우, 각 ADF는 해당 어플리케이션의 어플리케이션 인증서(AppCert), 어플리케이션 ID(AppID), 인스턴스 ID 및/또는 보안 채널 키 파라미터(SC Key Parameter)(예컨대, 보안 채널 키 ID)를 포함할 수 있다. In one embodiment, the TA 2411 may include at least one ADF. An ADF may be identified by an OID. For example, as shown, the TA 2411 may include an ADF identified by OID#1 and an ADF identified by OID#2. In this case, each ADF may include an application certificate (AppCert), an application ID (AppID), an instance ID, and/or a secure channel key parameter (SC Key Parameter) (eg, secure channel key ID) of the corresponding application.

일 실시예에서, 프레임워크(2420)는 각 ADF에 저장된 어플리케이션 인증서(AppCert), 어플리케이션 ID(AppID), 인스턴스 ID 및/또는 보안 채널 키 파라미터(SC Key Parameter)(예컨대, 보안 채널 키 ID) 중 적어도 하나를 포함할 수 있다. 이를 통해, 프레임워크(2420)는 외부 UWB 장치로부터 전달된 메시지를 식별하고, 이를 특정 TA(2411)에 연결하는 역할을 수행할 수 있다. 예를 들면, 외부 UWB 장치에서 특정 OID가 호출되는 경우, 프레임워크(2420)는 이를 식별하고 OID와 연관된 어플리케이션의 APP ID 및/또는 인스턴스 ID를 TA(2411)로 전달함으로써, TA(2411)가 해당 어플리케이션의 세션을 식별하게 할 수 있다. 이 경우, TA(2411)는 미리 설정된 방식에 따라, UWBS(2413)의 요청에 응답하여 해당 세션과 연관된 RDS를 UWBS(2413)로 전달하거나, UWBS(2413)의 요청과 무관하게 해당 세션과 연관된 RDS를 UWBS(2413)로 push할 수 있다.In one embodiment, the framework 2420 is one of an application certificate (AppCert), an application ID (AppID), an instance ID, and/or a secure channel key parameter (SC Key Parameter) (eg, secure channel key ID) stored in each ADF. It may include at least one. Through this, the framework 2420 may identify a message delivered from an external UWB device and serve to connect it to a specific TA 2411 . For example, when a specific OID is called from an external UWB device, the framework 2420 identifies it and passes the APP ID and/or instance ID of the application associated with the OID to the TA 2411, so that the TA 2411 is You can identify the session of the corresponding application. In this case, the TA 2411 transmits the RDS associated with the session to the UWBS 2413 in response to the request of the UWBS 2413 according to a preset scheme, or the RDS associated with the session regardless of the request of the UWBS 2413 . RDS can be pushed to UWBS 2413 .

도 25는 본 개시의 일 실시예에 따른 UWB 장치의 방법을 나타내는 흐름도이다.25 is a flowchart illustrating a method of a UWB device according to an embodiment of the present disclosure.

도 25의 실시예에서, UWB 장치는 도 18의 UWB 장치 또는 도 24의 UWB 장치일 수 있다. 도 25의 UWB 장치의 동작은 도 19 내지 21을 참조하여 설명한 실시예 1에 따른 동작일 수 있다.In the embodiment of FIG. 25 , the UWB device may be the UWB device of FIG. 18 or the UWB device of FIG. 24 . The operation of the UWB device of FIG. 25 may be the operation according to the first embodiment described with reference to FIGS. 19 to 21 .

도 25를 참조하면, UWB 서브시스템은, 보안 레인징을 위한 레인징 데이터 세트(RDS)를 보안 어플리케이션(TA)으로부터 가져오라는 명령(PULL 명령)을 프레임워크로부터 수신할 수 있다(2510).Referring to FIG. 25 , the UWB subsystem may receive a command (PULL command) to get a ranging data set (RDS) for secure ranging from the security application (TA) from the framework ( 2510 ).

UWB 서브시스템은 명령에 기초하여 보안 어플리케이션과의 보안 채널을 설정할 수 있다(2520). UWB 서브시스템과 보안 어플리케이션 간의 보안 채널 설정 절차는 도 21의 설명을 참조할 수 있다.The UWB subsystem may establish a secure channel with the secure application based on the command ( 2520 ). The procedure for establishing a secure channel between the UWB subsystem and the secure application may refer to the description of FIG. 21 .

UWB 서브시스템은 보안 어플리케이션으로부터 설정된 보안 채널을 통해 RDS를 수신할 수 있다(2530). 일 실시예에서, 보안 어플리케이션은 UWB 서브시스템의 요청에 응답하여 RDS를 전달할 수 있다. RDS 전달 절차는 도 9의 설명을 참조할 수 있다.The UWB subsystem may receive the RDS through a secure channel established from the secure application (2530). In one embodiment, the security application may forward the RDS in response to the request of the UWB subsystem. The RDS delivery procedure may refer to the description of FIG. 9 .

일 실시예에서, UWB 서브시스템 및 보안 어플리케이션은 TEE 영역 내에 포함되며, RDS는 UWB 레인징 세션을 보안하기 위해 사용되는 레인징 세션 키를 포함할 수 있다.In one embodiment, the UWB subsystem and the security application are included in the TEE area, and the RDS may include a ranging session key used to secure the UWB ranging session.

일 실시예에서, PULL 명령은 어플리케이션의 어플리케이션 ID 또는 어플리케이션에 의해 설정된 적어도 하나의 세션 중 하나와 연관된 인스턴스 ID 중 적어도 하나를 포함할 수 있다.In an embodiment, the PULL command may include at least one of an application ID of the application or an instance ID associated with one of at least one session established by the application.

일 실시예에서, TEE 영역 내의 컴포넌트와 통신하기 위한 제1 인터페이스 및 TEE 영역 외의 컴포넌트와 통신하기 위한 제2 인터페이스가 UWB 서브시스템을 위해 구성될 수 있다.In one embodiment, a first interface for communicating with a component within the TEE area and a second interface for communicating with a component outside the TEE area may be configured for the UWB subsystem.

일 실시예에서, 프레임워크는 TEE 영역 외에 포함될 수 있다.In one embodiment, the framework may be included outside the TEE area.

일 실시예에서, UWB 서브시스템은 RDS에 포함된 레인징 세션 키를 이용하여 다른 UWB 장치의 UWB 서브시스템과의 보안 레인징을 수행할 수 있다.In an embodiment, the UWB subsystem may perform secure ranging with the UWB subsystem of another UWB device by using the ranging session key included in the RDS.

도 26은 본 개시의 다른 실시예에 따른 UWB 장치의 방법을 나타내는 흐름도이다.26 is a flowchart illustrating a method of a UWB device according to another embodiment of the present disclosure.

도 26의 실시예에서, UWB 장치는 도 18의 UWB 장치 또는 도 24의 UWB 장치일 수 있다. 도 26의 UWB 장치의 동작은 도 19 내지 21을 참조하여 설명한 실시예 1에 따른 동작일 수 있다.In the embodiment of FIG. 26 , the UWB device may be the UWB device of FIG. 18 or the UWB device of FIG. 24 . The operation of the UWB device of FIG. 26 may be the operation according to the first embodiment described with reference to FIGS. 19 to 21 .

도 26을 참조하면, 보안 어플리케이션(TA)는 보안 레인징을 위한 레인징 데이터 세트(RDS)를 UWB 서브시스템으로 전달하라는 명령을 프레임워크로부터 수신할 수 있다(2610)Referring to FIG. 26 , the security application (TA) may receive a command to transmit a ranging data set (RDS) for secure ranging to the UWB subsystem from the framework ( 2610 ).

보안 어플리케이션은 명령에 기초하여 보안 어플리케이션의 보안 OS와 UWB 서브시스템 사이의 보안 채널을 설정하기 위한 요청을 보안 OS로 전송할 수 있다(2620). 보안 OS와 UWB 서브시스템 사이의 보안 채널 설정 절차는 도 23의 설명을 참조할 수 있다.The secure application may transmit a request for establishing a secure channel between the secure OS of the secure application and the UWB subsystem to the secure OS based on the command ( 2620 ). The procedure for establishing a secure channel between the secure OS and the UWB subsystem may refer to the description of FIG. 23 .

보안 어플리케이션은 설정된 보안 채널을 통해 RDS를 UWB 서브시스템으로 전달할 수 있다(2630).The secure application may deliver the RDS to the UWB subsystem through the established secure channel (2630).

도 27는 본 개시의 일 실시예에 따른 전자 장치의 구조를 도시한 도면이다.27 is a diagram illustrating a structure of an electronic device according to an embodiment of the present disclosure.

도 27의 실시예에서, 전자 장치는 도 18의 UWB 장치에 해당하거나, 도 18의 UWB 장치를 포함하는 전자 장치, 또는 도 18의 UWB 장치의 일부 구성에 포함되는 전자 장치일 수 있다.In the embodiment of FIG. 27 , the electronic device may correspond to the UWB device of FIG. 18 , an electronic device including the UWB device of FIG. 18 , or an electronic device included in some components of the UWB device of FIG. 18 .

도 27을 참고하면, 전자 장치는 송수신부 (2710), 제어부 (2720), 저장부 (2730)을 포함할 수 있다. 본 개시에서 제어부는, 회로 또는 어플리케이션 특정 통합 회로 또는 적어도 하나의 프로세서라고 정의될 수 있다.Referring to FIG. 27 , the electronic device may include a transceiver 2710 , a control unit 2720 , and a storage unit 2730 . In the present disclosure, the controller may be defined as a circuit or an application-specific integrated circuit or at least one processor.

송수신부 (2710)는 다른 엔티티와 신호를 송수신할 수 있다. 송수신부(2710)는 예컨대, UWB 레인징을 위한 데이터를 송수신할 수 있다.The transceiver 2710 may transmit/receive a signal to/from another entity. The transceiver 2710 may transmit/receive data for UWB ranging, for example.

제어부 (2720)은 본 개시에서 제안하는 실시예에 따른 전자 장치의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부 (2720)는 상기에서 기술한 순서도에 따른 동작을 수행하도록 각 블록 간 신호 흐름을 제어할 수 있다. 구체적으로, 제어부(2720)는, 예컨대, 도 13 내지 26을 참조하여 설명한 전자 장치의 동작을 제어할 수 있다. The controller 2720 may control the overall operation of the electronic device according to the embodiment proposed in the present disclosure. For example, the controller 2720 may control a signal flow between blocks to perform an operation according to the above-described flowchart. Specifically, the controller 2720 may control, for example, the operation of the electronic device described with reference to FIGS. 13 to 26 .

저장부(2730)는 상기 송수신부 (2710)를 통해 송수신되는 정보 및 제어부 (2720)을 통해 생성되는 정보 중 적어도 하나를 저장할 수 있다. 예를 들어, 저장부 (2730)는 예컨대, 도 13 내지 26을 참조하여 설명한 보안 레인징을 위해 필요한 정보 및 데이터를 저장할 수 있다.상술한 본 개시의 구체적인 실시 예들에서, 본 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.The storage unit 2730 may store at least one of information transmitted and received through the transceiver 2710 and information generated through the control unit 2720 . For example, the storage unit 2730 may store, for example, information and data necessary for the security ranging described with reference to FIGS. 13 to 26 . In specific embodiments of the present disclosure described above, components included in the present disclosure Elements are expressed in the singular or plural according to the specific embodiment presented. However, the singular or plural expression is appropriately selected for the context presented for convenience of description, and the present disclosure is not limited to the singular or plural element, and even if the element is expressed in plural, it is composed of the singular or singular. Even an expressed component may be composed of a plurality of components.

한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, although specific embodiments have been described in the detailed description of the present disclosure, various modifications are possible without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure should not be limited to the described embodiments and should be defined by the claims described below as well as the claims and equivalents.

Claims (15)

보안 레인징(secure ranging)을 수행하는 전자 장치의 방법에 있어서,
상기 보안 레인징을 위한 레인징 데이터 세트를 설정하기 위한 요청을 보안 컴포넌트로 전송하는 동작; 및
상기 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 상기 보안 컴포넌트로 전송하는 동작을 포함하며,
상기 레인징 데이터 세트는 상기 보안 컴포넌트와 상기 UWB 서브시스템 사이에 설정된 보안 채널을 이용하여 상기 보안 컴포넌트로부터 상기 UWB 서브시스템으로 전달되는, 방법.
A method of an electronic device for performing secure ranging, the method comprising:
sending a request for establishing a ranging data set for the secure ranging to a security component; and
sending a request to the security component to deliver the ranging data set to the UWB subsystem;
and the ranging data set is transferred from the secure component to the UWB subsystem using a secure channel established between the secure component and the UWB subsystem.
제1항에 있어서,
상기 레인징 데이터 세트를 설정하기 위한 요청을 전송하는 동작은:
상기 보안 컴포넌트가 상기 레인징 데이터 세트를 설정하도록 요청하는 프레임워크 API를 호출하는 동작을 포함하며, 상기 프레임워크 API는 상기 프레임워크 API를 호출한 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함하는, 방법.
According to claim 1,
The operation of sending a request for setting the ranging data set includes:
and calling, by the security component, a framework API requesting to set the ranging data set, wherein the framework API includes an application ID for identifying an application that called the framework API.
제1항에 있어서,
상기 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 전송하는 동작은:
상기 보안 컴포넌트가 상기 레인징 데이터 세트를 상기 UWB 서브시스템으로 전달하도록 요청하는 프레임워크 API를 호출하는 동작을 포함하며, 상기 프레임워크 API는 상기 프레임워크 API를 호출한 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함하는, 방법.
According to claim 1,
Transmitting a request for transferring the ranging data set to the UWB subsystem includes:
and calling, by the security component, a framework API requesting to transmit the ranging data set to the UWB subsystem, wherein the framework API receives an application ID for identifying an application that called the framework API. Including method.
제1항에 있어서,
상기 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 전송하는 동작은:
어플리케이션이 상기 보안 컴포넌트로 상기 레인징 데이터 세트를 획득하기 위한 명령을 상기 UWB 서브시스템으로 전달하는 동작을 포함하는, 방법.
According to claim 1,
Transmitting a request for transferring the ranging data set to the UWB subsystem includes:
and an application passing a command to the UWB subsystem to obtain the ranging data set with the security component.
제1항에 있어서,
상기 레인징 데이터 세트는 상기 보안 레인징과 연관된 UWB 세션을 세션 ID 정보, 및 상기 UWB 세션을 보호하기 위한 세션 키 정보 중 적어도 하나를 포함하는, 방법.
According to claim 1,
The ranging data set includes at least one of session ID information for the UWB session associated with the secure ranging, and session key information for protecting the UWB session.
제1항에 있어서,
프레임워크가, 상기 UWB 서브시스템으로 상기 보안 레인징을 시작하는 명령을 전송하는 동작을 더 포함하고,
상기 보안 레인징을 시작하는 명령은 상기 보안 레인징과 연관된 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함하는, 방법.
According to claim 1,
further comprising, by the framework, sending a command to start the security ranging to the UWB subsystem,
The method of claim 1, wherein the command to initiate secure ranging includes an application ID for identifying an application associated with the secure ranging.
제1항에 있어서,
상기 보안 컴포넌트와 상기 UWB 서브시스템 사이의 상기 보안 채널은 Asymmetric key 기반 보안 채널인, 방법.
The method of claim 1,
and the secure channel between the secure component and the UWB subsystem is an asymmetric key based secure channel.
제1항에 있어서,
상기 보안 컴포넌트는 TEE(Trusted Execution Environment) 또는 스트롱박스(Strongbox)인, 방법.
According to claim 1,
The method of claim 1, wherein the security component is a Trusted Execution Environment (TEE) or Strongbox.
보안 레인징을 수행하는 전자 장치에 있어서,
메모리; 및
상기 메모리에 연결된 프로세서를 포함하며, 상기 프로세서는:
상기 보안 레인징을 위한 레인징 데이터 세트를 설정하기 위한 요청을 보안 컴포넌트로 전송하고,
상기 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 상기 보안 컴포넌트로 전송하도록 구성되며,
상기 레인징 데이터 세트는 상기 프레임워크를 통해 상기 보안 컴포넌트와 상기 UWB 서브시스템 사이에 설정된 보안 채널을 이용하여 상기 보안 컴포넌트로부터 상기 UWB 서브시스템으로 전달되는, 전자 장치.
An electronic device for performing security ranging, comprising:
Memory; and
a processor coupled to the memory, the processor comprising:
sending a request for setting a ranging data set for the secure ranging to a security component;
send to the secure component a request to forward the ranging data set to the UWB subsystem;
and the ranging data set is transferred from the secure component to the UWB subsystem using a secure channel established between the secure component and the UWB subsystem through the framework.
제9항에 있어서,
상기 레인징 데이터 세트를 설정하기 위한 요청을 전송하는 동작은:
상기 보안 컴포넌트가 상기 레인징 데이터 세트를 설정하도록 요청하는 프레임워크 API를 호출하는 동작을 포함하며, 상기 프레임워크 API는 상기 프레임워크 API를 호출한 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함하는, 전자 장치.
10. The method of claim 9,
The operation of sending a request for setting the ranging data set includes:
and calling, by the security component, a framework API for requesting to set the ranging data set, wherein the framework API includes an application ID for identifying an application that has called the framework API. .
제9항에 있어서,
상기 레인징 데이터 세트를 UWB 서브시스템으로 전달하기 위한 요청을 전송하는 동작은:
상기 보안 컴포넌트가 상기 레인징 데이터 세트를 상기 UWB 서브시스템으로 전달하도록 요청하는 프레임워크 API를 호출하는 동작을 포함하며, 상기 프레임워크 API는 상기 프레임워크 API를 호출한 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함하는, 전자 장치.
10. The method of claim 9,
Transmitting a request for transferring the ranging data set to the UWB subsystem includes:
and calling, by the security component, a framework API requesting to transmit the ranging data set to the UWB subsystem, wherein the framework API receives an application ID for identifying an application that called the framework API. including, an electronic device.
제9항에 있어서,
상기 레인징 데이터 세트는 상기 보안 레인징과 연관된 UWB 세션을 세션 ID 정보, 및 상기 UWB 세션을 보호하기 위한 세션 키 정보 중 적어도 하나를 포함하는, 전자 장치.
10. The method of claim 9,
The ranging data set includes at least one of session ID information for the UWB session associated with the secure ranging, and session key information for protecting the UWB session.
제9항에 있어서,
상기 프로세서는, 상기 UWB 서브시스템으로 상기 보안 레인징을 시작하는 명령을 전송하도록 더 구성되며,
상기 보안 레인징을 시작하는 명령은 상기 보안 레인징과 연관된 어플리케이션을 식별하기 위한 어플리케이션 ID를 포함하는, 전자 장치.
10. The method of claim 9,
the processor is further configured to send a command to initiate the secure ranging to the UWB subsystem;
The command for starting the security ranging includes an application ID for identifying an application related to the security ranging.
제9항에 있어서,
상기 보안 컴포넌트와 상기 UWB 서브시스템 사이의 상기 보안 채널은 Asymmetric key 기반 보안 채널인, 전자 장치.
10. The method of claim 9,
and the secure channel between the secure component and the UWB subsystem is an asymmetric key based secure channel.
제9항에 있어서,
상기 보안 컴포넌트는 TEE(Trusted Execution Environment) 또는 Strongbox인, 전자 장치.
10. The method of claim 9,
The electronic device, wherein the security component is a Trusted Execution Environment (TEE) or Strongbox.
KR1020220006809A 2021-01-18 2022-01-17 Method and apparatus for secure ranging based on ultra wide band KR20220104652A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22739838.5A EP4274285A1 (en) 2021-01-18 2022-01-18 Method and device for secure ranging based on ultra-wideband communication
PCT/KR2022/000934 WO2022154646A1 (en) 2021-01-18 2022-01-18 Method and device for secure ranging based on ultra-wideband communication
CN202280010513.3A CN116724578A (en) 2021-01-18 2022-01-18 Method and apparatus for ultra wideband communication based secure ranging

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020210006864 2021-01-18
KR20210006864 2021-01-18
KR20210064354 2021-05-18
KR1020210064354 2021-05-18

Publications (1)

Publication Number Publication Date
KR20220104652A true KR20220104652A (en) 2022-07-26

Family

ID=82609849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220006809A KR20220104652A (en) 2021-01-18 2022-01-17 Method and apparatus for secure ranging based on ultra wide band

Country Status (1)

Country Link
KR (1) KR20220104652A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024096719A1 (en) * 2022-11-04 2024-05-10 삼성전자 주식회사 Method and device for managing ultra-wideband session

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024096719A1 (en) * 2022-11-04 2024-05-10 삼성전자 주식회사 Method and device for managing ultra-wideband session

Similar Documents

Publication Publication Date Title
KR102241255B1 (en) Method for managing communication between server and user equipment
US11409896B2 (en) Hosted device provisioning protocol with servers and a networked initiator
CN109923830B (en) System and method for configuring wireless network access device
RU2696208C1 (en) Method and device for wireless devices authentication
US7948925B2 (en) Communication device and communication method
CN107005927B (en) Access method, device and system of User Equipment (UE)
CN106464498B (en) Method for authenticating a first electronic entity by a second electronic entity and electronic entity
US11395148B2 (en) Method and device for protecting privacy
WO2019029471A1 (en) Bluetooth network and network configuration method
KR101762013B1 (en) Method for registering device and setting secret key using two factor communacation channel
WO2014127751A1 (en) Wireless terminal configuration method, apparatus and wireless terminal
CN111865870B (en) Parameter sending method and device
KR20180006664A (en) Health device, gateway device and method for securing protocol using the same
KR20220104652A (en) Method and apparatus for secure ranging based on ultra wide band
WO2019085659A1 (en) Information interaction method and device
KR101172876B1 (en) System and method for performing mutual authentication between user terminal and server
KR20220155867A (en) Method and apparatus for performing uwb (ultra wide band) secure ranging
EP4274285A1 (en) Method and device for secure ranging based on ultra-wideband communication
CN112751664B (en) Internet of things networking method, internet of things networking device and computer readable storage medium
Urien et al. A new cooperative architecture for sharing services managed by secure elements controlled by android phones with IP objects
CN116724578A (en) Method and apparatus for ultra wideband communication based secure ranging
US20230300615A1 (en) Security authentication method and apparatus applied to wi-fi
WO2022048125A1 (en) Information processing method and apparatus, device and storage medium
US20240086890A1 (en) Payment method and device using ultra-wideband communication
EP4236407A1 (en) Security authentication method and apparatus applied to wi-fi