KR20210118703A - 전자 장치 및 전자 장치의 제어 방법 - Google Patents
전자 장치 및 전자 장치의 제어 방법 Download PDFInfo
- Publication number
- KR20210118703A KR20210118703A KR1020200035285A KR20200035285A KR20210118703A KR 20210118703 A KR20210118703 A KR 20210118703A KR 1020200035285 A KR1020200035285 A KR 1020200035285A KR 20200035285 A KR20200035285 A KR 20200035285A KR 20210118703 A KR20210118703 A KR 20210118703A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- packet
- electronic device
- external device
- rssi
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000004891 communication Methods 0.000 claims description 110
- 230000008569 process Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000000875 corresponding effect Effects 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008685 targeting Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0492—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/309—Measuring or estimating channel quality parameters
- H04B17/318—Received signal strength
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/79—Radio fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services 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)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
신뢰할 수 있는 RSSI(Received Signal Strength Indicator)를 획득할 수 있는 전자 장치 및 이의 제어 방법이 개시된다. 구체적으로, 본 개시에 따른 전자 장치는, 전자 장치와 연결된 외부 장치로부터 적어도 하나의 패킷이 수신되면 적어도 하나의 패킷의 암호화 여부를 식별하고, 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 적어도 하나의 패킷 각각의 RSSI에 대한 제2 정보를 획득하며, 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면 제1 정보 및 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별한다.
Description
본 개시는 전자 장치 및 전자 장치의 제어 방법에 관한 것으로서, 구체적으로는 신뢰할 수 있는 RSSI 정보를 획득할 수 있는 전자 장치 및 이의 제어 방법에 관한 것이다.
근래에는 다양한 디바이스(스마트폰, PC, 이어폰, 등)을 서로 연결하여 정보를 주고받는 근거리 무선 통신 기술이 발전을 거듭하고 있으며, 그 중에서도 특히, 블루투스(Bluetooth)는 손 쉬운 페어링 절차, 안정적인 연결성 등을 이유로 휴대용 전자 장치에 널리 도입되어 있다.
특히, 최근에는, 전자 장치가 블루투스를 통해 외부 장치와의 연결 여부 또는 연결된 외부 장치로부터 수신된 패킷의 RSSI(Received Signal Strength Indicator) 정보를 바탕으로 외부 장치에 대한 근접 인증을 수행하고, 그에 기초하여 전자 장치의 보안성 또는 사용성을 개선하기 위한 기술이 개발되었다.
예를 들어, 종래 기술로서, 신뢰할 수 있는 외부 장치가 전자 장치와 가까운 거리에 있는 경우에 자동으로 전자 장치의 잠금을 해제하는 기술, 그리고, 신뢰할 수 있는 외부 장치가 전자 장치와 멀어진 경우에 자동으로 전자 장치의 잠금을 설정하는 기술 등이 존재한다.
그러나, 종래 기술에 따라 획득되는 RSSI 정보의 경우, 인증/암호화를 통해 수신된 데이터와는 달리 무결성을 보장할 수 없다는 점, 인증/암호화를 통해 수신된 데이터와의 바인딩(binding)이 존재하지도 않는다는 점, 그리고, 외부 장치의 MAC 주소를 스푸핑(spoofing)하게 되면 외부 장치의 신뢰성을 담보할 수 없게 되므로 그 외부 장치로부터 수신된 RSSI 정보에 대한 신뢰성도 담보할 수 없게 된다는 점 등에서, 보안상의 취약점이 지적되고 있다.
한편, 종래 기술 중에는 전자 장치 및 외부 장치 사이의 연결만으로는 보안성을 담보할 수 없다는 점을 고려하여 암호화 연결의 유무를 추가적으로 확인하도록 함으로써 보안성을 높이기 위한 기술이 존재하지만, 이는 우회적일 뿐만 아니라, 잠금 설정 및 잠금 해제의 상호 전환이 수행되는 모든 시점의 시나리오를 커버하기는 어렵다는 점에서 근본적인 해결책이 될 수는 없다는 한계가 있다.
본 개시는 상술한 바와 같은 종래 기술의 한계점을 극복하기 위해 안출된 것으로서, 본 개시의 목적은 신뢰할 수 있는 RSSI 정보를 획득할 수 있는 전자 장치 및 이의 제어 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 회로를 포함하는 통신부, 적어도 하나의 인스트럭션(instruction)을 저장하는 메모리 및 상기 적어도 하나의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 전자 장치와 연결된 외부 장치로부터 적어도 하나의 패킷이 수신되면, 상기 적어도 하나의 패킷의 암호화 여부를 식별하고, 상기 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 상기 적어도 하나의 패킷 각각의 RSSI(Received Signal Strength Indicator)에 대한 제2 정보를 획득하며, 상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별한다.
여기서, 상기 프로세서는 상기 제1 정보 및 상기 제2 정보와 함께 상기 적어도 하나의 패킷 각각의 수신 시간에 대한 제3 정보를 획득하고, 상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제3 정보를 바탕으로, 기 설정된 기간 동안 상기 통신부를 통해 상기 외부 장치로부터 수신된 적어도 하나의 패킷을 식별하며, 상기 제1 정보 및 상기 제2 정보를 바탕으로, 상기 기 설정된 기간 동안 수신된 것으로 식별된 적어도 하나의 패킷 중 상기 제1 패킷의 RSSI 정보를 식별할 수 있다.
여기서, 상기 기 설정된 기간은 상기 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행된 제1 시간을 기준으로 기 설정된 시간 간격 이전인 제2 시간부터 상기 제1 시간까지의 기간일 수 있다.
여기서, 상기 프로세서는 상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 패킷의 RSSI 정보가 식별되지 않으면, 암호화 통신을 수행하기 위한 요청을 상기 외부 장치로 전송하도록 상기 통신부를 제어하고, 상기 암호화 통신을 수행하기 위한 요청에 따라 상기 통신부를 통해 상기 외부 장치로부터 암호화된 제2 패킷이 수신되면, 상기 제2 패킷의 RSSI 정보를 획득할 수 있다.
여기서, 상기 프로세서는 상기 암호화 통신을 수행하기 위한 요청에 따라 상기 통신부를 통해 상기 외부 장치로부터 상기 제2 패킷이 수신되지 않으면, 상기 외부 장치와의 연결을 종료할 수 있다.
여기서, 상기 프로세서는 상기 제1 패킷의 RSSI 정보 또는 상기 제2 패킷의 RSSI 정보를 바탕으로 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 획득하고, 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치에 대한 근접 인증(proximity authentication)을 수행할 수 있다.
여기서, 상기 프로세서는 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치가 상기 전자 장치와 기 설정된 거리 내에 위치하는 것으로 식별되면, 상기 전자 장치의 잠금을 해제하고, 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치가 상기 전자 장치와 기 설정된 거리 밖에 위치하는 것으로 식별되면, 상기 전자 장치의 잠금을 설정할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 상기 전자 장치와 연결된 외부 장치로부터 적어도 하나의 패킷이 수신되면, 상기 적어도 하나의 패킷의 암호화 여부를 식별하는 단계, 상기 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 상기 적어도 하나의 패킷 각각의 RSSI(Received Signal Strength Indicator)에 대한 제2 정보를 획득하는 단계, 및 상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별하는 단계를 포함한다.
여기서, 상기 제1 정보 및 상기 제2 정보와 함께 상기 적어도 하나의 패킷 각각의 수신 시간에 대한 제3 정보를 획득하는 단계를 더 포함하고, 상기 제1 패킷의 RSSI 정보를 식별하는 단계는 상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제3 정보를 바탕으로, 기 설정된 기간 동안 상기 통신부를 통해 상기 외부 장치로부터 수신된 적어도 하나의 패킷을 식별하는 단계 및 상기 제1 정보 및 상기 제2 정보를 바탕으로, 상기 기 설정된 기간 동안 수신된 것으로 식별된 적어도 하나의 패킷 중 상기 제1 패킷의 RSSI 정보를 식별하는 단계를 더 포함할 수 있다.
여기서, 상기 기 설정된 기간은 상기 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행된 제1 시간을 기준으로 기 설정된 시간 간격 이전인 제2 시간부터 상기 제1 시간까지의 기간일 수 있다.
여기서, 상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 패킷의 RSSI 정보가 식별되지 않으면, 암호화 통신을 수행하기 위한 요청을 상기 외부 장치로 전송하는 단계 및 상기 암호화 통신을 수행하기 위한 요청에 따라 상기 외부 장치로부터 암호화된 제2 패킷이 수신되면, 상기 제2 패킷의 RSSI 정보를 획득하는 단계를 더 포함할 수 있다.
여기서, 상기 암호화 통신을 수행하기 위한 요청에 따라 상기 통신부를 통해 상기 외부 장치로부터 상기 제2 패킷이 수신되지 않으면, 상기 외부 장치와의 연결을 종료하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 패킷의 RSSI 정보 또는 상기 제2 패킷의 RSSI 정보를 바탕으로 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 획득하는 단계 및 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치에 대한 근접 인증(proximity authentication)을 수행하는 단계를 더 포함할 수 있다.
여기서, 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치가 상기 전자 장치와 기 설정된 거리 내에 위치하는 것으로 식별되면, 상기 전자 장치의 잠금을 해제하는 단계 및 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치가 상기 전자 장치와 기 설정된 거리 밖에 위치하는 것으로 식별되면, 상기 전자 장치의 잠금을 설정하는 단계를 포함할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법을 실행하는 프로그램을 포함하는 비일시적 컴퓨터 판독 가능 기록매체에 있어서, 상기 전자 장치의 제어 방법은 상기 전자 장치와 연결된 외부 장치로부터 적어도 하나의 패킷이 수신되면, 상기 적어도 하나의 패킷의 암호화 여부를 식별하는 단계, 상기 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 상기 적어도 하나의 패킷 각각의 RSSI(Received Signal Strength Indicator)에 대한 제2 정보를 획득하는 단계 및 상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별하는 단계를 포함한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치 및 외부 장치 사이의 통신 연결을 간략하게 설명하기 위한 개념도,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 3은 본 개시의 다른 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 4는 본 개시의 또 다른 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 5는 본 개시의 일 실시 예에 따른 블루투스 아키텍처에 대해 간략하게 설명하기 위한 도면,
도 6은 본 개시의 다른 일 실시 예에 따른 블루투스 아키텍처에 대해 간략하게 설명하기 위한 도면,
도 7은 본 개시의 일 실시 예에 따른 블루투스 통신의 연결 과정에 대해 설명하기 위한 도면,
도 8은 블루투스 아키텍처 하에서 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 상세하게 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 잠금 설정 및 잠금 해제 방법에 대해 설명하기 위한 도면,
도 10는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 간략하게 나타내는 블록도, 그리고,
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세하게 나타내는 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 3은 본 개시의 다른 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 4는 본 개시의 또 다른 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 5는 본 개시의 일 실시 예에 따른 블루투스 아키텍처에 대해 간략하게 설명하기 위한 도면,
도 6은 본 개시의 다른 일 실시 예에 따른 블루투스 아키텍처에 대해 간략하게 설명하기 위한 도면,
도 7은 본 개시의 일 실시 예에 따른 블루투스 통신의 연결 과정에 대해 설명하기 위한 도면,
도 8은 블루투스 아키텍처 하에서 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 상세하게 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 잠금 설정 및 잠금 해제 방법에 대해 설명하기 위한 도면,
도 10는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 간략하게 나타내는 블록도, 그리고,
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세하게 나타내는 블록도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
한편, 본 개시의 다양한 실시 예에 따른 전자 장치 및 외부 장치는 예를 들면, 스마트 폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100) 및 외부 장치(200) 사이의 통신 연결을 간략하게 설명하기 위한 개념도이며, 도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 제어 방법을 설명하기 위한 흐름도이다. 이하에서는 도 1과 함께 도 2를 참조하여 본 개시의 일 실시 예에 대해 설명한다.
도 1에 도시된 바와 같이, 본 개시에 따른 전자 장치(100)는 외부 장치(200-1, 200-2)와 연결될 수 있다. 특히, 전자 장치(100)는 블루투스(Bluetooth) 통신 방식을 통해 외부 장치(200-1, 200-2)와 연결될 수 있다. 블루투스란 디바이스(즉, 본 개시에 따른 전자 장치(100) 또는 외부 장치(200-1, 200-2)) 상호 간의 근거리 무선 통신 방식을 규정한 표준 중 하나를 말한다. 블루투스 표준은 특히, BR/EDR(Basic Rate / Enhanced Data Rate), HS(High Speed 및 BLE(Bluetooth Low Energy) 등의 버전으로 구별될 수 있다. 이하 본 개시를 설명함에 있어서는 전자 장치(100)가 블루투스 통신 방식을 통해 외부 장치(200-1, 200-2)와 연결된 것을 전제로 설명할 것이지만, 본 개시가 블루투스 통신 방식에 국한되는 것은 아니며, 블루투스 표준 중에서 특정 버전의 표준을 따라야만 하는 것도 아니다.
예를 들어, 본 개시에 따른 전자 장치(100)는 노트북, 그리고 외부 장치(200-1, 200-2)는 스마트 폰 또는 스마트 워치 등으로 구현될 수 있으나, 본 개시가 이에 국한되는 것은 아니다. 즉, 블루투스 통신 연결에 있어서 마스터(master) 디바이스 또는 슬레이브(slave) 디바이스의 역할을 수행할 수 있는 디바이스라면, 본 개시에 따른 전자 장치(100) 또는 외부 장치(200-1, 200-2)가 될 수 있다 한편, 도 1에 도시된 바와 같이, 전자 장치(100)는 복수의 외부 장치(200-1, 200-2)와 연결되어 통신을 수행할 수 있음은 물론이다. 다만, 이하에서는 설명의 편의를 위해 하나의 외부 장치(200)를 특정하여 설명한다.
전자 장치(100) 및 외부 장치(200)가 연결되면, 전자 장치(100)는 외부 장치(200)로부터 적어도 하나의 패킷을 수신할 수 있다. 또한, 전자 장치(100)가 외부 장치(200)로 적어도 하나의 패킷을 전송할 수도 있다. 본 개시를 설명함에 있어서, '패킷'이란 전자 장치(100) 및 외부 장치(200) 사이에 주고받는 정보의 단위를 총칭하기 위한 용어로 사용된다. 따라서, 패킷이라는 용어는 데이터, 메시지 및 신호 등의 의미를 포함하는 것으로 해석될 수 있다.
이하에서는 도 2를 참조하여 본 개시의 일 실시 예에 대해 설명한다. 먼저, 외부 장치(200)로부터 적어도 하나의 패킷이 수신되면, 전자 장치(100)는 수신된 적어도 하나의 패킷의 암호화 여부를 식별할 수 있다(S210). 그리고, 전자 장치(100)는 수신된 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 수신된 적어도 하나의 패킷 각각의 RSSI (Received Signal Strength Indicator)에 대한 제2 정보를 획득하여 메모리에 저장할 수 있다(S220).
구체적으로, 전자 장치(100)는 수신된 적어도 하나의 패킷 각각의 암호화 여부를 식별하여 제1 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 수신된 적어도 하나의 패킷 각각의 RSSI를 측정하여 제2 정보를 획득할 수 있다. 또한, 전자 장치(100)는 각각의 패킷에 대응되는 제1 정보 및 제2 정보를 서로 연관시켜 전자 장치(100)의 메모리에 저장할 수 있다. 한편, 전자 장치(100)는 MAC 주소(Media Access Control Address)와 같은 외부 장치(200)의 식별 정보를 바탕으로 적어도 하나의 패킷을 전송한 외부 장치(200)를 식별하고, 외부 장치(200) 별로 제1 정보 및 제2 정보를 관리할 수 있다.
특히, 수신된 패킷 각각의 암호화 여부를 식별하여 제1 정보를 획득하는 과정 및 수신된 패킷의 RSSI에 대한 제2 정보를 획득하는 과정은 블루투스 컨트롤러(Bluetooth controller, 이하 컨트롤러라고 지칭함)를 통해 수행될 수 있다. 블루투스 아키텍처 하에서 제1 정보 및 제2 정보를 획득하는 과정에 대해서는 도 8을 참조하여 보다 상세하게 설명한다.
외부 장치(200)에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션(instruction)이 실행되면, 전자 장치(100)는 제1 정보 및 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별할 수 있다(S230). 구체적으로, 외부 장치(200)에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 전자 장치(100)는 메모리에 저장된 제1 정보를 바탕으로 수신된 적어도 하나의 패킷 중 암호화된 제1 패킷을 식별하고, 메모리에 저장된 제2 정보를 바탕으로 제1 패킷에 대응되는 RSSI 정보를 식별할 수 있다. 본 개시를 설명함에 있어서, '제1 패킷'이란 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되기에 앞서 외부 장치(200)로부터 수신된 적어도 하나의 패킷 중 암호화된 임의의 패킷을 특정하기 위한 용어이다.
특히, 외부 장치(200)에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션은 블루투스 호스트(Bluetooth host, 이하 호스트라고 지칭함)가 컨트롤러로 암호화된 패킷에 대한 RSSI 정보를 요청하는 HCI(Host Controller Interface) 함수(내지는 메소드)를 통해 구현될 수 있다. 구체적으로, 호스트가 암호화된 패킷에 대한 RSSI 정보를 컨트롤러에 요청하면, 컨트롤러는 상술한 바와 같은 제1 정보 및 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별하여 호스트로 전송할 수 있다. 블루투스 아키텍처 하에서 제1 정보 및 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별하는 과정에 대해서는 도 8을 참조하여 보다 상세하게 설명한다.
한편, 상술한 바와 같이 제1 패킷의 RSSI 정보가 식별되면, 전자 장치(100)는 제1 패킷의 RSSI 정보를 바탕으로 다양한 동작을 수행할 수 있다. 특히, 전자 장치(100)는 식별된 제1 패킷의 RSSI 정보를 바탕으로 외부 장치(200)에 대한 인증을 수행할 수 있다. 즉, 상술한 바와 같이 식별된 제1 패킷의 RSSI 정보는 암호화된 패킷을 통해 획득된 것이기 때문에 신뢰할 수 있는 디바이스로부터 수신된 패킷의 신뢰할 수 있는 RSSI 정보라고 할 수 있다. 이하 본 개시를 설명함에 있어서는 이와 같은 RSSI 정보를 '인증된 RSSI 정보'라고 지칭한다.
구체적으로, 전자 장치(100)는 제1 패킷의 RSSI 정보를 바탕으로 전자 장치(100) 및 외부 장치(200) 사이의 거리에 대한 정보를 획득할 수 있다. 즉, 제1 패킷의 RSSI 정보가 획득되면, 전자 장치(100)는 전자 장치(100) 및 외부 장치(200) 사이의 거리가 멀어질수록 외부 장치(200)가 전송한 신호의 세기가 감소되어 전자 장치(100)에서 수신된다는 원리를 이용하여 전자 장치(100) 및 외부 장치(200) 사이의 거리에 대한 정보를 획득하고, 외부 장치(200)에 대한 근접 인증(proximity authentication)을 수행할 수 있다. 전자 장치(100) 및 외부 장치(200) 사이의 거리에 대한 정보를 획득하고, 외부 장치(200)에 대한 근접 인증을 수행하는 구체적인 과정에 대해서는 도 9를 참조하여 보다 상세하게 설명한다.
이상에서 상술한 바와 같은 본 개시의 일 실시 예에 따르면, 전자 장치(100)는 외부 장치(200)로부터 수신된 패킷 중 암호화된 패킷의 RSSI 정보를 인증된 RSSI 정보로서 저장하고, 인증된 RSSI 정보가 필요한 시점에 인증된 RSSI 정보를 바탕으로 외부 장치(200)에 대한 근접 인증을 수행할 수 있게 되며, 이에 따라 외부 장치(200)에 대한 근접 인증의 보안성을 향상시킬 수 있다.
이하에서는 도 2 및 도 3을 참조하여, 본 개시의 다른 실시 예들에 대해 설명한다.
도 3은 본 개시의 다른 실시 예에 따른 전자 장치(100)의 제어 방법을 설명하기 위한 흐름도이다.
도 2에 대한 설명에 있어서는 전자 장치(100) 및 외부 장치(200) 중 적어도 하나의 위치가 변동되는 경우는 고려하지 않았으나, 실제로 전자 장치(100) 및 외부 장치(200) 중 적어도 하나의 위치는 변동될 수 있다. 따라서, 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행된 때를 기준으로 상당한 기간 이전에 수신된 패킷의 RSSI 정보의 신뢰성은 보장될 수 없다. 따라서, 이하에서 도 3를 참조하여 상술하는 바와 같이, 전자 장치(100)는 인증된 RSSI 정보를 획득함에 있어서 패킷의 수신 시간에 대한 정보를 추가적으로 고려할 수 있다.
구체적으로, 도 3를 참조하면, 본 개시에 따른 전자 장치(100)는 전술한 바와 같은 제1 정보 및 제2 정보와 함께, 수신된 적어도 하나의 패킷 각각의 수신 시간에 대한 제3 정보를 획득할 수 있다(S310). 즉, 전자 장치(100)는 도 1을 참조하여 설명한 바와 같이 암호화 여부에 대한 제1 정보 및 RSSI에 대한 제2 정보 획득하여 메모리에 저장할 수 있을 뿐만 아니라, 패킷 각각의 수신 시간에 대한 제3 정보를 획득하고, 각각의 패킷에 대응되는 제3 정보를 제1 정보 및 제2 정보에 연관시켜 메모리에 저장할 수 있다.
그리고, 외부 장치(200)에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 전자 장치(100)는 제3 정보를 바탕으로 기 설정된 기간 동안 외부 장치(200)로부터 수신된 적어도 하나의 패킷을 식별할 수 있다(S320).
여기서, '기 설정된 기간'은 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행된 시간을 제1 시간이라고 하고, 제1 시간을 기준으로 기 설정된 시간 간격 이전인 시간을 제2 시간이라고 할 때, 제2 시간부터 제1 시간까지의 기간일 수 있다. 다시 말해, 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행된 시간이 제1 시간이고, 제1 시간을 기준으로 기 설정된 기간만큼 이전의 시간을 제2 시간이라고 할 때, 전자 장치(100)는 제2 시간부터 제1 시간까지 수신된 적어도 하나의 패킷을 식별하고, 그 중에서 암호화된 제1 패킷 및 제1 패킷의 RSSI 정보를 식별할 수 있다.
한편, 기 설정된 시간은 전자 장치(100)의 개발자 또는 사용자의 설정에 의해 변경될 수 있음은 물론이다.
기 설정된 기간 동안 외부 장치(200)로부터 수신된 적어도 하나의 패킷이 식별되면, 전자 장치(100)는 기 설정된 기간 동안 외부 장치(200)로부터 수신된 것으로 식별된 적어도 하나의 패킷 중 제1 패킷의 RSSI 정보를 식별할 수 있다(S330). 다시 말해, 전자 장치(100)는 기 설정된 기간 동안 외부 장치(200)로부터 수신된 적어도 하나의 패킷 만을 대상으로 하여, 제1 정보를 바탕으로 암호화된 제1 패킷을 식별하고, 제2 정보를 바탕으로 제1 패킷의 RSSI 정보를 식별할 수 있다.
제1 패킷의 RSSI 정보가 식별되면, 제1 패킷의 RSSI 정보를 바탕으로 외부 장치(200)에 대한 인증을 수행할 수 있다(S340). 이에 대한 설명은 도 1에 대한 설명의 경우와 다를 바가 없는바, 중복 설명은 생략한다.
한편, 패킷 각각의 수신 시간에 대한 제3 정보는 패킷 각각의 RSSI에 대한 제2 정보와 함께, 전자 장치(100) 및 외부 장치(200) 사이의 거리 변화 내지는 위치 변화에 대한 정보를 획득하는데 이용될 수도 있다.
이상에서 상술한 바와 같은 본 개시의 일 실시 예에 따르면, 전자 장치(100)는 신뢰성을 담보할 수 있는 기간 내에 수신된 패킷의 신뢰할 수 있는 RSSI 정보만을 고려하여 외부 장치(200)에 대한 근접 인증을 수행할 수 있게 되며, 이에 따라 전자 장치(100) 및 외부 장치(200) 중 적어도 하나의 위치가 변동되는 경우에도 보안성 높은 근접 인증을 수행할 수 있게 된다.
도 4는 본 개시의 또 다른 실시 예에 따른 전자 장치(100)의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 도 4을 참조하여, 도 2 및 도 3에 따른 실시 예에 있어서 암호화된 제1 패킷의 RSSI 정보가 존재하지 않는 것으로 식별된 경우에, 본 개시에 따른 인증된 RSSI 정보를 획득하기 위한 방법에 대해 상술한다. 한편, 도 4에서는 인증된 RSSI 정보를 바탕으로 외부 장치(200)에 대한 인증을 수행하는 실시 예를 중심으로 설명할 것이지만, 본 개시에 따라 획득된 인증된 RSSI 정보가 반드시 외부 장치(200)에 대한 인증에만 이용될 수 있는 것은 아니라는 점은 전술한 바 있다.
구체적으로, 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 본 개시에 따른 전자 장치(100)는 암호화된 제1 패킷의 RSSI 정보를 식별할 수 있다(S410). 구체적으로, 전자 장치(100)는 메모리에 기 저장된 제1 정보 및 제2 정보를 바탕으로, 암호화된 제1 패킷의 RSSI 정보를 식별할 수 있다. 또한, 도 2를 참조하여 설명한 바와 같이, 전자 장치(100)는 제1 정보, 제2 정보 및 제3 정보를 바탕으로, 기 설정된 기간 동안 수신된 적어도 하나의 패킷 중에서 암호화된 제1 패킷의 RSSI 정보를 식별할 수도 있다.
식별 결과 제1 패킷의 RSSI 정보가 존재하는 것으로 식별되면(S420-Y), 전자 장치는 제1 패킷의 RSSI 정보를 바탕으로 외부 장치(200)에 대한 인증을 수행할 수 있다(S430). 이상에서는 이처럼 암호화된 제1 패킷의 RSSI 정보가 식별되는 경우를 전제로 도 1 및 도 2에 따른 실시 예에 대해 설명한 바 있다. 그러나, 이와는 달리, 식별 결과 외부 장치(200)로부터 수신된 적어도 하나의 패킷 중 제1 패킷의 RSSI 정보가 존재하지 않는 것으로 식별될 수도 있다.
한편, 전술한 바와 같이, '제1 패킷'이란 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되기에 앞서 외부 장치(200)로부터 수신된 적어도 하나의 패킷 중 암호화된 임의의 패킷을 특정하기 위한 용어일 뿐이다. 따라서, 식별 결과 제1 패킷의 RSSI 정보가 존재하지 않는 것으로 식별된다는 것은, 외부 장치로부터 수신된 적어도 하나의 패킷 중 (또는 기 설정된 기간 동안 외부 장치로부터 수신된 적어도 하나의 패킷 중) 암호화된 패킷이 존재하지 않는다는 것을 의미하며, 따라서 추가적인 동작 없이는 본 개시에 따른 인증된 RSSI 정보를 획득할 수 없는 상태에 있다는 것을 의미한다. 이하에서는 이와 같은 경우에 인증된 RSSI 정보를 획득하기 위한 방법의 각 단계에 대해 상술한다.
식별 결과 제1 패킷의 RSSI 정보가 존재하지 않는 것으로 식별되면(S420-N), 전자 장치(100)는 암호화 통신을 수행하기 위한 요청을 외부 장치(200)로 전송할 수 있다(S440).
여기서, '암호화 통신'이란 보안성 있는 연결(secure connection)을 통해 암호화된 패킷을 수신할 수 있는 통신을 총칭하기 위한 용어로 사용된다. 구체적으로, 전자 장치(100)와 외부 장치(200) 사이에 블루투스 통신 방식을 통해 링크가 수립된 후, 이용될 서비스의 종류에 따라 보안성 있는 연결을 통해 패킷을 수신할 것인지, 아니면 보안성 없는 연결을 통해 패킷을 수신할 것인지가 결정된다.
예를 들어, 전자 장치(100)가 BR 또는 EDR 버전의 블루투스 통신 방식을 통해 외부 장치(200)와 연결되는 경우, 이용될 서비스가 호스트의 SDP(Service Discovery Protocol)와 같은 프로토콜을 이용하는 경우에는 보안성 없는 연결(insecure connection)을 통해 패킷을 수신하게 되므로, 본 개시에 따른 암호화 통신이 수행되지 않게 된다. 반면, 이용될 서비스가 호스트의 RFCOMM(Bluetooth Radio Frequency Communication) 또는 TCS(Telephony Control Protocol)와 같은 프로토콜을 이용하는 경우에는 보안성 있는 연결을 통해 패킷을 수신하게 되므로, 본 개시에 따른 암호화 통신이 수행되게 된다. 한편, 전자 장치(100)가 BLE 버전의 블루투스 통신 방식을 통해 외부 장치(200)와 연결되는 경우, 호스트의 GATT(Generic Attribute Profile)에 의해 각각의 서비스 별로 암호화 통신의 수행 여부가 지정될 수 있다.
따라서, 제1 패킷의 RSSI 정보와 같은 암호화된 패킷의 RSSI 정보가 존재하지 않는 것으로 식별되면, 전자 장치(100)는 보안성 있는 연결을 통해 패킷을 수신하도록 구현된 서비스를 이용하여, 암호화 통신을 수행하기 위한 요청을 외부 장치(200)로 전송함으로써, 인증된 RSSI를 획득하기 위한 데이터 통신을 유발할 수 있다. 예를 들어, 암호화 통신을 수행하기 위한 요청은 외부 장치(200)의 베터리 상태를 체크하기 위한 서비스 등과 같은 기 정의된 서비스를 통한 리드 오퍼레이션(read operation)을 이용하여 전송될 수 있으며, 뿐만 아니라 더미 데이터(dummy data)를 전송하도록 하는 서비스 등과 같이 별도의 서비스를 통해 구현될 수도 있다.
한편, 블루투스 표준의 프로토콜과 블루투스 통신의 연결 과정에 대해서는 도 5 내지 도 7을 참조하여 보다 구체적으로 설명한다.
상술한 바와 같은 암호화 통신을 수행하기 위한 요청에 따라 전자 장치(100)는 외부 장치(200)로부터 암호화된 제2 패킷을 수신할 수 있다. 본 개시를 설명함에 있어서, '제2 패킷' 이란 상술한 바와 같은 암호화 통신을 수행하기 위한 요청에 따라 수신된 암호화된 패킷을 특정하기 위한 용어로서, 전술한 바와 같은 제1 패킷이라는 용어와는 구별된다.
암호화 통신을 수행하기 위한 요청에도 불구하고 외부 장치(200)로부터 암호화된 제2 패킷이 수신되지 않으면(S450-N), 전자 장치(100)는 외부 장치(200)와의 연결을 종료할 수 있다(S460). 구체적으로, 암호화 통신을 수행하기 위한 요청에도 불구하고 암호화 통신이 수행되지 않고, 따라서 암호화된 제2 패킷이 수신되지 않는 경우가 있을 수 있다. 이 경우, 전자 장치(100)는 공격자의 개입이 존재하는 것으로 판단하여 외부 장치(200)와의 통신 연결을 종료하거나 보안성에 대한 사용자 알림을 제공할 수도 있다.
암호화 통신을 수행하기 위한 요청에 따라 외부 장치(200)로부터 암호화된 제2 패킷이 수신되면(S450-Y), 전자 장치(100)는 제2 패킷의 RSSI 정보를 바탕으로 외부 장치(200)에 대한 인증을 수행할 수 있다(S470). 구체적으로, 전자 장치(100)는 제2 패킷의 RSSI 정보를 획득하고, 획득된 RSSI 정보를 바탕으로 외부 장치(200)에 대한 근접 인증을 수행할 수 있다.
즉, 제2 패킷의 RSSI 정보는 암호화된 통신을 통해 획득된 암호화된 패킷의 RSSI 정보이기 때문에, 신뢰할 수 있는 디바이스로부터 수신된 패킷의 신뢰할 수 있는 RSSI 정보라고 할 수 있다. 따라서, 제2 패킷의 RSSI 정보 또한 제1 패킷의 RSSI 정보와 같이 인증된 RSSI 정보라고 할 수 있으므로, 전자 장치(100)는 제2 패킷의 RSSI 정보를 바탕으로 외부 장치(200)에 대한 인증을 수행할 수 있다.
한편, 제1 패킷의 경우와 마찬가지로, 제2 패킷의 암호화 여부에 대한 제1 정보 및 제2 패킷의 RSSI에 대한 제2 정보를 서로 연관시켜 메모리에 저장될 수 있으며, 그 후 인증된 RSSI 정보를 획득하기 위한 인스트럭션의 실행에 따라 외부 장치(200)에 대한 인증에 이용될 수 있음은 물론이다.
상술한 바와 같은 본 개시의 일 실시 예에 따르면, 전자 장치(100)는 인증된 RSSI 정보가 필요한 시점에 인증된 RSSI 정보가 존재하지 않으면, 외부 장치(200)에 암호화 통신을 요청하여 암호화된 패킷을 수신함으로써 인증된 RSSI 정보를 획득할 수 있게 된다. 그리고, 이에 따라 외부 장치(200)에 대한 근접 인증의 보안성을 더욱 향상시킬 수 있다.
이하에서는 도 5 내지 도 8을 참조하여, 블루투스 아키텍처(architecture) 하에서 본 개시에 따른 동작이 수행되는 과정에 대해 설명한다.
도 5 및 도 6은 본 개시의 일 실시 예에 따른 블루투스 아키텍처에 대해 간략하게 설명하기 위한 도면이다.
구체적으로, 도 5 및 도 6는 블루투스의 프로토콜 스택(protocol stack)을 나타내는 도면이다. 프로토콜 스택이란 하위 계층에서부터 상위 계층까지 쌓아올린 프로토콜의 집합을 말하며, 도 5 및 도 6에 도시된 바와 같이, HCI(Host Controller Interface)(520, 620)를 기준으로 컨트롤러(controller)(510, 610)와 호스트(host)(520, 620)로 구별될 수 있다.
여기서, HCI(520, 620)는 호스트(520, 620) 및 컨트롤러(510, 610) 상호 간의 패킷 교환을 위한 표준 인터페이스를 말한다. 구체적으로, HCI(520, 620)는 호스트(520, 620)와 컨트롤러(510, 610) 사이에 연결된 물리적인 버스(physical bus) 통해 HCI Command, HCI Event, HCI ACL(Asynchronous ConnectionLess) Data 및 HCI SCO(Synchronous Connection Oriented) Data와 같은 HCI 패킷을 교환할 수 있다.
한편, 컨트롤러(510, 610)와 호스트 호스트(520, 620)에 포함된 프로토콜 각각의 역할에 대해서는 이하에서 도 5 및 도 6를 참조하여 구체적으로 설명한다. 먼저, 도 5는 BR(Basic Rate) 및 EDR(Enhenced Basic Rate) 버전의 블루투스 아키텍처에 대해 설명하기 위한 도면이다.
물리 계층(physical layer), 즉, BR/EDR Radio(511)는 전자 장치(100) 및 외부 장치(200) 사이의 신호(데이터)의 전송 및 수신하는 역할을 수행할 수 있다. 또한, 물리 계층(511)은 디지털-아날로그 사이의 변환 과정, 즉 변조(modulation) 및 복조(demodulation) 과정을 수행할 수 있다.
베이스벤드 컨트롤러(baseband controller)(512)(이하, 간략하게 '베이스밴드'라고 지칭함)는 블루투스의 링크 컨트롤러에 해당하는 프로토콜로서, 물리적으로 물리 계층(511)과 외부 장치(200)를 연결하고, 상위 레이어들과의 인터페이스를 위한 논리 채널(logical channel)을 정의하는 역할을 수행할 수 있다. 또한, 베이스밴드(512)는 전자 장치(100) 및 외부 장치(200) 사이에 연결(connection)을 수행하고 피코넷(piconet)을 구성하는 역할 등을 수행할 수 있다.
링크 매니저(link manager)(513)는 전자 장치(100) 및 외부 장치(200) 상호 간의 링크를 설정하는 역할을 수행할 수 있다. 구체적으로, 링크 매니저(513)는 LMP(Link Management Protocol) 메시지를 통해, 베이스밴드(512)에서 결정된 링크 설정, 연결 상태 설정 및 링크 키나 암호화(Encryption) 등의 보안 설정에 대한 정보를 외부 장치(200)에 전송하고 그에 따른 응답을 수신하는 역할을 수행할 수 있다.
L2CAP(Logical Link Control and Adaptation Protocol(531)은 상위 계층 프로토콜과 HCI(520), 베이스밴드(512) 등의 하위 프로토콜 사이에서 중재 및 조정을 하는 역할을 수행할 수 있다. 구체적으로, L2CAP(531)은 그 상위의 프로토콜 스택(SDP(532), RFCOMM(533) 및 TCS(534))로부터 데이터가 전달된다면 이를 중재하고, 각각의 데이터를 논리 채널 별로 설정하고 관리하여 하위 계층 프로토콜에 전달하는 역할을 수행할 수 있다.
SDP(Service Discovery Protocol)(532)는 전자 장치(100) 또는 외부 장치(200)에서 이용할 수 있는 서비스의 종류 및 그 서비스의 특징에 관한 정보를 교환하는 과정을 수행할 수 있다.
RFCOMM(Bluetooth Radio Frequency Communication)(533)은 모뎀을 연결하는 RS-232C 등의 시리얼 송신을 대체하는 역할을 수행할 수 있다. 구체적으로, RFCOMM(533)은 시리얼 송신 기능을 필요로 하는 상위 프로토콜에 대해 RS-232C의 컨트롤이나 베이스밴드 상의 데이터 신호를 서포트하는 역할을 수행할 수 있다.
TCS(Telephony Control Protocol)(534)는 전화 회신(PSTN)이나 내선을 인터페이스하기 위한 콜 컨트롤(call control)을 담당하는 역할을 수행할 수 있다.
한편, 도 6는 BLE(Bluetooth Low Energy) 버전의 아키텍처에 대해 설명하기 위한 도면이다. 물리 계층(611)은 전술한 바와 같은 BR 및 EDR 버전의 경우와 크게 다를 바 없으며, 링크 계층(link layer)(612) 또한 전술한 바와 같은 베이스밴드(512) 및 링크 매니저(513)의 역할과 유사하다고 할 수 있다. 따라서, 이하에서는 호스트의 프로토콜의 역할에 대해 설명한다. 다만, L2CAP(531, 631)에 대해서는 전술한 바 있으므로 중복 설명은 생략한다.
GAP(Generic Access Profile)(632)은 게시(advertising) 및 스캐닝(scanning) 단계부터 연결(connection)이 완료되어 데이터 통신을 위한 준비가 끝날 때까지 전자 장치(100) 또는 외부 장치(200)가 취해야 할 액션과 상태들을 정의하는 역할을 수행할 수 있다.
GATT(Generic Attribute Profile)(633)는 어떤 장치와 연결되더라도 일관된 방식으로 데이터를 주고받을 수 있도록 데이터 형식(format)과 동작 방식(procedure)을 추상화하는 역할을 수행할 수 있다. 블루투스 표준에서는 프로파일(profile)을 정의하고 있는데, '프로파일'이란 블루투스 기능을 구현할 때 특정 기능마다 사용해야 할 프로토콜의 종류와 그 구조 및 사용 방법을 규정한 것을 말한다. 이러한 프로파일들이 실제 BLE 장치 속에서 구현될 때 갖춰야 할 데이터 형식, 데이터의 계층 구조 및 동작 방식이 GATT(633)를 기반으로 한다. 특히, GATT(633)는 각각의 서비스에 따라 인증/암호화 여부를 각각 지정할 수 있다.
SM(Security Manager)(634)은 서로 다른 디바이스가 암호화된 보안 통신을 할 때 필요한 보안 키를 생성-교환할 수 있도록 하는 보안 알고리즘과 프로토콜을 제공하는 역할을 수행할 수 있다.
ATT(Attributes)(635)는 GATT(633)에서 정의한 서비스 및 캐릭터리스틱(characteristic)의 개념들을 데이터 형태로 저장하는 역할을 수행할 수 있다.
이상에서는 블루투스의 프로토콜 스택에 포함된 프로토콜 각각의 역할에 대해 설명하였으나, 이는 일 실시 예에 관한 것일 뿐, 본 개시에 따른 블루투스 아키텍처가 반드시 도 5 또는 도 6에 도시된 바와 같이 구현되어야 하는 것이 아님은 물론이다.
이하에서는 상술한 바와 같은 블루투스 아키텍처를 전제로, 도 7을 참조하여 블루투스 통신의 연결 과정에 대해 간략하게 설명하고, 도 8을 참조하여 본 개시의 일 실시 예에 따른 구현 예에 대해 상세하게 설명한다.
도 7은 본 개시의 일 실시 예에 따른 블루투스 통신의 연결 과정에 대해 설명하기 위한 도면이다.
전자 장치(100)는 도 7에 도시된 바와 같은 상태(state)를 거쳐 외부 장치(200)와의 블루투스 연결(connection)을 수행할 수 있다. 특히, 도 7은 블루투스 표준의 보안 모드 4(security mode 4)에 따른 연결 과정을 나타내기 위한 것이다. 구체적으로, 블루투스 통신 연결 과정은 스탠바이(standby) 상태(710), 질의(inquiry) 상태(720), 페이지(page) 상태(730), 링크 수립(link establishment) 상태(740) 및 연결(connection) 상태(750)의 순서를 거쳐 진행될 수 있다.
먼저, 스탠바이 상태(710)에서, 전자 장치(100)는 주변 디바이스를 검색하기 위해 인쿼리 상태(720)로 진입한다. 인쿼리 상태(720)는 두 개의 디바이스가 처음으로 연결될 때만 수행되는 것이 일반적이다. 인쿼리 상태(720)에서는 디바이스 간에 호핑(hopping) 설정이 없으므로, 여러 채널을 통한 브로드캐스팅(broadcasting)을 수행하게 되므로 긴 시간이 소요될 수 있다. 그러나, 일단 특정 디바이스와 한번 연결이 된 후 종료가 되어 다시 연결을 시도할 때는 인쿼리 상태(720)를 거치지 않고, 바로 그 특정 디바이스에 대한 연결을 요청함으로써 페이지 상태(730)를 수행할 수 있으므로 인쿼리 상태(720)에서 소요되는 시간을 줄일 수 있다.
인쿼리 상태(720) 후에는 검색된 디바이스 또는 특정 디바이스에 연결을 요청하기 위해 페이지 상태(730)를 거친다. 블루투스 디바이스를 찾아내면 어드레스와 클럭(clock) 정보 등으로 호핑 시퀀스를 동기화하며 실제 연결을 수행하는데 이것을 페이징(paging)이라고 한다. 여기서, 호핑이란 다수의 채널 사이를 특정 순서에 따라 이동하며 데이터를 분할 전송하는 방법을 말한다. 마스터 디바이스가 생성하는 호핑 패턴에 슬레이브 디바이스가 동기화 함으로써 통신이 가능하게 된다.
페이지 상태(730) 후에는 디바이스 상호 간에 물리적인 링크(link)가 수립되는 링크 수립 단계(740)를 거친 후 최종적으로 연결(connection) 상태(750)에 도달하게 된다. 그런데, 여기서, 연결이 보안성 있는 연결(secure connection)인지 아니면 보안성 없는 연결(insecure connection)을 통해 통신을 수행할 것인지 여부는, 그 연결을 통해 이용될 서비스가 어떠한 프로토콜 내지는 프로파일을 이용하는지에 따라 달라질 수 있다.
구체적으로, BR 또는 EDR 버전의 경우, 전술한 바와 같이 SDP는 이용할 수 있는 서비스에 대한 정보를 교환하기 위한 프로토콜에 해당하므로, SDP를 이용하는 서비스의 경우에는 보안성 없는 연결을 통해 통신을 수행하게 된다. 반면, 전술한 바와 같이 RFCOMM은 외부 장치(200)와의 시리얼 통신에 관련된 것이며 TCS는 전화 통화에 관련된 것이므로, RFCOMM 또는 TCS를 이용하는 서비스의 경우에는 보안성 있는 연결을 통해 통신을 수행하게 된다. 한편, 전술한 바와 같이, BLE 버전의 경우, GATT는 각각의 서비스에 따라 인증/암호화 여부를 개별적으로 지정할 수 있는바, 연결의 보안성은 GATT에서 개별적으로 지정된 인증/암호화 여부에 따라 결정될 수 있다.
이상에서 상술한 바와 같이, 전자 장치(100) 및 외부 장치(200) 상호 간의 블루투스 연결 과정에 있어서, 물리적인 링크가 수립되었다고 하여, 나아가 연결이 이루어졌다는 점만으로도 그 연결의 보안성을 담보할 수는 없다. 그리고, 그 연결의 보안성을 담보할 수 없는 이상 그 연결을 통해 수신된 패킷의 RSSI 정보 또한 신뢰할 수 있는 정보라고 보기는 어렵다.
따라서, 신뢰할 수 있는 RSSI 정보, 즉, 인증된 RSSI 정보를 획득하기 위해서는 그 RSSI 정보에 대응되는 패킷이 보안성을 담보할 수 있는 연결을 통해 수신된 것이라는 점을 확인할 필요가 있다. 다시 말해, 패킷이 암호화 통신에 따라 보안성 있는 연결을 통해 수신된 경우, 즉, 수신된 패킷이 암호화된 패킷인 경우라면 그 패킷의 RSSI 정보를 신뢰할 수 있는 것으로 판단할 수 있다. 이하에서는 수신된 패킷이 암호화된 패킷인지 여부에 따라 인증된 RSSI 정보를 획득하기 위한 실시 예에 대하여, 도 5 내지 도 7을 참조하여 설명한 바와 같은 블루투스 표준의 내용을 전제로 설명한다.
도 8은 블루투스 아키텍처 하에서 본 개시의 일 실시 예에 따른 전자 장치(100)의 제어 방법을 상세하게 설명하기 위한 도면이다.
즉, 도 8은 도 1 내지 도 4를 참조하여 상술한 바와 같은 본 개시의 다양한 실시 예가 도 5 내지 도 7을 참조하여 설명한 블루투스의 아키텍처와 연결 과정 하에서 어떻게 구현되는지를 설명하기 위한 도면이다. 본 개시의 다양한 실시 예에 따른 전자 장치의 제어 방법에 대해서는 도 2 내지 도 4를 참조하여 설명하였으므로, 이하에서는 본 개시를 명확하고 상세하게 설명하기 위한 경우가 아닌 한 중복 설명은 생략한다.
도 8에 도시된 바와 같이, 컨트롤러(810)는 외부 장치(200)로부터 적어도 하나의 패킷을 수신할 수 있다(S810). 그리고, 외부 장치(200)로부터 적어도 하나의 패킷이 수신되면, 컨트롤러(810)는 수신된 적어도 하나의 패킷의 암호화 여부를 식별할 수 있다. 즉, 외부 장치(200)로 수신된 적어도 하나의 패킷은, 도 8에 도시된 바와 같이, 암호화 및 복호화 과정을 통해 수신된 패킷(81)일 수 있으며, 암호화되지 않은 패킷(82)일 수도 있다.
컨트롤러(810)는 수신된 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 수신된 적어도 하나의 패킷 각각의 RSSI에 대한 제2 정보를 획득하여 저장할 수 있다(S820). 구체적으로, 컨트롤러(810)는 수신된 적어도 하나의 패킷 각각의 암호화 여부를 식별하여 제1 정보를 획득할 수 있다. 그리고, 컨트롤러(810)는 수신된 적어도 하나의 패킷 각각의 RSSI를 측정하여 제 2정보를 획득할 수 있다. 구체적으로, 컨트롤러(810)는 수신된 패킷의 암호화 여부를 식별하고, 암호화된 패킷인 것으로 식별되면 수신된 패킷에 대한 복호화를 수행하며, 복호화에 따라 획득된 정보를 바탕으로 수신된 패킷의 RSSI 값을 측정함으로써 RSSI 정보를 획득할 수 있다.
한편, 컨트롤러(810)는 각각의 패킷에 대응되는 제1 정보 및 제2 정보를 서로 연관시켜 전자 장치(100)의 메모리에 저장하고 관리할 수 있다(S830). 구체적으로, 컨트롤러(810)는 MAC 주소(Media Access Control Address)와 같은 외부 장치(200)의 식별 정보를 바탕으로 적어도 하나의 패킷을 전송한 외부 장치(200)를 식별하고, 외부 장치(200) 별로 그 외부 장치(200)가 수신된 패킷 각각에 대응되는 제1 정보 및 제2 정보를 메모리에 저장할 수 있다. 또한, 컨트롤러(810)는 패킷 각각의 수신 시간에 대한 제3 정보를 제1 정보 및 제2 정보에 연관시켜 메모리에 저장할 수 있다.
특히, 컨트롤러(810)는 MAC 주소 별로 각각의 패킷에 대응되는 제1 정보, 제2 정보 및 제3 정보를, 도 8에 도시된 바와 같은 테이블(83) 형식으로 관리할 수 있다. 여기서, 제1 정보 및 제2 정보 등을 관리할 수 있다는 것은, 호스트(830)의 요청에 따라 제1 정보 및 제2 정보 등을 호스트(830)에 전송할 수 있다는 의미와, 제1 정보 및 제2 정보 등이 메모리에 유지되는 기간 등을 조절할 수 있다는 의미 등을 포함할 수 있다.
한편, 어플리케이션(840)은 후술하는 바와 같은 과정을 통해 인증된 RSSI 정보를 획득할 수 있다. 여기서 어플리케이션(840)은 다운로드 하여 전자장치(100)에 설치되는 어플리케이션뿐만 아니라, 전자장치(100)의 운영체제 내에서 블루투스 관련 기능을 제공하는 라이브러리 또는 운영체제 안의 특정 모듈이 될 수 있다. 또한 어플리케이션(840)의 기능 중 일부 또는 전부는 Host(830)에 구현될 수 있음은 물론이다.
어플리케이션(840)이 인증된 RSSI 정보를 획득하는 과정은, 도 8에 도시된 바와 같이, 소위 getReliableRSSI()(85)라고 지칭될 수 있는 함수를 통해 정의될 수 있다. 이하에서 인증된 RSSI 정보를 획득하기 위한 각각의 과정에 대해 설명한다.
인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 어플리케이션(840)은 암호화된 패킷의 RSSI 정보를 컨트롤러(810)에 요청하고, 컨트롤러(810)의 응답에 따라 암호화된 패킷의 RSSI 정보를 수신할 수 있다(S840). 구체적으로, 어플리케이션(840)이 호스트(830)를 통해 암호화된 패킷에 대한 RSSI 정보를 컨트롤러(810)에 요청하면, 컨트롤러(810)는 상술한 바와 같은 제1 정보 및 제2 정보를 바탕으로 암호화된 패킷의 RSSI 정보를 식별하고, 식별된 RSSI 정보를 호스트(830)를 통해 어플리케이션(840)으로 전송할 수 있다.
한편, 인증된 RSSI 정보의 요청 및 수신 과정은, 암호화된 패킷에 대한 RSSI 정보를 요청하는 HCI(820)(Host Controller Interface) 함수(내지는 메소드)를 통해 구현될 수 있다. 예를 들어, 암호화된 패킷에 대한 RSSI 정보를 컨트롤러에 요청하기 위한 HCI(820) 함수는, 도 8에 도시된 바와 같이, HCI_Read_Encrypted_Packet_RSSI()(84)와 같이 명명될 수 있다. 한편, HCI_Read_Encrypted_Packet_RSSI()(84)는 외부 장치(200)와의 논리적 연결(logical connection)을 수행하기 위한 connection_handle을 포함하는 입력 파라미터, 그리고 인증 여부에 대한 상태 정보 및 RSSI 값을 포함하는 응답 파라미터로 구성될 수 있다. 여기서, 인증 여부에 대한 상태 정보란 그 패킷의 암호화 여부를 바탕으로 결정될 수 있다.
한편, 어플리케이션(840)은 인증된 RSSI 정보를 식별할 수 있다(S850). 그리고, 인증된 RSSI 정보가 식별되면, 어플리케이션(840)은 인증된 RSSI 정보를 바탕으로 외부 장치(200)에 대한 인증을 수행할 수 있다. 구체적으로, 컨트롤러(810)로부터 암호화된 패킷의 RSSI 정보가 수신되면, 어플리케이션(840)은 암호화된 패킷의 RSSI 정보를 인증된 RSSI 정보인 것으로 식별하고, 인증된 RSSI 정보를 바탕으로 외부 장치(200)에 대한 근접 인증을 수행할 수 있다.
한편, 암호화된 패킷의 RSSI 정보를 요청하는 과정 및 인증된 RSSI 정보를 식별하는 과정은 기 설정된 시간 동안 외부 장치(200)로부터 수신된 패킷만을 대상으로 하여 수행될 수도 있다. 구체적으로, 어플리케이션(840)은 기 설정된 시간 동안 외부 장치(200)로부터 수신된 패킷만의 RSSI 정보를 컨트롤러(810)에 요청할 수 있다. 또한, 어플리케이션(840)은 컨트롤러(810)로부터 수신된 RSSI 정보 중 기 설정된 시간 동안 외부 장치(200)로부터 수신된 패킷의 RSSI 정보만을 대상으로 하여 인증된 RSSI 정보를 식별할 수도 있다.
한편, 상술한 바와 같이 인증된 RSSI 정보를 식별한 결과 인증된 RSSI 정보가 존재하지 않는 것으로 식별되면, 어플리케이션(840)은 암호화 통신을 수행하기 위한 요청을 외부 장치(200)로 전송할 수 있다(S860).
전술한 바와 같이, 본 개시에 따른 '암호화 통신'이란 보안성 있는 연결을 통해 암호화된 패킷을 수신할 수 있는 통신을 말한다. 즉, 연결이 보안성 있는 연결인지 아니면 보안성 없는 연결을 통해 통신을 수행할 것인지 여부는, 그 연결을 통해 이용될 서비스가 어떠한 프로토콜 내지는 프로파일을 이용하는지에 따라 달라질 수 있다.
예를 들어, BR 또는 EDR 버전의 경우, 전술한 바와 같이 SDP는 이용할 수 있는 서비스에 대한 정보를 교환하기 위한 프로토콜에 해당하므로, SDP를 이용하는 서비스의 경우에는 보안성 없는 연결을 통해 통신을 수행하게 된다. 반면, 전술한 바와 같이 RFCOMM은 외부 장치(200)와의 시리얼 통신에 관련된 것이며 TCS는 전화 통화에 관련된 것이므로, RFCOMM 또는 TCS를 이용하는 서비스의 경우에는 보안성 있는 연결을 통해 통신을 수행하게 된다. 한편, 전술한 바와 같이, BLE 버전의 경우, GATT는 각각의 서비스에 따라 인증/암호화 여부를 개별적으로 지정할 수 있는바, 연결의 보안성은 GATT에서 개별적으로 지정된 인증/암호화 여부에 따라 결정될 수 있다.
따라서, 상술한 바와 같이 인증된 RSSI 정보를 식별한 결과 인증된 RSSI 정보가 존재하지 않는 것으로 식별되면, 전자 장치(100)는 보안성 있는 연결을 통해 패킷을 수신하도록 구현된 서비스를 이용하여, 암호화 통신을 수행하기 위한 요청을 외부 장치(200)로 전송함으로써, 인증된 RSSI를 획득하기 위한 데이터 통신을 유발할 수 있다. 예를 들어, 암호화 통신을 수행하기 위한 요청은 외부 장치(200)의 베터리 상태를 체크하기 위한 서비스 등과 같은 기 정의된 서비스를 통한 리드 오퍼레이션(read operation)을 이용하여 전송될 수 있으며, 뿐만 아니라 더미 데이터(dummy data)를 전송하도록 하는 서비스 등과 같이 별도의 서비스를 통해 구현될 수도 있다.
한편, 암호화 통신을 수행하기 위한 요청에도 불구하고 외부 장치(200)로부터 암호화된 패킷이 수신되지 않으면, 어플리케이션(840)은 외부 장치(200)와의 연결을 종료하거나 종료하거나 보안성에 대한 사용자 알림을 제공할 수도 있다. 반면, 상술한 바와 같은 암호화 통신을 수행하기 위한 요청에 따라, 컨트롤러(810)는 외부 장치(200)로부터 암호화된 패킷을 수신할 수 있다.
암호화 통신을 수행하기 위한 요청에 따라 외부 장치(200)로부터 암호화된 패킷이 수신되면, 어플리케이션(840)은 암호화된 패킷의 RSSI 정보를 컨트롤러(810)에 재요청하고, 컨트롤러(810)의 응답에 따라 암호화된 패킷의 RSSI 정보를 수신할 수 있다(S870). 여기서, 암호화된 통신을 통해 획득된 암호화된 패킷의 RSSI 정보는 인증된 RSSI 정보라고 할 수 있으므로, 외부 장치(200)에 대한 인증에 이용될 수 있다.
한편, 이상에서는 어플리케이션(840)이 호스트(830)를 통해 암호화된 패킷에 대한 RSSI 정보를 컨트롤러(810)에 요청하면, 컨트롤러(810)가 제1 정보 및 제2 정보를 바탕으로 암호화된 패킷의 RSSI 정보를 식별하고, 식별된 RSSI 정보를 호스트(830)를 통해 어플리케이션(840)으로 전송하는 실시 예에 대해 설명하였으나, 본 개시가 이에 국한되는 것은 아니다. 즉, 다른 실시 예에 따르면, 어플리케이션(840)이 호스트(830)를 통해 컨트롤러(810)로부터 암호화된 패킷과 암호화되지 않은 패킷 모두에 대한 RSSI 정보를 수신하고, 어플리케이션(840)이 암호화된 패킷에 대한 RSSI 정보를 식별함으로써 인증된 RSSI 정보를 획득할 수도 있다.
한편, 이상에서는 BR, EDR 및 BLE 버전의 블루투스 표준을 전제로 암호화 통신에 이용될 수 있는 프로토콜 및 프로파일 등에 대해 설명하였으나, 본 개시가 특정 버전의 표준에 국한되는 것은 아니다. 즉, 보안성 있는 연결을 통해 암호화된 패킷을 수신할 수 있는 통신 방법이라면, 모두 본 개시에 따른 암호화 통신에 해당할 수 있다.
한편, 이상에서는 인증된 RSSI 정보가 복수의 패킷에 대한 것인 경우에 대해서는 명시하지 않았으나, 본 개시에 따른 다양한 실시 예가 복수의 패킷에 대한 인증된 RSSI 정보를 획득하기 위한 방법으로 이용될 수 있음은 물론이다. 그리고, 복수의 패킷에 대한 인증된 RSSI 정보를 이용하여 외부 장치에 대한 근접 인증을 수행하면, 그 인증의 보안성은 더 높아질 수 있다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치(100)의 잠금 설정 및 잠금 해제 방법에 대해 설명하기 위한 도면이다.
도 9에 도시된 바와 같이, 전자 장치(100)는 소정의 조건 중 적어도 하나를 만족하는 경우 전자 장치(100)의 잠금을 설정하거나 잠금을 해제할 수 있다. 여기서, '잠금'이란 전자 장치(100)의 동작 중 적어도 일부에 대한 사용자의 접근을 제한하기 위한 방법을 총괄하는 의미로 사용된다.
구체적으로, 전자 장치(100)는 사용자 인터렉션이 입력되는 경우, 기 설정된 시간 경과되는 경우, 신뢰할 수 있는 외부 장치(200)와의 연결이 종료(disconnection)되는 경우 및 신뢰할 수 있는 외부 장치(200)로부터 수신된 패킷의 RSSI 값이 감소되는 경우 중 적어도 하나에 해당되면, 전자 장치(100)의 잠금을 설정(lock)할 수 있다(S910).
한편, 전자 장치(100)는 명백한 인증 절차가 수행되는 경우, 신뢰할 수 있는 외부 장치(200)와 연결(connection)되는 경우 및 신뢰할 수 있는 외부 장치(200)로부터 수신된 패킷의 RSSI 값이 증가되는 경우 중 적어도 하나에 해당되면, 전자 장치(100)의 잠금을 해제(unlock)할 수 있다(S920).
이상에서, 사용자의 인터렉션 또는 기 설정된 시간의 경과에 의해 전자 장치(100)의 잠금이 설정되거나, 명백한 인증 절차의 수행에 의해 전자 장치(100)의 잠금이 해제되는 경우에는 보안성에 대한 문제가 크지 않을 수 있다.
그러나, 신뢰할 수 있는 외부 장치(200)와 연결을 바탕으로 전자 장치(100)의 잠금 설정 또는 잠금 해제를 수행하는 경우에는, 전술한 바와 같이 연결이 이루어졌다는 점만으로는 그 외부 장치(200)를 신뢰할 수는 없다는 점에서 보안성에 대한 문제가 발생할 수 있다. 또한, 신뢰할 수 있는 외부 장치(200)로부터 수신된 패킷의 RSSI 값을 바탕으로 전자 장치(100)의 잠금 설정 또는 잠금 해제를 수행하는 경우에는, 그 RSSI 값의 신뢰성이 담보되어야 하는데, 종래 기술에 따르면 그 신뢰성을 담보하기는 어렵다는 한계가 있다.
따라서, 상술한 바와 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치(100)는 신뢰할 수 있는 RSSI 정보, 즉, 인증된 RSSI 정보를 획득하고, 인증된 RSSI 정보를 바탕으로 외부 장치(200)에 대한 근접 인증을 수행하며, 근접 인증의 결과를 바탕으로 전자 장치(100)의 잠금 설정 및 잠금 해제를 수행함으로써, 보안성을 확보할 수 있다.
구체적으로, 상술한 바와 같이 인증된 RSSI 정보가 획득된 경우, 전자 장치(100)는 인증된 RSSI 정보를 바탕으로 전자 장치(100) 및 외부 장치(200) 사이의 거리에 대한 정보를 획득할 수 있다. 즉, 인증된 RSSI 정보가 획득되면, 전자 장치(100)는 전자 장치(100) 및 외부 장치(200) 사이의 거리가 멀어질수록 외부 장치(200)가 전송한 신호의 세기가 감소되어 전자 장치(100)에서 수신된다는 원리를 이용하여 전자 장치(100) 및 외부 장치(200)의 거리에 대한 정보를 획득할 수 있다.
보다 구체적으로, 전자 장치(100) 및 외부 장치(200) 사이의 거리는 , 즉, 와 같은 공식을 이용하여 측정될 수 있다. 여기서, d는 전자 장치(100) 및 외부 장치(200) 사이의 거리, TxPower는 외부 장치(200)가 전송한 신호의 세기, RSSI는 외부 장치(200)로부터 수신된 패킷의 RSSI 값을 의미한다. 한편, n은 전자 장치(100) 및 외부 장치(200) 사이에 존재하는 장애물의 존재에 따른 보정 상수를 의미하며, 예를 들어, 장애물이 존재하지 않는 경우에는 n=2로 취급할 수 있다.
전자 장치(100) 및 외부 장치(200) 사이의 거리에 대한 정보가 획득되면, 전자 장치(100)는 전자 장치(100) 및 외부 장치(200) 사이의 거리에 대한 정보를 바탕으로 외부 장치(200)에 대한 근접 인증(proximity authentication)을 수행할 수 있다. 구체적으로, 전자 장치(100) 및 외부 장치(200) 사이의 거리에 대한 정보를 바탕으로 외부 장치(200)가 전자 장치(100)와 기 설정된 거리 내에 위치하는 것으로 식별되면, 전자 장치(100)는 전자 장치(100)의 잠금을 해제할 수 있다. 한편, 전자 장치(100) 및 외부 장치(200) 사이의 거리에 대한 정보를 바탕으로 외부 장치(200)가 전자 장치(100)와 기 설정된 거리 밖에 위치하는 것으로 식별되면, 전자 장치(100)는 전자 장치(100)의 잠금을 설정할 수 있다.
이상에서는 도 9를 참조하여, 인증된 RSSI 정보를 바탕으로 외부 장치에 대한 근접 인증을 수행하는 방법에 대해 설명하였으나, 본 개시에 따른 인증된 RSSI 정보는 외부 장치의 위치에 대한 정보를 획득하기 위한 방법과 같이, 다양한 방법으로 활용될 수 있다. 다시 말해, 본 개시의 주된 특징은 신뢰할 수 있는 RSSI 정보를 획득하기 위한 방법 자체에 있는 것이며, 획득된 RSSI 정보를 어떻게 활용할 것인지는 본 개시의 다양한 실시 예에 따라 달라질 수 있다.
도 10는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 간략하게 나타내는 블록도이고, 도 11은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 상세하게 나타내는 블록도이다.
도 10에 도시된 바와 같이, 본 개시의 일 실시 예에 따른 전자 장치(100)는 통신부(110), 메모리(120) 및 프로세서(130)를 포함한다. 또한, 도 11에 도시된 바와 같이, 본 개시의 일 실시 예에 따른 전자 장치(100)는 출력부(140) 및 입력부(150)를 더 포함할 수 있다. 그러나, 이와 같은 구성은 예시적인 것으로서, 본 개시를 실시함에 있어 이와 같은 구성에 더하여 새로운 구성이 추가되거나 일부 구성이 생략될 수 있음을 물론이다.
통신부(110)는 회로를 포함하며, 서버 또는 외부 장치(200)와의 통신을 수행할 수 있다. 구체적으로, 프로세서(130)는 통신부(110)를 통해 연결된 서버 또는 외부 장치(200)로부터 각종 데이터 또는 정보를 수신할 수 있으며, 서버 또는 외부 장치(200)로 각종 데이터 또는 정보를 전송할 수도 있다.
통신부(110)는 Bluetooth 모듈(111), WiFi 모듈(112), 무선 통신 모듈(113) 및 NFC 모듈(114) 중 적어도 하나를 포함할 수 있다. 구체적으로, Bluetooth 모듈(111)과 WiFi 모듈(112) 각각은 Bluetooth 방식 및 WiFi 방식으로 통신을 수행할 수 있다. Bluetooth 모듈(111)이나 WiFi 모듈(112)을 이용하는 경우에는 SSID 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. Bluetooth 모듈(111)에 대한 상세한 설명은 도 5 내지 도 7을 참조하여 설명한 블루투스 아키텍처와 블루투스 통신 연결 과정 등에 대한 설명으로 갈음한다.
또한, 무선 통신 모듈(113)은 IEEE, Zigbee, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 5G(5th Generation) 등과 같은 다양한 통신 규격에 따라 통신을 수행할 수 있다. 그리고, NFC 모듈(114)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 통신을 수행할 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 통신부(110)는 외부 장치(200)로부터 적어도 하나의 패킷을 수신할 수 있다. 그리고, 프로세서(130)는 외부 장치(200)로 적어도 하나의 패킷을 전송하도록 통신부(110)를 제어할 수도 있다. 한편, 본 개시에 따른 전자 장치(100)는 블루투스 통신 방식을 통해 외부 장치(200)와 연결될 수 있다.
메모리(120)에는 전자 장치(100)에 관한 적어도 하나의 명령이 저장될 수 있다. 그리고, 메모리(120)에는 전자 장치(100)를 구동시키기 위한 O/S(Operating System)가 저장될 수 있다. 또한, 메모리(120)에는 본 개시의 다양한 실시 예들에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수도 있다. 그리고, 메모리(120)는 플래시 메모리(Flash Memory) 등과 같은 반도체 메모리나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
구체적으로, 메모리(120)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 모듈이 저장될 수 있으며, 프로세서(130)는 메모리(120)에 저장된 각종 소프트웨어 모듈을 실행하여 전자 장치(100)의 동작을 제어할 수 있다. 즉, 메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
한편, 본 개시에서 메모리(120)라는 용어는 메모리(120), 프로세서(130) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함하는 의미로 사용될 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 메모리(120)에는 외부 장치(200)로부터 수신된 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보, 패킷 각각의 RSSI에 대한 제2 정보, 그리고 패킷 각각의 수신 시간에 대한 제3 정보가 저장될 수 있다. 그 밖에도 본 개시의 목적을 달성하기 위한 범위 내에서 필요한 다양한 정보가 메모리(120)에 저장될 수 있으며, 메모리(120)에 저장된 정보는 서버 또는 외부 장치(200)로부터 수신되거나 사용자에 의해 입력됨에 따라 갱신될 수도 있다.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(130)는 상술한 바와 같은 통신부 및 메모리(120)를 포함하는 전자 장치(100)의 구성과 연결되며, 상술한 바와 같은 메모리(120)에 저장된 적어도 하나의 명령을 실행하여 전자 장치(100)의 동작을 전반적으로 제어할 수 있다.
프로세서(130)는 다양한 방식으로 구현될 수 있다. 예를 들어, 프로세서(130)는 주문형 집적 회로(Application Specific Integrated Circuit, ASIC), 임베디드 프로세서, 마이크로 프로세서, 하드웨어 컨트롤 로직, 하드웨어 유한 상태 기계(hardware Finite State Machine, FSM), 디지털 신호 프로세서(Digital Signal Processor, DSP) 중 적어도 하나로 구현될 수 있다. 한편, 본 개시에서 프로세서(130)라는 용어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 및 MPU(Main Processing Unit)등을 포함하는 의미로 사용될 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 프로세서(130)는 전자 장치(100)와 연결된 외부 장치(200)로부터 적어도 하나의 패킷이 수신되면, 적어도 하나의 패킷의 암호화 여부를 식별하고, 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 적어도 하나의 패킷 각각의 RSSI에 대한 제2 정보를 획득하며, 외부 장치(200)에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 제1 정보 및 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별할 수 있다. 본 개시에 따른 다양한 실시 예에 대해서는 도 1 내지 도 9를 참조하여 상술하였으므로, 중복 설명은 생략한다.
출력부(140)는 회로를 포함하며, 프로세서(130)는 출력부(140)를 통해 전자 장치(100)가 수행할 수 있는 다양한 기능을 출력할 수 있다. 그리고, 출력부(140)는 디스플레이(141), 스피커 및 인디케이터 중 적어도 하나를 포함할 수 있다.
디스플레이(141)는 프로세서(130)의 제어에 의하여 영상 데이터를 출력할 수 있다. 구체적으로, 디스플레이(141)는 프로세서(130)의 제어에 의하여 메모리(120)에 기 저장된 영상을 출력할 수 있다. 특히, 본 개시의 일 실시 예에 따른 디스플레이(141)는 메모리(120)에 저장된 사용자 인터페이스(User Interface)를 표시할 수도 있다. 디스플레이(141)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes) 등으로 구현될 수 있으며, 또한 디스플레이(141)는 경우에 따라 플렉서블 디스플레이, 투명 디스플레이 등으로 구현되는 것도 가능하다. 다만, 본 개시에 따른 디스플레이가 특정한 종류에 한정되는 것은 아니다. 스피커(142)는 프로세서(130)의 제어에 의하여 오디오 데이터를 출력할 수 있으며, 인디케이터(143)는 프로세서(130)의 제어에 의하여 점등될 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 출력부(140)는 외부 장치(200)와의 연결 과정 및 데이터 송수신에 대한 사용자 알림을 출력할 수 있다. 또한, 암호화 통신을 수행하기 위한 요청에도 불구하고 외부 장치(200)로부터 암호화된 패킷이 수신되지 않으면, 프로세서(130)는 공격자의 개입이 존재하는 것으로 판단하여, 출력부(140)를 통해 보안성에 대한 사용자 알림을 제공할 수도 있다. 여기서, 사용자 알림은 디스플레이(141) 또는 인디케이터(143)를 통해 시각적으로 제공될 수도 있으며, 뿐만 아니라 스피커(142)를 통해 청각적으로 제공될 수도 있다. 또한, 프로세서(130)는 출력부(140)를 통해 보안성에 대한 사용자 알림과 함께 외부 장치(200)와의 통신 연결을 종료할 것인지 여부에 대한 사용자 명령을 수신하기 위한 사용자 인터페이스를 제공할 수도 있다.
입력부(150)는 회로를 포함하며, 프로세서(130)는 입력부(150)를 통해 전자 장치(100)의 동작을 제어하기 위한 사용자 명령을 수신할 수 있다. 구체적으로, 입력부(150)는 마이크, 카메라, 및 리모컨 신호 수신부 등과 같은 구성으로 이루어 질 수 있다. 그리고, 입력부(150)는 터치 스크린으로서 디스플레이(141)에 포함된 형태로 구현될 수도 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 입력부(150)는 외부 장치(200)와의 통신 연결을 수립하거나 외부 장치(200)와의 통신 연결을 종료하기 위한 사용자 명령을 수신할 수 있다.
이상에서 상술한 바와 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치(100)는 외부 장치(200)로부터 수신된 패킷 중 암호화된 패킷의 RSSI 정보를 인증된 RSSI 정보로서 저장하고, 인증된 RSSI 정보가 필요한 시점에 인증된 RSSI 정보를 바탕으로 외부 장치(200)에 대한 근접 인증을 수행할 수 있게 된다. 또한, 전자 장치(100)는 RSSI 정보를 획득하기 위한 인스트럭션이 실행된 때를 기준으로 신뢰성을 담보할 수 있는 기간 내에 수신된 패킷의 RSSI 정보만을 고려하여 외부 장치(200)에 대한 근접 인증을 수행할 수 있게 되며, 이에 따라 전자 장치(100) 및 외부 장치(200) 중 적어도 하나의 위치가 변동되는 경우에도 보안성 높은 근접 인증을 수행할 수 있게 된다. 나아가, 전자 장치(100)는 인증된 RSSI 정보가 필요한 시점에 인증된 RSSI 정보가 존재하지 않으면, 외부 장치(200)에 암호화 통신을 요청하여 암호화된 패킷을 수신함으로써 인증된 RSSI 정보를 획득할 수 있게 된다. 그리고, 이에 따라 외부 장치(200)에 대한 근접 인증의 보안성을 더욱 향상시킬 수 있다.
이상에서 상술한 바와 같은 본 개시의 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다.
다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(100)(예: 전자 장치(100)) 를 포함할 수 있다.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 전자 장치
110: 통신부
120: 메모리 130: 프로세서
200: 외부 장치
120: 메모리 130: 프로세서
200: 외부 장치
Claims (15)
- 전자 장치에 있어서,
회로를 포함하는 통신부;
적어도 하나의 인스트럭션(instruction)을 저장하는 메모리; 및
상기 적어도 하나의 인스트럭션을 실행하는 프로세서; 를 포함하고,
상기 프로세서는,
상기 전자 장치와 연결된 외부 장치로부터 적어도 하나의 패킷이 수신되면, 상기 적어도 하나의 패킷의 암호화 여부를 식별하고,
상기 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 상기 적어도 하나의 패킷 각각의 RSSI(Received Signal Strength Indicator)에 대한 제2 정보를 획득하며,
상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별하는 전자 장치.
- 제1 항에 있어서,
상기 프로세서는,
상기 제1 정보 및 상기 제2 정보와 함께 상기 적어도 하나의 패킷 각각의 수신 시간에 대한 제3 정보를 획득하고,
상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제3 정보를 바탕으로, 기 설정된 기간 동안 상기 통신부를 통해 상기 외부 장치로부터 수신된 적어도 하나의 패킷을 식별하며,
상기 제1 정보 및 상기 제2 정보를 바탕으로, 상기 기 설정된 기간 동안 수신된 것으로 식별된 적어도 하나의 패킷 중 상기 제1 패킷의 RSSI 정보를 식별하는 전자 장치.
- 제2 항에 있어서,
상기 기 설정된 기간은,
상기 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행된 제1 시간을 기준으로 기 설정된 시간 간격 이전인 제2 시간부터 상기 제1 시간까지의 기간인 전자 장치.
- 제3 항에 있어서,
상기 프로세서는,
상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 패킷의 RSSI 정보가 식별되지 않으면, 암호화 통신을 수행하기 위한 요청을 상기 외부 장치로 전송하도록 상기 통신부를 제어하고,
상기 암호화 통신을 수행하기 위한 요청에 따라 상기 통신부를 통해 상기 외부 장치로부터 암호화된 제2 패킷이 수신되면, 상기 제2 패킷의 RSSI 정보를 획득하는 전자 장치.
- 제4 항에 있어서,
상기 프로세서는,
상기 암호화 통신을 수행하기 위한 요청에 따라 상기 통신부를 통해 상기 외부 장치로부터 상기 제2 패킷이 수신되지 않으면, 상기 외부 장치와의 연결을 종료하는 전자 장치.
- 제5 항에 있어서,
상기 프로세서는,
상기 제1 패킷의 RSSI 정보 또는 상기 제2 패킷의 RSSI 정보를 바탕으로 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 획득하고,
상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치에 대한 근접 인증(proximity authentication)을 수행하는 전자 장치.
- 제6 항에 있어서,
상기 프로세서는,
상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치가 상기 전자 장치와 기 설정된 거리 내에 위치하는 것으로 식별되면, 상기 전자 장치의 잠금을 해제하고,
상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치가 상기 전자 장치와 기 설정된 거리 밖에 위치하는 것으로 식별되면, 상기 전자 장치의 잠금을 설정하는 전자 장치.
- 전자 장치의 제어 방법에 있어서,
상기 전자 장치와 연결된 외부 장치로부터 적어도 하나의 패킷이 수신되면, 상기 적어도 하나의 패킷의 암호화 여부를 식별하는 단계;
상기 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 상기 적어도 하나의 패킷 각각의 RSSI(Received Signal Strength Indicator)에 대한 제2 정보를 획득하는 단계; 및
상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별하는 단계; 를 포함하는 전자 장치의 제어 방법.
- 제8 항에 있어서,
상기 제1 정보 및 상기 제2 정보와 함께 상기 적어도 하나의 패킷 각각의 수신 시간에 대한 제3 정보를 획득하는 단계; 를 더 포함하고,
상기 제1 패킷의 RSSI 정보를 식별하는 단계는,
상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제3 정보를 바탕으로, 기 설정된 기간 동안 상기 통신부를 통해 상기 외부 장치로부터 수신된 적어도 하나의 패킷을 식별하는 단계; 및
상기 제1 정보 및 상기 제2 정보를 바탕으로, 상기 기 설정된 기간 동안 수신된 것으로 식별된 적어도 하나의 패킷 중 상기 제1 패킷의 RSSI 정보를 식별하는 단계; 를 더 포함하는 전자 장치의 제어 방법.
- 제9 항에 있어서,
상기 기 설정된 기간은,
상기 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행된 제1 시간을 기준으로 기 설정된 시간 간격 이전인 제2 시간부터 상기 제1 시간까지의 기간인 전자 장치의 제어 방법.
- 제10 항에 있어서,
상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 패킷의 RSSI 정보가 식별되지 않으면, 암호화 통신을 수행하기 위한 요청을 상기 외부 장치로 전송하는 단계; 및
상기 암호화 통신을 수행하기 위한 요청에 따라 상기 외부 장치로부터 암호화된 제2 패킷이 수신되면, 상기 제2 패킷의 RSSI 정보를 획득하는 단계; 를 더 포함하는 전자 장치의 제어 방법.
- 제11 항에 있어서,
상기 암호화 통신을 수행하기 위한 요청에 따라 상기 통신부를 통해 상기 외부 장치로부터 상기 제2 패킷이 수신되지 않으면, 상기 외부 장치와의 연결을 종료하는 단계; 를 더 포함하는 전자 장치의 제어 방법.
- 제12 항에 있어서,
상기 제1 패킷의 RSSI 정보 또는 상기 제2 패킷의 RSSI 정보를 바탕으로 상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 획득하는 단계; 및
상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치에 대한 근접 인증(proximity authentication)을 수행하는 단계; 를 더 포함하는 전자 장치의 제어 방법.
- 제13 항에 있어서,
상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치가 상기 전자 장치와 기 설정된 거리 내에 위치하는 것으로 식별되면, 상기 전자 장치의 잠금을 해제하는 단계; 및
상기 전자 장치 및 상기 외부 장치 사이의 거리에 대한 정보를 바탕으로 상기 외부 장치가 상기 전자 장치와 기 설정된 거리 밖에 위치하는 것으로 식별되면, 상기 전자 장치의 잠금을 설정하는 단계; 를 포함하는 전자 장치의 제어 방법.
- 전자 장치의 제어 방법을 실행하는 프로그램을 포함하는 비일시적 컴퓨터 판독 가능 기록매체에 있어서,
상기 전자 장치의 제어 방법은,
상기 전자 장치와 연결된 외부 장치로부터 적어도 하나의 패킷이 수신되면, 상기 적어도 하나의 패킷의 암호화 여부를 식별하는 단계;
상기 적어도 하나의 패킷 각각의 암호화 여부에 대한 제1 정보 및 상기 적어도 하나의 패킷 각각의 RSSI(Received Signal Strength Indicator)에 대한 제2 정보를 획득하는 단계; 및
상기 외부 장치에 대한 인증된 RSSI 정보를 획득하기 위한 인스트럭션이 실행되면, 상기 제1 정보 및 상기 제2 정보를 바탕으로 암호화된 제1 패킷의 RSSI 정보를 식별하는 단계; 를 포함하는 비일시적 컴퓨터 판독 가능 기록매체.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200035285A KR20210118703A (ko) | 2020-03-23 | 2020-03-23 | 전자 장치 및 전자 장치의 제어 방법 |
PCT/KR2021/000896 WO2021194076A1 (ko) | 2020-03-23 | 2021-01-22 | 전자 장치 및 전자 장치의 제어 방법 |
EP21774863.1A EP4123982A4 (en) | 2020-03-23 | 2021-01-22 | ELECTRONIC DEVICE AND CONTROL METHOD FOR ELECTRONIC DEVICE |
US17/951,802 US20230015612A1 (en) | 2020-03-23 | 2022-09-23 | Electronic device and electronic device control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200035285A KR20210118703A (ko) | 2020-03-23 | 2020-03-23 | 전자 장치 및 전자 장치의 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210118703A true KR20210118703A (ko) | 2021-10-01 |
Family
ID=77891975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200035285A KR20210118703A (ko) | 2020-03-23 | 2020-03-23 | 전자 장치 및 전자 장치의 제어 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230015612A1 (ko) |
EP (1) | EP4123982A4 (ko) |
KR (1) | KR20210118703A (ko) |
WO (1) | WO2021194076A1 (ko) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9967713B2 (en) * | 2012-11-15 | 2018-05-08 | SSI America, Inc. | Locator beacon and radar application for mobile device |
KR101455801B1 (ko) * | 2013-11-22 | 2014-11-03 | 주식회사 대동 | 차량의 스마트키 시스템의 릴레이 어택 방지 방법 |
KR102117028B1 (ko) * | 2014-10-07 | 2020-06-09 | 삼성전자주식회사 | 무선 통신 시스템에서 페어링 방법 및 장치 |
KR101928901B1 (ko) * | 2015-11-09 | 2018-12-13 | 주식회사 케이티 | 에이전트 앱을 이용하여 비콘 서비스를 제공하는 사용자 단말 및 시스템 |
US10427643B1 (en) * | 2018-07-13 | 2019-10-01 | Nxp B.V. | Defense against relay attack in passive keyless entry systems |
-
2020
- 2020-03-23 KR KR1020200035285A patent/KR20210118703A/ko active Search and Examination
-
2021
- 2021-01-22 EP EP21774863.1A patent/EP4123982A4/en active Pending
- 2021-01-22 WO PCT/KR2021/000896 patent/WO2021194076A1/ko unknown
-
2022
- 2022-09-23 US US17/951,802 patent/US20230015612A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4123982A1 (en) | 2023-01-25 |
EP4123982A4 (en) | 2023-03-22 |
US20230015612A1 (en) | 2023-01-19 |
WO2021194076A1 (ko) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210243603A1 (en) | Wireless network access method, apparatus, device, equipment and system | |
US10979901B2 (en) | Electronic device and method for processing data in electronic device | |
AU2016224183B2 (en) | Method and apparatus for providing card service using electronic device | |
EP3531659B1 (en) | Electronic device and method for sharing screen data | |
KR102657527B1 (ko) | 계정 관련 정보에 기반하여 장치를 설정하는 방법 및 그 전자 장치 | |
US9900917B2 (en) | Electronic device for performing a communication connection and method for establishing a communication connection | |
US10636234B2 (en) | Method for lock device control and electronic device thereof | |
KR20190099586A (ko) | 전자 장치, 전자 장치의 제어방법 및 서버 | |
CN107223327B (zh) | 采用对配置信息的基于级别的发送的方法和电子设备 | |
KR102206351B1 (ko) | 전자 장치 및 이의 작업 연계 방법 | |
KR20150138632A (ko) | 보안 기능을 제공하는 방법 및 장치 | |
KR102544488B1 (ko) | 인증을 수행하기 위한 전자 장치 및 방법 | |
US9614673B2 (en) | Method of managing keys and electronic device adapted to the same | |
US20200404003A1 (en) | Authentication for Key Access | |
US11888947B2 (en) | Electronic device and controlling method of electronic device | |
US11323880B2 (en) | Method for wireless connection and electronic device therefor | |
US20220377553A1 (en) | Electronic device and method for performing peer to peer service in electronic device | |
US20150121474A1 (en) | Processor security authentication area | |
US20230171010A1 (en) | Method and device for determining proximity of electronic device | |
US11304076B2 (en) | Electronic apparatus and method for controlling the electronic apparatus | |
CN115734267A (zh) | 基于连接触发的设备之间的连接会话 | |
EP4123982A1 (en) | Electronic device and electronic device control method | |
KR20160076565A (ko) | 전자 장치 간의 상호 작용을 위한 능동 알림 방법 및 이를 제공하는 전자 장치 | |
US11337073B2 (en) | Electronic apparatus and method of controlling thereof | |
US11727094B2 (en) | Mobile device, user authentication method and user authentication system of mobile device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |