KR20050086347A - 인증을 위한 시스템과 방법 - Google Patents

인증을 위한 시스템과 방법 Download PDF

Info

Publication number
KR20050086347A
KR20050086347A KR1020040060758A KR20040060758A KR20050086347A KR 20050086347 A KR20050086347 A KR 20050086347A KR 1020040060758 A KR1020040060758 A KR 1020040060758A KR 20040060758 A KR20040060758 A KR 20040060758A KR 20050086347 A KR20050086347 A KR 20050086347A
Authority
KR
South Korea
Prior art keywords
response
hash
challenge
code
authentication
Prior art date
Application number
KR1020040060758A
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 KR20050086347A publication Critical patent/KR20050086347A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect
    • 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

Abstract

인증과정이 챌린지를 받고 저장된 시드값을 회복시킴으로써 실행된다. 리스판스는 챌린지와 그 시드값에 기초해서 생성된다.

Description

인증을 위한 시스템과 방법{SYSTEM AND METHOD FOR AUTHENTICATION}
본 발명은 순환 여분코드(cyclic redundancy code(CRC)) 기능을 사용하여 연산된 챌린지-리스판스(challenge-response)를 이용하는 특별한 인증에 있어서, 인증 프로토콜에 관계된다.
디지털 인증은 현대적인 시스템의 중요한 부분일 수 있다. 인증은 통신, 거래 그리고 장치에서 사용의 필요성을 갖는다. 인증 프로토콜에서는 자주 속도와 안전 사이에서 선택해야하는 흥정이 존재한다. 신속하게 수행되는 인증 시스템을 구비하는 것이 중요할 수도 있고 충분한 보안 인증을 제공하는 인증 시스템을 구비하는 것이 중요할 수도 있다. 그렇기 때문에 보안 인증 리스판스를 계산하기 위한 효율적인 시스템과 방법이 요구되고 있다.
본 발명의 몇몇 실시예가 도면들을 참조하여 다음에 설명되어질 것이다. 도면들에서 동일한 참조번호는 동일한 구성요소를 지정하도록 사용되었다. 도면이 반드시 비례에 맞게 그려지지는 않았으며 어떤 경우에는 단지 설명에 도움이 되려는 목적에 의하여 과장되거나 단순화되었다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 뒤따르는 가능한 실시예에 기초한 본 발명의 많은 가능한 응용과 변화를 이해할 수 있을 것이다
도 1은 챌린지 리스판스 인증 시스템(100)의 기능적 블럭도를 나타낸다. 챌 린지 리스판스 인증 시스템(100)은 피인증유닛(102)과 통신적으로 연결된 인증자유닛(101)을 포함한다. 일반적으로, 인증자유닛(101)은 권한(103)에 연결되어질 수 있다. 피인증유닛(102)은 장치(104)와 연결되어질 수 있다. 어떤 실시예에서, 인증자유닛(101)은 권한(103)이 없어도 충분할 수 있다. 어떤 실시예에서는 피인증유닛(102)이 장치(104)가 없어도 충분할 수 있다. 특별히 여기서 피인증유닛(102)은 토큰이나 키이로써 피인증유닛(102)의 소유를 인증하는데 사용된다.
권한(103)은 만약 장치(104)가 권한(103)에 성공적으로 인증된다면 장치(104)가 통신할 수 있도록 연결된 시스템이거나 리소스일 수 있다. 개시된 실시예에 따라서, 권한(103)은 휴대전화기일 수 있고, 장치(104)는 휴대전화기 배터리일 수 있다. 권한(103)은 컴퓨터 네트워크일 수 있고, 장치(104)는 컴퓨터일 수 있다. 권한(103)은 자물쇠일 수 있고, 장치(104) 또는 피인증유닛(102)은 열쇠일 수 있다.
실시예에 따라서 인증자유닛(101)과 피인증유닛(102)은 상호 인증을 허용하면서 쌍으로 배치할 수도 있다. 이 쌍으로 배치된 인증자유닛(101)과 피인증유닛(102)은 실시예의 특정한 안전 관계에 따라 리소스를 공유할 수도 있고 단독으로 실행될 수도 있다. 그 유닛 내에 기능적 여분(redundancy)때문에, 인증자유닛(101)은 그런 배치가 충분한 인증 보안을 제공할 때 피인증유닛(102)으로써 실질적으로 기능할 수 있다.
인증자유닛(101)과 피인증유닛(102)은 기능적 구성요소들을 포함하는 것으로 묘사되었다. 이 기능적 구성요소들은 마이크로프로세서에 의해 수행되는 소프트웨어에서, 하나 또는 그 이상의 집적회로, 정밀회로 또는 소프트웨어와 하드웨어의 결합에서 실행될 수 있다. 쉽게 설명하기 위해, 구성요소들의 실제 실행이 일반적으로 바람직한 실시예로부터 벗어날지라도 이 기능적 구성요소들이 마치 서로 독립적으로 실행되고 통신으로 연결된 것처럼 취급될 것이다.
인증자유닛(101)은 인증자 I/O부재(105), 챌린지 생성기(106), 인증자 리스판스 생성기(107) 및 인증자 메모리(108)를 포함할 수 있다. 개시된 실시예에 따르면, 인증자 I/O 부재(105)는 권한(103), 피인증유닛(102), 챌린지 생성기(106), 인증자 리스판스 생성기(107) 및 인증자 메모리(108)에 연결되어 있다. 인증자 리스판스 생성기(107)는 챌린지 생성기(106)와 인증자 메모리(108)에 연결될 수 있고, 또한 인증자 I/O 부재(105)를 통해서 이 구성요소들과 연결될 수도 있다.
인증자유닛(101)은 인증자 I/O 부재(105)를 포함할 수 있다. 인증자 I/O 부재(105)는 인증자유닛(101), 피인증유닛(102) 및 권한(103)사이의 통신을 조절할 수 있다. 인증자 I/O 부재(105)는 하나 이상의 포트, 잭, 전선 커넥터 또는 다른 수동 연결요소를 포함하는 수동 연결요소를 포함할 수 있다. 인증자 I/O 부재(105)는 프로세서, 전송기, 수신기, 변조기, 논리 회로 또는 다른 능동 연결요소를 포함하는 능동 연결요소를 포함할 수 있다. 인증자 I/O 부재(105)는 통신의 진행, 전달 및 수령을 조절하는 소프트웨어 연결요소를 포함할 수 있다.
인증자유닛(101)은 챌린지 생성기(106)를 포함할 수 있다. 챌린지 생성기(106)는 챌린지 리스판스 인증에서 챌린지로서 사용 되는 비트의 순서를 제공할 수 있다. 챌린지 생성기(106)는 인증 리스판스 생성기(107)와 피인증유닛(102)에 전달하기 위한 인증자 I/O 부재(106)에 챌린지를 제공할 수 있다. 한가지 실시예에 따르면, 챌린지 생성기(106)는 의사-랜덤(pseudo-random)의 수 생성기이다. 챌린지 생성기(106)는 임의의 수 생성기일 수 있다. 챌린지는 시드나 통과어구(pass-phrase)를 포함하는 비트의 순서나 정적 메모리에 저장된 소정의 챌린지 순서의 집합이나 운동 메모리로부터 선택된 순서의 형태로부터 선택되어져 엄선된 비트의 순서나 다른 적당한 비트의 순서를 생성하는 과정에서 형성된다. 인증 과정의 보안은 생성된 챌린지에 의지할 것이다. 그래서 챌린지 생성기(106)의 선택은 인증과정의 정황에 의해 요구되는 보안 수준에 달려있을 수 있다. 일반적으로, 가장 강한 챌린지는 진정 임의의 수 생성기로부터 얻어질 것이다.
한가지 실시예에 따르면, 챌린지 생성기(106)는 32비트 임의의 순서를 제공한다. 한가지 실시예에 따라서 인증과정에서 단지 한번만 챌린지가 제공되는 경우에는 진정 임의의 순서가 유용할 수 있다. 일반적으로 시드나 통과어구를 사용하는 다른 실시예에 따르면, 챌린지는 다른 시간에 재생될 필요가 있을 수 있다. 이 경우에는 의사-임의의 순서가 필요할 수도 있다. 한가지 실시예에 따르면, 챌린지가 챌린지 생성기(106)에 의해 어떤 형식으로든 제공될 수 있고 무슨 형식으로든 전환된 챌린지가 다른 구성요소에 의해 요구되는지 본 발명의 당업자에게 불분명해 보인다 해도 챌린지 생성기는 연속적으로 챌린지를 제공한다.
인증자유닛(101)은 인증자 메모리(108)를 포함할 수 있다. 개시된 실시예에 따르면, 인증자 메모리(108)는 저장된 비트를 허가 없이는 읽거나 접근하거나 식별하거나 변경할 수 없는 그런 보안 메모리일 수 있다. 개시된 실시예에 따르면, 인증자 메모리(108)는 전기적으로 제거할 수 있고 프로그램할 수 있는 단지 읽기만 되는 메모리(EEPROM)일 수 있다. 민감한 데이터가 인증자 메모리(108)에 저장되었을 때, 민감한 데이터로의 인증되지 않은 읽고 쓰기 액세스를 불가능하게 하거나 어렵게 만들기 위해 폐쇄 비트가 융화되어질 수도 있다. 인증자 메모리(108)를 구체화하는 집적회로가 프로빙이나 인증자 메모리(108)의 안전을 침해하는 다른 물리적 방법을 어렵게 하기 위해 고안될 수 있다. 민감한 데이터는 인증자 메모리(108)에 저장되기 전에 암호화될 수도 있다. 본 발명이 속하는 기술 분야의 당업자들에게 알려진 바와 같이, 인증자 메모리(108)내에서 민감한 데이터를 보호하기 위한 다른 형태가 채용될 수도 있다.
인증자 메모리(108)는 시드 데이터를 저장할 수도 있다. 주어진 한 세트의 시드 데이터는 피인증유닛(102)과 관련되어질 수 있다. 몇 개의 피인증유닛(102)은 각각 다른 시드 데이터의 세트와 관련되어질 수도 있다. 한 실시예에 따르면, 인증자 메모리(108)는 특이한 시드 데이터와 실질적으로 각각 관련되어 있는 특이한 피인증유닛(102)에 대한 피인증유닛 확인 데이터를 저장할 수 있다.
인증자유닛(101)은 인증자 리스판스 생성기(107)를 포함할 수 있다. 인증자 리스판스 생성기(107)는 챌린지 생성기(106)로부터 챌린지를 받아서 챌린지 리스판스 인증 프로토콜에서 리스판스로써 작용하는 비트의 순서를 생성하기 위해 챌린지를 변형시킨다. 인증자 리스판스 생성기(107)는 변형시 사용을 위해 인증자 메모리(108)로부터 시드 데이터를 받을 수 있다. 그 시드 데이터는 피인증유닛(102)과 관련되어 있어서 인증자 리스판스 생성기(107)에 의해 생성된 리스판스가 피인증유닛(102)과 관련되어질 수 있다.
기능상으로, 인증자 리스판스 생성기(107)는 리스판스를 생성하기 위하여 어떤 변형 기능을 사용할 수 있다. 챌린지 리스판스 인증 과정의 장점과 효율은 대체로 사용된 변형 기능에 달려있다. 설명된 실시예에 따르면, 인증자 리스판스 생성기(107)는 복수의 독립적 순환 여분 신호 기능으로부터 유도되는 변형기능을 사용한다. 한가지 실시예에 따라서 특정한 변형기능을 사용한 인증자 리스판스 생성기(107)가 도 2와 도 7을 참조로 도시되어 있다.
피인증유닛(102)은 피인증 I/O 부재(109), 피인증 리스판스 생성기(110) 및 피인증 메모리(111)를 포함할 수 있다. 개시된 실시예에 따르면, 피인증 I/O 부재(109)는 장치(104), 인증자유닛(101), 피인증 리스판스 생성기(110) 및 피인증 메모리(111)에 연결되어진다. 피인증 리스판스 생성기(110)는 직접 피인증 메모리(111)에 연결되어질 수 있거나, 피인증 I/O 부재(109)를 통해서 피인증 메모리(111)에 연결되어질 수 있다.
피인증유닛(101)은 피인증 I/O 구성요소(109)를 포함할 수 있다. 피인증 I/O 구성요소(109)는 피인증유닛(102), 인증자유닛(101)과 장치(104)의 구성요소들 사이의 통신을 조절할 수 있다. 피인증 I/O 부재(109)는 하나 이상의 포트, 잭, 전선 커넥터 또는 다른 수동 연결요소를 포함하는 수동 연결요소를 포함할 수 있다. 피인증 I/O 부재(109)는 프로세서, 전송기, 수신기, 변조기, 복조기, 논리 회로 또는 다른 능동 연결요소를 포함하는 능동 연결요소를 포함할 수 있다. 피인증 I/O 부재(109)는 통신의 진행, 전달 및 수령을 조절하는 소프트웨어 연결요소를 포함할 수 있다.
피인증유닛(102)은 피인증 메모리(111)를 포함할 수 있다. 개시된 실시예에 따르면, 피인증 메모리(111)는 저장된 비트를 허가 없이는 읽거나 접근하거나 식별하거나 변경할 수 없는 그런 보안 메모리일 수 있다. 개시된 실시예에 따르면, 피인증 메모리(111)는 전기적으로 제거할 수 있고 프로그램할 수 있는 단지 읽기만 되는 메모리(EEPROM)일 수 있다. 민감한 데이터가 피인증 메모리(111)에 저장되었을 때, 민감한 데이터로의 인증되지 않은 읽고 쓰기 액세스를 불가능하게 하거나 어렵게 만들기 위해 폐쇄 비트가 융화되어질 수도 있다. 피인증 메모리(111)를 구체화하는 집적회로가 프로빙이나 피인증 메모리(111)의 안전을 침해하는 다른 물리적 방법을 어렵게 하기 위해 고안될 수 있다. 민감한 데이터는 피인증 메모리(111)에 저장되기 전에 암호화될 수도 있다. 본 발명이 속하는 기술 분야의 당업자들에게 알려진 바와 같이, 피인증 메모리(111)내에서 민감한 데이터를 확보하기 위한 다른 형태가 채용될 수도 있다.
피인증유닛(102)은 피인증 리스판스 생성기(110)를 포함할 수 있다. 피인증 리스판스 생성기(110)는 피인증 I/O 부재(109)로부터 챌린지를 받아서 챌린지 리스판스 인증 프로토콜에서 리스판스로써 작용하는 비트의 순서를 생성하기 위해 챌린지를 변형시킨다. 일반적으로, 피인증 리스판스 생성기(110)에 의해 수행되는 변형 기능은 인증자 리스판스 생성기(107)에 의해 수행되는 변형 기능과 동일하다. 또 다른 실시예에 따르면, 피인증 리스판스 생성기(110)의 변형 기능은 인증자 리스판스 생성기(107)의 변형 기능과 반대이거나 다른 것이다.
기능상으로, 피인증 리스판스 생성기(110)는 리스판스를 생성하기 위하여 어떤 변형 기능을 사용할 수 있다. 챌린지 리스판스 인증과정의 장점과 효율은 대체로 사용된 변형 기능에 달려있다. 설명된 실시예에 따르면, 피인증 리스판스 생성기(110)는 복수의 독립적 순환 여분 신호 기능으로부터 유도되는 변형기능을 사용한다. 한가지 실시예에 따라서 특정한 변형기능을 사용한 피인증 리스판스 생성기(110)가 도 2와 도 7을 참조로 도시되어 있다.
인증자유닛(101)과 피인증유닛(102)은 인증자 I/O 부재(105)와 피인증 I/O 부재(109)를 통해서 서로 통신할 수 있다. 일반적으로, 통신은 물리적인 전기적으로 전도성 접촉의 직접 연결에 의하여 달성된다. 본 발명이 속하는 기술 분야의 당업자에게 알려진 바와 같이, 다른 형태의 통신이 인증과정의 정황에 맞추어서 실행될 수도 있다. 통신은 유선 통신이나 무선 통신을 사용해서도 수행될 수 있다. 통신은 패킷-기반 네트워크 프로토콜이나 광학 신호 또는 기계적 신호를 통해서도 달성될 수 있다. 통신은 하나 이상의 통신방법을 적절히 사용해서 수행될 수도 있다.
한가지 실시예에 따른 리스판스 생성기(112)의 기능적 블럭도가 도 2를 참조해서 나타난다. 리스판스 생성기(112)는 도 1에서 보인 바와 같이 인증자 리스판스 생성기(105)와 피인증 리스판스 생성기(110)로써 사용될 수 있다. 리스판스 생성기(112)가 분리된 기능적 구성요소를 사용해서 실행되는 것으로 묘사되어졌지만 본 발명이 속하는 기술 분야의 당업자들은 실제 실행은 분리된 구성요소로부터 하나의 집적회로 속으로 통합되어 프로세서나 다양한 하드웨어와 소프트웨어 구성요소의 결합을 구동하는 소프트웨어에서 일어난다는 것을 인식할 것이다. 또한, 리스판스 생성기(112)의 인증자 생성기(105)로써의 실행은 기능적으로는 동일하지만 피인증 리스판스 생성기(110)로써의 실행과는 다를 수 있다.
리스판스 생성기(112)는 일반적으로 입력(113)으로부터 입력 비트 스트림을 받는다. 개시된 실시예에 따르면, 입력 비트 스트림은 챌린지 리스판스 인증 프로토콜의 챌린지이다. 입력(113)의 기능은 챌린지 생성기(106)나 인증자 I/O 부재(105) 또는 피인증 I/O 부재(109)에 의해 수행된다. 입력(113)은 챌린지 비트 스트림을 한 세트의 멀티플렉서(114, 115, 116 및 117)의 입력에 공급한다. 개시된 실시예에 따르면, 리스판스 생성기(112)는 4개의 멀티플렉서(114, 115, 116 및 117)를 포함한다. 4개의 멀티플렉서(120, 121, 122 및 123) 각각은 한 세트의 어드레서블 입력을 포함한다. 개시된 실시예에 따르면, 각각의 멀티플렉서는 4개의 어드레서블 입력을 갖는다. 제 1 멀티플렉서(114)는 어드레서블 입력(129, 130, 131 및 132)을 포함한다. 제 2 멀티플렉서(115)는 어드레서블 입력(134, 135, 136 및 137)을 포함한다. 제 3 멀티플렉서(116)는 어드레서블 입력(138, 139, 140 및 141)을 포함한다. 제 4 멀티플렉서(117)는 어드레서블 입력(144, 145, 146 및 147)을 포함한다.
각각의 멀티플렉서(114, 115, 116 및 117)는 2비트의 주소 입력(133, 142, 143 및 148)을 포함한다. 2비트의 주소 입력 (133, 142, 143 및 148)에 2비트의 입력 코드 ADA, ADB, ADC, ADD를 적용함으로써 멀티플렉서(114, 115, 116 및 117)는 어드레서블 입력중의 하나를 출력으로 선택한다. 예를 들면, 멀티플렉서(114)는 어드레서블 입력(129, 130, 131 및 132)을 포함한다. ADA가 00과 같이 부여되어 주소 입력(133)에 적용될 때 입력(129)에서의 입력 신호는 멀티플렉서(114)로부터의 출력이다. ADA가 01과 같이 부여되어 주소 입력(133)에 적용될 때에는 입력(130)에서의 입력 신호는 멀티플렉서(114)로부터의 출력이다. 비슷하게, 각 멀티플렉서의 각 어드레서블 입력은 적절한 주소 입력에 적절한 주소 코드를 적용함으로써 선택되어질 수 있다. 입력코드는 일반적으로 인증자 메모리(108)이나 피인증 메모리(111)와 같은 보안 메모리로부터 받게 된다.
각 멀티플렉서(114, 115, 116 및 117)의 입력은 한 세트의 CRC 계산기(119, 120, 121 및 122)중의 하나로의 비트 와이즈 입력이다. CRC 계산기(119, 120, 121 및 122)는 레지스터 시드(149, 150, 151 및 152)로 각각 초기화된다. 그 레지스터 시드들(149, 150, 151 및 152)은 일반적으로 인증자 메모리(108)이나 피인증 메모리(111)와 같은 보안 메모리로부터 받게 된다. 개시된 실시예에 의하면, CRC 계산기(119, 120, 121 및 122)는 챌린지의 각 비트에 시리얼 식으로 작용한다. 각 연산 사이클에서, 챌린지 순서의 비트는 각 멀티플렉서(114, 115, 116 및 117)중의 하나에 입력이다. 각 연산 사이클에서, 시리얼 출력비트 SOA(125), SOB(126), SOC(127) 및 SOD(128)는 각각의 CRC 계산기(119, 120, 121 및 122)로부터의 출력이다. 개시된 실시예에 따르면, 시리얼 출력 비트들(125, 126, 127 및 128)은 멀티플렉서들(114, 115, 116 및 117)의 어드레서블 입력으로 피드백 된다.
CRC 계산기(119, 120, 121 및 122)로부터 멀티플렉서들(114, 115, 116 및 117)의 어드레서블 입력으로 시리얼 출력 비트들(125, 126, 127 및 128)의 피드백은 리스판스 생성기(112)에 더 큰 예측 불가능성을 제공하도록 패턴될 수 있다. 개시된 실시예에 따르면, 입력(113)은 제 1 멀티플렉서(114)의 제 1 어드레서블 입력(129), 제 2 멀티플렉서(115)의 제 2 어드레서블 입력(135), 제 3 멀티플렉서(116)의 제 3 어드레서블 입력(140) 및 제 4 멀티플렉서(117)의 제 1 어드레서블 입력(147)으로 공급된다. 제 1 CRC 계산기(119)의 시리얼 출력 비트(125)는 제 2 멀티플렉서(115)의 제 1 어드레서블 입력(134), 제 3 멀티플렉서(116)의 제 1 어드레서블 입력(138) 및 제 4 멀티플렉서(117)의 제 1 어드레서블 입력(144)으로 공급된다. 제 2 CRC 계산기(120)의 시리얼 출력 비트(126)는 제 1 멀티플렉서(114)의 제 2 어드레서블 입력(130), 제 3 멀티플렉서(116)의 제 2 어드레서블 입력(139) 및 제 4 멀티플렉서(117)의 제 2 어드레서블 입력(145)으로 공급된다. 제 3 CRC 계산기(121)의 시리얼 출력 비트(127)는 제 1 멀티플렉서(114)의 제 3 어드레서블 입력(131), 제 2 멀티플렉서(115)의 제 3 어드레서블 입력(136) 및 제 4 멀티플렉서(117)의 제 3 어드레서블 입력(146)으로 공급된다. 제 4 CRC 계산기(122)의 시리얼 출력 비트(128)는 제 1 멀티플렉서(114)의 제 4 어드레서블 입력(132), 제 2 멀티플렉서(115)의 제 4 어드레서블 입력(137) 및 제 3 멀티플렉서(116)의 제 4 어드레서블 입력(141)으로 공급된다. 본 발명이 속하는 기술 분야의 당업자들은 다른 피드백 패턴이 실행될 수 있다는 것을 인식할 것이다.
입력(113)에 의해 제공된 전체 입력 비트 순서가 CRC 계산기(119, 120, 121 및 122)에 의해 처리되었을 때, 각각의 8비트 출력순서는 각 CRC 계산기(119, 120, 121 및 122)로부터의 출력이다. 8비트 출력순서는 리스판스 순서의 제 1 비트가 각 8비트 출력 순서 등의 제 1 비트의 exclusive-or인 8비트 리스판스 순서를 생성하기 위하여 8비트 출력순서에 대해 비트 와이즈 exclusive-or 기능을 수행하는 exclusive-or 구성요소(123)로의 입력이다. 다른 실시예에 의하면, 8비트 출력 순서들은 상대적으로 시프트된다. 그래서 제 2 출력순서는 제 1 출력 순서에 비해 2-비트만큼 오른쪽으로 시프트되고, 제 3 출력순서는 제 1 출력 순서에 비해 4-비트만큼 오른쪽으로 시프트되며 제 4 출력순서는 제 1 출력 순서에 비해 6-비트만큼 오른쪽으로 시프트된다. 시프트된 출력순서들은 그 다음에 8-비트 리스판스 순서를 형성하기 위해 결합된다. 리스판스는 일반적으로 시리얼 메시지 신호로 출력 부재(124)에 제공된다. 출력부재(124)는 리스판스 생성기(112)가 인증자 리스판스 생성기(107)로 사용되는 때에는 인증자 I/O 부재(105)일 수 있다. 출력 부재(124)는 리스판스 생성기(112)가 피인증 리스판스 생성기(110)로 사용되는 때에는 피인증 I/O부재(109)일 수 있다.
개시된 실시예에 따른 CRC 계산기(150)의 기능적 블럭도가 도 3을 참조하여 보인다. CRC 계산기(150)의 기능적 블럭도가 분리된 구성요소들과 함께 실행되는 것처럼 표현되었지만 본 발명이 속하는 기술 분야의 당업자들은 CRC 계산기(150)는 다른 실행들에서도 기능할 수 있다는 것을 인식할 것이다. 기능은 하나이상의 집적회로나 논리 회로나 프로세서에서 구동하는 소프트웨어나 이들 실행 구성요소들의 결합에서 실행될 수 있다. 구체적인 실행 방식은 실시예의 파라미터나 실시예의 상황에 따라 다를 수 있다. 시프트-레지스터 모델 외에도 CRC 계산기(150)를 실행하는 다른 방식이 있는데 특히, CRC 계산기(150)는 룩업 테이블을 사용해서 실행될 수 있다는 것을 본 발명이 속하는 기술 분야의 당업자들은 인식할 수 있을 것이다. CRC 계산기(150)의 구체적인 실행이 실시예에 필요한 출력들이 이용가능하다면 선택되어 질 수 있다.
CRC 계산기(150)는 레지스터 위치(156, 157, 158, 159, 160, 161, 162, 163)를 담고 있는 시프트 레지스터(151)를 포함한다. 개시된 실시예에 따르면, 시프트 레지스터(151)는 8개의 레지스터 위치를 포함한다. 8개 이상 또는 이하의 레지스터 위치를 갖는 CRC 계산기(150)가 사용될 수 있음은 당업자에게 쉽게 인식될 것이다. 시프트 레지스터는 각 레지스터 위치에 b 비트를 저장함으로서, 제 1 비트(b7)는 제 1 레지스터 위치(156)에 저장되고, 제 2 비트(b6)는 제 2 레지스터 위치(157)에 저장되고, 제 3 비트(b5)는 제 3 레지스터 위치(158)에 저장되고, 제 4 비트(b4)는 제 4 레지스터 위치(159)에 저장되고, 제 5 비트(b3)는 제 5 레지스터 위치(160)에 저장되고, 제 6 비트(b2)는 제 6 레지스터 위치(161)에 저장되고, 제 7 비트(b1)는 제 7 레지스터 위치(162)에 저장되고, 제 8 비트(b0)는 제 8 레지스터 위치(163)에 저장된다. 각 계산 사이클마다, 제 8 레지스터 위치(163)에 저장된 비트(b0)는 시리얼 출력(154)으로서의 출력이고, 제 7 레지스터 위치(162)에 저장된 비트(b1)는 제 8 레지스터 위치(163)내로 이동하고, 제 6 레지스터 위치(161)에 저장된 비트(b2)는 제 7 레지스터 위치(162)내로 이동하고, 제 5 레지스터 위치(160)에 저장된 비트(b3)는 제 6 레지스터 위치(161)내로 이동하고, 제 4 레지스터 위치(159)에 저장된 비트(b4)는 제 5 레지스터 위치(160)내로 이동하고, 제 3 레지스터 위치(158)에 저장된 비트(b5)는 제 4 레지스터 위치(159)내로 이동하고, 제 2 레지스터 위치(157)에 저장된 비트(b6)는 제 3 레지스터 위치(158)내로 이동하고, 제 1 레지스터 위치(156)에 저장된 비트(b7)는 제 2 레지스터 위치(157)내로 이동하고, 그리고 시리얼 입력(152)로부터의 입력비트는 시리얼 출력비트(154)와 결합(Exclusive-OR(172))하여 제 1 레지스터 위치(156)내로 이동한다.
각 레지스터 위치(156, 157, 158, 159, 160, 161, 162, 163)는 초기에 시드입력(153)으로부터 시드 비트입력을 저장한다. 도시된 실시예에서, 시드입력(153)은 인증자 메모리(108) 또는 피인증 메모리(111)이다.
CRC 계산기(150)는 출력 순서(155)를 계산하기 위하여 다항식 코드(p)를 사용한다. 도시된 실시예에 따르면, 다항식 코드(p)는 양의 3-비트 거듭제곱과 음의 3-비트 거듭제곱을 나타내는 6-비트 이진 코드이다. 양의 거듭제곱은 CRC 레지스터(151)의 비트 순서에서 양의 피드백 항목, exclusive-or 함수(176)의 위치를 지정한다. 음의 거듭제곱은 CRC 레지스터(151)의 비트 순서에서 음의 피드백 항목, exclusive-nor 함수(174)의 위치를 지정한다. 제로는 음의 피드백 항목이 없다는 것을 나타낸다. 도시된 실시예에서, 양의 3-비트 거듭제곱은 2 이고, 음의 3 비트 거듭제곱은 4이다.
표준 CRC 계산에 따르면, 시리얼 출력비트(154)가 "1"과 같을 때, 시프트 레지스터(151)에 저장된 각 비트는 p에 의해 대표되는 다항식의 대응 비트에 더해진다(이진 가산은 exclusive-or 함수와 같고, 이진 감산은 exclusive-nor 함수와 같음). 개시된 실시예에 따르면, exclusive-or(176)와 exclusive-nor(174)는 그들의 위치와 시리얼 출력비트 및 시리얼 입력비트의 exclusive-or에 따른 각 비트들상에서 동작된다.
시리얼 입력(152)으로부터의 최종 비트가 제 1 레지스터 위치(156)로 이동한 후 및 다항식이 적당한 곳의 시프트 레지스터의 내용에 가산된 후, 시프트 레지스터의 최종 내용은 출력(155)에 의해 수신된다.
도 4를 참조하면, 인증자유닛(101)과 함께 피인증유닛(102)의 초기화(200)를 위한 흐름도가 도시된다. 피인증유닛(102)은 기능블럭(202)중 피인증유닛(102)을 초기화하기 위하여 인증자유닛(101)에 통신 가능하도록 연결된다. 이와 같은 초기화 프로토콜에서 인증자유닛(101)은 인증 프로토콜을 수행하는 인증자유닛(101)과 물리적으로 같을 필요가 없다는 것이 당업자에게 인식될 것이다. 초기화 프로토콜은 물리적인 동일보다는 저장된 정보의 연속성을 요구한다.
인증자유닛(101)은 기능블럭(204)에서 피인증유닛(204)과 관련되어 피인증 식별코드를 캡쳐한다. 피인증 식별코드는 피인증 메모리(108)로부터 독출되거나 또는 피인증유닛(102)에 할당됨과 동시에 피인증 메모리9108)에 저장된다. 피인증 식별코드는 특별히 피인증유닛(102)을 식별하거나 또는 피인증유닛들의 형태나 종류를 식별한다. 또 다른 실시예에 따르면, 초기화가 특정 피인증유닛(101) 또는 피인증유닛의 종류에 대해 맞춤형식으로 이루어지지 않은 곳에서, 피인증 식별코드는 사용될 수 없고, 단계는 생략된다.
처리과정은 인증자유닛(101)이 다항식 코드를 할당하는 기능블럭(206)으로 진행한다. 전형적으로, 다항식 코드는 소정의 다항식 코드의 집합으로서 선택된다. 다항식코드는 소정의 다항식 코드의 집합으로부터 랜덤하게 또는 소정의 패턴에 따라 선택된다. 다항식 코드는 랜덤하게 또는 다항식 코드 생성 프로토콜에 다라 생성된다. 개시된 실시예에 따르면, 다항식 코드는 8-비트 2진 코드이다. 주어진 실시에 적합한 다항식 코드가 8-비트 보다 크거나 작을 수 있고 또는 적당한 다른 형태로 나타내어질 수 있다는 것이 당업자에게는 쉽게 인식될 것이다.
처리과정은 시드코드가 할당되는 기능블럭(208)으로 진행한다. 전형적으로 시드코드는 랜덤하게 생성된다. 시드코드는 소정의 시드코드의 집합으로부터 선택된다. 시드코드는 소정의 시드코드의 집합으로부터 랜덤하게 또는 소정의 패턴에 따라 선택된다. 개시된 실시예에 따르면, 시드코드는 8-비트이다. 주어진 실시에 적합한 시드코드가 8-비트 보다 크거나 작을 수 있고 또는 적당한 다른 형태로 나타내어질 수 있다는 것이 당업자에게는 쉽게 인식될 것이다.
처리과정은 기능블럭(210, 210)으로 진행한다. 기능블럭(210)에서, 다항식 코드와 시드코드는 피인증 메모리(111)에 저장된다. 기능블럭(212)에서, 다항식 코드와 시드코드는 인증자 메모리(108)에 저장된다. 피인증 식별코드가 피인증유닛(102)과 연관되어지는 곳에서, 다항식 코드와 시드코드는 피인증 식별코드와 관련하여 인증자 메모리(108)내에 저장된다. 다항식 코드와 시드코드는 기능블럭(210)에서 피인증 메모리(111)내에 저장되기 전에 기능블럭(214)에서 암호화된다. 다항식 코드와 시드코드는 기능블럭(212)에서 인증자 메모리(108)내에 저장되기 전에 기능블럭(216)에서 암호화된다. 피인증 식별코드는 안전에 대한 고려사항과 구현된 데이터 복원기술에 의하여 기능블럭(216)에서 암호화된다.
기능블럭(210)에서 다항식 코드와 시드코드가 피인증 메모리(108)내에 저장될 때, 처리과정은 피인증 메모리(111)내에 저장된 데이터가 확보되는 곳인 기능블럭(218)으로 진행한다. 피인증 메모리(111)내에서 데이터의 보안단계는 디지털 보안측정, 물리적 보안측정 또는 둘 다를 포함한다. 피인증 메모리(111)는 이 시점전에 보안될 것이고 추가적인 보안 측정이 이어질 것이라는 것은 당업자도 인식할 수 있다.
다항식 코드와 시스코드가 기능블럭(212)에서 인증자 메모리(105)내에 저장될 때, 처리과정은 인증자 메모리(108)내에 저장된 데이터가 보안되는 곳인 기능블럭(220)으로 진행한다. 인증자 메모리(108)내의 데이터 보안단계는 디지털 보안측정, 물리적 보안측정 또는 둘 다를 포함한다. 인증자 메모리(108)는 이 시점전에 보안될 것이고 추가적인 보안 측정이 이어질 것이라는 것은 당업자도 인식할 수 있다.
도 5를 참조하면, 인증자유닛(101) 또는 권한(103)에 대한 피인증유닛(102) 또는 장치(104)의 인증을 위한 인증과정(222)이 흐름도로 표시된다. 인증은 기능블럭(224)에서 초기화된다. 처리과정은 권한(103)과 장치(104) 사이의 통신이 확립되는 곳인 기능블럭(226)으로 진행한다. 전형적으로, 권한(103)과 장치(104) 사이의 통신은 인증된 I/O부재(109)와 인증자 I/O부재(105)를 직접 연결함으로서 확립된다.
처리과정은 권한(103)이 챌린지 코드를 생성하는 곳인 기능블럭(228)으로 진행한다. 개시된 실시예에 따르면, 챌린지 코드는 챌린지 생성기(106)에 의해 생성된다. 권한(103)은 기능블럭(230)에서 장치(104)로 챌린지 코드를 전송한다.
장치(104)는 장치(104)내에 저장된 다항식 코드와 시드코드를 판독하여, 기능블럭(232)에서 다항식 코드와 시드코드를 피인증 리스판스 생성기(110)내로 입력한다. 전형적으로, 이 단계는 기능블럭(224)에서 인증 초기화의 일부로 또는 리스판스 계산전에 순차적으로 수행될 것이다. 다항식 코드와 시드코드는 기능블럭(234)에서 필요에 따라 암호해독된다.
다항식 코드, 시드코드 및 챌린지 코드를 사용하여, 장치(104)는 기능블럭(236)에서 리스판스를 계산한다. 개시된 실시예에 따르면, 리스판스는 피인증 리스판스 생성기(110)를 사용하여 계산된다. 장치(104)는 기능블럭(238)에서 챌린지 리스판스를 권한(103)에게 전송한다.
권한(103)은 기능블럭(240)에서 인증 메모리(108)로부터의 다항식 코드 및 시드코드를 판독한다. 인증 메모리(108)내의 다항식 코드와 시드코드가 피인증 식별코드와 관련하여 저장되는 곳에서, 권한(103)은 피인증 식별코드를 수신하고, 인증 메모리(108)로부터의 관련된 다항식 코드와 시드코드를 판독한다. 다항식 코드와 시드코드가 암호화된 형태로 저장될 때, 코드들은 기능블럭(242)에서 암호해독된다. 챌린지 코드, 다항식 코드 및 시드코드를 이용하여, 권한(103)은 기능블럭(244)에서 리스판스 코드를 계산한다. 개시된 실시예에 따르면, 권한(103)은 인증자 리스판스 생성기(107)와 함께 리스판스 코드를 계산한다.
권한(103)은 장치(104)로부터 수신한 챌린지 리스판스로부터의 리스판스 코드를 기능블럭(246)에서 권한(103)에 의해 계산된 리스판스 코드와 비교한다. 만약 결정블럭(248)에서 수신되어 계산된 리스판스 코드가 같다면, 처리과정은 "YES"경로를 따라 장치 인증상태가 인증됨으로서 성립되는 곳인 기능블럭(252)으로 진행한다. 만약 결정블럭(248)에서 수신되어 계산된 리스판스 코드가 같지 않다면, 처리과정은 "NO"경로를 따라 장치 인증상태가 인증되지 않음으로서 성립되는 곳인 기능블럭(250)으로 진행한다. 예를 들어, 장치(104)가 인증되었을 때, 권한(103)은 장치(104)가 리소스에 접근하는 것을 허용한다. 장치(104)가 인증되지 않았을 때, 권한(103)은 장치(104)와의 추가적인 통신을 거부한다.
도 6을 참조하면, 리스판스 생성기(112)를 초기화하는 과정(260)의 흐름도가 도시된다. 처리과정은 저장된 다항식 코드가 메모리로부터 검색됨으로서 기능블럭(262)에서 시작된다. 개시된 실시예에 따르면, 저장된 다항식 코드는 6-비트 2진코드로 나타내어짐으로서 8승과 0승 사이에 0이 아닌 2개만의 다항식 계수가 있게 된다. 8승과 0승의 계수는 1 로 설정된다. 6-비트 2진코드의 처음 3개 비트는 음의 피드백 승수를 식별하고, 6-비트 2진코드의 두번째 3개 비트는 양의 피드백 승수를 식별한다. 저장된 다항식 코드 표현은 8-비트 다항식 코드(p1, p2, p3, p4)로 번역될 수 있다.
처리과정은 저장된 시드코드가 메모리로부터 검색됨으로서 기능블럭(264)으로 진행한다. 개시된 실시예에서, 저장된 시드코드는 8-비트 2진 코드로서 저장된다.
처리과정은 저장된 주소 코드가 메모리로부터 검색됨으로서 기능블럭(266)으로 진행한다. 개시된 실시예에서, 저장된 주소코드는 2-비트 2진 코드로서 저장된다.
처리과정은 다항식 코드가 각 CRC 계산기내로 입력되어지는 기능블럭(268)으로 진행한다. 개시된 실시예에서, 저장된 다항식 코드는 다항식 코드가 각 CRC 계산기로 입력되기 전에 복조된다. CRC 계산기는 필요한 가정을 만듦으로서 저장된 다항식 코드가 CRC 계산기 내로 직접 입력된다.
처리과정은 시드코드가 각 CRC 계산기의 레지스터들내로 입력되어지는 기능블럭(27)으로 진행한다. 처리과정은 저장된 주소 코드가 개별 멀티플렉서의 각각으로 입력되어지는 기능블럭(272)으로 진행한다.
도 7을 참조하면, 이는 개시된 리스판스 생성기(112)에 적합한 CRC 알고리즘의 흐름도가 도시되어 있다. 처리과정은 카운터를 초기화함으로서 기능블럭(300)에서 시작한다. 결정블럭(302)에서, 처리과정은 카운터가 챌린지 순서에서의 비트수에 도달했는지 여부를 결정한다. 설명된 실시에서, 챌리지 순서에서의 비트수는 32이다. 만약 카운터가 32에 도달하지 못했다면, 카운터가 증가하는 기능블럭(304)으로 "YES"경로를 따라 처리과정은 계속된다. 처리과정은 각 CRC계산기의 시리얼 출력 비트가 CRC계산기 시프트 레지스터의 가장-중요한-비트(MSB)와 같도록 설정된 기능블럭(306)으로 계속된다. 기능블럭(308)에서, 어드레서블 멀티플렉서의 선택된 입력비트는 CRC 계산기로 출력된다. 처리과정은 시프트 레지스터내에서 입력비트를 각 시프트 레지스터의 가장 덜-중요한-비트(LSB)내로 위치시키고, 데이터를 오른쪽으로 이동시키는 기능블럭(310)으로 계속된다. 각 시프트 레지스터에 대해, 기능블럭(312)에서, 시리얼 출력비트가 판독된다. 만약 시리얼 출력비트가 결정블럭(314)에서 1과 같다면, 각 레지스터 위치가 레지스터 위치내의 비트 및 다항식 코드의 각 비트의 XOR로 교체된 기능블럭(316)으로 "YES"경로를 따라 처리과정은 계속된다. 처리과정은 그 다음 카운터가 32에 도달했는지 여부를 판단하기 위하여 결정블럭(302)로 되돌아간다. 만약 시리얼 출력비트가 결정블럭(314)에서 0과 같다면, 처리과정은 "NO"경로를 따르고, 카운터가 32에 도달했는지 여부를 판단하기 위하여 결정블럭(302)로 되돌아 간다.
결정블럭(302)에서 카운터가 32에 도달하면, 처리과정은 "YES"경로를 따라 기능블럭(318)로 진행한다. 각 CRC 계산기에 대해, 출력 순서는 CRC 계산기 시프트 레지스터내의 비트와 같도록 설정된다. 처리과정은 리스판스가 CRC 계산기로부터의 출력의 XOR과 같도록 설정하는 기능블럭(322)로 계속된다.
본 발명이 인증 시스템과 인증방법을 제공하는 본 개시의 이익은 당업자 향유할 것으로 인정될 것이다. 여기서의 도면과 상세한 설명은 제한적인 의미 보다는 설명적인 것으로 이해되어야만 하며, 본 발명을 특정 형태와 개시된 실시예에 국한하려는 의도는 아닌 것으로 이해되어야 한다. 상반되게, 본 발명은 이하의 청구범위에 의해 정의되는 본 발명의 요지와 범위를 벗어남이 없이 당업자에게 분명한 모든 추가적인 수정, 변화, 재배열, 대체, 교체, 디자인 선택, 및 실시예들을 포함한다. 따라서, 뒤따르는 청구항은 이와 같은 모든 수정, 변화, 재배열, 대체, 교체, 디자인 선택 및 실시예들을 포용하는 것으로 해석되어야 할 것이다.
본 발명과 본 발명의 이점을 더 완전히 이해하기 위하여, 첨부된 도면에 관하여 하기의 설명을 언급한다.
도 1은 챌린지 리스판스 인증 시스템의 기능적 블럭도를 도시한다;
도 2는 리스판스 생성 요소의 세부를 보여주는 기능적 블럭도를 도시한다;
도 3은 챌린지 리스판스 인증 시스템을 위한 초기 과정의 흐름도를 도시한다;
도 4는 챌린지 리스판스 인증 시스템에서 챌린지 리스판스 인증 과정의 흐름도를 도시한다;
도 5는 챌린지 리스판스 인증 과정 내에서 인증 초기 과정의 흐름도를 도시한다.
도 6은 시프트 레지스터 CRC 계산기를 도시한다; 그리고
도 7은 리스판스 계산 과정의 흐름도이다.

