KR20000068050A - 안전 자기 러닝 시스템 - Google Patents

안전 자기 러닝 시스템 Download PDF

Info

Publication number
KR20000068050A
KR20000068050A KR1019997000936A KR19997000936A KR20000068050A KR 20000068050 A KR20000068050 A KR 20000068050A KR 1019997000936 A KR1019997000936 A KR 1019997000936A KR 19997000936 A KR19997000936 A KR 19997000936A KR 20000068050 A KR20000068050 A KR 20000068050A
Authority
KR
South Korea
Prior art keywords
decoder
encoder
key
code
information
Prior art date
Application number
KR1019997000936A
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 KR20000068050A publication Critical patent/KR20000068050A/ko

Links

Classifications

    • 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/00182Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with unidirectional data transmission between data carrier and locks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • 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/00817Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
    • 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/00857Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the data carrier can be programmed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/00182Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with unidirectional data transmission between data carrier and locks
    • G07C2009/0023Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with unidirectional data transmission between data carrier and locks with encription of the transmittted data signal
    • 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/00182Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with unidirectional data transmission between data carrier and locks
    • G07C2009/00238Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with unidirectional data transmission between data carrier and locks the transmittted data signal containing a code which is changed
    • G07C2009/00253Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with unidirectional data transmission between data carrier and locks the transmittted data signal containing a code which is changed dynamically, e.g. variable code - rolling code
    • 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
    • G07C2009/00753Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys
    • G07C2009/00769Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys with data transmission performed by wireless means
    • 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/00896Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys specially adapted for particular uses
    • G07C2009/00928Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys specially adapted for particular uses for garage doors
    • 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
    • G07C2209/00Indexing scheme relating to groups G07C9/00 - G07C9/38
    • G07C2209/06Involving synchronization or resynchronization between transmitter and receiver; reordering of codes
    • 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/34Encoding or coding, e.g. Huffman coding or error correction
    • 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
    • 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/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Selective Calling Equipment (AREA)
  • Facsimiles In General (AREA)

Abstract

안전한 자기 런 능력을 갖는 장치의 원격 제어 방법 및 시스템이 개시된다. 이 시스템은 엔코더 및 디코더를 포함하는데, 엔코더는 디코더로 전송될 엔코드 값을 생성하기 위하여 비선형 알고리즘을 이용하여 사용자 키를 포함하는 가변성 정보를 엔코딩하며, 디코더는 동일한 알고리즘을 이용하여 상기 값을 디코딩한다. 러닝 모드에서는, 새로운 엔코더가 시스템에 추가된다. 새로운 엔코더는 키 발생 씨드를 이용하여 엔코드 값을 생성한다. 엔코드된 키 발생 씨드를 수신하게 되면 디코드는 디코드된 키 발생 씨드를 기반으로 하여 디코딩 키를 생성한다. 디코딩 키는, 안전한 방법으로 새로운 엔코더의 유효 확인을 하면서, 디코더 메모리에 저장된다.

Description

