KR20100045482A - 클라이언트 인증 디바이스 및 이의 방법들 - Google Patents

클라이언트 인증 디바이스 및 이의 방법들 Download PDF

Info

Publication number
KR20100045482A
KR20100045482A KR1020107003657A KR20107003657A KR20100045482A KR 20100045482 A KR20100045482 A KR 20100045482A KR 1020107003657 A KR1020107003657 A KR 1020107003657A KR 20107003657 A KR20107003657 A KR 20107003657A KR 20100045482 A KR20100045482 A KR 20100045482A
Authority
KR
South Korea
Prior art keywords
authentication
memory
module
processor
response
Prior art date
Application number
KR1020107003657A
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 KR20100045482A publication Critical patent/KR20100045482A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/86Secure or tamper-resistant housings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

데이터 프로세싱 디바이스를 인증하는 방법은 데이터 프로세싱 디바이스를 인증하도록 하는 요청을 수신하는 단계를 포함한다. 응답으로, 인증 키가 인증 모듈에서 액세스되고 인증된다. 인증 키는 인증 모듈과 동일한 집적 회로 패키지 내에 위치되는 저장 모듈에 저장되어, 상기 인증 키는 권한부여되지 않은 프로빙(probing)에 노출되지 않고 모듈에 전달될 수 있게 된다. 집적 회로 패키지는 또한 데이터 프로세싱 디바이스의 메모리가 액세스되었는지를 결정하기 위하여 탬퍼 검출 모듈을 포함한다. 메모리가 액세스되었다고 결정하는 것에 응답하여, 탬퍼 검출 모듈은 데이터 프로세싱 디바이스를 인증하지 않도록 인증 모듈에 명령한다.

Description