Claims (56)

  1. 입력/출력 인터페이스 장치;
    상기 입력/출력 인터페이스 장치에 연결된 리스판스 생성장치; 및
    상기 리스판스 생성장치에 연결된 시드값을 저장하는 메모리 장치;로 구성됨으로서, 장치가 입력/출력 인터페이스 장치를 통해 호스트에 연결되었을 때, 장치는 호스트로부터 챌린지를 수신하고, 상기 리스판스 생성장치는 상기 시드값과 챌린지를 사용하여 인증 리스판스를 계산하는 것을 특징으로 하는 호스트에 장치를 인증하기 위한 인증시스템.
  2. 제 1 항에 있어서, 상기 리스판스 생성장치는 해쉬코드를 생성하기 위하여 상기 챌린지에 대해 해쉬함수를 실행하는 것을 특징으로 하는 인증시스템.
  3. 제 2 항에 있어서, 상기 해쉬함수는 순환 여분코드함수인 것을 특징으로 하는 인증시스템.
  4. 제 1 항에 있어서, 상기 리스판스 생성장치는 복수의 해쉬 계산기로 구성되는 것을 특징으로 하는 인증시스템.
  5. 제 4 항에 있어서, 상기 복수의 해쉬 계산기는 복수의 순환여분코드 계산기인 것을 특징으로 하는 인증시스템.
  6. 제 4 항에 있어서, 상기 복수의 해쉬 계산기는 복수의 출력 해쉬코드를 생성하는 것을 특징으로 하는 인증시스템.
  7. 제 4 항에 있어서, 상기 리스판스 생성장치는 생성된 복수의 출력 해쉬코드의 조합으로부터 인증 리스판스를 계산하는 것을 특징으로 하는 인증시스템.
  8. 제 5 항에 있어서, 상기 복수의 순환여분코드 계산기는 복수의 출력순환여분 코드를 생성하는 것을 특징으로 하는 인증시스템.
  9. 제 8 항에 있어서, 상기 리스판스 생성장치는 생성된 복수의 출력순환여분코드의 조합으로부터 인증 리스판스를 계산하는 것을 특징으로 하는 인증시스템.
  10. 제 4 항에 있어서, 상기 리스판스 생성장치는 복수의 해쉬 계산기로 비트들을 선택적으로 입력시키는 복수의 어드레서블 멀티플렉서를 더 포함하는 것을 특징으로 하는 인증시스템.
  11. 제 10 항에 있어서, 상기 복수의 어드레서블 멀티플렉서는 상기 해쉬 계산기들로 챌린지 비트와 시리얼 출력비트를 선택적으로 입력시키는 것을 특징으로 하는 인증시스템.
  12. 제 1 항에 있어서, 상기 시드값은 다항식 코드를 포함하는 것을 특징으로 하는 인증시스템.
  13. 제 1 항에 있어서, 상기 시드값은 초기 레지스터값을 포함하는 것을 특징으로 하는 인증시스템.
  14. 제 1 항에 있어서, 상기 시드값은 멀티플렉서 주소값을 포함하는 것을 특징으로 하는 인증시스템.
  15. 리스판스 생성기; 및
    상기 리스판스 생성기에 연결된 시드값을 저장하는 메모리;로 구성됨으로서, 상기 리스판스 생성기가 챌린지를 수신할 때, 상기 리스판스 생성기는 상기 시드값과 챌린지에 대한 인증 리스판스를 계산하는 것을 특징으로 하는 인증시스템.
  16. 제 15 항에 있어서, 상기 리스판스 생성기는 해쉬코드를 생성하기 위하여 상기 챌린지에 대해 해쉬함수를 실행하는 것을 특징으로 하는 인증시스템.
  17. 제 16 항에 있어서, 상기 해쉬함수는 순환 여분코드함수인 것을 특징으로 하는 인증시스템.
  18. 제 15 항에 있어서, 상기 리스판스 생성기는 복수의 해쉬 계산기로 구성되는 것을 특징으로 하는 인증시스템.
  19. 제 18 항에 있어서, 상기 복수의 해쉬 계산기는 복수의 순환여분코드 계산기인 것을 특징으로 하는 인증시스템.
  20. 제 18 항에 있어서, 상기 복수의 해쉬 계산기는 복수의 출력 해쉬코드를 생성하는 것을 특징으로 하는 인증시스템.
  21. 제 18 항에 있어서, 상기 리스판스 생성기는 생성된 복수의 출력 해쉬코드의 조합으로부터 인증 리스판스를 계산하는 것을 특징으로 하는 인증시스템.
  22. 제 19 항에 있어서, 상기 복수의 순환여분코드 계산기는 복수의 출력순환여분 코드를 생성하는 것을 특징으로 하는 인증시스템.
  23. 제 22 항에 있어서, 상기 리스판스 생성기는 생성된 복수의 출력순환여분코드의 조합으로부터 인증 리스판스를 계산하는 것을 특징으로 하는 인증시스템.
  24. 제 18 항에 있어서, 상기 리스판스 생성기는 복수의 해쉬 계산기로 비트들을 선택적으로 입력시키는 복수의 어드레서블 멀티플렉서를 더 포함하는 것을 특징으로 하는 인증시스템.
  25. 제 24 항에 있어서, 상기 복수의 어드레서블 멀티플렉서는 상기 해쉬 계산기들로 챌린지 비트와 시리얼 출력비트를 선택적으로 입력시키는 것을 특징으로 하는 인증시스템.
  26. 제 15 항에 있어서, 상기 시드값은 다항식 코드를 포함하는 것을 특징으로 하는 인증시스템.
  27. 제 15 항에 있어서, 상기 시드값은 초기 레지스터값을 포함하는 것을 특징으로 하는 인증시스템.
  28. 제 15 항에 있어서, 상기 시드값은 멀티플렉서 주소값을 포함하는 것을 특징으로 하는 인증시스템.
  29. 장치에서 호스트로부터 챌린지를 수신하는 단계;
    메모리로부터 장치에 의한 시드값을 검색하는 단계;
    상기 챌린지 및 시드값에 기초하여 리스판스를 생성하는 단계;로 구성되는 것을 특징으로 하는 호스트에 대해 장치를 인증하기 위한 인증방법.
  30. 제 29 항에 있어서, 상기 리스판스 생성단계는 해쉬코드를 생성하기 위하여 상기 챌린지에 대해 해쉬함수를 실행하는 단계를 포함하는 것을 특징으로 하는 인증방법.
  31. 제 30 항에 있어서, 상기 해쉬함수는 순환 여분코드함수인 것을 특징으로 하는 인증방법.
  32. 제 29 항에 있어서, 상기 리스판스 생성단계는 복수의 해쉬 계산으로 구성되는 것을 특징으로 하는 인증방법.
  33. 제 32 항에 있어서, 상기 복수의 해쉬 계산은 복수의 순환여분코드 계산인 것을 특징으로 하는 인증방법.
  34. 제 32 항에 있어서, 상기 복수의 해쉬 계산은 복수의 출력 해쉬코드를 생성하는 것을 특징으로 하는 인증방법.
  35. 제 34 항에 있어서, 상기 리스판스 생성단계는 생성된 복수의 출력 해쉬코드를 조합하는 단계를 포함하는 것을 특징으로 하는 인증방법.
  36. 제 36 항에 있어서, 상기 리스판스 생성단계는 복수의 출력 순환여분코드를 생성하는 단계를 포함하는 것을 특징으로 하는 인증방법.
  37. 제 36 항에 있어서, 상기 리스판스 생성단계는 생성된 복수의 출력순환여분 코드를 조합하는 단계를 포함하는 것을 특징으로 하는 인증방법.
  38. 제 32 항에 있어서, 상기 해쉬 계산으로 비트들을 선택적으로 입력시키는 단계를 더 포함하는 것을 특징으로 하는 인증방법.
  39. 제 38 항에 있어서, 상기 선택적 입력단계는 상기 해쉬 계산으로 챌린지 비트와 시리얼 출력비트를 선택적으로 입력시키는 단계를 포함하는 것을 특징으로 하는 인증방법.
  40. 제 29 항에 있어서, 상기 시드값은 다항식 코드를 포함하는 것을 특징으로 하는 인증방법.
  41. 제 29 항에 있어서, 상기 시드값은 초기 레지스터값을 포함하는 것을 특징으로 하는 인증방법.
  42. 제 29 항에 있어서, 상기 시드값은 멀티플렉서 주소값을 포함하는 것을 특징으로 하는 인증방법.
  43. 챌린지를 수신하는 단계;
    저장된 시드값을 검색하는 단계;
    상기 챌린지 및 시드값에 기초하여 리스판스를 생성하는 단계;로 구성되는 것을 특징으로 하는 인증방법.
  44. 제 43 항에 있어서, 상기 리스판스 생성단계는 해쉬코드를 생성하기 위하여 상기 챌린지에 대해 해쉬함수를 실행하는 단계를 포함하는 것을 특징으로 하는 인증방법.
  45. 제 44 항에 있어서, 상기 해쉬함수는 순환 여분코드함수인 것을 특징으로 하는 인증방법.
  46. 제 43 항에 있어서, 상기 리스판스 생성단계는 복수의 해쉬 계산으로 구성되는 것을 특징으로 하는 인증방법.
  47. 제 46 항에 있어서, 상기 복수의 해쉬 계산은 복수의 순환여분코드 계산인 것을 특징으로 하는 인증방법.
  48. 제 47 항에 있어서, 상기 복수의 해쉬 계산은 복수의 출력 해쉬코드를 생성하는 것을 특징으로 하는 인증방법.
  49. 제 48 항에 있어서, 상기 리스판스 생성단계는 생성된 복수의 출력 해쉬코드를 조합하는 단계를 포함하는 것을 특징으로 하는 인증방법.
  50. 제 49 항에 있어서, 상기 리스판스 생성단계는 복수의 출력 순환여분코드를 생성하는 단계를 포함하는 것을 특징으로 하는 인증방법.
  51. 제 50 항에 있어서, 상기 리스판스 생성단계는 생성된 복수의 출력순환여분 코드를 조합하는 단계를 포함하는 것을 특징으로 하는 인증방법.
  52. 제 43 항에 있어서, 상기 해쉬 계산으로 비트들을 선택적으로 입력시키는 단계를 더 포함하는 것을 특징으로 하는 인증방법.
  53. 제 52 항에 있어서, 상기 선택적 입력단계는 상기 해쉬 계산으로 챌린지 비트와 시리얼 출력비트를 선택적으로 입력시키는 단계를 포함하는 것을 특징으로 하는 인증방법.
  54. 제 43 항에 있어서, 상기 시드값은 다항식 코드를 포함하는 것을 특징으로 하는 인증방법.
  55. 제 43 항에 있어서, 상기 시드값은 초기 레지스터값을 포함하는 것을 특징으로 하는 인증방법.
  56. 제 43 항에 있어서, 상기 시드값은 멀티플렉서 주소값을 포함하는 것을 특징으로 하는 인증방법.