안전 자기 러닝 시스템{IMPROVED SECURE SELF LEARNING SYSTEM}
초음파, 무선 주파수 또는 적외선 트랜듀서(tranducer)에 의하여 시스템 또는 장치를 제어하는 원격 제어는, 빌딩 및 차량용, 및 원격 제어되는 차고 도어 및 게이트 오프너용 보안 시스템을 포함하는 많은 적용품에 널리 보급되어 있다. 현재 사용되고 있는 어떠한 단일방향의 전송 시스템은 두 개의 매우 중요한 보안상의 단점을 가지고 있다. 즉, (a)그들이 전송하는 코드가 대개 고정되어 있으며, (b) 가능한 코드 결합 수가 비교적 적다는 것이다. 이들 각각의 단점은 권한이 없는 액세스를 일으킬 수 있다.
대부분의 원격 제어 시스템에서 사용할 수 있는 제한된 수의 가능한 결합은 상대적으로 짧은 시간에 모든 가능한 결합을 전송할 수 있게 한다. 이러한 목적을 위한 휴대용 마이크로프로세서-기본 시스템(소위, 코드 스캐너)이 쉽게 구성될 수 있다.
8개의 DIP 스위치(256개의 결합)를 이용하는 시스템에서, 이러한 스캐닝 과정은 전형적으로, 초당 8개의 결합을 시도하게 되면, 32초 이하에서 수행될 수 있다. 65,536개의 결합을 산출하는, 16비트 키를 이용하는 시스템에서도, 모든 가능한 결합을 시도하는 데에 단지 2¼ 시간 만이 필요하다. 또한, 스캐너는 이러한 최대 시간 보다 훨씬 적은 시간 내에 액세스를 얻을 수 있으며 평균 시간은 사실상 총 시간의 반이 됨을 주목하자.
보안 시스템으로의 권한이 없는 액세스를 얻는 더 쉬운 방법이 자유롭게 이용될 수 있다. 이러한 형태의 유닛은 “차량의 법적인 재소유”를 위한 툴로서 공시되어 있다. 일반적으로 차량 보안 및 원격 제어 시스템에서 사용되는 그 형태의 원격 제어 전송기는 특정한 주파수 위에 코드 번호를 전송하는 작은 무선 전송기를 포함한다. 이러한 코드 번호는 일반적으로 집적 회로 엔코더에 의하여 발생된다. 이러한 전송 주파수는 대개 특정한 국가 내의 법령에 의하여 결정된다. 따라서, 상기의 모든 전송기로부터의 신호를 수신할 수 있는 수신기를 세울 수 있으며, 이는 수신기에 의해 포착된 전송을 기록하는 회로와 함께 사용할 수 있다. 이러한 장치는 코드 또는 키 그래버로서 공지되어 있으며, 보호된 건물 또는 원격 제어 보안 시스템을 구비하는 차량으로의 액세스를 얻는 데에 사용될 수 있다.
코드 호핑 및 롤링 코드 시스템은 현재 고정 코드 시스템(남아프리카 특허 제 91/4063호 및 미국 특허 제 5,103,221호 참조)의 한계를 극복하는 데에 이용될 수 있다. 이러한 특허들의 명세서에는 전송기가 활성화되는 각각의 시간에 별개의 전송을 발생시키는 알고리즘을 이용하는 전송기가 기재되어 있다. 코드가 수신되고 디코드될 때, 디코더는 유효한 전송이 이루어질 때에만 반응한다. 일부의 경우(남아프리카 특허 제 91/4063 참조)에는, 엔코드된 수신을 디코드하기 위하여 저장된 키에 특별한 알고리즘이 사용된다. 그런 다음, 디코드된 값은 저장된 값과 비교되어 전송이 적당한지 적당하지 않은 지가 판단된다.
코드 호핑 및 롤링 코드 시스템의 단점은, 분실한, 도둑맞은(stolen) 또는 서비스가 불가능한 전송기를 대체시키거나 디스에이블시키는 것이 실질적으로 어렵다는 것이다. 전송기를 재프로그램시키고 대체시키기 위해서는 제조업자 또는 딜러에 의하여 외부 장치가 사용되어야 한다. 이러한 과정 동안 부가적인 보안 문제가 발생할 수 있다.
이상적으로는, 보안 시스템은 사용자가 시스템에 새로운 전송기를 추가하거나 전송기를 대체할 것을 필요로 할 때, 딜러의 중재를 요구해서는 안된다. 사용자는 규격품의 일반적인 교체 전송기를 살 수 있어야 하고 이 전송기를 편리한 때에 도움없이 추가할 수 있어야 한다. 러닝 시스템(learning system)은, 디코더가 특별한 장비를 이용하여 외부로부터 재프로그램될 필요없이 새로운 전송기의 동일성을 “런(learn)”할 수 있다는 점에서, 이러한 능력을 제공한다.
그러나, 러닝 시스템은 사용자가 시스템에 새로운 전송기를 추가할 수 있도록 해야할 뿐 아니라, 상기의 전송기가 좋지 안하은 상태로 될 수 있기 때문에, 이전의 전송기를 시스템으로부터 배제시키는 수단을 구비해야 한다.
자기 러닝 고정 코드 시스템에서, 유입되는 코드는 그것이 러닝 모드에 있을 때 이후의 참조를 위하여 디코더에 의해 저장된다. 이후의 전송들은 런된 코드와 비교된다. 새로운 전송기 코드를 알기 위한 별개의 장치가 사용된다. 디코더를 정상 연산 모드 또는 러닝 모드에 세트하는 데에 스위치가 사용될 수 있다(미국 특허 제 4,750,118호 및 4,912,463호). 러닝 모드에서, 디코더는 전송기로부터의 새로운 유효 코드를 알 수 있다. 유사한 수단이 디코더를 새로운 전송기 코드에 반응하도록 프로그램시키는 데에 사용된다(미국 특허 제 4,931,789호 및 5,049,867 참조). 다른 특허(미국 특허 제 5,148,159호 참조)에서는, 임의로 선택된 고정 코드가 디코더에 의하여 발생되며 관련된 전송기 내에 프로그램된다. 미국 특허 제 4,855,713호는 디코더에 의하여 승인된 새로운 고정 코드를 프로그램시키는 휴대용 프로그래머의 사용을 설명한다. 이들 모든 특허에 있어서, 전송된 또는 프로그램된 코드는 고정 저장 코드이다. 사용되고 있는 러닝 장치에 상관없이 코드 그래빙 또는 코드 발생 수단에 의한 보안 위협이 존재하게 된다. 또한, 이들 런 시스템에 있어서, (1)사용자는 성가시고 더 비싼 두 개의 스위치 시스템을 사용해야 하거나, 또는 (2)사용자는, (a)일단, 시스템, 예를 들어 차고 도어 오프닝 시스템의 수신기를, 예를 들어 사용자의 차고 천장 위에 설치하게 되면, (늙거나 핸디캡이 있는 사람에게 가능하지 않다면) 활성화시키기가 매우 어려운 수신기/디코더 위에 부자연스럽게 물리적으로 위치하는 스위치와(미국특허 제 4,750,118호의 도 1 참조); (b)전송기 활성화에 의하여 전송된 코드로서, 사용하기가 복잡하며, 만일 전송기가 분실되었거나 잘못 들어온 것이라면 불안정적이 되는 코드, 또는 (c) 개별적인 프로그래밍 수단에 의하여 전송된 코드로서, 사용하기가 복잡하며, 마찬가지로 프로그래밍 수단이 분실되었거나 잘못 들어온 것이라면 불안정적이 되는 코드에 의하여 수신기/디코더를 러닝 시스템 내에 세트시켜야 한다.
또한, 다음의 미국 특허 RE 29,525호; 4,380,762호; 4,385,296호; 4,426,637호; 4,529,980호; 4,534,333호; 4,574,247호; 4,590,470호; 4,596,985호; 4,638,433호; 4,652,860호; 4,686,529호; 4,737,770호; 4,779,090호; 4,835,407호; 4,847,614호; 4,855,713호; 4,878,052호; 4,898,108호; 4,928,098호; 4,951,029호; 4,988,992호; 5,049,856호; 및 5,055,701호의 명세서를 참고한다.
상기 설명한 고정-코드 시스템과는 달리, 본 출원의 발명은 안전한 자기-러닝 코드 호핑 또는 롤링 코드 시스템을 제공하며, 이로써 코드 그래빙 또는 코드 발생 장치에 의한 보안 위협이 제거된다.
본 발명은 1994년 9월 30일 출원되어 그 내용이 본 원의 참조로서 인용되는 미합중국 출원 번호 제 08/313,613호의 연속출원이며, 이는 1992년 12월 4일 출원되어 그 내용이 본 원의 참조로써 인용되는 미합중국 출원 번호 제 07/985,929호의 연속 출원이고, 이는 1991년 5월 29일 출원되어 지금은 포기된 미합중국 특허 제 07/707,101호의 연속출원이다.
본 명은 안전 자기 러닝(secure self learning) 시스템 및 방법, 특히 보안 시스템내의 시스템 및 장치를 원격으로 조정하는 안전 자기 러닝 시스템 및 방법에 관한 것이다.
이제 본 발명을 첨부된 도면을 참조하여 실예를 들어 좀 더 상세하게 설명한다.
도 1은 본 발명에 따른 액세스 제어 시스템 내의 엔코더와 데이터 전송 인터페이스, 및 디코더와 데이터 전송 인터페이스의 블록 다이어그램 형태를 단순화하여 나타낸 도면이다.
도 2는 도 1의 엔코더의 좀 더 상세한 블록 다이어그램이다.
도 3은 도 1의 디코더의 좀 더 상세한 블록 다이어그램이다.
도 4a 및 도 4b는 본 발명의 시스템에서 구현되는 러닝 알고리즘 동작의 플로우 챠트이다.
도 5는 본 발명의 엔코더 및 디코더에서 사용되는 파라미터 세트의 저장 포맷의 다이어그램이다.
바람직한 실시예에 따르면, 본 출원의 발명은 엔코더 및 디코더를 포함하는 롤링 코드 또는 코드 호핑 시스템을 제공하며, 이 개선책은 디코더 러닝 모드 활성 수단을 포함하는데, 상기 수단이 활성화되면 디코더가 러닝 모드로 세트되고, 상기 수단은 엔코더 및 디코더, 그리고 바람직하게는 다른 어떠한 프로그래밍 수단으로부터 물리적으로 멀리 있거나, 또는 분리된다.
다른 실시예에 따르면, 본 출원의 발명은 전송기 및 수신기를 포함하는 개선된 코드 호핑 또는 롤링 코드 시스템을 제공하며, 이 개선책은 수신기 러닝 모드 스위치를 포함하는데, 상기 스위치가 활성화되면 수신기는 러닝 모드로 세트되고, 상기 스위치는 수신기 및 전송기, 그리고 바람직하게는 다른 어떠한 프로그래밍 수단으로부터 물리적으로 멀리 있거나, 또는 분리된다.
본 발명은, 첫째로,
연속 번호(serial number)를 저장하는 단계와;
씨드(seed)와;
제조업자의 마스터 키와, 씨드 및 연속 번호 중 적어도 하나를 이용하여 발생되는 키 중 적어도 하나를 저장하는 단계와;
씨드와; 연속 번호; 및 키 및 알고리즘을 입력 값에 적용함으로써 얻어지는 정보 중에서 선택된 적어도 하나의 전송 키 발생 정보를 전송하는 단계를 포함하는 엔코더 동작 방법을 제공한다.
입력 값은, 관리 코드(management code)와; 카운터 값; 및 명령에 관련된 정보 중에서 선택되는 적어도 하나의 정보를 포함한다.
일 실시예에서의 방법은,
개별적인 연속 정보와; 개별적인 씨드와; 개별적인 키와; 상기 개별적인 키 및 알고리즘을 개별적인 입력 값에 적용하여 얻어지는 개별적인 정보 중에서 선택되는 적어도 하나의 정보를 각각 포함하는, 다수의 파라미터 세트를 저장하는 단계와;
파라미터 세트를 선택하는 단계; 및
선택된 파라미터 세트에 대하여 개별적인 키 발생 정보를 전송하는 단계를 포함한다.
각 입력 값은, 개별적인 관리 코드와; 개별적인 카운터 값; 및 명령에 관련된 정보로부터 선택되는 적어도 하나의 정보를 포함한다.
본 발명은 또한, 제조업자의 마스터 키를 저장하는 단계와;
디코더로부터 물리적으로 멀리 있거나 분리되어 있는 디코더 러닝 모드 활성 수단을 활성화시킴으로써 디코더를 러닝 모드에 세트시키는 단계와;
씨드와;
연속 번호; 및
첫 번째 키 및 알고리즘을 입력 값에 인가함으로써 얻어지는 엔코드 정보로부터 선택되는 적어도 하나의 키 발생 정보를 포함하고 있는 신호를 수신하는 단계와;
키 발생 정보 및 제조업자의 마스터 키를 적어도 이용하여 두 번째 키를 발생시키는 단계를 포함하는 디코더 동작 방법까지 포함한다.
이 방법은,
두 번째 키와;
키 발생 정보; 및
연속 번호 중 적어도 하나를 저장하는 단계를 포함한다.
일 실시예에서, 수신 신호는 엔코드 정보를 포함하며, 그 방법은,
관리 코드와;
카운터 값; 및
명령에 관련된 정보로부터 선택되는 적어도 하나의 정보를 포함하는 디코드 입력 값을 얻기 위하여, 디코딩 알고리즘 및 이전에 발생된 두 번째 키를 이용하여 엔코드 정보를 디코딩하는 단계와;
디코드 입력 값을 저장하는 단계를 포함한다.
이 방법은,
개별적인 연속 번호와;
개별적인 관리 코드; 및
개별적인 카운터 값으로부터 선택되는 적어도 하나의 정보를 각각 포함하는 다수의 파라미터 세트를 저장하는 단계를 포함한다.
본 발명은 또한, 엔코더 및 디코더를 포함하는 액세스 제어 시스템 동작 방법을 제공하며, 이 방법은,
연속 번호를 저장하는 단계와;
씨드와;
제조업자의 마스터 키와, 씨드 및 연속 번호 중 적어도 하나를 이용하여 발생되는 첫 번째 키 중 적어도 하나를 저장하는 단계와;
씨드와;
연속 번호; 및
첫 번째 키 및 알고리즘을 입력 값에 적용함으로써 얻어지는 정보로부터 선택되는 적어도 하나의 키 발생 정보를 포함하는 신호를 전송하기 위하여 엔코더를 이용하는 단계와;
디코더 내에 제조업자의 마스터 키를 저장하는 단계와;
디코더를 러닝 모드에 세트시키기 위하여, 엔코더 및 디코더로부터 멀리 있는 디코더 러닝 모드 활성화 수단을 활성화 시키는 단계와;
디코더에 의하여 전송된 신호를 수신하는 단계; 및
키 발생 정보 및 제조업자의 마스터 키를 적어도 이용하여, 디코더에 의하여 두 번째 키를 발생시키는 단계를 포함한다.
두 번째 키 또는 키 발생 정보가 저장된다. 전자의 경우에 있어서의 방법은,
명령으로 엔코더를 활성화시키는 단계와;
엔코드된 부분을 형성하기 위하여 첫 번째 키 및 알고리즘을 이용하여, 카운터 값과, 관리 코드, 및 명령에 관련된 정보로부터 선택되는 적어도 하나의 정보를 포함하는 입력 값을 적어도 엔코딩하는 단계와;
연속 번호 및 엔코드된 부분으로부터 적어도 형성되는 신호를 전송하기 위하여 엔코더를 사용하는 단계와;
디코더에서, 전송된 신호를 수신하는 단계; 및
상기 입력 값을 얻기 위해, 전송된 신호 내의 상기 엔코드된 부분을 디코드하기 위하여 두 번째 키 및 디코딩 알고리즘을 이용하는 단계를 포함한다.
후자의 경우에 있어서의 방법은,
명령으로 엔코더를 활성화시키는 단계와;
엔코드된 부분을 형성하기 위하여 첫 번째 키 및 알고리즘을 이용하여, 카운터 값과, 관리 코드, 및 명령에 관련된 정보로부터 선택되는 적어도 하나의 정보를 포함하는 입력 값을 적어도 엔코딩하는 단계와;
연속 번호 및 엔코드된 부분으로부터 적어도 형성되는 신호를 전송하기 위하여 엔코더를 사용하는 단계와;
디코더에서, 전송된 신호를 수신하는 단계; 및
상기 입력 값을 얻기 위해, 전송된 신호 내의 상기 엔코드된 신호를 디코드하기 위하여 키 발생 정보 및 디코딩 알고리즘을 이용하는 단계를 포함한다.
이 방법은 또한,
엔코더에서, 개별적인 연속 번호와, 개별적인 씨드, 및 상기 개별적인 키 및 알고리즘을 개별적인 입력 값에 적용함으로부터 얻어지는 개별적인 정보로부터 선택되는 적어도 하나의 정보를 각각 포함하는 다수의 파라미터 세트를 저장하는 단계와;
파라미터 세트를 선택하는 단계와;
명령을 이용하여 엔코더를 활성화시키는 단계와;
선택된 파라미터 세트에 관련된 키 발생 정보를 포함하는 신호를 전송하는 단계; 및
디코더에서, 개별적인 연속 번호와, 개별적인 관리 번호 및 개별적인 카운터 값으로부터 선택되는 적어도 하나의 정보를 각각 포함하는 다수의 파라미터 세트를 저장하는 단계와;
상기 전송된 신호를 수신하는 단계; 및
상기 전송된 신호 내에 포함된 제조업자의 마스터 키 및 키 발생 정보를 이용하여, 선택된 파라미터 세트에 관련된, 개별적인 두 번째 키를 발생시키는 단계를 포함한다.
바람직하게는, 엔코더 및 디코더는 개별적인 마이크로칩에 각각 형성된다.
본 발명은 또한,
연속 번호를 저장하는 수단과;
씨드와;
제조업자의 마스터 키; 및 씨드와, 연속 번호 중 적어도 하나를 이용하여 발생되는 키 중 적어도 하나를 저장하는 수단과;
씨드와;
연속 번호; 및
키 및 알고리즘을 입력 값에 적용함으로써 얻어지는 정보로부터 선택되는 적어도 하나의 키 발생 정보를 전송하는 전송 수단을 포함하는 엔코더를 제공한다.
엔코더는,
개별적인 연속 번호와;
개별적인 씨드와;
개별적인 키; 및
상기 개별적인 키 및 알고리즘을 개별적인 입력 값에 적용함으로써 얻어지는 개별적인 정보로부터 선택되는 적어도 하나의 정보를 각각 포함하는 다수의 파라미터 세트를 저장하는 수단; 및
파라미터 세트를 선택하는 수단을 포함할 수 있으며;
상기 전송 수단은 선택된 파라미터 세트에 대한 개별적인 키 발생 정보를 전송하는 데에 적용될 수 있다.
본 발명은 또한,
제조업자의 마스터 키를 저장하는 수단과;
씨드와;
연속 번호; 및
첫 번째 키 및 알고리즘을 입력 값에 적용함으로써 얻어지는 엔코드된 정보로부터 선택되는 적어도 하나의 키 발생 정보를 포함하는 신호를 수신하는 수단; 및
적어도 키 발생 정보 및 제조업자의 마스터 키를 이용하여 두 번째 키를 발생시키는 수단을 포함하는 디코더를 제공한다.
두 번째 키와; 키 발생 정보; 및 연속 번호 중 적어도 하나를 저장하기 위한 수단이 제공될 수 있다.
본 발명은 또한, 엔코더 러닝 모드 활성화 수단 및 디코더를 포함하는 액세스 제어 시스템을 구비하는데,
이때, 엔코더는,
연속 번호를 저장하는 수단과;
씨드; 및
제조업자의 마스터 키와; 씨드 및 연속 번호 중 적어도 하나를 이용하여 발생되는 첫 번째 키 중 적어도 하나를 저장하는 수단과;
씨드와;
연속 번호; 및
첫 번째 키 및 알고리즘을 입력 값에 적용함으로써 얻어지는 정보로부터 선택되는 적어도 하나의 키 발생 정보를 포함하는 신호를 전송하는 전송 수단; 및
디코더를 러닝 모드에 세트시키며, 엔코더 및 디코더로부터 물리적으로 멀리 있는 디코더 러닝 모드 활성화 수단을 포함하며;
디코더는,
제조업자의 마스터 키를 저장하는 수단과;
전송된 신호를 수신하는 수단; 및
적어도 키 발생 정보 및 제조업자의 마스터 키를 이용하여 두 번째 키를 발생시키는 수단을 포함한다.
이 시스템은 두 번째 키 또는 키 발생 정보를 저장하는 수단을 포함할 수 있다.
전자의 경우, 즉 두 번째 키를 저장하는 수단을 포함하는 경우, 시스템은,
명령으로 엔코더를 활성화시키는 수단과;
엔코드된 부분을 형성하기 위하여 첫 번째 키 및 알고리즘을 이용하여,
카운터 값과;
관리 코드; 및
명령에 관련된 정보로부터 선택되는 적어도 하나의 정보를 포함하는 입력 값을 적어도 엔코딩시키는 수단과;
적어도 연속 번호 및 엔코드된 부분으로부터 엔코더에 의한 전송을 위한 신호를 형성하는 수단을 포함하며;
디코더는, 상기 입력 값을 얻기 위하여, 상기 신호 수신 수단에 의하여 수신된 전송 신호 내의 상기 엔코드된 부분을 디코드하기 위하여 두 번째 키 및 디코딩 알고리즘을 이용하는 수단을 포함하며;
후자의 경우, 즉 키 발생 정보를 저장하는 수단을 포함하는 경우, 시스템은,
명령으로 엔코더를 활성화시키는 수단과;
엔코드된 부분을 형성하기 위하여 첫 번째 키 및 알고리즘을 이용하여,
카운터 값과;
관리 코드; 및
명령에 관련된 정보로부터 선택되는 적어도 하나의 정보를 포함하는 입력 값을 적어도 엔코딩시키는 수단과;
엔코더에 의하여 적어도 연속 번호 및 엔코드된 부분으로부터 전송하기 위한 신호를 형성하는 수단을 포함하며;
디코더는, 상기 입력 값을 얻기 위하여, 상기 신호 수신 수단에 의하여 수신된 전송 신호 내의 상기 엔코드된 부분을 디코드하기 위하여 두 번째 키 및 디코딩 알고리즘을 이용하는 수단을 포함한다.
이 시스템은,
개별적인 연속 번호와;
개별적인 씨드; 및
상기 개별적인 키 및 알고리즘을 개별적인 입력 값에 적용함으로써 얻어지는 개별적인 정보로부터 선택되는 적어도 하나의 정보를 각각 포함하는 다수의 파라미터 세트를 엔코더에 저장하는 수단과;
파라미터 세트를 선택하는 수단과;
명령을 이용하여 엔코더를 활성화시키는 수단과;
선택된 파라미터 세트에 관련된 키 발생 정보를 포함하는 신호를 전송하는 신호 전송 수단과;
개별적인 연속 번호와;
개별적인 관리 코드; 및
개별적인 카운터 값으로부터 선택되는 적어도 하나의 정보를 각각 포함하는 다수의 파라미터 세트를 디코더에 저장하는 수단; 및
상기 전송된 신호 내에 포함된 제조업자의 마스터 키 및 키 발생 정보를 이용하여, 선택된 파라미터 세트에 관련된 상기 신호 수신 수단에 의해 수신된 개별적인 두 번째 키를 발생시키는 수단을 포함한다.
바람직하게는, 엔코더 및 디코더는 개별적인 마이크로칩에 각각 형성된다.
본 발명의 목적은, 가령 소위 “스마트 카드”와 같은 전송기 또는 토큰이 외부 장치없이 그리고 클리어 포맷, 즉 엔코드되지 않은 폼에 엔코딩 키를 전송하지 않으면서, 사용자에 의하여 시스템에 대체되거나 부가될 수 있는, 액세스 제어 시스템을 제공하는 것이다.
액세스 제어 시스템은 시스템으로의 권한이 없는 액세스를 막기 위하여, 디코더 내에서 도둑맞은 전송기 코드를 디스에이블시킬 수 있다.
본 발명의 다른 목적은 코드 그래빙 또는 스캐닝 수단의 사용에 대비하여 작동하는 액세스 제어 시스템을 제공하는 것이다.
본 발명은 또한 액세스 제어 시스템에서 사용되는 엔코더와 디코더, 및 이들의 작동 방법에 관련된 것이다.
제조 공정 동안, 엔코더는 일련의 디코더에 관련된 별개의 연속 번호(serial number)로 프로그램된다. 유일한 제조업자의 마스터 키가, 카운터, 관리 코드 및 다른 정보와 함께 엔코더의 비휘발성 메모리에 사용자 키를 발생시키고 저장시키기 위하여, 알고리즘 및 연속 번호와 함께 사용된다. 이들 파라미터 중 몇 세트가 몇 전송을 처리하기 위하여 저장된다(별개의 입력을 활성화시킴으로써 별개의 명령 전송). 제조업자의 마스터 키는 또한 제조업자의 모든 디코더에 저장된다. 엔코더에 의하여 활성화될 필요가 있는 다른 기능들을 제어하기 위하여 사용자 데이터 및 제어 데이터가 또한 프로그램된다. 엔코더 내에 사용자 키를 발생시키는 데에 사용되는 동일한 알고리즘은 또한 디코더 내에 존재해야 한다.
엔코더의 정상적인 동작에 있어서, 파라미터 세트에 관련된 키 정보가, 특별한 알고리즘을 이용함으로써, 엔코더 관리 코드, 연속 번호 및 다른 정보와 함께, 가변성 카운터 정보를 엔코드하는 데에 사용된다. 엔코드되는 정보는 엔코더가 활성화되는 매 시간 마다 다르다. 이러한 기술은 코드 호핑으로써 설명된다. 카운터 정보가 바뀌는 것이 알려져 있음에도 불구하고, 비밀 키(secret key) 및 정보를 엔코드하는 알고리즘 때문에 전송은 예측이 불가능하다. 액세스 제어 시스템에서, 연속 번호를 나타내는 고정 부분(fixed part)은 코드 호핑 부분으로 발생되며 데이터 전송 인터페이스에 의하여 전송된 전송 값을 형성한다.
본 발명의 제 1 실시예에서, 엔코더 러닝 성능이 수행된다. 이는 사용자가, 사용자에 의해 선택가능한, 러닝 모드 기능을 갖는 디코더에 의하여 인식되는 엔코더를 대체하거나 엔코더를 추가할 수 있게 한다. 러닝 모드 기능(function)은 이를 디코더 위에서 실행시킴으로써 선택될 수 있다. 이는 정상 엔코더를 사용하고, 디코더를 러닝 모드에 세트시키도록 출력 기능을 프로그램시킴으로써 수행될 수 있다. 이는 또한 마스터 엔코더 또는 토큰으로서 공지되어 있다. 이러한 마스터 엔코더의 사용은 더 높은 레벨의 보안이 이루어질 수 있게 한다. 마스터 토큰은 또한 입력 스위치와 함께 사용된다.
본 발명의 다른 실시예에서는, 엔코더가 외부 입력 값을 엔코드하는 것이 가능하다. 이 입력 값은 엔코더에 의하여 내부에서 엔코드된 값을 대신한다. 양방향 통신 장치가 이러한 경우에 사용된다. 이러한 절차는, 액세스 제어 및 입증 목적을 위하여, 친구 또는 적의 실별(IFF)로서 알려진, 엔코더의 원형(originality)를 확인하는 데에 사용된다. 엔코더는 액세스 제어 시스템의 일부를 형성하는 터미널로부터 입력값으로 챌린지 값(challenge value)을 받아들인다. 이 입력 값은 엔코드 값을 형성하기 위하여 엔코딩 함수 및 키를 이용하여 엔코더에 의하여 엔코드된다. 그런 다음, 엔코드된 값은 액세스 제어 터미널의 일부분인 디코더로 전송된다. 만일 올바른 엔코더가 사용된다면, 엔코드된 값은 디코더에 의하여 계산된 디코드 값과 일치할 것이며 디코더는 외부 기능을 작동시킬 수 있게 된다. 만일 올바르지 않은 엔코더가 사용된다면, 엔코드된 값은 디코더에 의하여 발생된 값과 일치하지 않을 것이며, 디코더에 의하여 수행될 필요가 있는 반응을 저지한다.
엔코더는 액세스 제어 시스템내의 토큰 또는 전송기 타입의 장치에 사용될 수 있다. 전송기는 일반적으로, 활성화되면, 가령 무선(rf) 또는 마이크로웨이브와 같은 전송 매체를 통하여 엔코더로부터 수신기 시스템으로 정보를 전송한다. 토큰은 또한 전송기 장치를 나타낼 수 있지만, 더 일반적으로는, 정보 전송이 전기 콘택 및 컨덕터 수단에 의하여 이루어지는 장치를 포함한다. 이러한 물리적인 콘택 토큰(또는 스마트 카드)에 있어서, 정보는 리드 및 라이트 동작을 통하여 양방향으로 전송될 수 있다. 두 경우에 있어서, 본 발명은, 엔코딩 또는 디코딩 키를 가능하면 외부 세계에 노출시키지 않는, 엔코딩 또는 디코딩 키에 관한 정보의 전송에 관한 것이다.
일단 디코더의 러닝 모드가 선택되면, 새로운 엔코더로부터의 데이터가 포착되며 연속 번호가 먼저 사용된다. 제조업자의 마스터 키 및 포착된 엔코더 연속 번호를 이용함으로써, 디코더의 일부를 형성함에 틀림없는 키 발생 알고리즘에 의하여 새로운 디코더 키가 발생된다. 새롭게 발생된 키는 이전에 포착된 전송 중 가변(엔코드된) 부분을 디코드하는 데에 사용된다. 일단 디코드가 되면, 정확한 키가 발생되고 사용되었는 지를 확인한다.
다른 실시예에서는, 다른 전송이 디코드될 필요가 있다. 이렇게 되면, 이러한 이중 전송 시스템은 또한 발생된 키가 유효함을 보장하기 위하여 디코드된 카운터 정보를 확인할 수 있다. 엔코더 연속 번호가 비휘발성 메모리에 저장되고, 이에 관련된 디코더 키, 관리 번호, 카운터 및 다른 사용자 정보가 발생되며, 이에 따라 유효한 것으로서 수용되기 전에 러닝 시스템이 확인되며, 그 후에 엔코더는 정상 동작으로 디코더를 활성화시키는 데에 사용된다.
정상 동작에서, 엔코더는, 전기적인 입력, 예를 들어 푸쉬 버튼 스위치, 또는 스위치들을 누름으로써, 또는 다른 어떠한 적절한 명령 수단에 의하여 활성화될 때, 카운터, 버튼 및 관리 코드 정보를 알고리즘 및 키를 이용하여 엔코드한다. 관리 코드 정보는 대개 다음의 그룹: 엔코더 상태, 명령, 동일성, 기술 타입, 시간, 모드, 무결성(integrity) 및 사용자 데이터로부터 선택된 정보로 구성된다. 이는 또한, 시간 정보를 포함할 수 있다. 시간 정보는, 디코딩 시스템에, 엔코딩 동작이 발생된 시간을 전송하거나, 유효한 주기 또는 만료 데이터를 표시하는 데에 사용된다. 사용자 키는 비휘발성 메모리에 저장된 정보의 일부를 형성하는 연속 번호에 관련된다. 엔코드되지 않은 연속 번호 및 엔코드된 정보가 외부 데이터 전송 수단에 의하여 전송된다. 데이터 전송은 엔코더에 의한 전송이 되거나, 엔코더는 데이터를 전송하기 위하여 특별한 적용에서 전기적으로 활성화될 수 있다.
디코더는, 전송을 수신하자 마자, 엔코드되지 않은 연속 번호와 엔코드된 부분을 검출한다. 연속 번호를 그 메모리에 저장된 런된 엔코더의 연속 번호와 비교한다. 만일 어떠한 유사점도 발견되지 못하면, 그 전송은 버린다. 만일, 매칭 값이 발견되면, 매칭되는 연속 번호에 관련된 메모리 내에 저장된 디코더 키가, 디코딩 알고리즘으로 엔코드된 정보를 디코드하는 데에 사용된다. 신호가 정확하게 수신되고 디코드되었는 지를 확인하기 위하여 전송의 무결성이 체크된다. 만일 이것이 유효하면, 카운터가 체크된다. 만일 이것이 유효하면, 카운터 정보가 갱신되며 출력 함수 제어부가 활성화된다. 만일 카운터가 유효하지 않으면, 그 전송은 버린다.
보안 시스템의 장점은, 전송이 언제나 사용자로부터의 개입없이 다르며 러닝 과정이 안전한 방법으로 수행된다는 것이다. 러닝 디코더는 액세스가능하고 이용가능해야 하며, 제조업자의 마스터 키에 관한 정보는 디코더에서 이용가능해야 한다.
다른 실시예에서는, 더욱 안전한 러닝 과정이 실행된다. 각 엔코더에 대하여 선택된 유일한 키 발생 씨드와 함께 알고리즘 및 제조업자의 마스터 키를 사용하여, 엔코더 키가 발생된다. 키 발생 씨드 및 사용자 키가 엔코더 연속 번호 및 관리 코드 정보를 따라서 모든 엔코더 내에 프로그램된다. 키 발생 알고리즘 및 제조업자의 마스터 키가 어떠한 엔코더 내에서 이를 지배할 필요는 없다. 엔코더 연속 번호와 키 발생 씨드의 사이에는 어떠한 수학적 링크도 존재할 필요가 없거나 또는 존재해서는 안된다. 새로운 엔코더로 디코더를 러닝할 때, 엔코더는 러닝 모드 상태가 되며 키 발생 씨드 및 연속 번호가 디코더로 전송된다. 디코더는, 제조업자의 마스터 키와, 키 발생 씨드 및 키 발생 알고리즘을 이용하여, 상기 엔코더에 대한 키를 발생시킨다. 키 발생 씨드가 단지 러닝 과정동안에만 전송되기 때문에, 정상 동작시 권한이 없는 액세스는 불가능하다.
정확한 키가 발생되었는지 그리고 다른 엔코더 정보가 저장되었는 지를 확인하기 위하여, 확인 과정이 초기화된다. 이를 완료하게 되면, 엔코더는 이제 유효한 엔코더이다. 이러한 확인 과정은 또한, 정확한 마스터 키를 갖고 있는 않는 다른 제조업자로부터의 로그(rogue) 엔코더 또는 전송기는 런될 수 없음을 보장한다.
키 발생 씨드의 사용은 엔코더의 연속 번호에 대하여 권한이 없는 스캐닝을 하는 경우 시스템의 보안을 보호한다. 알려진 연속 번호를 가지고, 만일 제조업자의 장치 및 제조업자의 마스터 키에 액세스가 이루어지는 경우 엔코더가 형성될 수 있음은, 매우 가망성이 없어 보이기는 하지만 가능하다. 그러나, 만일 키 발생기 씨드가 사용되면, 디코더에 저장된 키는 소유자의 전송기 또는 토큰까지 액세스하지 않고서는 발생될 수 없다.
러닝 동작이 성공적으로 실행되고 디코더가 정상 동작 모드로 되돌아온 후, 엔코더는 정상적인 방법으로 디코더를 활성화시키는 데에 사용될 수 있다. 이는 연속 번호가 러닝 시스템에 대하여 다시 비교될 것임을 의미한다. 확실한 코드 수신을 하기 위하여 수신 과정 동안에 특별한 데이터 전송 속도(baud rate) 보상 회로가 사용될 수 있다. 엔코더 연속 번호에 관련된 저장 키는 전송을 디코드하는 데에 사용된다. 엔코더로부터 수신되어 디코드된 관리 코드 정보를 저장된 정보와 비교함으로써, 수신되어 디코드된 전송의 무결성이 유효성에 대하여 체크된다. 유사한 과정이 관련된 카운터 정보에 대하여 수행된다. 만일 성공적이라면, 카운터 정보는 갱신되고 미리정해진 출력 신호가 선택되며, 결과적으로 정확한 외부 기능이 활성화된다.
방해자가 키 정보를 그랩하여 보안 시스템을 손상시키는 것을 막기 위하여, 키 정보는 결코 전송되지 말아야 한다. 코드 호핑은 방해자가 코드 그래빙 또는 발생을 이용하거나 권한이 없는 코드 호핑 엔코더를 초기화함으로써, 디코더로의 권한이 없는 액세스 또는 디코더의 러닝 성능을 얻는 것을 불가능하게 한다.
설명된 시스템은 들어오는 전송을 디코드 하기 위하여 디코더 내에 저장된 키를 이용한다. 러닝 시스템의 변형적인 구성은 디코더의 키 위치에 완전한 키 대신에 키 발생 씨드만을 저장하는 것이다. 디코딩 동작 동안에, 관련된 씨드, 연속 번호 및 제조업자의 마스터 키를 선택함으로써 정확한 키가 발생된다. 이의 장점은, 키 발생 씨드가 키 보다 더 적은 저장 공간을 필요로 하기 때문에, 더 적은 비휘발성 저장 공간을 필요로 한다는 것이다. 정확한 키는 필요할 때 마다 램 내에서 발생된다. 몇몇 엔코더가 단일 디코더에 런될 수 있으며 램이 되풀이해서 사용될 수 있기 때문에, 이러한 실행은 경제적이다.
본 발명은 제조업자가 그 원리를, 예를 들어, 차량 보안 시스템, 도어 또는 게이트 원격 제어 보안 시스템에, 또는 보안 영역으로의 개인적인 액세스를 제어하는 시스템에서 활용할 수 있도록 하는 다른 구성에 사용될 수 있다. 이를 테면, 무선, 적외선 또는 물리적인 와이어 연결과 같은 다른 종류의 전송 매체가 또한 사용될 수 있다.
이제, 본 발명은 먼저 본 발명의 원리를 설명하기 위하여 도 1을 참조하여 전체적인 의미를 설명하고, 이후, 도 2 내지 도 5를 참조하여 본 발명의 실질적인 구현에 관련된 좀 더 상세한 방법을 설명한다.
도 1은 코드 호핑 원격 제어 시스템에서 사용되는 엔코더(10) 및 데이터 전송 인터페이스(11)를 포함하는 전송기, 및 디코더(12) 및 데이터 전송 인터페이스(13)를 포함하는 수신기의 단순화된 블록 다이어그램이다. 복잡한 기능 및 다중의 엔코더/디코더 결합은 단지 명확성을 위하여 생략되었다.
본 발명은 주로 코드 호핑 시스템에서 러닝을 실행하는 것에 관한 것이다. 러닝은 표준 고정 코드 시스템에서 실행되어 왔지만, 코드 호핑 시스템이 유일한 도전을 제시하였다. 엔코더에 의하여 엔코드된 정보는, 사용자 키를 액세스하지 못한다면, 디코드되지 못하며, 결과적으로 엔코드된 정보는 키가 디코더에 전달되도록 사용되지 못한다. 본 발명은 이러한 문제를 해결하고자 한 것이다.
엔코더는 버튼 엔코더(14), 카운터/저장 및 에러 교정부(16), 관리 코드 저장부(17), 엔코딩 알고리즘을 갖는 비선형 엔코더(18), 키 발생 씨드 저장부(20), 사용자 키 저장부(22), 엔코더에 관련된 연속 번호 저장부(24), 및 펄스 폭 변조 코드 발생기(26)를 포함한다.
디코더(12)는 제어기(31), 포맷 검출기(32), 디코딩 알고리즘을 갖는 디코더(34), 무결성 체킹부(35), 카운터 값(동기) 체킹 유닛(36), 출력 관리부(38), 제조업자의 마스터 키 카운터/저장부(40), 키 발생 유닛(42), 관리 코드 저장부(43), 디코더 키 저장부(44), 및 카운터 정보 저장 및 에러 교정부(46)를 포함한다.
버튼 엔코더(14)는 수동으로 활성화시킬 수 있는 다수의 버튼(48)에 반응한다. 버튼(48)이 엔코더(10)를 활성화시킬때, 전체적으로, 활성화된다. 엔코더는, 하기의 설명으로부터 명백해지는 바와 같이, 활성화된 버튼 또는 버튼들의 결합에 의하여 결정되는 다수의 엔코더 동작 모드 중 어떠한 하나에서 그 기능을 수행한다. 엔코더 함수는 제어기(49)에 의해 제어된다.
엔코더(10)의 제어기(49)는 엔코더 동작을 제어한다. 제어기(49)는 엔코더의 각 부분에 결합되어 각 부분의 동작 상태를 감지하며, 전체적인 엔코더의 동작 및 기능을 제어하기 위하여 각 부분에 동작 제어 신호를 제공한다. 엔코더 명령은 외부 버튼으로부터 수신되며, 엔코더를 리셋시키기 위하여 동작 제어 신호를 초기화시킨다. 제어 신호는 엔코더 모드 변경, 전송 정보의 선택 및 필요한 모든 다른 부분들의 활성화를 포함하여 구성될 수 있다.
제어기(31)는 엔코더 제어기(49)가 엔코더를 제어하는 것과 유사한 방법으로 디코더를 제어한다. 제어기(31)는 디코더의 각 부분에 연결되어 있다. 이는 디코더 각 부분의 동작 상태를 검지하며, 포맷 검출기 및 모드 선택 입력 신호로부터 수신되는 디코더 명령으로부터 전체적인 디코더의 동작 및 기능을 제어하기 위하여 각 부분에 동작 제어 신호를 제공한다. 제어 신호 디코더 모드 변경, 키 발생의 선택, 가령 키 및 연속 번호, 무결성 체크, 동기 및 카운터 값 저장, 및 출력 신호와 같은 정보의 저장을 포함하여 구성될 수 있다.
제어기(49)는 두 개의 모드, 즉 러닝 모드 또는 정상 동작 엔코딩 모드 중 하나에서 기능을 수행한다. 나타낸 바와 같이, 버튼(48)의 적절한 선택 또는 엔코더의 적용 구성에 특정한 어떠한 다른 적절한 방법에 의하여, 각 모드가 선택된다. 일단 버튼 엔코더(14)에 의하여 명령이 입력되면, 제어기(49) 의하여 제어 신호가 발생된다. 제어 동작 모드에서는, 각각의 특정한 부분의 적절한 출력을 선택하고 활성화시키기 위하여 카운터/저장 및 에러 교정부(16), 관리 코드 저장부(17), 비선형 엔코더(19), 키 저장부(22), 연속 번호 저장부(24) 및 PWM 코드 발생기(26)를 동작시키기 위한 제어 신호가 발생된다. 이는 엔코더가 하기에 보다 명확하게 설명되는 기능을 수행하도록 보장한다.
만일 엔코더가 러닝 모드에서 사용된다면, 제어기(49)는 각각의 특정한 부분의 적절한 출력을 선택하고 활성화시키기 위하여 씨드 저장부(20), 연속 번호 저장부(24) 및 PWM 코드 발생기(26)를 동작시키기 위한 제어 신호를 발생시킨다. 이는 엔코더가 하기에 보다 명확하게 설명되는 기능을 수행하도록 보장한다.
디코더의 제어기(31)는 두 개의 모드, 즉 러닝 모드 및 정상 동작 엔코딩 모드 중 하나에서 기능을 수행할 것이다. 적절한 내부 또는 외부 회로에 의하여 모드가 선택된다. 내부 회로는, 하기에 설명되는 바와 같이, 정상 검출 및 디코딩 동작에 의해 활성화되어 디코더를 러닝 모드가 되게 한다. 가령 푸쉬 버튼(110) 또는 다른 스위칭 수단과 같은 외부 회로가 또한 사용될 수 있다. 바람직하게는, 제 1 실시예에 따르면, 엔코더 및 디코더로부터 물리적으로 멀리있거나 또는 분리되어 있는 디코더 러닝 모드 활성 수단을 포함하는 것이 더 편리하며 덜 비싸다는 것이 발견되었다. 예를 들어, 제 1 실시예에 따르면, 본 발명의 엔코더/디코더 시스템은 차고 도어 오프닝 시스템에 이용되며, 디코더/수신기 러닝 모드 활성 수단은 바람직하게는 수신기(또는 전송기/엔코더) 위에, 수신기/디코더와 전기적인 통신을 하는 차고의 월 위에 물리적으로 위치한다. 바람직하게는, 러닝 모드 활성화 수단은, 전송기/엔코더를 동일한 것에 이용하지 않을 때 차고 도어를 열고 닫는 데에 또한 이용될 수 있는, 월 콘솔 스위치(wall console switch)의 일부분이 될 수 있다. 바람직하게는, 월 콘솔 스위치는, 예를 들어 버튼을 연장된 시간 주기 동안(예를 들어 5초) 누름으로써 스위치가 활성화되면 수신기/디코더를 러닝 모드로 세트시킬 수 있도록 구성된다. 바람직하게는, 월 콘솔 스위치 또는 버튼이 짧은 시간 주기 동안에만 활성화되고 눌러질 때에는, 차고 도어는 개별적으로 열리고 닫힌다.
정상 동작 모드에서는, 일단 디코더가 포맷 검출기(32)를 이용하여 수신 신호를 검출하게 되면, 제어기(31)는 디코더를 동작시킬 제어 신호를 결정한다. 제어 신호는 키 발생 알고리즘/제어부(42), 키 저장부(44), 디코더(34), 관리 코드 저장부(43), 무결성 체킹부(35), 카운터/저장 및 에러 교정부(46), 카운터값 체킹부(36) 및 출력 관리부(38)로 입력되어, 각각의 특정한 부분 중 적절한 출력을 선택하고 활성화시킨다. 이는 엔코더가 하기에 좀 더 상세하게 설명되는 바와 같은 기능을 수행할 수 있도록 보장한다.
만일 디코더가 러닝 모드에서 사용되면, 제어기(31)는 키 발생 알고리즘/제어부(42), 키 저장부(44), 디코더(34), 관리 코드 저장부(43), 무결성 체킹부(35), 카운터/저장 및 에러 교정부(46), 출력 관리부(38) 및 러닝 제어부(100)에 명령을 발생시킨다. 이는 디코더가 하기에 좀 더 명확하게 설명되는 바와 같은 기능을 수행할 수 있도록 보장한다,
정상 동작 모드에서, 카운터/저장 및 에러 교정부(16)는 엔코더(10)가 사용되는 각 시간 마다 활성화된다. 따라서, 그 카운트 값은 엔코더가 사용되는 시간 수를 표시한다. 카운터 값은 비휘발성 메모리에 저장된다. 이 메모리는 엔코더에 전원이 공급될 때에만 동작한다. 만일 카운터 값이 변하고 동시에 전원이 끊긴다면, 이는 가짜 값이 저장되게 한다. 이러한 이유로, 에러 교정 기능이 카운터/저장 및 에러 검출부(16)에 포함된다. 카운터 정보는 사용자 키 저장부(22)를 이용하여 비선형 엔코더(18)에서 엔코드된다. 따라서, 엔코더(18)의 출력은 발생기(26)에서 연속 번호 저장부(24)로부터의 연속 번호에 관련된 가변 정보를 포함한다. 주목해온 바와 같이, 연속 번호는 엔코더에 관련된다. 발생기(26)의 출력은 데이터 전송 인터페이스(11)에 인가되며 데이터 전송 인터페이스(13) 및 디코더(12)에 전송된다. 연속 번호는 또한 엔코더 유닛을 확인하기 위하여 유일한 유닛 번호의 부분을 형성할 수 있다.
엔코더 및 디코더는 예를 들어, 와이어에 의하여 직접 연결될 수 있으며, 또한 엔코더 및 디코더는 서로 멀리 떨어져 있을 수 있고, 정보의 전송은, 적외선 주파수에서 광학적으로 무선 신호에 의하여, 또는 다른 어떠한 적절한 방법에 의하여 이루어질 수 있음을 주목하자.
데이터 전송 인터페이스(13)를 이용하여 디코더(12)에 의하여 수신된 신호는 로직 신호로 변환되며, 이는 포맷 검출기(32)에 의하여 디코더(34)에 인가되는 수(number)로 교대로 변환된다. 검출기는 PWM 코드 검출기가 될 수 있다. 디코더(34)의 디코딩 알고리즘은 디코딩 동작의 유효성을 증명하기 위하여, 카운터와 관리 코드 정보, 및 저장부(43) 내의 관리 코드 정보를 이용하여 무결성 체킹부(35)에 의하여 체크되는 무결성을 산출하는 가변성 숫자 부분을 디코드한다. 만일 유효하다면, 유닛(36)은 디코드된 값이 유효하고 전에 사용되지 않았음을 판단하기 위하여, 디코드된 카운터 정보와 저장부(46) 내에 저장된 카운터 정보를 비교한다. 수신이 유효하다면, 출력 관리부(38)에 의하여 관련된 출력이 활성화된다.
러닝을 수행하기 위하여, 사용자는 디코더(12)를 러닝 모드 상태로 세트시킨다. 바람직하게는, 제 1 실시예에 따르면, 이는 디코더로부터 물리적으로 멀리 또는 분리되어 있는 러닝 모드 활성화 수단을 활성화시킴으로써 이루어진다. 엔코더(10)는 또한 적절한 버튼(48)을 활성화시킴으로써 실질적으로 러닝 모드로 세트된다. 이 경우, 저장부(20)에 보유되어 있는 키 발생 씨드는 저장부(24)내의 연속 번호와 함께 발생기(26)에 인가된다. 키 발생 씨드는 러닝 동작 동안에만 사용된다는 것을 주목하자. 디코더의 전체 동작은 제어기(31)에 의하여 제어된다.
따라서, 데이터 전송 인터페이스(11)는 디코더(12)에 키 발생 씨드 및 연속 번호에 대한 정보를 전송한다. 이 정보는 데이터 전송 인터페이스(13)에 의해 수신되어, 검출기(32)에 의해 검출되며 키 발생 유닛(42)으로 전달된다. 이 유닛은 유입되는 키 발생 씨드, 및 저장부(40)에 저장되어 있는 제조업자의 마스트 키를 기반으로 디코더 키를 계산한다. 새롭게 발생된 디코더 키는 위치(44)에 저장되며, 디코더(34)의 디코딩 알고리즘을 따르는 이후의 어떠한 디코딩 동작에 이용될 수 있다.
안전한 러닝 동작 동안 키 발생 유닛(42)에서 사용되는 키 발생 알고리즘은 대개 비선형 알고리즘이다. 이 알고리즘은 제조업자의 마스터 키(40)(알려지지 않음)와 키 발생 정보를 입력으로서 받아들인다. 키 발생 정보는 엔코더 연속 번호(24) 또는 씨드(20), 또는 둘 모두로 구성될 수 있다. 이 정보는 러닝 동작시 엔코더로부터 디코더에 전송된다.
디코더(12)는 정상 코드 호핑 전송을 디코드하는 데에 사용되는 키(44)를 발생시키기 위하여 키 발생 알고리즘을 이용한다. 이러한 메커니즘으로 된 보안은 전송된 씨드와 디코딩 키간의 관계가 알려지지 않았으며, 어떠한 종류의 전송 차단도 소용없게 한다는 사실에 관련된 것이다. 이러한 비선형 키 발생 함수는 또한 키와 키 발생 정보 간에 어떠한 관계를 설정하는 것을 불가능하게 하여, 있을 수도 있는 사기꾼이 불법 엔코더를 복사하는 것을 불가능하게 한다. 엔코더(10)의 키(22), 연속 번호(24) 및 임의로 발생된 씨드(20)는 제조 과정 동안 로드된다. 제조업자는 씨드, 연속 번호, 제조업자의 마스터 키 및 키 발생 알고리즘을 이용하여 키를 발생시킨다. 키 발생 알고리즘은 공적으로 알려지게 형성되지 않는다. 씨드는 임의의 수이기 때문에, 동일한 키로 두 개의 엔코더를 제조할 가능성은 매우 적다. 연속 번호가 또한 이 과정에서 사용된다는 사실을 고려하면, 이는 정말로 가능성이 없다.
러닝 과정의 실증은 다음과 같이 이루어진다. 사용자는 엔코더의 정상 동작을 위하여 적절한 버튼(48)을 누르게 되며, 이로써 비선형 엔코더(18)에 의하여 생성된 가변성 코드, 및 저장부(24)에 저장된 연속 번호의 전송을 일으킨다. 저장부(44)내의 새롭게 발생된 디코더 키는 디코더(34)의 디코딩 알고리즘을 이용하여 유입되는 코드를 디코드하는 데에 이용된다. 이로써 생성되는 관리 코드 정보는 이를 저장부(43)내의 관리 코드와 비교함으로써 디코딩 동작의 유효성을 확인하는 데에 이용된다. 유입되는 카운터 정보는 관계된 저장 위치(46)에 저장된다. 전원이 꺼져있는 동안 가짜 데이터가 저장되어 있는 경우를 보장하기 위하여 에러 교정 기능이 유닛(46)에 포함되며, 전원이 디코더에 인가되자 마자 정확한 데이터가 복구될 수 있게 된다.
그런 다음, 사용자는 엔코더(10)를 다시 활성화시킨다. 결과적인 가변성 코드 및 연속 번호가 한 번 이상 데이터 전송 인터페이스(13)에 의하여 수신된다. 가변성 코드는 새롭게 발생된 디코더 키를 이용하여 디코더(34)의 디코딩 알고리즘에 의하여 디코드된다. 이러한 전송으로부터 발생하는 카운터 정보는 저장 위치(46) 내에 저장된 카운터 정보에 대하여 체크된다. 만일 비교가 두 개의 가변성 코드 전송이 연속적임을 나타내면, 러닝 과정이 유효하였다고 가정하며, 디코더는 러닝 모드를 빠져 나온다. 이 시스템은 이제 정상 동작을 위하여 이용된다.
저장부(20) 내의 키 발생 씨드와 저장부(22)내에 저장된 사용자 키의 사이에는 특별한 관계가 있다. 이 관계는 저장부(40)에 저장되어 있는 제조업자의 마스터 키에 달려있다. 그러나, 제조업자의 마스터 키는 엔코더에 프로그램되는 것이 아니라, 대신에, 해당되는 키 발생 씨드 및 사용자 키를 개별적인 엔코더에 프로그램시키는, 공정선에서의 프로그래밍 유닛에서 사용된다. 반면에, 제조업자의 마스터 키는 각각의 디코더에 프로그램되고, 러닝 동안 상기 설명한 방법으로 정확한 디코더 키를 계산하는 데에 이용되며, 그런 다음 수신된 키 발생 씨드로부터 저장 위치(44)에 저장된다.
러닝 과정이 변화되는 동안, 저장부(24)에 저장된 연속 번호는 디코더 키를 발생시키기 위하여 키 발생 유닛(42)에 의하여 이용된다. 이러한 경우, 엔코더가 키 발생 씨드를 전송할 능력을 가질 필요는 없다. 또한, 키 발생 씨드와 사용자 키 사이보다는, 연속 번호와 사용자 키 사이에 특별한 관계가 있다.
연속 번호는 각각의 전송에 존재한다. 따라서, 외부인이 전송에 포함된 정보로의 액세스를 얻을 수 없을 지라도, 전송이 발생되는 엔코더가 확인될 수 있게 된다. 연속 번호는 단일 디코더 시스템 내에 몇 개의 별개 엔코더를 수용할수 있게 하는 단일 시스템 내의 몇 개의 엔코더를 확인하는 데에 이용될 수 있다.
첨부 도면 도 2 내지 도 5를 참조하는 다음의 설명은, 도 1과 함께 설명된 일반적인 원리를 구현하는 본 발명의 제어 시스템의 실질적인 형태에 대하여 이루어진다. 도 1에 사용되었던 적절한 유사 참조 번호는 도 2 내지 도 5에서도 동일한 요소를 표시하는 데에 사용된다.
도 2는 코드 호핑 원격 제어 전송기의 실행을 나타내며, 이는 엔코더(10), 버튼(48), 제어기(49), 파워 서플라이(50) 및 데이터 전송 인터페이스(11)를 포함하는데, 이들은 모두 보호 하우징에 수용될 수 있고, 사용자가 전송기를 편리하게 수송할 수 있도록 키 링으로 고정된다. 버튼(48)은, 보안 시스템의 다양한 기능을 원격 제어에 의하여 활성화시키위하여, 그리고 배터리가 될 수 있는 파워 서플라이(50)로부터의 전원을 전체 전송기에 공급하기 위한, 푸쉬 버튼 스위치가 될 수 있다.
파워 서플라이(50), 버튼 스위치(48) 및 데이터 전송 인터페이스(11)로부터 떨어져 있는, 블록 다이어그램 내에 도시된 모든 요소들은 단일 집적 회로 내에서 실행될 수 있다. 주문형 집적 회로(ASIC)가 어려운 역설계(reverse engineering)를 수행하는 바람직한 실행이다. 역설계는 보안 위험 불안정 시스템을, 본 과정에 의하여 제공되는 알고리즘 및 저장된 정보로의 완전한 액세스처럼 보이게 한다.
엔코더(10)는 누르는 버튼(48)에 관련된 정보를 엔코딩하는 수단(버튼 엔코더)(14)를 포함하며, 제어기(49)를 이용하여 엔코더의 동작 및 다른 부분을 제어하는 데에 사용되는 엔코드된 정보(52)를 출력하는데, 이는 디코더(12)에 의하여 활성화될 기능을 결정하기 위하여 “기능 요구(function request)”로서 엔코드될 수 있다. 제어 기능은 연속 코드 발생기(26)의 동작 모드의 선택, 및 에뮬레이트되는 가상 엔코더의 선택을 포함한다. (“기능 요구”어구의 의미는 하기의 설명으로부터 명확해질 것이다.) 기능 요구는 디코더에서 몇 개의 출력 중 하나를 활성화시킨다. 전형적인 적용예는 차량의 보안 시스템이며, 이는 별개의 디코더 출력이 고정자(immobilizer)를 해제하고, 알람을 장비하며, 알람을 해제하고, 차량의 전기 윈도우를 활성화시키는 데에 이용된다.
버튼 엔코더(14)의 예로서, 만일 버튼 b의 값이 엔코더를 활성화시키는 데에 이용된다면, 버튼 엔코딩 함수는 값 b를, 엔코더의 내부 회로를 통과하는, 구별가능한 값으로 엔코드한다. 동시에 두 개의 버튼을 누르는 것은 이를 테면, 버튼 엔코더(14)에 의하여, 엔코더 관련 정보를 전송할 수 있도록 엔코더를 활성화시키는 구별가능한 값을 발생시킬 수 있게 한다. 만일 동일한 토우(tow) 버튼 중 어느 하나가 개별적으로 사용된다면, 버튼 엔코더(14)에 의하여 전체적으로 다른 값이 발생되며, 결과적으로 다른 정보를 선택 및 전송하게 된다. 이는 b 버튼의 값으로, b의 전원까지 2개의 다른 기능들이 구별되고 선택될 수 있음을 의미한다. 버튼 엔코더(14)는 또한 미리정한 값을 출력하기 위하여 엔코딩 함수를 프로그램함으로써 엔코드를 러닝 모드에 세트시키는 데에 이용된다. 이 값은 어떠한 하나의 버튼 또는 버튼의 결합이 눌러지는 경우에 존재할 수 있다.
비휘발성 메모리부(54)는 다수의 파라미터 세트(56A, 56N)을 저장하는 데에 이용된다. 각각의 파라미터 세트는 도 1의 저장부(20)에 저장된 씨드에 해당하는 고정 키 발생 씨드(60)와, 도 1의 저장부(24)에 저장된 연속 번호에 해당하는 연속 번호(62)와, 저장 위치(22)에 저장된 사용자 키에 해당하는 엔코딩 또는 사용자 키(64)와, 카운터/저장 및 에러 교정부(16)에 저장된 카운터 정보를 포함하는 카운터 및 에러 교정 정보(66), 및 저장부(17)에 저장된 것에 해당하는 관리 코드(68)를 포함한다.
주목해온 바와 같이, 몇몇 파라미터 세트(56)를 저장하기 위한 설비가 형성된다. 각각의 파라미터 세트는 여기에서 “가상 엔코더”로 불려지는 것과 관련되며, 어떤 버튼(48)이 눌러지냐에 따라서, 엔코더가 별개의 가상 엔코더 중 어떠한 한 개로써 작용할 수 있게 된다.
카운터/저장 및 에러 교정부(16)는 엔코더가 활성화되는 각 시간마다 갱신된다. 그러나, 몇 개의 파라미터 세트가 사용될 때에는, 단지 특정한 파라미터 세트 내의 카운터 정보만이 해당되는 가상 엔코더가 사용되는 각 시간 마다 갱신된다.
특정한 엔코더는 다양한 기능 요구에 따라서 단일의 저장된 파라미터 세트(56)를 이용하거나, 또는 유사하거나 다른 기능 요구를 갖는 별개의 파라미터 세트를 이용할 수 있다. 전형적으로, 별개의 파라미터 세트는 몇몇 별개의 디코더가 액세스되는 경우에 사용될 것이다. 몇몇 기능(15)이 이들 각각의 디코더에 액세스가능하다. 그렇다면, 단일 엔코더는 별개의 파라미터 세트를 이용하여 모든 디코더로 액세스하도록 구성되며, 별개의 기능 요구와 각각의 파라미터 세트가 결합될 수 있도록 한다.
연속 번호(62)는 특정한 가상 엔코더에 유일하며, 그 특정한 가상 엔코더로부터의 각각의 출력으로 엔코드된다. 엔코딩 또는 사용자 키(64)는 특정한 가상 엔코더에 유일한 숫자이며, 최초의 엔코드된 정보가 외부인에 의해 리트리브될 수 없는 것과 같은 방법으로, 전송을 엔코드하는 데에 이용된다. 관리 코드(68)는 특정한 가상 엔코더의 상태에 대한 정보로 구성되며, 디코더에서의 디코딩 동작의 무결성을 체크하는 미리규정된 값을 갖는 부분을 포함할 수 있다. 카운터 및 에러 교정 정보(66)는 16 비트 카운터의 카운터 값으로, 이는 엔코더와 디코더간의 동기 트랙을 유지하는 데에 사용되며, 저장 동작 동안 가짜 에러가 발생하게 되는 경우 에러를 교정한다. 카운터는 가상 엔코더가 동작하는 각 시간 마다 바뀐다. 키 발생 씨드(60)는, 도 1을 참조하여 주목해온 바와 같이, 숫자이며, 엔코딩 키(64)와 특별한 관계를 갖는다. 키가 판독 금지(read protected)되어 있긴 하지만, 씨드(60)가 꼭 액세스가 불가능한 것은 아니다. 그러나, 둘 사이의 관계는 외부인이 씨드 값으로부터 키를 유출할 수 없게 되리라는 것을 충분히 불명료하다.
비휘발성 메모리(54)는 외부로부터 엔코딩 키(64)가 정밀 조사되는 것을 막기 위하여 판독 금지된다. 키, 또는 연속 번호(62), 씨드(60) 및 저장부(40) 내의 제조업자의 마스터 키로의 액세스는, 외부인으로 하여금 유사한 엔코더를 동일한 키로 프로그램하여 시스템으로의 액세스를 얻을 수 있도록 한다.
엔코더는, 입력 스트링을 엔코드하기 위하여 사용자 키(64)를 이용하는 비선형 엔코더(18)를 포함한다. 키의 길이는, 컴퓨터 기술에서의 본 분야의 상태를 고려하여, 분석적인 공격(analytical attacks)에 대하여 정당한 면제(reasonable immunity)가 보장될 수 있도록 충분해야 한다. 64 비트의 키 길이가 보안 및 액세스 제어 시스템에서 적당한 것으로 고려된다. 더 긴 키를 사용하는 것은 불리한 비용 문제가 관련되는 반면, 짧은 키의 사용은 떨어진 보안 레벨을 제공한다. 비선형 엔코딩 알고리즘의 출력 스트링(70)의 길이는 엔코더에 의하여 엔코드된 비트 수를 결정한다. 32 비트 출력 스트링은 보안과 전형적인 원격 제어 전송 속도에서의 반응 시간 사이에 바람직한 균형이 이루어지게 한다. 엔코딩 알고리즘으로의 입력 스트링은 32 비트이며, 활성화되고 있는 엔코더에 특정한, 버튼 엔코더(14)로부터의 기능 정보(52)(4비트)와, 카운터 정보(66)(16 비트), 및 관리 코드(68)를 포함한다. 관리 코드는, 로우 배터리 전압 표시기 및 모드 선택을 포함하는 시스템 상태 정보를 포함할 수 있다.
연속 코드 발생기(26)는 방출되는 코드를 모으는 데에 사용된다. 이 코드는 비선형 엔코더(18)에 의하여 생성되는 32 비트의 엔코드된 스트링(70)과 엔코더의 연속 번호(62)의 결합, 또는 고정 키 발생 씨드(60)와 연속 번호(62)의 결합으로 구성될 수 있다. 코드 발생기(26)는 또한 데이터 전송 인터페이스(11)에 의한 전송에 필요한 변조 기술, 본 경우에는 펄스 폭 변조(PWM)를 수행한다.
연속 코드 발생기(26)의 출력(72)은 전자기 또는 다른 수단을 이용하여 인터페이스(11)에 의해 방출된다. 데이터 전송 인터페이스(28)는 원격 동작이 요구되지 않는 경우에는 직접 연결로 대치될 수 있다.
엔코더는 부분들, 예를 들어, 엔코더에 존재하는 선택된 옵션 및 조건에 따라서, 특정한 메모리 블록 내의 관리 코드(68)의 상태 정보를 변경할 수 있는 상태모니터(74)를 포함한다. 이러한 변경은 절박한 엔코더 문제, 예를 들어 플랫 배터리에 대한 피드백을 제공할 수 있도록 디코더 내에서 검출될 수 있다. 모니터되는 상태 양상(aspect)은 유닛(76)에 의하여 선택된다.
옵션(76)은 상태 모니터(74)에 의하여 별개의 엔코더 상태를 선택하기 위하여 비휘발성 메모리내의 엔코더에서 프로그램된다. 미리규정된 특정한 옵션은 이를테면 배터리 로우 전압을 표시한다. 사용자에게 표시하기 위해, 전송시의 배터리 전압 로우 표시를 검지하기 위하여 샘(순차 접근 방식, SAM) 값이 디코더 내에 프로그램된다. 엔코더가 활성화되면, 프로그램된 옵션(76)이 활성화되며, 이에 따라 선택된 상태 모니터(74)가 활성화된다. 정보를 엔코딩하고 전송하기 전에, 미리정해진 값이 관리 코드(68)의 일부분으로 대치된다. 옵션은, 선택되고 전송될 때, 프로그램된 동작이 수행될 수 있도록 디코딩 후에 디코더에 의하여 검지된다.
도 3은 러닝 코드 호핑 액세스 제어 디코더(12)의 실행을 도시한다.
데이터 전송 인터페이스(13)는 데이터 전송 인터페이스(11)로부터의 신호의 전송에 사용되는 전자기 또는 다른 신호를 연속 코드 발생기(26)에 의하여, 실행되는 변조 기술에 따라 변조될 때까지 베이스밴드 로직 신호(78)로 변환한다.
디코더는 엔코더와 디코더 간의 타이밍 차이로 인한 전송 길이의 차이를 보상하는 수단을 구비하는 검출기(32)를 포함한다.
검출기(32)는 신호(78)로부터 32 비트의 가변성 수(80)를 추출하여, 이를 디코딩 알고리즘(34)에 인가하며, 디코딩 알고리즘(34)은 비휘발성 메모리(84)에 저장된 64 비트의 디코더 키(82)를 이용하여 가변성 수를 디코드한다. 만일 유효한 디코딩 과정이 이루어지면, 결과적인 32 비트 코드(86)는 엔코딩 전에 엔코더(10)의 비선형 엔코딩 알고리즘(18)에 삽입된 정보를 포함하게 된다.
디코더는 디코딩 과정의 유효성을 증명하기 위하여 무결성 체킹 유닛(35)을 포함한다. 유효한 디코딩에는, 도 1의 저장부(43)에 저장된 것에 해당하는 저장된 관리 코드(90)와, 디코드된 32 비트 워드(86) 사이에 미리정해진 관계가 있다.
디코더 키(82)는 도 1의 디코더(12)의 저장 위치(44)에 저장된 디코더 키에 해당한다.
동기 체킹 유닛(36)은, 무결성 체킹 유닛(35)에 의하여 발생되어 유입되는 카운터 정보(92)를 적절한 엔코더에 대하여 저장된 카운터 정보(94)와 비교함으로써, 전송의 유효성을 증명한다. 카운터 정보(94)는 도 1의 디코더(12)의 저장 위치(46)에 저장된 정보에 해당하며, 전원이 끊긴 동안 가짜 에러가 저장될 때 카운터 값이 교정됨을 보장하기 위한 에러 교정 기능을 포함한다.
출력 관리부(38)는 시스템 내에서의 활성화 및 다른 장치와 통신을 관리한다. 출력 관리부(38)는, 엔코더(10)가 엔코딩을 그만둘 것인지 아닌지, 어떠한 특별한 옵션이 요구되는지 아닌지, 몇몇 기능들이 있는지 또는 바람직한지를 표시한다. 수신 신호가 발생된 엔코더의 동일성 표시가 또한 사용가능하다. 출력 관리부(38)는 또한 옵션 제어 유닛(95)에 의하여 결정되는 옵션을 관리 하기 위하여 비휘발성 메모리(84) 내의 저장 공간을 이용하며, 이는 유닛에 의하여 생성되는 출력 신호(98)가 존재하는 포맷을 좌우하고, 특정한 시스템의 특성을 인에이블 또는 디스에이블시킨다.
러닝 제어 유닛(100)은 검출기(32), 디코더(34)의 디코딩 알고리즘, 무결성 체킹 유닛(35), 동기 체킹 유닛(36) 및 키 어드레스 관리 유닛(102)에 적절한 명령을 줌으로써 러닝 과정을 제어한다. 유닛(100)은 외부 디코더로부터의 러닝 모드에 위치할 수 있으며, 또는 출력 관리부(38)로부터의 적절한 신호를 러닝 제어 유닛(100)에 인가함으로써, 특정한 출력 결합이 디코더를 러닝 모드 내에 위치시키는 데에 이용될 수 있다. 디코더가 러닝 모드 활성화 수단, 예를 들어 디코더로부터 물리적으로 멀리 있거나 또는 분리되어 있는 스위치 또는 회로에 의하여 러닝 모드 내에 세트되는 시스템이 가장 바람직하다. 바람직하게는, 러닝 모드 활성화 수단은 엔코더로부터 또한 물리적으로 멀리 있거나 또는 분리되어 있다. 전형적으로, 이러한 목적을 위하여 단일 메모리 블록이 확보된다. 러닝 제어 유닛(100)을 포함하는 디코더가 제어기(31)에 의하여 제어된다.
마스터 엔코더로서 언급된, 지정된 디코더의 파라미터 세트(56)가 상기 확보된 메모리 블록내에 저장된다. 마스터 엔코더가 활성화될 때, 출력 관리부(38)는 제어 신호를 유닛(100)으로 보내며, 이로써 디코더(12)를 러닝 모드에 세트시키게 된다.
비휘발성 메모리(84)는 엔코더의 파라미터 세트(56A...56N)에 해당하는 다수의 파라미터 세트(13A...13N)의 저장을 준비한다. 각각의 파라미터 세트는 해당하는 엔코더의 연속 번호(62)에 해당하는 연속 번호(104), 결합된 디코더 키(82), 관리 코드(90) 및 카운터 정보(94)를 포함한다. 도 1의 저장 위치(40)에 저장되는 정보에 해당하는 제조업자의 마스터 키(106) 또한 러닝 동작 동안의 사용을 위하여 메모리(84) 내에 저장된다.
키 어드레스 관리 유닛(102)은 비휘발성 메모리(84)로(부터)의 정보의 전송을 제어한다. 키 어드레스 관리 유닛(102)은 하드웨어 또는 소프트웨어 또는 이들의 결합에서 실행될 수 있다. 이러한 유닛은 각각의 메모리 뱅크가 단일 파라미터 세트를 저장할 수 있는 메모리 뱅크를 선택한다.
러닝 동작 동안, 키 발생 유닛(42)은 새로운 엔코더에 대한 디코딩 키(82)를발생시키며 이를 개별적인 파라미터 세트(102)에 대한 적절한 메모리 위치로 전송한다. 코드 호핑 알고리즘과 유사한 수준의 복잡성을 갖는 비선형 엔코딩 알고리즘은, 키 발생 씨드와 엔코딩 또는 디코딩 키(82) 사이의 관계가 가능한한 불명료하게 되도록 보장하는 데에 사용된다.
도 5는 엔코더 파라미터 세트(56) 및 디코더 파라미터 세트(102)의 표현을 포함하고 있으며 각 파라미터 세트 내용의 요약을 포함한다. 사용자가 엔코더(10)를 활성화시키기 위하여 버튼(48)을 누르게 되면, 버튼 엔코딩 유닛(14)은 어떠한 버튼 또는 버튼의 결합이 눌러졌는 지를 판단하며 제어 신호의 결합과 함께 4 비트의 기능 코드(52)를 발생시킨다. 제어 신호는 적절한 파라미터 세트를 받아들이는 메모리 블럭, 및 전송이 호핑 코드 또는 고정 코드로 구성되는 지를 결정한다.
버튼(48)은, 엔코더를 전기적으로 제어할 수 있는 시스템으로 대치될 수 있다. 특별한 명령 인터페이스를 이용하여, 이를 테면 컴퓨터 또는 다른 장비에 의하여 명령이 발생될 수 있다. 엔코더의 전원 또한 명령 인터페이스에 의하여 공급된다.
엔코더 및 디코더 결합의 다른 적용예는 입증 및 액세스 제어 목적을 위하여 사용될 수 있다. 엔코더는, 사람이 휴대할 수 있고, 이를 테면 보안 영역을 액세스하는 데에 사용하는 토큰 또는 스마트 카드 내에 수용될 수 있다. 통신은 전기 인터페이스 상에서 이루어진다. 이러한 경우에는, 엔코더와 디코더 간에 정보를 통신하는 데에 양방향 통신이 이용된다. 디코딩 과정에서 사용되는 키(82)를 정하기 위하여 엔코더의 연속 번호(62)가 디코더로 전송된다. 챌린지로서 알려진 값이 디코더에 의한 엔코더로의 입력 값으로서 존재한다. 엔코더는 챌린지 값을 엔코드하며 엔코드된 값을 디코더에 돌려준다. 이제 디코더는 엔코드된 값을 디코드 하며, 이를 엔코더의 확실성을 정하기 위하여 챌린지 값과 비교하고, 그에 따라서 출력을 활성화시킨다. 이러한 기술은 일반적으로 IFF(친구 또는 적의 식별)로서 공지되어 있다. 이러한 적용에서, 엔코더의 씨드(60)는 러닝 모드에서 디코더로 전송될 수 있다. 본 설명에서 설명된 바와 같이 키(82)는 디코더 내에서 발생되고 저장될 수 있다.
엔코더에 대하여 하나 이상의 파라미터 세트를 이용하는 능력은, 단일 작동 주파수가 할당되었을 지라도, 엔코더가 방해없이 하나 이상의 디코더를 어드레스할 수 있게 한다. 엔코더는 각각 독립적인 동작을 할 수 있는 몇 개의 독립적인 엔코더 중에서 선택되는 것으로 간주되며, 이에 따라 “가상 엔코더”라 일컫는다. 분명히, 엔코더는 동시에 동작하지 못한다. 주파수 호핑 동작에 있어서, 엔코더(18)의 비선형 엔코딩 알고리즘은 4 비트 기능 코드(52)와 함께 카운터 정보(66) 및 관리 코드(68)를 엔코드하기 위하여 개별적인 엔코딩 키(64)를 이용한다. 32 비트 출력 코드(70)가 연속 코드 발생기(26)에 전달된다. 카운터 정보(66)는 개별적인 가상 엔코더에 대하여 전송이 이루어지는 각각의 시간 마다 변경된다. 연속 코드 발생기(26)는 적절한 엔코더의 연속 번호(62)를 엔코드된 부분에 추가하며, 이로써 PWM 연속 형태(본 예)로 데이터 전송 인터페이스(11)의 입력으로 전달되는 단일 출력 코드(72)를 형성하게 된다.
고정 코드 동작에 있어서, 키 발생 씨드(60)는 연속 번호(62)와 함께, 코드를 PWM 연속 형태로 데이터 전송 인터페이스(11)에 전달하는 연속 코드 발생기(26)에 직접 입력된다.
두 개의 동작 모드에서, 데이터 전송 인터페이스(11)는 전자기 또는 다른 수단을 이용하여 연속 코드 발생기로부터의 정보를 전송한다.
데이터 전송 인터페이스(13)에 의하여 수신된 신호는 PWM 형태가 될 때까지 로직 신호(78)로 변환된다. 포맷 검출기(32)는 로직 신호(78)를 모니터하며, 명백하게 유효한 신호의 앞부분이 관찰될 때, 검출기는 정상 타이밍으로부터의 편차를 보상하기 위하여 유입되는 신호에 대하여 그 자신을 측정한다(calibrate). 유입되는 시호 중 나머지 부분이 수신되며 숫자로, 본 예에서는 64 비트 이진 수로 변환된다.
검출기 출력 중 첫번째 32 비트, 즉 호핑 코드는 80으로 표시되고 디코더(34)의 디코딩 알고리즘으로 표현된다. 마지막 32 비트, 즉 연속 번호는 키 발생 어드레스 관리 유닛(102)에 전달된다. 이 유닛은 일치가 발견될 때까지, 수신된 연속 번호와 저장된 연속 번호(104)를 비교함으로써, 이용되는 메모리 블록을 결정한다. 디코딩 알고리즘(34)은 호핑 코드(80)를 디코드하기 위하여, 정확한 메모리 블록, 즉 개별적인 파라미터 세트로부터의 디코더 키(82)를 이용한다. 32 비트 출력(86)은 무결성 체킹 유닛(35)으로 전달된다. 이 32 비트 스트링은 초기의 4 비트 기능 코드(52), 16 비트의 카운터 정보(66) 및 12 비트의 관리 코드(68)를 포함한다. 무결성 체킹 유닛(35)은 디코드된 워드(86) 내의 디코드된 관리 코드(68)와 저장된 버전(90) 사이의 미리정해진 관계를 체크한다. 만일 규정된 관계가 존재한다면, 디코딩은 유효한 것으로 여겨진다.
디코드된 카운터(66)는 개별적인 파라미터 세트에 유지되어 있는 저장된 카운터(94)와 비교된다. 만일 동기가 전송이 유효함을 입증하면, 저장된 값(94)은 갱신되며 출력 관리부(38)가 이에 따라 제어된다.
출력 관리부(38)는 디코드 기능 정보(98)를 출력한다. 유닛은 이 정보를 외부 제어기에 의하여 사용하기 위하여 연속 포맷내에서 사용할 수 있도록 하거나, 다수의 다른 조건 중 어떠한 것을 표시하기 위하여 별개의 출력을 가질 수 있다. 관리 코드, 유효 신호 표시기, 및 제 2 기능 모드의 일부로서 포함될 수 있는 디코드되는 엔코더의 일치는 모두 유용한 출력 정보(98)의 예이다.
러닝 동작은 사용자가 시스템에 새로운 엔코더를 추가하고자 할 때 일어난다. 이때, 러닝 제어 유닛(100)은 러닝 모드에 들어가기 위하여 그를 자극하여, 예를 들어 활성화 스위치(110)에 의하여, 입력 신호를 수신한다. 바람직하게는, 상기 설명한 바와 같이, 스위치(110)는 디코더 및 엔코더로부터 물리적으로 분리되어 있거나 멀리 있다. 신호는 외부, 예를 들어 스위치에 의하여 발생된 명령의 형태가 될 수 있거나, 또는 상기 설명한 바와 같이, 유효 코드를 수신한 후에 출력 기능 제어 유닛(48)으로부터 나올 수 있다.
사용자는 이제 특정한 러닝 하드웨어 구성을 이용하여 고정 코드 엔코더로서 엔코더(10)를 활성화시킨다. 키 발생 씨드(60)는 전송의 가변성 코드 부분을 대신하며 연속 번호(72)는 엔코드된 코드의 나머지로서 유지된다.
데이터 전송 인터페이스(11)로부터 방출된 결과적인 신호가데이터 전송 인터페이스(13)에 의하여 수신된다. 포맷 검출기(32)는 전체의 수신된 전송(78)을 키 어드레스 관리 유닛(102)으로 전달한다. 따라서, 유닛(102)에 전달된 신호는 64 비트 스트링이다. 유닛(102)은 러닝 모드 내에서 그의 정상 기능으로부터 벗어나며, 연속 번호, 키 발생 씨드 및 제조 업자의 마스터 키(106)로부터 디코딩 키(82)를 발생시킨다. 이 키는 이러한 목적을 위하여 특별하게 사용되는 포인터 값에 따라서 메모리 블록 중 하나에 기록되며 메모리 블록(108)에 유지된다. 수신된 연속 번호(104)는 개별적인 파라미터 세트에 관련된 적절한 메모리 블록에 저장된다. 다음의 러닝 포인터는 다양한 다른 기술에 따라서 처리될 수 있다. 옵션은 사용가능한 메모리 위치를 통하여 포인터를 싸이클링하는 것을 특히 포함하며, 사용자가 외부로부터 포인터를 세트시킬 수 있게 한다.
보안의 관점으로부터, 유닛(42)에 의해 수행되는 종류 중 키 발생 알고리즘은, 가령 마이크로 프로세서와 같이 알고리즘을 공적인 조사에 개방시키면서 쉽게 역설계되는 일반적인 로직 장치인, 주문형 집적 회로(ASIC)에서만 실행되어야 한다.
이제 사용자는 엔코더를 코드 호핑 모드 내에서 두 번 활성화시킨다. 첫 번째 전송 동안, 64 비트 코드가 데이터 전송 인터페이스(13)에 의해 수신되며 검출기(32)에 의해 검출된다. 디코더(34)의 디코딩 알고리즘은 새롭게 발생된 디코더 키(82)를 이용하여 32 비트 가변성 코드(80)를 디코드하며 디코드된 관리 코드(90)를 정확한 위치에 저장한다. 디코드된 카운터 정보(94) 또한 정확한 위치에 저장된다.
두 번째 전송 동안, 수신 신호는 검출기(32)에 의해 검출되며 연속 번호는 키 어드레스 관리 유닛(102)으로 전달되어 새롭게 저장된 연속 번호(104)와 비교된다. 또한, 32 비트 가변성 코드(80)가 디코딩 알고리즘(34)에 의하여 검출된다. 무결성 체킹 유닛(35)은 저장된 버전(90)에 대하여 디코드된 관리 코드를 체크하며 동기 체킹 유닛(36)은 저장된 버전(94)에 대하여 디코드된 카운터 정보를 체크한다. 만일 이들 체크가 성공적이지 못하면, 러닝 동작은 수행되지 않는다. 만일 이들 체크가 모두 성공적이라면, 다음의 메모리 블록이 러닝을 위하여 사용가능함을 표시하기 위하여 저장 위치(108) 내의 다음의 러닝 포인터가 변경된다.
러닝 과정은 또한 특정한 엔코더에 사용하기 위한 특정한 출력의 결합을 런하는 루틴을 포함할 수 있다. 예를 들어, 특정 사용자가 특정한 시스템 내에서 특별한 우선권을 요구할 수 있으며 이러한 우선권은 상기의 루틴 동안 할당될 수 있다.
일단 전체 러닝 동작이 성공적으로 끝났다면, 사용자는 엔코더가 정확히 동작함을 증명하기 위하여 엔코더를 한 번 더 활성화시켜야 한다.
지금까지 설명한 시스템은 유입되는 전송을 디코드하기 위하여 저장된 키(82)를 사용한다. 러닝 시스템의 변형 구성은 키(82)에 대하여 할당된 위치에 완전한 키 대신에 키 발생 씨드 만을 저장하는 것이다. 디코딩 동작 동안, 관련된 키 발생 씨드 및 제조업자의 마스터 키(106)로부터 정확한 키가 발생된다. 이의 장점은, 키 발생 씨드가 키 보다 더 적은 저장 공간을 필요로 하기 때문에, 더 적은 비휘발성 저장 공간을 필요로 한다는 것이다. 정확한 키는 필요할 때 마다 램 내에서 발생된다.
도 4a 및 도 4b는 디코더에서 구현되는 러닝 알고리즘의 플로우 챠트이다. 도 4a를 설명하면, 이전에 설명한 바와 같이, 일단 러닝 모드가 되면, 키 발생 씨드(단계 150) 및 호핑 코드(단계 152)가 디코더에 의하여 수신된다. 단계 154에서는, (키 발생 유닛(42)내에서) 관계 카운터(relational counter)가 초기화되며, 제로로 세트된다. 관계 카운터는 키 발생 씨드, 엔코더 연속 번호 및 엔코더의 키 사이, 또는 엔코더 연속 번호 및 엔코더의 키 사이에 하나 이상의 관계를 가능하게 하는 데에 이용된다.
단계 156에서, 관계 카운터(154)는, 입력으로서 제조업자의 마스터 키(106) 및 키 발생 씨드를 적어도 이용하여 비선형 알고리즘인 키 발생 알고리즘에 대하여 변경된 씨드를 구성하는 데에 이용된다. 키가 발생된 후(단계 158), 관리 코드가 디코드되고(단계 160) 저장될 수 있다(단계 162). 단계 164에서는, 디코딩 동작이 유효한 지를 판단하기 위하여 디코딩 동작의 무결성이 체크된다. 만일 유효하면, 플로우 과정은 단계 170으로 진행한다. 만일 유효하지 않으면, 단계 166에서 동작이 수행될지의 여부가 판단된다. 만일 동작이 수행되어야 한다면, 관계 카운터(154)는 유효한 새로운 관계를 세우기 위하여 증가된다(단계 168).
키 발생 씨드와 연속 번호 사이의 모든 유효한 관계가 사용되었고 유효한 관계(단계 166)가 더 이상 발견되지 않으면, 러닝 과정은 단계 172에서 종료된다.
러닝 동안 무효한 엔코더를 우연히 받아들이게 되는 가능성은 엔코드되는 관리 코드 내에 미리규정한 비트의 수에 관련된다. 설명되고 있는 실행에서는 12 이하의 비트가 사용가능하기 때문에, 최상의 무결성은 4000 중에서 1 정도이다. 이러한 레벨은 보안 시스템에는 부적절하다고 여겨진다. 무결성은 관리 코드의 알려진 성분의 길이를 증가시키거나, 런되고 있는 엔코더로부터의 두 번째 전송(도 4b의 단계 176)을 기반으로 알고리즘을 체크함으로써 개선될 수 있다. 더 긴 코드는, 가령 더 높은 비용 및 더 긴 반응 시간과 같은 단점을 갖는다. 두 번째 전송을 이용하여, 시스템 비용이나 반응 시간에 영향을 주지 않으면서, 중요한 많은 명령에 의하여 무결성 체크의 확실성을 증가시킨다.
플로우 챠트의 두 번째 부분은, 도 4b를 참조하여 설명한 상기의 기술을 실행한다. 만일 디코딩 기능이 수행되고 유효한 것으로 밝혀지면(단계 170), 디코드된 카운터 값은 저장된다(단계 174). 단계 176에서는, 두 번째 호핑 코드가 수신된다. 이 코드는 디코드되며(단계 178) 디코드된 관리 코드는 저장된 관리 코드와 검증된다(단계 180). 만일 그 값이 매치되지 않는다면, 러닝 과정은 무효한 것으로 받아들여져 중지된다. 다음으로, 카운터 값은 단계 182에서 저장된 카운터 값과 검증된다. 만일 그 값이 매치되지 않는다면, 전송은 무효하고 정당하지 않은 것으로 받아들여져 중지된다. 만일 카운터 값이 매치된다면, 유효 런 동작으로 해석된다. 만일 정상 코드 호핑 시스템 동작에 대하여 카운터가 매치하지 않는다면, 디코더에 의하여 디코드되지 않는 한동안의 전송을 가능하게 하여, 이들이 매치된 것 처럼 유효한 것으로서 인정될 수 있는 얼마간의 손실(leeway)이 카운터 동기 체킹(단계 182)에서 허용될 수도 있다.
단계 184에서는, 유효 러닝 과정이 완료된 것으로 간주한다. 다음의 러닝 포인터(도 3의 108 참조)가 다음의 사용가능한 러닝 위치를 지시하기 위하여 단계 185에서 갱신된다. 특정한 엔코더와 관련된 러닝을 하는 출력 구성이 필요하다면 단계 188에 포함될 수 있다. 단계 190에서 러닝 싸이클이 완료된다.
명백하게는, 상기의 설명에 비추어 보면 본 발명의 많은 변형 및 변화가 가능하다. 예를 들어, 엔코더부(10)는 주문형 집적 회로(ASIC)에서 실행된다. 일부의 회로는, 가령 파라미터 세트(56) 및 옵션(76)과 같이, 개별적으로 변하며 프로그램가능한 값을 저장하는 데에 사용되는 비휘발성 메모리로 이루어진다. 이러한 실행 방법이 시스템의 보안 및 실질적인 양상을 보장하는 데에 사용됨에도 불구하고, 이는 컴퓨터 또는 마이크로프로세서 제어기 내의 소프트 웨어에서 실행될 수 있다. 동일한 시도가 디코더(12)에도 이용된다. 기능 및 메모리부분은 ASIC에서 실행되지만, 컴퓨터 또는 마이크로프로세서 제어기에서 또한 실행될 수 있다. 이러한 실행은, 많은 사용자가 시스템을 액세스할 수 있게 하기 위하여 많은 양의 정보를 저장하는 데에 필요한 디코더에서 바람직하다. 따라서, 첨부된 청구항의 범위 내에서 본 발명은 본 명세서에서 특정하게 설명된 것과 다르게 실행될 수 있음은 말할 나위도 없다.

