KR20080112337A - 장치 인증을 위한 통신 프로토콜 - Google Patents

장치 인증을 위한 통신 프로토콜 Download PDF

Info

Publication number
KR20080112337A
KR20080112337A KR1020087026201A KR20087026201A KR20080112337A KR 20080112337 A KR20080112337 A KR 20080112337A KR 1020087026201 A KR1020087026201 A KR 1020087026201A KR 20087026201 A KR20087026201 A KR 20087026201A KR 20080112337 A KR20080112337 A KR 20080112337A
Authority
KR
South Korea
Prior art keywords
accessory
response
command
information request
communication port
Prior art date
Application number
KR1020087026201A
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 KR20080112337A publication Critical patent/KR20080112337A/ko

Links

Images

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/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User 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/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/16Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/0202Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
    • H04M1/026Details of the structure or mounting of specific components
    • H04M1/0262Details of the structure or mounting of specific components for a battery compartment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • 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
    • 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
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

모바일 전화기와 같은 마스터 장치(102)와 주변 장치(104)간의 통신 프로토콜이 주변 장치의 인증을 돕는다. 주변 장치가 감지되면, 마스터 장치는 주변 장치에 대해 웨이크 업 커맨드를 시작하며, 주변 장치에 정보 요청 커맨드를 송신하고 뒤이어 챌린지 데이터를 송신하여 주변 장치로부터의 응답을 기다린다. 액세서리는 챌린지 데이터를 수신하여, 챌린지 데이터상에 해시 함수를 실행시키고, 응답 데이터를 생성한다. 인증 응답 타입 바이트와 뒤 이어서 응답 데이터가 모바일 전화기에 송신된다. 모바일 전화기는 응답 데이터를 챌린지 데이터와 관련된 기저장 데이터에 비교한다. 매치는 액세서리가 인증된 것임을 나타낸다. 평문/사이퍼텍스트 쌍으로도 일컬어지는, 챌린지 데이터/응답 데이터는 해시 함수를 이용하여 모바일 전화기의 외부에서 미리 생성되고, 그 다음에 모바일 전화기에 미리 저장된다.

Description

장치 인증을 위한 통신 프로토콜 {COMMUNICATION PROTOCOL FOR DEVICE AUTHENTICATION}
본 발명은 무선 통신 장치의 분야에 관한 것이다. 보다 상세하게, 본 발명은 무선 통신 장치에 부착 가능한 주변 장치를 인증하는 것에 관한 것이다.
이 명세서에서 일반적으로 “액세서리”로 일컬어지는 다양한 주변 장치들이, 이 명세서에서 또한 “핸드 셋(handset)”으로 일컬어지는 모바일 전화기, 및 다른 무선 통신 장치에 탈착될 수 있다. 이들 액세서리는, 부착시에, 부가적인 기능성을 제공하고 및/또는 그게 아니라면 모바일 전화기의 성능을 향상시킨다. 다른 경우에 있어서는, 액세서리가 사용자들의 능력을 도와서 모바일 전화기를 풍요하게 또는 편안히 사용하게 한다. 전화기 배터리도, 보통 전화기와 일체인 것으로 여길지라도, 본 개시의 목적을 위해서 “액세서리”로 간주된다.
무선 통신 장치의 설계 및 개발 동안에, 무선 통신 장치용으로 예기되는 액세서리의 호환성 및/또는 신뢰성을 검사하는 것이 보통이다. 그러한 검사는 액세서리가 무선 통신 장치와 타당한 레벨의 호환성으로 동작할 것을 보장한다. 불행히도, 무선 통신 장치용으로 서드 파티(third party)에 의해 사용할 수 있게 만들어지는 액세서리는 종종 검사되지 않거나, 설령 검사되었더라도, 무선 통신 장치의 제조자에 의해 규정된 표준 및/또는 예컨대, 정부 기관에 의해 규정된 다른 표준들을 하회한다. 상기 액세서리(이 명세서에서는 “미인증 액세서리”로 칭한다)는 무선 통신 장치를 손상시킬 가능성이 있고 및/또는 소비자에게 안전상의 위협을 준다.
미인증 액세서리가 무선 통신 장치에 채용되는 것을 방지하기 위한 기존의 기술들은 비교적 우회하기 용이했다. 예를 들어, 특유의 기계적인 키잉(keying) 배열을 채용한 커넥터(connector)는, 커넥터에 대한 기계적인 변형으로 극복될 수 있다. 인증용 저항을 채용한 전기적인 배열은 마찬가지로 적절한 회로로 용이하게 우회된다. 마지막으로, 고정된 비밀번호 또는 롤링 코드(rolling code)를 채용한 디지털 통신 기술은 비교적 파기 및 모방하기 용이하다.
따라서, 무선 통신 장치를 위한 유효하고 안전한 인증 방법 및 장치에 대한 당업계의 강력한 필요가 남아 있다.
마스터(master) 장치와 주변(액세서리) 장치간의 통신을 관리하는 모범적인 방법이 개시된다. 주변 장치는 연결 포트(port)에 의해 마스터 장치에 연결된다. 연결 포트는 하나 이상의 통신선을 갖는 통신 단자를 포함한다. 마스터 장치는 주변 장치의 연결용 통신 단자를 모니터(monitor)한다. 주변 장치가 감지되면, 마스터 장치는 주변 장치에 대해 웨이크 업 커맨드(wake~up command)를 시작하고, 주변 장치에 정보 요청 커맨드를 전송하여 주변 장치로부터의 응답을 기다린다. 인증 주변 장치는 응답의 타입을 나타내는 응답 타입 바이트(response-type byte)를 회신하고, 뒤 이어서 정보 요청 커맨드에서 요청된 데이터의 하나 이상의 바이트(byte)를 회신할 것이다.
일 실시예에 있어서, 정보 요청 커맨드는 챌린지 데이터(challenge data)가 뒤 따르는 인증 요청 커맨드이다. 주변 장치는 챌린지 데이터를 수신하여, 챌린지 데이터상에 해시 함수(hash function)를 실행시키고, 마스터 장치에 인증 응답 타입 바이트와 뒤 이어서 응답 데이터를 송신한다. 일 실시예의 해시 함수는 주변 장치 내에 저장된 보안 인증 화상 파일에 포함된 보안 인증 어플리케이션의 실행이다. 마스터 장치, 예컨대, 무선 핸드 셋은, 액세서리로부터 인증 응답 타입 바이트를 수신하고 뒤 이어서 응답 데이터를 수신한다. 핸드 셋은 응답 데이터를 챌린지 데이터와 관련된 기저장 데이터(pre-stored data)에 비교한다. 매치(match)는 액세서리가 인증된 것임을 나타낸다. 평문(plaintext)/사이퍼텍스트(cyphertext) 쌍으로도 일컬어지는, 챌린지 데이터/응답 데이터는 핸드 셋의 외부에서 미리 생성되고, 그 다음에 해시/암호키가 제한 이용도(limited availability)를 갖는 것을 보장하도록 핸드 셋에 저장된다.
모범적인 실시예에 있어서, 평문/사이퍼텍스트 쌍은, 동일한 평문 열(plaintext string)을 동일한 보안 화상 파일을 가진 2개의 분리된 프로세서에 공급하는 것에 의해 생성된다. 2개의 프로세서는 평문 열 상에 보안 인증 어플리케이션을 실행시키고, 사이퍼텍스트 열을 출력한다. 만약, 2개의 프로세서로부터의 사이퍼텍스트 열들이 매치하면, 평문/사이퍼텍스트 쌍이 데이터베이스에 저장된다. 이 프로세스는 어떠한 수의 특유한 평문 열에 대해서도 반복된다. 각기 생성된 특유한 평문/사이퍼텍스트 쌍은, 앞서 논의된 바와 같이 부착된 액세서리가 인증된 것인지를 검증하기 위해, 모바일 전화기와 같은 마스터 장치에서 이용될 것이다.
액세서리의 인증에 활용되는 보안 화상 파일은 보안 키와 원(raw) 화상 파일을 키 병합(key merger) 어플리케이션에 공급하는 것에 의해 생성된다. 그 결과로서 생성된 병합된 파일이 보안 인증 화상 파일이다. 보안 키는, 예를 들어, 보안 키의 단일 사본을 저장하고 생성 장치로부터의 원 화상 파일과 보안 키를 소거하는 것에 의해 보호된다. 그 다음에, 보안 인증 화상 파일은, 평문/사이퍼텍스트 쌍을 생성하는데 이용하기 위해, 그리고 제조된 액세서리에 포함시키기 위해 필요에 따라 복사된다. 하지만, 보안 키와 원 화상 파일이 더 이상 유효하지 않기 때문에, 장치를 인증하는데 활용되는 보안 인증 화상 파일은 위조하기 어려울 것이다.
기술된 실시예들은 전부 예시에 관한 것으로 간주되고 한정으로는 간주되지 않는다. 본 발명은 이 명세서에 예시 및 기술된 특정 실시예들에 한정되지 않으며, 본 발명의 권리 범위로부터 벗어남 없이 많은 재배열, 변형, 및 대체들이 가능하다는 것을 또한 이해해야한다. 상기와 같이, 본 발명의 세부는, 그 구조 및 동작 모두에 관하여, 동일 참조 번호가 동일 부분을 참조하는, 후술되는 첨부 도면의 연구에 의해 부분적으로 수집될 수 있다.
도 1은 본 발명의 일 실시예에 따른 모바일 전화기와 모바일 전화기 액세서리를 포함하는 모범적인 배열을 예시한다.
도 2는 본 발명의 일 실시예에 따른 보안 인증 화상 파일을 생성하기 위한 모범적인 시스템을 예시한다.
도 3은 본 발명의 일 실시예에 따른 보안 인증 화상 파일을 생성하기 위한 플로우차트를 예시한다.
도 4는 본 발명의 일 실시예에 따른 평문/사이퍼텍스트 키 쌍의 데이터베이스를 생성하기 위한 모범적인 시스템을 예시한다.
도 5는 본 발명의 일 실시예에 따른 평문/사이퍼텍스트 키 쌍의 데이터베이스를 생성하기 위한 플로우차트를 예시한다.
도 6은 본 발명의 일 실시예에 따른 마스터-슬레이브(master-slave) 구조의 모바일 장치 및 배터리 팩 액세서리를 예시한다.
도 7a는 본 발명의 일 실시예에 따른 핸드 셋과 액세서리를 인터페이싱(interfacing)하기 위한 모범적인 회로를 예시한다.
도 7b는 본 발명의 일 실시예에 따른 도 7의 통신 단자의 구조를 규정하는 모범적인 진리값표이다.
도 8은 본 발명의 일 실시예에 따른 모범적인 메시지 포맷이다.
도 9는 본 발명의 일 실시예에 따른 타이밍 캘리브레이션(timing calibration)을 위한 메시지 커맨드를 규정하는 모범적인 표이다.
도 10은 본 발명의 일 실시예에 따른 모범적인 세부 온도 통신 트랜잭션(transaction)이다.
도 11은 본 발명의 일 실시예에 따른 온도 정보를 교환하기 위한 메시지 커 맨드를 규정하는 모범적인 표이다.
도 12는 본 발명의 일 실시예에 따른 ID/버전 정보를 교환하기 위한 메시지 커맨드를 규정하는 모범적인 표이다.
도 13은 본 발명의 일 실시예에 따른 칩 인증 정보를 교환하기 위한 메시지 커맨드를 규정하는 모범적인 표이다.
도 14는 본 발명의 일 실시예에 따른 인증 정보를 교환하기 위한 메시지 커맨드를 규정하는 모범적인 표이다.
도 1을 먼저 참조하여 보면, 본 발명의 일 실시예에 따른, 모바일 전화기(102) 및 모바일 전화기(102)에 연결될 수 있는 모바일 전화기 액세서리(104)가 도시되어 있다. 모바일 전화기(102)는, 송수신기(도시되지 않음)에 연결된 안테나를 통해 라디오 주파수(RF) 대역의 전자기(EM) 에너지를 송수신할 수 있는 어떠한 무선 통신 장치도 될 수 있다. 이 명세서에 기술된 모범적인 인증 방법이 모바일 전화기 액세서리를 인증하기 위한 모바일 전화기 장치에 의해 실행되지만, 그 방법은 비디오 카메라, 노트북 컴퓨터, MP3 플레이어, 및 다른 전자 장치용 배터리 팩 또는 액세서리를 인증하는데 또한 이용될 수 있다.
모바일 전화기(102)는 일반적으로 모바일 전화기(102)를 구동하는 것에 관련된 다수의 기능들을 실행하기 위한 프로세서(106)를 포함한다. 프로세서는 안테나(도시되지 않음)를 통해 RF 신호를 통신하기 위한 송수신기에 연결된다. 배터리와 같은 전력 공급부는, 프로세서, 메모리, 송수신기, 및 다른 모바일 전화기(102) 부품에 전력을 공급한다. 모바일 전화기(102)는 사용자에게 정보를 송수신하기 위한 다수의 입출력(“I/O”) 장치(도시되지 않음)를 더 포함한다.
도 1과 계속하면, 모바일 전화기(102)는, 이 명세서에서 주변 장치로도 일컬어지는 액세서리를 모바일 전화기(102)에 연결하기 위한 하나 이상의 액세서리 인터페이스(114)를 더 포함한다. 이 명세서에 설명된 기술들이 다종다양한 액세서리와 액세서리 인터페이스와 더불어 이용될 수 있지만, 도 1은 모바일 전화기(102)의 액세서리 인터페이스(114)에 연결되는 인터페이스(116)를 가진 배터리 액세서리(104)를 포함하는 모범적인 배열을 예시한다. 도 1에 도시된 바와 같이, 모바일 전화기(102)의 액세서리 인터페이스(114)는 복수의 라인(120)을 포함하고, 액세서리(104)의 인터페이스(116)는 대응하는 복수의 라인(122)을 포함한다. 예시로서, 모바일 전화기(102)와 액세서리(104)가 연결될 때, 복수의 라인(122)의 제1 라인이 공급 전압을 제공하기 위해 이용될 수 있고, 제2 라인이, 예컨대, 그라운드와 같은, 기준 전압을 제공하기 위해 이용될 수 있으며, 제3 라인이 모바일 전화기(102)와 액세서리(104)간에 양방향 통신을 제공하기 위해 이용될 수 있다. 도 1에 도시된 라인(120, 122)의 개수는 오로지 예시의 목적을 위한 것이다. 다른 실시예들은 특정 주변 액세세리를 위해 요구되는 하나 또는 어떤 수의 라인이라도 가질 수 있다.
다른 실시예에 따르면, 이 명세서에 기술된 바와 같은 통신은 공급 전압 라인상에서 실행될 수 있다. 예를 들어, 양방향 시그널링(signaling)이 변조를 통해 전압 공급 라인상에 채용될 수 있다. 다른 예에서와 같이, 라인으로 하여금 인증 프로세스 동안에 제1 양방향 시그널링 모드에서 동작하게 하고, 전압 공급 라인으로 하여금 액세서리(104)가 인증된 후에 제2 전압 공급 모드에서 동작하게 하는 스위치들을 채용하는 것에 의해 양방향 시그널링이 전압 공급 라인상에 채용될 수 있다. 통신을 기존의 전압 공급 라인상에서 가능하게 하는 것의 이익은 전용의 통신 라인이 필요치 않다는 것이고, 따라서, 모바일 전화기(102)와 액세서리(104) 사이의 인터페이스와 커넥터가 이 명세서에 기술되는 인증 방법을 채용하지 않은 종전의 배열로부터 변형될 필요가 없다는 것이다.
도 1과 계속하면, 모바일 전화기(102)의 프로세서(106)는 액세서리 인터페이스(114)에 연결되고, 액세서리(104)의 프로세서(108)는 인터페이스(116)에 연결된다. 프로세서(106)는 모바일 전화기(102)의 주 프로세서이거나 모바일 전화기(102) 내의 보조 프로세서일 수 있다. 프로세서(106)는 인증 알고리즘(110)을 실행하고, 프로세서(108)는 그에 저장된 보안 인증 화상 파일(145)에 포함된 보안 인증 어플리케이션을 실행한다. 프로세서(108)는 보안 인증 화상 파일(145)을 포함하는 어떠한 내부 코드의 읽기도 방지하는 보안 특성을 포함한다. 보안 인증 화상 파일(145)의 내용 및 생성은 더 상세히 후술될 것이다.
보안 인증 화상 파일 생성
도 2를 참조하여 보면, 보안 인증 화상 파일(245)을 생성하기 위한 모범적인 시스템(200)이 도시되어 있다. 일반적으로, 보안 인증 화상 파일(245)은 도 1의 보안 인증 화상 파일(145)과 대응하고, 특히 액세서리(104)를 인증하기 위한 프로 세서(108)에 의해 실행되는 프로그래밍(programming)을 제공한다. 일 실시예에 따른 보안 인증 화상 파일(245)을 생성하기 위한 모범적인 방법이 도 3의 플로우차트(300)에 묘사된다.
당업자에게 명백한 어떤 세부 및 특징들은 도 3의 플로우차트(300)에서 빠져 있다. 예를 들어, 단계는 하나 이상의 하부 단계들로 이루어질 수 있고 또는 당업계에 주지된 전문 장비나 재료들을 포함할 수 있다. 플로우차트(300)에 도시된 단계들(305 내지 335)이 본 발명의 일 실시예를 설명하기에 충분하지만, 본 발명의 다른 실시예들이 플로우차트(300)에 도시된 것들과는 상이한 단계들을 활용할 수 있다.
블록(305)에서, 키 어드레스 위치(들)가 시스템(200)의 원 메모리 화상 파일에 저장된다. 예를 들어, 도 2에서, 복수의 키 어드레스 위치(D0 내지 DF로 나타남)(230)는 원 메모리 화상 파일(205)에 저장된다. 원 메모리 화상 파일(205)은, 저장된 키 어드레스 위치(230)가 차후의 보안 병합 절차 동안에 보안 키 데이터로 대체될 “더미(dummy)”또는 테스트 데이터를 포함할 수 있는, 도 1의 배터리 액세서리(104)와 같은 보안 장치를 위한 프로그래밍을 포함할 수 있다. 어드레스 저장은 프로그래밍 명령들의 컴파일(compilation) 및/또는 생성 동안에 실행될 수 있다. 원 화상 파일(205)의 프로그래밍 명령들은 후술되는 바와 같은 액세서리(104)를 인증하기 위한 해시 함수와 같은 암호 알고리즘을 포함하는 인증 프로그램을 포함할 수 있다.
도 2에 도시된 예시적인 실시예에 있어서, 도시된 키 어드레스 위치들(230) 은 다수의 비연속 어드레스 위치들의 전역에 분산된다. 하지만, 다른 실시예에 있어서, 다른 배열들이 채용될 수 있다.
블록(310)에서, 데이터 처리 장치(220)는 키 어드레스 위치(230)의 인증을 포함하는 작업 메모리(225)의 원 메모리 화상 파일(205)을 수신한다. 블록(315)에서, 프로세서(220)는 작업 메모리(225)의 보안 키 데이터(215)를 수신한다. 예를 들어, 보안 키 데이터(215)는 16 바이트(128 비트(bit))일 수 있고 랜덤하게 생성된 값일 수 있다. 암호 기술, 및 보다 구체적으로는 암호 키의 공개 심사(public scrutiny)를 방지하기 위해, 보안 키 데이터(215)로의 접근이 제한되어야 한다.
블록(320)에서, 데이터 처리 장치(220)에 의해 실행되는 키 병합 어플리케이션(222)은 보안 키 데이터(215)를 키 어드레스 위치(230)의 원 화상 메모리 파일(205)과 병합하여 보안 인증 화상 파일(245)을 생성한다. 저장된 키 어드레스 위치(230)의 크기는 보안 키 데이터(215)를 저장하기에 충분한다. 그 결과로서 생성된 보안 인증 화상 파일(245)은 보안 키 어드레스 위치(235)의 보안 키 데이터(215)를 포함한다.
블록(325)에서, 보안 인증 화상 파일(245)은, 보안 인증 화상 파일(245)을 집적 칩 내로 프로그램할 프로그래밍 실체(programming entity)에게 전송된다. 일 예시에 있어서, 프로그래밍 실체는, 도 1에 도시된 바와 같은, 액세서리(104)에 이용하기 위한, PIC, 예컨대, 프로세서(108)를 제공하는 프로세서 집적 회로(PIC) 제조자이다. 프로그래밍 실체는 단계(335)에 도시된 바와 같이 보안 인증 화상 파일(245)을 PIC 내로 집적할 수 있다.
단계(327)에서, 세트의 테스트 벡터(test vector)(225)가, 보안 인증 화상 파일(145, 245)을 포함하는 제조된 장치, 예컨대, PIC를 검증하는 향후의 이용을 위해 생성된다. 테스트 벡터(225)는 한정된 세트의 평문 열과 사이퍼텍스트 열을 포함한다. 사이퍼텍스트 열은, 한정된 세트의 평문 열에 적용되는, 보안 인증 화상 파일(245)을 활용하는, 암호 알고리즘으로부터 생성된다.
단계(330)에서, 보안 키 데이터(215)와 보안 인증 화상 파일(245)은 시스템(200)으로부터 소거/삭제된다. 앞서 논의된 바와 같이 단계(335)에서, 보안 인증 화상 파일(245)이 도 1의 프로세서(108)와 같은 보안 프로세서 내로 프로그램된다. 본 출원에 사용되는, 보안 프로세서는 보안 인증 화상 파일과 같은 그 내부 코드의 읽기를 방지한다. 예를 들어, 공장에서 프로그램된 PIC에 있어서, 보안 특성을 가능하게 하는 비트들은, 메모리 어레이의 전역에 전파되며 메모리 장치의 대량 소거(mass erasing)에 의해서만 지워질 수 있다. 내부 코드의 읽기를 방지하는 부가적인 보안 특성들도 부가적인 보안 수단으로서 채용될 수 있다.
평문/사이퍼텍스트 데이터베이스의 생성
이제 도 4를 참조하여 보면, 본 발명의 일 실시예에 따른, 벡터로도 일컬어지는, 평문/사이퍼텍스트 키 쌍의 데이터베이스(404)를 생성하기 위한 시스템(400)이 도시되어 있다. 평문/사이퍼텍스트 쌍은 도 1에 도시된 모바일 전화기(102)와 같은 각 제조된 장치에 이용하기 위해 생성된다. 따라서, 이 명세서에 기술된 시스템과 같은 적합한 시스템은, 요구되는 볼륨(volume)의 평문/사이퍼텍스트 쌍을 생성하기 위해 채용되어야 한다. 일 실시예에 따른 시스템(400)의 동작이 도 5의 플로우차트(500)를 참조하여 논의될 것이다. 당업자에게 명백한 어떤 세부 및 특징들은 도 5의 플로우차트(500)에서 빠져 있다. 예를 들어, 단계는 하나 이상의 하부 단계들로 이루어질 수 있고 또는 당업계에 주지된 전문 장비나 재료들을 포함할 수 있다. 플로우차트(500)에 도시된 단계들(502 내지 526)이 본 발명의 일 실시예를 설명하기에 충분하지만, 본 발명의 다른 실시예들이 플로우차트(500)에 도시된 것들과는 상이한 단계들을 활용할 수 있다.
시스템(400)은 복수의 슬레이브(slave) 프로세서(416a~416h)에 연결되는 데이터 처리 장치(DPD)(402)를 포함한다. 각 슬레이브 프로세서(416a~416h)는 앞서 논의된 바와 같이 보안 인증 화상 파일을 저장 및 실행시킨다. 보안 키 데이터는 보안 인증 화상 파일의 부분으로 포함된다. 각 슬레이브 프로세서(416a~416h)가 평문 챌린지 및 사이퍼텍스트 응답을 갖는 응답을 수신한다는 점에서, 각 슬레이브 프로세서(416a~416h)는 사용시 인증될 액세서리 장치의 동작을 모방한다는 것에 주목한다.
도 4에 도시된 특정 실시예에 있어서, 마스터 프로세서(406)가 8개의 제1 슬레이브 프로세서(410a~410h)로의 고속 인터페이스(408)에 연결된다. 마스터 프로세서(406)는, 데이터베이스(404)의 저장을 위하여 벡터를 데이터 처리 장치(402)에 전하도록, 데이터 처리 장치(402)에도 연결된다. 각각의 제1 슬레이브 프로세서(410a~410h)는 대응하는 제2 슬레이브 인터페이스(418a~418h)를 통해 통신하는 제2 슬레이브 프로세서(416a~416h)에 연결된다. 인터페이스(408)는, 하기에서 더 논의되는 병렬 처리에 효율성을 제공하기 위해, 이 특정 배열에서 제1 대 제2 슬레이브 인터페이스(418a~418h)의 적어도 8배속으로 동작한다.
마스터 프로세서(406)는, 데이터베이스 생성을 개시하도록 커맨드되기 전에 특정 값으로 설정될 수 있는, 도 5의 카운터 함수(counter function)(502)로 묘사된, 카운터를 이용한다. 이러한 구조는 다중의 마스터 프로세서들이 다양한 벡터들에 작업을 할 수 있게 하고, 그것에 의해 다중의 유닛들이 그들 개수만큼 설정된 속도로 연속된 데이터베이스를 향해 작업을 할 수 있게 한다. 일 실시예에 있어서, 카운터 함수(502)는 64 비트 이진 카운트를 활용한다.
블록(506)에서, 마스터 프로세서(406)는 블록(504)에서 제공되는 128 비트 키와 같은 키와 평문(PT) 열을 행성하기 위한 카운터 값으로 해시 함수를 실행시킨다. 도 5의 블록(508a, 508b)에서, 챌린지로도 일컬어지는 이 평문 열이 제1 슬레이브 프로세서(예컨대, 410a)에 전해진다. 블록(510a, 510b)에서, 이 제1 슬레이브 프로세서는 그 다음에 다중화기(MUX)(414a~414h)를 통해 제2 슬레이브 프로세서(예컨대, 416a)에 평문 열을 전한다. 블록(514a, 514b)에서, 제2 슬레이브 프로세서(예컨대, 416a)는 블록(512a, 512b)에서 각각 제공되는 보안 키 데이터를 이용하여 평문을 사이퍼텍스트(CT) 응답으로 암호화한다. 블록(516a, 516b, 518a, 518b)에서, 사이퍼텍스트 응답은 그 다음에 제1 슬레이브 프로세서(410a)를 경유하여 마스터 프로세서(406)에 회신된다.
시스템 배열(400)에 있어서, 제1 슬레이브 프로세서(410a~410h)와 제2 슬레이브 프로세서(416a~416h)는 4개, 2-장치 그룹(412a~412d)로 배열된다. 각 그 룹(412a~412d)은 평문 열을 처리하기 위해 사이퍼텍스트 벡터 생성 장치와 사이퍼텍스트 벡터 검증 장치를 포함한다. 예를 들어, 그룹(412)은 사이퍼텍스트 생성 장치(집합적으로, 제1 슬레이브 프로세서(410a)와 제2 슬레이브 프로세서(416a)) 및 사이퍼텍스트 검증 장치(집합적으로, 제1 슬레이브 프로세서(410b)와 제2 슬레이브 프로세서(416b))를 포함한다. 도 5의 블록(508a~518a)은 사이퍼텍스트 벡터-생성 장치의 동작에 대응할 수 있고, 블록(508b~518b)은 사이퍼텍스트 벡터 검증 장치의 동작에 대응할 수 있다.
블록(520)에서, 사이퍼텍스트 벡터 생성 장치에 의해 생성된 사이퍼텍스트 열은 사이퍼텍스트 벡터 검증 장치에 의해 생성된 사이퍼텍스트 열에 비교된다. 판정 블록(522)에서, 특정 그룹의 사이퍼텍스트 생성 장치와 사이퍼 텍스트 검증 장치에 의해 생성된 사이퍼텍스트 응답들이 매치되는지의 판정이 이루어진다. 매치가 판정되면, 단계(524)에서, 평문과 사이퍼텍스트는 데이터 처리 장치(402)에 전송되고, 도 1에 도시된 바와 같은 모바일 전화기(102)와 같은 제품 장치에의 추후 배포를 위해, 단계(526)에서, 데이터베이스(404)에 벡터로서 저장된다. 단계(502)가 도 5에 도시된 바와 같이 카운터 값의 증가를 위해 반복되며 프로세스가 다음 평문 열에 대해 반복한다. 연속적인 이진 카운트를 양방향 해시 알고리즘과 결합하여 사용하는 것의 이익은 이중의 벡터가 회피되는 것이다.
만약, 판정 블록(522)에서 사이퍼텍스트 응답들이 매치되지 않으면, 매칭 응답이 획득될 때까지 동일 평문이 그룹(예컨대, 412a)에 재송신된다. 미스매치(mismatch)는, 예컨대, 전력 글리치(power glitch)와 라인 노이즈와 같은 장치 오류에 기인하여 발생할 수 있다. 이러한 검출 단계는, 암호 알고리즘과 암호 키가 제2 슬레이브 프로세서(416a~416h)의 외부에서는 사용할 수 없기 때문에, 사이퍼텍스트 응답을 검증하는데 장점이 있다. 검증 단계는, 데이터베이스의 값들이 그 분야의 인증 액세서리 장치의 부적절한 거절을 초래하지 않을 것이라는 것을 확인한다.
시스템 배열(400)에 있어서는, 데이터베이스(404)를 생성할 시에 효율성을 증가시키기 위해 4개의 그룹(412a~412d)이 구현되었다. 하지만, 다른 실시예에서는, 인터페이스 대역폭 고려와 같은 인자들에 따라서 어떠한 배열도 구현될 수 있다.
인터페이스(418a~418h)는 9.6 kbps와 같은 일 실시예의 저속 인터페이스이다. 이러한 배열은 감소된 전력 요구와 제2 슬레이브 프로세서에 저장된 보안 인증 화상 파일을 역설계(reverse engineering)하는 것을 실행할 수 없게 만드는 충분히 느린 인터페이스를 포함하는, 다수의 장점을 제공한다. 느린 인터페이스는 상술한 병렬 처리 기술을 이용하는 것으로 보상된다. 따라서, 평문/사이퍼텍스트 쌍을 안전하게 생성하기 위한 시스템 및 방법이 개시되었다.
액세서리를 인증하기 위한 양방향 인터페이스
액세서리 인증을 위해 이용될 수 있는 양방향 인터페이스가 도 6, 7a 및 7b를 참조하여 기술될 것이다. 액세서리 인증이 앞서 논의된 바와 같이 다양한 장치에 대한 다른 액세서리 타입과도 이용될 수 있을지라도, 하기의 예시에 있어서는, 모바일 전화기에 사용하기 위한 배터리 팩 액세서리가 예시된다.
도 6의 모범적인 실시예에 도시된 바와 같이, 주변 장치는 커넥터(656, 668)를 통해 모바일 전화기에 연결되는 배터리 팩이다. 도 1을 참조하여 앞서 논의된 바와 같이, 하나 이상의 신호 라인(670, 672, 674)이 모바일 전화기(650)와 배터리 팩(660)을 연결한다. 모범적인 실시예에 있어서, 마스터 장치, 즉, 모바일 전화기(650)는 반이중(half duplex) 통신을 이용하여 주변 장치 즉, 배터리 팩(660)과 통신한다. 반이중 통신은 일반적으로 양방항 통신 라인(들)에서의 동시에 한 방향의 데이터의 전송을 나타낸다. 배터리 팩과 모바일 전화기 사이의 통신은 도 1을 참조하여 앞서 논의된 바와 같이, 2 대 1 데이터 라인 연결, 1 대 1 라인 연결, 또는 여타 적합한 데이터 또는 신호 라인 연결을 활용한다. 도 6에 예시된 바와 같이, 커넥터(656, 668)는 또한 배터리 전압(vbatt)과 그라운드를 라인(670, 672)에 각각 공급한다.
모바일 전화기(650)의 프로세서(652)는 평문/사이퍼텍스트 쌍 및 통신 알고리즘(654)을 포함한다. 하기에서 상세히 논의되는 바와 같이, 평문 챌린지는 신호 라인(674)을 통해 프로세서(652)로부터 배터리 팩(600)의 프로세서(662)에 송신된다. 프로세서(662)는 보안 인증 파일(664)을 활용하여 평문 챌린지에 해시 알고리즘을 실행하고, 응답 사이퍼텍스트 열을 회신한다. 응답 사이퍼텍스트 열이 모바일 전화기에 기저장된 사이퍼텍스트 열에 매치되면, 배터리 팩은 인증 배터리 팩(660)이다.
도 7a를 참조하면, 도시된 제1 실시예의 배터리 팩(704)은 실시예의 핸드 셋(702)에 연결된다. 이 예시된 실시예는, 핸드 셋(702)과 배터리 팩(704) 사이의 2개의 신호 라인 대 1개의 신호 라인 반이중 통신을 위해 UART를 활용한다. 하지만, 앞서 논의된 바와 같이, 이 명세서에 논의되는 액세서리 인증을 실현하는데 사용될 수 있는 신호 라인 통신의 많은 조합들이 있다.
도 7a와 계속하면, 핸드 셋(702)은 포트들, UART RX(754) 및 UART TX(756)를 가진 프로세서(706)를 포함한다. 배터리 팩(704)은 배터리 전압(Vbatt) 단자(722), 그라운드 단자(724), 및 통신 단자(726)를 포함하는 3개의 단자를 갖는다. 일 실시예의 Vbatt(722) 및 그라운드 단자(724)는 배터리 팩(704)으로의 양극 및 음극 연결일 수 있다. Vbatt(722)는 공급 전압(Vcc)을 Vcc 단자(723)에 제공하는 전력 공급 회로(도시되지 않음)에 연결된다. 통신 단자(726)는 인증 프로세서(708)로도 일컬어지는 인증 칩(708)에 통신 연결을 제공한다. 통신 단자(726)는 식별(ID) 단자로도 일컬어질 수 있다. 인증 칩(708)은, 예컨대, 배터리 온도의 정밀한 계측, 팩 용량을 나타내는 배터리 팩(704)에 대한 정보, 시리얼 번호, 및 인증 기능과 같은 기능들을 제공할 수 있다. 일 실시예에 있어서, 통신은, 반이중, 8 데이터 비트, 1 스타트-비트(start-bit), 1 스톱-비트(stop-bit), 노-패리티(no-parity) 포맷의 통신 단자(726)를 통해 9600 보드(baud)에서 실행될 수 있다.
인증 칩(708)은 암호(해싱(hashing) 또는 스크램블링(scrambling) 데이터에 대한 알고리즘을 포함하는 보안 인증 화상 파일을 포함한다. 각 핸드 셋(702)은 설비하는(provisioning) 동안에 프로그램되는 세트의 특유한 챌린지-응답 쌍(벡터 또는 평문/사이퍼텍스트 쌍)을 포함한다. 배터리 팩(704)을 인증하기 위해, 핸드 셋(702)은 평문 챌린지를 통신 단자(726)를 통해 패터리 팩(704)에 전송한다. 인증 칩(708)은 평문 챌린지를 활용하는 알고리즘을 실행시키고, 그것을 해시하며, 사이퍼텍스트 응답을 핸드 셋(702)에 회신한다. 핸드 셋(702)은 사이퍼텍스트 응답을 챌린지-응답 쌍의 대응 사이퍼텍스트 요소에 비교한다. 매치가 판정되면, 배터리 팩(704)이 인증된다. 매치가 판정되지 않으면, 배터리 팩(704)은 위조로 간주된다. 핸드 셋(702)은 배터리 팩(704)의 사용이나 동작을 제한할 수 있다.
진동, 전자기적 상호작용(electromagnetic interaction), 전력 과도 현상(power transient) 등이 핸드 셋(702)과 배터리 팩(704) 사이의 통신을 훼손시킬 수 있는 가능성이 있다. 따라서, 핸드 셋(702)은 초기 시도가 실패한 경우에 인증 배터리 팩(704)에 몇몇의 시도를 하도록 구성될 수 있다. 진동, 오염된 전기적 접촉, 및 높은 레벨의 전기적 노이즈와 여타 스퓨리어스(spurious) 신호가 의도하지 않은 변이를 통신 단자(726)상에 발생하도록 야기할 수 있다. 이들 변이는 인증 칩(708)으로 하여금 웨이크 업(wake up)하게 하고 커맨드로 해석되는 노이즈에 어쩌면 응답을 송신하게끔 할 것이다. 핸드 셋(702)은 이들 변이를 조절하고 무시하도록 프로그램될 수 있다.
도 7의 모범적인 실시예에 있어서, 배터리 팩(704)의 인증 칩(708)과의 통신은 배터리 팩(704)의 통신 단자(726)에 연결되는 단일 양방향 통신 신호 라인을 통해서 행해진다. 표준 8-비트, 노 패리티, 단일 스타드-비트, 단일 스톱-비트 직렬 데이터 스트림은 모든 정보를 전달한다. 핸드 셋(702)은 모든 통신을 시작한다. 배터리 팩(704)의 인증 칩(708)은 핸드 셋(702)으로부터의 적합하게 포맷된 요청에 대해서만 응답할 것이다. 배터리 팩(704)은 그 자체를 인에이블(enable)하거나 디스에이블(disable)하는 능력을 갖지 않는다. 앞서 논의된 바와 같이, 핸드 셋(702)은 배터리 팩(704)이 인증된 것인지의 여부를 판정하기 위해 배터리 팩(704)에 질의(interrogate)한다.
통신 단자(726)를 통해 연결된 라인은 인증 칩(708)과 핸드 셋(702) 사이의 양방향 직렬 데이터 링크를 지원한다. 핸드 셋(702)은 통신 단자(726)의 개방 회로 전압을 모니터하는 것에 의해 배터리 팩(704)의 존재를 감지할 수 있다. 일 실시예에 있어서, 풀-업(pull-up) 저항(744)은 300 옴이고, 풀-업 저항(746)은 33k 옴이며, 저항(747)은 330 옴이고, 저항(736)은 1M 옴이며, 저항(730)은 47k 옴이다. 저항(734)은 1M 옴일 수 있고 통신 단자(726)의 출입 제한 전류를 제공한다. 저항(732)은 3.3k 옴일 수 있고, 배터리(704)가 핸드 셋(702)에 연결되지 않았을 때 인증 회로를“슬립(sleep)”상태로 유지시키는 풀-업 저항이다. 이들 저항 값은 이 명세서에서 논의되는 바와 같이 통신 단자(726)를 통한 통신을 제어하도록 선택되는 모범예일 뿐이다.
배터리 팩(704)의 통신 단자(726)는 3 가지의 가능성 있는 상태 - 아이들(idle)/수신, TX 하이(high), TX 로우(low) - 를 갖는다. 통신 단자(726)가 아이들/수신 상태에 있을 때, 즉, 전송 중이 아닐 때, 트랜지스터(748, 750)는 오프되어 있을 것이다. 아이들 모드시에, 통신단자(726)는 Vbatt 단자(722)에 대한 33.66k 옴의 임피던스를 갖는다. 통신 단자(726)가 TX 하이 상태에 있을 때, 트랜지스터(748)는 온되고 트랜지스터(750)는 오프되어, 배터리 팩(704)의 Vbatt 단 자(722)에 대한 660 옴의 임피던스를 초래한다. 통신 단자(726)가 TX 로우 상태에 있을 때, 트랜지스터(748)가 오프되고 트랜지스터(750)가 온되어, 그라운드 단자(724)에 대한 330 옴의 임피던스를 초래한다.
배터리 팩(704)은 일정 상황하에서 통신 단자(726)의 통신을 제어하는 것이 가능할 수 있다. 이러한 능력은 저항(732, 746, 747)의 선택에 의해 인에이블된다. 도 7b에 묘사된 진리값표는 통신 단자(726)(ID 626)의 구성이 인증 칩(708)(ACHIP OUT 608)에 의해 제어되는 방식을 규정한다.
도 7을 다시 참조하여 보면, 핸드 셋의 UART 송수신 신호를 통신 단자(726)상에서 통신되는 신호내로 조합하기 위한 예시적인 회로가 도시되어 있다. 트랜지스터(738, 740)는 N-채널 CMOS 논리-레벨 스위칭 트랜지스터이다. UART 수신(UART RX) 및 UART 송신(UART TX) 신호는 이 회로에 의해 반전된다는 것에 주목한다. UART TX 신호에 대한 3가지의 가능성 있는 상태 - 하이, 로우, 및 하이-Z - 가 있다. UART TX 신호가 로우 상태 또는 하이-Z 상태에 있을 경우, 트랜지스터(740)는 턴오프된다. 통신 단자(726)는 매우 높은(예컨대, 1백만 옴) 그라운드 단자(724)에 대한 임피던스를 나타낼 것이다. 만약, 배터리 팩(704)이 아이들/수신(슬립) 상태에 있으면, 배터리 팩(704)의 풀-업 저항(746)에 기인하여 통신 단자(726)의 전압이 Vbatt 단자(722)의 전압 레벨에 가까워질 것이다. 트랜지스터(738)는 그 후에 UART RX 단자(754)의 전압을 그라운드로 풀(pull)한다. 도 7에 도시된 회로는 Vbatt로 풀업(pull up)된 통신 단자(726)에 의해 슬립 모드의 최소 전력을 소비한다.
UART TX 신호가 하이인 경우에, 트랜지스터(740)가 온되어 저항(732)을 그라운드에 연결한다. 이러한 구성은 통신 단자(726)가 그라운드에 대한 3.3k 옴의 실효 임피던스(effective impedance)를 갖는 결과를 가져온다. 배터리 팩(704)에 연결되는 경우, 배터리 팩(704)이 아이들/수신 상태에 있는 것으로 가정하면, 통신 단자(726)는, 트랜지스터(738)를 턴오프시키고 UART RX 단자(754)를 저항(730)에 의해 하이 상태로 풀 업시키는, Vbatt 단자(722)의 대략 0.1의 전압 레벨로 풀다운(pull down)될 것이다. 인증 칩(708)이 하이-Z 또는 “수신”모드에 있는 경우, UART TX 단자(756)에 송신되는 모든 비트는 UART RX 단자(754)에 즉시 수신될 것이다.
핸드 셋 소프트웨어는 핸드 셋(702)에 의해 송신되는 데이터와 배터리 팩(704)에 의해 송신되는 데이터의 양쪽을 UART RX 단자(754) 상에서 수신할 수 있다. 핸드 셋(702)이 배터리 팩(704)에 데이터를 송신하지 않는 경우에, UART TX 단자(756)는 로우 상태 또는 하이-Z 상태에 있어야 한다. 이 모드에서, 핸드 셋 회로(702)는 Vcc(723)으로부터 약 80 마이크로암페어를 끌어들일 것이다. 핸드 셋(702)이 슬립 모드에 있는 경우, 배터리 팩(704)으로부터 4 마이크로암페어 보다 더 적게 끌어들여진다.
다이오드(742, 752)는 정전기 방전(ESD) 방지 소자이다. ESD 소자가 통신 단자(726) 회로에 추가한 정전용량을 최소화시키는 데 주위를 기해야 한다. 핸드 셋(702)에 의해 배터리 팩(704)에 송신되는 신호의 상승 시간(rise time)은 저항(744, 746, 747)(33.66K)의 총 풀-업 임피던스와 통신 단자(726)의 총 정전용량 에 의해 결정된다. 배터리 팩(704)의 ESD 다이오드(747)는, 예컨대, 50 pF의 최소 정전용량을 갖는다. 모범적인 실시예에 있어서, 통신 단자(726)의 총 정전용량은 150 pF보다 더 적다. 일반적으로, 턴온시의 트랜지스터(738)의 드레인-소스 저항은 50 옴 이하이다.
프로세서(706)는 UART TX 핀(756)으로부터 로우-전압 출력으로서의 이진수 0(binary zero)과 하이-전압 출력으로서의 이진수 1을 송신한다. UART RX 핀(754)은 이 동일 신호 레벨을 예기한다. UART TX 신호는 트랜지스터(740)에 의해 반전되어 통신 단자(726)를 구동시킨다. 반전된 시그널링은 통신 단자(726)에서 예기된다, 즉, 하이 레벨 신호(>0.85*Vbatt)는 이진수 0을 나타내고 로우 레벨 신호(< 0.15*Vbatt)는 이진수 1을 나타낸다. 통신 단자(726)의 신호는 UART RX 핀(754)에 인가되기 전에 트랜지스터(738)에 의해 반전된다. 핸드 셋(702)의 UART가 UART TX 핀(756)을 구동하고 있는 경우에, UART TX 핀(756)의 아이들 상태(UART에 의해 송신되고 있는 데이터가 없는 경우)는 논리적인 1 즉, 하이 전압 레벨일 것이다. 이것은 트랜지스터(740)를 턴온시키고 배터리 팩(704) ID 핀을 3.3k-옴 저항(732)을 통해 로우로 풀할 것이다. 배터리 팩(704)은 여전히, 이 상태에서 트랜지스터(748 또는 750)를 동작시키는 것에 의해 통신 단자(726)를 하이 또는 로우로 구동시킬 수 있다.
인증 칩이 커맨드에 응답하여 통신 단자(726)를 구동하고 있는 경우, 그것은 도 7의 트랜지스터(748, 750)를 이용하여 핀을 하이 및 로우로 능동적으로 구동한다. 트랜지스터(748, 750)가 모두 오프된 동안에 각 스톱 비트의 다음에는 통신 단자(726)를 플로팅(floating)하는 대략 300 마이크로초의 기간이 있다. 플로팅하는 통신 단자(726)를 통해 통신되는 수신 데이터의 훼손을 피하기 위해, 핸드 셋(702)은 UART TX 핀(756)에 논리적인 1을 구동시켜 트랜지스터(740)를 턴온시키고 통신 단자(726)를 풀다운시키는 것에 의해 수신 동안에 UART TX를 주장한다.
인증 액세서리를 위한 통신 프로토콜
액세서리를 인증하기 위한 통신 프로토콜이 도 6, 8 내지 14를 참조하여 기술될 것이다. 도 6 및 8을 참조하여 보면, 일 실시예에 따른 통신 단자/라인(674)을 통해 통신되는 모범적인 통신 메시지 포맷(826)이 도시되어 있다. 통신 메시지(826)는 단일 스타트 비트(828), 8 데이터 비트(830), 및 단일 스톱 비트(832)를 포함하는 8-비트 바이트일 수 있다.
어떤 실시예에 있어서는, 배터리 팩 제조자에서 인증 프로세서(662)가 배터리 팩(660)에 연결되고 배터리 팩(660)의 수명 내내 전력이 공급될 수 있다. 이들 경우에, 인증 프로세서(662)는 가능한 적은 전력을 이용해야 한다. 인증 프로세서(662)는 절전을 위해 슬립 모드에서 주로 동작한다. 슬립 모드 동안에 인증 프로세서(662)가 명령을 실행하지 않으며, 단지 변이(하이에서 로우로 또는 로우에서 하이로의 변이)에 대해 통신 라인(674)을 모니터한다. 통신 단자(674)상에 변이가 발생한 경우, 인증 프로세서(662)가 웨이크 업하여 동작을 시작한다. 하지만, 인증 프로세서(662)는, 예컨대, 337.5 마이크로초(25 마이크로초 + 3개의 9600-보드 비트 기간)까지와 같은, 초기 변이가 발생한 후까지, 통신 라인(674)상의 신호의 처리를 시작하지 않는다. 통신 단자(674)를 통해 커맨드가 수신되지 않는 경우, 인증 프로세서(662)는 슬립 모드로 복귀한다(예컨대, 웨이크 업 후 2.3 초). 만약, 커맨드가 “깨어 있는(awake)”시간대(예컨대 2.3 초) 내에 수신되면, 인증 프로세서(662)가 커맨드를 처리하고 커맨드에 대한 응답을 송신한 후에 슬립 모드로 복귀한다.
웨이크 업 기간은 다양한 방식으로 용이해질 수 있다. 하나의 방법은 타이머를 이용하여 초기 변이(예컨대, 337.5 마이크로초 기간)가 경과된 시간을 판정하고 그 다음에 커맨드 바이트(들)를 송신하는 것이다. 다른 방법은 웨이크 업 간격의 첫 부분 동안에(예컨대, 232 마이크로초) 웨이크 업 바이트(Oxff)를 즉시 송신하고, 뒤 이어 커맨드 바이트를 송신하는 것이다. 웨이크 업 바이트는 하나의 “0”비트(스타트 비트)를 송신하고 뒤 이어 9개의 “1”비트(8개의 데이터 비트 + 스톱 비트)를 송신할 것이다. 웨이크 업 바이트를 송신하는 것은 초기 변이 기간(예컨대, 337.5 마이크로초) 후 제1 커맨드 바이트가 송신되는 것을 보장하기에 충분한 지연을 만든다.
배터리 팩(660)과의 모든 통신은 도 6의 실시예의 핸드 셋(650)에 의해 시작된다. 여기서 논의되는 것은, 온도 커맨드, ID/버전 커맨드, 칩 ID 커맨드, 및 인증 커맨드를 포함하여, 핸드 셋(650)이 배터리 팩(660)에 송신하는 커맨드 메시지들이다. 각 커맨드는 앞서 언급된 바와 같이 배터리 팩(660)을 웨이크 업시키는 것에 의해 시작한다. 각 커맨드는 커맨드 바이트 후에 배터리 팩(660)에 8-바이트 챌린지를 송신하는 인증 커맨드 이외에 단일 커맨드 바이트를 포함한다. 배터리 팩(660)에 의해 예기되는 것보다 많은 바이트가 송신되면, 그것들은 무시되거나 배터리 팩(660)으로부터의 응답 신호를 간섭할 것이다.
몇몇의 경우에, 핸드 셋(650)과 배터리 팩(660) 사이의 장치 통신의 타이밍을 캘리브레이트(calibrate)하는 것이 바람직할 수 있다. 도 9는 타이밍 캘리브레이션을 위해 핸드 셋(650)과 배터리 팩(660) 사이에 통신되는 모범적인 메시지 커맨드를 나타낸 표(900)를 예시한다. 배터리 팩(660)은 타이밍 응답(0x80)(904)을 송신하고 뒤 이어서 타이밍 바이트(0xC3)(906)를 송신하는 것에 의해 타이밍 커맨드(0x00)(902)에 응답한다. 핸드 셋(650)은 이 타이밍 바이트(906)의 4개의 논리적인 0의 열의 길이를 측정하여, 4로 나누고, 그 결과 값을 송신 또는 수신 동안에 단일 데이터 비트를 위한 시간으로 이용할 수 있다. 4개의 논리적인 0은 바이트의 중앙의 하이 레벨 신호일 것이다. 이진수 신호(904)의 어느 한쪽 단의 2개의 비트는 타이밍 목적을 위해서는 사용되지 않는다.
도 10은 온도 계측 트랜잭션의 요소들을 통합한 다이어그램을 묘사하고 도 11은 온도 정보 교환을 위한 핸드 셋(650)과 배터리 팩(660) 사이에 통신되는 모범적인 메시지 커맨드를 나타낸 표(1100)를 도시한다. 핸드 셋(650)은 배터리 팩(660)에 온도 커맨드(0x01)(1002, 1102)를 송신하고, 배터리 팩(660)은 온도 응답 바이트(0x81)(1004, 1104)를 송신하고 뒤 이어 온도 데이터(1006, 1106)를 포함하는 바이트를 송신하는 것에 의해 응답한다.
도 12는 배터리 팩(660)과 관련된 ID/버전 정보를 교환하기 위한 핸드 셋(650)과 배터리 팩(660) 사이에 통신되는 모범적인 메시지 커맨드를 나타낸 표(1200)를 도시한다. 핸드 셋(650)은 배터리 팩(660)에 ID/버전 커맨드(0x02)(1202)를 송신하고, 배터리 팩(660)은 ID/버전 응답 바이트(0x82)(1204)를 송신하고 뒤 이어 배터리 팩(660)에 관련된 ID/버전 데이터(1206)를 포함하는 바이트를 송신하는 것에 의해 응답한다. ID/버전 데이터는, 예컨대, 배터리 팩 제조자, 배터리 팩 버전, 배터리 팩 시리얼 번호, 배터리 팩 로트(lot)와 같은 정보를 나타낼 수 있다.
도 13은 인증 칩(662)과 관련된 식별 정보를 교환하기 위한 핸드 셋(650)과 배터리 팩(660) 사이에 통신되는 모범적인 메시지 커맨드를 나타내는 표(1300)를 도시한다. 핸드 셋(650)은 칩 ID 커맨드(0x04)(1302)를 배터리 팩(600)에 송신하고, 배터리 팩(660)은 칩 ID 응답(0x84)(1304)을 송신하고 뒤이어 칩 ID 정보를 송신하는 것에 의해 응답한다. 예를 들어, 칩 ID 정보는, 도 13에 예시된 바와 같은, 칩 ID 데이터 최상위 비트(MSB)(1306), 칩 ID 데이터(1308), 칩 ID 데이터(1310), 및 칩 ID 데이터 최하위 비트(LSB)(1312)를 포함하는 4개의 메시지의 바이트들을 포함할 수 있다.
도 14는 배터리 팩(660)을 인증하기 위한 인증 정보를 교환하기 위한 핸드 셋(650)과 배터리 팩(660) 사이에 통신되는 모범적인 메시지 커맨드를 나타내는 표(1400)을 도시한다. 배터리 인증을 시작하기 위해서, 핸드 셋(650)은 웨이크 업 바이트(Oxff)(1401)를 송신하고, 뒤 이어 인증 커맨드(0x08)(1402)를 송신하며, 그 다음에 64-비트(8-바이트) 챌린지 커맨드와 같은“챌린지”를 송신한다. 도 14에 도시된 바와 같이, 챌린지 커맨드는 챌린지 데이터 MSB(1404), 뒤 이은 챌린지 데 이터 페이로드(payload)(1406), 그 다음의 챌린지 데이터 LSB(1408)를 포함할 수 있다.
배터리 팩(660)은 챌린지상에 해시 함수를 실행시켜 64-비트(8-바이트) 응답과 같은 “응답”을 생성한다. 앞서 논의된 바와 같이, 챌린지는 일반적으로 각각의 핸드 셋에 고유한 것이다. 인증 응답(0x88)(1410)을 송신하고 뒤 이어 응답 커맨드를 송신하는 것에 의해 응답이 핸드 셋(650)에 회신된다. 예를 들어, 응답 커맨드는, 응답 데이터 MSB(1412), 뒤 이은 응답 데이터 페이로드(1414), 그 다음의 응답 데이터 LSB(1416)를 포함할 수 있다.
핸드 셋(650)은 수신된 응답(1412, 1414, 1416)을 챌린지(1404, 1406, 1408)와 관련된 저장된 응답과 비교한다. 부여된 챌린지에 매치가 판정되면, 배터리 팩(660)이 인증된다. 가능성 있는 통신 에러를 밝히기 위한 몇몇의 시도 후에 매치가 판정되지 않으면, 배터리 팩(660)은 위조된 것으로 간주된다. 핸드 셋(650)은 배터리 팩(660)의 사용 또는 동작을 제한할 수 있다.
인증 칩(662)의 해싱 함수의 동작의 비밀을 유지하기 위해, 핸드 셋(650)은 앞서 논의된 바와 같이 해싱 알고리즘의 사본을 포함하지 않는다. 대신에, 핸드 셋(650)의 소프트웨어 설비 시에, 챌린지 응답 쌍(들)이 핸드 셋(650)의 메모리에 저장된다. 챌린지-응답 쌍을 생성하기 위한 기술은 앞서 논의되었다.
본 발명의 모범적인 실시예의 상기한 상세한 설명으로부터, 다양한 기술들이 본 발명의 권리범위로부터 벗어남 없이 본 발명의 개념을 구현하기 위해 사용될 수 있다는 것이 명백하다. 더욱이, 본 발명이 특정 실시예들을 특히 참조하여 기술되 었지만, 당업자는 본 발명의 사상 및 권리범위로부터 벗어나지 않는 형태 및 세부로 변형이 만들어질 수 있다는 것을 인식할 것이다. 예를 들어, 다중 대역 안테나의 제1 라디에이터 암(radiator arm)과 제2 라디에이터 암의 특정 배치 배열은 본 발명의 권리 범위로부터 벗어남 없이 앞서 논의된 것으로부터 변형될 수 있다. 기술된 모범적인 실시예들은 모두 예시에 관한 것으로 간주되고 한정으로는 간주되지 않는다. 본 발명은 이 명세서에 기술된 특정 모범적인 실시예들에 한정되지 않고, 본 발명의 권리범위로부터 벗어남 없이 많은 재배열, 변형, 및 대체들을 할 수 있다는 것을 또한 이해해야 한다.

Claims (19)

  1. 장치가, 그 장치에 연결된 적어도 하나의 통신 포트를 갖는 액세서리를 인증하는 방법으로서,
    상기 액세서리를 슬립 모드(sleep mode)로 유지시키기 위해 상기 적어도 하나의 통신 포트를 제1 전압 레벨로 구동시키는 단계;
    상기 액세서리에서 웨이크 업 상태(wake up condition)를 시작시키기 위해 상기 적어도 하나의 통신 포트를 제2 전압 레벨로 변이시키는 단계;
    웨이크 업 커맨드(command)를 상기 적어도 하나의 통신 포트를 통해 상기 액세서리에 전송하는 단계;
    정보 요청 커맨드를 상기 적어도 하나의 통신 포트를 통해 상기 액세서리에 전송하는 단계;
    정보 요청 응답을 상기 적어도 하나의 통신 포트를 통해 상기 액세서리로부터 수신하는 단계; 및
    상기 수신된 정보 요청 응답의 적어도 일부가 기저장된 예기되는 정보 요청 응답과 매치(match)되는 경우에 상기 액세서리를 인증하는 단계를 포함하는 액세서리 인증 방법.
  2. 청구항 1에 있어서, 상기 정보 요청 커맨드는 인증 커맨드이고, 상기 정보 요청 응답은 상기 액세서리로부터의 인증 응답-타입 바이트(response-type byte) 인, 액세서리 인증 방법.
  3. 청구항 2에 있어서, 평문 챌린지(plaintext challenge)를 상기 액세서리에 송신하는 단계를 더 포함하는, 액세서리 인증 방법.
  4. 청구항 3에 있어서, 상기 액세서리로부터의 사이퍼텍스트(cyphertext) 응답을 상기 적어도 하나의 통신 포트상에서 수신하는 단계를 더 포함하는, 액세서리 인증 방법.
  5. 청구항 4에 있어서,
    상기 사이퍼텍스트 응답을 상기 평문 챌린지와 관련된 기저장된 사이퍼텍스트 응답과 비교하는 단계;
    상기 사이퍼텍스트 응답이 상기 기저장된 사이퍼텍스트 응답과 매치되는 경우에 상기 액세서리의 사용을 허가하는 단계; 및
    상기 사이퍼텍스트 응답이 상기 기저장된 사이퍼텍스트 응답과 매치되지 않는 경우에 상기 액세서리의 사용을 제한하는 단계를 더 포함하는, 액세서리 인증 방법.
  6. 청구항 1에 있어서,
    상기 적어도 하나의 통신 포트를 모니터하는 단계;
    상기 적어도 하나의 통신 포트에 부착되는 상기 액세서리를 감지하는 단계; 및
    상기 액세서리를 슬립 모드로 유지시키기 위해 상기 적어도 하나의 통신 포트를 상기 제1 전압 레벨로 구동시키는 단계를 더 포함하는, 액세서리 인증 방법.
  7. 청구항 3에 있어서,
    상기 액세서리에서 전압 레벨 변이에 대해 상기 단일 통신 포트를 모니터하는 단계;
    상기 액세서리에서 전압 레벨 변이를 감지하는 단계;
    상기 액세서리에서 커맨드 듣기 모드(command listen mode)에 들어가는 단계;
    상기 액세서리에서 상기 웨이크 업 커맨드를 감지하는 단계;
    상기 장치로부터 상기 인증 커맨드를 수신하는 단계;
    상기 장치로부터 상기 평문 챌린지를 수신하는 단계;
    보안 인증 화상 파일을 활용하여 상기 수신된 평문 챌린지상에 해시 함수(hash function)를 실행시켜 사이퍼텍스트 응답을 생성하는 단계;
    인증 응답 타입 바이트를 상기 핸드 셋에 송신하는 단계; 및
    상기 생성된 사이퍼텍스트 응답을 상기 핸드 셋에 송신하는 단계를 더 포함하는, 액세서리 인증 방법.
  8. 청구항 1에 있어서, 상기 정보 요청 커맨드는 타이밍 커맨드이고, 상기 정보 요청 응답은 타이밍 응답과 타이밍 바이트를 포함하는, 액세서리 인증 방법.
  9. 청구항 1에 있어서, 상기 정보 요청 커맨드는 온도 커맨드이고, 상기 정보 요청 응답은 온도 응답과 온도 데이터를 포함하는, 액세서리 인증 방법.
  10. 청구항 1에 있어서, 상기 정보 요청 커맨드는 식별 커맨드이고, 상기 정보 요청 응답은 식별 응답과 식별 데이터를 포함하는, 액세서리 인증 방법.
  11. 청구항 1에 있어서, 상기 장치와 상기 액세서리 사이의 상기 송수신단계들은 반이중(half duplex) 통신인, 액세서리 인증 방법.
  12. 청구항 1에 있어서, 상기 장치는 무선 통신 장치이고, 상기 액세서리는 배터리인, 액세서리 인증 방법.
  13. 액세서리를 인증하는 시스템으로서,
    장치로서,
    상기 액세서리로의 연결을 위한 적어도 하나의 통신 포트;
    적어도 하나의 정보 요청 커맨드와 적어도 하나의 예기되는 정보 요청 응답을 저장하기 위한 메모리; 및
    상기 메모리와 상기 적어도 하나의 통신 포트에 연결된 프로세서로서, 상기 액세서리를 슬립 모드로 유지시키기 위해 상기 적어도 하나의 통신 포트를 제1 전압 레벨로 구동시키고, 상기 액세서리에서 웨이크 업 상태를 시작시키기 위해 상기 적어도 하나의 통신 포트를 제2 전압 레벨로 변이시키며, 웨이크 업 커맨드를 상기 적어도 하나의 통신 포트를 통해 상기 액세서리에 전송하고, 상기 적어도 하나의 정보 요청 커맨드를 상기 적어도 하나의 통신 포트를 통해 상기 액세서리에 전송하며, 정보 요청 응답을 상기 적어도 하나의 통신 포트를 통해 상기 액세서리로부터 수신하고, 상기 수신된 정보 요청 응답의 적어도 일부가 상기 적어도 하나의 예기되는 정보 요청 응답과 매치되는 경우에 상기 액세서리를 인증하는 프로세서를 포함하는, 장치를 포함하며,
    상기 액세서리는, 상기 적어도 하나의 통신 포트를 통한 상기 장치로의 부착을 위한 것이고, 상기 액세서리는,
    보안 인증 화상 파일; 및
    전압 레벨 변이를 감지하고, 커맨드 듣기 모드에 들어가며, 상기 웨이크 업 커맨드를 감지하고, 상기 적어도 하나의 정보 요청 커맨드를 수신하며, 정보 요청 응답을 생성하고, 상기 정보 요청 응답을 상기 적어도 하나의 통신 포트를 통해 상기 장치에 전송하기 위한 액세서리 프로세서를 포함하는, 액세서리 인증 시스템.
  14. 청구항 13에 있어서, 상기 적어도 하나의 정보 요청 커맨드는 인증 커맨드와 평문 챌린지를 포함하고;
    상기 정보 요청 응답의 적어도 일부는 사이퍼텍스트 응답이며;
    상기 액세서리 프로세서는 상기 사이퍼텍스트 응답을 생성하기 위해 상기 보안 인증 화상 파일을 활용하여 상기 수신된 평문 챌린지상에 해시 함수를 실행시키는, 액세서리 인증 시스템.
  15. 청구항 13에 있어서, 상기 정보 요청 커맨드는 타이밍 커맨드이고, 상기 정보 요청 응답은 타이밍 응답과 타이밍 바이트를 포함하는, 액세서리 인증 시스템.
  16. 청구항 13에 있어서, 상기 정보 요청 커맨드는 온도 커맨드이고, 상기 정보 요청 응답은 온도 응답과 온도 데이터를 포함하는, 액세서리 인증 시스템.
  17. 청구항 13에 있어서, 상기 정보 요청 커맨드는 식별 커맨드이고, 상기 정보 요청 응답은 식별 응답과 식별 데이터를 포함하는, 액세서리 인증 시스템.
  18. 청구항 13에 있어서, 상기 장치와 상기 액세서리 사이의 상기 송수신단계들은 반이중 통신인, 액세서리 인증 시스템.
  19. 청구항 13에 있어서, 상기 장치는 무선 통신 장치이고, 상기 액세서리는 상기 무선 통신 장치에 전력을 공급하기 위한 배터리인, 액세서리 인증 시스템.
KR1020087026201A 2006-03-27 2007-03-26 장치 인증을 위한 통신 프로토콜 KR20080112337A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US78616406P 2006-03-27 2006-03-27
US60/786,164 2006-03-27
US11/682,840 2007-03-06
US11/682,840 US8296565B2 (en) 2006-03-27 2007-03-06 Communication protocol for device authentication

Publications (1)

Publication Number Publication Date
KR20080112337A true KR20080112337A (ko) 2008-12-24

Family

ID=38521741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087026201A KR20080112337A (ko) 2006-03-27 2007-03-26 장치 인증을 위한 통신 프로토콜

Country Status (7)

Country Link
US (1) US8296565B2 (ko)
EP (1) EP1999676A1 (ko)
JP (1) JP4981887B2 (ko)
KR (1) KR20080112337A (ko)
AU (1) AU2007245146B2 (ko)
CA (1) CA2647328A1 (ko)
WO (1) WO2007126858A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101440328B1 (ko) * 2013-05-20 2014-09-17 주식회사 실리콘웍스 메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004007994B4 (de) * 2004-02-18 2007-07-12 Infineon Technologies Ag Verfahren zum Zuweisen von Zugriffsrechten an ein Peripheriegerät
US8117651B2 (en) 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US7971058B2 (en) 2006-03-27 2011-06-28 Kyocera Corporation System and method for generating a plaintext / cyphertext database for use in device authentication
JP4879650B2 (ja) * 2006-05-15 2012-02-22 ソニー株式会社 通信システムおよび認証方法、情報処理装置および情報処理方法、並びにバッテリ
US20090201133A1 (en) * 2007-12-03 2009-08-13 Skyetek, Inc. Method For Enhancing Anti-Cloning Protection of RFID Tags
JP2009151953A (ja) * 2007-12-18 2009-07-09 Mitsumi Electric Co Ltd 電池パック及び電子機器
TWM338413U (en) * 2008-02-29 2008-08-11 All New Energy Technology Co Ltd Digital communication interface suitable for use among multiple battery sets with serial/parallel connection
US8238811B2 (en) * 2008-09-08 2012-08-07 Apple Inc. Cross-transport authentication
US8208853B2 (en) * 2008-09-08 2012-06-26 Apple Inc. Accessory device authentication
US8677145B2 (en) * 2009-02-27 2014-03-18 Atmel Corporation Single pin communication mechanism
JP5476086B2 (ja) * 2009-10-16 2014-04-23 フェリカネットワークス株式会社 Icチップ、情報処理装置およびプログラム
US7865629B1 (en) * 2009-11-24 2011-01-04 Microsoft Corporation Configurable connector for system-level communication
US8719112B2 (en) * 2009-11-24 2014-05-06 Microsoft Corporation Invocation of accessory-specific user experience
KR101683286B1 (ko) * 2009-11-25 2016-12-06 삼성전자주식회사 이동통신망을 이용한 싱크 인증 시스템 및 방법
US8347014B2 (en) 2010-06-04 2013-01-01 Apple Inc. Class-based compatibility testing and notification
EP2424185B1 (en) 2010-08-23 2014-10-22 3M Innovative Properties Co. Method and device for challenge-response authentication
US8521086B2 (en) 2011-03-10 2013-08-27 Apple Inc. Pairing an accessory with a host device using accessory output device
CA2830283C (en) 2011-03-25 2016-11-01 Certicom Corp. Interrogating an authentication device
CA2832348C (en) 2011-05-06 2018-07-24 Certicom Corp. Managing data for authentication devices
WO2013009302A1 (en) * 2011-07-12 2013-01-17 Hewlett-Packard Development Company , L.P. Computing device including a port and a guest domain
US9569957B2 (en) * 2012-03-08 2017-02-14 Htc Corporation Systems, devices and methods involving device identification
JP2014053675A (ja) * 2012-09-05 2014-03-20 Sony Corp セキュリティチップ、プログラム、情報処理装置及び情報処理システム
US9727720B2 (en) 2012-11-30 2017-08-08 Certicom Corp. Challenge-response authentication using a masked response value
US9369290B2 (en) 2012-11-30 2016-06-14 Certicom Corp. Challenge-response authentication using a masked response value
US9154480B1 (en) * 2012-12-12 2015-10-06 Emc Corporation Challenge-response authentication of a cryptographic device
US8930700B2 (en) * 2012-12-12 2015-01-06 Richard J. Wielopolski Remote device secure data file storage system and method
US20140228074A1 (en) * 2013-02-12 2014-08-14 Sonim Technologies, Inc. Embedded Accessory for Mobile Devices
WO2015084965A1 (en) 2013-12-03 2015-06-11 Radio Systems Corporation Method and apparatus for verifying battery authenticity
US9836637B2 (en) * 2014-01-15 2017-12-05 Google Llc Finger print state integration with non-application processor functions for power savings in an electronic device
US10552614B2 (en) * 2014-01-31 2020-02-04 Hewlett-Packard Development Company, L.P. Authentication system and method
JP6241613B2 (ja) * 2014-03-20 2017-12-06 カシオ計算機株式会社 電子機器システム、端末機器、及び電子機器システムの制御方法、制御プログラム
KR101933289B1 (ko) * 2014-04-01 2018-12-27 애플 인크. 링 컴퓨팅 디바이스를 위한 디바이스 및 방법
US10073990B1 (en) * 2014-09-10 2018-09-11 Maxim Integrated Products, Inc. System and method for monitoring network devices incorporating authentication capable power supply modules
KR20160035427A (ko) * 2014-09-23 2016-03-31 삼성전자주식회사 전자 장치 및 액세서리 장치와 액세서리 장치 인증 방법
JP6429167B2 (ja) * 2015-03-17 2018-11-28 渡辺 浩志 電子装置ネットワークにおける物理的チップ認証方式
US10050961B2 (en) 2016-01-21 2018-08-14 Ca, Inc. Network device authentication based on hashing content of sequential messages
US11170095B2 (en) 2017-06-28 2021-11-09 GE Precision Healthcare LLC Catheter authorization system and method
US10546146B2 (en) 2017-06-28 2020-01-28 General Electric Company Catheter authorization system and method
US10764068B2 (en) * 2018-01-30 2020-09-01 EMC IP Holding Company LLC Computer system employing challenge/response protocol with detection of non-unique incorrect responses
CN110119651B (zh) * 2018-02-06 2022-05-20 比亚迪半导体股份有限公司 一种电子设备、指纹检测装置与方法
JP7257260B2 (ja) * 2019-06-04 2023-04-13 株式会社マキタ バッテリ接続システム、バッテリパック、電動作業機および充電器

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4471486A (en) * 1981-06-15 1984-09-11 General Signal Corporation Vital communication system for transmitting multiple messages
US4825050A (en) * 1983-09-13 1989-04-25 Transaction Security Corporation Security transaction system for financial data
US4744084A (en) * 1986-02-27 1988-05-10 Mentor Graphics Corporation Hardware modeling system and method for simulating portions of electrical circuits
US4750135A (en) * 1986-05-01 1988-06-07 Reuters Limited Method for dynamically creating a receiver definable local trading instrument displayable record from a remotely transmitted trading instrument common data stream
US5471631A (en) * 1992-10-19 1995-11-28 International Business Machines Corporation Using time stamps to correlate data processing event times in connected data processing units
JP3247219B2 (ja) * 1993-10-26 2002-01-15 松下電工株式会社 電池駆動機器
US5608306A (en) * 1994-03-15 1997-03-04 Ericsson Inc. Rechargeable battery pack with identification circuit, real time clock and authentication capability
US5752880A (en) * 1995-11-20 1998-05-19 Creator Ltd. Interactive doll
US5737247A (en) * 1996-04-04 1998-04-07 Phil Orbanes Productions, Inc. Bicycle accessory with voice synthesis capability
JP4013003B2 (ja) * 1998-03-27 2007-11-28 宇部興産株式会社 バッテリーパック
WO1999060568A1 (en) * 1998-05-20 1999-11-25 Recording Industry Association Of America Copy protection method using broken modulation rules
US6578152B1 (en) * 2000-02-04 2003-06-10 Iomega Corporation Dual power switching network system for isolating between different power supplies and applying appropriate power supply to a connected peripheral device
US6782413B1 (en) * 2000-02-11 2004-08-24 Microsoft Corporation Distributed conference bridge
US6826128B1 (en) * 2000-10-31 2004-11-30 International Business Machines Corporation Sensing methods and devices for a batteryless, oscillatorless, analog time cell usable as an horological device
US6757845B2 (en) * 2000-11-30 2004-06-29 Bitmicro Networks, Inc. Method and apparatus for testing a storage device
US20020188466A1 (en) * 2001-04-18 2002-12-12 Barrette Pierre Philip Secure digital medical intellectual property (IP) distribution, market applications, and mobile devices
TW548541B (en) * 2002-01-16 2003-08-21 Darfon Electronics Corp Peripheral device of portable electronic apparatus having power control function
US6801459B2 (en) * 2002-03-22 2004-10-05 Intel Corporation Obtaining data mask mapping information
CA2385434C (en) * 2002-04-01 2012-11-27 S&C Electric Company Control arrangement for power electronic system
JP2004032127A (ja) * 2002-06-24 2004-01-29 Hitachi Ltd 情報記録再生システム
SE524627C2 (sv) * 2002-10-07 2004-09-07 Abb Research Ltd Trådlös regulator och förfarande för styrning av en anordning anordnad relativt en robot
JP3919650B2 (ja) * 2002-10-23 2007-05-30 キヤノン株式会社 電子機器システム
US7890997B2 (en) * 2002-12-26 2011-02-15 Avaya Inc. Remote feature activation authentication file system
JP2005012663A (ja) 2003-06-20 2005-01-13 Sanyo Electric Co Ltd 認証システム及びid発生装置
US6925025B2 (en) * 2003-11-05 2005-08-02 Texas Instruments Incorporated SRAM device and a method of powering-down the same
US7307907B2 (en) * 2003-12-11 2007-12-11 Texas Instruments Incorporated SRAM device and a method of operating the same to reduce leakage current during a sleep mode
US7375493B2 (en) 2003-12-12 2008-05-20 Microsoft Corporation Inductive battery charger
US7596699B2 (en) * 2004-02-24 2009-09-29 Intersil Americas Inc. Battery authentication system
US7512794B2 (en) * 2004-02-24 2009-03-31 Intersil Americas Inc. System and method for authentication
JP4185472B2 (ja) 2004-05-31 2008-11-26 京セラ株式会社 携帯端末装置及び二次電池パック
US20060043937A1 (en) * 2004-08-31 2006-03-02 Joseph Patino Method and system for obtaining ambient temperatures
JP4986395B2 (ja) * 2004-11-25 2012-07-25 ルネサスエレクトロニクス株式会社 バッテリパック、および携帯型電子機器
JP3765544B1 (ja) * 2004-11-26 2006-04-12 株式会社ソニー・コンピュータエンタテインメント バッテリ、及び認証要求装置
EP1821459B1 (en) * 2004-12-08 2020-10-28 NEC Corporation Authentication system, handover system, and corresponding method
US20060178170A1 (en) * 2005-02-08 2006-08-10 Samsung Electronics Co., Ltd. Wireless communication device having battery authentication, and associated method
US7613924B2 (en) * 2005-03-08 2009-11-03 Texas Instruments Incorporated Encrypted and other keys in public and private battery memories
US20070024235A1 (en) * 2005-07-28 2007-02-01 Research In Motion Limited Method and system for battery authentication for wireless and other devices
US7971058B2 (en) * 2006-03-27 2011-06-28 Kyocera Corporation System and method for generating a plaintext / cyphertext database for use in device authentication
US8243563B2 (en) * 2007-08-30 2012-08-14 Dell Products, Lp Optical disc drive capable of operation in low-power mode

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101440328B1 (ko) * 2013-05-20 2014-09-17 주식회사 실리콘웍스 메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치

Also Published As

Publication number Publication date
EP1999676A1 (en) 2008-12-10
JP2009531977A (ja) 2009-09-03
WO2007126858A1 (en) 2007-11-08
JP4981887B2 (ja) 2012-07-25
AU2007245146B2 (en) 2011-03-10
US8296565B2 (en) 2012-10-23
US20070226497A1 (en) 2007-09-27
CA2647328A1 (en) 2007-11-08
AU2007245146A1 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
US8296565B2 (en) Communication protocol for device authentication
US7971058B2 (en) System and method for generating a plaintext / cyphertext database for use in device authentication
AU2006321928B2 (en) Method and apparatus for authenticating a mobile phone accessory
CN101984575B (zh) 一种保护移动终端软件的方法和装置
US7613924B2 (en) Encrypted and other keys in public and private battery memories
US11310048B2 (en) Portable storage device with internal secure controller that performs self-verification and self-generates encryption key(s) without using host or memory controller and that securely sends encryption keys(s) via side channel
KR100881938B1 (ko) 다중 스마트 카드 세션을 관리하는 시스템 및 방법
US20070260892A1 (en) System and method for authenticating a power source
US10867046B2 (en) Methods and apparatus for authenticating a firmware settings input file
CN201150068Y (zh) 多功能信息安全设备
CN113711653A (zh) 用于控制低能量设备的通信数据速率的方法和装置
WO2009010919A2 (en) Dongle for functionally testing an electronic device
CN101325492B (zh) 基于可编程片上系统的通用串行总线密码锁
CN110581832A (zh) 接口数据传输方法及其电子设备
CN103782304A (zh) 用于制造期间预配置密钥的方法
CN210295096U (zh) 电磁屏数据安全加密模组
TW202240439A (zh) 安全加密協同處理器

Legal Events

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