KR1020040060758A 2004-02-24 2004-08-02 인증을 위한 시스템과 방법 KR20050086347A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US54714404P 2004-02-24 2004-02-24
US60/547,144 2004-02-24
US10/875,546 US7512794B2 (en) 2004-02-24 2004-06-24 System and method for authentication
US10/875,546 2004-06-24

Publications (1)

Publication Number Publication Date
KR20050086347A true KR20050086347A (ko) 2005-08-30

Family

ID=34753140

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040060758A KR20050086347A (ko) 2004-02-24 2004-08-02 인증을 위한 시스템과 방법

Country Status (6)

Country Link
US (1) US7512794B2 (ko)
EP (1) EP1569381A1 (ko)
JP (1) JP2005253041A (ko)
KR (1) KR20050086347A (ko)
CN (1) CN1665181A (ko)
TW (1) TW200529627A (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1807966B1 (en) * 2004-10-20 2020-05-27 Salt Group Pty Ltd. Authentication method
US8213412B2 (en) 2005-09-29 2012-07-03 Comcast Cable Holdings, Llc System and method for providing multimedia services utilizing a local proxy
US20070135092A1 (en) * 2005-12-08 2007-06-14 Pieronek James V Method and apparatus for authenticating a mobile phone accessory
US20070180499A1 (en) * 2006-01-31 2007-08-02 Van Bemmel Jeroen Authenticating clients to wireless access networks
US8296565B2 (en) * 2006-03-27 2012-10-23 Kyocera Corporation Communication protocol for device authentication
US8301888B2 (en) * 2006-03-27 2012-10-30 Kyocera Corporation System and method for generating secured authentication image files for use in device authentication
JP4879650B2 (ja) 2006-05-15 2012-02-22 ソニー株式会社 通信システムおよび認証方法、情報処理装置および情報処理方法、並びにバッテリ
EP1868126B1 (en) * 2006-06-16 2011-08-10 Thomson Licensing Device and method for discovering emulated clients
CN102281137A (zh) * 2010-06-12 2011-12-14 杭州驭强科技有限公司 一种双向认证式挑战应答机制的动态密码认证方法
US9628875B1 (en) 2011-06-14 2017-04-18 Amazon Technologies, Inc. Provisioning a device to be an authentication device
US9639825B1 (en) * 2011-06-14 2017-05-02 Amazon Technologies, Inc. Securing multifactor authentication
CN102231667B (zh) * 2011-07-29 2013-06-19 飞天诚信科技股份有限公司 串口设备注册的方法和装置
US9154480B1 (en) * 2012-12-12 2015-10-06 Emc Corporation Challenge-response authentication of a cryptographic device
US20220029837A1 (en) * 2018-11-29 2022-01-27 Resado Gmbh Electronic device and method for authentication of an electronic device
FR3109229B1 (fr) * 2020-04-09 2023-08-25 Proton World Int Nv Procédé d'authentification
FR3121765A1 (fr) * 2021-04-08 2022-10-14 Proton World International N.V. Procédé d'authentification
US11949510B2 (en) * 2022-09-06 2024-04-02 Qualcomm Incorporated Hardware-based dynamic cyclic-redundancy check (CRC) generator for automotive application

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5676654A (en) * 1979-11-29 1981-06-24 Fujitsu Ltd Bus transmission system
US4611335A (en) * 1981-09-30 1986-09-09 Hitachi, Ltd. Digital data synchronizing circuit
DE3373250D1 (en) * 1982-06-15 1987-10-01 Toshiba Kk Pulse-width modulation circuit
DE3536031A1 (de) * 1985-10-09 1987-04-09 Bbc Brown Boveri & Cie Verfahren zur analyse und synthese von binaeren zeichen
US4746898A (en) * 1986-10-20 1988-05-24 Gould Inc. Bi-phase decoder
JP3494773B2 (ja) * 1995-09-27 2004-02-09 三菱電機株式会社 過給圧制御装置
US5638448A (en) * 1995-10-24 1997-06-10 Nguyen; Minhtam C. Network with secure communications sessions
GB9608819D0 (en) * 1996-04-30 1996-07-03 Switched Reluctance Drives Ltd Demodulator for a pulse width modulated signal
US6567476B2 (en) * 1996-07-24 2003-05-20 Robert Bosch Gmbh Data synchronisation process, and transmission and reception interfaces
US6530029B1 (en) * 1999-09-23 2003-03-04 National Semiconductor Corporation I2C/SMBus start-stop detecting circuit that reduces the likelihood of stalling the bus due to glitches on the data line
US6646953B1 (en) * 2000-07-06 2003-11-11 Rambus Inc. Single-clock, strobeless signaling system
US6777975B1 (en) * 1999-11-30 2004-08-17 Intel Corporation Input-output bus interface to bridge different process technologies
US7529938B2 (en) * 2000-01-14 2009-05-05 Panasonic Corporation Method, apparatus and system for performing authentication according to challenge-response protocol using scrambled access information
US7113562B1 (en) * 2000-12-27 2006-09-26 Intel Corporation Method and apparatus for receiving data based on tracking zero crossings
DE10146585A1 (de) * 2001-09-21 2003-04-24 Siemens Ag Verfahren und Schaltungsanordnung zur Anpassung des Spannungspegels für die Übertragung von Daten
US6904558B2 (en) * 2002-02-22 2005-06-07 Agilent Technologies, Inc. Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages
DE10216396A1 (de) 2002-04-12 2003-10-23 Scm Microsystems Gmbh Verfahren zur Authentisierung
US7116916B2 (en) * 2002-07-31 2006-10-03 Hewlett-Packard Development Company, L.P. Method and apparatus for compacting data in a communication network
US20040101060A1 (en) * 2002-11-26 2004-05-27 Intel Corporation Low power modulation
US7290196B1 (en) * 2003-03-21 2007-10-30 Cypress Semiconductor Corporation Cyclical redundancy check using nullifiers
CN1226828C (zh) * 2003-07-30 2005-11-09 上海源创数码科技有限公司 楼宇多媒体信息发布系统
US7053667B1 (en) * 2003-09-12 2006-05-30 Analog Devices, Inc. Single wire digital interface

Also Published As

Publication number Publication date
JP2005253041A (ja) 2005-09-15
US7512794B2 (en) 2009-03-31
CN1665181A (zh) 2005-09-07
US20050188200A1 (en) 2005-08-25
TW200529627A (en) 2005-09-01
EP1569381A1 (en) 2005-08-31

Similar Documents

Publication Publication Date Title
Feng et al. AAoT: Lightweight attestation and authentication of low-resource things in IoT and CPS
CN109005040B (zh) 动态多密钥混淆puf结构及其认证方法
Zhao et al. Providing root of trust for ARM TrustZone using on-chip SRAM
KR20050086347A (ko) 인증을 위한 시스템과 방법
US10474823B2 (en) Controlled secure code authentication
RU2399087C2 (ru) Безопасное хранение данных с защитой целостности
KR101360696B1 (ko) 비-네트워크 알에프아이디-피유에프 인증
KR102182894B1 (ko) 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법
WO2012097231A2 (en) System and method for tamper-resistant booting
JP2018133797A (ja) IoTデバイス
KR20070057968A (ko) 랜덤 함수를 이용한 비밀 공유
CN103946856A (zh) 加解密处理方法、装置和设备
US11502846B2 (en) Whitebox computation of keyed message authentication codes
KR102013983B1 (ko) 애플리케이션 무결성 인증 방법 및 인증 서버
EP2991264B1 (en) Encrypted text matching system, method and program
US8407248B2 (en) System and method for authentication using a shared table and sorting exponentiation
Jacob et al. Securing FPGA SoC configurations independent of their manufacturers
Nassar et al. CaPUF: Cascaded PUF structure for machine learning resiliency
CN114499859A (zh) 密码验证方法、装置、设备及存储介质
EP3471334B1 (en) Method for configuring a transponder, transponder and base station
Buchovecká et al. Lightweight Authentication and Secure Communication Suitable for IoT Devices.
CN115941336A (zh) 数据的处理方法、装置及设备
JP4606040B2 (ja) 資格認証システム、資格認証方法、および情報処理装置
CN112715017B (zh) 使用物理不可克隆函数的密码密钥配置
JP6203556B2 (ja) 情報処理システム

Legal Events

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