Claims (5)

  1. 엔코더 러닝 모드 활성화 수단, 및 디코더를 포함하는 액세스 제어 시스템에 있어서, 상기 엔코더는,
    연속 번호를 저장하는 수단과;
    씨드; 및
    제조업자의 마스터 키와; 상기 씨드 및 상기 연속 번호 중 적어도 하나를 이용하여 발생되는 첫 번째 키 중 적어도 하나를 저장하는 수단과;
    상기 씨드와;
    상기 연속 번호; 및
    상기 첫 번째 키 및 알고리즘을 입력 값에 적용함으로써 얻어지는 정보로부터 선택되는 적어도 하나의 키 발생 정보를 포함하는 신호를 전송하는 전송 수단; 및
    상기 디코더를 러닝 모드에 세트시키며, 상기 엔코더 및 상기 디코더로부터 물리적으로 멀리 있는 디코더 러닝 모드 활성화 수단을 포함하며;
    상기 디코더는,
    상기 제조업자의 마스터 키를 저장하는 수단과;
    전송된 신호를 수신하는 수단; 및
    상기 키 발생 정보 및 상기 제조업자의 마스터 키를 적어도 이용하여 두 번째 키를 발생시키는 수단을 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  2. 엔코더 및 디코더를 포함하는 액세스 제어 시스템 동작 방법으로서,
    연속 번호를 저장하는 단계와;
    씨드와;
    제조업자의 마스터 키와, 상기 씨드 및 상기 연속 번호 중 적어도 하나를 이용하여 발생되는 첫 번째 키 중 적어도 하나를 저장하는 단계와;
    상기 씨드와;
    상기 연속 번호; 및
    상기 첫 번째 키 및 알고리즘을 입력 값에 적용함으로써 얻어지는 정보로부터 선택되는 적어도 하나의 키 발생 정보를 포함하는 신호를 전송하기 위하여 엔코더를 이용하는 단계와;
    상기 디코더 내에 상기 제조업자의 마스터 키를 저장하는 단계와;
    상기 디코더를 러닝 모드에 세트시키기 위하여, 상기 엔코더 및 상기 디코더로부터 멀리 있는 디코더 러닝 모드 활성화 수단을 활성화 시키는 단계와;
    상기 디코더에 의하여 전송된 신호를 수신하는 단계; 및
    상기 키 발생 정보 및 상기 제조업자의 마스터 키를 적어도 이용하여, 상기 디코더에 의해 두 번째 키를 발생시키는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제조업자의 마스터 키를 저장하는 단계와;
    디코더로부터 물리적으로 멀리 있거나 분리되어 있는 디코더 러닝 모드 활성 수단을 활성화시킴으로써 디코더를 러닝 모드에 세트시키는 단계와;
    씨드와;
    연속 번호; 및
    첫 번째 키 및 알고리즘을 입력 값에 인가함으로써 얻어지는 엔코드 정보로부터 선택되는 적어도 하나의 키 발생 정보를 포함하고 있는 신호를 수신하는 단계와;
    상기 키 발생 정보 및 상기 제조업자의 마스터 키를 적어도 이용하여 두 번째 키를 발생시키는 단계를 포함하는 것을 특징으로 하는 디코더 동작 방법.
  4. 엔코더 및 디코더를 포함하는 롤링 코드 또는 코드 호핑 시스템으로서,
    이는 디코더 러닝 모드 활성 수단을 포함하며, 이로써 상기 수단이 활성화되면 디코더를 러닝 모드에 세트하게 되고, 상기 수단은 엔코더 및 디코더로부터 물리적으로 멀리있거나 분리된 것을 특징으로 하는 시스템.
  5. 전송기 및 수신기를 포함하는 코드 호핑 또는 롤링 코드 시스템으로서,
    이는 수신기 러닝 모드 스위치를 포함하며, 이로써 상기 스위치가 활성화되면 수신기를 러닝 모드에 세트하게 되고, 상기 스위치는 수신기 및 전송기로부터 물리적으로 멀리 있거나 분리된 것을 특징으로 하는 시스템.
