KR100341665B1 - 암호및변경검출기능을갖는기밀데이타프로세서 - Google Patents

암호및변경검출기능을갖는기밀데이타프로세서 Download PDF

Info

Publication number
KR100341665B1
KR100341665B1 KR1019960701013A KR19960701013A KR100341665B1 KR 100341665 B1 KR100341665 B1 KR 100341665B1 KR 1019960701013 A KR1019960701013 A KR 1019960701013A KR 19960701013 A KR19960701013 A KR 19960701013A KR 100341665 B1 KR100341665 B1 KR 100341665B1
Authority
KR
South Korea
Prior art keywords
chip
confidential
spu
clock
information
Prior art date
Application number
KR1019960701013A
Other languages
English (en)
Other versions
KR960705284A (ko
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 KR960705284A publication Critical patent/KR960705284A/ko
Application granted granted Critical
Publication of KR100341665B1 publication Critical patent/KR100341665B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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
    • G06F21/72Protecting 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 in cryptographic circuits
    • G06F21/725Protecting 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 in cryptographic circuits operating on a secure reference time value
    • 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
    • G06F21/77Protecting 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 in smart cards
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/2101Auditing as a secondary aspect
    • 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/2135Metering
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 특별히 기밀 데이타 프로세싱을 위하여 디자인된 마이크로 프로세서인 기밀프로세싱장치(SPU)를 구현한 것이다. SPU 내에 키이들. 암호/해독 알고리즘을 집적시켜, 전 기밀 프로세스는 포터블하고 물리적 경계를 통해 쉽게 배치되어진다. 본 발명은 3개의 상관 시스템의 조합에 근거한다; (i) SPU 를 존재에 대해 경계시키고 기밀 공격의 특성을 특징화시켜주는 검출기; (ii) 다양한 검출기로부터 데이타를 상관시켜, 비밀 데이타 및 그 디자인에 대한 SPU 의 보전에 해하여 극심한 공격을 가중시키는 필터; (iii) 공격 또는 존재하는 공격을 처리하기 위하여, 환경하에서 가장 적절하게 필터에 의해 계산되는 대응책인 응답. 검출기, 필터 및 응답 모두에서 광범위한 능력을 갖는 본 발명은 기밀/정책의 적절한 레벨로 프로그램되는 매우 높은 유연성을 SPU 에 근거한 장치에 허용한다.

Description

암호 및 변경 검출기능을 갖는 기밀 데이타 프로세서
1.배경
본 발명은 전자 데이타 처리시스템용 집적회로에 관한 것으로서, 특히 집적회로에 저장된 비밀정보의 검사, 추출 및 변경을 효과적으로 방지할 수 있는 기밀 집적회로의 구조, 수행 및 사용에 관한 것이다.
정보가 기밀로 처리되고 전송되어야 할 많은 장치가 있다. 예를 들면, 현금자동지급기는 허가받지 않은 침입자가 은행의 고객구좌를 억세스하는 것을 방지하기 위하여 인식키(여기서는 비밀번호 또는 핀 번호)의 기밀의 저장 및 전송을 요구한다. 이와 마찬가지로, 페이-퍼-뷰(PPV) 케이블 및 위성텔레비전 시스템은 허가받지 않은 가입자로부터 허가받은 가입자를 구별하고 암호화된 방송텔레비전신호를 해독하는 키이들을 보호하여야 한다.
일반적으로, 하나 또는 그이상의 집적회로들이 전자적으로 정보를 처리하기 위하여 사용되어진다. 이러한 집적회로들은 키이들과 암호 및 해독하기 위한 독점 알고리즘과 같은 비밀정보를 자체 내에 저장할 뿐만 아니라 암호 및 해독 "엔진" 을 수행한다. 명백히, 허가받지 않은 사람이 이러한 집적회로에 의해 처리된 비밀정보를 검사, 추출 및 변경하는 것을 방지할 수 있는 집적회로들이 필요하다. 게다가, 때때로 임의 비밀정보(즉, 키이들)를 파괴하는 것이 요구되어지고 침입검출에 따른 다른 비밀정보(즉, 재산거래에 사용된 구좌정보와 같은 경과 데이타)를 보존하는 것이 요구된다.
현존하는 기밀시스템이 갖는 하나의 문제는 프로세스의 어느 위치에서 비밀정보(키이들, 암호/해독 알고리즘 등)가 기밀로 유지되지 않은 환경에서 암호화되지 않은("클리어텍스트(cleartext)") 형태로 잠재적인 침입자들에게 이용될 수 있다는 것이다. 필요한 것은 키이들과 암호/해독 엔진과 알고리즘이 구현될 수 있고 침입자들로부터 보호될 수 있는 하나의 기밀 집적회로이다. 이러한 집적회로들은 처리되고 있는 정보(즉, 칩에 대한 입력등)가 암호화된 상태를 제외하고 허가받지 않은 사람에게 이용가능한 오프-칩으로 되지 않도록 효과적으로 보장하며, 칩상에 암호/해독 프로세스를 캡슐화하여 줌으로써 다양한 잠재적인 공격으로부터 키이들과 알고리즘을 특히 클리어텍트 형태로 보호한다.
현존하는 기밀 집적회로는 전형적으로 배리어, 검출기 및 침입이 검출될 때 집적회로에 저장된 비밀정보를 파괴하기 위한 수단을 포함한다. 배리어의 일례는 집적회로내부의 메모리셀들위에 하나 또는 그이상의 도전층을 적층한 것이다. 이러한 층들은 전자주사현미경과 같은 진단기구에 의해 메모리셀들을 검사하는 것을 방지한다. 검출기와 파괴수단의 일례는 광검출시에 기밀집적회로 내부의 메모리셀들의 파워를 오프시키는 스위칭회로에 연결된 광검출기이다. 파워가 오프될 때, 비밀정보를 포함하고 있는 매모리셀의 내용은 소실된다. 이러한 기밀메카니즘 이면의 이론은 광검출기가 집적회로의 노출이 고의적으로 또는 사고에 의해 단속될 때만 광에 노출되어진다는 것이다. 어느 경우에나, 집적회로 내에 저장된 비밀정보를 흔히 빈틈없이 파괴한다.
현존하는 기밀시스템이 갖고 있는 하나의 문제점은 잠재적인 침입에 대응되는 프로세스의 "하드-와이어된(hard-wired)" 특성이다. 이러한 시스템은 집적회로가 일단 제조되고 난 후 기밀특징의 동작을 변화시키는 것은 어렵기 때문에, 본래부터 유연성이 없다. 이런 기밀특징의 동작을 변경시키는 단 하나의 방법은 새로운 집적회로를 디자인하고 제작하는 고가이고 시간이 소모되는 작업을 수행하여야 한다.
하드-와이어된 구조의 다른 결과는 저용랑장치용 주문기밀특징을 생산하기가 어렵다는 것이다. 이것은 집적회로를 디자인, 테스트 및 제작하기 위하여 상당량의 시간과 자금이 소요되기 때문이다. 결과적으로, 각각 특별환경에 대하여 주문된 소량의 기밀집적회로를 경제적으로 만드는 것이 어렵기 때문이다.
동일한 집적회로를 사용하는 것이 요구되지만 아직 장치와 환경의 요구조건에 따라서 기밀특징을 변경할 능력을 갖고 있지 않은 상황이 많이 있다. 예를 들면, 기밀집적회로가 극단적으로 민감한 정보를 처리하는 데 사용된다면, 보수적인 기밀 "정책" 즉, 이미 설정된 상태로부터 아주 작은 변화의 검출시에도 집적회로내의 모든 비밀 데이타(즉, 키이들)를 파괴하는 정책을 신중히 수행하여야 할 것이다. 한편, 정보가 민감하지 않고 간편하게 기밀집적회로를 대체시킬 수 없을 경우에는, 기밀정책은 점점 관대해지게 된다. 즉, 이미 설정된 상태로터 커다란 편차가 있을 때만 행동이 취해지게 된다.
즉, 광범위한 영역에서 유연한 기밀정책이 수행될 수 있는 기밀집적회로 구조를 가질 것이 요구되어진다.
2.발명의 개요
본 발명은 기밀데이타 프로세싱을 위하여 특별히 디자인된 기밀처리장치(Secured Processing Unit, SPU)를 구현하는 데 있다. SPU 내에 키이들, 암호/해독 엔진 및 알고리즘을 집적시켜, 전체 기밀프로세스가 포터블하게 되고 물리적 경계를 통해 쉽게 배치되도록 한다. 예를 들면, SPU 는 현금자동지급카드(그리고 전 세계의 현금자동지급기)에 일체화되어, 기밀의 재산거래를 위한 전세계 배치 메커니즘을 수행하게 된다.
이 프로그램가능하게 배치된 개인기밀(PDPS) 디자인원리를 생각하여 보면, SPU 는 유연성있고 가격이 적절하며 휴대용이고 개인적인 강력한 기밀방법을 제공한다. 이러한 인에이블 기술은 하기의 다양한 응용에 대해 광범위하게 이용가능하고 실용적인 높은 수준의 데이터 기밀을 제공한다: 네트워크통신, 전자 자금전송, 무선데이타 교환, 엑세스, 인증, 인식용 시스템, 및 지적 재산(예:저작권 또는 영업 비밀 자료)용 소비-기반 배달 시스템, SPU 의 기밀 정책의 프로그램능력은 다양한 장치가 SPU 의 하드웨어 디자인 변경없이 수행되는 것을 하락하고, SPU 가 검출하도록 디자인된 기밀공격 또는 하드웨어/소프트웨어 고장의 범위에 대한 장치에 규정된 응답을 이용하기 위하여 동작환경을 제공하여 준다.
본 발명은 집적된 하드웨어 그리고 소프트웨어 기밀특징의 밧데리를 통한 물리적 및 전기적 공격 어레이로부터 보호를 제공하도록 디자인된다. 장치에 적합한 유연한 전략의 실행을 이용하여, SPU 는 실리콘의 물리적 공격과 핀의 전기적 공격에 대하여 상당한 탄력성을 제공한다. 이 결과는 극단적으로 분해 모방이 어렵고그리고 쉽게 타협될 수 없는 비밀정보를 보호하기 위한 유연한 정책을 수행하는 시스템이다.
SPU 는 "기밀 프로세싱" - 비밀정보 그리고 그 정보에 근거한 프로세싱 모두를 보호하는-에 의해 명령을 받는다. 정보의 암호 및 해독에 사용된 비밀키이 또는 알고리즘을 기밀로 만들고, 저장하며 그리고 배치시킨다. 예를 들면, 키이들이 제조시에 SPU 내에 로드되었지만, 마스터 키이로서 비밀키이 또는 전용/공공 키이쌍을 포함하는 키이들이 다양한 장치, 그러한 장치의 특별한 세션동안 기능에 이상적인 SPU 의 환경에서 내장 SPU 에 역시 발생될 수 있다. 대개 칩은 디지탈 서명, 확인, 정보 측정과 같은 다른 기능을 수행하기 위하여 펌웨어를 통해 프로그램될 수 있다. 그러한 정보가 비암호 형태로 언제든지 존재하는 위치에만 SPU 를 만드는 어느 경우에나, 중요한 정보는 내장 CPU 또는 암호 형태의 오프칩 모두에 저장될 수 있다.
PCMCIA 카드(퍼스널컴퓨터 메모리 카드 인터페이스 연합회에 의해 선포된 표준 인터페이스)와 같은 플랫홈을 사용하여 SPU 를 "스마트 카드"에 일체화시킴으로써, 조합된 시스템은 억세스 카드, 홀딩 정보 해독 키이, 거래 기록, 신용 및 계좌 정보, 전용 키이, 디지탈 신용장 등의 기능을 한다. 표준신용카드의 크기에 대하여 그러한 억세스 카드는 다양한 응용을 수행하고 여러가지 주변 구성요소를 수용할 수 있으면서도, 매우 견고하고, 포터블하며, 보안성이 높다.
본 발명을 일체화하는 억세스 카드는 비보호된 회로망상에서 고정된 또는 포터블한 상업 장치에 매우 높은 레벨의 데이타 기밀성을 제공한다. 카드들은 존재하는 장치와 회로망에 증가된 기밀성을 제공하고, 개발자가 메세지, 비밀이 향상된 편지 그리고 암호와 같은 새로운 생산품에 기밀특징을 부가할 수 있도록 한다. 오락, 소프트웨어, 및 데이타베이스 내용 제공자는 그러한 시스템이 제공하는 지적 재산의 높은 수준의 보호로부터 상당한 이익을 얻도록 지지하여 준다.
그러한 억세스 카드는 컴퓨터 회로망을 통해 전송된 비밀정보의 변경을 검출할 수 있으며, 그러한 정보가 통로를 따라 완전한 프라이버시로 의도된 수납자에게만 이용될 수 있도록 보장하여 준다. 이것은 하기의 SPU에 지원된 특징에 의해 수행된다: 카드사용자의 포지티브 인식과 신뢰성있는 입증, 주요 해독 표준을 지지하는 확고한 암호능력을 통한 메세지 프라이버시, 기밀 키이 변경, 개인의 비밀 키이의 기밀 저장, 알고리즘, 신용장 또는 예를 들면, 거래 기록 또는 생물 측정 데이타, 변경에 따른 데이타와 메세지의 입증, 디지탈 사인을 포함한 기밀 허가능력.
억세스 카드는 전자 지갑, 운전면허증과 같은 홀딩개인기록, 지갑, 출생 증명서, 차량등록, 의학기록, 사회적 기밀카드, 신용카드, 지문과 성문과 같은 생물학적 정보 또는 디지탈 금고와 같은 형태로 나타난다.
일상적인 사용을 고려한 개인 억세스는 공항에서의 X-선 기계 통과, 라디에이터상에 자켓이 놓여져 있을 경우 열에의 노출, 흥분한 소유자에 의해 잘못 타이프된 개인 인식번호(PIN)와 같은 사용상 스트레스와 변형에 대해 탄력성이 있다. 즉, 그러한 장치에서 그러한 남용에 대한 높은 허용한계를 갖도록 SPU는 프로그램될 수 있다. X-레이에 의해 트리거된 광검출기는 노출이 정지되었는가를 인식한 후 수초동안 정보를 준다. 고온 검출은 방어능력이 취해지기 전에 다른 증상의 공격에연결시켜 주기 위하여 필요하다. PIN 번호 기입은 많은 ATM 을 갖는 경우에서처럼 다음 기능을 일시적으로 디스에이블하기 전에 처음 두개의 잘못 기입에 대하여 관대하다.
민감한 정보에 대한 새로운 방어 메세징 시스템을 위한 기밀 해독토큰인 테세라 해독 카드(Tessera Crypto-Card)와 같은 장치의 경우, 시스템은 덜 관대하도록 프로그램 되어져야 한다. 테세라 카드 사용자의 조정 절차는 개인 억세스카드에 존재하는 흔한 일상적인 남용을 방지한다. 즉, 민감한 정보의 소거는 최우선 순위가 된다.
사용자가 위조하기 매우 어렵고 거절하기 어려운 기밀 사인을 만들어 입증할 수 있는 다양한 해독방법이 제안되었다. 그러나, 포터블 및 개인 기밀의 부족으로, 이런 방안에 근거한 전자 통신은 많은 표준 사업거래를 유도하는 수단으로서 만연된 허용할 수 없다는 것이다. 본 발명은 그런 실용적인 전자 교역을 하는 기밀 레벨을 제공한다. 그러한 시스템은 새롭고 존재하는 장치 모두에 대하여 많은 사기 또는 다른 모집할 수 없는 거래를 제한할 수 있다.
다른 가능한 장치는 데스크톱 구매(desktop purchase), 즉, 영화, 소프트웨어 또는 데이터베이스와 같은 전자 메모리에 포함될 수 있는 모든 형태의 정보 상품을 위한 컴퓨터를 이용한 전송 시스템이다. 즉, 멀티 미디어에 의한 광고, 개인지도, 대중, 문서 조사 그리고 실제 생산품은 하나의 암호 CD-ROM 이나 RF 또는 케이블 채널에 적합한 방송을 통해 최종 사용자에게 수송된다. 실제적으로 디지탈 정보로서 표현된 내용은 최종 사용자가 구매전에 그러한 생산품을 구경하는 것을 허락하여 데스크 톱에서 오프라인으로 판매될 수 있다.
SPU 의 암호능력은 높은 기밀성 및 독립성으로 정보를 암호형태로 해독하고, 사용시간을 측정하고 기록하며, 이어서 중앙경리 서비스국에 사용거래를 유지하기 위하여 사용된다. SPU 는 적절한 정보만 해독하고 그것을 즉시 사용을 위하여 하드디스크와 같은 적절한 저장매체로 전송한다.
특정 장치에 적절한 유연한 기밀 정책을 통해 허가받지 않은 억세스로부터 비밀정보를 보호하는 동안 정보 측정, 소프트웨어 대여 그리고 다양한 다른 장치들은 사용자를 확인하고 사용 또는 구매 내역을 모니터하고 계산할 수 있는 SPU 에 근거한 시스템으로 실행된다.
사용자의 초기 시스템으로의 억세스를 확인하고, 등록절차를 보호하며 다음 사용을 콘트롤하여, 최종 사용자에게 반복적인 입증없이 생산품으로의 즉시 억세스를 제공함으로써 저작권 침해를 최소화하므로, 이러한 사용시 지불 옵션(pay-as-you-go option)은 정보 제공자가 생산품을 생산하도록 자극한다.
제1도는 PDPS 를 수행하기 위한 기밀처리장치(SPU)를 보여주는, 본 발명에 따른 장치의 간략한 블록도,
제2도는 제1도에 도시된 파워블럭의 간략한 블럭도,
제3도는 실리콘 방화벽의 개략적 표시도,
제4도는 제3도에 도시된 실리콘 방화벽의 실시예의 개략적 표시도,
제5도는 제3도에 도시된 실리콘 방화벽의 다른 실시예의 개략적 표시도,
제6도는 제1도에 도시된 시스템 클럭의 블럭도,
제7도는 제6도에 도시된 링 발진기의 개략적 표시도,
제8도는 제1도에 도시된 실시간 클럭의 블럭도,
제9도는 반전 키이 저장을 수행하기 위한 펌웨어 프로세스의 플로우챠트,
제10도는 반전키이 저장의 개략적 표시도,
제11도는 제1도에 도시된 금속층 검출기의 실시예의 블럭도,
제12도는 제1도에 도시된 금속층 검출기의 다른 실시예의 개략적 표시도,
제13도는 제1도에 도시된 금속층 검출기의 또 다른 실시예의 개략적 표시도,
제14a도는 클럭보전점검을 수행하기 위한 펌웨어 프로세스의 플로우챠트,
제14b도는 파워보전점검을 수행하기 위한 펌웨어 프로세스의 플로우챠트,
제15도는 버스 모니터링방지를 수행하기 위한 펌웨어 프로세스의 플로우챠트,
제16도는 트립와이어입력을 수행하기 위한 펌웨어 프로세스의 플로우챠트,
제17도는 소프트웨어 공격모니터를 수행하기 위한 펌웨어 프로세스의 플로우챠트,
제18도는 검출 조정을 수행하기 위한 펌웨어 프로세스의 플로우챠트,
제19도는 검출기를 상관시키고 응답을 선택하는 것을 포함하는 필터링 프로세스단계의 간략화된 표시도,
제20도는 간단한 SPU 장치의 내용에서 검출기의 필터링과 응답의 선택을 수행하기 위한 펌웨어 프로세스의 플로우챠트; 여기서는 디지탈 금고 또는 지불카드와 같은 SPU 를 장착한 PCMCIA 키드를 사용한다.
4.상세한 설명
a. 일반 구조
본 발명에 따른 유연한 구조는 기밀성에서 타협없이 특별한 장치를 위한 확장과 주문생산을 허용한다. 본 발명의 하나의 물리적 실시예는 내셔널 세미콘덕터 NS32FV16 진보 영상 및 통신 마이크로 프로세서에 근거한 20MHz 32-비트 CPU를 포함하지만, 디지털신호처리장치(DSP)가 없는 단일 칩의 SPU 이다.
제1도를 참조하여 SPU 의 전체적인 특징을 설명한다. 본 발명의 기본적인 원리를 좀더 개념적으로 이해하기 위하여 몇몇 특징은 이동되었거나 또는 재그룹되었기 때문에, 이 설명은 SPU 레이아웃의 글자 그대로의 설명을 의미하는 것은 아니다. SPU 의 마이크로 콘트롤러(3)는 모든 오프-칩입력--범용 I/O 포트 블럭(1)과 외부 버스 인터페이스블럭(9)에 의해 조절된 입력--으로부터 분리되고, 대신 내장 롬블럭(7)으로부터 내부 데이타버스(10)를 통해 프로그램된 명령을 받는다. 일 실시예에서, 롬블럭(7)은 32K 바이트로 구성되고, 밧데리에 의해 지원되는 램블럭(8)은 4K 바이트로 구성된다. 내부 시스템버스(10)는 SPU 주변기기사이의 모든 주요 신호들, 어드레스 및 데이타 라인들, 기입 및 독출 스트로브, 인에이블 및 리세트 신호들, 그리고 마이크로 콘트롤러 클럭신호 CTTL(25)과 같은 신호들을 전송한다.
시스템클럭블럭은 프로그램가능한 내부 고주파 발진기를 갖으며, SYSCLK(35)를 통해, 모든 주변기능을 지배하는 마이크로 콘트롤클럭신호 CTTL(25)의 소오스이다.
SPU 용 실시간 클럭(5)은 콘트롤 및 스태터스(status) 레지스터구조를 규정하고, UNIX 시간포맷(1970년 1월 1일이래 2번째 경과한 UNIX 시간)을 형성하고 효과적으로 증가시킨 IEEE 1212 표준을 따른다. 실시간클럭(5)은 RTC 발진기(14) 회로와 접속된 오프칩 외부 32.768KHz 수정발진기(15)에 의해 RTCLK(29)를 통해 구동되는 2진 리플카운터로 실행된다. 밧데리에 의해 지원된 램(8)에서의 오프셋을 통해, 예를 들면 실시간클럭(5)은 UNIX 시간을 제공하고, 롬블럭(7)의 프로그램 제어 하에 많은 시간에 근거한 기능 및 시간제한을 실행할 수 있다. 롬블럭(9)내에 저장된 하나의 펌웨어루틴은 실시간클럭(5)에 따라 변경되는 것을 극복하기 위하여 시스템 클럭(2)과 실시간클럭(5)을 크로스-체크한다.
I/O 포트 블럭(1)은 오프칩램을 억세스하고 일반 I/O 요구조건을 충족시키기 위하여 사용될 수 있는 범용 프로그램가능한 입/출력 인터페이스이다. 오프-칩 램(도시되씨 않음)은 내부적으로는 수용될 수 없으나 기밀 및 수행이유를 위해 주시스템 메모리 또는 디스크 저장대신 SPU 에 더욱 더 밀접하게 요구되는 정보에 전형적으로 사용되어진다. 이러한 정보는 변경 검출 코드에 의해 보호될 수 있으며, 장치 요구조건에 따라 암호화되거나 또는 암호화되지 않을 수도 있다. 메모리 인터페이스로 작용하는 것 외에, 이 포트의 몇몇 신호들은 트립와이어 입력, 제로에 대한 짝수 입력 또는 키이의 암호 경보를 실행하는 데 사용될 수 있다.
외부버스 인터페이스블럭(9)은 호스트 시스템에 대한 통신포트이다. 일 일시예에서, 이 것은 장치명령 뿐만 아니라 SPU 로 또는 SPU 로부터 데이타를 받기 위한 수단이며, ISA 버스표준요구조건을 매칭시키도록 디자인된다.
파워블럭(13)은 시스템 파워이용도에 따라 시스템과 밧데리파워사이를 스위칭시킨다. 외부 밧데리(도면상에는 도시되지 않음)로부터 파워는 VPP(24)을 통해 RTC 블럭(5), RAM블록(8) 및 스태터스 레지스터(11)로 인가됨과 동시에 시스템 파워를 이용할 수 없을 때 VOUT(23)을 통해 오프칩 RAM(도시되지 않음)으로 인가된다. 파워블럭(13)은 역시 각각 시스템을 시작시키는 신호 PWRGD(27)와, 버스 콘트롤러(4)를 리세트시키는 신호 DLY_PWRGD(26) 및 파워분리(12)를 통해 밧데리에 지원되지 않는 부분으로부터 회로중 밧데리에 의해 지원되는 부분의 분리를 인에이블시키는 신호 CHIP_PWRGD(28)를 제공한다.
실리콘 방화벽(20)은 PIN 라인(32)을 통한 I/O 포트블럭(1)으로부터 입력, ADDR/DATA라인(33)을 통한 외부 버스인터페이스(9)로부터 입력, RESET(30)로부터 버스 콘트롤러(4)로의 입력뿐만 아니라 많은 기밀 검출기로부터의 입력을 결정하는 외부 비동기 또는 다른 변칙 신호들로 부터 내부회로를 보호한다. 실시간클럭(5)의 출력과 같은 내부에서 발생된 신호들도 이와 마찬가지로 결정된다.
스태터스 레지스터(11)는 다양하게 시도된 기밀침해를 검출하기 위하여 소자를 통해 배열된 모든 하드웨어 검출신호들의 저장소이다. 검출기들은 광검출기(16), 온도 검출기(17), 금속층 검출기(18) 및 부가 검출기(19)(가상으로 표시된), 예를 들면 : 고/저전압 검출기, 진동 검출기 및 모래(sand) 검출기들을 포함한다. 이러한 각 검출기는 일실시예에서 스태터스 레지스터(11)에 저장된 1비트 또는 1비트 이상의 정보를 전송한다. 스태터스 레지스터(11)는 역시 실시간클럭(5)으로부터의 ROLLOVER 신호(34) 그리고 실시간클럭(5)의 시간카운터와RAM 블럭(8)에 저장된 정보의 보전을 입증하기 위하여 사용된 유효한 램과 시간(Valid RAM and Time, VRT) 비트와 같이 내부에서 발생된 신호들을 저장하게 된다.
일실시예에서는, DES 엔진(6)은 DES 알고리즘을 사용하여 데이터를 암호화하고 해독하기 위한 암호해독엔진으로 제공되어진다. 암호해독 엔진의 다른 실시예는 전체적으로 하드웨어적으로 또는 하드웨어와 소프트웨어의 조합으로 수행되어질 수 있으며, RSA 를 포함한 다른 암호해독 알고리즘, RC2, RC4 또는 스킵잭(Skipjack)과 같은 비밀 알고리즘. 또는 그들의 조합을 사용할 수 있다. DES 엔진(6)은 마이크로 콘트롤러(3)의 콘트롤하에서 암호해독처리용 키이와 데이터를 램블럭(8)으로 부터 받는다. 사용된 데이타는 외부버스 인터페이스(9)로부터 공급된 적용 데이타 또는 램블럭(8)으로부터 보호된 데이타가 될 수 있다. 일실시예에서는 DES 블럭(6)은 18클럭 사이클내에서 64비트 블럭의 해독을 수행한다. 즉, 20MHz 로 규정된 SPU 로 단일 해독은 대략 90초 걸리는 데, 이는 초당 8.9M 바이트의 해독율에 해당한다.
일반적으로, SPU 는 암호화된 형태로 "메세지"를 받는다. 암호해독엔진(즉, DES 엔진(6))은 키이, 예를 들면 특별한 적용거래 또는 "세션(session)"에 규정된 "세션 키이"를 사용한다. 암호해독엔진은 역시 메세지를 암호화하거나 또는 해독하는 데 사용되고 또는 그 분야에서 잘 알려진 다른 암호해독동작을 수행한다. 기밀의 메세지 전송을 제공하는 외에, SPU 는 역시 기밀 키이 전송을 제공한다. "마스터 키이"를 갖거나 또는 내부에서 (공공 또는 비밀키이 알고리즘용 잘 알려진 키이발생기술을 이용하여)발생하여, SPU는 암호화된 형태로 세션키이를 받을 수 있으며, 그것들은 메시지처럼 취급함으로써 마스터 키이를 사용하여 그것들을 암호해독엔진으로 해독할 수 있다. 반대로, SPU는 기밀로 메시지를 암호화하고 전송할 수 있다. 마스터 키이, 해독된 세션키이 그리고 다른 민감한 정보(암호/해독 알고리즘)는 하기에서 설명되는 바와 같이 SPU 상의 기밀의 재기입가능한 메모리내에 저장된다.
i.파워블럭
SPU 의 기밀 요구 조건은 파워 서플라이에 특별한 요구 조건을 부여한다. 실시간클럭(5)은 정확한 시간을 유지하기 위하여 사용되고 램(8)은 정보를 저장하고 유지하기 위하여 사용되므로, 제품의 각분야의 수명 동안 실시간클럭(5)과 램(8)은 파워블럭(13)에 의해 공급되는 각각 연속적인 파워소오스 VPP(24)를 가져야 한다.
제2도를 참조하면, 밧데리 전압 VBAT(21)와 시스템 전압 VDD(22)는 파워스위칭회로(101)에 공급된다. 파워스위칭회로(101)는 일반적인 아날로그 비교기를 사용하여 두 전압 VBAT(21)와 VDD(22)중 높은 것을 결정하고, 결정된 전압을 VPP(24)로서 내부회로로 공급하고 예를 들면 오프칩 램의 전원전압으로 사용되는 VOUT(23)로서 공급한다. 파워스위칭회로(101)는 밧데리에 의해 지원되는 부분만이 VBAT(21)(로우상태)로 파워가 공급됨에 반하여, 전 SPU 칩이 VDD(22)(하이상태)로 파워가 공급되는 가를 나타내는 데 사용되는 PWRGD신호(27)를 역시 제공한다. 일실시예에서는, 이 변환의 스레쉬홀드(threshold)는 VDD(22)과 1.2xVBAT(21)를 초과할때이다. 외부 밧데리의 수명이 다했을 경우, VBAT(21)는 실제적으로 0(제로)이고,PWRGD(27)는 VDD(22)가 턴온됨과 동시에 하이상태로 된다.
PWRGD 신호(27)는 내부 데이타버스(10)로부터 발생되는 것은 아니지만, 실리콘 방화벽(20)이 취급되지 않은 상태로 남아 있을 경우, 실리콘 방화벽(20) 내부 회로내의 기밀위험을 표시한다. 그러나, 실리콘 방화벽(20)을 통과하는 다른 신호들과는 달리 PWRGD(27)는 하기에서 설명되는 바와 같이 시스템클럭(2)을 시작시키는 데 사용되고, 다른 신호들이 처리되는 것과 마찬가지로 방화벽(20)에 의해 결정되고 동기될 수 없다. 즉, 파워스위칭회로(101)는 발생된 PWRGD 신호(27)의 급속한 변화를 방지하고 내부회로에서 허용될 충분히 좁은 펄스폭을 제공하기 위한 "글리치 EATER"로서 작용하는 로우패스필터에 의해 PWRGD신호(27)를 결정한다.
두 카운터 PWRUP 카운터(102)와 PWRDN 카운터(103)는 시스템클럭 CTTL신호(25)에 의해 클럭되어진 PWRGD 의 지연된 버전인 DLY_PWRGD(26)를 발생하기 위하여 제공된다. 두 카운터는 그 분야에서 잘 알려진 일반적인 소자이다. 일실시예에서는 이 DLY_PWRGD 신호(26)는 제1도에 도시된 바와 같이, 버스 콘트롤러(4)에 연결된 AND 게이트(31)의 입력으로 사용된다. DLY_PWRGD 신호(26)와 PWRGD 신호(27)는 AND 게이트(114)를 통해 조합되어 다른 신호인 CHIP_PWRGD 신호(28)를 발생한다.
CHIP_PWRGD 신호(28)는 밧데리에 의해 지원되는 회로로부터 시스템 파워 VDD(22)가 제거될 때 파워가 공급되지 않는 회로의 나머지 부분으로 전류가 흐르는 것을 방지하여 밧데리에 지원되지 않은 부분을 순서대로 폐쇄시키기 위하여 제공된다. 이 신호는 사라지는 시스템전원의 초기검출 시스템으로서 작용한다. 제1도를참조하면, CHIP_PWRGD신호(28)는 밧데리에 의해 지원되지 않은 부분으로부터 실시간클럭(5), 램(8) 및 스태터스레지스터(11)의 입력과 출력을 분리하는 파워분리회로(12)에 의해 사용된다. CHIP_PWRGD 신호(28)는 하기에서 설명되는 바와 같이 실리콘 방화벽(20)과 같은 방법으로 결정되어진다; 이 프로세스는 파워 소오스가 스위치될 때 램(8) 또는 실시간클럭(5)으로 유효하지 않은 기입을 방지하는 추가 이점도 가지고 있다.
상기에서 설명된 바와 같이, DLY_PWRGD 신호(26)는 리세트로서 사용되어질 수도 있다. 그러나, PWRUP 카운터(102)는 나쁜 상태에서 파워가 업되면, 나머지 소자의 리세트동작에 영향을 미치게 될 수도 있다. PWRUP 카운터(102) 내의 상태 기계(state machine)는 리세트없이 파워업되고 파워다운시 CTTL(25)의 클럭킹의 정지를 지연시키는 두 요구조건에 의해 연속적인 리세트의 상태에서 파워업될 수 있다. 이러한 문제를 해결하기 위하여, 출력 VCCPWUP(112)을 각각 세트 및 클리어시키는 SET_PWUP(110)과 CLR_PWUP)를 입력으로 하는 별도의 아날로그 회로VCCPUD(104)가 제공된다. VCCPUD 회로(104)는 역시 VDD(22)를 모니터하여 VDD(22)가 악 2V 이하로 떨어질 때 VCCPWUP(112)를 역시 클리어시킨다. 본 실시예에서는 VDD(22)는 VREF(115)를 통해 파워스위칭회로(101)에 의해 공급된다.
VCCPUD(104)와 접속된 PWRUP 카운터(102)와 PWRDN 카운터(103)의 동작은 다음과 같다. 파워업시, 시스템파워 VDD(22)가 1.2xVBAT(21) 이상으로 상승할 때까지, VCCPWUP(112)는 PWRUP 카운터(102)와 PWRDN 카운터(103)의 리세트로서 작용한다;이후 PWRGD(27)와 이어서 VCCPWUP(112)는 상승하여 PWRUP 카운터(102)의 시작을 트리거시키게 된다. CTTL(25)에 의해 클럭되어져, DLY_PWRGD 신호(26)와 CHIP_PWRGD 신호(28)는 하이로 된다. 이와 반대로, VDD(22)가 하강할 때, 2V 이하로 되기전 1.2xVBAT(21) 이하로 떨어져 즉, PWRGD(27)은 로우로 되어, 인버터(108)를 통해 PWRDN 카운터(103)를 시작시키게 된다. 8클럭 사이클후, PWRDN 카운터(103)는 CLR_PWUP(111)를 구동시켜 VCCPWUP(112)를 로우로 만들고, AND게이트(107)를 통해 PWRDN 카운터(103)와 인버터(109)를 통해 PWRUP 카운터(102)를 리세트시키는 SHUTDOWN 신호(113)를 트리거시킨다. 즉, PWRGD 신호(27)가 7클럭 사이클보다 긴 시간동안 낮아지는 경우에는, 전시스템은 파워가 완전히 제거될 때처럼 리세트된다. 이 딜레이는 VDD(22)가 하이로 되지만, 허용레벨로 복귀되기 전까지 대략 2V 이하로 하강되는 전원전압의 과도현상을 고려한다.
ii.경보 발생
본 발명의 일실시예는 SPU 가 밧데리 파워 VBAT(21)로만 동작할 때 검출능력을 디스에이블시킨다. 다른 실시예에서는, 시스템 파워 VDD(22)가 없을 때, SPU 의 밧데리에 지원되지 않은 부분은 VBAT(21)를 통해 일시적으로 파워가 공급된다. 제1도에서 가상으로 나타낸 바와 같이, 임의 검출기가 신호를 트리거하는 경우, OR 게이트(39)는 파워블럭(13)으로 ALARM 신호(38)를 보낸다.
제2도를 좀더 참조하면, VBAT(21) 단독으로 전 SPU 에 충분히 높은 파워를 공급할 경우에는, 적절하게 변경된 파워스위칭회로(101)는 ALARM신호(38)에 의해 트리거될 때: (i) 이전과 같이 PWRGD 신호(27)를 발생하고; (ii) SPU 가 경보-트리거된 "비상" 파워하에서 동작되고 있음을 나타내는 새로운 신호인 APWRGD 신호(40)를 발생하며; 그리고 (iii) 파워업 프로세스와 인터페이스되지 않도록 VREF(115)를 VDD(22)에서 VBAT(21)로 변환한다. 적절한 VDD(22)가 계속하여 없을 때, 파워스위칭회로(101)에 의해 수신된 SLEEP 신호(41)는 PWRGD(27)와 APWRGD(40)를 로우로 만들고, VREF(115)를 다시 VDD(22)로 변환시켜 이전과 같이 파워 다운을 트리거시킨다.
iii.실리콘 방화벽
기밀 모델을 정의할 때, 통상의 가정은 시스템내부의 모든 것은 보호되고 시스템 외부의 모든 것은 보호되지 않는다는 것이다. 기밀특징을 계획하는 노력 중에서, 시스템 경계(boundary)의 명백한 이해를 설정하고 위협을 정의하여서, 시스템이 반드시 자체적으로 방어를 하는 경계를 외부로 발생하도록 하는 것이 중요한 것이다. SPU 의 경우에 있어서, 시스템의 경계(境界)는 실리콘 경계 또는 등가적으로 SPU 패키지의 핀이다. 시스템 경계 내의 구성요소는 2가지의 타입이 있다: 시스템의 기밀을 유지하여야 할 구성요소와 다른 기능을 수행하여야 할 구성요소가 있다. 두 타입의 구성요소를 분리하는 것은, 실리콘 방화벽이라 불리는 실리콘 경계와 기밀주변 사이의 영역을 갖는 소위 기밀주변이라 불리는 경계이다. 실리콘 방화벽의 역할은 기밀주변을 방어하는 것이다. 이 역할의 하나 특징은 예를 들면, 비동기입력이 처리되지 않고 기밀주변의 외부로부터 내부로 도달하는 것을 방지하는 것이다; 그러한 입력은 시스템을 예견될 수 없고 제어될 수 없는 상태로 구동시킬 수 있다.
마이크로 콘트롤러(3)는 정확하게 마이크로 콘트롤러의 모든 광범위한 상태들을 입증하는 것이 어렵기 때문에, SPU 내에서 신뢰성이 제일 낮은 구성요소 중의 하나이다. 결과적으로, SPU 에서 마이크로 콘트롤러(3)는 비동기 또는 다른 비정상의 입력들, 즉 마이크로 콘트롤러(3)의 정상동작모드를 제외한 신호들로부터 보호되어져야 한다. 비정상신호들의 예는 허용되지 않은 입력레벨을 갖는 신호들(즉, 유효한 고레벨 또는 유효한 저레벨을 갖지 않는 신호들)과 규격이외의 시간 전이(transition)를 갖는 신호들이다. SPU의 외부 입력신호들을 취급할 필요가 있을 뿐만 아니라 마이크로 콘트롤러에 비동기되는 모든 내부신호들도 특별보호회로에 의해 취급되어져야 한다.
비동기입력 또는 비정상입력을 방지하는 통상의 방법은 모든 입력을 래치회로에 연결된 슈미트 트리거소자를 갖는 반도체칩에 장착하여, 입력들이 반도체칩에 의해 샘플링되는 동안 신호들이 상태를 변화시킬 수 없도록 보장하는 것이다. 그러나, 슈미트트리거를 제작하는 것은 어렵다. 게다가, 슈미트 트리거는 히스테리시스 효과로 인하여 느리다. 본 발명에 따른 SPU 는 마이크로 콘트롤러(3)에 대한 모든 인터페이스를 보호하기 위하여 "실리콘 방화벽" 디자인을 사용한다. 실리콘 방화벽의 디자인 중 하나는 상태 기계(state machine)를 구비한다. 제3도는 실리콘 방화벽으로 사용될 수 있는 상태 기계(710)의 일실시예를 도시한 것이다. 상태 기계(710)는 상태가 클럭(714)에 의해 제어되는 데이타 레지스터(712)를 포함한다. 본 실시예에서는, 상태 기계(710)는 4개의 t-상태 기계로서 동작한다. t1 과 다른 임의 시간동안, 데이타는 데이터 레지스터(712)로부터 록(lock)된다. t1 에서, 입력 데이타(이용가능하다면)는 데이타 레지스터(712)의 입력단자(716)에 래치된다. 그러나, t3이 될 때까지 데이타 레지스터(712)의 출력단자로 허용되지 않는다. 결과적으로, 입력 데이타의 준안정상태는 두 t-클럭지연에 의해 무효화된다.
제4도는 상태 기계(710)에 유리하게 사용될 수 있는 데이타 레지스터(720)의 일실시예를 도시한 것이다. 레지스터(720)는 2개의 D 플립플롭(722), (724)를 포함한다. 플립플롭(722)의 출력단자(726)는 플립플롭(724)의 입력단자(727)에 연결된다. 클럭신호는 라인(730)을 따라 각각 플립플롭(722), (724)의 클럭단자(728), (729)로 전송된다.
일반적으로 비동기적으로 발생된 외부신호가 플립플롭(722)의 입력단자(732)에 인가될 때, 입력신호의 상태(하이 또는 로우)는 제1클럭펄스의 상승에지에서만 플립플롭(722)에 래치된다. 이 상태는 제2클럭펄스의 상승에지때까지 동일하게 유지된다. 그 결과, 플립플롭(722)의 단자(726)에서의 출력신호는 제1 및 제2클럭펄스의 상승에지사이의 입력신호의 상태와 관계없이 제1클럭펄스의 상승에지부터 제2클럭펄스의 상승에지까지 동일한 상태로 남아있게 된다.
제1클럭펄스의 상승에지에서 외부신호에 대응되는 플립플롭(722)의 출력단자(726)의 상태는 제2클럭펄스의 상승에지에서 플립플롭(724)에 래치된다. 결과적으로, 플립플롭(724)의 출력단자(734)는 초기클럭펄스의 상승에지에서 외부신호의 상태와 동일한 상태를 갖는다.
입력은 클럭펄스에 의해 정해진(즉, 동기된) 시간에 샘플링된다는 것을 데이타 레지스터(720)로부터 알 수 있다. 게다가, 플립플롭(722)에 의해 비정상상태의신호가 필터링된다. 결과적으로, 삽입된 콘트롤러에 연결된 신호는 정상의 동기신호이다.
제5도는 상태 기계(710)에 유리하게 사용될 수 있는 데이타 레지스터(740)의 다른 실시예를 도시한 것이다. 데이타 레지스터(740)는 멀티플렉서(742), D 플립플롭(744), 버퍼(746), 라인(750)상의 입력클럭신호에 따라서 4개의 t-상태를 갖는 클럭신호를 발생하는 소자(748)로 구성된다. 멀티플렉서(742)의 출력은 D 플립플롭(744)의 입력에 연결되고, D 플립플롭(744)의 출력은 버퍼(746)의 입력과 멀티플렉서(742)의 입력단자중 하나에 연결된다. 멀티플렉서(742)의 다른 단자는 외부신호(일반적으로 비동기신호)에 연결된다. 소자(748)는 멀티플렉서(742)를 콘트롤하는 클럭신호를 라인(750)상에 발생하여 라인(758)상의 외부비동기신호가 시간 t1 에서만 D 플립플롭(744)에 연결되도록 한다. 소자(748)는 버퍼(754)를 콘트롤하는 클럭신호를 라인(754)상에 역시 발생하여 D 플립플롭(744)의 출력신호가 시간 t3 에서만 버퍼(746)를 통과한다. 그 결과, 라인(756)상의 신호는 동기되어진다.
iv.내부 시스템 클럭
PDPS 와 호환되는 시스템 클럭은 일련의 디자인 고려사항과 직면하게 된다: 가격, 중앙통제일치(COMPLIANCE), 인쇄회로기판(PCB) 영역, 내구성, 그러나 가장 중요한 기밀, 고수행능력을 위한 요구는 직접적으로 비례하는 클럭속도를 높이 평가하는 것이다.
클럭회로의 가격은 주파수에 따라 증가하고, 외부 클럭은 전제 제조가의 상당한 부분을 나타내게 된다. 고주파 회로의 물리적인 범위가 크면 클수록, 고주파 EM방출은 커지게 되어 기밀문제를 발생하고 FIPS 140-1 요구조건을 제시하는 문제를 발생하게 된다. EM 방출은 정교한 공격자에게 상당히 많은 량의 정보를 제공할 수 있다--파워 스펙트럼을 분석하여 적자는 특정 시간에 처리되고 있는 알고리즘의 형태를 유추할 수 있게 된다. 마이크로 프로세서의 우측에 자리하고 있는 내부 클럭과 비교하여 보면, 마이크로 프로세서에 연결된 외부클럭은 EM 방출을 제한하는 FIPS 140-1 EMI/EMC 요구조건과 쉽게 일치시킬 수 없게 된다. 외부 클럭의 배열은 인쇄회로기판의 상당한 영역을 차지하여 디자인 응용을 제한하게 된다. 파워소비를 감소시키기 위한 요구에 따라 내부 클럭을 선호하게 되다: 내부클럭은 외부의 높은 EM 간섭을 처리하여야 하는 외부 클럭보다 저전압에서 동작할 수 있다; 그리고, 내부클럭은 물리적으로 작은 크기에 의해 작은 기생 파워 캐패시턴스를 갖는다. 게다가, 외부클럭의 존재는 잠재적인 침공격자에게 다른 기밀장치를 저지하는 요소인 클럭속도를 조정하는 것을 허용하게 된다.
내부 발진기 자체는 신규한 구조는 아니다. Carver Mead 바 Lynn Conway 의Introduction to VLSI 시스템, Addison & Wesley(1980), pp. 233-235 에 프로그램가능한 내부 발진기가 제시되었다. 다른 예는 "Sony & HDL Detailed Embedded MIPS Cores", Microprocessor Report, vol.7, no.15, November 15, 1993 에서 Brian Case 에 의해 설명된 바와 같이 외부 주파수기준에 따라 록되는 위상-동기 루프 회로(PLL)이다. 그러나. 외부기준을 통해 이 외부 링크가 기밀환경에 완전하게 부적절한 것은 아니다.
제6도를 참조하면, 시스템클럭은 일단 변화요구가 검출되면 표준 5-클럭 사이클 차단, 5-클럭 사이클 인에이블의 상태 기계를 이용하여 수행되어진다. 버스 인터페이스 및 디코더(151)는 내부버스(10)부터 3종류의 신호를 선택하여 디코딩한다: 제1도에서 설명한 바와 같이 파워블럭(13)으로 패스되는 내부 시스템클럭신호 CTTL(25); 시스템 클럭(2) 정지시키기 위한 STOP_CLK 신호(166); 링발진기(156)용 프로그램된 주파수를 나타내는 4비트의 OSC_FREQ 신호(172), OSC_FREQ 신호(172)는 발진기제어 레지스터(152)에 저장되고 변화펄스발생기(153)에 공급된다. STOP_CLK 신호(166)와 PWRGD 신호(27)는 그의 출력이 변화펄스발생기(153), AND 게이트(165), 입회(entry) 래치(154)의 세트, 클럭에지금지(155) 및 D 플립플롭(159, ..., 163)의 리세트로 인가되는 AND 게이트(164)로 공급되는 된다. 즉, 변화펄스발생기(153)가 입력의 변화를 검출할 때, 래치(158)에 래치되는 펄스 CHANGE_DETECTED(167)를 발생한다. D 플립플롭(159, ..., 163)은 링발진기(156)의 출력인 RING_CLK_OUT(170) 에 의해 발생될 클럭인 5클럭 사이클 내에서 라인 아래로 래치(158)로부터 래치된 신호를 전달하는 쉬프트 레지스터로서 작용한다. 신호가 최종 D 플립플롭(163)을 통해 전달될 때, (i) 가입 래치(154)와 클럭에지금지(155)에 OPEN_LATCH 신호(168)를 발생하고; (ii) CLOSE_LATCH 신호(169)를 출구 래치(157)와 래치(158)를 리세트시키는 AND 게이트(165)에 발생한다.
AND 게이트(164)로부터의 하이 상태 신호와 함께 OPEN_LATCH 신호(168)는 일시적인 고장을 야기하지 않고 새로운 주파수를 링발진기(156)로 프로그램시켜 주는SHUTDOWN_CLK신호(171)를 대략 120ns 동안 발생하는 원-샷 트리거인 클럭에지금지(155)를 인에이블시킨다. 이와 동시에, CLOSE_LATCH 신호(169)는 1클럭 사이클동안 로우상태로 남아있게 되어 1클럭 사이클동안 긴 듀티사이클을 갖는 출력 SYSCLK(35)을 발생하고, 발진기제어 레지스터(225)의 데이타는 SYSCLK(35)의 출력주파수에 대응된다.
링발진기(156) 자체를 지금 설명한다. 광범위한 영역에 걸쳐 개개의 클럭율의 차를 발생시키는, 제조시 야기되는 광범위한 프로세스 편차를 보상하기 위하여, 링발진기(156)는 16개의 다른 동작 주파수로 프로그램가능하다: 22MHz, 23MHz, 24.8MHz, 26.2MHz, 27.7MHz, 23MHz, 31.9MHz, 34.3MHz, 37.8MHz, 40.2MHz, 46MHz, 51.2MHz, 58.5MHz, 64.9MHz, 82.2MHz, 102.2MHz. 마이크로 콘트롤러(3)의 특별한 특성뿐만 아니라 롬(7)과 동작 호환성의 관심은 이러한 공칭 주파수가 신호가 링 발진기(156)를 떠나기전 두 개로 나뉘어지도록 명하여져, SYSCLK(35)을 통해 마이크로 콘트롤러(3)로 제공된다.
제7(a)도를 참조하면, 상기의 주파수 분할은 출력이 RING_CLK_OUT(170)인 D 플립플롭(210)에 의해 수행된다. OSC_FREQ 신호(172)는 두 멀티플렉서 MUX1(204)과 MUX2(208) 중 하나에 쌍으로 공급된다. 멀티플렉서 MUX2(208)의 출력은 D 플립플롭(210)의 클럭입력과 NAND게이트(209)로 인가된다. SHUTDOWN_CLK신호(171)는 D 플립플롭(210)의 리세트 및 NAND 게이트(209)에 인가된다. 블럭(201), (202), (203), (205), (206) 및 (207)은 제7(b)도, 제7(c)도, 제7(d)도, 제7(e)도에 각각 표시된 바와 같이 인버터 체인이다. OSC_FREQ신호(172)의 상태에 따라서,MUX1(204)과 MUX2(208)에 주장된 (0,0,0,0)부터 (1,1,1,1)까지의 결과는 인버터의 수에 따라 변화하는 실제적인 회로를 산출하게 된다. 제7(b)도에서, 캐패시터(219, ..., 226)를 통해 각각 VPP 에 연결된 8개의 인버터(211, ...,218) 체인이 도시되었다. 이 캐패시터들은 회로를 통해 모든 루팅 캐패시턴스(routing capacitance)를 제거하는 작용을 한다. 이와 마찬가지로, 제7(c)도는 인버터(227,...,230)와 캐패시터(231,....,234)를 갖는 대응하는 4개의 인버터체인을 도시한 것이다. 제7(d)도는 인버터(235, 236)와 캐패시터(237, 238)를 갖는 2개의 인버터체인을 도시한 것이다. 마지막으로, 제7(d)도는 제2인버터(240)의 출력에 접속된 단 하나의 캐패시터(241)만을 갖는 두 인버터(239, 240)를 도시한 것이다. NAND 게이트(209)와 결합된 짝수 개의 인버터는 링에 순수 전체 반전을 제공하여 링발진기(156)를 유지하여야 하기 때문에, 마지막의 경우에는 2개의 인버터가 필요하다. 상기에 나열된 링발진기(156)의 상이한 16개의 주파수를 발생시키는 것은, 모든 인버터, NAND 게이트(209) 및 멀티플렉서 MUX1(204)과 MUX2(208)를 통한 결합된 전달 지연이다.
제조시, 선택된 주파수는 설정된 시간 표준의 교정에 근거한다. 이 표준은 실시간클럭(5) 또는 신임받은 시스템에 의해 정해지고 전송된 "시작" 및 "정지" 시간명령에 의해 제공되어질 수 있다. 실시간클럭(5)을 이용하여 최종교정입력을 제공한다. 이 교정은 비밀키이가 설치됨과 동시에 행하여지고 제조모드에서만 행하여진다. 발진기제어 레지스터(152)의 최하위 4비트로부터 독출된 최종 세트주파수는 밧데리에 의해 지원된 램(8) 또는 다른 불휘발성 메모리에 저장된다. 소자가 리세트될 때 또는 파워가 인가될 때마다, 소자는 자체적으로 하기에서 설명되는 바와같이, 볼휘발성 메모리에 저장된 최종 세트 주파수를 변경 검출코드를 사용하여 정정하는 것을 자체적으로 확인한다. 최종세트 주파수가 정확할 경우, 그것은 발진기제어 레지스터(152)의 최하위 4비트로 코드되어 링발진기(156)의 최적동작 주파수를 재설정한다. 불휘발성 메모리에 저장된 최종세트 주파수가 정확하지 않으면, 발진기제어(152)레지스터로 값이 로드되지 않아 최종세트주파수는 리세트값을 그대로 갖게 된다. 링발진기(155)가 최저 프로그램가능한 주파수인 리세트값을 그대로 갖고 있을 때, 불휘발성 메모리의 조건하에서 소자의 적절한 동작을 유지하여야 한다. 예를 들면, 마이크로 콘트롤러 클럭입력 SYSCLK(35)은 오동작과 가능한 기밀침해를 유도할 수 있는 매우 높은 주파수에서는 결코 구동되지 않는다는 것을 확인한다.
v.실시간 클럭
상기에서 언급된 이유로, SPU 의 동작범위에 대하여 약 30%의 본래의 온도진동율뿐만 아니라, 시스템 클럭(2)은 마이크로 콘트롤러(3)의 내부클럭킹에 적합하지만 UNIX된 시간을 유지하거나 정해진 사건을 콘트롤하는 데 적합하지 않으며, 안전하지만, 다소 부정확한 타이팅(timing) 장치이다.
제1도를 참조하면, RTC 발진기(14)는 외부 수정발진기(15)를 사용하여 32.768KHz 신호, RTCLK(29)를 발생하도록 디자인된다. 이와 반대로, RTC 발진기(14)를 바이패스시켜 외부 클럭을 통해 RTCLK(29)를 발생시킬 수 있다. OSC_ON(42)는 밧데리 전원이 소자에 인가되더라도 발진기를 정지시켜준다. 이것은 예를 들면 시스템이 판매되기전 재고되었을 때, 밧데리에 흐르는 것을 방지한다.RTC 발진기(14)로부터 출력 RTCLK(29)은 하기에서 언급되는 바와 같이 실시간클럭을 구동하는 데 사용된다.
제8도를 참조하면, 실시간클럭(5)은 2진 리플카운터(302), 버스 인터페이스 및 디코더(301) 그리고 동기블럭(303)으로 구성된다. 리플카운터(302)는 몇 분의 1초를 카운팅하기 위하여 할당된 SFC(306)을 통한 15비트 출력과 초카운터에 할당된 SC(307)를 통한 32비트 출력을 갖는 일반적인 시프트 레지스터 어레이이다. 국부 밧데리에 의해 지원된 램블럭(8)에서 오프셋과 결합될 때 SC(307)의 값은 탐색후 UNIX 시간을 발생한다. 리플카운터(302)에서 최종캐리오버는 ROLLOVER 신호(34)를 발생한다.
버스 인터페이스 및 디코더(301)는 내부버스(10)와 인터페이스되고 시스템클럭 CTTL(25), 상기 언급한 OSC_ON 신호(42) 및 CLEAR_RTC 신호(304)와 CLOCK_RTC 신호(305)를 공급한다. CLEAR_RTC(304)는 리플카운터(302)를 리세트시키기 위하여 사용된다. CLOCK_RTC(305)는 마이크로 콘트롤러(3)가 RTCLK(29)에 의지하지 않고 리플카운터(302)를 클럭하여 소자의 테스트를 허락한다.
RTCLK(29)은 외부 비동기신호이므로, 발생되는 신호 SFC(306), SC(307) 및 ROLLOVER(34)는 초기에 설명한 실리콘 방화벽과 마찬가지로 동기블럭(303)에 의해 취급될 필요가 있다. 이후, SFC 신호(306) 및 SC 신호(307)는 마이크로 콘트롤러(3)에 의해 폴링에 응답하여 내부버스(10)를 통해 적절하게 전송되어질 수 있다. ROLLOVER 신호(34)의 사용은 하기에서 설명되는 롤오버비트의 내용에서 설명되어질 것이다.
하기에서 설명될 다른 실시예의 경보발생특징에 따르면, 하향계수 카운터(308) (가상으로표시)는 내부버스(10)상에 전송된 카운터제어신호를 통해 마이크로 콘트롤러(3)에 의해 세트되고, 버스 인터페이스 및 디코더(301)에 의해 디코딩되며, 라인(310)을 통해 전송되어진다. 즉, 하향계수 카운터(308)가 리플카운터(302)의 SC 신호(307) 또는 SFC 신호(306)로부터 클럭되어 소정의 계수를 수행할 때, 하기에서 설명되는 방법과 마찬가지로 ALARM 신호(38)를 발생한다. 게다가, OR 게이트(309)를 통해 전달된 ROLLOVER 신호(309)는 ALARM(38)을 통해 다른 경보발생신호의 근거를 제공한다.
vi.반전키이저장
SPU 의 불휘발성 또는 일반적으로 재기입가능한 메모리에 비밀정보(암호 키이)를 놓아둘 것이 요구된다. 비밀정보는 SPU 에 전원이 턴오프되면 파괴된다. 한편, 비밀정보가 불휘발성 메모리에 놓여 있을 경우, 공격자는 SPU 를 제거하고 한가하게 통상의 수단으로 불휘발성 메모리의 정보를 조사할 수 있다.
비밀정보가 불휘발성 메모리에 적절하게 로드되지 않을 경우, 공격자는 시스템의 파워가 턴오프되는 동안 SPU 를 여전히 조사할 수 있어 비밀정보를 얻을 수 있게 된다. 이것은 통상의 휘발성 메모리에 저장된 비밀정보는 SPU 의 유전물질에 그대로 남아있어 공격자가 파워가 턴오프된 후에도 비밀정보를 얻기 위하여 독출할 수 있기 때문이다. 비밀정보가 메모리에 로드될 때, 메모리셀의 전압레벨은 전하를 메모리셀의 유전물질에 형성시킨다. 동일한 비밀정보가 연장된 시간 주기동안 동일 메모리위치에 놓여있을 경우, 유전물질은 메모리셀의 전하에 영구히 영향을 미치게된다. 이것이 발생될 때, 파워가 메모리셀로부터 제거된 후에도 비밀정보를 결정하는 것이 가능하다. 게다가, 전압을 증가시키고 SPU 의 동작온도를 변화시켜 메모리셀을 인공격으로 "노화"시키는 것이 가능하다(따라서 유전물질은 짧은 시간내에 영원히 영향을 미치게 된다).
본 발명의 하나의 특징은 비밀키이가 주기적으로 반전되어 있는 반전 키이 저장배열이다. 그 결과, 모든 메모리셀의 순수 평균전하는 동일하여, 검출될 수 있는 메모리셀의 유전물질에서 특별히 선택된 키의 부호가 남아있지 않게 된다.
본 발명의 일실시예에서는, 반전키이 저장배열은 펌웨어로 수행된다. 펌웨어는 소정시간 즉 100ms 마다 한번씩 수행되는 키이반전루틴을 포함한다. 키이반전루틴(802)을 포함하는 플로우챠트(800)가 제9도에 도시된다. 플로우챠트(800)는 반전루틴(802)을 실행할 시간인가를 결정하는 결정블럭(804)을 포함한다. 대답이 아니오이면, 펌웨어내의 프로그램이 실행된다(블럭806). 키이반전루틴(802)을 수행할 시간이면, 플로우챠트(800)는 키에 대한 모든 억세스를 디스에이블시키는 블럭(808)을 실행한다. 삽입된 콘트롤러는 그 다음 불휘발성 메모리에 저장된 키이를 독출한다. 키이의 비트는 반전되어 메모리내에 다시 저장된다(블럭 810). 반전의 현재상태의 트랙을 유지하기 위하여(즉, 키이가 정상인가 또는 반전상태인가), 키이반전 스태터스비트는 상태트랙을 유지하기 위하여 할당된다. 키이의 반전후, 키이반전 스태터스비트의 스태터스는 변경된다(블럭 812). 키이에 대한 억세스는 현재 인에이블된다(블럭 814). 플로우챠트(800)는 다른 펌웨어루틴을 수행하기 위하여 블럭(806)을 실행할 수 있다.
하드웨어만을 이용하여 반전키이 저장배열을 수행하는 것이 역시 가능하다. 제10도는 JK 플립플롭(822)과 셀(824)과 (825)와 같은 복수 개의 메모리셀을 구비한 배열(820)의 개략도이다. 이러한 두 쉘의 구조는 동일하여 하나만을 상세하게 설명한다. 셀(824)은 두개의 OR 게이트(827)와 (828), JK 플립플롭(829), NOR 게이트(830), 인버터(831) 및 버퍼(832)를 구비한다. 라인(834)상의 클럭신호는 두 플립플롭(822), (829)의 클럭입력에 연결된다. 라인(835)상의 토글/코드신호(T/L*)는 신호가 하이레벨일 때 셀(824), (825)를 토글 상태로 하고 신호가 로우상태일때는 셀을 로드상태로 하기 위하여 사용된다. 즉, T/L*가 로우상태일 때, 라인(839)상의 데이타는 메모리셀(824)로 로드된다. T/L*신호가 하이상태일 때, JK 플립플롭(829)은 라인(834)상의 클럭신호에 따라 토글된다. 라인(836)의 독출신호는 버퍼(832)의 인에이블단자에 접속된다. 독출신호는 메모리셀에 저장된 데이타를 독출시켜 준다. 라인(836)상의 신호는 라인(839)상의 출력이 원래 또는 반전된 신호인가를 나타낸다.
vii.부가기밀특징
상기에서 설명한 특징 외에 SPU 는 여러 가지 방법으로 더욱더 기밀을 확실히 제공할 수 있다. 예를 들면, 1993년 7월22일 발명자 Robert C. Byrne 가 출원하고 여기서 참고로서 일체화된 출원번호 08/096,537 에 개재된 물리적 코팅 "변경에 잘 견디는(temper resistant) 집적회로구조"는 SPU 의 일부분은 덮고 다른 부분은 노출시켜 변경에 잘 견디는 구조를 구비하여, 변경에 잘 견디는 구조를 식각하여노출된 부분을 파괴시킨다. 즉, 변경에 잘 견디는 구조는 액티브회로를 숨기고 변경에 잘 견디는 구조의 제거는 액티브회로를 파괴시키기 때문에 SPU 는 쉽게 분해되거나 역으로 설계되지 않는다. 물리적 코팅은 금속층 검출기(제11-13도)에 대한 본래의 부속물로서 작용한다. 유용함을 입증할 수 있는 다른 기밀특징은 발명자 Max Kuo 와 James Jaffe가 1994 5. 31에 출원하고 여기서 참고로서 기재되는 미국 특허출원번호 제 08/251,230 호의 "기밀한 불휘발성 메모리셀"이 있는데, 이는 셀의 시도된 프로세싱시 저장된 전하를 방전시킴으로써 셀내에 저장된 전하가 외부검출에 대하여 보호되는 EEPROM 셀을 갖는다. EEPROM의 형태는 롬블럭(8)의 역할을 완전히 수행할 수도 있으며, 초기에 설명한 반전키이저장을 대체하는 것이 가능하다(제9도, 제10도).
b.검출기의 구현
i.광검출기
비밀정보가 VLSI 소자의 레지스터 또는 메모리에 존재할 경우, 가끔 공격자는 그린 소자의 패키지를 제거하여 직접 저장소자에 영향을 주는 것이 유익하다는 것을 알고 있다. 이것은 설계 구조의 조사를 이용하여 기밀의 정보를 찾기 위한 시도시 내부노드를 조사하는 것을 가능케한다. 패키지의 제거 또는 탈캠슐화는 공격자측의 고의가 아닐지라도 주위의 빛에 다이가 노출되게 된다. 이런 광을 검출하는 것은 발생될 적절한 대응책의 입력정보로서 작용한다.
광감지소자의 제작은 추가의 마스크나 스텝없이 많은 일반적인 CMOS 공정으로 수행될 수 있다. 예를 들면, 낮게 도핑된 N형 물질은 물질이 노출된 광량에 비례한 전도율을 나타낸다.
제1도를 참조하면, 광검출기(16)의 신호는 스태터스 레지스터(11)에 비트를 세팅하기 전에 실리콘 방화벽을 통과한다. 침입특성을 국부화시키고 좀더 특징화하는 데 사용되는 복수개의 괌검출기는 SPU 내의 전략적인 위치에 위치하게 될 것이다.
ii.고/저온 검출기
SPU 의 정상온도 동작범위는 0℃ 내지 70℃ 이다. 대부분의 장치에서 이 영역이상의 온도는 예로서 칩의 외곽층을 연마하여 발생된 열은 공격자에 의한 침입시도의 결과로서 간주된다. 그 분야에서 통상의 기술을 가진 자에게 잘 알려진 다른 상당한 소자가 충분하지만, 그 분야에서 잘 알려진 기판 다이오드는 온도변화를 검출하는 데 충분하다.
제1도를 참조하면, 온도 검출기(17)의 신호는 스태터스 레지스터(11)에 비트를 세팅하기 전에 실리콘 방화벽을 통과한다. 본 발명에 따른 어느 것도 SPU 내의 온도차를 특성화하기 위하여 온도 스케일 또는 복수 게의 검출기를 특징짓는 멀티-비트 분야를 배제시킬 수 없다.
iii.금속층
현대 집적회로 분석장치는 파워가 회로에 인가될 때 집적회로의 내용을 조사할 수 있다. 그 결과, 불휘발성 메모리에 저장된 키이 또는 다른 비밀 데이타를 검출하는 것이 가능하다. 비밀키이를 보호하는 한가지 방법은 키이에 인가된 탐색(probe) 신호를 편향시킬 수 있도록 금속층으로 키이를 덮는 것이다. 그러나,이 금속층은 공격자에 의해 쉽게 제거되거나 또는 변경될 수 있다. 결과적로, 종래 기술과 잘 고려하여 보면 금속층의 사용으로 키이를 보호하는 것은 덜 효과적이다.
금속층의 기밀성을 향상시키는 한가지 방법은 SPU 가 키이 또는 그물질의 특별히 감각적인 데이타를 덮는 금속층의 변경을 검출하는 수단을 포함시키는 것이다. 본 발명의 일실시예는 제11도에 도시된 바와 같다. 금속층은 제11도에 도시된 금속 트레이스(852-857)로 나뉘어진다. 각 트레이스는 래치(860)의 출력핀과 래치(862)의 입력핀에 연결된다. 두 래치는 마이크로 콘트롤러와 메모리에 차례로 연결된 시스템 버스(868)에 연결되고 역시 스태터스 레지스터(11)에 연결된다. 트레이스(852), (853)는 제1영역(864)위를 통과하고, 트레이스(854), (855)는 제2영역(865)위를 통과하며, 트레이스(856), (857)는 제3영역(866)위를 통과한다.
시스템 버스 사이클동안, 래치(860)의 각각의 출력핀은 랜덤 수 발생기(하드웨어 또는 소프트웨어중 하나로 구현된)의 값에 따라 로직 하이 또는 로직 로우중 하나로 구동된다. 그 결과, 트레이스(852-857)는 대응하는 로직하이 또는 로직로우로 세트되어져야 한다. 후자의 버스사이클에서, 래치(862)는 트레이스(852-857)의 로직 레벨을 래치한다. 래치된 로직레벨중 어스 레벨이 래치(860)에 의해 본래부터 구동되는 로직레벨과는 다를 경우, 공격이 SPU 에 장착되었다고 가정한다.
발명의 다른 실시예는 제12도에 도시되었다. 금속층은 제12도에 도시된 많은 트레이스(902-904)로 다시 나뉘어진다. 이 금속 트레이스는 로직하이전위에 연결된다. 제12도는 복수 개의 AND 게이트(906-908)와 복수개의 메모리셀(913-916)을 구비한다. 각 AND 게이트(906-908)는 각각 트레이스(902-904)중 하나에 연결된 입력단자와 메모리셀(914-916)의 파워라인(910-912)중 하나에 연결된 출력단자를 갖는다. 각 AND 게이트(906-908)의 다른 단자는 파워라인(909-911)에 각각 연결된다. 파워라인(909-911)은 예를 들면 VPP(24)로부터 공급될 수 있다.
금속 트레이스가 정상상태에 있을 때, 즉 로직하이전위에 연결될 때, AND 게이트의 입력은 로직하이전위이다. 즉, 모든 메모리셀은 AND 게이트의 출력에 의해 파워가 공급된다. 그러나, 금속 트레이스중 어스 하나가 제거되는 경우에는, 대응되는 AND 게이트의 출력은 관계된 메모리셀을 턴오프시키는 로직로우로 변화된다. AND 게이트의 출력이 이웃하는 AND 게이트의 입력에 연결되므로, 이웃하는 AND 게이트의 출력은 이웃하는 AND 게이트에 관계된 메모리셀을 턴오프시키는 로직로우로 된다. 이 사건의 시퀀스는 AND 게이트의 모든 출력이 로직로우로 될때까지 전달된다. 그 결과, 모든 메모리셀은 턴오프되어 거기에 저장된 데이타를 파괴시킨다. 본 실시예는 마이크로 콘트롤러의 동작을 요구하지 않으며 최종래치방어에 해당될 수 있다.
본 발명의 제3실시예는 제13도에 도시된 LATN 셀(920)이다. LATN 셀(920)은 본래 약(weak) 피이드백 패스를 갖는 래치로서 셀내의 침입은 셀을 토글시키게 된다. 라인(925)상의 콘트롤신호는 전송 게이트(924)에 인가되고 인버터(926)를 통해 다른 전달 게이트그(924)에 인가된다. 그 결과, 한번에 전송 게이트중 하나만이 턴온된다. 전송 게이트(922)가 턴온될 때, 라인(927)상의 데이타신호는 인버터(928)를 통해 출력인버터(929), (930)로 통과한다. 인버터(931)는 반전된 입력을 제공하기 위하여 인버터(929)에 연결된다. 전송 게이트(922)가 턴오프될 때, 디지탈 신호는 다이상 출력인버터에 연결되지 않는다. 그러나, 출력신호는 인버터(932)와 전송게이트(924)에 의해 제공된 피이드백으로 인하여 그값을 그대로 유지한다.
본 발명의 LATN 셀(920)의 중요한 특징중의 하나는 피이드백 인버터(932)가 약(weak) 출력파워를 갖는다는 것이다. 즉, LATN 셀(920)이 조사에 의해 발생된 방사선에 노출되는 경우, 피이드백 패스는 단절되어 LATN 셀(920)의 출력값은 유지될 수 없다.
모든 실시예에서는, 출력은 신호를 실리콘 방화벽(20)을 통해 스태터스 레지스터(11)로 공급하는 금속층 검출기에 의해 부호로 표기된 바와 같은 검출기로서 사용될 수 있다. 금속층 자체가 하기에서 설명되는 바와 같이 프로빙에 대하여 수동적인 방어를 제공한다는 것을 무시해서는 안된다.
iv. RTC 롤오버 비트와 클럭보전체크
상기에서 설명한 바와 같이, 실시간클럭(5)은 UNIX 시간을 유지하는 리플카운터를 구동시키기 위하여 32.768KHz 발진을 사용한다. SPU 가 오직 밧데리 파워하에서만 동작하는 동안 매우 높은 정도의 주파수소오스를 갖는 발진기로 대체한다면, 시스템파워가 재공급될 때 마이크로 콘트롤러(3)가 턴온된 이전시간이래 경과한 불만족한 량의 시간을 검출할 수 없는 위치에 대한 소정의 펄스 수를 카운터가 카운트하는 것이 가능하다. 다양한 응용에 대한 함축적인 의미는, 정보가 실제적으로 사용되는 시간과 그러한 사용을 위하여 후속하여 충전되는 시간이 서로 거의 영향을 미치지 않는 때에 정보를 측정하는 예에서와 같이 중대하다.
클럭 변화를 검출하기 위한 종래의 해결책은 전체 시스템이 항상 업되어 동작할 것이 요구되는 문제점이 있다: 일반적으로, 그러나 비사용 시간의 파워소비를 최소화하기 위하여, 대부분의 시스템은 실시간 클럭이 밧데리로부터 계속 동작을 하는 동안은 파워를 다운시킨다. 즉, 문제는 피부시스템의 사용 없이 실시간 클럭의 변화를 검출할 수 있는 메카니즘을 만들어 내는 것인데, 이러한 메카니즘은 기밀이유로 실시간 클럭내에 완전히 포함되고 총파워의 최소한의 소비여야 한다.
본 발명에서는, 제1도를 참조하면, 이러한 문제는 ROLLOVER 신호(34)에 의해 세트되는 스태터스 레지스터(11)의 롤오버 비트의 제공에 의하여 해결된다. 이 롤오버 비트는 독출/기입 마스크되도록 구성된다. 즉, 롤오버 비트가 이미 1 로 세트될 때 롤러비트에 1 을 기입하여야만 클리어시킬 수 있으며, 이 기입은 기밀을 향상시키는 특징인 마이크로 콘트롤러(3)로부터 나타난다. 롤오버신호(34)는 상기에서 설명한 실시간클럭(5)에 의해 발생된다. 제8도에서 SC 출력(305)의 32비트는 32.768KHz 발진기와 관련되어 동작할 때 약 136년에 대응되는 232사이클에서의 캐리-오버를 나타낸다. 이것은 SPU 생산시 고려된 수명내에 잘 들어있다. 회로는 103정도 높은 32.768MHz 와 같은 것에서 클럭킹될 때마다, 발진회로에 의해 허용된 이것은 자칭 공격자가 기다리는 긴시간인 매 49.7일 마다 롤오버를 발생하고, 그 다음에도 지금 막 설명한 바와 같이 제품의 고려된 수명내에 롤오버가 발생되지 않기 때문에, 공격자는 롤오버 비트 특징에 의해 저지되지 않는다. 롤오버 비트가 지금 설명한 바와 같이 제2캐리 오버에 의해 클리어될 수 없기 때문에 제2롤오버 비트를 지원하는 것은 작용하지 않는다.
이러한 시도는 저가의 수행, 요구되는 SPU 면적이 작으며, 아직은 부가의 기밀위협이 초래되지 않은 간단한 리플카운터 구조와의 호환성등의 장점을 갖는다.
RTC 롤오버비트에 의해 제공된 기밀은 제14(a)에 도시된 일반적인 클럭보전점검에 의해 보충된다. 이 프로세스는 이 프로세스(552)에 의해 저장된 실시간클럭(5)의 이전출력을 램(8) 또는 특별한 레지스터로부터 거꾸로 독출함에 의하여 스텝 551에서 시작한다. 단조성 테스트는 현재시간과 이전저장된 출력을 비교하여 수행한다(553). 현재시간이 작으면, 기밀문제가 발생되고 신호가 발생되어(560) 처리는 종료된다(558). 현재시간이 훨씬 크면 다음 단조성 테스트를 위하여 저장된다. 다음 고정된 벤치마크 수행테스트가 유도된다(555); 이러한 형태의 많은 테스트는 종래에 잘 알려져 여기서는 언급할 필요가 없다. 테스트는 생산시간 테스팅동안 설정된 또는 이와는 달리 주어진 사이클수동안 런 타임(run tim)에 클럭되는 길이의 시스템 클럭사이클 CTTL 의 주어진 수만큼 소요된다는 것이 중요하다. 벤치마크 테스트의 종료시, 실시간클럭(5)에 의해 측정된 종료시간은 반드시 저장되어야 한다(556). 즉, 실시간 클럭(5)에 의해 측정된 벤치마크 테스트경과시간은 계산되어 CTTL(25) 클럭의 사이클수와 비교될 수 있다. 시스템클럭(2)의 초기교정 즉, 동작주파수의 설정은 그러한 비교를 허용하기 위하여 실시간클럭(5)과 시스템클럭(2)사이에 필요한 변환 인수(conversion factor)를 제공하여야 한다. 초기에서 설명한 바와같이, 시스템클럭(2)은 역시 온도에 따라 상당한 편차를 나타낸다; 즉, 시간비교는 동작허용오차를 고려하여야 한다(557). 비교가 이 허용오차 밖에서 발생되는 경우에는, 기밀문제가 제기되어져야 하고(559), 그러나 모든 경우에프로세스는 종료된다(558).
v. VRT 기밀비트 그리고 파워보전점검
VRT 기밀비트는 밧데리 파워와 시스템 파워 모두 허용전압 예를 들면 2V 이하로 동시에 벌어졌다는 것을 시스템에 알려주기 위하여 제공된다. 이러한 일이 발생될 때, 불휘발성 저장정보 뿐만 아니라 실시간클럭(5)의 시간계수는 손실된다. 본 명세서에서는 램(8)에 대한 참조는 VOUT(23)에 의해 파워가 공급된 오프칩 램이 포함된 것으로 간주될 것이다. 제1도를 참조하면, VRT 비트는 충분한 전압이 없을 때 비트가 로우로 되도록 디자인된, 풀업 또는 풀다운 저항과 같은 VPP(24)에 연결된 전압검출회로를 갖는 스태터스 레지스터(11)에서 특별한 비트로서 수행될 수 있다. 즉, VRT 비트는 파워블럭(13)에 의해 클리어되고, 스태터스 독출/기입 라인(36)을 통해 마이크로 콘트롤러(3)에 의해서만 세트된다. VRT 비트는 SPU 의 밧데리에 의해 지원된 부분상의 전체 보전점검을 수행하기 위하여 램(8)의 재기입-메모리 변경 검출코드와 결합하여 사용된다. RSA 데이타기밀 주식회사가 소유한 MD5 와 같은 알고리즘을 좀더 정교하게 수행하기 위하여, 변경 검출코드는 그 분야에 잘 알려진, 단순한 체크섬(checksum)으로부터 주기적인 과잉정보 점검(cyclic redundancy check: CRC)에 적합한 코드의 분류중 하나인데, 각각은 다른 레벨의 기밀, 충돌 및 에러복원성을 제공한다. 예를 들면, 수행이 용이한 반면, 단순한 체크섬은 동일한 전체 체크섬을 보존하는 동안 공격자가 램(8)의 내용을 과도기입하도록 커다란 자유도를 허용한다. 변경 검출코드가 사용될 때마다, 코드결과는 측정되는 램(8)을 따라 통상적으로 저장된다.
제14(b)도를 참조하여 일반파워보전 점검 프로세스(251)를 설명한다. SPU 가 파워업되면, 마이크로 콘트롤러(3)는 SPU 상의 필요한 초기동작을 수행한다(252). 그다음, 마이크로 콘트롤러(3)는 VRT 비트(253)의 상태를 확인하기 위하여 스태터스 레지스터(11)를 조사한다(253). VRT 비트가 1 로 세트되면, 램(8)의 변경 검출동작은 수행된다(254). 그다음, SPU 는 변경이 검출되었는가를 결정한다(255). 그렇지 않으면, SPU 는 정상동작상태에 있다고 말하여 질 수 있어 비밀 데이타로의 제한된 억세스를 제공하는 명령만을 수행하여야 하며(256), 그다음 프로세스는 종료된다(257).
변경이 검출되었을 경우, SPU 는 에러상태에 있으며, 기밀문제가 제기되어(258) 프로세스는 종료된다(257).
VRT 비트가 0 으로 세트되면, 램(8)의 변경검출동작은 역시 수행된다(259). 번경이 검출되지 않으면, 로우 파워상태임에도 불구하고 SPU 는 기밀상태에 있다; 다시 말하면, 램(8)이 현재 점검되더라도, 파워는 신임을 받을 수 없으며, 기밀문제가 제기되어(261) 프로세스는 종료된다(257).
최종적으로, VRT 가 0 일 때 변경이 검출되는 시나리오가 있다. -- 이러한 변경검출은 램(8)이 랜덤한 구조를 갖기 때문에 비논리적이다, 즉 제조상태에 있다고 말한다. 다음은 본 발명의 실시예에서 얻어진 응답설명으로서, 이 상태에서 가능한 응답수를 배제하는 것을 알 수 없게 된다. 본 발명의 실시예에서는, SPU 는 가장 신뢰싱있는 상태에서 동작하도륵 모든 비밀데이타영역을 제로(0)화 할 수 있으며 롬(7)에 바람직하게 저장된 시스템클럭(2)의 최저발진주파수와 같은디폴트(default)된 동작구조 파라미터를 이용할 수 있다(262). 이어서, SPU 는 제조테스트가 수행되고 구조파라미터가 세트되는 모드로 들어간다(263). 그리고, SPU 는 신뢰성을 보증하기 위하여 제조 테스트가 수행될수 있다(264). 일단 그러한 테스트가 성공격으로 되면, 키이와 같은 비밀 데이타가 로드되고, 변경 검출 코드가 램(8)의 전체 내용에 대해 수행되어 저장된다. 최종적으로, SPU 는 VRT 비트를 1 로 세트시켜 정상동작상태로 만들고(266) 프로세스가 종료된다(266).
vi.버스 모니터링방지
PDPS 로 다른 물체중에서 비밀정보를 전송하는 내부데이타 거래를 모니터하기 위한 시도를 방해하는 것을 의미하는 비밀정보를 보호하는 데 관심이 있다. PDPS 와 결합된 소자는 데이타를 입력하고 내부비밀정보를 사용하여 이 데이타에 대한 동작을 수행하여 발생된 데이터를 출력하는 입력 및 출력포트를 갖추어야 하는 것은 자명하다. 집적회로가 소자에 포함된 비밀정보를 입력 및 출력포트를 통해 추출하는 방법으로 변경되거나 또는 소자내에 랜덤고장이 이것을 발생시킬 경우, PDPS 시스템은 더이상 기밀상태로 있지 않게 된다.
비밀정보를 유지하기 위한 종래의 해결책은 그런 정보를 단일의 집적회로 칩의 한계내로 그러한 정보를 한정하거나 즉, 표준평가기구를 구비한 칩입자가 내부 칩데이터를 모니터링하여 비밀정보를 식별하는 것을 방지하는 것과 관련되어 있다. 이 한계시도는 비밀정보를 요구하는 모든 기능을 동일한 실리콘 조각에서 수행되도록 하기 위하여 고집적도를 요구하였다. 또한, 이 집적회로의 입력 및 출력포트는 비밀정보가 내부적으로 전송되는 동안은 디스에이블 될 필요가 있다. 종래의 해결책은 이미 제조된 집적회로를 변경하는 데 있어서 어려움이 있다. 반도체평가기구가 그의 정교함과 능력이 상당히 진보되었기 때문에 이것은 더이상의 경우는 아니다. 현재는 다른 부분 또는 전체 칩을 손상시킴 없이 집적회로의 일부분을 수정하는 것이 가능하다. 즉, 내부버스상에서만 비밀정보를 유지하는 소자는 입력 포트 또는 출력포트로 정보를 전송하는 것을 수정할 수 있다. 이것은 특별히 만들어진 내부 프로브를 내부버스에 연결하는 것보다. 상당히 쉬운 일이다. 집적회로내에 랜덤한 고장은 잘 알려져 유사한 시나리오를 발생시키는 것이 반복되어진다. 그러므로, 두 경우에 입력 및 포트를 모니터링하는 것은 비밀정보를 결정하도록 한다.
본 발명에서 이러한 문제와 싸울 수 있는 근거는 입력 또는 출력회로의 원래의 디자인이 내부버스상에 비밀정보를 불러오기 전에 공격 또는 랜덤한 고장에 의해 수정될 수 없다는 것을 입증하는 칩 내부로 메카니즘을 발생한다는 것이다. 이것은 임계회로 콤퍼넌트가 손상되지 않아 정확하게 동작하는 것을 확실히 하기 위하여 임계회로 구성요소에 신호를 보냄으로서 수행된다. 따라서 기밀 침해의 검출이 작용하지만, 적어도 버스는 비밀 데이타를 불러옴으로써 디스에이블된다. 또한, 비밀정보가 내부버스상에 나타날 때 극단적으로 정확하게 발생하는 랜덤 하드웨어인 장점을 갖는 비밀정보는 여러 부분으로 나타나고 작고 아마 쓸모 없는 부분만이 손상될 것이다.
SPU 는 내부 기밀버스로부터 외부버스로 데이타를 전송시켜 주기 위한 포트를 포함한다. 일실시예에서는, 수행이 입출력포트에 부가된 특별한 회로와 내부 마이크로 콘트롤러에 의해 실행되는 펌웨어의 특별한 루틴으로 초래된다. 내부 마이크로 콘트롤러는 그 포트의 출력 레지스터에 기입된 최종 데이타의 내부 복사를 유지한다; 일반적으로, 입력 레지스터만이 내부 마이크로 콘트롤러에 의해 독출될 수 있다. 기밀정보를 버스상으로 가져오기 전에, 마이크로 콘트롤러는 포트에 기입된 최종 유효 데이타가 여전히 제위치에 있다는 것을 확실히 하기 위하여 포트에 신호를 보낸다; 그렇지 않으면, 마이크로 콘트롤러는 버스상에 비밀정보를 가져오지 않는다. 유효 데이타가 제위치에 있으면, 비밀 데이타의 일부분은 버스상으로 가져와 필요에 따라 내부적으로 전송된다. 포트는 다시 유효 데이타가 입출력 포트의 출력 레지스터의 제위치에 있는가를 확실히하기 위하여 체크된다. 비밀 데이터 또는 다른 데이타가 포트에서 검출되는 경우에는, 마이크로 콘트롤러는 버스상에 다른 데이타를 가져오지 않는다. 이것은 모든 비밀정보가 내부 목적지까지 전송될 때까지 이것은 계속된다.
버스 모니터의 사용, 또는 비사용은 펌웨어로부터 콘트롤되는 프로세스이다. 제15도를 참조하면, 이 프로세스는 상세하게 설명된다. 시작시(320), 마이크로 콘트롤러(3)는 비밀 데이타가 스텝 352 에서 내부버스로 전송될 필요가 있는가를 결정한다. 그렇지 않으면, 데이타는 통상의 방법으로 버스상에 전송될 것이다(353). 비밀 데이타가 버스로 전송되면, 마이크로 콘트롤러(3)는 출력포트 레지스터를 거꾸로 독출하여 일시 저장소에 그것들을 저장한다(355). 일 실시예에서는, 비밀 데이타가 내부버스(10)로 이동되기 전에 비밀이 아닌 데이타는 테스트로서 내부버스(10)로 전송된다(356). 출력포트 레지스터는 다시 거꾸로 독출되어 이전에 거꾸로 독출되어 저장된 데이타와 비교된다(358). 그것들이 다르다는 것이 입증되면, 프로세스는 중단되고 기밀문제를 제기하고(325)스텝 362 에서 빠져 나온다. 하지만, 데이타가 동일한 경우에는 프로세스는 루프의 일부분으로서 처리되어 어떤 비밀 데이타 또는 모든 데이타가 이미 스텝 359 에서 내부 버스(10)로 전송되었는가를 결정한다. 그렇지 않으면, 비밀 데이타의 다음 부분이 스텝 360 에서 버스로 전송되어 프로세스는 스텝 357 로 거꾸로 루프되어 다시 출력포트 레지스터를 독출한다. 비밀 데이타의 모든 부분이 전송되었을 경우, 프로세스는 스텝 352 로 거꾸로 루프되어 내부버스(10)로의 데이타 전송을 좀더 콘트롤하게 된다.
이러한 시도는 어떤 특별한 반도체공정없이 상대적으로 저가의 수행이라는 장점을 갖는다. 결함된 물리적 그리고 전기적 공격 뿐만 아니라 랜덤한 고장에 대하여도 보호된다. 집적회로내에서 마이크로 콘트롤러에 의해 동작되는 펌웨어와 결합하여 다중 블록으로 수행됨으로써, 이 시스템은 고가이고 분해 모방을 하는 것이 어렵다.
vii.트립와이어 입력
버스모니터금지의 내용에서 상기에서 설명한 SPU 의 입력/출력핀의 공격에 대한 많은 문제들이 바로 이러한 종류의 공격에 암호경보 또는 트립와이어(trip wire)를 제공하는 바로 이들 핀들의 모니터링을 통하여 해결될 수 있다. 공격자는 주어진 핀을 모니터링하여 그의 기능을 결정한다. 프로그램가능한 I/O 포트(1)의 핀(32)은 이상적으로는 예상되지 않은 독출 또는 기입을 검출하는 데 적합하다. 게다가, 그들은이러한 핀(32)을 침범하는 공격자를 검출하는 데 사용될 뿐만 아니라 PCMCIA 카드내에 배열된 광검출기의 밧데리와 같은 오프-칩 외부 검출기로부터의입력으로서 사용된다.
제16도를 참조하면, 스텝 401에서 시작하는 프로세스를 상세히 설명한다. 주어진 비트, I/O 포트(1)상의 X 번째 비트가 1 로 세트된다(402). 프로세스는 동작 시스템이 I/O 포트가 체크될 시간임을 검출할 때까지 대기한다(403). 이것은 예를 들면, 핀들이 정규의 I/O 동작을 위하여 사용될 필요가 있을 때는 고려하여야 한다. 그런 시간에 도달할 때, X 번째 비트는 독출되어(404), 여전히 1 인가를 체크한다(405). 만약, 그렇다면, 프로세스는 스텝 402 의 대기상태로 복귀된다. 그렇지 않으면, 프로세스는 중단되고 기밀문제가 제기되며(406) 프로세스는 종료된다(407).
viii.소프트웨어 공격 모니터
하드웨어소자(마이크로 프로세서, PAL 등과 같은 복수 개의 구성요소를 포함하는)로 기밀 시스템을 부수는 가장 비싼 방법중의 하나는 하드웨어 소자상에 랜덤 데이타 전자공격을 장착하는 것이다. 특별히, 공격은 신호(명령, 데이타 또는 랜덤신호들)를 소자의 몇몇 구성요소의 입력이 핀으로 전송하고 동일한 또는 다른 구성요소의 출력핀들을 모니터할 수 있다. 이러한 종류의 공격은 특별한 하드웨어를 거의 필요로 하지 않으며, 공격자는 하드웨어소자에 의해 신호되거나 또는 포함된 비밀정보를 알 수 있다.
대표적인 공격전략을 설명한다. 충격자는 정상동작동안 일정주기시간에서 구성요소의 하드웨어 그리고 소프트웨어 동작을 모니터한다. 그 결과, 공격자는 하드웨어소자의 프로그램가능한 구성요소의 정상명령구조를 결정할 수 있다. 공격자는얻어진 정보에 근거한 자신의 명령 시퀀스(즉, 명령 또는 명령 오퍼레이터를 악간 변경하거나 또는 전반적으로 다른 명령을 발생함으로써)를 발생한다. 이러한 명령 시퀀스의 구성요소의 반작용은 "특성 데이타 베이스"를 형성함으로써, 기록된다. 구성요소의 동작은 이해되기 때문에, 구성요소로 송부된 신호들은 더 이상 랜덤한 것은 아니지만, 시스템의 기밀을 파괴시킬 수 있는 명령을 인식하도록 디자인된다.
마이크로 프로세서를 포함하는 하드웨어소자에서 구성요소는 최소한 공격의 최소국면동안 상당히 많은 유효하지 않은 명령을 받을 수 있다는 것을 상기 공격전략으로부터 알 수 있다. 결과적으로, 본 발명의 하나의 특징은 SPU 가 과도한 유효하지 않은 데이터의 발생을 검출하고 공격을 중지 또는 파괴시키기 위한 적절한 동작을 하는 것이다. 약간의 아주 순수한 기능은 예로써, 부팅시 컴퓨터가 모든 주변소자와 존재하고 액티브한가를 결정하기 위하여 포트를 침범할 때, 유효하지 않은 일련의 명령을 발생한다.
유효하지 않은 과도한 명령의 수를 측정하는 수단은 단위시간당 유효하지 않은 명령의 수를 결정하는 것이다. 적절한 시간단위는 다음에 의하여 결정된다: (1) RTCLK(29)와 같은 발진기에 의해 구동된 카운터의 롤오버 시간; (2) 실시간클럭(5)의 소정의 틱(tick)의 수; (3) 단위시간당 유효하지 않은 명령의 수가 소정값("제한 파라미터")을 초과하는 경우, 적절한 동작이 SPU 에 의해 취해진다.
어떤 상황에서는, SPU 가 각각 연관된 동작을 갖는 제한 파라미터들을 세트시키는 것이 더 좋을 수도 있다. 제17도는 4개의 제한 파라미터를 구비한 플로우 챠트(940)를 포함한다. 제한 파라미터의 수는 단지 예시적이며 임의 수의 제한 파라미터들이 사용될 수도 있다는 것을 명심해야 한다. 플로우챠트는 스텝 940 에서 시작하여 4개의 제한 파라미터의 각 값을 세트시킨다(942). 이어서, 플로우챠트는 블럭(946-966)으로 구성된 루프를 수행한다.
블럭(946)에서, SPU 는 명령이 유효한가를 결정한다. 명령이 유효하면, 정규방법(블록 948)으로 처리된다. 그 다음, 플로우챠트는 거꾸로 클럭 946 을 실행하여 다를 명령을 인출하여 조사한다. 명령이 유효하지 않으면, 플로우챠트(940)는 단위시간당 유효하지 않은 명령 수를 계산하는 블럭(950)으로 간다. 계산결과를 제1제한 파라미터와 비교한다(블럭 952). 결과가 제1 제한 파라미터보다 작으면, 변경-반작용 동작이 취해지지 않으며, 플로우챠트는 다시 블럭(946)으로 가서 다음 명령을 처리한다. 결과가 제1제한 파라미터보다 큰 경우, 프로세스는 제1레벨 기밀문제를 나타내는 신호를 발생한다(블럭 954).
플로우챠트는 이어서 단위시간당 유효하지 않은 데이타의 수를 제2제한 파라미터와 비교하는 클럭 956 을 실행한다. 수가 제2제한 파라미터보다 작으면, 더이상의 동작은 취해지지 않으며, 플로우챠트(940)는 다시 블럭(946)으로 가서 다음 명령을 처리한다. 수가 제2제한 파라미터보다 큰 경우, 프로세스는 제2레벨 기밀문제를 나타내는 신호를 발생한다(블럭 958).
플로우챠트(940)는 이어서 단위시간당 유효하지 않은 데이타의 수를 제3제한 파라미터와 비교하는 블록 960 을 실행한다. 수가 제3제한 파라미터보다 작으면, 더이상의 동작은 취해지지 않으며, 플로우챠트(940)는 다시 블럭(946)으로 가서 다음 명령을 처리한다. 수가 제3제한 파라미터보다 큰 경우, 프로세스는 제3레벨 기밀문제를 나타내는 신호를 발생한다(블럭 962).
플로우챠트(940)는 이어서 단위시간당 유효하지 않은 데이타의 수를 제4제한 파라미터와 비교하는 블럭 964 을 실행한다. 수가 제4제한 파라미터보다 작으면, 더이상의 동작은 취해지지 않으며, 플로우챠트(940)는 다시 블럭(946)으로 가서 다음 명령을 처리한다. 수가 제4제한 파라미터보다 큰 경우, 프로세스는 제4레벨 기밀문제를 나타내는 신호를 발생한다(블럭 966).
물론, 슈퍼바이저 프로그램이 다양한 제한 기밀문제의 신호에 대해 어떠한 스텝이 응답하는가를 결정한다. SPU 는 임의 또는 모든 적절한 동작을 취할 수 있도록 프로그램될 수 있다.
c. 프로그램가능한 기밀
프로그램가능하게 분산된 개인기밀시스템은 3개의 개념적으로는 구별되지만 그래도 상관된 시스템의 통합에 근거한다: (i) SPU 가 공격의 존재를 경계하고 특성을 특징지어 주는 검출기; (ii) 다양한 검출기로부터의 데이타를 상관시켜 비밀 데이타와 디자인자재 모드에 대한 SPU 의 보전에 대한 위험에 대하여 심한 공격을 가중시키는 필터; (iii) 환경 하에서 가장 적절하도록 필터에 의해 계산된, 공격 또는 현재의 공격에 처리하기 위한 대응책을 갖는 응답. 필터에 의한 응답선택은 SPU 의 정책을 결정한다고 말할 수 있다. 본 발명은 검출기, 필터, 응답 모두의 광범위한 능력을 이용하여, SPU 에 근거한 장치에 기밀/정책의 적절한 레벨을 프로그래밍하기 위한 상당한 정도의 유연성을 준다.
PDPS 트리오의 효과는 여기에서 개재된 SPU 구조의 다른 디자인 특성에 의해충분히 향상된다. 예들 들면, 파워블럭(13), 파워분리(130), 실리콘 방화벽(20), 시스템클럭(20) 및 실시간 클럭(5)과 반전키이저장 이러한 몇몇 특징의 수행은 검출기/필터/응답 예에 엄격히 고정되지 않는 기밀 배리어를 발생하지만, 이러한 배리어의 존재는 아주 느리거나 또는 공격자의 진보를 방해하여 상당시간 공격을 검출하는 것을 허용하고, 그런 공격의 특성을 필터링하여 거기에 대하여 상당히 측정된 응답을 한다.
i.검출
매우 다양한 검출기가 이미 발표되었다. -- 일부는 하드웨어적으로 수행되고 나머지는 펌웨어적으로 수행된다. 일부는 금속층 검출기와 같은 실제의 물리적 침입에 대한 확실한 증거가 될 수 있다: 광검출기와 같은 나머지는 SPU 의 X-선과 같은 비침입수단 또는 칩의 실제적인 탈캡슐화와 같은 강한 침입수단에 의해 트리거될 수 있다. 다시, 이 단계에서의 목적은 동작의 과정을 결정하는 것도 아니고 모든 관련된 정보를 통합하는 것도 아니다; 단순히 검출을 단순히 보고 하고 이동시키는 것이다.
제18도를 참조하면, 검출기가 일반적으로 어떻게 핸들링되는 가에 대한 프로세스가 설명된다. 프로세스는 시작되어(451), 검출기신호가 하드웨어 또는 펌웨어에 의해 발생되는 가를 결정한다(452). 이 스텝이 어떻게 처리되는가의 정확한 특성은 중요하지 않다. 여기서, 마이크로 콘트롤러(3)에 의해 발생된 인터럽트에 의해 표시되지만, 레지스터의 주기적인 폴링 또는 그 분야의 기술자에 잘 알려진 다른 등가의 방법을 아주 용이하게 근거로 할 수 있다. 제18도의 병렬구조로 도시되어 있으므로, 폼웨어와 하드웨어 검출기사이의 구분이 부적절한 어떤 레벨에 있을 수 있다. 인터럽트가 하드웨어에 의해 발생되는 경우, 스태터스 레지스터(11)는 폴된다(453). 이 수행에서, 하드웨어 검출기가 진정으로 구동되는 가를 결정하기 위한 키는 스태터스 레지스터(11)의 하나 이상의 비트가 그것이 독출되는 최종시간으로부터 변경되어야 한다는 것이다(454). 만약 그렇다면, SPU 는 프로그램된 정책에 의해 요구되는 것과 같은 동작을 한다(455). 만약 그렇지 않다면, 에러가 가상검출에 의해 검출되거나 또는 밧데리 파워하에서 SPU 의 주기적인 발생에 의한 신호와 같은 동작특징이 유효하다. 각 경우에, 정책에 의해 요구된, 주어진 에러 또는 특징과 같은 동작을 한다(460). 이와는 달리, 스텝 452 에서, 펌웨어에서 신호가 발생되면, 프로세스는 것을 발생시키는 루틴을 결정하기 시작한다(461). 그런 루틴이 유효한 것으로 입증되면(462), 다시 정책에 의해 요구된 동작을 한다(455). 그렇지 않으면, 정책에 의해 요구된 에러 또는 가능한 특징과 일치된 동작을 다시 한다(463). 여기에 개재된 다른 실시예에서, 경계경보 능력이 입증되어 프로세스가 그런 경보에 의해 야기되면(456), 프로세스는 SLEEP 신호를 발생하고(459) 종료된다(458). 그렇지 않으면, 프로세스는 인터럽트로부터 또는 사용된 특별한 수행에 따라 방법이 요구될 때마다 복귀되어(457) 종료된다(458).
ii.필터링
프로그램가능한 필터링 프로세스는 PDPS 의 핵심에 있다. 그것없이 단지 다양한 공격에 대한 하드와이어되고 무분별한 응답을 갖는다. 제19도를 참조하면, 이 프로세스는 두 단계로 구성된다: (i) 관련된 공격을 확인하기 위하여 다양한 검출기에 의해 발생된 신호를 상관하는 것(제 19(a)도, 제19(b)도, 제19(c)도; (ii) 관련된 공격에 근거하여 적절한 응답을 선택하는 것(제19(d)도, 제19(e)도, 제19(f)도). 물론 이 프로세스의 두 단계에 관련된 동작 팩터가 있다. 이러한 팩터들은 정적이고 SPU 의 장치, 구조에 본래부터 관련되거나 또는 다이나믹하게 변화하고 예를 들면 다음에 관련될 수도 있다: (i) 검출된 신호의 이전의 히스토리 또는 주파수, 응답 또는 모든 사건들; (ii) SPU 의 현재 상태; (iii) 장치의 현재 단계 또는 모드; (iv) 주어진 공격을 나타내는 전위(potential) 손상; 또는 (v) 예를 들면 주어진 세트로 부터 나오고, 특별한 순서로 발생되며, 또는 고정된 시간 프레임내에서 발생되는 팩터 또는 검출기의 결합.
검출기들이 상관되는 조건은 다음과 같다. 제19(a)도에 가상경보조건이 도시되었다. 실공격 A0502 에 대응되지 않고 신호 Da501 가 검출된다. 그러한 가상경보를 식별하는 다양한 수단이 있다. 예를 들면, 신호 Da501 를 발생하는 검출기는 제1독출이 침해되었는가를 결정하기 위하여 1번 이상 폴될 수 있다. 이와는 달리, 다른 검출기의 상태로 부터 추론된다. 그러한 시나리오는 제19(c)도의 내용에서 논의될 것이다. 제19(b)도는 신호 Db503 가 분명하게 하나의 공격 Ab504 에 대응되는 대항수단을 설명한다. 그러나, 대부분의 공격은 제로 또는 그이상의 팩터 Fc1508, Fc2509 와 결합된 하나 또는 그 이상의 검출기 DC1505, DC2506, DC3507 가 각각 주어진 공격 Ac510 을 완전히 특징짓기 위하여 요구되는 제19(c)도로서 특징지어진다.
공격에 내한 응답의 선택은 다음의 카테고리로 된다. 물론, 동작이 주어진 공격 Ad511에 대해 수행되지 않는 제19(d)에서 비응답 R0512 가 있다. 이것은 능력, 신중한 디자인 선택 및 장치결정의 부족에 기인되는 것이다. 제19(b)도의 분명한 조건과 유사한 제19(e)도에는 공격 Ac513 에 대한 무조건의 응답 Re514 이 있다. 이것은 모든 외부방어는 침범되고 약간의 명백하고 신중한 대응책이 처리될 것이 요구되는 최종-디치 시나리오가 있다. 한편, 적용결정이 될 수도 있다. 최종적으로, 제19(f)도에, 제로 또는 이상의 팩터들 Ff1517, Ff2518, Ff3519 와 결합하여 하나 또는 그이상의 공격 Af1515, Af2516이 응답 Rf520 을 선택하기 위하여 있었거나 또는 존재하는 일반적인 시나리오가 있다.
검출기신호의 상관관계 뿐만아니라 응답선택을 주문에 맞춤으로써, 프로그램가능한 기밀시스템은 적용이 될 수 있을 뿐만 아니라 특정 환경이 될 수도 있다.
ii.응답
PDPS 의 최종시스템은 풍부하고 완전한 대응책을 상상할 수 있는 공격 시나리오를 허용하기 위하여 광범위하게 다양한 응답의 제공을 포함한다. 이러한 응답은 다섯 개의 주 그룹으로 분류된다: (i) 수동적(passive); (ii) 경보; (iii) 유인능럭; (iv) 억세스 제한; (v) 파괴적(destructive). 각 예가 예시적이지만 대개 철저한 리스트를 의미하는 표 1에 주어져있다.
수동적 응답은 SPU 가 외부신호 그리고 동작의 정상모드와는 다른 관측가능한 방법의 기능을 전송하지 않는 것이다. 물론 이것은 초기에 언급된 클래식 "비-응답" 뿐만 아니라, 형태, 타임 스탬프, 내용들을 갖는 온-보드 로깅을 포함한다.
경보 응답은 실제로 외부적으로 검출가능한 신호를 전송한다. SPU 는 요구하는 장치 예를 들면 사용자에게 SPU 는 공격을 알려주고, 그러한 공격이 불연속적이 아닐 경우 아주 철저하게 측정하는 것을 계속하여야 할 것이다. SPU 가 네트웍 또는 모뎀을 통하여 모니터링 컴퓨터에 연결된 상황에서, 예를 들면 정보측정내용에서, SPU 는 국부 사용자가 그것을 공격하려고 시도하는 것을 원격 컴퓨터에게 알려주는 신호이다. 하드웨어 레벨에서, 경보는 I/O 포트(1)의 특별한 핀을 하이로 세트시킴으로써 단순히 수행될 수 있다.
유인 응답은 SPU 능력의 정상모드로부터 이탈하는 것이다. 실제로 가짜의 유효한 SPU 능력이다. 예들은 SPU 명령이 수행되도록 하거나 또는 랜덤하게 선택되고 또는 소정의 세트로 부터 신호를 버스 인터페이스(9)상에 발생되도록 한다.
제한된 억세스 응답은 SPU 동작의 정상모드로부터 기능을 디스에이블될 수도있다. 예들은 시간주기동안 SPU 를 전체적으로 디스에이블시거나 또는 어떠한 방법으로 갱신될 때까지 특정 키이 또는 암호를 포함하는 동작을 디스에이블시키는 것을 포함한다.
최종적으로, SPU 의 기능을 영구히 디스에이블시키는 파괴적인 응답이 있다. 예들은 키이 또는 다른 비밀 데이타를 소거하거니 또는 내부 퓨즈를 용융시키는 것과 같은 영원한 물리적 디스에이블로 메모리를 파괴시키는 것을 포함한다.
d.공격 시나리오
본 발명의 전체구조가 이미 설계되었으므로, 다양한 공격 시나리오, 그들이 도전되는 방법, 그들이 얻거나 또는 억세스하고자 하는 정보 또는 효과, 그러한 공격을 방해하는 SPU 의 디자인 특징, 그러한 공격에 대한 반작용과 관계된 팩터 그리고 최종적으로 공격에 대한 적절한 응답을 상세하고 풍부하게 설명한다. 이용가능한 발표된 SPU 특징, 검출기 및 응답의 요약은 표 2 에 있다. 이러한 시나리오는 대개 철저하지만 단지 예시적이다. 달리 규정되지 않은 다른 모든 참조는 제1도의요소이다.
i.I/O 포트에 대한 전기적 공격
틀림없이, 가장 간단한 공격형태는 I/O 포트(1)에 대한 전기적인 공격일 것이다. 이런 형태의 공격은 아주 작은 특정의 하드웨어를 요구한다. 공격자는 단순히 정상장치에 사용된 동일한 시스템 구조를 사용하지만, 고안된 소프트웨어를 사용하는 대신 공격자는 소자를 침입하기 위하여 자신의 코드를 발생한다. 공격자는 한 스텝 더 갈 수 있으며, 모니터링 장치를 회로 예로서 SPU 핀 또는 PAL 출력의 전략포인트에 놓는다. 이것은 공격자가 정상상태 그리고 공격중에 있을 때 칩을 좀더 철저하게 특징화시키도록 한다.
대표적인 시도는 정상동작동안 시간주기동안 하드웨어 또는 소프트웨어를 모니터하도록 한다. 이로부터 공격자는 정상명령 시퀀스를 결정한다. 이러한 특징화후, 공격과는 그가 얻었던 정보에 근거한 그 자신의 명령 시퀀스를 만든다. 그는 소자가 다른 기능을 수행하도록 명령 또는 명령 연산자를 약간 변경하려고 노력할 것이다. 그는 역시 소자가 어떻게 반작용하는가를 알기 전에는 알 수 없는 명령을 내릴 것이다. 이 프로세스동안 모든 공격자는 다른 자극에 대한 응답을 녹화하고 있을 것이다. 패턴이 검출될 때, 소자에 내려진 데이타는 더이상 랜덤하지 않지만, 특별한 동작을 좀더 평가하도록 디자인된다. 이것은 특별한 동작이 완전히 특징지어질 때까지 지속된다. 공격자의 의도는 모든 시스템을 파괴시킬 수 있는 명령 또는 응답을 확인할 것이다. 예를 들면, 공직자는 리세트 동작명령을 기다려서 부적절한 때에 그러한 명령을 내릴 것이다.
실리콘 방화벽(20)은 시스템을 지배하는 공격자로부터의 비동기 신호를 금지한다. 소프트웨어 공격 모니터(제17도)는 전체 특징화 프로세스에 아주 민감하다. 소프트웨어 공직 모니터의 측정된 스테이지에 따라 가능한 적절한 응답은 랜덤 응답 또는 SPU 의 실제적인 디스에이블로 공격자가 길을 잃도록 유도할 것이다.
ii.클럭공격
SPU 의 많은 장치들이 실시간클럭(5)을 유익하게 사용할 수 있다. 그러나, 실시간클럭(5)은 다양한 방법으로 공격받을 수 있다. 외부 발진기(15)는 RTC 발진기(15)와 내부 실시간클럭(5)의 주파수를 변경시켜 주기 위하여 대체된다. SPU 는SPU 가 보전업무를 수행하도록 디자인되는데, 보전업무중 하나는 정확한 영역에서 동작하고 있는가(제14(a)도)를 알기 위하여 시스템 클럭(2)에 대하여 실시간클럭(5)을 체크하는 것이다. 그러나, 일실시예에서는 이러한 보전업무가 전체 시스템이 파워가 공급될 때만 수행되어진다; 시스템 파워 VDD 가 제거될 때, 밧데리에 의해 지원된 실시간클럭(5)이 동작상태로 남아있을 때, 직접적인 검출없이 공격자가 외부클럭(15)을 공격할 수 있는 기회이다. 실시간클럭(5)이 간단한 2진 리플카운터가 사용되기 때문에, 공격자는 롤오버될 때까지 카운터를 앞서게 된다. 이어서, 공격자는 계속하여 원하는 주어진 독출시간보다 클럭이 앞서도록 한다. 이것은 나쁜 사용자가 사용된 차의 주행기록계를 리세트시키는 것과 유사하다.
공격에 대한 내부 시스템클럭(2)과 내부 실리콘 방화벽(20)을 통해 시간신호를 버퍼링하는 실시간 출력(5)의 불접근은 확실히 공격자의 방법에 배리어로서 작용한다. 제14(a)도의 시스템클럭/실시간클럭의 크로스체크는 파워업시 변화를 검출한다. SPU 를 냉각시키거나 또는 카열함으로써 시스템클럭을 셋 오프시키기는 것을 시도하는 경우, 온도 검출기는 그러한 시도를 폭로할 뿐만 아니라 지금까지는 성공적인 동작허용한계를 벗어나 실제적으로 실패하는 크로스체크를 폭로한다. 게다가, 실시간 클럭(5)을 롤오버하도록 시도하는 공격자는 ROLLOVER 신호(34)를 오프시킨다. 가능한 응답은 실시간 클럭 대신 범위가 클럭이 신뢰성 있음을 입증할 때마다 시스템클럭(2)이 사용되도록 한다. 그러나, 그런 선택은 정보측정상황에서 매우 의존하는 장치이다. 좀더 있음직한 응답은 보든 측정 기능을 디스에이블시키게 된다.
iii.키이 공격
비밀정보는 롬(7)보다는 SPU 내의 램(8)과 같은 불휘발성 메모리에 저장된다. 이것은 간단히 SPU 칩을 탈캡슐화하고 개요를 "독출"함으로써 공격자가 이런 정보에 접근하는 것을 방지하기 위하여 행하여진다. 그러나, 키이 또는 다른 비밀정보가 칩내의 불휘발성 메모리에 저장되어 있는 경우, 칩을 디프로세스하고 불휘발성 메모리에 저장된 정보를 누설하는 불휘발성메모리에 남아있는 전하를 검출할 수 있다. 디프로세싱의 동작은 파워를 불휘발성 메모리로부터 제거시키고, 즉 반도체내에 전하가 방전되기 때문에, 메모리내의 데이터를 소실시킨다. 그러나, 불휘발성 메모리가 연장된 시간주기동안 동일한 데이타를 포함하는 경우, 파워의 제거에도 불구하고 검출에 적합한, 전하가 메모리셀의 유전체 부분에 형성된다. 역시, 전압을 증가시키고 실리콘의 동작온도를 변화시켜, 즉 SPU 가 좀더 메모리 효과에 영향을 받도록 하여 메모리 소자를 인위적으로 노화시키는것이 가능하다.
초기에 언급한 바와 같이, 반전 키이저장 특징(제9도, 제10도)은 남아있는 전하를 평균화하여 그러한 키이의 공격을 방해할 수 있다. 탈캡슐화 프로세스는 금속층의 존재하에 좀더 어려움을 제공하고, 금속층 검출기(18)는 그층이 절단되는 순간 셋 오프된다. 램(8)으로부터 내부버스(10)를 통해 DES 블럭(6)으로 키이의 일부분만을 전송하는 버스 모니터 금지의 프로도콜(제15도)은 키이를 추적할 뿐만 아니라 그런 시도를 누설하는 것을 방해한다. 최종적으로 파괴시키기 위하여 사용가능한 응답은 기밀 관심이 배우 높고 또는, 갑작스런 급습에서 키이 또는 다른 사용으로 부터 비밀 데이타를 디스에이블시킨다. 활성 제로화는 소거 프로세스가 종료되었음을 확실하기 위하여 사용된다.
iv.물리적인 공격
공격자는 그것을 분해 모방하기 위하여 칩을 탈 캡슐화하는 것을 시도한다. 칩 레이아웃의 단순한 관찰은 그 분야의 경험있는 자가 마이크로 콘트롤러(1), I/O 포트(1), 메모리 등이 어디에 위치해 있는가를 결정하도록 한다. 칩의 족보를 인식하는 것 즉, 족보로부터 제조업자, 일련번호 및 그로부터 이전 칩을 아는 것은 역시 기능의 분해능에 도움을 준다. 칩 디자인 매크로를 통해 정규 패턴에서 알려지고 정상적으로 배치되었다면, 칩의 커다란 영역을 필요로 하는 수단은 분해 모방될 수 없다. 칩 레이아웃의 상세한 해상력은 칩의 분해 모방을 발생시키고, 오늘날의 기술로 이 프로세스는 $100,000 만큼의 가격이 든다.
반도체 산업 평가기구는 지금 프로세싱이 종료된 후 집적회로에 편집시키는 능력을 제공한다. 예를 들면, 포커스된 이온 빔 밀 기술(Focused Ion Beam Mill technology)은 장비가 집적회로의 표면에 물질을 선택적으로 제거하거나 증착할 수 있다는 점에서 진보되었다. 이러한 소자는 금속층과 산화막을 제거할 수 있으며, 집적회로의 표면에 금속층을 역시 배치할 수 있다. 이러한 소자들은 로직 게이트를 연결하는 트레이시를 절단하고 다른 방법으로 로직 게이트를 다시 연결함으로써 집적회로를 표면상으로 디버그하는 데 사용된다. 내부 탐침(probe)을 배치할 수 있다; 그러나, 존재하는 I/O 포트를 변경하는 것이 덜 어렵고 덜 비싸다.
이런 종류의 공격은 먼저 SPU 상에 물리적 코팅 그 다음 금속층에 의해 방해된다; 칩 레이아웃을 확실히하는 프로세스를 어렵게 하고 SPU 내의 노드에 테스트 탐침의 연결을 정확히 하는 동작. 그런 공격은 금속층 검출기(18)를 트리거하고 시스템 파워 VDD(22)하에서 회로를 동작시키는 것은 버스 모니터링 금지(제15도)를 트리거할 것이다. 상기에서 주어진 동일한 응답은 아주 적절할 것이다. 연마를 통한 탈 캡슐화의 실제적인 동작은 충분히 가열하여 온도 검출기(17)를 트리거할 수 있을 뿐만 아니라 진동 검출기를 세트 오프시키며, 전체적으로 어두운 곳에서 행하여지지 않는 한, 다시 다이의 노출은 광검출기(16)를 셋 오프시키게 된다. 키이와 비밀 데이타를 디스에이블시키거나 또는 파괴시키는 것은 그러한 시나리오에 대한 가장 적절한 응압일 것이다.
v.조합 공격
디프로세싱은 먼저 탈캡슐화를 필요로 하고 이온 탐색 장치(ion probing station)에, 파워 하에 칩을 위치시키는, 정교한 프로세스이다. 그런 기계는 동작 특성을 결정하는 칩의 다른 부분에서 전위를 실제적으로 검출할 수 있다. 탐침은 금속층을 통해 관찰할 수 없다: 이것은 오로지 그러한 기계의 속도를 떨어뜨리는 역할을 한다. 기계는 역시 금속층을 제거하여 이전의 기밀영역을 노출시키는 역할을 한다. 공격자는 비밀정보를 억세스하기 위한 시도를 하기 전, 금속층에서의 끊어진 트레이스를 다시 연결하려고 시도할 것이다.
공격은 실제 모든 SPU 보호특징에 의해 속도가 떨어져 이전에 언급한 모든 검출기를 실제적으로 트리거하고 확실히 논의된 응답에 의해 좌절된다. 결코 절대적인 기밀을 보장할 수 없으나, 여기에서처럼 방어의 전 영역에 지배되는 SPU 는 고려된 여러 타입의 장치에 대하여 공격자가 많은 시간과 돈을 소요하여 무의미한 시도를 하도록 한다.
vi.사용자 사기
사용자 사기의 공격은 SPU 를 분해 모방하는 것은 아니다: 그것은 주로 호환성 있거나 또는 경쟁력있는 SPU 제품을 재생산하고자 하는 부분의 영역이다. 부정한 사용자는 대신 사기 시나리오일 것 같은 정보측정소자를 통하여 사용된 정보의 의도된 사용 즉, 지불되지 않거나 또는 전체적으로 지불되지 않은 사용외에 존재하는 SPU 를 일체화한 장치를 사용하고자 원하였다. 그러한, 사용자는 클럭을 롤오버하는 간단한 동작을 시도하거나 또는 다양한 동작 상태로 소자를 리세트시킴으로써 사용자는 사용보고 또는 측정과 인터페이스를 희망한다. 게다가, 역시 정보측정단계에 있어서, 다량 구매후 램(8)을 구매전의 동일한 램(8)의 내용으로 오버 기입을 시도함으로써, 사용자는 그러한 거래의 궤적을 소거하고자 한다.
메카니즘, 방화벽(20)과 소프트웨어 공격 모니터(제17)의 파워를 업 그리고 다운시키는 파워블럭(13)은 공격자에게 전에 설명한 바와 같이 SPU 를 부적당한 리세트에 의해 예견할 수 없거나 믿을 수 없는 상태로 만들 수 있는 기회를 아주 조금 제공한다. ROLLOVER신호(34)의 보호와 클럭 크로스점검은 이미 잘 설명되어져 있다.
정보측정단계에 있어서, 사용은 SPU 를 고장내는 이전-세트된 선용제한에 근거하고, 신용제한은 이미 사용되어졌다고 가정되며, 측정기능은 디스에이블된다. 서비스 대리인이 그것이 변형되었다는 것을 입증하고 이후 서비스 대리인이 SPU 소자를 재확인하는 것마다 장치를 물리적으로 복귀시킴으로써 사용자는 이러한 가정을 극복할 수 있다.
e.샘플 SPU 장치
SPU 의 구조, 검출기의 특성, PDPS 의 검출/필터링/응답예, 예산된 공격 특성은 논의되어졌으므로, 본 발명의 원리를 설명하는 샘플 장치를 통해 진행하는 것이 유용하다. 이 목적을 위하여 가장 적당한 장치가 요구된다: 디지탈 금고를 제공하기 위한 단독 기능을 갖는 SPU가 장착된 PCMCIA 와 "엑세스 카드" 의 사용. 전체적으로 상당량의 돈이 프로그램되고, 프로그램된 신용이 떨어질 때까지 다양한 거래의 PIN 번호의 사용을 통해 지불되는 단순한 지불형태의 카드를 동작시킨다.
이러한 억세스카드의 검출/필터링/응답 프로세스는 제20도에 도시되었다. 대개 함축적이고, 반드시 사실적으로 실제적은 아니지만 단순히 예시적인 프로그램가능한 기밀에 따라 위치한 장치에 규정된 요구일 것을 의미하는 것은 아니다. 여기의 참조문헌은 다른 구성 또는 제1도의 특별한 요소로 만들어질 수 있다. 프로세스는 시작하여(1001) 검출기가 셋 오프되었는가를 결정한다(1002). 그렇지 않으면, 프로세스는 1002 로 다시 루프되어 그사이에 장치에 필요한 다른 임무를 적절하게 수행한다.
만약 광검출기가 셋오프되었을 경우(1004), 다음 질문은 시간주기동안 그러한 검출이 유지되었는가이다. 예를 들면, 억세스 카드는 공항에서 간단하게 X-선 기계를 통과한다. 그러한 노출은 매우 짧은 기간이다. 그러한 노출이 유지되지 않으면, 사건은 로그되어(1042), 프로세스는 콘넥터(1043, 1003) (이후 콘넥터에 대한 모든 참조는 명확성을 위하여 불필요하다)를 통해 스텝 1002 으로 간다. 노출이 유지되면, 다음 질문은 이검출이 오프되는 다른 검출기와 접속되었는가이다. 이것은 초기에 논의된 많은 공격 시나리오의 확인이다. 유지된 광검출이 분리되었다면, 신중한 스텝이 다음 대리인에 의해 재입증될 때까지 억세스 카드를 디스에이블시켜야 하는 것이 스스로 충분히 의심스러우며, 이후 다음 동작이 취해질 때까지 프로세스는 스텝(1002)로 다시 루프된다. 그러나, 오프되는 다른 검출기와의 조합되었을 경우, 억세스 카드를 영구히 디스에이블시키는 것이 최고이며(1036), 프로세스는 거기에서 종료한다(1037).
만약 온도 검출기가 셋오프되었다면(1005), 오프되는 다른 검출기와 접속되었는가를 질문하는 것만이 필요하다. 이것은 예를 들면 사용자가 현금 카드를 오후내내 자동차의 계기반에 놓아두었을 경우, 억세스 카드가 무해의 이유로 높은 열에 의해 영향을 받는다는 점에서 광검출기(17)의 시나리오와 다르다. 즉, 장치는 단지 유지된 고온에 대하여 좀더 관대하게 된다. 그런 경우에, 프로세스는 사건을 단순히 로그하여(1042), 다시 스텝 1002 로 간다. 오프되는 다른 검출기와의 조합되었을 경우, 스텝1036 에서 억세스 카드를 영구히 디스에이블시키는 것이 참으로 현명하다.
만약 금속층 검출기가 셋오프되었다면(1005) 그러한 사건에 대한 가혹한 정책을 제외한 어느 것을 입증하는 것은 어려워, 억세스 카드를 영구히 디스에이블시킨다(1036). 예외는 금속층 검출기(18)는 민감하여 억세스 카드에 의해 만들어지는 심한 공격을 입증하기 위하여 다른 검출기와 상관되어되는 LATN 셀 타입(제13도)이다.
ROLLOVER 신호(34) 또는 클럭보전점검(제14(a)도)중 하나가 트리거된다면(각각 스텝 1008, 1009), 이것은 단순히 시간에 민감한 장치가 아니기 때문에, 단순히 그것들을 무시하여 (1028), 스텝 1002 로 다시 루프되는 것이 안전하다.
파워보전점검(제14(b)도)이 트리거될 경우(1010), 두개의 상황이 가능하다: (i) 에러상태 또는 (ii) 로우파워상태. 에러상태에서, RAM 의 내용은 더이상 신뢰할 수 없어, 억세스 카드를 영구히 디스에이블시킨다(1036). 로우-파워 상태에서, 램(8)의 내용은 여전히 신뢰할만 하지만 밧데리 파워가 즉시 고장나 신용이 즉시 다른 억세스 카드로 전송되지 않을 경우 회복할 수 없이 손실되는 효과에 대한 메세지를 사용자에게 전송한다(1026). 후자의 경우, 프로세스는 다시 스텝(1002)으로 다시 루프된다.
버스 모니터(제15도) 또는 트립 와이어입력(제16)중 하나가 트리거될 때, 억세스 카드를 영구히 디스에이블시키는 것(1036)보다 다른 것을 하는 것이 다소 정당한 것으로 보여진다.
소프트웨어 공격 모니터(제17도)가 트리거될 때(1014), 논리적인 제1스텝은 억세스 카드가 여전히 변경단계에 있는가를 결정하는 것이다(1016). 이것은 예를 들면 억세스 카드가 카드판독기로 삽입되어 적당한 링크가 카드와 카드 판독기사이에 설치될 때까지 다양한 프로토콜이 시도되었다. 다시 말하면, 이 "변경" 프로세스는 신중한 기밀 고려사항으로부터 배제된다. 그후, 억세스 카드를 포커스시켜 주기 위한 특별히 중요한 명령은 사용자에 의해 제기된 적당한 PIN 번호이다. 즉, 적당한 명령의 제1시간이 한 거래의 주기내에 주어졌을 경우(1018), 프로세스는 단순히 사건(1042)으로 로그된다. 적당한 명령의 제2시간이 한 거래의 주기내에 수신되면(1020), 억세스카드는 다시 그것을 수행하지 않도록 그것들을 경고하는 메세지를 사용자에게 제기되고(1024), 프로세스는 다시 스텝1002 로 루프된다. 적당한 명령의 제3시간이 한 거래의 주기내에 수신될 때(1021), 억세스 카드는 적당한 대리인에 의하여 재확인이 있을 때까지 디스에이블된다(1039); 그렇지 않으면, 그것은 영구히 디스에이블된다(1036).
그 어느 검출기도 트리거되지 않았을 경우, 프로세스는 다시 스텝 1002 으로 루프되어 다른 검출신호를 대기한다.

Claims (9)

  1. 민감한 정보를 처리하고 잠재적인 공격에 대하여 정보를 기밀로 유지하는 기밀칩에 있어서,
    (a) 칩 상에서 수행되는 기능을 동기화시키는 내부 시스템 클럭; 및
    (b) 칩에 의해 수신된 모든 비동기 외부신호를 내부 시스템 클럭에 동기시키는 외부신호 동기장치를 포함하여서,
    칩이 비동기 외부신호의 수신에 의해 불명한 상태로 되지 않도록 하는 것을 특징으로 하는 기밀 칩.
  2. 제1항에 있어서, 외부신호 동기장치는 내부 시스템 클럭에 의해 결정된 선택된 시간에서만 신호를 허용하고 사용하여 비동기 외부신호를 동기화시키는 것을 특징으로 하는 기밀 칩.
  3. 민감한 정보를 처리하고 잠재적인 공격에 대하여 정보를 기밀로 유지하는 기밀 칩에 있어서,
    (a) 칩의 구성요소들 간에 정보를 전송하기 위한 내부버스;
    (b) 칩의 내부 구성요소와 외부 장치 사이에 정보를 전송하기 위한 입/출력 포트; 및
    (c) 내부버스를 따라 정보의 전송 전후에 입/출력포트의 내용을 주기적으로비교하기 위한 버스 모니터를 포함하여서,
    칩이, 내부버스를 따라 전송된 민감한 정보의 입/출력포트로의 인가받지 않은 경로변경을 검출할 수 있는 것을 특징으로 하는 기밀 칩.
  4. 제3항에 있어서, 버스모니터는
    (a) 내부버스를 따라 전송될 것이 요구되는 민감한 정보의 전부 이하의 제1전송; 및
    (b) 상기 제1전송에 이어서, 입/출력포트의 내용의 변화가 검출되지 않을 경우, 잔존하는 민감한 정보의 제2전송
    의 전과 후에 입/출력포트의 내용을 비교하여서,
    칩이, 내부버스를 따라 전송된 민감한 정보의 입/출력포트로의 인가받지 않은 경로변경을 효과적으로 방지할 수 있는 것을 특징으로 하는 기밀 칩.
  5. 민감한 정보를 처리하고 잠재적인 공격에 대하여 정보를 기밀로 유지하는 기밀 칩에 있어서,
    (a) 실제적으로 지속적인 외부 클럭 주파수를 갖는 외부 클럭 발진기에 의해 제어되는 실시간 클럭;
    (b) 소정의 정확도 범위내의 사이클 주파수를 가지며, 칩 상에서 수행되는 기능을 동기시키는 내부 시스템 클럭; 및
    (c) (i) 칩이 소정수의 내부 클럭 사이클과 내부 시스템 클럭의 정확도 범위에 근거한 예상된 외부 클럭 사이클의 소정 범위를 요구하는 기준동작을 수행하도록 하고,
    (ii) 경과된 실제 외부 클럭 사이클의 수가 예상된 외부 클럭 사이클의 범위 내에 있는지 여부를 기준 동작 수행 동안 실제 외부 클럭 사이클마다 경과된 내부 클럭 사이클의 수로부터 결정하는 클럭 보전 점검을 포함하여서,
    칩이 외부 클럭 주파수의 인가 받지 않은 변경을 검출할 수 있는 것을 특징으로 하는 기밀 칩.
  6. 민감한 정보를 처리하고 잠재적인 공격에 대하여 정보를 기밀로 유지하는 기밀 칩에 있어서,
    (a) 실질적으로 지속적인 외부 클럭 주파수를 갖는 외부 클럭 발진기에 의해 제어되고 경과된 외부 클럭 사이클의 수를 계수하기 위한 카운터를 구비한 실시간 클럭;
    (b) 실시간 클럭 카운터가 롤오버되었는가를 검출하는 롤오버 검출기; 및
    (c) 실시간클럭 카운터의 롤오버 검출시 세트되는 롤오버 비트를 포함하여서,
    카운터를 롤오버 시키기에 충분한 외부 클럭 사이클의 수를 요구할 것으로 예상되지 않는 동작 중에 롤오버 비트가 세트될 경우, 칩이 외부 클럭 주파수의 인가받지 않은 변경을 검출하는 것을 특징으로 하는 기밀 칩.
  7. 민감한 정보를 처리하고 잠재적인 공격에 대하여 정보를 기밀로 유지하는 기밀 칩에 있어서,
    (a) 민감한 정보를 저장하기 위한 재기입가능한 메모리;
    (b) 시스템 파워 및 밧데리 파워의 손실이 임박함을 검출하는 파워손실 검출기; 및
    (c) 상기 재기입가능한 메모리로의 민감한 정보의 로딩에 의해 세트퇴고 파워 손실의 검출에 따라 리세트되며, 상기 재기입가능한 메모리로의 민감한 정보의 로딩에 이어 시스템 파워 및 밧데리 파워가 충분한가를 지시하기 위한 VRT 비트를 포함하여서,
    칩이 시스템 파워 및 밧데리 파워의 실제적인 손실 이전에 민감한 정보의 저장에 대한 요구를 검출할 수 있는 것을 특징으로 하는 기밀 칩.
  8. 제1항에 있어서, 재기입가능한 메모리의 변경을 검출하기 위한 재기입가능한 메모리 변경 검출기를 더 포함하여서, 칩이 민감한 정보의 재기입가능한 메모리로의 재로드에 대한 요구를 검출할 수 있는 것을 특징으로 하는 기밀 칩.
  9. 민감한 정보를 처리하고 잠재적인 공격에 대하여 정보를 기밀로 유지하는 기밀 칩에 있어서,
    (a) 실제적으로 일정 값을 갖는 민감한 정보를 저장하기 위한 재기입가능한 메모리;
    (b) 재기입가능한 메모리의 각 셀의 내용을 주기적으로 반전시키는 메모리 인버터; 및
    (c) 재기입가능한 메모리의 각 셀의 내용이 실제상태 또는 반전된 상태인가를 나타내는 메모리 상태 비트를 포함하여서,
    재기입가능한 메모리의 내용이 민감한 정보의 일정 값의 잔존표시를 효과적으로 포함하지 않는 것을 특징으로 하는 기밀 칩.
KR1019960701013A 1994-06-28 1995-05-05 암호및변경검출기능을갖는기밀데이타프로세서 KR100341665B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/267,788 1994-06-28
US08/267788 1994-06-28
US08/267,788 US5533123A (en) 1994-06-28 1994-06-28 Programmable distributed personal security
PCT/US1995/005582 WO1996000953A2 (en) 1994-06-28 1995-05-05 Secure data processor with cryptography and tamper detection

Publications (2)

Publication Number Publication Date
KR960705284A KR960705284A (ko) 1996-10-09
KR100341665B1 true KR100341665B1 (ko) 2002-11-29

Family

ID=23020117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960701013A KR100341665B1 (ko) 1994-06-28 1995-05-05 암호및변경검출기능을갖는기밀데이타프로세서

Country Status (5)

Country Link
US (1) US5533123A (ko)
EP (2) EP0965902A3 (ko)
KR (1) KR100341665B1 (ko)
DE (1) DE69519662T2 (ko)
WO (1) WO1996000953A2 (ko)

Families Citing this family (236)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5453601A (en) 1991-11-15 1995-09-26 Citibank, N.A. Electronic-monetary system
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US5805706A (en) 1996-04-17 1998-09-08 Intel Corporation Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format
US5943297A (en) * 1994-08-19 1999-08-24 Hewlett-Packard Co. Calendar clock circuit for computer workstations
US7613659B1 (en) 1994-11-28 2009-11-03 Yt Acquisition Corporation System and method for processing tokenless biometric electronic transmissions using an electronic rule module clearinghouse
US20040128249A1 (en) 1994-11-28 2004-07-01 Indivos Corporation, A Delaware Corporation System and method for tokenless biometric electronic scrip
US7882032B1 (en) 1994-11-28 2011-02-01 Open Invention Network, Llc System and method for tokenless biometric authorization of electronic communications
US7248719B2 (en) * 1994-11-28 2007-07-24 Indivos Corporation Tokenless electronic transaction system
US6154879A (en) * 1994-11-28 2000-11-28 Smarttouch, Inc. Tokenless biometric ATM access system
US6950810B2 (en) * 1994-11-28 2005-09-27 Indivos Corporation Tokenless biometric electronic financial transactions via a third party identicator
US6397198B1 (en) * 1994-11-28 2002-05-28 Indivos Corporation Tokenless biometric electronic transactions using an audio signature to identify the transaction processor
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
ATE419586T1 (de) 1995-02-13 2009-01-15 Intertrust Tech Corp Systeme und verfahren zur gesicherten transaktionsverwaltung und elektronischem rechtsschutz
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5796841A (en) * 1995-08-21 1998-08-18 Pitney Bowes Inc. Secure user certification for electronic commerce employing value metering system
US5915020A (en) * 1995-11-21 1999-06-22 Hughes Electronics Corporation Portable satellite earth station
US5720034A (en) * 1995-12-07 1998-02-17 Case; Jeffrey D. Method for secure key production
US5774870A (en) 1995-12-14 1998-06-30 Netcentives, Inc. Fully integrated, on-line interactive frequency and award redemption program
US7536331B1 (en) * 1996-01-02 2009-05-19 Robert W. Fletcher Method for determining the risk associated with licensing or enforcing intellectual property
IL117085A (en) * 1996-02-08 2005-07-25 Milsys Ltd Secure computer system
US20010011253A1 (en) 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5751595A (en) * 1996-03-14 1998-05-12 International Business Machines Corporation Method for building and verifying authenticity of a rule system
US5883956A (en) * 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
US6078848A (en) * 1996-07-27 2000-06-20 Lexitech, Inc. Browser kiosk system
US5761071A (en) * 1996-07-27 1998-06-02 Lexitech, Inc. Browser kiosk system
US6272538B1 (en) * 1996-07-30 2001-08-07 Micron Technology, Inc. Method and system for establishing a security perimeter in computer networks
US6993582B2 (en) * 1996-07-30 2006-01-31 Micron Technology Inc. Mixed enclave operation in a computer network
FR2755267B1 (fr) * 1996-10-31 1998-12-24 Solaic Sa Procede de securisation d'un procede d'authentification utilisant un algorithme a cle secrete
US6028939A (en) * 1997-01-03 2000-02-22 Redcreek Communications, Inc. Data security system and method
DE69822536T2 (de) * 1997-01-30 2005-01-27 Motorola, Inc., Schaumburg Schaltung und Verfahren zum Verriegeln einer Bitleitung in einem nichtlflüchtigem Speicher
US6260149B1 (en) * 1997-02-12 2001-07-10 Intel Corporation Method and apparatus for logic and power isolation during power management
US6216233B1 (en) 1997-02-12 2001-04-10 Intel Corporation Maintaining a memory while in a power management mode
US5861662A (en) * 1997-02-24 1999-01-19 General Instrument Corporation Anti-tamper bond wire shield for an integrated circuit
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6330608B1 (en) 1997-03-31 2001-12-11 Stiles Inventions L.L.C. Method and system of a computer system for establishing communications between a service provider and a central service factory and registry in a computer system
US6272637B1 (en) * 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
US6101255A (en) * 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
US6385723B1 (en) * 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
US7039802B1 (en) * 1997-06-06 2006-05-02 Thomson Licensing Conditional access system for set-top boxes
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
EP0893751A1 (en) * 1997-07-18 1999-01-27 Irdeto B.V. Integrated circuit and method for secure data processing by means of this integrated circuit
US6212635B1 (en) 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
US6112181A (en) 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
JPH11191149A (ja) * 1997-12-26 1999-07-13 Oki Electric Ind Co Ltd Icカード用lsiおよびその使用方法
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
EP1056015A4 (en) * 1998-01-21 2005-01-05 Tokyo Electron Ltd MEMORY DEVICE, DEVICE AND DECOMPOSITION DEVICE AND ACCESS PROCESS FOR NON-VOLATILE MEMORY
IL123028A (en) * 1998-01-22 2007-09-20 Nds Ltd Protection of data on media recording disks
US6292898B1 (en) 1998-02-04 2001-09-18 Spyrus, Inc. Active erasure of electronically stored data upon tamper detection
US6980670B1 (en) * 1998-02-09 2005-12-27 Indivos Corporation Biometric tokenless electronic rewards system and method
GB2381911B (en) * 1998-05-06 2003-06-25 Prc Inc Dynamic system defense for information warfare
US6408391B1 (en) * 1998-05-06 2002-06-18 Prc Inc. Dynamic system defense for information warfare
US6282658B2 (en) 1998-05-21 2001-08-28 Equifax, Inc. System and method for authentication of network users with preprocessing
US6263447B1 (en) 1998-05-21 2001-07-17 Equifax Inc. System and method for authentication of network users
US6321339B1 (en) 1998-05-21 2001-11-20 Equifax Inc. System and method for authentication of network users and issuing a digital certificate
CN100530025C (zh) * 1998-05-29 2009-08-19 西门子公司 处理数据的方法和装置
US20030118190A1 (en) * 1998-05-29 2003-06-26 Siemens Aktiengesellschaft Method and apparatus for processing data where a part of the current supplied is supplied to an auxiliary circuit
EP1018733B1 (en) * 1998-07-22 2003-09-10 Matsushita Electric Industrial Co., Ltd. Digital data recording device and method for protecting copyright and easily reproducing encrypted digital data and computer readable recording medium recording program
US6374358B1 (en) * 1998-08-05 2002-04-16 Sun Microsystems, Inc. Adaptive countermeasure selection method and apparatus
EP0984403A1 (en) * 1998-09-01 2000-03-08 Mindport B.V. Security system
US6385727B1 (en) * 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
JP2002529928A (ja) * 1998-11-05 2002-09-10 インフィネオン テクノロジース アクチエンゲゼルシャフト Ic集積回路用保護回路
US6594760B1 (en) * 1998-12-21 2003-07-15 Pitney Bowes Inc. System and method for suppressing conducted emissions by a cryptographic device
US7209889B1 (en) 1998-12-24 2007-04-24 Henry Whitfield Secure system for the issuance, acquisition, and redemption of certificates in a transaction network
US6553496B1 (en) * 1999-02-01 2003-04-22 Koninklijke Philips Electronics N.V. Integration of security modules on an integrated circuit
US6145035A (en) * 1999-02-25 2000-11-07 Dallas Semiconductor Corporation Card cradle system and method
ATE237167T1 (de) * 1999-05-21 2003-04-15 Infineon Technologies Ag Verfahren zur verhinderung widerrechtlicher benutzung von chipkarten
ATE378646T1 (de) * 1999-06-01 2007-11-15 Infineon Technologies Ag Schutzschaltung
US6598165B1 (en) * 1999-06-18 2003-07-22 Phoenix Technologies Ltd. Secure memory
US6981155B1 (en) * 1999-07-14 2005-12-27 Symantec Corporation System and method for computer security
AU6103900A (en) * 1999-07-14 2001-01-30 Recourse Technologies, Inc. System and method for preventing detection of a selected process running on a computer
US7117532B1 (en) * 1999-07-14 2006-10-03 Symantec Corporation System and method for generating fictitious content for a computer
US7203962B1 (en) * 1999-08-30 2007-04-10 Symantec Corporation System and method for using timestamps to detect attacks
WO2001020559A1 (en) * 1999-09-14 2001-03-22 Neopost Inc. Method and apparatus for user-sealing of secured postage printing equipment
DE19947574A1 (de) * 1999-10-01 2001-04-12 Giesecke & Devrient Gmbh Verfahren zur Sicherung eines Datenspeichers
GB2355323A (en) * 1999-10-05 2001-04-18 Authoriszor Ltd Information security profile and policy system
US6970850B1 (en) * 1999-10-27 2005-11-29 Automated Business Companies Proximity service provider system
US6091658A (en) * 1999-11-01 2000-07-18 Ford Global Technologies, Inc. Nonvolatile memory implementation for electronic devices
DE19955601C2 (de) 1999-11-18 2001-11-29 Infineon Technologies Ag Verfahren zur Durchführung von Auto-Refresh-Sequenzen an einem DRAM
US6246254B1 (en) 1999-12-06 2001-06-12 International Business Machines Corporation Method and circuit for providing copy protection in an application-specific integrated circuit
EP1107191B1 (en) * 1999-12-09 2007-06-27 Pitney Bowes Inc. System and method for suppressing conducted emissions by a cryptographic device comprising an integrated circuit
US6766455B1 (en) 1999-12-09 2004-07-20 Pitney Bowes Inc. System and method for preventing differential power analysis attacks (DPA) on a cryptographic device
DE50006022D1 (de) * 2000-01-19 2004-05-13 Infineon Technologies Ag Integrierte sicherheitsschaltung
US9165323B1 (en) 2000-05-31 2015-10-20 Open Innovation Network, LLC Biometric transaction system and method
AU2001266628A1 (en) 2000-05-31 2001-12-11 Indivos Corporation Biometric financial transaction system and method
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US6772361B1 (en) * 2000-07-10 2004-08-03 Advanced Micro Devices, Inc. Real time clock (RTC) having several highly desirable timekeeping dependability and security attributes, and methods for accessing a register thereof
EP1410137A2 (en) * 2000-08-09 2004-04-21 Datawipe Management Services Limited Personal data device and protection system and method for storing and protecting personal data
US20020049682A1 (en) * 2000-09-01 2002-04-25 Nobuko Yamamoto Authentication certificate, authentication certificate issuance system, and authentication system
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US6618685B1 (en) * 2000-10-17 2003-09-09 Sun Microsystems, Inc. Non-invasive testing of smart cards
US7362868B2 (en) * 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US20030021417A1 (en) 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US7308713B1 (en) * 2000-11-22 2007-12-11 Intel Corporation Link-lock device and method of monitoring and controlling a link for failures and intrusions
US7316934B2 (en) * 2000-12-18 2008-01-08 Zavitan Semiconductors, Inc. Personalized hardware
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7242921B2 (en) 2000-12-29 2007-07-10 Intel Corporation Anonymous electronic transactions
DE10105987A1 (de) * 2001-02-09 2002-08-29 Infineon Technologies Ag Datenverarbeitungsvorrichtung
US20020114360A1 (en) * 2001-02-20 2002-08-22 Perlman Stephen G. System and method for processing multiple broadcast multimedia streams
US7194618B1 (en) 2001-03-05 2007-03-20 Suominen Edwin A Encryption and authentication systems and methods
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7093277B2 (en) * 2001-05-30 2006-08-15 Digeo, Inc. System and method for improved multi-stream multimedia transmission and processing
US7386129B2 (en) * 2001-05-30 2008-06-10 Digeo, Inc. System and method for multimedia content simulcast
DE10131300B4 (de) * 2001-07-02 2012-12-06 Robert Bosch Gmbh Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
US7463737B2 (en) 2001-08-15 2008-12-09 Digeo, Inc. System and method for conditional access key encryption
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US20030097335A1 (en) * 2001-11-21 2003-05-22 International Business Machines Corporation Secure method and system for determining charges and assuring privacy
US7644279B2 (en) * 2001-12-05 2010-01-05 Nvidia Corporation Consumer product distribution in the embedded system market
US7231657B2 (en) * 2002-02-14 2007-06-12 American Management Systems, Inc. User authentication system and methods thereof
US7124273B2 (en) 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
JP2003281071A (ja) * 2002-03-20 2003-10-03 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
IL165468A0 (en) * 2002-06-04 2006-01-15 Nds Ltd Prevention of tampering in electronic devices
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
WO2004008282A2 (en) * 2002-07-12 2004-01-22 Privaris, Inc. Personal authentication software and systems for travel privilege assignation and verification
US7802108B1 (en) * 2002-07-18 2010-09-21 Nvidia Corporation Secure storage of program code for an embedded system
KR100464598B1 (ko) * 2002-08-03 2005-01-03 한국정보보호진흥원 오용행위와 비정상행위의 통합 판정 기능을 갖는 호스트기반의 통합침입탐지시스템 및 방법
US6686247B1 (en) * 2002-08-22 2004-02-03 Intel Corporation Self-aligned contacts to gates
EP1400887A1 (fr) * 2002-09-20 2004-03-24 EM Microelectronic-Marin SA Dispositif de protection pour puce électronique comportant des informations confidentielles
JP4027776B2 (ja) * 2002-10-25 2007-12-26 有限会社クリプトソフトウエア データ処理システム、処理装置及びコンピュータプログラム
JP4349788B2 (ja) * 2002-10-31 2009-10-21 パナソニック株式会社 半導体集積回路装置
JP4497874B2 (ja) * 2002-12-13 2010-07-07 株式会社ルネサステクノロジ 半導体集積回路及びicカード
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US20040128528A1 (en) * 2002-12-31 2004-07-01 Poisner David I. Trusted real time clock
US7836516B2 (en) * 2003-01-10 2010-11-16 Nxp B.V. Circuit arrangement and method for protecting electronic components against illicit manipulation
US7181016B2 (en) * 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
DE10317037A1 (de) * 2003-04-14 2004-11-04 Orga Kartensysteme Gmbh Verfahren zum Schutz von Daten gegen unberechtigte Benutzung auf einem Mobilfunkgerät
US6880752B2 (en) * 2003-04-16 2005-04-19 George V. Tarnovsky System for testing, verifying legitimacy of smart card in-situ and for storing data therein
GB0310411D0 (en) * 2003-05-07 2003-06-11 Koninkl Philips Electronics Nv Electronic device provided with cryptographic circuit and method of establishing the same
WO2005001611A2 (en) * 2003-05-30 2005-01-06 Privaris, Inc. A system and methods for assignation and use of media content subscription service privileges
US7366302B2 (en) * 2003-08-25 2008-04-29 Sony Corporation Apparatus and method for an iterative cryptographic block
US8079034B2 (en) 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
EP2937805B1 (en) 2003-09-30 2022-01-05 Nxp B.V. Proximity authentication system
FR2861474B1 (fr) * 2003-10-24 2007-04-27 Atmel Corp Procede et appareil pour une periode de traitement variable dans un circuit integre
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
FR2866450B1 (fr) * 2004-02-17 2006-06-02 Enertec Cartouche d'enregistrement de donnees de type "anti-compromission" et procede anti-compromission correspondant
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
DE102004014435A1 (de) * 2004-03-24 2005-11-17 Siemens Ag Anordnung mit einem integrierten Schaltkreis
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US20050229005A1 (en) * 2004-04-07 2005-10-13 Activcard Inc. Security badge arrangement
DE102004028338A1 (de) * 2004-06-11 2006-01-12 Siemens Ag Tachograph
US7681042B2 (en) * 2004-06-17 2010-03-16 Eruces, Inc. System and method for dis-identifying sensitive information and associated records
KR100636150B1 (ko) * 2004-07-01 2006-10-19 삼성전자주식회사 암호화 모듈을 포함하는 멀티미디어 장치
US7119703B2 (en) * 2004-08-26 2006-10-10 Ftd Solutions Pte. Ltd. Die anti-tampering sensor
US7818574B2 (en) * 2004-09-10 2010-10-19 International Business Machines Corporation System and method for providing dynamically authorized access to functionality present on an integrated circuit chip
JP4391375B2 (ja) * 2004-09-30 2009-12-24 フェリカネットワークス株式会社 情報管理装置および方法、並びにプログラム
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US7015823B1 (en) 2004-10-15 2006-03-21 Systran Federal Corporation Tamper resistant circuit boards
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
DE102004057259A1 (de) * 2004-11-26 2006-06-01 Robert Bosch Gmbh Manipulationsgeschütztes Mikrocontrollersystem
US7188346B2 (en) * 2004-11-29 2007-03-06 International Business Machines Corporation Method, system and program product for correlating data between operating environments
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US20060136717A1 (en) 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7607020B2 (en) * 2005-03-01 2009-10-20 Adobe Systems Incorporated Communication with an external source application
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US8516583B2 (en) * 2005-03-31 2013-08-20 Microsoft Corporation Aggregating the knowledge base of computer systems to proactively protect a computer from malware
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
IL171963A0 (en) * 2005-11-14 2006-04-10 Nds Ltd Secure read-write storage device
US8195945B2 (en) * 2005-12-01 2012-06-05 Sony Mobile Communications Ab Secure digital certificate storing scheme for flash memory and electronic apparatus
US8959339B2 (en) * 2005-12-23 2015-02-17 Texas Instruments Incorporated Method and system for preventing unauthorized processor mode switches
EP1811415A1 (en) * 2005-12-23 2007-07-25 Nagracard S.A. Secure system-on-chip
EP1802030A1 (en) * 2005-12-23 2007-06-27 Nagracard S.A. Secure system-on-chip
US8656191B2 (en) 2005-12-23 2014-02-18 Nagravision S.A. Secure system-on-chip
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
IL174784A0 (en) * 2006-04-04 2006-12-31 Nds Ltd Robust cipher design
JP4960441B2 (ja) * 2006-05-09 2012-06-27 インターデイジタル テクノロジー コーポレーション 無線装置のためのセキュア時刻機能
US8997255B2 (en) * 2006-07-31 2015-03-31 Inside Secure Verifying data integrity in a data storage device
US8352752B2 (en) * 2006-09-01 2013-01-08 Inside Secure Detecting radiation-based attacks
US20080061843A1 (en) * 2006-09-11 2008-03-13 Asier Goikoetxea Yanci Detecting voltage glitches
US8239677B2 (en) 2006-10-10 2012-08-07 Equifax Inc. Verification and authentication systems and methods
US8447226B1 (en) 2007-01-05 2013-05-21 The Directv Group, Inc. Portable satellite earth station and methods of using the same
US8286138B2 (en) * 2007-01-30 2012-10-09 Microsoft Corporation Multi-threaded detection of a game software debugger
US8286005B2 (en) 2007-03-27 2012-10-09 Mitsubishi Electric Corporation Confidential information memory apparatus, erasing method of confidential information, and erasing program of confidential information
AT505459B1 (de) * 2007-06-25 2009-07-15 Philipp Dr Tomsich Verfahren zur gewährleistung einer sicheren kommunikation zwischen einem terminal und dienste-anbietern in einem netzwerk
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
KR100954223B1 (ko) * 2007-11-22 2010-04-21 한국전자통신연구원 Rtc를 이용하는 암호시스템간 보안 통신 방법 및 장치
FR2924262B1 (fr) * 2007-11-26 2009-12-11 Sagem Securite Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant
US7953988B2 (en) * 2008-01-10 2011-05-31 Oracle America, Inc. Modular tamper resistant enclosure for secure systems
GB0802741D0 (en) * 2008-02-14 2008-03-26 Wolfson Microelectronics Plc Secure Clock
FR2927750B1 (fr) * 2008-02-15 2010-12-10 Sagem Monetel Terminal de paiement electronique pour l'echange de donnees securise sur un reseau ouvert
US8910276B2 (en) * 2008-05-24 2014-12-09 Via Technologies, Inc. Apparatus and method for precluding execution of certain instructions in a secure execution mode microprocessor
US8819839B2 (en) * 2008-05-24 2014-08-26 Via Technologies, Inc. Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels
US8789136B2 (en) * 2008-09-02 2014-07-22 Avaya Inc. Securing a device based on atypical user behavior
FR2935817B1 (fr) * 2008-09-11 2011-12-09 Oberthur Technologies Procede de traitement de donnees et dispositif associe.
FR2935823B1 (fr) * 2008-09-11 2010-10-01 Oberthur Technologies Procede et dispositif de protection d'un microcircuit contre les attaques.
US20100105997A1 (en) * 2008-10-29 2010-04-29 Medtronic, Inc. Closed loop parameter adjustment for sensor modules of an implantable medical device
EP2199993A1 (en) * 2008-12-17 2010-06-23 Gemalto SA Method and token for managing one processing relating to an application supported or to be supported by a token
US8677145B2 (en) 2009-02-27 2014-03-18 Atmel Corporation Single pin communication mechanism
FR2947361B1 (fr) * 2009-06-29 2011-08-26 Viaccess Sa Procede de detection d'une tentative d'attaque, support d'enregistrement et processeur de securite pour ce procede
EP2282279A1 (en) * 2009-07-20 2011-02-09 Nxp B.V. Method and device for detection of light attacks
US8566940B1 (en) * 2009-11-25 2013-10-22 Micron Technology, Inc. Authenticated operations and event counters
US8255702B1 (en) * 2009-12-03 2012-08-28 Altera Corporation Programmable logic device with improved security
US9525548B2 (en) 2010-10-21 2016-12-20 Microsoft Technology Licensing, Llc Provisioning techniques
US8443224B2 (en) * 2010-10-27 2013-05-14 Freescale Semiconductor, Inc. Apparatus and method for decoupling asynchronous clock domains
US8805434B2 (en) 2010-11-23 2014-08-12 Microsoft Corporation Access techniques using a mobile communication device
US20120143769A1 (en) * 2010-12-02 2012-06-07 Microsoft Corporation Commerce card
US9509686B2 (en) 2010-12-03 2016-11-29 Microsoft Technology Licensing, Llc Secure element authentication
US9378379B1 (en) * 2011-01-19 2016-06-28 Bank Of America Corporation Method and apparatus for the protection of information in a device upon separation from a network
US8996951B2 (en) 2012-11-15 2015-03-31 Elwha, Llc Error correction with non-volatile memory on an integrated circuit
US9026719B2 (en) 2012-11-15 2015-05-05 Elwha, Llc Intelligent monitoring for computation in memory
US9442854B2 (en) 2012-11-15 2016-09-13 Elwha Llc Memory circuitry including computational circuitry for performing supplemental functions
US9582465B2 (en) 2012-11-15 2017-02-28 Elwha Llc Flexible processors and flexible memory
US8966310B2 (en) 2012-11-15 2015-02-24 Elwha Llc Redundancy for loss-tolerant data in non-volatile memory
US8925098B2 (en) * 2012-11-15 2014-12-30 Elwha Llc Data security and access tracking in memory
US9323499B2 (en) 2012-11-15 2016-04-26 Elwha Llc Random number generator functions in memory
FR2998695A1 (fr) * 2012-11-29 2014-05-30 Altis Semiconductor Snc Circuit integre comprenant un systeme de protection contre la reproduction, et methode de conception associee
US10091204B1 (en) 2013-12-31 2018-10-02 EMC IP Holding Company LLC Controlling user access to protected resource based on outcome of one-time passcode authentication token and predefined access policy
EP2942732A1 (en) * 2014-05-07 2015-11-11 Gemalto SA Dynamic change of security configurations
JP6555760B2 (ja) * 2014-12-03 2019-08-07 Necディスプレイソリューションズ株式会社 表示装置、および、表示装置の使用管理方法とそのプログラム
CN105719183A (zh) * 2014-12-03 2016-06-29 阿里巴巴集团控股有限公司 定向转账方法及其装置
US11487871B2 (en) * 2015-01-31 2022-11-01 San Diego Gas & Electric Company Methods and systems for detecting and defending against invalid time signals
EP3262782B1 (en) 2015-02-25 2022-07-27 Private Machines Inc. Anti-tamper system
DE102016117007A1 (de) * 2016-09-09 2018-03-15 Endress + Hauser Flowtec Ag Verfahren und System zur Verifikation einer elektrischen oder elektronischen Komponente
CA3058156A1 (en) * 2017-03-30 2018-10-04 Blonder Tongue Laboratories, Inc. Enterprise content gateway
FR3083412B1 (fr) * 2018-06-29 2021-09-24 Youtransactor Procede de protection d'un terminal de paiement
US11050772B2 (en) 2018-12-05 2021-06-29 Bank Of America Corporation Method and system for identification and prevention of profiling attacks in electronic authorization systems
US11321458B2 (en) 2020-01-28 2022-05-03 Nuvoton Technology Corporation Secure IC with soft security countermeasures
US11977614B2 (en) 2021-09-20 2024-05-07 International Business Machines Corporation Circuit design watermarking

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994013080A1 (en) * 1992-11-30 1994-06-09 Motorola Inc. Method and apparatus for improved security within encrypted communication devices

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4446475A (en) * 1981-07-10 1984-05-01 Motorola, Inc. Means and method for disabling access to a memory
US4521853A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Secure microprocessor/microcomputer with secured memory
FR2536880B1 (fr) * 1982-11-30 1987-05-07 Bull Sa Microprocesseur concu notamment pour executer les algorithmes de calcul d'un systeme de chiffrement a cle publique
DE3483410D1 (de) * 1983-10-14 1990-11-22 Toshiba Kawasaki Kk Einchip mikrocomputer mit verschluesselbarer funktion des programmspeichers.
DE3347483A1 (de) * 1983-12-29 1985-07-11 GAO Gesellschaft für Automation und Organisation mbH, 8000 München Vorrichtung zur sicherung geheimer informationen
US4598170A (en) * 1984-05-17 1986-07-01 Motorola, Inc. Secure microprocessor
US4593384A (en) * 1984-12-21 1986-06-03 Ncr Corporation Security device for the secure storage of sensitive data
GB2182176B (en) * 1985-09-25 1989-09-20 Ncr Co Data security device for protecting stored data
GB2182467B (en) * 1985-10-30 1989-10-18 Ncr Co Security device for stored sensitive data
GB2195478B (en) * 1986-09-24 1990-06-13 Ncr Co Security device for sensitive data
US5117457A (en) * 1986-11-05 1992-05-26 International Business Machines Corp. Tamper resistant packaging for information protection in electronic circuitry
US4860351A (en) * 1986-11-05 1989-08-22 Ibm Corporation Tamper-resistant packaging for protection of information stored in electronic circuitry
JPS63293664A (ja) * 1987-05-27 1988-11-30 Sharp Corp 電子機器
US5185717A (en) * 1988-08-05 1993-02-09 Ryoichi Mori Tamper resistant module having logical elements arranged in multiple layers on the outer surface of a substrate to protect stored information
US4933898A (en) * 1989-01-12 1990-06-12 General Instrument Corporation Secure integrated circuit chip with conductive shield
US5083293A (en) * 1989-01-12 1992-01-21 General Instrument Corporation Prevention of alteration of data stored in secure integrated circuit chip memory
US5189700A (en) * 1989-07-05 1993-02-23 Blandford Robert R Devices to (1) supply authenticated time and (2) time stamp and authenticate digital documents
US5027397A (en) * 1989-09-12 1991-06-25 International Business Machines Corporation Data protection by detection of intrusion into electronic assemblies
MY107292A (en) * 1989-10-03 1995-10-31 Univ Sydney Technology Electro-active cradle circuits for the detection of access or penetration.
US5053992A (en) * 1990-10-04 1991-10-01 General Instrument Corporation Prevention of inspection of secret data stored in encapsulated integrated circuit chip
US5444780A (en) * 1993-07-22 1995-08-22 International Business Machines Corporation Client/server based secure timekeeping system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994013080A1 (en) * 1992-11-30 1994-06-09 Motorola Inc. Method and apparatus for improved security within encrypted communication devices

Also Published As

Publication number Publication date
DE69519662T2 (de) 2001-05-23
US5533123A (en) 1996-07-02
EP0715733B1 (en) 2000-12-20
WO1996000953A2 (en) 1996-01-11
EP0965902A2 (en) 1999-12-22
WO1996000953A3 (en) 1996-02-15
KR960705284A (ko) 1996-10-09
EP0965902A3 (en) 2005-12-21
DE69519662D1 (de) 2001-01-25
EP0715733A1 (en) 1996-06-12

Similar Documents

Publication Publication Date Title
KR100341665B1 (ko) 암호및변경검출기능을갖는기밀데이타프로세서
US10733291B1 (en) Bi-directional communication protocol based device security
US8006101B2 (en) Radio transceiver or other encryption device having secure tamper-detection module
Anderson et al. Tamper resistance-a cautionary note
EP0865695B1 (en) An apparatus and method for cryptographic companion imprinting
Mori et al. Superdistribution: the concept and the architecture
EP0743602B1 (en) Circuit device for function usage control in an integrated circuit
TWI420397B (zh) 偵測基於輻射之攻擊
US6264108B1 (en) Protection of sensitive information contained in integrated circuit cards
EP2115655B1 (en) Virtual secure on-chip one time programming
US7103782B1 (en) Secure memory and processing system having laser-scribed encryption key
JP2003519852A (ja) 集積回路の改ざん防止カプセル化
WO2002001368A2 (en) Embedded security device within a nonvolatile memory device
US20100077472A1 (en) Secure Communication Interface for Secure Multi-Processor System
WO2003058409A2 (en) Protecting a device against unintended use in a secure environment
JPH1012820A (ja) 半導体チップ用セキュリティーデバイス
US20030005323A1 (en) Management of sensitive data
JP2009536389A (ja) 回路装置付きセンサ
Leng Smart card applications and security
US20210281398A1 (en) Method For Protecting A Payment Terminal
US6726108B1 (en) Device for limiting fraud in an integrated circuit card
US20030133241A1 (en) Method and arrangement for protecting digital parts of circuits
JP3983521B2 (ja) 半導体装置およびicカード
Zanero Smart card content security
US20120331290A1 (en) Method and Apparatus for Establishing Trusted Communication With External Real-Time Clock

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 13

EXPY Expiration of term