KR20190092531A - 무선 통신 시스템을 통해 액추에이터를 제어하기 위한 장치들, 시스템, 및 방법들 - Google Patents

무선 통신 시스템을 통해 액추에이터를 제어하기 위한 장치들, 시스템, 및 방법들 Download PDF

Info

Publication number
KR20190092531A
KR20190092531A KR1020197020074A KR20197020074A KR20190092531A KR 20190092531 A KR20190092531 A KR 20190092531A KR 1020197020074 A KR1020197020074 A KR 1020197020074A KR 20197020074 A KR20197020074 A KR 20197020074A KR 20190092531 A KR20190092531 A KR 20190092531A
Authority
KR
South Korea
Prior art keywords
data packet
digest
user device
data
timestamp
Prior art date
Application number
KR1020197020074A
Other languages
English (en)
Inventor
로버트 제임스
Original Assignee
사로니코스 트레이딩 앤드 서비스즈, 유니페쏘알 엘디에이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 사로니코스 트레이딩 앤드 서비스즈, 유니페쏘알 엘디에이 filed Critical 사로니코스 트레이딩 앤드 서비스즈, 유니페쏘알 엘디에이
Publication of KR20190092531A publication Critical patent/KR20190092531A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

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

Abstract

본 발명은 사용자 장치(103), 베이스 장치(104), 및 데이터 패킷들을 교환하는 것을 통해 이러한 장치들(103, 104)을 인증하기 위한 방법에 관한 것이다. 사용자 장치(103)와 베이스 장치(104)는 페어링되고, 보안 알고리즘들 및 파라미터들의 세트를 공유하며, 챌린지-응답 인증 메커니즘에 기초하여 상호 인증을 수행한다. 보다 상세하게는, 챌린지 데이터 패킷들(200a 내지 200d) 각각은 인증 데이터(200a2, digest_a, digest_b, digest_c) 및 랜덤한 내용 및 랜덤한 길이를 가지는 적어도 2개의 랜덤한 시퀀스의 세트를 포함하며, 여기서 상기 랜덤한 시퀀스들은, 상기 적어도 하나의 데이터 패킷(200a 내지 200d)에, 상기 장치들(103, 104) 중 적어도 하나가 잘못 검출할 수 있는 상기 인증 데이터의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성된다.

Description