클라이언트 인증 디바이스 및 이의 방법들{CLIENT AUTHENTICATION DEVICE AND METHODS THEREOF}
본 명세서는 데이터 프로세싱 디바이스(data processing device)들에 관한 것이며, 특히 데이터 프로세싱 디바이스들의 인증에 관한 것이다.
컴퓨터(computer)들과 같은 데이터 프로세싱 디바이스들은 자주 버스, 근거리 네트워크(local area network), 광역 네트워크(wide area network)와 같은 네트워크를 통해 다른 데이터 프로세싱 디바이스와 통신한다. 예를 들어, 컴퓨터들은 온라인 뱅킹(on-line banking) 또는 네트워크 게임(network game)들과 같은 다양한 활동을 행하기 위하여 인터넷을 통해 다른 컴퓨터들과 통신하는데 사용된다. 이러한 활동들이 증가함에 따라, 희망하지 않는 감시로부터 전달된 정보를 보호하기 위하여 보안 조치들에 대한 필요성이 또한 증가하였다. 예를 들어, 사용자의 은행 계좌들, ATM 접속 번호, 등을 보호하기 위하여 전달된 금융 정보로의 권한부여되지 액세스를 방지하는 보안 조치들을 사용하는 것은 온라인 뱅킹 거래에서 전형적으로 바람직하다.
때때로 사용되는 하나의 보안 조치는 제 1 데이터 프로세싱 디바이스가 제 2 데이터 프로세싱 디바이스가 인증 절차를 충족시킬 때까지 상기 제 2 디바이스와 통신하지 않는 인증(authentication)으로 칭해진다. 이와 같은 인증 절차의 예는 제 2 디바이스만이 액세스하는 인증 키(authentication key)를 사용함으로써 제 2 디바이스가 자신의 진정성(authenticity)을 입증하는 것을 포함한다. 그러나, 이 절차는 키가 권한부여되지 않은 사람 또는 디바이스에 의해 획득되는 경우에 실패할 수 있다.
따라서, 개선된 인증 디바이스 및 방법들이 필요하다.
네트워크를 통해 클라이언트 디바이스를 인증하도록 하는 요청을 수신하는 단계; 상기 요청을 수신하는 단계에 응답하여: 상기 클라이언트 디바이스에서 저장 모듈로부터 인증 키를 검색하는 단계로서, 상기 저장 모듈은 제 1 집적 회로 패키지에 위치되는, 상기 인증 키 검색 단계; 탬퍼 검출 모듈에서 상기 클라이언트 디바이스의 메모리가 액세스되었는지를 결정하는 단계; 상기 클라이언트 디바이스의 상기 메모리가 액세스되지 않았다고 결정하는 단계에 응답하여, 상기 클라이언트 디바이스에 대한 인증 결과를 결정하기 위하여 인증 모듈에서 상기 인증 키를 사용하는 단계로서, 상기 인증 모듈은 상기 제 1 집적 회로 패키지에 위치되는, 상기 인증 키 사용 단계; 및 상기 네트워크를 통해 상기 인증 결과를 전달하는 단계를 포함하는, 방법이 제공된다.
본 발명에 의하면, 개선된 인증 디바이스 및 방법이 제공된다.
도 1은 본 명세서에 따른 하나의 실시예에 따른 통신 시스템의 블록도.
도 2는 도 1의 클라이언트 디바이스(client device)의 특정한 실시예의 블록도.
도 3은 도 2의 네트워크 인터페이스 디바이스(network interface device)의 특정한 실시예의 블록도.
도 4는 본 명세서의 하나의 실시예에 따른 네트워크 인터페이스 디바이스의 블록도.
도 5는 본 명세서의 하나의 실시예에 따른 클라이언트 디바이스를 인증하는 방법의 흐름도.
도 6은 본 명세서의 또 다른 실시예에 따른 클라이언트 디바이스를 인증하는 방법의 흐름도.
도 7은 본 명세서의 다른 실시예에 따른 클라이언트 디바이스를 인증하는 방법의 흐름도.
첨부 도면들을 참조함으로써 본 명세서가 더 양호하게 이해될 수 있고, 본 명세서의 다수의 특징들 및 장점들이 당업자들에게 명백해질 수 있다.
상이한 도면들에서 동일한 참조 기호들의 사용은 유사하거나 동일한 항목들을 나타낸다.
데이터 프로세싱 디바이스를 인증하는 방법들 및 디바이스들이 개시되어 있다. 방법은 데이터 프로세싱 디바이스를 인증하도록 하는 요청을 수신하는 단계를 포함한다. 응답으로, 인증 키가 인증 모듈(authentication module)에서 액세스되고 인증된다. 인증 키는 인증 모듈과 동일한 집적 회로 패키지(integrated circuit package) 내에 위치되는 저장 모듈에 저장되어, 상기 인증 키는 권한부여되지 않은 프로빙(probing)에 노출되지 않고 모듈에 전달될 수 있게 된다. 집적 회로 패키지는 또한 데이터 프로세싱 디바이스의 메모리가 액세스되었는지를 결정하기 위하여 탬퍼 검출 모듈(tamper detection module)을 포함한다. 메모리가 액세스되었다고 결정하는 것에 응답하여, 탬퍼 검출 모듈은 데이터 프로세싱 디바이스를 인증하지 않도록 인증 모듈에 명령한다.
도 1을 참조하면, 통신 시스템(100)의 특정한 실시예의 블록도가 도시되어 있다. 통신 시스템(100)은 클라이언트 디바이스(102), 네트워크(110), 및 서버 디바이스(server device)(120)를 포함한다. 클라이언트 디바이스(102) 및 서버 디바이스(120)는 각각 네트워크(110)에 접속된다. 네트워크(110)는 서버 디바이스(120) 및 클라이언트 디바이스(102) 사이의 통신들을 위한 물리적 통신 계층을 제공한다. 예를 들어, 네트워크(110)는 각각의 패킷과 관련된 어드레스 정보(address information)를 기반으로 하여 목적지에 패킷들을 라우팅(routing)하도록 구성되는, 하나 이상의 라우터(router)들, 서버(server)들, 등을 포함하는 패킷-교환 네트워크(packet-switched network)일 수 있다. 이 구성에서, 네트워크(110)는 서버 디바이스(120) 및 클라이언트 디바이스(102) 각각으로부터 패킷들을 수신하고, 상기 패킷들을 다른 하나에 전달할 수 있다. 특정 실시예에서, 네트워크(110)는 인터넷(Internet)과 같은 광역 네트워크이다. 또 다른 실시예에서, 네트워크(110)는 근거리 네트워크이다. 또 다른 실시예에서, 네트워크(110)는 하나 이상의 광역 네트워크들 및 하나 이상의 근거리 네트워크들의 조합이다.
서버 디바이스(120)는 클라이언트 디바이스들에서 사용자들과 통신하기 위하여 네트워크(110)를 통하여 정보를 제공하고 클라이언트 디바이스들로부터 정보를 수신하도록 구성되는 디바이스이다. 실시예에서, 서버 디바이스(120)는 각각의 사용자에게 상호작용 경험을 제공하고, 사용자가 원격 위치에서 서버에 저장된 정보를 조종하도록 하는 하나 이상의 컴퓨터 프로그램들을 실행한다. 예를 들어, 하나의 실시예에서, 서버 디바이스(120)는 각각의 사용자에 대한 뱅킹 또는 금융 정보를 저장하고, 사용자로 하여금 저장된 뱅킹 또는 금융 정보(예를 들어, 레코딩 디포짓(recording deposit)들, 신용 카드 요금들, 등)를 조종하도록 하는 하나 이상의 컴퓨터 프로그램들을 제공할 수 있다. 또 다른 실시예에서, 서버 디바이스(120)는 온라인 또는 네트워크형 게임을 제공하는 하나 이상의 컴퓨터 프로그램들을 실행하는 게임 서버이다. 서버 디바이스(120)는 사용자로 하여금 게임 세상과 상호작용하도록 클라이언트 디바이스들과 통신한다. 논의를 위해 통신 시스템(100)이 클라이언트-서버 아키텍처(architecture)로서 도시되어 있을지라도, 다른 실시예들에서, 서버 디바이스(120) 및 클라이언트 디바이스(102)는 피어-투-피어(peer-to-peer: P2P) 네트워크 구성에서의 피어 디바이스(peer device)들일 수 있다는 점이 인식될 것이다.
서버(120)는 통신 세션(communication session)을 통해 클라이언트 디바이스로 정보를 전달하도록 구성된다. 특히, 서버(120)는 클라이언트 디바이스와의 통신 세션을 개시하도록 하는 요청을 네트워크(110)를 통해 수신하도록 구성된다. 상기 요청에 응답하여, 서버(120)는 정보의 전달을 허용하기 위하여 서버(120) 및 요청 디바이스 사이에 통신 프로토콜을 확립하도록 요청 디바이스와 핸드쉐이크 프로세스(handshake process)를 행한다. 핸드쉐이크 프로세스의 부분으로서, 서버 디바이스(120)는 개시하는 클라이언트 디바이스로 하여금 자신을 인증하도록 요청할 수 있다. 이것은 서버 디바이스(120)가 단지 자격이 부여된 디바이스와 통신하는 것을 보증하여, 서버 디바이스(120)에 저장된 정보 또는 프로그램들로의 권한부여되지 않은 액세스의 가능성(likelihood)을 감소시킨다.
특히, 서버 디바이스(120)는 어떤 클라이언트 디바이스들이 서버 디바이스(120)와의 통신 세션들을 확립하도록 허용되는지를 표시하는 아이덴티피케이션 정보(identification information)를 포함하는 한 세트의 자격이 부여된 디바이스 정보(125)를 저장한다. 핸드쉐이크 프로세스 동안, 서버 디바이스(120)는 인증 요청을 전달한다. 응답으로, 서버 디바이스(120)는 본원에서 클라이언트 ID라 칭해지는 클라이언트 아이덴티피케이션 정보를 수신한다. 클라이언트 ID는 코드 워드(code word) 또는 값, 디지털 인증서(digital certificate), 또는 다른 아이덴티피케이션 정보일 수 있다. 서버 디바이스(120)는 클라이언트 디바이스가 서버(120)와의 통신에 대해 권한부여되는지를 결정하기 위하여 클라이언트 ID를 자격이 부여된 디바이스 정보(125)와 비교한다. 서버 디바이스(120)가 통신들이 권한부여되었다고 결정하는 경우에, 상기 서버 디바이스는 클라이언트 디바이스로의 정보의 전달을 시작할 수 있다. 서버 디바이스(120)가 통신들이 권한부여되지 않았다고 결정하는 경우에, 상기 서버 디바이스는 통신 세션을 종료하고 다른 적절한 보안 조치들을 취할 수 있다. 예를 들어, 서버 디바이스(120)는 클라이언트 디바이스와 연관된 사용자 계정을 셧 다운(shut down)하고, 클라이언트 디바이스와 연관된 사용자에게 사용자 정보를 액세스하고자 하는 잠재적인 권한부여되지 않은 시도 등을 통지할 수 있다.
클라이언트 디바이스(102)는 디바이스의 사용자로 하여금 네트워크(110)에 액세스하도록 하는 데스크톱 또는 랩톱 컴퓨터(desktop or laptop computer)와 같은 컴퓨터 디바이스, 개인용 데이터 보조장치(personal data assistant), 셀 전화(cell phone), 등이다. 특히, 클라이언트 디바이스(102)는 네트워크 인터페이스 디바이스(104) 및 데이터 프로세서(106)를 포함한다. 데이터 프로세서(106)는 네트워크(110)를 통해 서버 디바이스(120)와 통신하기 위하여 사용자에 의해 조종될 수 있는 하나 이상의 컴퓨터 프로그램들을 실행하도록 구성된다. 예를 들어, 데이터 프로세서(106)는 사용자로 하여금 서버 디바이스(120)에서 웹 콘텐츠 프로그램(web content program) 또는 서버 게임 프로그램(server game program)과 정보를 통신하도록 하기 위하여 웹 브라우저(web browser) 또는 클라이언트 게임 프로그램을 실행할 수 있다. 네트워크 인터페이스 디바이스(104)는 네트워크(110) 및 데이터 프로세서(106) 사이의 통신을 위한 물리적 및 논리 계층을 제공하는, 네트워크 인터페이스 카드와 같은 디바이스이다. 따라서, 네트워크 인터페이스 디바이스(104)는 데이터 프로세서(106)에 의해 전달된 정보를 네트워크(110)를 통한 통신을 위한 패킷들 또는 다른 적절한 포맷으로 형성하도록 구성될 수 있다. 네트워크 인터페이스 디바이스(104)는 또한 네트워크(110)로부터 패킷들을 수신하고 이러한 패킷들을 데이터 프로세서(106)에 적합한 포맷으로 변환하도록 구성될 수 있다.
네트워크 인터페이스 디바이스(104)는 또한 클라이언트 디바이스(102)에 인증 정보를 제공하도록 구성될 수 있다. 도시된 바와 같이, 네트워크 인터페이스 디바이스(104)는 저장 모듈(130) 및 인증 모듈(140)을 포함한다. 저장 모듈(130)은 인증 키(135)를 저장하는, 판독 전용 메모리(ROM), 플래시 메모리(flash memory) 등과 같은 메모리 모듈이다. 인증 모듈(140)은 지정된 인증 알고리즘을 구현하도록 구성되는, 디지털 논리 하드웨어와 같은 하드웨어 모듈을 나타낸다. 특히, 네트워크(110)를 통해 수신된 인증 요청에 응답하여, 인증 모듈(140)은 디지털 코드, 디지털 인증서, 등과 같은 클라이언트 ID 정보를 생성하기 위하여 인증 키(135)로 인증 알고리즘을 수행한다. 인증 모듈(140)은 클라이언트 ID를 네트워크(110)에 전달한다.
실시예에서, 저장 모듈(130) 및 인증 모듈(140)이 공동 집적 회로 패키지에 통합되어, 저장 모듈(130)은 인증 모듈(140) 이외의 네트워크 인터페이스 디바이스(104) 또는 클라이언트 디바이스(102)의 모듈들에 액세스 가능하지 않게 된다. 특히, 저장 모듈(130) 및 인증 모듈(140) 사이의 접속들은 공동 집적 회로 패키지의 물리적인 파괴 없이는 액세스될 수 없다. 이것은 저장 모듈(130)의 권한부여되지 않은 프로빙 및 키(135)로의 권한부여되지 않은 액세스를 방지한다. 이것은 이어서 인증 모듈(140)에 의해 제공된 클라이언트 ID가 또 다른 디바이스에 의해 시뮬레이팅(simulating)될 수 있는 가능성을 감소시킴으로써, 보안을 개선한다.
인증 모듈(140) 및 저장 모듈(130)이 네트워크 인터페이스 디바이스(104)의 부분들으로 도시되어 있다는 점이 인식될 것이다. 이것은 네트워크 인터페이스 디바이스(104)로 하여금 데이터 프로세서(106)로부터의 개입 없이 서버 디바이스(120)로부터의 요청들에 응답하여 자동적으로 클라이언트 디바이스(102)를 인증하도록 한다. 그러나, 다른 실시예들에서, 저장 모듈(130) 및 인증 모듈(140)은 데이터 프로세서(106)를 포함한, 클라이언트 디바이스(102)의 다른 부분들 내에 통합될 수 있다.
또한, 도 1의 도시된 실시예가 클라이언트-서버 통신 아키텍처와 관련하여 도시되어 있다는 점이 인식될 것이다. 그러나, 다른 실시예들에서, 피어-투-피어 아키텍처가 채용될 수 있다. 이 아키텍처에서, 클라이언트 디바이스들은 서로 직접적으로 통신한다. 따라서, 각각의 클라이언트 디바이스는 클라이언트 디바이스(102)와 관련하여 도시된 것과 유사한 인증 모듈 및 키를 채용할 수 있다. 이것은 피어-투-피어 아키텍처에서 각각의 클라이언트 디바이스가 다른 클라이언트들에 클라이언트 ID 정보를 제공하도록 함으로써, 클라이언트 디바이스들 사이의 보안 통신 세션을 확립한다.
도 1의 클라이언트 디바이스(102)에 대응하는 클라이언트 디바이스(202)의 특정 실시예가 도 2에 도시되어 있다. 클라이언트 디바이스(202)는 프로세서(206), 버스(203), 및 네트워크 인터페이스 디바이스(204)를 포함한다. 프로세서(206) 및 네트워크 인터페이스 디바이스(204)는 각각 버스(203)에 접속된다. 네트워크 인터페이스 디바이스(204)는 제 2 프로세서(208), 저장 모듈(230), 및 인증 모듈(240)을 포함한다. 네트워크 인터페이스 디바이스(204)는 또한 입/출력(I/O) 커넥터들(211, 212, 및 214)을 포함한 다수의 I/O 커넥터들을 포함한다. 본원에 사용된 바와 같이, I/O 커넥터는 디바이스로 하여금 정보를 제공하거나, 정보를 수신하거나, 또는 정보를 제공하고 수신하도록 하는 디바이스의 외부 커넥터이다. 예를 들어, I/O 커넥터(214)는 네트워크(110)로의 정보의 전달을 허용하는 반면, I/O 커넥터(211)는 버스(203)와의 통신을 허용한다. 각각의 도시된 I/O 커넥터가 다수의 커넥터들을 나타낸다는 점이 인식될 것이다.
도 2의 도시된 실시예에서, 프로세서(206) 및 네트워크 인터페이스 디바이스(204)는 도 1의 대응하는 항목들과 유사하게 구성된다. 그러므로, 네트워크 인터페이스 디바이스(204)는 프로세서(206)로 하여금 네트워크(110)와 통신하도록 하는 인터페이스를 제공하도록 구성된다. 제 2 프로세서(208)는 통신들을 용이하게 하기 위하여 하나 이상의 컴퓨터 프로그램들을 실행하도록 구성된다. 게다가, 네트워크 인터페이스 디바이스(204)는 네트워크(110)를 통해 수신된 인증 요청들에 응답하여 클라이언트 ID 정보를 제공하도록 구성된다. 특히, 인증 요청에 응답하여, 제 2 프로세서(208)는 인증 모듈(240)로부터 클라이언트 ID를 요청한다. 응답으로, 인증 모듈(240)은 저장 모듈(230)에 저장된 인증 키에 액세스한다. 인증 키(235)를 기반으로 하여, 인증 모듈(240)은 클라이언트 ID를 발생시키고, 이를 제 2 프로세서(208)에 제공한다. 제 2 프로세서(208)는 이어서 클라이언트 ID를 네트워크(110)에 전달한다. 다른 실시예들에서, 인증 모듈(240)은 네트워크(110)에 직접적으로 접속되고, 클라이언트 ID를 네트워크에 직접적으로 제공한다.
도 2의 도시된 실시예에서, 인증 모듈(240) 및 저장 모듈(230)은 각각 집적 회로(IC) 패키지(207)에 통합된다. 특정 실시예에서, IC 패키지(207)는 제 2 프로세서(208)를 통합한 IC 패키지와 분리된다. 또한, 도 2에 도시된 바와 같이, 저장 모듈(230)은 네트워크 인터페이스 디바이스(204)의 어떠한 I/O 커넥터들을 통해서도 액세스될 수 없다. 또 다른 실시예에서, 저장 모듈(230)은 또한 IC 패키지(207)의 임의의 I/O 커넥터(도시되지 않음)를 통해서 액세스될 수 없다. 이것은 인증 키(235)를 검색하기 위해서 저장 모듈(230)이 프로빙되거나 다른 권한부여되지 않은 방식으로 액세스되는 것을 방지한다.
도 3은 도 1의 네트워크 인터페이스 디바이스(104)에 대응하는 네트워크 인터페이스 디바이스(304)의 대안적인 특정 실시예를 도시한다. 네트워크 인터페이스 디바이스(304)는 프로세서(308), 인증 모듈(340), 저장 모듈(330), 플래시 메모리(360), 및 탬퍼 검출 모듈(365)을 포함한다. 네트워크 인터페이스 디바이스는 또한 I/O 커넥터들(312, 314, 및 315)을 포함한 다수의 I/O 커넥터들을 포함한다. 프로세서(308)는 버스(361)에 접속되고, 인증 모듈(340)에 또한 접속된다. 플래시 메모리(360)는 버스(361)에 접속된 "DATA"로 라벨링(labeling)된 출력 및 I/O 커넥터(315)에 접속된 W_EN로 라벨링된 입력을 포함한다. 탬퍼 검출 모듈은 플래시 메모리(360)의 W_EN 입력에 접속된 입력, 버스(361)에 접속된 "HANG"로 라벨링된 출력, 및 "TAMPER"로 라벨링된 출력을 포함한다. 인증 모듈(340)은 탬퍼 검출 모듈(365)의 TAMPER 출력에 접속된 입력을 포함한다.
프로세서(308), 인증 모듈(340), 및 저장 모듈(330)은 각각 도 2의 대응하는 아이템들과 유사하게 구성된다. 특히, 저장 모듈(330)은 인증 키(335)를 저장한다. 프로세서(308)로부터의 요청들에 응답하여, 인증 모듈(340)은 인증 키(335)를 기반으로 하여, 그리고 인증 모듈(340)의 하드웨어에 의해 구현된 인증 알고리즘을 기반으로 하여 클라이언트 ID를 제공할 수 있다. 도시된 바와 같이, 인증 모듈(340), 탬퍼 검출 모듈(365), 및 저장 모듈(330)은 각각 집적 회로 패키지(307)에 통합되어, 저장 모듈(330)이 외부적으로 액세스 가능하지 않게 된다. 실시예에서, 집적 회로 패키지(307)는 볼 그리드 어레이(Ball Grid Array : BGA) 패키지이다.
플래시 메모리(360)는 프로세서(308)에 대한 구성 또는 다른 정보를 저장하도록 구성되는 비휘발성 메모리이다. 예를 들어, 플래시 메모리(360)는 부트 코드(boot code), 디바이스 아이덴티피케이션 정보, 보안 정보, 등을 저장할 수 있다. 다른 실시예에서, 플래시 메모리(360)가 ROM과 같은 또 다른 유형의 비휘발성 메모리일 수 있다는 점이 인식될 것이다. 플래시 메모리는 부가적으로 저장된 정보를 버스(361)를 통해 프로세서(308)에 제공하도록 구성된다.
플래시 메모리(360)는 W_EN 입력에서 신호의 어서션(assertion)에 응답하여 기록 가능하도록 구성된다. 또한, W_EN 입력에서의 신호가 무효화(negating)되는 경우에, 정보는 플래시 메모리(360)에 기록 또는 저장될 수 없다. 용어들 "어서팅되는" 및 "무효화되는"은 상보적인 상태들로 참조되고, 특정한 논리 상태로 참조되지 않는다는 인식될 것이다. 그러므로, 어서팅된 신호는 플래시 메모리(360)의 특정 구현예에 따라, 논리 값 "1" 또는 "0"일 수 있다. 유사하게, 무효화된 신호는 자신이 어써팅된 신호와 반대이거나 상이하도록, 논리 값 "1" 또는 "0"일 수 있다. 게다가, 실시예에서, 플래시 메모리는 부분들로 분할되고, 플래시 메모리(360)의 단지 일부만이 W_EN 입력에서의 신호를 기반으로 하여 기록 가능한 반면, 다른 부분들의 기록가능성(writeability)은 동일한 신호에 의존하지 않는다.
탬퍼 검출 모듈(365)은 플래시 메모리(360)의 W_EN 입력에서 신호의 상태를 검출하고, 버스(361) 상의 값을 고정하기 위하여 이 신호의 상태를 기반으로 하여 HANG 출력에서 값을 어서팅하도록 구성된다. 특히, 탬퍼 검출 모듈(365)이 W_EN 입력에서 신호가 어서팅된다고 결정하는 경우에, 상기 탬퍼 검출 모듈(365)은 버스(361) 상의 값을 미리결정된 값으로 고정하기 위하여 HANG 출력에서의 값을 어서팅함으로써, 버스(361)가 데이터 전달에 대해 적합하지 않도록 한다. 게다가, W-EN 입력에서 신호가 어서팅된다고 결정하는 것에 응답하여, 탬퍼 검출 모듈은 TAMPER 출력에서 신호를 어서팅하도록 구성된다.
인증 모듈(340)은 TAMPER 출력에서 신호가 무효화될 때, 프로세서(308)로부터의 요청들에 응답하여 키(335)를 기반으로 하여 클라이언트 ID를 제공하도록 구성된다. 탬퍼 검출 모듈(365)의 TAMPER 출력에서의 신호의 어서션에 응답하여, 인증 모듈(340)은 인증 요청에 응답하여 고정된 값을 프로세서(308)에 제공하도록 구성된다. 고정된 값은 클라이언트 ID에 대응하지 않으므로, 클라이언트 디바이스(102)가 인증되지 않는다는 것을 표시한다.
동작 시에, 구성 및 다른 정보는 플래시 메모리(360)에 저장될 수 있다. 논의를 위해, 저장된 정보가 프로세서(308)에 대한 부트 정보(boot information)라고 가정된다. 부트 정보는 네트워크 인터페이스 디바이스(304)를 사용자에게 제공하기 전에, 상기 네트워크 인터페이스 디바이스의 제조 또는 다른 개발 단계 동안의 정보이다. 상기 정보는 I/O 커넥터(315)에서의 신호를 어서팅해서, W_EN 입력에서의 신호를 어서팅함으로써 저장된다. 이것은 플래시 메모리(360)를 기록 가능한 상태로 배치하고, 부트 정보는 데이터 입력(도시되지 않음)을 통해 제공된다. 상기 정보가 저장될 때, 탬퍼 검출 모듈(365)은 W_EN 입력에 접속되지 않거나 또는 W_EN 입력으로부터 분리되어, 초기 저장 프로세스 동안 탬퍼 검출을 수행하지 않게 된다.
부트 정보가 저장된 이후에, W_EN 입력에서의 신호가 무효화된다. 실시예에서, 신호는 W_EN 입력을 접지 또는 전원 기준과 같은 기준 전압에 접속시킴으로써 무효화된다. 게다가, 부트 정보가 저장된 이후에, 탬퍼 검출 모듈은 도 3에 도시된 바와 같이 W-EN 입력에 접속된다. 그 후, 네트워크 인터페이스 디바이스(304)가 클라이언트 디바이스(102)에서의 설치를 위해 사용자에게 제공된다. 정상적인 동작 동안, 프로세서(308)는 네트워크 인터페이스 디바이스(304)를 부팅하고 구성하기 위하여 버스(361)를 통해 부트 코드에 액세스한다. 그러므로, 클라이언트 디바이스(102)에서의 네트워크 인터페이스 디바이스(304)의 정상적인 동작 동안, W_EN 입력에서의 신호가 무효화되어, 플래시 메모리(360)가 기록 가능하지 않게 된다. 이것은 부트 코드에 의한 권한부여되지 않은 탬퍼링을 방지함으로써, 프로세서(308)가 해킹(hacking)되거나 또는 부적절하게 제어될 수 있는 가능성을 감소시킨다.
탬퍼 검출 모듈(365)은 권한부여되지 않은 액세스로부터 네트워크 인터페이스 디바이스(304)를 보호한다. 특히, 권한부여되지 않은 사람(논의를 위해 "해커"라 칭해짐)이 플래시 메모리(360)에 정보를 기록하고자 시도할 수 있다. 그렇게 하기 위하여, 해커는 W_EN 입력에서 신호를 어서팅함으로써 플래시 메모리(360)가 기록 가능하게 렌더링하기 위하여 I/O 커넥터(315) 상에 프로브(probe) 또는 다른 디바이스를 배치할 수 있다. 그러나, 탬퍼 검출 모듈(365)은 신호의 어서션을 검출하고, 응답으로, HANG 출력에서의 (16진수 FFFF 값과 같은) 값을 제공한다. 이로써, 상기 값이 버스(361)에 제공되어, 정보가 플래시 메모리(360)로부터 프로세서(308)로 전달될 수 없게 된다. 실시예에서, 탬퍼 검출 모듈(365)은 네트워크 인터페이스 디바이스(304)의 미래의 동작을 위해서 HANG 출력에서의 값을 고정시킨다. 즉, 네트워크 인터페이스 디바이스(304)의 리셋(reset) 이후에도, HANG 출력에서의 값이 고정된 채로 유지되어, 버스(361)가 플래시 메모리(360) 및 프로세서(308) 사이에서 정보를 전달할 수 없게 됨으로써, 프로세서(308)가 네트워크 인터페이스 디바이스(304)를 부팅 또는 구성하지 못하도록 한다. 따라서, 플래시 메모리(360)에 기록하고자 하는 권한부여되지 않은 시도에 응답하여, 탬퍼 검출 모듈(365)은 버스(361)를 사용 불가능하도록 렌더링한다.
게다가, W_EN 입력에서의 신호의 어서션을 검출하는 것에 응답하여, 탬퍼 검출 모듈(365)은 TAMPER 출력에서의 신호를 어서팅한다. 응답으로, 인증 모듈(365)은 임의의 인증 요청에 응답하여 프로세서(308)에 고정된 값을 제공한다. 고정된 값은 인증 키(335)를 기반으로 하는 클라이언트 ID 값에 대응하지 않는다. 그러므로, (네트워크 인터페이스 디바이스(304)를 해킹하고자 하는 권한부여되지 않은 시도를 표시하는) W_EN 입력에서의 신호의 어서션에 응답하여, 인증 모듈(340)은 클라이언트 디바이스(102)가 인증되지 않았다는 것을 표시하는 정보를 제공한다. 이것은 서버 디바이스(120)(도 1)가 클라이언트 디바이스(102)와 통신 세션을 행하지 못하도록 한다. 그러므로, 탬퍼 검출 모듈(365)은 탬퍼링된 디바이스가 서버 디바이스(120)와 통신할 수 없다는 것을 보증하여, 서버 디바이스(120)에서의 정보가 권한부여되지 않은 액세스를 겪을 가능성을 감소시킨다.
또 다른 실시예에서, 탬퍼 검출 모듈(365)은 플래시 메모리(360)가 버스(361)를 통해서 전달된 데이터를 기반으로 하여 탬퍼링되었는지를 결정하도록 구성된다. 특히, 탬퍼 검출 모듈(365)은 버스(361)를 통해 전달된, 구성 데이터와 같은 데이터를 모니터링(monitoring)하고, 상기 데이터를 예상된 데이터와 비교할 수 있다. 모니터링된 데이터가 예상된 데이터와 매칭하지 않는 경우에, 탬퍼 검출 모듈(365)은 상술된 바와 같이, 고정된 값으로 버스(361)를 고정할 수 있다. 게다가, 탬퍼 검출 모듈(365)은 상술된 바와 같이, 클라이언트 디바이스(102)가 인증되어서는 안된다는 것을 TAMPER 출력를 통하여 인증 모듈(340)에 표시할 수 있다. 실시예에서, 탬퍼 검출 모듈(361)은 모니터링된 데이터를 기반으로 하여 해시 값(hash value)을 결정하고 상기 해시 값을 예상된 값과 비교함으로써 모니터링된 데이터를 예상된 데이터와 비교한다.
도 4를 참조하면, I/O 커넥터(414), 프로세서(408), 저장 모듈(430), 플래시 메모리(460), 및 전압 기준(416)을 갖는 네트워크 인터페이스 디바이스(404)의 특정 실시예의 블록도가 도시되어 있다. 프로세서(408)는 버스(361)에 접속되고, 인터커넥트(462)에 또한 접속된다. 플래시 메모리(460)는 버스(361)에 접속된 "DATA"로 라벨링된 출력 및 W_EN으로 라벨링된 입력을 포함한다. 전압 기준은 플래시 메모리(460)의 W_EN 입력에 접속된 출력을 포함한다.
플래시 메모리(460)는 W_EN 입력에서의 신호의 어서션에 응답하여 기록 가능하도록 구성된다. 또한, W_EN 입력에서의 신호가 무효화되는 경우에, 정보는 플래시 메모리(460)에 기록 또는 저장될 수 없다. 게다가, 실시예에서, 플래시 메모리가 부분들로 분할되고, 플래시 메모리(460)의 단지 일부만이 W_EN 입력에서의 신호를 기반으로 하여 기록 가능한 반면, 다른 부분들의 기록가능성은 동일한 신호에 의존하지 않는다.
동작 시에, 구성 및 다른 정보는 플래시 메모리(460)에 저장될 수 있다. 논의를 위해, 저장된 정보가 프로세서(408)에 대한 부트 정보라고 가정된다. 부트 정보는 네트워크 인터페이스 디바이스(404)를 사용자에게 제공하기 전에, 상기 네트워크 인터페이스 디바이스의 제조 또는 다른 개발 단계 동안의 정보이다. 상기 정보는 I/O 커넥터(415)에서의 신호를 어서팅해서, W_EN 입력에서의 신호를 어서팅함으로써 저장된다. 이것은 플래시 메모리(460)를 기록 가능한 상태로 배치하고, 부트 정보는 데이터 입력(도시되지 않음)을 통해 제공된다. 상기 정보가 저장될 때, 전압 기준이 W_EN 입력에 접속되지 않거나 또는 W_EN 입력으로부터 분리된다.
부트 정보가 저장된 이후에, 전압 기준(416)은 W_EN 입력에 접속되고, 전압레벨을 제공하여, W_EN 입력에서의 신호가 무효화되도록 한다. 그러므로, 클라이언트 디바이스(102)에서의 네트워크 인터페이스 디바이스(404)의 정상적인 동작 동안, W_EN 입력에서의 신호가 무효화되어, 플래시 메모리(460)가 기록 가능하지 않게 된다. 이것은 부트 코드에 의한 권한부여되지 않은 탬퍼링의 가능성을 감소시킴으로써, 프로세서(408)가 해킹되거나 또는 부적절하게 제어될 수 있는 가능성을 감소시킨다.
게다가, 동작 동안, 프로세서(408)는 인증 소프트웨어(440)를 실행한다. 인증 소프트웨어(440)는 저장 모듈(430)에 저장된 키(435)를 기반으로 하여, RSA 절차와 같은 인증 절차를 수행하도록 구성된다. 특히, 네트워크(110)를 통해 수신된 인증 요청에 응답하여, 프로세서(408)는 인증 소프트웨어(440)를 실행한다. 응답으로, 인증 소프트웨어(440)는 저장 모듈(440)로부터 인터커넥트(462)를 통해 키(435)를 검색하고, 인증 절차를 사용하여 키(435)를 기반으로 하여 네트워크 인터페이스 디바이스에 대한 클라이언트 ID를 결정한다.
인터커넥트(462)는 외부 프로빙 또는 액세스로부터 보호되도록 구성되는 접속이다. 예를 들어, 인터커넥트(462)는 숨겨진 비아 또는 매립된 트레이스(trace)일 수 있고, 인쇄 회로 기판의 내부층에 임베딩(embedding)되어, 외부 프로브와 물리적으로 접촉될 수 없게 된다. 또 다른 실시예에서, 인터커넥트(462)는 포팅된 접속(potted connection)이다. 인터커넥트(462)를 외부 프로빙으로부터 보호되도록 구성함으로써, 키(435)는 외부 프로브를 통한 액세스에 노출되지 않고 프로세서(408)에 제공될 수 있다. 이것은 키(435)가 해킹될 수 있는 가능성을 감소시켜서, 네트워크 인터페이스 디바이스(404)의 보안을 개선시킨다.
도 5를 참조하면, 디바이스를 인증하는 방법의 특정 실시예의 흐름도가 도시되어 있다. 블록(502)에서, 디바이스에 대한 인증 요청이 디바이스에서 수신된다. 실시예에서, 인증 요청은 디바이스들 사이에 통신 세션을 확립하기 위하여 네트워크를 통해 또 다른 디바이스로부터 수신된다. 블록(504)에서, 수신 디바이스가 저장 모듈에 저장된 인증 키를 검색한다. 저장 모듈은 IC 패키지에 통합된다. 블록(506)에서, 저장 모듈과 동일한 IC 패키지에서의 인증 모듈이 검색된 인증 키를 기반으로 하여 클라이언트 ID를 결정한다. 실시예에서, 인증 모듈은 지정된 인증 알고리즘를 구현하도록 구성되는 하드웨어 모듈이다. 블록(508)에서, 디바이스가 인증 요청을 송신한 디바이스에 클라이언트 ID를 전달한다.
도 6을 참조하면, 탬퍼링으로부터 디바이스를 보호하는 방법의 특정 실시예의 흐름도가 도시되어 있다. 블록(602)에서, 전력-온 리셋 표시자(power-on reset indicator)가 디바이스에서 수신된다. 응답으로, 블록(604)에서, 디바이스가 상기 디바이스에서의 메모리에 대한 기록 인에이블 입력(write enable input)이 인에이블되는지를 결정한다. 본원에서 사용된 바와 같이, 기록 인에이블 입력은 메모리, 또는 메모리의 부분이 기록되는 상태일 때 인에이블된다. 기록 인에이블 입력은 메모리가 기록되지 않도록 하는 상태일 때 디스에이블된다. 기록 인에이블 입력이 인에이블되지 않는다고(그래서, 메모리가 기록되지 않는다고) 결정되는 경우에, 상기 방법 흐름은 블록(606)으로 이동하고, 디바이스는 시간의 의사랜덤 량 동안 대기한다. 이 의사랜덤 시간의 만료 시에, 상기 방법 흐름은 블록(604)으로 리턴하고, 상기 디바이스는 기록 인에이블 입력이 인에이블되는지를 다시 결정한다.
블록(604)에서, 기록 인에이블 입력이 디스에이블된다고 결정되는 경우에, 상기 방법 흐름은 블록(608)으로 진행하고, 상기 디바이스는 메모리가 저장된 데이터를 제공할 수 있는 버스를 고정된 값으로 고정한다. 버스 상에 고정된 값을 배치함으로써, 상기 디바이스는 데이터가 버스 상에서 메모리에 의해 전달되지 않도록 하므로, 디바이스의 동작을 손상시킨다. 실시예에서, 고정된 값은 디바이스에서의 다음 전력-온 리셋 이벤트들 이후에 버스 상에서 유지됨으로써, 디바이스의 동작을 영구적으로 또는 연장된 시간 기간 동안 손상시킨다. 게다가, 블록(610)에서, 디바이스에서의 인증 모듈이 상기 모듈이 다른 디바이스들로부터의 인증 요청들에 응답하여 상기 디바이스를 적절하게 인증하지 않는 상태로 설정된다. 그러므로, 메모리의 기록 인에이블 입력이 메모리가 탬퍼링되었다는 것을 표시하는 경우에, 상기 디바이스는 다른 디바이스들에 인증되지 않음으로써, 그러한 다른 디바이스들과의 통신이 방지될 것이다. 블록(612)에서, 상기 방법 흐름이 종료된다.
도 7에서, 디바이스를 인증하는 방법의 특정 실시예의 흐름도가 도시되어 있다. 블록(702)에서, 디바이스에 대한 인증 요청이 디바이스에서 수신된다. 실시예에서, 인증 요청은 디바이스들 사이에 통신 세션을 확립하기 위하여 네트워크를 통해 또 다른 디바이스로부터 수신된다. 블록(704)에서, 수신 디바이스가 보호된 인터커넥트를 통해 저장 모듈에 저장된 인증 키를 검색한다. 본원에 사용된 바와 같이, 용어 "보호된 인터커넥트"는 외부 프로빙으로부터 보호되는 접속을 칭한다. 보호된 인터커넥트들의 예는 매립되거나 숨겨진 트레이스들, 포팅된 접속들, 등을 포함한다. 블록(706)에서, 프로세서에서의 인증 소프트웨어가 검색된 인증 키를 기반으로 하여 클라이언트 ID를 결정한다. 블록(708)에서, 디바이스가 인증 요청을 송신한 디바이스에 클라이언트 ID를 전달한다.
상술된 주제는 제한적인 것이 아니라, 설명적인 것으로 간주되어야 하고, 첨부된 청구항들은 본 발명의 실제 정신과 범위 내에 존재하는 모든 이와 같은 변경들, 강화들, 및 다른 실시예들을 커버하도록 의도된다. 그러므로, 법에 의해 허용된 최대 한도까지, 본 발명의 범위는 다음의 청구항들 및 이들의 등가물들의 가장 넓은 허용 가능한 해석에 의해 결정되어야 하고, 상기의 상세한 설명에 의해 제한 또는 한정되어서는 안될 것이다.