KR1019997000936A 1997-06-03 1998-06-03 안전 자기 러닝 시스템 KR20000068050A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8/868,131 1997-06-03
US08/868,131 US6166650A (en) 1991-05-29 1997-06-03 Secure self learning system

Publications (1)

Publication Number Publication Date
KR20000068050A true KR20000068050A (ko) 2000-11-25

Family

ID=25351129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997000936A KR20000068050A (ko) 1997-06-03 1998-06-03 안전 자기 러닝 시스템

Country Status (8)

Country Link
US (1) US6166650A (ko)
EP (1) EP0923663B1 (ko)
JP (1) JP2000516313A (ko)
KR (1) KR20000068050A (ko)
DE (1) DE69839868D1 (ko)
ES (1) ES2312188T3 (ko)
TW (1) TW408551B (ko)
WO (1) WO1998055717A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2193846C (en) 1995-05-17 2004-02-17 Bradford L. Farris Rolling code security system
US7047369B1 (en) * 1997-09-25 2006-05-16 Aladdin Knowledge Systems Ltd. Software application environment
US6606561B2 (en) * 2000-05-17 2003-08-12 Omega Patents, L.L.C. Vehicle tracker including input/output features and related methods
US6856237B1 (en) * 2000-06-26 2005-02-15 Doorking, Inc. Method and apparatus for radio frequency security system with automatic learning
US6975202B1 (en) * 2000-11-21 2005-12-13 International Business Machines Corporation Electronic key system, apparatus and method
US7684565B2 (en) * 2001-01-16 2010-03-23 General Instrument Corporation System for securely communicating information packets
US6931128B2 (en) * 2001-01-16 2005-08-16 Microsoft Corporation Methods and systems for generating encryption keys using random bit generators
US6956495B2 (en) * 2001-05-22 2005-10-18 oneLINK System and method for remote opening of handicap access doors
US7039185B2 (en) * 2001-10-03 2006-05-02 Pitney Bowes Inc. Method and system for securing a printhead in a closed system metering device
US6973191B2 (en) * 2001-11-02 2005-12-06 Activcard System and method for generating symmetric keys within a personal security device having minimal trust relationships
US6726192B2 (en) * 2001-12-13 2004-04-27 Lawrence N. Devers Wood panel clamping tool
US6756895B2 (en) 2002-02-11 2004-06-29 The Chamberlain Group, Inc. Device learning mode method
US7107040B2 (en) 2002-02-11 2006-09-12 The Chamberlain Group, Inc. Method and apparatus for displaying blocked transmitter information
US6832076B2 (en) 2002-02-11 2004-12-14 The Chamberlain Group, Inc. Audible diagnostic information apparatus and method
US7173514B2 (en) * 2002-03-15 2007-02-06 Wayne-Dalton Corp. Operator for a movable barrier and method of use
US6963267B2 (en) 2002-03-15 2005-11-08 Wayne-Dalton Corporation Operator for a movable barrier and method of use
FR2837939B1 (fr) 2002-03-26 2004-09-17 Somfy Procede de reprogrammation d'objets bidirectionnels
FR2837966B1 (fr) * 2002-03-28 2008-03-28 Somfy Dispositif de commande a distance d'un actionneur dans une installation de protection et/ou de confort avec moyens de transfert de programme executable et procede de mise en oeuvre
US7911358B2 (en) * 2002-10-08 2011-03-22 Johnson Controls Technology Company System and method for enrollment of a remotely controlled device in a trainable transmitter
US6882729B2 (en) * 2002-12-12 2005-04-19 Universal Electronics Inc. System and method for limiting access to data
US7234159B1 (en) 2003-01-07 2007-06-19 Altera Corporation Method and apparatus for controlling evaluation of protected intellectual property in hardware
US7023162B2 (en) * 2003-02-18 2006-04-04 The Chamberlain Group, Inc. Automatic gate operator
US7890758B2 (en) * 2003-03-27 2011-02-15 International Business Machines Corporation Apparatus and method for generating keys in a network computing environment
US7161466B2 (en) 2003-07-30 2007-01-09 Lear Corporation Remote control automatic appliance activation
US7183941B2 (en) 2003-07-30 2007-02-27 Lear Corporation Bus-based appliance remote control
US7068181B2 (en) 2003-07-30 2006-06-27 Lear Corporation Programmable appliance remote control
JP4307227B2 (ja) * 2003-12-03 2009-08-05 キヤノン株式会社 設定方法
US7428268B2 (en) * 2004-12-07 2008-09-23 Adaptix, Inc. Cooperative MIMO in multicell wireless networks
US8422667B2 (en) 2005-01-27 2013-04-16 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US9148409B2 (en) 2005-06-30 2015-09-29 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
US7576646B2 (en) * 2005-09-20 2009-08-18 Robert Bosch Gmbh Method and apparatus for adding wireless devices to a security system
US7636032B2 (en) * 2005-11-30 2009-12-22 Kantrowitz Allen B Active RFID tag with new use automatic updating
KR20110036816A (ko) * 2008-06-24 2011-04-11 샌디스크 아이엘 엘티디 고체 상태 메모리의 소거 횟수에 따라 에러를 정정하기 위한 방법과 장치
US20100123564A1 (en) * 2008-11-20 2010-05-20 Oliver David Grunhold Self learning data module system
US20110093639A1 (en) 2009-10-19 2011-04-21 Microchip Technology Incorporated Secure Communications Between and Verification of Authorized CAN Devices
US10137860B2 (en) * 2016-11-17 2018-11-27 Ford Global Technologies, Llc Remote keyless entry message authentication
US11252468B2 (en) 2017-05-02 2022-02-15 Enseo, Llc Set-top box with enhanced behavioral controls and system and method for use of same
US10390079B2 (en) 2017-05-02 2019-08-20 Enseo, Inc. Set-top box with enhanced behavioral controls and system and method for use of same
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
WO2020028502A1 (en) 2018-08-01 2020-02-06 The Chamberlain Group, Inc. Movable barrier operator and transmitter pairing over a network
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US29525A (en) * 1860-08-07 Metallic alloy for journal bearings and boxes
GB2023899B (en) * 1978-06-14 1982-10-27 Hitachi Ltd Remote-controlled automatic control apparatus
US4426637A (en) * 1979-02-26 1984-01-17 Multi-Elmac Company Combination encoder-decoder integrated circuit device
US4380762A (en) * 1980-01-31 1983-04-19 Gaetano Capasso Polyfunction programmable data receiver
DE3234538A1 (de) * 1982-09-17 1984-03-22 Siemens AG, 1000 Berlin und 8000 München Verfahren zur code-sicherung bei einem elektronischen schluessel
US4529980A (en) * 1982-09-23 1985-07-16 Chamberlain Manufacturing Corporation Transmitter and receiver for controlling the coding in a transmitter and receiver
US4535333A (en) * 1982-09-23 1985-08-13 Chamberlain Manufacturing Corporation Transmitter and receiver for controlling remote elements
DE3237622A1 (de) * 1982-10-11 1984-04-12 Bayerische Motoren Werke AG, 8000 München Sicherheitseinrichtung
DE3244049C2 (de) * 1982-11-27 1986-06-26 Kiekert GmbH & Co KG, 5628 Heiligenhaus Zentralverriegelungsanlage für ein Kraftfahrzeug
DE3300732A1 (de) * 1983-01-12 1984-09-20 Kiekert GmbH & Co KG, 5628 Heiligenhaus Zentralverriegelungsanlage fuer ein kraftfahrzeug
DE3320721A1 (de) * 1983-06-08 1984-12-13 Siemens AG, 1000 Berlin und 8000 München Verfahren zur code-sicherung bei einem elektronischen schluessel
US4590470A (en) * 1983-07-11 1986-05-20 At&T Bell Laboratories User authentication system employing encryption functions
US4931789A (en) * 1983-11-01 1990-06-05 Universal Photonix, Inc. Apparatus and method for a universal electronic locking system
US4686529A (en) * 1984-01-06 1987-08-11 Kiekert Gmbh & Co. Kommanditgesellschaft Remote-control lock system
DE3407436A1 (de) * 1984-02-29 1985-08-29 Siemens AG, 1000 Berlin und 8000 München Verfahren zur code-sicherung bei einem elektronischen schluessel
DE3407469A1 (de) * 1984-02-29 1985-09-05 Siemens AG, 1000 Berlin und 8000 München Verfahren zur code-sicherung bei einem elektronischen schluessel
US4754255A (en) * 1984-03-12 1988-06-28 Sanders Rudy T User identifying vehicle control and security device
US4928098A (en) * 1984-03-30 1990-05-22 Siemens Aktiengesellschaft Method for code protection using an electronic key
US4574247A (en) * 1984-05-21 1986-03-04 Multi-Elmac Company FM Signal demodulator
US4750118A (en) * 1985-10-29 1988-06-07 Chamberlain Manufacturing Corporation Coding system for multiple transmitters and a single receiver for a garage door opener
US4638433A (en) * 1984-05-30 1987-01-20 Chamberlain Manufacturing Corporation Microprocessor controlled garage door operator
JPS61139873A (ja) * 1984-12-13 1986-06-27 Casio Comput Co Ltd 認証方式
EP0215291B1 (de) * 1985-09-10 1991-02-27 Hülsbeck & Fürst GmbH. & Co. KG Elektronische Schliesseinrichtung für Kraftfahrzeuge
DE3532156A1 (de) * 1985-09-10 1987-03-26 Huelsbeck & Fuerst Elektronische schliesseinrichtung fuer kraftfahrzeuge
JPH0754536B2 (ja) * 1986-02-17 1995-06-07 株式会社日立製作所 Icカ−ド利用システム
US4737770A (en) * 1986-03-10 1988-04-12 Interactive Technologies, Inc. Security system with programmable sensor and user data input transmitters
FR2597538B1 (fr) * 1986-04-22 1995-03-31 Soum Rene Ensemble cle-serrure de securite a telecommande dans lequel la cle n'a qu'une fonction d'emission et la serrure de reception
US4779090A (en) * 1986-08-06 1988-10-18 Micznik Isaiah B Electronic security system with two-way communication between lock and key
JPH0747910B2 (ja) * 1986-10-24 1995-05-24 日産自動車株式会社 リモ−トコントロ−ルドアロツク装置
DE3636822C2 (de) * 1986-10-29 1993-12-23 Ruf Kg Wilhelm Elektronische Fernbetätigungseinrichtung, insbesondere für Zentralverriegelungsanlagen von Kraftfahrzeugen
FR2606232B1 (fr) * 1986-10-31 1988-12-02 Neiman Sa Procede de codage evolutif de haute securite et dispositif de mise en oeuvre de ce procede
FR2607544A1 (fr) * 1986-11-27 1988-06-03 Neiman Sa Serrure electronique a changement de code periodique
US4731575A (en) * 1986-12-08 1988-03-15 Sloan Joseph W Prepayment metering system using encoded purchase cards
JP2767816B2 (ja) * 1987-10-07 1998-06-18 セイコーエプソン株式会社 リモコン送信・受信装置
DE3741324A1 (de) * 1987-12-05 1989-06-15 Alltronik Gmbh Handsender zur aussendung codierter elektromagnetischer impulse und darauf abgestimmter empfaenger
ES2029710T3 (es) * 1987-12-17 1992-09-01 Siemens Aktiengesellschaft Procedimiento y circuito para la cancelacion protegida contra la manipulacion de memorias ee-prom.
US4864615A (en) * 1988-05-27 1989-09-05 General Instrument Corporation Reproduction of secure keys by using distributed key generation data
US4912463A (en) * 1988-08-09 1990-03-27 Princeton Technology Corporation Remote control apparatus
JPH0732499B2 (ja) * 1988-08-16 1995-04-10 日産自動車株式会社 施解錠制御システム
US4890108A (en) * 1988-09-09 1989-12-26 Clifford Electronics, Inc. Multi-channel remote control transmitter
US4855713A (en) * 1988-10-07 1989-08-08 Interactive Technologies, Inc. Learn mode transmitter
US5049867A (en) * 1988-11-30 1991-09-17 Code-Alarm, Inc. Vehicle security apparatus
IT1227401B (it) * 1988-12-06 1991-04-08 Delta Elettronica Spa Dispositivi per la trasmissione a distanza di comandi in sicurezza
US5148159A (en) 1989-04-26 1992-09-15 Stanley Electronics Remote control system with teach/learn setting of identification code
ZA914063B (en) 1990-05-29 1993-03-31 Nanoteq Pty Limited Microchips and remote control device comprising same
US5224163A (en) * 1990-09-28 1993-06-29 Digital Equipment Corporation Method for delegating authorization from one entity to another through the use of session encryption keys
US5144667A (en) * 1990-12-20 1992-09-01 Delco Electronics Corporation Method of secure remote access
US5686904A (en) * 1991-05-29 1997-11-11 Microchip Technology Incorporated Secure self learning system
FR2685520B1 (fr) * 1991-12-23 1998-06-12 Monetel Carte a memoire rechargeable, procede de securisation et terminal d'utilisation.
US5191610A (en) * 1992-02-28 1993-03-02 United Technologies Automotive, Inc. Remote operating system having secure communication of encoded messages and automatic re-synchronization
SG46692A1 (en) * 1992-03-30 1998-02-20 Telstra Corp Ltd A cryptographic communications method and system
FR2698195B1 (fr) * 1992-11-19 1994-12-16 Gemplus Card Int Procédé et circuit de cryptage et d'authentification pour carte à mémoire synchrone.
US5506905A (en) * 1994-06-10 1996-04-09 Delco Electronics Corp. Authentication method for keyless entry system
EP0688929B1 (en) * 1994-06-21 2004-10-13 Microchip Technology Inc. Secure self-learning