무선 통신 시스템을 통해 액추에이터를 제어하기 위한 장치들, 시스템, 및 방법들
본 발명은 통신 시스템을 통해 액추에이터를 원격으로 제어하기 위한 사용자 장치 및 베이스 장치에 관한 것이다. 게다가, 본 발명은 또한 데이터 패킷들을 교환하는 것을 통해 이러한 장치들을 인증하기 위한 방법에 관한 것이다.
많은 게이트들 및 차고들은 무선으로 제어되고, 많은 자동차들은 잠금되거나 잠금해제될 수 있으며 이들의 시동은 무선 키포브들(wireless keyfobs)로부터의 무선 파들(radio waves)을 통해 시작된다. 그 제어 시스템들에서, 키포브는 베이스 장치가 알고 있는 디지털 코드를 포함하는 신호를 방출한다. 베이스 장치는 그의 수신 범위 내에 있는 무선 신호들을 검출하고, 키포브의 디지털 코드를 운반하는 신호를 검출할 때, 관련 액추에이터를 활성화시키기 위해 적절한 커맨드를 송신한다.
그렇지만, 키포브에 의해 오버 디 에어로(over the air) 방출되는 신호들은 도청될 수 있고 키포브들을 가장(impersonate)하기 위한 많은 트릭들이 고안되었다. 공격자들은 키포브에 의해 방출되는 무선 신호를 레코딩하고 그 레코딩된 신호를 사용하여 문들을 열거나, 비밀 코드들을 복구하려고 시도할 수 있다.
해킹에 대한 보호책들을 개선시키기 위해 수많은 대응책들이 개발되었음에도 불구하고, 무선 제어 시스템들은, 베이스 장치가 동기화되는 의사랜덤한 시퀀스에 따라, 매 제어 커맨드가 발행된 후에 디지털 키의 코드가 변하는 소위 "롤링 코드들(rolling codes)"을 사용하는 시스템들의 경우에도, 취약점들을 여전히 가지고 있다.
점점 더 많은 사람들이 디지털 키들을 사용하고 있기 때문에, 현재의 해결책들의 단점들(downsides)을 극복하고, 특히 보안을 개선시킬 필요가 있다.
본 발명은 개선된 보안 레벨을 갖는 액추에이터를 원격으로 제어하기 위한 사용자 장치 및 베이스 장치에 의해 이들 및 다른 문제점들을 해결하는 것을 목적으로 하며; 특히, 이러한 장치들은 챌린지-응답 인증 메커니즘에 따라 데이터 패킷들을 교환하는 것을 통해 서로를 인증하기 위한 방법을 실행하도록 구성된다.
본 발명의 제1 일반 양태에 따르면, 베이스 장치와 통신하는 액추에이터를 원격으로 제어하기 위한 사용자 장치가 제안되고, 그로써 사용자 장치는 상기 사용자 장치를 식별해주는 적어도 하나의 아이덴티티 데이터를 포함하는 제1 데이터 패킷에 의해 상기 베이스 장치를 챌린징하도록 구성된 프로세싱 수단을 포함하며, 여기서 상기 사용자 장치는 상기 제1 데이터 패킷 내의 상이한 위치들에서 상기 적어도 하나의 아이덴터티 데이터를 방출하도록 구성된다. 추가로, 상기 사용자 장치는 포지셔닝 패턴에 의존하는, 특히 주기적, 비-주기적 또는 랜덤한 패턴에 의존하는 상기 아이덴티티 데이터를 배치하도록 구성된다.
본 발명의 추가의 유리한 양태와 관련하여, 사용자 장치는 랜덤한 내용을 갖는 그리고/또는 랜덤한 길이를 갖는 적어도 하나의 데이터 시퀀스를 상기 제1 데이터 패킷에 포함하도록 구성된다.
본 발명의 또 다른 유리한 양태에 따르면, 사용자 장치는 상기 적어도 하나의 아이덴터티 데이터의 위조 복제물(fake replica)을 방출하도록 구성된다.
그에 부가하여, 본 발명에 따른 사용자 장치는 랜덤한 내용을 갖는 그리고/또는 랜덤한 길이를 갖는 랜덤하게 생성된 데이터 시퀀스가 상기 베이스 장치가 잘못 검출할 수 있는 상기 적어도 하나의 아이덴터티 데이터의 위조 복제물을 상기 제1 데이터 패킷에 포함하거나 생성하는지를 검증하도록, 그리고 방출되고 있는 상기 랜덤하게 생성된 위조 복제물을 배제하도록 구성된다.
반복을 피하기 위해, 앞서 언급된 창의적이고 유리한 양태들 및 기술적 특징들이 사용자 장치에, 베이스 장치에, 시스템에 그리고 또한 대응하는 방법에 적용된다는 것이 명백하다.
본 발명에 따르면 사용자 장치와 베이스 장치는 적어도 하기의 단계들(phases)을 포함하는 상기 인증 방법을 실행함으로써 상호 인증을 수행한다:
- 데이터 패킷들 중 적어도 하나는 프로세싱 수단(바람직하게는 각각의 장치에 포함됨)에 의해 생성되고, 인증 데이터(예컨대, 식별 데이터, 메시지 다이제스트들(message digests), 또는 이와 유사한 것)를 포함하며, 상기 적어도 하나의 인증 데이터는 상기 제1 데이터 패킷 내의 상이한 위치들에 생성되고, 상기 상이한 위치들은 포지셔닝 패턴에 의존하며, 특히 주기적, 비-주기적 또는 랜덤한 패턴에 의존하는,패킷 생성 단계(packet generation phase), 대안의 부가 양태로서 적어도 하나의 데이터 패킷은 랜덤한 내용을 갖는 그리고/또는 랜덤한 길이를 갖는 적어도 하나의 데이터 시퀀스 및/또는 상기 인증 데이터로부터 고정 거리를 가지는 제1 타임스탬프를 포함한다.
- 상기 적어도 하나의 데이터 패킷은, 암호화된 데이터 패킷을 얻기 위해, (바람직하게는 각각의 장치에 포함된 메모리 수단에 포함되는) 암호화 키에 의해 암호화되는, 암호화 단계(encryption phase);
- 상기 암호화된 데이터 패킷은 상기 장치들 사이에서 (바람직하게는 각각의 장치에 포함되는) 통신 수단을 통해 교환되는, 방출 단계(emission phase).
이러한 방식으로, 패킷 내용을 모호하게 할 수 있는데, 그 이유는 상기 인증 데이터가 이미 알려진 경우에만 데이터의 내부 구조가 인식될 수 있기 때문이다. 이것은 종래 기술에 따른 해결책들보다 더 높은 보호 레벨을 누리는 원격 제어된 액추에이터를 작동시키는 것을 가능하게 한다.
보다 상세하게는, 데이터 패킷은 바람직하게는 데이터 패킷의 시작부분과 끝부분에 배치되는, 랜덤한 내용을 갖는 그리고 랜덤한 길이를 갖는 2개의 랜덤한 시퀀스를 포함할 수 있다.
게다가, 데이터 패킷은 비밀 타임스탬프 인코딩(secret timestamp encoding)으로 인코딩될 수 있는, 타임스탬프를 또한 포함할 수 있다.
이 시스템은 보안 위험들을 평가하고, 보안 알고리즘들 및 키들을 배포하며, 적절하다고 생각될 때 보안 요소들을 취소하거나 변경하도록 구성된, 보안 관리 서버를 또한 포함할 수 있다. 환언하면, 이 보안 관리 서버는 어느 사용자 장치들이 특정의 액추에이터를 활성화시킬 수 있는지를 정의하는 보안 정책들을 시행하도록 구성된다.
사용자가 요청을 입력할 때(예컨대, 문을 잠금해제할 때), 사용자 장치는 그 요청을 달성하기 위한 제어 세션을 열고, 적어도 사용자 장치의 (비밀) 식별 코드 및 앞서 언급된 바와 같은 랜덤한 내용 및 랜덤한 길이를 가지는 2개의 랜덤한 시퀀스를 포함하는 "요청 데이터 패킷"을 방출한다. 더욱이, 데이터 패킷은 사용자 요청 - 이것이 비밀 식별 코드에 암시되어 있지 않은 경우 -, 및 보안을 개선시키기 위한 타임스탬프를 포함할 수 있다. 이어서, 사용자 장치는 비밀 다이제스트 알고리즘을 사용하여 요청 데이터 패킷의 예상된 다이제스트를 계산하고, 비밀 암호 알고리즘을 사용하여 비밀 암호 키에 의해 데이터 패킷을 암호화하며, 암호화된 데이터 패킷을 오버 디 에어로 방출한다.
베이스 장치는 자신의 안테나에 의해 픽업되는 신호들을 계속 수신하고, 상기 비밀 알고리즘 및 비밀 키, 바람직하게는 사용자 장치에 의해 사용되는 비밀 키를 통해 이들을 복호화한다. 임의의 수신된 및 복호화된 신호를 사용하여, 베이스 장치는 사용자 장치의 비밀 식별 코드를 탐색하고, 처음 2개의 랜덤한 시퀀스를 포함하는 패킷 페이로드 중에서 그 식별 코드를 발견할 때, 미리 정의된 패킷 포맷에 따라, 그 데이터 패킷에 포함된 다른 정보 요소들을 검출하려고 시도한다.
다른 유리한 특징들은 이하에서 예시되며 첨부된 청구항들의 주제이다.
본 발명의 특징들은 본 명세서에 첨부된 청구항들에 구체적으로 기재되며; 그러한 특성들은 첨부된 도면에 도시된 바람직하고 비-배타적인 실시예에 대한 하기의 설명으로부터 보다 명확할 것이다:
도 1은 본 발명에 따른 장치들을 포함하는 원격 제어 시스템을 도시하고 있다;
도 2는 본 발명에 따른 사용자 장치와 베이스 장치 사이에서 교환되는 데이터 패킷들의 페이로드들의 예시적인 포맷들을 도시하고 있다;
도 3은 도 1의 사용자 장치에 의해 수행되는 절차의 플로차트를 도시하고 있다;
도 4는 도 1의 베이스 장치에 의해 수행되는 절차의 플로차트를 도시하고 있다.
이 설명에서, "실시예"에 대한 임의의 언급은 본 발명의 구현과 관련하여 설명된 특정의 구성, 구조 또는 특징이 적어도 하나의 실시예에 포함된다는 것을 나타낼 것이다. 따라서, 이 설명의 상이한 부분들에 존재할 수 있는, 문구 "실시예에서" 및 다른 유사한 문구들은 모두가 동일한 실시예에 반드시 관련되는 것은 아닐 것이다. 게다가, 임의의 특정의 구성, 구조 또는 특징은 어떻게든지 적절한 것으로 여겨지는 하나 이상의 실시예에서 결합될 수 있다. 따라서, 아래에서의 언급들은 간단함을 위해서만 사용되며, 다양한 실시예들의 보호 범주(scope) 또는 범위(extension)를 제한하지 않는다.
도 1에 도시된 예에 묘사된 바와 같이, 본 발명은 2개의 장치, 즉 사용자 장치(103) 및 베이스 장치(104)를 포함하는 시스템(100)에 기초한다. 양쪽 장치들은 페어링되고 서로 비밀 보안 파라미터들을 공유하며, 여기서 상기 비밀 보안 파라미터들은 적어도 사용자 장치의 아이덴티티, 암호화 알고리즘, 암호화 키, 타임스탬프 알고리즘, 및 다이제스트 알고리즘을 포함할 수 있다.
무선 트랜시버(117 및 118)("통신 수단"이라고도 지칭됨)에 의해 제각기, 사용자 장치(103) 및 베이스 장치(104)는 양방향 통신 시스템, 바람직하게는 무선 통신 시스템을 통해 챌린지-응답 인증 메커니즘에 따라 데이터 패킷들을 교환할 수 있다. 이 시스템은, Wi-Fi, 블루투스, NFC(Near-field communication), 또는 애드혹(ad-hoc) 무선 시스템들, 또는 다른 타입의 무선 시스템과 같은, 무선 시스템일 수 있지만, 적외선 시스템, 또는 초음파 파들을 사용하는 시스템, 또는 양방향 통신을 제공하기에 적당한 다른 타입의 전송 기술들을 사용하는 시스템일 수 있다.
모바일 인터페이스들(105 및 106)에 의해 제각기, 사용자 장치(103) 및 베이스 장치(104)는 보안 문제들의 관리를 위해 모바일 통신 네트워크(102)를 통해 보안 관리 서버(101)와 통신할 수 있다. 보안 관리 서버는 사용자 장치(103) 및 베이스 장치(104)로부터 운용 데이터를 수신하고, 보안 위험들을 평가하며, 보안 알고리즘들 및 파라미터들을 배포하고, 적절한 것으로 여겨질 때(예컨대, 미리 결정된 시간 기간 이후에, 보안 문제가 발생할 때, 또는 이와 유사한 것일 때) 이들을 취소하거나 대체한다. 보안 관리 서버는 인증 기관에 의해 서비스로서 제공될 수 있거나 개인 서버로서 구체화될 수 있다.
전형적으로, 사용자 장치(103)는 애드혹 애플리케이션이 그의 메모리에 로딩되어 있는, 즉 본 발명에 따른 방법의 단계들을 구현하는 명령어 세트를 갖는 스마트폰, 태블릿, 스마트 워치, 또는 다른 종류의 전자 디바이스이다. 대안적으로, 사용자 장치(103)는 키포브 또는 다른 형태의 (임베디드) 디바이스와 같은, 자립형 디바이스(self-standing device)로서 구체화된다.
베이스 장치(104)는 일반적으로 자신이 제어해야 하는 액추에이터의 종류에 따라 애드혹 디바이스로 구체화되지만, 다수의 다양한 액추에이터 타입들을 제어하는 데 적당한 범용 제어기 디바이스로서 또한 구체화될 수 있다.
이 시스템의 바람직한 실시예에서, 사용자 장치(103) 및 베이스 장치(104) 둘 다는 다음과 같은 부분들을 포함한다:
- 관리 서버(101)와 통신하기 위한 모바일 인터페이스(105, 106);
- 장치들의 다른 요소들에 대한 타이밍 신호들을 생성하고 타임스탬프들을 생성하기 위한 클록(107, 108);
- 데이터 패킷들을 작성하고, 디지털 스트림들을 암호화하고 복호화하며, 디지털 시퀀스들에서 코드워드들을 탐색하고, 본 발명에 따라 수행되는 절차들을 관리하기 위한 프로세싱 수단(109, 110), 즉 프로세싱 수단(109, 110) 각각은 제각기 챌린지-응답 인증 메커니즘에 따라 다른 장치를 인증하도록 구성된다;
- 일반 데이터를 저장하고, 비밀 데이터 및 알고리즘들을, 바람직하게는 보안 영역(113, 114)에, 저장하기 위한 메모리 수단(111, 112);
- 사용자로부터의 입력들을 수신하고 정보(예컨대, 사용자에 대한 오디오, 시각적, 또는 문자 메시지들)를 출력하며, 베이스 장치의 경우에, 액추에이터들에 대한 제어 신호들을 출력하기 위한 입/출력 수단(115 및 116);
- 신호들을 방출하고 수신하며 데이터 패킷들을 운반하기 위한 통신 수단(117 및 118), 바람직하게는 적절한 안테나들을 갖는 무선 트랜시버.
보다 상세하게는, 베이스 장치(104)의 메모리 수단(112)은 적어도 암호화 키 및 어느 사용자 장치들이 상기 적어도 하나의 액추에이터를 활성화시키도록 허용되는지를 정의하는 인가 정보를 포함하는 반면, 사용자 장치(103)의 메모리 수단(111)은 추가의 암호화 키를 포함한다. 대칭 암호화/복호화 알고리즘이 사용되는 경우에, 추가의 암호화 키는 베이스 장치(104)의 메모리 수단(112)에 포함된 키와 동일할 수 있고; 그렇지 않고, 비대칭 암호화/복호화 알고리즘이 채택되면, 추가의 암호화 키는 베이스 장치(104)에 의해 사용되는 키와 상이할 수 있다.
그 각자의 트랜시버들(117, 118)에 의해, 사용자 장치(103) 및 베이스 장치(104)는 바람직하게는 또한 도 2를 참조하여 이제부터 설명되는, 4 가지 타입의 데이터 패킷들을 방출하거나 수신한다. 간결함을 위해, 패킷 헤더들 및 패킷 트레일러들은, 본 발명의 범주를 벗어나기 때문에, 이하에서 고려되지 않으며, 통상의 기술자가 알고 있는 정규 타입(regular type)으로 되어 있을 수 있다. 따라서, 설명된 패킷들 및 이들의 포맷에 대한 임의의 언급은, 명시적으로 언급되지 않더라도, 패킹된 페이로드(packed payload)에만 관련되어야 한다.
요청 데이터 패킷(200a)의 페이로드는 바람직하게는 베이스 장치에 의해 식별되어야 하는 사용자 장치의 아이덴티티(200a2), 인코딩된 timestamp_a(200a5), 및 바람직하게는 패킷의 시작부분(랜덤한 헤더(random header) 200al) 및 끝부분(랜덤한 끝부분(random end)(200a6))에 배치되는 2개의 랜덤한 시퀀스의 제1 세트를 포함한다. 이들은 랜덤한 내용 및 랜덤한 길이를 가지며, 통상의 기술자에게 널리 공지된 기술들에 따라 프로세싱 수단(109)에 의해 생성된다. 본 발명의 바람직한 실시예에서, 랜덤한 헤더(200a1)의 길이("LHa"라고도 지칭됨)는 0 내지 최대 LaMax의 범위에 있는 난수이고, 랜덤한 끝부분(200a6)의 길이는 LEa = LaMax - LHa이며, 따라서 처음 2개의 랜덤한 시퀀스의 총 길이는 고정 값 LaMax이다. 요청 데이터 패킷(200a)의 다른 요소들이 고정 길이를 갖는다면, 요청 데이터 패킷(200a)의 총 길이는 고정되어 있다. 하기의 설명으로부터, 데이터 패킷들의 랜덤한 헤더 및 랜덤한 끝부분 둘 다가, 각각이 그 자신의 최솟값 및 최댓값 사이로 제한되는, 독립적인 랜덤한 길이들을 가질 수 있음이 명백할 것이지만, 통상의 기술자는 고정 길이의 데이터 패킷들의 경우 수신이 보다 간단한 반면, 페이로드 내에서의 식별자의 위치의 랜덤성이 2개의 랜덤한 시퀀스의 상보적 랜덤성(complementary randomness)에 의해 보존될 수 있음을 이해한다. 이와 유사하게, 제2 패킷(200b)의 2개의 랜덤한 시퀀스의 총 길이는 고정 값 LbMax로 설정될 수 있고, 제3 패킷(200c)의 2개의 랜덤한 시퀀스의 총 길이는 고정 값 LcMax로 설정될 수 있으며, 제4 패킷(200d)의 2개의 랜덤한 시퀀스는 고정 값 LdMax로 설정될 수 있다. 4개의 값 LaMax, LbMax, LcMax, 및 LdMax 중 일부, 또는 이들 전부는 동일할 수 있다.
통상의 기술자가, 본 발명의 교시내용을 벗어나지 않고, 패킷의 다른 위치들(즉, 요청 데이터 패킷(200a)의 시작부분에 그리고 끝부분에 반드시 있는 것은 아님)에 상기 2개의 랜덤한 시퀀스를 배치할 수 있음이 입증되었다.
도 2는 사용자 장치(103)가 사용자 요청을 달성하기 위한 절차의 시작에서 방출하는 "요청 데이터 패킷"(200a)의 예시적인 포맷을 도시하고 있다. 나중에 더 잘 설명될 것인 바와 같이, 이 패킷은 필요한 정보를 베이스 장치에 전달하고 베이스 장치의 인증을 위해 베이스 장치를 챌린징하는 역할을 한다.
랜덤한 헤더(200a1) 및 랜덤한 끝부분(200a6)의 랜덤성 내용(randomness content)으로 인해, 요청 데이터 패킷(103)에서 사용자 장치의 아이덴티티(200a2)에 대응하는 하나 초과의 스트링을 발견할 수 있는 일이 발생할 수 있으며; 따라서 어떤 제약조건이 랜덤한 시퀀스들에 부과되어야 한다. 본 발명의 바람직한 실시예에서, 베이스 장치가 요청 데이터 패킷(200a)의 시작부분으로부터 시작하여 식별 요소들(사용자 장치의 아이덴티티(200a2), 또는, 다른 경우들에서, 나중에 설명되는 바와 같이, 예상된 다이제스트)을 탐색할 것임을 고려하면, 베이스 장치(104)가 탐색할 사용자 장치의 아이덴티티 데이터(200a2)에 대응하는 스트링을, 포함된 상기 식별자까지의 후속 스트링들과 조합하여 포함하거나 생성하는 것들을 배제해야 한다. 다른 탐색 전략들이 적용되면, 통상의 기술자는, 본 발명의 교시내용들을 벗어나지 않고, 식별자들의 잘못된 검출들(fallacious detections)을 피하는 방식을 발견할 수 있을 것이다. 일반적인 규칙으로서, 식별자를 탐색하기 위해 수신 당사자에 의해 사용되는 방식을 고려하여, 상기 랜덤한 시퀀스들은 이들이 있는 데이터 패킷에서, 수신 당사자가 잘못 검출할 수 있는 송신 당사자의 식별자의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성되어야 한다.
통상의 기술자는, 기본적인 발명 착상으로부터 벗어나지 않고, 2개 초과의 시퀀스를 포함하는 랜덤한 시퀀스들의 세트를 이용할 수 있다는 것을 또한 이해하며, 따라서 이하에서, 임의의 "2개의 랜덤한 시퀀스들의 세트"는, 비록 명시적으로 언급되지 않더라도, 상기 특성들을 갖는 "적어도 2개의 랜덤한 시퀀스들의 세트"로서 간주되어야 한다.
사용자 장치가 상이한 종류의 사용자 요청들(예컨대, "문 잠금", "문 잠금해제", "트렁크 열기", "경보 해제(disarm alarm)" 등)을 관리하도록 구성되면, 본 발명의 바람직한 실시예에서, 요청 데이터 패킷(200a)은 요청된 액션을 식별해주는 코드(200a3)를 포함한다. 도 2에서, 사용자 장치 아이덴티티(200a2)와 사용자 요청 코드(200a3) 사이의 경계는, 본 발명에 따르면, 아이덴티티 요소(200a2)가 사용자 요청을 또한 포함할 수 있음을 나타내기 위해 파선으로 되어 있다. 그 경우에, 사용자 장치(103)는 자신이 관리할 수 있는 각각의 타입의 사용자 요청에 대한 아이덴티티 코드(200a2)를 가질 것이다. 이것은 부가의 복잡성을 대가로 시스템 보안을 향상시킬 것이다. 실제로, 베이스 장치(104)는, 수신된 데이터 패킷들에서, (사용자 장치(103)를 식별해주는 코드(200a2)만을 탐색하는 대신에) 사용자 장치가 관리하는 모든 아이덴티티 코드들을 탐색하고, 이어서 그에 뒤따르는 사용자 요청 코드(200a3)를 검출해야만 할 것이다.
도 2는 베이스 장치(104)가 요청 데이터 패킷(200a)을 검출할 때 베이스 장치(104)가 방출하는 "응답 데이터 패킷"(200b)의 예시적인 페이로드를 또한 도시하고 있다.
요청 데이터 패킷(200a)과 유사한 방식으로, 응답 데이터 패킷(200b)은, 그 자신의 랜덤한 내용 및 랜덤한 길이를 갖는, 2개의 랜덤한 시퀀스, 즉 랜덤한 헤더(200b1) 및 랜덤한 끝부분(200b6)의 제2 세트를 포함한다. 이들에 대해, 랜덤한 헤더(200a1) 및 랜덤한 끝부분(200a6)과 관련하여 제각기 이미 언급된 것이 적용된다. 응답 데이터 패킷(200b)은 사용자 장치 아이덴티티(200a2) 대신에 필드 "digest_a"(200b2)가 존재하는 것에 대해서만 요청 데이터 패킷(200a)과 상이하다.
"digest_a"(200b2)는 베이스 장치(104)가 사용자 장치(103)에 의해 사용되는 상기 비밀 인증 알고리즘을 사용하여 계산하고 사용자 장치(103)가 베이스 장치(104)를 인증하기 위해 다시 수신할 것으로 예상하는 수신된 데이터 패킷의 다이제스트이다. "digest_a"(200b2)는 또한 베이스 장치(104)에 의해 방출되는 응답 데이터 패킷을 식별해주는 역할을 하며, 시스템(100)에 대한 공격을 수행할 가능성을 감소시키도록, 베이스 장치(104)의 비밀 아이덴티티를 송신하는 것을 회피한다. 더욱이, 응답 데이터 패킷(200b)은, 인코딩된 timestamp_a와 유사한, 인코딩된 timestamp_b(200b5)를 포함한다.
두 번째 2개의 랜덤한 시퀀스 및 digest_a(200b2)는 응답 데이터 패킷(200b)의 요소들이다. 이들 이외에, 본 발명의 일부 실시예들에서, 상기 응답 데이터 패킷(200b)은 인코딩된 timestamp_b(200b5) 및/또는 패킷 인덱스(200b3) 및/또는 후속 데이터 패킷들에 대해 사용될 보안 세트를 식별해주기 위한 정보 필드(200b4)를 또한 포함할 수 있다. 이 요소들은 이 설명의 이하에서 더 잘 설명될 것이다.
도 2는 사용자 장치(103)가 응답 데이터 패킷(200b)을 검출할 때 사용자 장치(103)가 방출하는 "확인 데이터 패킷"(200c)의 예시적인 페이로드를 또한 도시하고 있다.
확인 데이터 패킷(200c)은 사용자 요청(200a3)을 확인하고 베이스 장치(104)가 사용자 장치(103)를 인증할 수 있게 해주기 위해 사용자 장치(103)에 의해 송신된다.
확인 데이터 패킷(200c)은 다음과 같은 요소들: 랜덤한 내용 및 랜덤한 길이를 갖는 2개의 랜덤한 시퀀스의 제3 세트, "digest_b", 및 (임의로) 인코딩된 timestamp_c를 포함한다. 사용자 장치(103)는 자신의 방출된 응답 데이터 패킷(200b)의 다이제스트를 계산하기 위해 베이스 장치(104)에 의해 사용된 것과 동일한 비밀 다이제스트 알고리즘을 사용하여 수신된 응답 데이터 패킷(200b)에 대한 digest_b를 계산한다. digest_b는 사용자 장치(103)를 인증할 것으로 베이스 장치(104)에 의해 예상되고 또한 사용자 장치(103)를 식별해주는 역할을 하며, 따라서 비밀 사용자 장치 아이덴티티(200a2)를 두 번 송신할 필요성을 회피한다. 이것은 시스템(100)에 대한 공격을 수행하는 가능성을 감소시킨다.
도 2는 본 발명의 일부 실시예들에서, 베이스 장치(104)가 확인 데이터 패킷(200c)을 검출할 때 베이스 장치(104)가 임의로 방출하는 "확인응답 데이터 패킷"(200d)의 예시적인 페이로드를 또한 도시하고 있다. 이 데이터 패킷은 사용자에 의해 요청된 액션의 완료를 확인응답하기 위한 것이다. digest_c는 또한 베이스 장치(104)의 식별자로서 역할한다.
도 2에 도시된 데이터 패킷 포맷들이 사용자 장치(103) 및 베이스 장치(104)가 상호 인증을 수행할 수 있게 해준다는 것이 입증된다. 게다가, 오버 디 에어로 방출되는 데이터 패킷들 중 어느 것도 베이스 장치(104)의 임의의 아이덴티티를 포함하지 않는 반면, 요청 데이터 패킷(200a)만이 (암호화된 포맷으로) 사용자 장치(103)의 아이덴티티를 포함한다.
도 2 및 도 3을 또한 참조하면, 동작 상태에 있는 본 발명에 따른 시스템(100)이 이제부터 설명될 것이다.
도 3의 플로차트에 도시된, 사용자 장치(103)에 의해 수행되는 절차, 및 도 4의 플로차트에 도시된, 베이스 장치(104)에 의해 수행되는 절차가 아래에서 설명될 것이다. 이 2개의 절차는 인터레이싱되어 있으며, 따라서 결과적인 프로세스는 이들 사이에서 왔다갔다 한다.
간결함을 위해, 명시적으로 언급되지 않았더라도, 데이터 패킷들 전부가 앞서 명시된 기준들 및 규칙들에 따라 생성된 적어도 2개의 랜덤한 시퀀스의 세트를 포함한다고 가정되어야 한다.
2개의 절차의 시작들(301(도 3) 및 401(도 4)) 이후에, 이들의 조합으로부터 결과하는 프로세스는 아래에 열거된 주요 단계들을 포함한다.
302 사용자 장치(103)의 사용자로부터 입력을 수신하기 위한 사용자 장치(103)의 준비 상태(도 3).
402 신호를 수신하기 위한 베이스 장치(104)의 준비 상태(도 4).
303 사용자 입력(도 3): 사용자는, 전형적으로 버튼 상에서의 푸시(push) 또는 태핑(tap)에 의해 또는 음성 커맨드에 의해 또는 다른 입력 기술들의 수단에 의해, 액션을 요청한다.
304 제1 패킷 생성: 사용자 장치(103)는, 프로세싱 수단_U(109)에 의해, 하기의 단계들에 의해, 베이스 장치(104)에 대한 챌린지로서 또한 역할하는 요청 데이터 패킷(200a)(도 2)을 생성한다:
- 앞서 명시된 규칙들 및 기준들에 따라 2개의 랜덤한 시퀀스의 제1 세트를 생성하는 단계;
- 메모리 수단(111)으로부터 사용자 아이덴티티(200a2)를 얻는 단계;
- 클록_U(107)에 의해 표시되는 현재 시간을 (임의로) 얻고 이를 타임스탬프 알고리즘을 사용하여 인코딩하여, 코딩된 timestamp_a(200a5)를 획득하는 단계;
- 필요한 경우 사용자 요청(200a3)의 코드를 얻는 단계;
- 필요한 경우 패킷 인덱스(200a4)를 생성하는 단계;
- 앞서 언급된 및 다른 가능한 요소들을 포함하는 데이터 패킷(200a)을 패킹하는 단계.
이어서, 프로세싱 수단_U(109) 및 다이제스트 알고리즘에 의해, 사용자 장치(103)는 그 패킷의 예상된 다이제스트(digest_a)를 계산하고 이를 메모리 수단_U(111)에 저장한다. 본 발명의 바람직한 실시예에서, 예상된 digest_a는 패킷의 전체 페이로드(full payload)에 대해 계산되고; 다른 실시예들에서, 계산은 패킷의 선택된 부분들에 대해, 예컨대, 데이터 패킷(200a)(도 2)의 "랜덤한 헤더" 및 "랜덤한 끝부분"을 조인시키는 것에 의해 획득되는 시퀀스, 또는 이와 유사한 것에 대해 수행될 수 있다.
305 "요청 데이터 패킷"의 방출: 사용자 장치(103)는 그의 무선 트랜시버(117)(도 1)를 통해 요청 데이터 패킷(200a)을 암호화하고 방출하며; 암호화는 메모리 수단_U(111)에 저장된 상기 비밀 알고리즘 및 상기 비밀 키를 사용하여 프로세싱 수단_U(109)에 의해 수행된다.
306 timeout_a의 설정: 사용자 장치(103)는 timeout_a가 만료될 때 응답을 기다리는 것을 중지하기 위해 timeout_a를 설정하고; 응답이 수신되기 전에 timeout_a가 만료되면, 프로세스는 단계(317)로 계속된다.
403 베이스 장치에 의한 신호의 수신(도 4): 베이스 장치(104)는 데이터 패킷을 운반하는 신호를 자신의 트랜시버_C(118)에 의해 수신하고, 메모리 수단(112)에 저장된 상기 암호화 알고리즘 및 암호화 키에 따라, 수신된 신호를 프로세싱 수단_C(110)에 의해 복호화한다.
404 사용자 장치 아이덴티티 및 timestamp_a의 검출: 베이스 장치(104)는 수신된 데이터 패킷이 어쩌면 포함하는 사용자 장치 아이덴티티(200a2)를 탐색하며; 탐색 및 검출이 성공적이지 않으면, 프로세스는 단계(403)로 되돌아가고 베이스 장치(104)는 자신의 안테나에 의해 픽업되는 신호들을 계속 수신한다. 그렇지 않으면, 베이스 장치(104)는 임의로 패킷의 다른 정보 요소들을 추출하려고 시도하고, 프로세싱 수단_C(110)에 의해 그리고 메모리 수단_C(112)에 저장된 타임스탬프 알고리즘에 따라 복호화된 데이터 패킷과 함께 수신되는 인코딩된 timestamp_a를 디코딩한다. 이어서, 베이스 장치(104)는 클록_C(108)에 의해 표시되는 현재 시간을 얻고 이 현재 시간과 수신된 타임스탬프가 일치(consistent)하는지를 체크한다. 일치 기준(consistency criterion)의 일 예는 하기의 식을 충족시키는 것이다:
[수학식 1]
DaMin < 현재 타임스탬프 - 수신된 타임스탬프 < DaMax
여기서 DaMinDaMax는, 제각기, 수신된 신호에 대해 허용되는 최소 및 최대 지연이다.
베이스 장치(104)는, 자신의 클록(108) 및 프로세싱 수단_C(110)에 의해, 데이터 패킷(200a)의 도달 시간과 수신된 timestamp_a 사이의 차이를 평가하고, 상기 차이가 한 수치 구간을 벗어나 있는지를 체크한다.
DaMin은 사용자 장치의 클록_U(107)와 베이스 장치의 클록_C(108) 사이의 가능한 오정렬들을 고려하기 위해 음수 값들을 취할 수 있다.
405 timestamp_a 일치에 대한 결정: 단계(404)에서 계산된 차이가 상기 수치 구간을 벗어나 있으면, 프로세스는 준비 상태(402)로 되돌아가고, 그렇지 않으면 사용자 장치(103)가 수신된 패킷을 방출했다고 가정되며 프로세스는 단계(406)로 계속된다.
406 "응답 데이터 패킷"의 방출: 프로세싱 수단(110)에 의해, 베이스 장치(104)는 예상된 digest_a를 계산하기 위해 사용자 장치(103)에 의해 사용된 것들과 동일한 규칙들 및 알고리즘들을 사용하여 수신된 데이터 패킷의 응답 digest_a를 계산하고(단계(304) 참조), 단계(304)에서 설명된 것과 유사한 방식으로, 베이스 장치(104)는 베이스 장치(104)의 식별자로서 또한 사용되는 상기 응답 digest_a(200b2), 및 앞서 명시된 규칙들 및 기준들에 따라 생성된 2개의 랜덤한 시퀀스의 제2 세트를 포함하는 사용자 장치(103)에 대한 챌린지로서 또한 역할하는 응답 데이터 패킷(200b)을 생성한다. 임의로, 응답 데이터 패킷(200b)은 클록_C(108)에 의해 표시되는 현재 시간을, 바람직하게는 타임스탬프 알고리즘에 의해, 인코딩함으로써 획득되는 timestamp_b를 또한 포함할 수 있다.
이어서, 베이스 장치(104)는 응답 데이터 패킷(200b)을 암호화하고 방출하며, 자신의 예상된 digest_b를 계산하고, 예상된 digest_b를 메모리 수단_C(112)에 저장한다.
407 timeout_b의 설정: 베이스 장치(104)는 timeout_b가 만료될 때 확인 응답(confirmation response)을 기다리는 것을 중지하기 위해 timeout_b를 설정할 수 있고; 확인 데이터 패킷(200_c)이 수신되기 전에 timeout_b가 만료되면, 프로세스는 단계(415)로 계속된다.
307 사용자 장치에 의한 응답 데이터 패킷의 수신(도 3): 사용자 장치(103)는 자신의 트랜시버(117)에 의해 데이터 패킷(200b)을 운반하는 신호를 수신하고 수신된 신호를 처리 수단(109)에 의해, 보안 구역_C(113)에 저장된 상기 암호화 알고리즘 및 암호화 키에 따라, 복호화한다.
308 digest_a 및 timestamp_b의 검출: 사용자 장치(103)는 수신된 데이터 패킷이 어쩌면 포함하는 digest_a를 탐색하고; 탐색이 성공적이지 않으면, 프로세스는 단계(307)로 되돌아가며 사용자 장치(103)는 신호들을 계속 수신한다. 그렇지 않으면, 사용자 장치(103)는 패킷의 다른 정보 요소들을 추출하려고 시도하고, 프로세싱 수단_U(109)에 의해 그리고 보안 구역_C(113)에 저장된 상기 타임스탬프 알고리즘에 따라 복호화된 데이터 패킷과 함께 수신되는 인코딩된 timestamp_b를 디코딩한다. 이어서, 단계(404)와 유사하게, 사용자 장치(103)는, 자신의 클록(107) 및 프로세싱 수단_U(109)에 의해, 데이터 패킷(200b)의 도달 시간과 수신된 timestamp_b 사이의 차이를 평가하고, 상기 차이가 한 수치 구간을 벗어나 있는지를 체크한다.
이 수치 구간은 상이한 데이터 패킷들에 대해 상이할 수 있는데, 그 이유는 시스템의 장치들이 상이한 프로세싱 능력을 가질 수 있고, 반대편 전송 링크들(opposite transmission links)이 상이한 특성들을 가질 수 있으며, 상이한 데이터 패킷들에 대해 상이한 허용오차들(tolerances)이 허용될 수 있기 때문이다.
309 timestamp_b 일치에 대한 결정: 단계(308)에서 계산된 차이가 상기 수치 구간을 벗어나 있으면, 프로세스는 단계(307)로 되돌아가고, 그렇지 않으면 수신된 데이터 패킷이 베이스 장치(104)에 의해 방출되었다고 가정되며 따라서 베이스 장치(104)를 인증하고, 프로세스는 단계(310)로 계속된다.
310 timeout_a의 리셋: 베이스 장치(104)가 인증될 때, 사용자 장치(103)는 timeout_a를 리셋한다.
311 확인 데이터 패킷의 방출: 단계들(304 및 406)에서 설명된 것들과 유사한 방식으로, 사용자 장치(103)는 베이스 장치(104)가 예상하는 수신된 데이터 패킷의 응답 digest_b를 계산하고, 사용자 아이덴티티(200a2) 대신에 사용자 장치(103)의 식별자로서 또한 사용되는 상기 응답 digest_b, 자신의 클록_U(107)에 의해 표시되는 현재 시간을 인코딩함으로써 획득되는 timestamp_c, 및 앞서 명시된 규칙들 및 기준들에 따른 2개의 랜덤한 시퀀스의 제3 세트를 포함하는 확인 데이터 패킷(200c)을 생성한다. 이어서, 사용자 장치(103)는 요청 데이터 패킷(200a)과 함께 송신되는 사용자 요청이 충족되어야만 한다는 것을 확인하기 위해 확인 데이터 패킷을 암호화하여 방출한다. 최종적으로, 사용자 장치(103)는 확인 데이터 패킷의 예상된 digest_c를 계산하고 이를 메모리 수단_U(111)에 저장한다.
312 Timeout_c: 사용자 장치(103)는 timeout_c가 만료할 때 확인응답을 기다리는 것을 중지하기 위해 timeout_c를 설정한다; 확인응답 데이터 패킷(200_c)이 수신되기 전에 timeout_c가 만료되면, 프로세스는 단계(317)로 계속된다.
408 확인 데이터 패킷의 수신(도 4): 단계(403)에서 설명된 것과 유사한 방식으로, 베이스 장치(104)는 바람직하게는 자신의 트랜시버(118) 및 프로세싱 수단(110)에 의해, 제각기, 신호를 수신하고 복호화한다.
409 digest_b 및 timestamp_c의 검출: 단계(404)에서 설명된 것과 유사한 방식으로, 베이스 장치(104)는 수신된 데이터 패킷이 어쩌면 포함하는 digest_b를 탐색한다. 탐색이 성공적이지 않으면, 프로세스는 단계(408)로 되돌아가고, 그렇지 않으면 베이스 장치(104)는 패킷의 다른 정보 요소들을 추출하려고 시도하며 복호화된 데이터 패킷과 함께 수신되는 인코딩된 timestamp_c를 디코딩한다. 이어서, 베이스 장치(104)는, 자신의 클록(108) 및 프로세싱 수단_C(110)에 의해, 데이터 패킷(200c)의 도달 시간과 수신된 timestamp_c 사이의 차이를 평가하고, 상기 차이가 한 수치 구간을 벗어나 있는지를 체크한다.
410 timestamp_c 일치에 대한 결정: 409에서 계산된 차이가 상기 수치 구간을 벗어나 있으면, 프로세스는 단계(408)로 되돌아가고, 그렇지 않으면 수신된 데이터 패킷이 사용자 장치(103)에 의해 방출되었다고 가정되며 따라서 사용자 장치(103)를 인증하고, 프로세스는 단계(411)로 계속된다.
411 timeout_b의 리셋: 이 단계에서, 사용자 장치(103)는 인증된 것으로 간주되며, 따라서 베이스 장치(104)는 timeout_b를 리셋하고, 프로세스는 단계(412)로 계속된다.
412 액추에이터로 출력: 베이스 장치(104)는 사용자 요청을 충족시키기 위해, I/O 수단_C(116)에 의해, 적절한 신호를 관련 액추에이터에게 송신한다.
413 액추에이터 피드백: 베이스 장치(104)는 바람직하게는 사용자 요청의 완수에 관한 피드백을 관련 액추에이터로부터 수신한다.
414 확인응답 데이터 패킷의 방출: 단계(406)에서 설명된 것과 유사한 방식으로, 베이스 장치(104)는 수신된 데이터 패킷의 응답 digest_c를 계산하고, 베이스 장치(104)의 식별자로서 또한 사용되는 응답 digest_c 및 앞서 명시된 규칙들 및 기준들에 따른 2개의 랜덤한 시퀀스의 제4 세트를 포함하는 확인응답 데이터 패킷(200d)을 생성한다. 임의로, 확인응답 데이터 패킷(200d)은 베이스 장치(104)의 클록_C(108)에 의해 표시되는 현재 시간을 인코딩함으로써 획득되는 timestamp_d를 또한 포함할 수 있다. 이어서, 베이스 장치(104)는 사용자 요청의 완수 시에 긍정 또는 부정 확인응답을 제공하기 위해 확인응답 데이터 패킷을 암호화하고 방출한다.
확인응답 데이터 패킷(200d)의 방출은 임의적이다. 그렇지만, 사용자가 특정의 구역(예컨대, 차고, 집, 사무실, 또는 이와 유사한 것)의 보안을 보장하기 위해 적절히 완수되어야 하는 커맨드(예컨대, "문 닫기")의 실행에 대한 피드백을 수신하는 것이 유용할 수 있다.
415 프로세스 데이터의 저장: 베이스 장치(104)는 공격 시도들의 분석 및 식별을 가능하게 해주고 위험들을 평가하기 위해, 수행되는 프로세스에 관련된 데이터를 저장한다.
416 프로세스에 관한 정보: 베이스 장치(104)는 자신의 입/출력 수단(116)(도 1)을 통해 프로세스에 관한 정보를 출력한다.
417 베이스 장치(104)의 준비 상태.
313 사용자 장치에 의한 확인응답 데이터 패킷의 수신(도 3): 단계(307)에서 설명된 것과 유사한 방식으로, 사용자 장치(103)는 자신의 무선 트랜시버(117) 및 프로세싱 수단(109)에 의해 무선 신호를 수신하고 복호화한다.
314 digest_c 및 timestamp_d의 검출: 단계(308)에서 설명된 것과 유사한 방식으로, 사용자 장치(103)는 수신된 데이터 패킷이 어쩌면 포함하는 digest_c를 탐색한다. 탐색이 성공적이지 않으면, 프로세스는 단계(313)로 되돌아가고, 그렇지 않으면 사용자 장치(103)는 패킷의 다른 정보 요소들을 추출하려고 시도하며 복호화된 데이터 패킷과 함께 수신되는 인코딩된 timestamp_d를 디코딩한다. 이어서, 사용자 장치(103)는 임의로, 자신의 클록_U(107) 및 프로세싱 수단_C(109)에 의해, 데이터 패킷(200d)의 도달 시간과 수신된 timestamp_d 사이의 차이를 평가하고, 상기 차이가 한 수치 구간을 벗어나 있는지를 체크한다.
315 timestamp_d 일치에 대한 결정: 단계(314)에서 계산된 차이가 상기 수치 구간을 벗어나 있으면, 프로세스는 단계(313)로 되돌아가고, 그렇지 않으면 수신된 데이터 패킷이 베이스 장치(104)에 의해 방출되었다고 가정되며 프로세스는 단계(316)로 계속된다.
316 timeout_c의 리셋: 수신된 데이터 패킷이 베이스 장치(104)에 의해 방출되었다는 결정 이후에, 사용자 장치(103)는 timeout_c를 리셋한다.
317 프로세스 데이터의 저장: 사용자 장치(103)는 공격 시도들의 분석 및 식별과 위험들의 평가를 가능하게 해주기 위한 프로세스에 관련된 데이터를 저장한다.
318 프로세스에 관한 정보: 사용자 장치(103)는 자신의 입/출력 수단(115)(도 1)을 통해 프로세스에 관한 정보(예컨대, 로깅 정보, 통지 메시지들, 또는 이와 유사한 것)를 출력한다.
319 사용자 장치(103)의 준비 상태.
이러한 방식으로, 시스템(100)의 보안 레벨이 그 결과 더욱 향상된다.
이전에 이미 언급된 바와 같이, 장치들(103, 104) 각각은 본 발명에 따른 인증 방법을 실행하도록 구성된다. 이 방법은 하기의 단계들을 포함한다:
- 상기 데이터 패킷들(200a 내지 200d) 중 적어도 하나는 프로세싱 수단(109, 110)에 의해 생성되고, 인증 데이터(즉, 식별 데이터(200a2) 및/또는 다이제스트들(200b2, 200c2, 200d2)와 랜덤한 내용 및 랜덤한 길이를 가지는 적어도 2개의 랜덤한 시퀀스의 세트를 포함하며, 상기 랜덤한 시퀀스들은, 상기 적어도 하나의 데이터 패킷(200a 내지 200d)에, 상기 장치들(103, 104) 중 적어도 하나가 잘못 검출할 수 있는 상기 인증 데이터의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성되는, 패킷 생성 단계,
- 암호화된 데이터 패킷을 얻기 위해, 상기 적어도 하나의 데이터 패킷(200a 내지 200d)은 암호화 키에 의해 암호화되는, 암호화 단계,
- 상기 암호화된 데이터 패킷은 상기 장치들(103, 104) 사이의 통신 수단(117, 118)을 통해 교환되는, 방출 단계.
임의적 타임스탬프들 및 타임아웃들과 함께, 랜덤한 길이를 갖는 랜덤한 시퀀스들에 의해 장치 식별자들의 위치를 랜덤화하는 것은 공격들이 "무차별(brute force)" 또는 "포착된 신호들의 재사용(reuse of captured signals)", 또는 "중간자(man in the middle)" 타입인 경우들에서조차도 해킹/크래킹 공격들에 대한 보안을 크게 향상시킨다.
본 발명의 바람직한 실시예에서, 앞서 명시된 것에 부가하여, 사용자 장치(103) 및 베이스 장치(104)는, 제각기, 모바일 인터페이스들(105 및 106)에 의해, 모바일 통신 네트워크(102)를 통해, 시스템(100)에 포함되는 보안 관리 서버(101)(도 1)와 통신할 수 있다. 그들은, 위치측정(localization) 수단을 갖추고 있다면 바람직하게는 위치측정 데이터를 포함한, 수행된 프로세스들에 관한 정보 및 데이터를, 보안 서버(101)에게, 송신하고, 그들은, 서버로부터, 보안 파라미터들의 업데이트들을 수신하며; 보다 상세하게는; 보안 관리 서버(101)는 적어도 어느 사용자 장치들이 특정의 액추에이터를 활성화시킬 수 있는지를 정의하는 보안 정책들을 시행하도록 구성된다.
수신된 데이터를 사용하여, 보안 관리 서버(101)는 해킹 위험들을 평가하고 이들에 대응하기 위해 적당한 조치들을 취한다. 이것은 본 발명의 시스템의 보안을 크게 개선시킨다.
특히, 사용자 장치(103)의 프로세싱 수단(109)은 다음과 같은 정보 중 하나 이상을 보안 관리 서버(101)에게 전송하도록 또한 구성될 수 있다:
- 사용자가 어느 액추에이터를 제어하기를 원하는지 및 상기 사용자 장치(103)의 현재 아이덴티티 데이터를 명시하는 제어 요청;
- 사용자에 의해 요청된 액션들의 결과에 관한 정보;
- 베이스 장치(104)로부터 수신된 정보;
- 보안 위협들(예컨대, 실패한 인증 시도들 또는 이와 유사한 것의 리스트)을 검출하는 데 관련될 수 있는 수신된 이상 데이터 패킷들에 관한 정보.
다른 한편으로, 사용자 장치(103)의 프로세싱 수단(109)은, 상기 액추에이터를 제어하기 위해, 보안 방식으로 베이스 장치(104)와 통신하기 위한 암호화 키를, 상기 통신 인터페이스(105)를 통해, 수신하도록 또한 구성될 수 있다.
이와 유사하게, 베이스 장치(104)의 프로세싱 수단(110)은, 액추에이터의 (보안) 제어를 가능하게 해주기 위해, 상기 사용자 장치(103)를 식별해주는 아이덴티티 데이터 및 보안 방식으로 상기 사용자 장치(103)와 통신하기 위한 적어도 하나의 암호화 키를, 상기 통신 인터페이스(106)를 통해, 보안 관리 서버(101)로부터 수신하도록 또한 구성될 수 있다.
다른 한편으로, 베이스 장치(104)의 프로세싱 수단(110)은, 액추에이터에 의해 수행되는 액션들 및 보안 위협들을 검출하는 데 관련될 수 있는 수신된 이상 데이터 패킷들(200a, 200c)에 관한 정보를, 상기 모바일 인터페이스(106)를 통해, 보안 관리 서버(101)에게 전송하도록 또한 구성될 수 있다.
반대편에서, 보안 관리 서버(101)는 다음과 같은 액션들을 수행하도록 구성될 수 있다:
- 사용자 장치(103)로부터 상기 제어 요청을 수신하는 것;
- 상기 사용자 장치(103)가 아이덴티티 데이터 및 보안 정책들에 기초하여 상기 액추에이터를 활성화시킬 수 있는지를 결정하는 것;
- 상기 사용자 장치(103)가 상기 액추에이터를 활성화시키도록 허용되면, 상기 암호화 키 및 상기 사용자 장치(103)를 식별해주는 상기 아이덴티티 데이터를 상기 사용자 장치(103) 및 상기 베이스 장치(104) 둘 다에게 전송하는 것.
대안적으로 또는 앞서 설명된 특징들과 조합하여, 보안 관리 서버(101)는 다음과 같은 액션들을 수행하도록 또한 구성될 수 있다:
- 베이스 장치(104)로부터 보안에 관련된 데이터를 수신하는 것;
- 어느 사용자 장치들이 상기 적어도 하나의 액추에이터를 활성화시키도록 허용되는지를 정의하는 인가 정보(authorization information)를 상기 베이스 장치(104)에게 송신하는 것, 여기서 상기 베이스 장치(104)는 제1 데이터 패킷(200a)에서 수신된 식별 데이터(identification data)가 상기 인가 정보에 포함되면 상기 입/출력 수단(116)에 의해 상기 적어도 하나의 액추에이터를 활성화시키도록 구성된다.
이러한 방식으로, 시스템(100)의 보안 레벨이 그 결과 더욱 향상된다.
바람직한 실시예의 일 변형에서, 통상의 기술자가 알고 있는 바와 같이, 데이터 패킷들은 장치들이 현재 제어 세션 및 제어 세션들의 시퀀스와 관련하여 수신된 데이터 패킷들의 일관성을 체크할 수 있게 해주기 위한 패킷 인덱스를 포함한다.
본 발명의 다른 실시예에서, 보안 요소들(알고리즘들, 키들, 파라미터들)은 매 새로운 세션마다 또는 심지어 세션 내에서 변할 수 있다. 이러한 변화의 일 예는 패킷 포맷(200b)(도 2)에서 예견되며, 여기서 정보 요소(200b4)는 다음 데이터 패킷으로부터 또는 다음 제어 세션으로부터 사용될 보안 세트의 아이디(identification)를 담고 있다.
본 발명에 따른 방법은, 사용자가 유리하게도 주머니들 또는 지갑들에 넣어 휴대할 디바이스들의 개수를 감소시킬 수 있도록, (통상적으로 이동 중에 휴대될 수 있는) 휴대용 디바이스들에 설치될 수 있는 소프트웨어 애플리케이션으로서 구현될 수 있다.
본 설명은 가능한 변형들 중 일부를 다루었지만, 일부 요소들이 다른 기술적으로 등가인 요소들로 대체될 수 있는 다른 실시예들이 또한 구현될 수 있음이 본 기술분야의 통상의 기술자에게 명백할 것이다. 따라서, 본 발명은 본 명세서에 설명된 설명적 예들로 제한되지 않고, 하기의 청구항들에 기재된 바와 같은, 기본적인 발명 착상으로부터 벗어남이 없이 등가의 부분들 및 요소들의 많은 수정들, 개선들 또는 대체들을 거칠 수 있다.

Claims (15)

  1. 베이스 장치(104)와 통신하는 액추에이터를 원격으로 제어하기 위한 사용자 장치(103)로서,
    상기 베이스 장치(104)와 통신하기 위한 통신 수단(117),
    적어도 암호화 키를 포함하는 메모리 수단(111),
    상기 메모리 수단(111) 및 상기 통신 수단(117)과 통신하며, 챌린지-응답 인증 메커니즘에 따라 상기 베이스 장치(104)를 인증하도록 구성된 프로세싱 수단(109)
    을 포함하며,
    상기 프로세싱 수단(109)은, 상기 암호화 키를 통해 암호화되고 이어서 상기 통신 수단(117)을 통해 방출되는, 제1 데이터 패킷(200a)에 의해 상기 베이스 장치(104)를 챌린징(challenging)하도록 구성되며,
    상기 제1 데이터 패킷(200a)은 상기 사용자 장치(103)를 식별해주는 적어도 하나의 아이덴티티 데이터(identity data)를 포함하고,
    상기 사용자 장치(103)는 상기 제1 데이터 패킷(200a) 내의 상이한 위치들에서 상기 적어도 하나의 아이덴터티 데이터를 방출하도록 구성되며,
    상기 상이한 위치들은 포지셔닝 패턴에 의존하며, 특히 주기적, 비-주기적 또는 랜덤한 패턴에 의존하는 것을 특징으로 하는, 사용자 장치(103).
  2. 제1항에 있어서,
    상기 사용자 장치는 랜덤한 내용을 갖는 그리고/또는 랜덤한 길이를 갖는 적어도 하나의 데이터 시퀀스를 상기 제1 데이터 패킷에 포함하도록 구성되고, 그리고/또는,
    상기 사용자 장치는 상기 적어도 하나의 아이덴터티 데이터의 위조 복제물(fake replica)을 방출하도록 구성되며, 그리고/또는,
    상기 사용자 장치는 랜덤한 내용을 갖는 그리고/또는 랜덤한 길이를 갖는 랜덤하게 생성된 데이터 시퀀스가 상기 베이스 장치(104)가 잘못 검출할 수 있는 상기 적어도 하나의 아이덴터티 데이터의 위조 복제물을 상기 제1 데이터 패킷에 포함하거나 생성하는지를 검증하도록, 그리고 방출되고 있는 상기 랜덤하게 생성된 위조 복제물을 배제하도록 구성되며, 그리고/또는,
    상기 프로세싱 수단(109)은,
    상기 제1 데이터 패킷(200a)에 기초하여 예상된 제1 다이제스트(digest)를 생성하고,
    상기 제1 데이터 패킷(200a)에 응답하여 상기 베이스 장치(104)로부터 생성될 수 있는 암호화된 제2 데이터 패킷을, 상기 통신 수단(117)을 통해, 수신하며,
    적어도 수신된 제1 다이제스트(digest_a)와 랜덤한 내용 및 랜덤한 길이를 가지는 적어도 2개의 랜덤한 시퀀스의 제2 세트를 포함하는 상기 제2 데이터 패킷(200b)을 얻기 위해, 암호화된 제2 데이터 패킷을 상기 암호화 키에 의해 복호화하고 - 상기 랜덤한 시퀀스들은, 상기 제2 데이터 패킷(200b)에, 상기 사용자 장치(103)가 잘못 검출할 수 있는 상기 수신된 제1 다이제스트(digest_a)의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성됨 -,
    상기 제2 데이터 패킷(200b)에서 상기 예상된 제1 다이제스트를 탐색하며,
    상기 제2 데이터 패킷(200b)이 상기 예상된 제1 다이제스트를 포함하면, 상기 제2 데이터 패킷(200b)에 응답하여 제3 데이터 패킷(200c)을 생성하고 - 상기 제3 데이터 패킷(200c)은 적어도,
    Figure pct00001
    상기 제2 데이터 패킷(200b)에 기초하여 생성된 응답 제2 다이제스트(digest_b), 및
    Figure pct00002
    랜덤한 내용 및 랜덤한 길이를 가지는 적어도 2 개의 랜덤한 시퀀스의 제3 세트를 포함하고, 상기 랜덤한 시퀀스들은, 상기 제3 데이터 패킷(200c)에, 상기 베이스 장치(104)가 잘못 검출할 수 있는 상기 응답 제2 다이제스트(digest_b)의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성됨 -,
    암호화된 제3 데이터 패킷을 얻기 위해, 상기 제3 데이터 패킷(200c)을 상기 암호화 키에 의해 암호화하며,
    상기 베이스 장치(104)가 상기 암호화된 제3 데이터 패킷을 수신할 수 있도록, 상기 암호화된 제3 데이터 패킷을, 상기 통신 수단(117)을 통해, 방출하고, 상기 아이덴티티 데이터 및 상기 응답 제2 다이제스트(digest_b)에 기초하여 상기 액추에이터가 활성화되어야 하는지를 결정하도록 또한 구성되며, 그리고/또는
    상기 사용자 장치는 클록(107)을 포함하고,
    상기 프로세싱 수단(109)은 제1 타임스탬프(timestamp_a) 및 제3 타임스탬프(timestamp_c)를, 상기 클록(107)에 의해, 생성하도록 또한 구성되고,
    상기 제1 데이터 패킷(200a)은 상기 아이덴티티 데이터로부터 제1 고정 거리에 배치된 상기 제1 타임스탬프(timestamp_a)를 또한 포함하며,
    상기 제3 데이터 패킷(200c)은 상기 제2 다이제스트(digest_b)로부터 제3 고정 거리에 배치된 상기 제3 타임스탬프(timestamp_c)를 또한 포함하는 것을 특징으로 하는, 사용자 장치(103).
  3. 제1항 및 제2항 중 어느 한 항에 있어서,
    상기 제2 데이터 패킷(200b)은 제2 타임스탬프(timestamp_b)를 또한 포함하고,
    상기 프로세싱 수단(109)은,
    상기 제2 데이터 패킷(200b)의 도달 시간(time of arrival)과 상기 제2 타임스탬프(timestamp_b) 사이의 차이를, 상기 클록(107) 및 상기 프로세싱 수단(109)에 의해, 평가하고,
    상기 차이가 한 수치 구간(numerical interval)을 벗어나 있으면 상기 제3 데이터 패킷(200c)의 상기 방출을 정지시키도록 또한 구성된 것인, 사용자 장치(103).
  4. 제2항 또는 제3항에 있어서,
    상기 액추에이터를 활성화시키려고 시도한 결과를 출력하기 위한 입/출력 수단(115)
    을 포함하고,
    상기 프로세싱 수단(109)은,
    상기 제3 데이터 패킷(200c)에 기초하여 예상된 제2 다이제스트를 생성하고,
    상기 베이스 장치(104)로부터 암호화된 제4 데이터 패킷을, 상기 통신 수단(117)을 통해, 수신하며,
    응답 제2 다이제스트(digest_b)와 랜덤한 내용 및 랜덤한 길이를 가지는 2개의 랜덤한 시퀀스의 제4 세트를 포함하는 제4 데이터 패킷(200d)을 얻기 위해, 상기 암호화된 제4 데이터 패킷을 상기 암호화 키에 의해 복호화하고 - 상기 랜덤한 시퀀스들은, 상기 제4 데이터 패킷(200d)에, 상기 사용자 장치(103)가 잘못 검출할 수 있는 상기 응답 제2 다이제스트(digest_b)의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성됨 -,
    상기 예상된 제2 다이제스트와 상기 응답 제2 다이제스트(digest_b)가 동일한 경우에만 상기 액추에이터의 성공적인 활성화를, 상기 입/출력 수단(115)을 통해, 확인하도록 또한 구성된 것인, 사용자 장치(103).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    통신 네트워크(102)를 통해 보안 관리 서버(101)에 접속하기 위한 통신 인터페이스(105)
    를 포함하고,
    상기 프로세싱 수단(109)은,
    상기 사용자가 제어하기를 원하는 상기 액추에이터를 제어하기 위한 허가(permission)를 얻기 위한 요청, 및 상기 사용자 장치(103)가 이용해야 하는 상기 아이덴티티 데이터를, 상기 통신 인터페이스(105)에 의해, 전송하고,
    상기 액추에이터를 제어하기 위해, 보안 방식으로 상기 베이스 장치(104)와 통신하기 위한 상기 적어도 하나의 암호화 키를, 상기 통신 인터페이스를 통해, 수신하도록 또한 구성된 것인, 사용자 장치(103).
  6. 제5항에 있어서,
    상기 프로세싱 수단(109)은,
    상기 통신 수단(117)을 통해 수신된 이상 데이터 패킷들(anomalous data packets)(200b, 200d)을 검출하고,
    상기 이상 데이터 패킷들(200b, 200d)에 관한 정보를, 상기 통신 인터페이스(105)에 의해, 전송하도록 또한 구성된 것인, 사용자 장치(103).
  7. 제4항 내지 제6항 중 어느 한 항에 있어서,
    상기 프로세싱 수단(109)은, 상기 제4 데이터 패킷(200_d)에 의해 운반되는 정보를, 상기 통신 인터페이스(105)에 의해, 전송하도록 또한 구성된 것인, 사용자 장치(103).
  8. 적어도 하나의 액추에이터를 제어하기 위한 베이스 장치(104)로서,
    상기 사용자 장치(103)와 통신하기 위한 통신 수단(118),
    상기 적어도 하나의 액추에이터와 통신할 수 있는 입/출력 수단(116),
    적어도 암호화 키를 포함하는 메모리 수단(112),
    상기 메모리 수단(116), 상기 입/출력 수단(116), 및 상기 통신 수단(118)과 통신하며, 챌린지-응답 인증 메커니즘에 따라 상기 사용자 장치(103)를 인증하도록 구성된 프로세싱 수단(110)
    을 포함하며,
    상기 프로세싱 수단(110)은,
    암호화된 제1 데이터 패킷(200a)을 상기 통신 수단(118)을 통해 수신하고,
    상기 암호화된 제1 데이터 패킷(200a)을 상기 암호화 키에 의해 복호화하며,
    적어도 상기 제1 데이터 패킷(200a)에 기초하여 상기 사용자 장치(103)를 인증하고,
    상기 인증이 성공하면 상기 입/출력 수단(116)에 의해 상기 적어도 하나의 액추에이터를 활성화시키도록 구성되며,
    상기 제1 데이터 패킷(200a)은 상기 사용자 장치(103)를 식별해주는 적어도 하나의 아이덴티티 데이터를 포함하고,
    상기 베이스 장치는 상기 제1 데이터 패킷(200a) 내의 상이한 위치들에서 상기 적어도 하나의 아이덴터티 데이터를 검출하도록 구성되며,
    상기 상이한 위치들은 포지셔닝 패턴에 의존하며, 특히 주기적, 비-주기적 또는 랜덤한 패턴에 의존하는 것을 특징으로 하는, 베이스 장치(104).
  9. 제8항에 있어서,
    상기 베이스 장치는 상기 제1 데이터 패킷 내의 랜덤한 내용을 갖는 그리고/또는 랜덤한 길이를 갖는 적어도 하나의 포함된 데이터 시퀀스를 프로세싱하도록 구성되고, 그리고/또는 상기 베이스 장치는 상기 적어도 하나의 아이덴티티 데이터의 적어도 하나의 위조 복제물을 인식하도록 구성되며, 그리고/또는,
    상기 프로세싱 수단(110)은, 상기 암호화 키를 통해 암호화되고 이어서 상기 통신 수단(118)을 통해 방출되는, 제2 데이터 패킷(200b)을 통해 상기 제1 데이터 패킷(200a)에 응답하는 것에 의해 상기 사용자 장치(103)를 인증하도록 구성되고,
    상기 제2 데이터 패킷(200b)은 적어도,
    상기 프로세싱 수단(110)에 의해 계산된, 상기 제1 데이터 패킷(200a)의 제1 응답 다이제스트(digest_a), 및
    랜덤한 내용 및 랜덤한 길이를 가지는 적어도 2개의 랜덤한 시퀀스의 제2 세트를 포함하며,
    상기 랜덤한 시퀀스들은, 상기 방출된 제2 데이터 패킷(200b)에, 상기 사용자 장치(103)가 잘못 검출할 수 있는 상기 응답 다이제스트의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성되며,
    상기 프로세싱 수단(110)은,
    상기 제2 데이터 패킷(200b)에 기초하여 예상된 제2 다이제스트를 생성하는 것,
    상기 사용자 장치(103)로부터 암호화된 제3 데이터 패킷을, 상기 통신 수단(118)을 통해, 수신하는 것,
    적어도 수신된 제2 다이제스트(digest_b)와 랜덤한 내용 및 랜덤한 길이를 가지는 적어도 2개의 랜덤한 시퀀스의 제3 세트를 포함하는 상기 제3 데이터 패킷(200c)을 얻기 위해, 상기 암호화된 제3 데이터 패킷을 상기 암호화 키에 의해 복호화하는 것 - 상기 랜덤한 시퀀스들은, 상기 제3 데이터 패킷(200c)에, 상기 베이스 장치(104)가 잘못 검출할 수 있는 상기 제2 다이제스트(digest_b)의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성됨 -,
    상기 제3 데이터 패킷(200c)에서 상기 예상된 제2 다이제스트(digest_b)를 탐색하는 것,
    상기 제3 데이터 패킷(200c)이 상기 예상된 제2 다이제스트를 포함하면 상기 사용자 장치(103)를 인증하는 것에 의해 상기 사용자 장치(103)를 인증하도록 구성되고, 그리고/또는,
    상기 프로세싱 수단(110)은,
    상기 제3 데이터 패킷(200c)에 기초하여 응답 제3 다이제스트(digest_c)를 생성하고,
    적어도 상기 응답 제3 다이제스트(digest_c)와 랜덤한 내용 및 랜덤한 길이를 가지는 적어도 2개의 랜덤한 시퀀스의 제4 세트를 포함하는 제4 데이터 패킷(200d)을 생성하며 - 상기 랜덤한 시퀀스들은, 상기 제4 데이터 패킷(200d)에, 상기 사용자 장치(103)가 잘못 검출할 수 있는 상기 응답 제3 다이제스트(digest_c)의 적어도 하나의 위조 복제물을 생성하는 것들을 제외하고 생성됨 -,
    암호화된 제4 데이터 패킷을 얻기 위해, 상기 제4 데이터 패킷(200d)을 상기 암호화 키에 의해 암호화하고,
    상기 사용자 장치(103)가 상기 암호화된 제4 데이터 패킷을 수신할 수 있도록, 상기 암호화된 제4 데이터 패킷을, 상기 통신 수단(118)을 통해, 방출하도록 구성된 것인, 베이스 장치(104).
  10. 제8항 및 제9항 중 어느 한 항에 있어서,
    클록(108)
    을 포함하며,
    상기 프로세싱 수단(110)은, 제2 타임스탬프(timestamp_b) 및 제4 타임스탬프(timestamp_d)를, 상기 클록(108)에 의해, 생성하도록 또한 구성되고,
    상기 제2 데이터 패킷(200b)은 상기 응답 제1 다이제스트(digest_a)로부터 제2 고정 거리에 배치된 상기 제2 타임스탬프(timestamp_b)를 또한 포함하며,
    상기 제4 데이터 패킷(200d)은 상기 응답 제3 다이제스트(digest_c)로부터 제4 고정 거리에 배치된 상기 제4 타임스탬프(timestamp_d)를 또한 포함한 것인, 베이스 장치(104).
  11. 제10항에 있어서,
    상기 제1 데이터 패킷(200a)은 제1 타임스탬프(timestamp_a)를 또한 포함하고,
    상기 프로세싱 수단(110)은,
    상기 제1 데이터 패킷(200a)과 상기 제1 타임스탬프(timestamp_a)의 도달 시간 사이의 차이를, 상기 클록(108) 및 상기 프로세싱 수단(110)에 의해, 평가하고, 상기 차이가 한 수치 구간을 벗어나 있으면 상기 제2 데이터 패킷(200b)의 상기 방출을 중지하도록 또한 구성되며, 그리고/또는
    상기 제3 데이터 패킷(200a)은 제3 타임스탬프(timestamp_c)를 또한 포함하고,
    상기 프로세싱 수단(110)은,
    상기 제3 데이터 패킷(200c)과 상기 제3 타임스탬프(timestamp_c)의 도달 시간 사이의 차이를, 상기 클록(108) 및 상기 프로세싱 수단(110)에 의해, 평가하고, 상기 차이가 한 수치 구간을 벗어나 있으면 상기 적어도 하나의 액추에이터의 상기 활성화를 중지하도록 또한 구성된 것인, 베이스 장치(104).
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    통신 네트워크(102)를 통해 보안 관리 서버(101)에 접속하기 위한 통신 인터페이스(106)
    를 포함하고,
    상기 프로세싱 수단(110)은,
    상기 액추에이터의 상기 제어를 가능하게 해주기 위해, 상기 사용자 장치(103)를 식별해주는 아이덴티티 데이터, 및 보안 방식으로 상기 사용자 장치(103)와 통신하기 위한 상기 적어도 하나의 암호화 키를, 상기 통신 인터페이스를 통해, 수신하도록 또한 구성되며,
    상기 프로세싱 수단(110)은,
    상기 통신 수단을 통해 수신된 이상 데이터 패킷들을 검출하고,
    상기 이상 데이터 패킷들(200a, 200c)에 관한 정보를, 상기 통신 인터페이스(106)를 통해, 전송하도록 또한 구성되고, 그리고/또는
    상기 프로세싱 수단(110)은,
    상기 액추에이터에 의해 수행되는 액션들에 관한 정보를, 상기 통신 인터페이스(106)를 통해, 전송하도록 또한 구성된 것인, 베이스 장치(104).
  13. 액추에이터를 원격으로 제어하기 위한 시스템으로서,
    제1항 내지 제7항 중 어느 한 항에 따른 사용자 장치(103), 및
    제8항 내지 제12항 중 어느 한 항에 따른 베이스 장치(104), 및
    적어도 어느 사용자 장치들이 상기 액추에이터를 활성화시킬 수 있는지를 정의하는 보안 정책들을 시행하기 위한 보안 관리 서버(101)
    를 포함하고,
    상기 보안 관리 서버(101)는,
    상기 사용자 장치(103) 및 상기 베이스 장치(104)와 통신하며,
    상기 사용자 장치(103)로부터 상기 제어 요청을 수신하고,
    상기 사용자 장치(103)가 상기 아이덴티티 데이터 및 상기 보안 정책들에 기초하여 상기 액추에이터를 활성화시킬 수 있는지를 결정하며,
    상기 사용자 장치(103)가 상기 액추에이터를 활성화시키도록 허용되면, 상기 암호화 키 및 상기 사용자 장치(103)를 식별해주는 상기 아이덴티티 데이터를 상기 사용자 장치(103) 및 상기 베이스 장치(104) 둘 다에게 전송하고,
    어느 사용자 장치들이 상기 적어도 하나의 액추에이터를 활성화시키도록 허용되는지를 정의하는 인가 정보(authorization information)를 상기 베이스 장치(104)에게 송신하도록 구성되며, 상기 베이스 장치(104)는 상기 제1 데이터 패킷(200a)에서 수신된 상기 식별 데이터(identification data)가 상기 인가 정보에 포함되면 상기 입/출력 수단(116)에 의해 상기 적어도 하나의 액추에이터를 활성화시키도록 구성된 것인, 시스템.
  14. 데이터 패킷들(200a, 200b, 200c, 200d)을 교환하는 것을 통해 2개의 장치(103, 104)를 인증하기 위한 방법으로서,
    상기 데이터 패킷들(200a, 200b, 200c, 200d) 중 적어도 하나는 프로세싱 수단(109, 110)에 의해 생성되고, 적어도 하나의 인증 데이터(200a2, digest_a, digest_b, digest_c)를 포함하며, 상기 적어도 하나의 인증 데이터는 상기 제1 데이터 패킷(200a, 200b, 200c, 200d) 내의 상이한 위치들에 생성되며, 상기 상이한 위치들은 포지셔닝 패턴에 의존하며, 특히 주기적, 비-주기적 또는 랜덤한 패턴에 의존하는, 패킷 생성 단계(packet generation phase),
    암호화된 데이터 패킷을 얻기 위해, 상기 적어도 하나의 데이터 패킷(200a, 200b, 200c, 200d)은 암호화 키에 의해 암호화되는, 암호화 단계(encryption phase),
    상기 암호화된 데이터 패킷은 상기 장치들(103, 104) 사이의 통신 수단(117, 118)을 통해 교환되고 그리고/또는 상기 적어도 하나의 데이터 패킷은 랜덤한 내용을 갖는 그리고/또는 랜덤한 길이를 갖는 적어도 하나의 데이터 시퀀스 및/또는 상기 인증 데이터(200a2, digest_a, digest_b, digest_c)로부터 고정 거리를 가지는 제1 타임스탬프(timestamp_a)를 포함하는, 방출 단계(emission phase)
    를 포함하는, 데이터 패킷들(200a, 200b, 200c, 200d)을 교환하는 것을 통해 2개의 장치(103, 104)를 인증하기 위한 방법.
  15. 전자 장치의 메모리에, 특히 스마트 폰, 태블릿 PC, 스마트 워치에 로딩될 수 있고 제14항에 따른 방법의 단계들을 실행하기 위한 소프트웨어 코드의 부분들을 포함하는 컴퓨터 프로그램 제품.
KR1020197020074A 2016-12-15 2016-12-15 무선 통신 시스템을 통해 액추에이터를 제어하기 위한 장치들, 시스템, 및 방법들 KR20190092531A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/057686 WO2018109530A1 (en) 2016-12-15 2016-12-15 Apparatuses, system, and methods for controlling an actuator through a wireless communications system

Publications (1)

Publication Number Publication Date
KR20190092531A true KR20190092531A (ko) 2019-08-07

Family

ID=57614418

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197020074A KR20190092531A (ko) 2016-12-15 2016-12-15 무선 통신 시스템을 통해 액추에이터를 제어하기 위한 장치들, 시스템, 및 방법들

Country Status (6)

Country Link
US (1) US10965463B2 (ko)
EP (1) EP3556051B1 (ko)
JP (1) JP7141723B2 (ko)
KR (1) KR20190092531A (ko)
CN (1) CN110089073B (ko)
WO (1) WO2018109530A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11522919B2 (en) * 2019-01-31 2022-12-06 Medtronic, Inc. Establishing a secure communication link
CN112460813A (zh) * 2020-10-29 2021-03-09 华帝股份有限公司 一种用于燃气热水器无线远程遥控的控制方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420925A (en) 1994-03-03 1995-05-30 Lectron Products, Inc. Rolling code encryption process for remote keyless entry system
US20020002675A1 (en) 1997-08-06 2002-01-03 Ronald Roscoe Bush Secure encryption of data packets for transmission over unsecured networks
US6189096B1 (en) * 1998-05-06 2001-02-13 Kyberpass Corporation User authentification using a virtual private key
US7251730B2 (en) 2001-12-21 2007-07-31 Qualcomm Incorporated Method and apparatus for simplified audio authentication
US20060064587A1 (en) * 2004-09-20 2006-03-23 David Braverman User activated authentication system
JP2006117086A (ja) * 2004-10-21 2006-05-11 Matsushita Electric Ind Co Ltd 車両用盗難防止装置
EP2051151B1 (en) * 2007-10-15 2011-06-29 Saab Ab Method and apparatus for generating at least one voted flight trajectory of a vehicle
US8621598B2 (en) * 2008-03-12 2013-12-31 Intuit Inc. Method and apparatus for securely invoking a rest API
US8274365B2 (en) 2008-04-14 2012-09-25 The Eastern Company Smart lock system
CN101764693B (zh) * 2009-12-24 2013-01-30 福建星网锐捷网络有限公司 认证方法、系统、客户端和网络设备
DE102012005427A1 (de) * 2012-03-16 2013-09-19 Giesecke & Devrient Gmbh Verfahren und System zur gesicherten Kommunikation zwischen einen RFID-Tag und einem Lesegerät
US9537663B2 (en) * 2012-06-20 2017-01-03 Alcatel Lucent Manipulation and restoration of authentication challenge parameters in network authentication procedures
US9147119B2 (en) * 2012-12-14 2015-09-29 Intel Corporation System, device, and method for detecting and locating wanted vehicles
CN103795541B (zh) * 2013-12-13 2017-03-22 国网上海市电力公司 一种230m无线专网信道用电信息采集系统的安全通信方法
US9875589B1 (en) * 2016-09-28 2018-01-23 Ford Global Technologies, Llc Vehicle access authentication

Also Published As

Publication number Publication date
CN110089073B (zh) 2023-04-04
US10965463B2 (en) 2021-03-30
US20200099526A1 (en) 2020-03-26
EP3556051A1 (en) 2019-10-23
JP7141723B2 (ja) 2022-09-26
JP2020502924A (ja) 2020-01-23
CN110089073A (zh) 2019-08-02
EP3556051B1 (en) 2024-03-27
WO2018109530A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
JP7467702B2 (ja) アクセス制御のためのシステム、方法及び装置
US20160277933A1 (en) Secure Data Communication system between IoT smart devices and a Network gateway under Internet of Thing environment
US20180130273A1 (en) Methods and systems for operating door locks using mobile devices
US20220368542A1 (en) Key fob authentication, retention, and revocation
US20020197979A1 (en) Authentication system for mobile entities
US20190385392A1 (en) Digital door lock having unique master key and method of operating the digital door
JP2011511350A (ja) アクセス制御の管理方法および装置
US20180288092A1 (en) Protection from relay attacks in wireless communication systems
JP6441615B2 (ja) 電子キーシステム
KR101675332B1 (ko) 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템
KR101284155B1 (ko) 일회용 패스워드(otp)를 이용한 rfid 인증 처리방법
KR101677249B1 (ko) 사용자 토큰을 이용하여 사물 인터넷 장치를 제어하기 위한 보안 처리 장치 및 방법
KR20120072032A (ko) 모바일 단말의 상호인증 시스템 및 상호인증 방법
US10805276B2 (en) Device and methods for safe control of vehicle equipment secured by encrypted channel
WO2020188679A1 (ja) 通信システム
JP7141723B2 (ja) 無線通信システムを介してアクチュエータを制御するための装置、システムおよび方法
Mayrhofer et al. Security by spatial reference: Using relative positioning to authenticate devices for spontaneous interaction
KR101692161B1 (ko) 비콘 발신기와 일회성 패스워드를 이용한 인증 시스템 및 인증 방법
US20190379655A1 (en) Data communication system
Mayrhofer et al. Spontaneous mobile device authentication based on sensor data
KR102052518B1 (ko) 사용자 인증 방법 및 인증 판단기
KR101490638B1 (ko) 스마트 카드 인증 방법, 이를 실행하는 서버 및 이를 실행하는 시스템
JP6883087B2 (ja) サーバと通信するトランスポンダをセキュリティ保護されるように認証する方法およびトランスポンダ
JP2008217497A (ja) 無線通信システム通信装置および無線通信方法
EP3592055B1 (en) Methods for securely validating localization of a wireless communication device, and related devices

Legal Events

Date Code Title Description
E902 Notification of reason for refusal