Claims (20)

  1. 네트워크를 통해 클라이언트 디바이스를 인증하도록 하는 요청을 수신하는 단계;
    상기 요청을 수신하는 단계에 응답하여:
    상기 클라이언트 디바이스에서 저장 모듈로부터 인증 키를 검색하는 단계로서, 상기 저장 모듈은 제 1 집적 회로 패키지에 위치되는, 상기 인증 키 검색 단계;
    탬퍼 검출 모듈에서 상기 클라이언트 디바이스의 메모리가 액세스되었는지를 결정하는 단계;
    상기 클라이언트 디바이스의 상기 메모리가 액세스되지 않았다고 결정하는 단계에 응답하여, 상기 클라이언트 디바이스에 대한 인증 결과를 결정하기 위하여 인증 모듈에서 상기 인증 키를 사용하는 단계로서, 상기 인증 모듈은 상기 제 1 집적 회로 패키지에 위치되는, 상기 인증 키 사용 단계; 및
    상기 네트워크를 통해 상기 인증 결과를 전달하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서, 상기 클라이언트 디바이스를 인증하도록 하는 상기 요청을 수신하는 단계는 상기 클라이언트 디바이스의 프로세서에서 상기 요청을 수신하는 단계를 포함하고, 상기 프로세서는 상기 제 1 집적 회로 패키지와 상이한 제 2 집적 회로 패키지에 위치되는, 방법.
  3. 제 1 항에 있어서, 상기 제 1 집적 회로 패키지는 복수의 외부 커넥터들을 포함하고, 상기 저장 모듈은 인증 키의 저장 이후에 상기 복수의 외부 커넥터들을 통해 액세스 불가능한 방법.
  4. 제 1 항에 있어서, 상기 인증 키 인증 단계는 상기 메모리가 액세스되었다고 결정하는 단계에 응답하여 인증의 거부를 표시하도록 인증 결과를 설정하는 단계를 더 포함하는, 방법.
  5. 제 4 항에 있어서, 상기 메모리의 일부가 액세스되었다고 결정하는 단계에 응답하여 상기 메모리의 데이터 버스를 미리결정된 값으로 고정하는 단계를 더 포함하는, 방법.
  6. 제 1 항에 있어서, 상기 클라이언트 디바이스의 메모리의 일부가 액세스되었다고 결정하는 단계; 및
    상기 메모리의 일부가 액세스되었다고 결정하는 단계에 응답하여 상기 메모리의 데이터 버스를 미리결정된 전압으로 고정하는 단계를 더 포함하는, 방법.
  7. 네트워크를 통해 클라이언트 디바이스를 인증하도록 하는 요청을 수신하는 단계;
    상기 요청을 수신하는 단계에 응답하여:
    외부 프로빙으로부터 보호되는 인터커넥트를 통해 상기 클라이언트 디바이스에서 저장 모듈로부터 인증 키를 검색하는 단계;
    인증 결과를 결정하기 위하여 상기 인증 키를 사용하는 단계; 및
    상기 네트워크를 통해 상기 인증 결과를 전달하는 단계를 포함하는, 방법.
  8. 제 7 항에 있어서, 상기 클라이언트 디바이스를 인증하기 위해 상기 인증 키를 수신하는 단계는 상기 클라이언트 디바이스의 프로세서에서 상기 요청을 수신하는 단계를 포함하고, 상기 프로세서는 상기 인터커넥트를 통해 상기 저장 모듈에 결합되는, 방법.
  9. 제 7 항에 있어서,
    메모리로부터 구성 정보를 수신하는 단계;
    상기 구성 정보를 기반으로 하여 상기 프로세서를 구성하는 단계; 및
    상기 메모리의 기록 인에이블 입력을 규정된 값으로 고정하여, 데이터가 상기 메모리에 저장될 수 없도록 하는 단계를 더 포함하는, 방법.
  10. 네트워크로부터 인증 요청을 수신하도록 구성되는 네트워크 인터페이스 모듈;
    프로세서;
    버스를 통해 상기 프로세서와 결합되고, 기록 인에이블 입력에서의 신호를 기반으로 하여 상기 메모리를 기록 가능한 상태로 배치하도록 구성되는 상기 기록 인에이블 입력을 포함하는 메모리; 및
    제 1 집적 회로 패키지로서:
    인증 키를 저장하도록 구성되는 저장 모듈; 및
    상기 인증 키에 액세스하고 상기 인증 요청에 응답하여 상기 인증 키를 기반으로 하여 인증 결과를 결정하도록 구성되는 인증 모듈; 및
    상기 인증 모듈에 결합되고, 상기 메모리의 탬퍼링을 검출하도록 구성되고, 상기 메모리가 탬퍼링되었는지를 표시하는 제어 정보를 상기 인증 모듈에 제공하도록 부가적으로 구성되는 탬퍼 모듈을 포함하는, 상기 제 1 집적 회로 패키지를 포함하는, 디바이스.
  11. 제 10 항에 있어서, 상기 프로세서는 상기 제 1 집적 회로 패키지와 상이한 제 2 집적 회로 패키지를 포함하는, 디바이스.
  12. 제 10 항에 있어서, 상기 제 1 집적 회로 패키지는 복수의 외부 커넥터들을 포함하고, 상기 저장 모듈은 상기 복수의 외부 커넥터들을 통해 액세스 불가능한, 디바이스.
  13. 제 10 항에 있어서, 상기 인증 모듈은 상기 제어 정보가 상기 메모리가 탬퍼링되었다고 표시한다고 결정하는 것에 응답하여 인증의 거부를 표시하도록 상기 인증 결과를 설정하도록 구성되는, 디바이스.
  14. 제 10 항에 있어서, 상기 탬퍼 모듈은 상기 메모리가 탬퍼링되었다고 결정하는 것에 응답하여 상기 버스를 미리결정된 값으로 고정하도록 구성되는, 디바이스.
  15. 제 10 항에 있어서, 상기 탬퍼 모듈은 상기 메모리의 상기 기록 인에이블 입력의 전압을 모니터링함으로써 상기 메모리의 탬퍼링을 검출하도록 구성되는, 디바이스.
  16. 제 10 항에 있어서, 상기 탬퍼 모듈은 상기 버스를 통해 전달된 데이터를 예상된 값들과 비교함으로써 상기 메모리의 탬퍼링을 검출하도록 구성되는, 디바이스.
  17. 제 16 항에 있어서, 상기 탬퍼 모듈은 상기 데이터를 기반으로 하는 해시 값을 예상된 해시 값과 비교함으로써 상기 버스를 통해 전달된 데이터를 비교하도록 구성되는, 디바이스.
  18. 네트워크를 통해 인증 요청을 수신하도록 구성되는 네트워크 인터페이스;
    상기 네트워크 인터페이스에 결합되고, 상기 인증 요청에 응답하여 인증 소프트웨어를 실행하도록 구성되는 프로세서로서, 상기 인증 소프트웨어는 인증 키를 기반으로 하여 인증 결과를 결정하도록 구성되는, 상기 프로세서;
    상기 프로세서에 결합되고, 외부 프로빙으로부터 차폐되도록 구성되는 인터커넥트; 및
    상기 인터커넥트에 결합되고, 상기 인증 키를 저장하도록 구성되는 저장 모듈을 포함하는, 디바이스.
  19. 제 18 항에 있어서, 상기 인터커넥트는 숨겨진 트레이스를 포함하는, 디바이스.
  20. 제 18 항에 있어서, 상기 인터커넥트는 포팅된 접속을 포함하는, 디바이스.