Also Published As

Publication number Publication date
US6166650A (en) 2000-12-26
JP2000516313A (ja) 2000-12-05
TW408551B (en) 2000-10-11
DE69839868D1 (de) 2008-09-25
WO1998055717A1 (en) 1998-12-10
ES2312188T3 (es) 2009-02-16
EP0923663A1 (en) 1999-06-23
EP0923663B1 (en) 2008-08-13

Similar Documents

Publication Publication Date Title
KR20000068050A (ko) 안전 자기 러닝 시스템
US5686904A (en) Secure self learning system
US6191701B1 (en) Secure self learning system
US5517187A (en) Microchips and remote control devices comprising same
US6882729B2 (en) System and method for limiting access to data
US5408217A (en) Secure fire/security/sensor transmitter system
US6175312B1 (en) Encoder and decoder microchips and remote control devices for secure unidirectional communication
US5767784A (en) Initialization method for keyless entry system
US6225889B1 (en) Method of producing rolling code and keyless entry apparatus using the same
JP2004515947A (ja) 遠隔制御装置および遠隔制御装置を設定する方法
EP0688929B1 (en) Secure self-learning
US20050024228A1 (en) Method for matching transmitters and receiver
US6108326A (en) Microchips and remote control devices comprising same
KR200217980Y1 (ko) 금고용 원격조정무선개폐장치
JPH09221949A (ja) 自動車用アクチュエータのリモート・コントロール装置
US20060153383A1 (en) Method for securing the recording mode of a home automation device
US5862225A (en) Automatic resynchronization for remote keyless entry systems
EP0830687B1 (en) Method and apparatus useful in electronic encoders having a voltage level detection circuit
KR100862009B1 (ko) 알에프아이디 리더(또는 단말)를 인증하는 보안 알에프아이디 태그와 알에프아이디 리더(또는 단말) 인증 방법 및 시스템
MXPA01006670A (es) Metodo y aparato para un sistema de seguridad de radiofrecuencia con aprendizaje automatico.
US7356141B2 (en) Baud rate modulation encoding/decoding method and device for remote controller
JP3414575B2 (ja) 信号照合方法
JPH1030367A (ja) 識別信号照合装置及び識別信号照合方法
JPH11324436A (ja) 遠隔操作装置
JPH0288857A (ja) リモートコントロール装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application