KR1020107003657A 2007-07-20 2008-07-17 클라이언트 인증 디바이스 및 이의 방법들 KR20100045482A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US95098407P 2007-07-20 2007-07-20
US60/950,984 2007-07-20

Publications (1)

Publication Number Publication Date
KR20100045482A true KR20100045482A (ko) 2010-05-03

Family

ID=40265950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107003657A KR20100045482A (ko) 2007-07-20 2008-07-17 클라이언트 인증 디바이스 및 이의 방법들

Country Status (4)

Country Link
US (1) US8499169B2 (ko)
EP (1) EP2181393A4 (ko)
KR (1) KR20100045482A (ko)
WO (1) WO2009014971A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092322B2 (en) * 2011-03-31 2015-07-28 Renesas Electronics Corporation Processor system and control method thereof
US9197407B2 (en) * 2011-07-19 2015-11-24 Cyberlink Corp. Method and system for providing secret-less application framework
US9740888B1 (en) 2014-02-07 2017-08-22 Seagate Technology Llc Tamper evident detection
CN107273756B (zh) * 2017-04-24 2020-03-13 兆讯恒达微电子技术(北京)有限公司 F2f解码芯片中的安全信息防护装置
EP3722979B1 (en) * 2019-04-12 2022-06-01 Nxp B.V. Authentication of a power supply to a microcontroller

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355371A (en) 1982-06-18 1994-10-11 International Business Machines Corp. Multicast communication tree creation and control method and apparatus
US5353412A (en) 1990-10-03 1994-10-04 Thinking Machines Corporation Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
JP3365705B2 (ja) 1995-05-24 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
US6009458A (en) 1996-05-09 1999-12-28 3Do Company Networked computer game system with persistent playing objects
US5771287A (en) 1996-08-01 1998-06-23 Transcrypt International, Inc. Apparatus and method for secured control of feature set of a programmable device
US5890963A (en) 1996-09-30 1999-04-06 Yen; Wei System and method for maintaining continuous and progressive game play in a computer network
US6015348A (en) 1996-10-18 2000-01-18 Starwave Corporation Scalable game server architecture
JPH10222618A (ja) 1997-01-31 1998-08-21 Toshiba Corp Icカード及びicカード処理システム
JPH10314451A (ja) 1997-05-15 1998-12-02 Copcom Co Ltd ゲーム装置
US6547364B2 (en) * 1997-07-12 2003-04-15 Silverbrook Research Pty Ltd Printing cartridge with an integrated circuit device
US7249108B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Validation protocol and system
US7249109B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Shielding manipulations of secret data
US6314521B1 (en) 1997-11-26 2001-11-06 International Business Machines Corporation Secure configuration of a digital certificate for a printer or other network device
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6615218B2 (en) 1998-07-17 2003-09-02 Sun Microsystems, Inc. Database for executing policies for controlling devices on a network
GB9901127D0 (en) * 1999-01-20 1999-03-10 Hewlett Packard Co Provision of trusted services
US7003548B1 (en) 1999-03-29 2006-02-21 Gelco Corporation Method and apparatus for developing and checking technical configurations of a product
US6763371B1 (en) 1999-05-10 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for collaborative communication in a communication network
US6625661B1 (en) 1999-06-21 2003-09-23 Kenneth G. Baldwin, Jr. Interactive entertainment system
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
FI113146B (fi) 1999-10-19 2004-02-27 Setec Oy Menetelmä autentikointiviestin käsittelemiseksi, puhelinjärjestelmä, autentikointikeskus, tilaajalaite ja SIM-kortti
US6810528B1 (en) 1999-12-03 2004-10-26 Sony Computer Entertainment America Inc. System and method for providing an on-line gaming experience through a CATV broadband network
JP2001246147A (ja) 1999-12-28 2001-09-11 Sega Corp 遊戯施設運営システム
US6941353B1 (en) 2000-06-29 2005-09-06 Auran Holdings Pty Ltd E-commerce system and method relating to program objects
US7406539B2 (en) 2000-10-17 2008-07-29 Avaya Technology Corp. Method and apparatus for performance and cost optimization in an internetwork
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US7046680B1 (en) 2000-11-28 2006-05-16 Mci, Inc. Network access system including a programmable access device having distributed service control
US6988196B2 (en) 2000-12-22 2006-01-17 Lenovo (Singapore) Pte Ltd Computer system and method for generating a digital certificate
US6908389B1 (en) 2001-03-07 2005-06-21 Nokia Corporation Predefined messages for wireless multiplayer gaming
US20020136410A1 (en) * 2001-03-26 2002-09-26 Sun Microsystems, Inc. Method and apparatus for extinguishing ephemeral keys
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US20020198932A1 (en) 2001-06-07 2002-12-26 Christopher Shaun Wagner System of server-client distributed computing using passive clients
US7000115B2 (en) 2001-06-19 2006-02-14 International Business Machines Corporation Method and apparatus for uniquely and authoritatively identifying tangible objects
US7200144B2 (en) 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US7274702B2 (en) 2001-11-27 2007-09-25 4198638 Canada Inc. Programmable interconnect system for scalable router
WO2003063989A1 (fr) 2002-02-01 2003-08-07 Aruze Corporation Systeme et procede d'execution d'un jeu
CN1273877C (zh) 2002-02-01 2006-09-06 松下电器产业株式会社 许可信息交换系统
US7209449B2 (en) 2002-03-27 2007-04-24 Intel Corporation Systems and methods for updating routing and forwarding information
DE10218795B4 (de) 2002-04-22 2009-03-19 Deutscher Sparkassen Verlag Gmbh Verfahren zum Herstellen eines elektronischen Sicherheitsmoduls
CN1679273A (zh) * 2002-08-08 2005-10-05 M-系统快闪盘开拓者公司 用于数字权利管理的集成电路
US7065756B2 (en) 2002-08-22 2006-06-20 International Business Machines Corporation Optimization of portable operations in a client-server environment
TWI220713B (en) 2002-10-04 2004-09-01 Hon Hai Prec Ind Co Ltd System and method for synchronizing documents between multi-nodes
JP2004129156A (ja) 2002-10-07 2004-04-22 Ntt Docomo Inc 経路制御システム、経路制御装置、転送装置及び経路制御方法
WO2004073269A1 (ja) 2003-02-13 2004-08-26 Fujitsu Limited 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
JP4300832B2 (ja) 2003-03-14 2009-07-22 ソニー株式会社 データ処理装置、その方法およびそのプログラム
US7376121B2 (en) 2003-06-06 2008-05-20 Microsoft Corporation Method and system for global routing and bandwidth sharing
US6961852B2 (en) 2003-06-19 2005-11-01 International Business Machines Corporation System and method for authenticating software using hidden intermediate keys
EP1654827A4 (en) 2003-08-15 2009-08-05 Fiberlink Comm Corp SYSTEM, METHOD, APPARATUS AND SOFTWARE PRODUCT FACILITATING DIGITAL COMMUNICATIONS
EP1515507A1 (en) * 2003-09-09 2005-03-16 Axalto S.A. Authentication in data communication
JP4130653B2 (ja) 2004-12-20 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 擬似公開鍵暗号方法及びシステム
GB0428553D0 (en) 2004-12-31 2005-02-09 British Telecomm Method PF operating a network
KR20070095374A (ko) 2004-12-31 2007-09-28 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 비연결형 통신 트래픽을 위한 연결형 통신 방법
KR101332911B1 (ko) 2005-05-11 2013-11-26 퀄컴 인코포레이티드 분산 처리 시스템 및 방법
US20060259632A1 (en) 2005-05-13 2006-11-16 Yahoo! Inc. Redirection and invitation for accessing an online service
US20070298879A1 (en) 2005-06-30 2007-12-27 Konami Digital Entertainment Co., Ltd. Game Device
US20070060373A1 (en) 2005-09-12 2007-03-15 Bigfoot Networks, Inc. Data communication system and methods
US8284663B2 (en) 2005-10-14 2012-10-09 Turbine, Inc. Selectively ordered protocol for unreliable channels
US20070101408A1 (en) 2005-10-31 2007-05-03 Nakhjiri Madjid F Method and apparatus for providing authorization material
US7551627B2 (en) 2005-11-18 2009-06-23 At&T Intellecutal Property I, L.P. Offloading routing functions from network routers
JP4125762B2 (ja) 2006-07-06 2008-07-30 株式会社スクウェア・エニックス オンラインビデオゲーム制御サーバ
US20080009337A1 (en) 2006-07-08 2008-01-10 Jackson Mark D Self-authenticating file system in an embedded gaming device
US8874780B2 (en) 2006-07-17 2014-10-28 Qualcomm Incorporated Data buffering and notification system and methods thereof
US7865717B2 (en) 2006-07-18 2011-01-04 Motorola, Inc. Method and apparatus for dynamic, seamless security in communication protocols
AU2007203533B2 (en) 2006-07-31 2009-11-19 Videobet Interactive Sweden AB Information updating management in a gaming system
JP2008043642A (ja) 2006-08-21 2008-02-28 Square Enix Co Ltd ネットワーク育成ゲームシステム、育成ゲーム用サーバ装置及び育成ゲーム用端末装置、キャラクタ表示方法、並びにプログラム及び記録媒体

Also Published As

Publication number Publication date
EP2181393A1 (en) 2010-05-05
US20090025073A1 (en) 2009-01-22
EP2181393A4 (en) 2013-08-21
US8499169B2 (en) 2013-07-30
WO2009014971A1 (en) 2009-01-29

Similar Documents

Publication Publication Date Title
US9064116B2 (en) Techniques for security management provisioning at a data storage device
US7200758B2 (en) Encapsulation of a TCPA trusted platform module functionality within a server management coprocessor subsystem
EP1625463B1 (en) Secure and backward-compatible processor and secure software execution thereon
CN103763331B (zh) 用于多方验证的基于平台的可信性验证服务的方法和系统
US9047458B2 (en) Network access protection
US20190163925A1 (en) System and method for monitoring and verifying software behavior
TWI445380B (zh) 具自動憑證負載之大量儲存裝置
CN104025503B (zh) 使用客户端平台信任根的网页认证
US20080134314A1 (en) Automated security privilege setting for remote system users
BRPI0615811A2 (pt) sistema operacional encerrado em unidade de processamento
JP2009521772A (ja) 組み込みデバイスへの電子的アクセスのための保護ポート
US20080077800A1 (en) Persistent security system and method
AU2012101559B4 (en) Device identification using synthetic device keys
US8499169B2 (en) Client authentication device and methods thereof
JP2007280393A (ja) コンピューターログインをコントロールする装置およびその方法
JP5183517B2 (ja) 情報処理装置及びプログラム
CN116049825A (zh) 管理基板管理控制器的存储器中的秘密的存储
US8261328B2 (en) Trusted electronic communication through shared vulnerability
KR100945907B1 (ko) 온라인 서비스에 있어서 인증을 위한 스마트 카드 및스마트 카드를 이용한 인증 처리 방법
US20240022546A1 (en) Master ledger and local host log extension detection and mitigation of forged authentication attacks
Shaikh et al. Survey paper on security analysis of crypto-currency exchanges
KR100705145B1 (ko) 소프트웨어 임대사업의 인증처리에 있어서 스마트 카드방식의 인증키를 이용한 인증 시스템 및 방법
Chilingirian Hashing hardware: identifying hardware during boot-time system verification
FR3124288A1 (fr) Technique d’accès à un support de stockage.
Parno et al. Challenges in bootstrapping trust in secure hardware

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid