KR101460811B1 - 보안 시스템을 위한 바이-프로세서 아키텍처 - Google Patents

보안 시스템을 위한 바이-프로세서 아키텍처 Download PDF

Info

Publication number
KR101460811B1
KR101460811B1 KR1020097005441A KR20097005441A KR101460811B1 KR 101460811 B1 KR101460811 B1 KR 101460811B1 KR 1020097005441 A KR1020097005441 A KR 1020097005441A KR 20097005441 A KR20097005441 A KR 20097005441A KR 101460811 B1 KR101460811 B1 KR 101460811B1
Authority
KR
South Korea
Prior art keywords
cpu
confidential information
communication interface
information
secure
Prior art date
Application number
KR1020097005441A
Other languages
English (en)
Other versions
KR20090041438A (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 KR20090041438A publication Critical patent/KR20090041438A/ko
Application granted granted Critical
Publication of KR101460811B1 publication Critical patent/KR101460811B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Abstract

본 발명은, 기밀 정보의 조작을 필요로 하지 않는 태스크들을 수행하도록 구성된 제1 중앙 처리 유닛(CPU) 및 제1 CPU를 대신하여 그 기밀 정보를 조작하는 태스크들을 수행하도록 구성된 제2 CPU에 대한 시스템들, 방법들 및 프로그램 제품들에 관한 것이다. 제1 CPU 및 제2 CPU보안 인터페이스를 통해 통신할 수 있다. 제1 CPU는 제2 CPU 내의 기밀 정보에 액세스할 수 없다.
Figure R1020097005441
기밀 정보, 태스크, 제1 CPU, 제2 CPU, 보안 인터페이스

Description

보안 시스템을 위한 바이-프로세서 아키텍처{BI-PROCESSOR ARCHITECTURE FOR SECURE SYSTEMS}
본 발명은 전기 회로에 저장된 정보에의 액세스를 방지하는 보호 스킴에 관한 것이다.
통상적으로 스마트 카드로서 언급되는 보안 집적 회로 카드는 사용자의 주머니에 맞도록 충분히 소형인 내장형 집적 회로 하드웨어 디바이스의 형태가 될 수 있다. 스마트 카드들은 기밀 정보가 저장되고 공유되어야 하는 많은 상황들에 사용될 수 있다. 예를 들면, 페이-퍼-뷰(pay-per view) 또는 비디오-온-디맨드(video-on-demand) 특징들을 용이하게 하는 셋탑 박스들은, 그러한 특징들에의 액세스에 대한 요구와 함께 제공자에게 사용자 계정 정보를 공급하고, 그 후에 그 요구에 응답하여 제공될 수 있는 암호화된 디지털 비디오 스트림을 암호 해독하기 위해, 스마트 카드를 사용할 수 있다. 다른 예로서, GSM(Global Systems for Mobile Communications) 전화기 내의 가입자 식별 모듈(SIM) 카드는, 사용자의 전화번호부, 장치 선호도(device preference), 바람직한 네트워크(들), 보존된 텍스트 또는 음성 메시지들 및 서비스 제공자 정보 등의 사용자의 개인 정보를 저장하는데 사용될 수 있다. SIM 카드는, 예를 들어, SIM 카드에 모든 사용자의 정보를 유지하면서, 사용자가 핸드셋을 교환하도록 할 수 있다. 스마트 카드들은 다양한 응용들(예컨대, 공공 교통 카드 등의 특정의 자동 지불 디바이스를 포함하는 전자 지불 시스템들과, 여권, 운전 면허증 및 개인 의료 정보 인식 카드(medical identification card) 등의 개인 식별 문서)에 사용될 수 있다.
보안 우려 때문에, 암호화 표준들 또는 알고리즘들이 스마트 카드에 대한 기밀 정보를 보호하는데 사용될 수 있다. 예를 들면, 디지털 암호 표준(DES)는 정보를 56-비트 키로 암호화하는데 사용될 수 있다. 사설 데이터(private data)에의 액세스는 키의 소유주에게만 허용될 수 있다. Triple-DES 및 AES(Advanced Encryption Standard) 등의 표준을 보다 새롭게 업데이트하면, 훨씬 더 복잡한(그리고 안전한) 암호화 키 알고리즘을 제공할 수 있다. 다른 예의 표준은, 개인용 키 암호 해독을 구비한 공개 키 암호화 표준인, RSA(그것의 3인의 창시자 - 리베스트(Rivest), 셰미어(Shamir), 아델만(Adleman)의 성으로부터 얻은 약어)이다. 스마트 카드에 저장되어 그에 의해 보호될 수 있는 정보의 가치 때문에, 해커들은 스마트 카드에 대한 기밀 정보를 보호하는데 사용된 다양한 암호화 알고리즘들을 해독하거나 우회하는 갖가지 기술들을 사용할 수 있다. 이러한 기술들은 일반적으로 침투 공격(invasive attack)과 비침투 공격(non-invasive attack)으로 분류될 수 있다.
예를 들면, 내부 신호들에 액세스하여 적소에 있을 수 있는 보안 수단들을 우회하기 위하여, 해커가 스마트 카드 패키징의 일부를 그라인드 오프(grind off)할 수 있다. 다른 예로서, 해커는 보호된 데이터를 손상시키려고 시도할 때에 스 마트 카드를 여러 종류의 방사선(예컨대, 노출된 내부 회로들로 향해진 레이저 광 또는 패키징을 관통하여 향해진 X-선 또는 감마 방사선)에 쪼일 수 있다. 일부 구현예들에서는, 장치의 임의의 위치들에서의 보호된 데이터의 손상은, 그 장치가 보안 수단들(예컨대, 암호화 알고리즘들)을 우회하게 하거나 해커에게 디바이스 아키텍처에 관한 정보 또는 그 보호된 데이터 자체를 내주게 할 수 있다.
스마트 카드들은 또한, 코드 역 공학(code reverse engineering) 등의 공격을 받기 쉬울 수 있다. 역 공학의 공격 시에, 해커의 목표는 용이하게 이용 가능한 프로그래밍 장치의 스마트 카드 기능성을 복제하기 위하여 스마트 카드 메모리 내에 임베딩된 명령어들 및 데이터(또는 "코드")를 연구하는 것이다. 그러한 코드 역 공학을 방지하기 위해, 메모리 암호화 및 임플란트형 ROMs(implanted read-only memories) 등의 하드웨어 대응책이 보안 마이크로컨트롤러들에 통상적으로 구현된다. 그러나, 스마트 카드의 중앙 처리 유닛(CPU)은 전체 프로그램 메모리 콘텐츠에의 액세스를 통상적으로 암호화하지 않으며, 메모리의 전체 콘텐츠를 출력하도록 조작될 수 있다. 기밀 정보가 장치로부터 추출되기만 하면, 그 정보는 갖가지 나쁜 용도로 사용될 수 있다. 예를 들면, 해커는 다른 사용자의 계좌를 이용하여 페이-퍼-뷰 서비스 또는 비디오-온-디멘드 서비스를 획득할 수 있고; 해커는 다른 사용자에게 청구된 원격통신 서비스들에 액세스할 수 있고; 해커는 다른 사용자의 은행 계좌 자금을 절취할 수 있고; 해커는 다른 사람의 신분을 절취하는 등을 할 수 있다.
일반적으로, 본 명세서에 기술된 주제의 일 양상은, 기밀 정보의 조작을 요구하지 않는 태스크들을 수행하도록 구성된 제1 중앙 처리 유닛(CPU)을 포함하는 시스템으로 구현될 수 있다. 제2 CPU는 제1 CPU를 대신하여 기밀 정보를 조작하는 태스크들을 수행하도록 구성된다. 제1 CPU와 제2 CPU는 보안 인터페이스를 통해 통신할 수 있다. 그리고, 제1 CPU는 제2 CPU 내의 기밀 정보에 액세스할 수 없다.
이들 및 다른 실시예들이 이하의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 제2 CPU는, 제1 CPU와는 별도의 전원, 제1 CPU와는 별도의 클럭 시스템, 제1 CPU와는 별도의 프로그램 및 데이터 메모리, 전용 아날로그 센서들 또는 하드웨어 실드: 중 하나 이상을 선택적으로 포함한다. 기밀 정보는 하나 이상의 암호 키(cryptographic key)들이다. 보안 통신 인터페이스를 통해 전송된 데이터는 암호화되거나 디지털로 서명된다. 제1 CPU는 보안 통신 인터페이스를 통해 제2 CPU를 직접적으로 제어할 수 없다.
일반적으로, 본 명세서에 기술된 주제의 다른 양상은, 제1 중앙 처리 유닛(CPU) 및 제2 CPU를 포함하는 시스템으로 구현될 수 있다. 제2 CPU는 제1 CPU와는 별도의 전원 및 별도의 메모리를 포함한다. 제1 CPU 및 제2 CPU는 제1 CPU가 보안 통신 인터페이스를 통해 제2 CPU를 직접적으로 제어할 수 없는 보안 통신 인터페이스를 통해 통신할 수 있다. 또한, 제1 CPU는 그 별도의 메모리 내의 정보에 액세스할 수 없다.
이들 및 다른 실시예들이 이하의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 제2 CPU는 제1 CPU와는 별도의 클럭 시스템을 포함한다. 보안 통신 인터페이스를 통해 전송된 데이터는 암호화되거나 디지털로 서명된다. 그 별도의 메모리는 하나 이상의 암호 키를 포함한다. 제1 CPU는, 제2 CPU가 하나 이상의 암호 키를 사용하여 암호 해독할 수 있는 암호화된 정보를 제2 CPU에 제공할 수 있다.
일반적으로, 본 명세서에 기술된 주제의 다른 양상은, 제1 중앙 처리 유닛(CPU)에서 외부 통신을 수신하는 것을 포함하는 방법 및 프로그램 제품으로 구현될 수 있다. 제1 CPU는 외부 통신이 기밀 정보의 조작을 요구한다는 것을 판단한다. 보안 CPU는 보안 통신 인터페이스를 경유하여 제1 CPU에 의해 사용되어, 외부 통신을 처리한다. 보안 CPU는 기밀 정보를 조작하는 태스크들을 수행하도록 구성된다.
이들 및 다른 실시예들이 이하의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 보안 CPU는, 제1 CPU와는 별도의 전원, 제1 CPU와는 별도의 클럭 시스템, 제1 CPU와는 별도의 프로그램 및 데이터 메모리, 전용 아날로그 센서들 또는 하드웨어 실드: 중 하나 이상을 선택적으로 포함한다. 기밀 정보는 하나 이상의 암호 키(cryptographic key)들이다. 보안 통신 인터페이스를 통해 전송된 데이터는 암호화되거나 디지털로 서명된다. 제1 CPU는 보안 통신 인터페이스를 통해 보안 CPU를 직접적으로 제어할 수 없다.
본 명세서에 기술된 주제의 특정 실시예들은, 이하의 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 비보안 애플리케이션들(non-secure applications)은 마스터 CPU 상에서 구현될 수 있으며, 보안 애플리케이션들은 보안 슬레이브 CPU 상에서 구현될 수 있다. 이러한 방식으로, 마스터 CPU에 임베딩된 각종 애플리케이션들은 슬레이브 기능성을 구현하도록 요구되지 않는다. 해커 공격들에 대항하는 하드웨어 수단들은 마스터 CPU에서 구현될 필요가 없다. 해커 공격들을 받기 쉬운 마스터 CPU는 보안 인터페이스를 통하지 않고서는 슬레이브 CPU에의 어떠한 직접적인 액세스도 하지 못한다. 마스터 CPU는 슬레이브 CPU 상의 데이터, 처리 방법들 또는 소프트웨어 알고리즘들에의 어떠한 액세스도 하지 못할 것이다. 슬레이브 CPU는 해킹 공격들에 대항하여 보호하기 위해 하드웨어 실드를 포함한다. 마스터 CPU와 슬레이브 CPU 간의 데이터 교환은 보안 인터페이스를 통해 관리된다. 보안 인터페이스를 통해 전송된 데이터는 암호화되거나 서명되거나 둘 모두 행해질 수 있다.
하나 이상의 실시예들의 세부 사항은, 이하의 첨부 도면 및 상세한 설명에서 설명한다. 다른 특징들, 양상들 및 이점들은, 명세서, 도면 및 청구의 범위로부터 명백해 질 것이다.
도 1은 스마트 카드를 위한 선행 기술의 모노-프로세서 시스템의 일례를 도시하는 도면.
도 2는 스마트 카드 또는 다른 장치를 위한 안전한 바이-프로세서 시스템의 일례를 도시하는 도면.
도 3A 및 도 3B는 바이-프로세서 시스템에 사용될 수 있는 예시적인 스마트 카드의 블록도들.
도 4는 슬레이브 CPU와 통신하기 위한 처리의 플로우차트.
여러 도면들에서 동일한 참조 부호들은 동일한 요소들을 나타낸다.
도 1은 스마트 카드를 위한 종래 기술의 모노-프로세서 시스템(100)의 일례를 도시한다. 이러한 시스템들은 기밀 정보를 획득하려는 의도의 전술한 공격들을 받기 쉽다. 기밀 정보는 데이터(예컨대, 암호 키들), 프로그램 명령어들 또는 이들의 조합을 포함할 수 있다. 모노-프로세서 시스템(100)은 통상적으로, 메모리 보호 유닛(MPU), 프로그램 및 데이터 메모리(104)(예컨대, 랜덤 액세스 메모리, 비휘발성 메모리 및 리드 온리 메모리), 및 암호 프로세서 또는 가속기(106)를 포함할 수 있는 마이크로프로세서 코어(102)를 포함한다. 아날로그 블록(108)은, 주파수 모니터, 전원 모니터, 온도 센서 및 전압 조정기 등의 일반적인 아날로그 해커 안전장치(safeguard)를 포함할 수 있다. 통신 블록(110)은 모노-프로세서 시스템(100)과 외부 세계(예컨대, 셋톱 박스들 및 휴대 전화들) 간의 데이터 전송을 담당한다. 모노-프로세서 시스템(100)은 또한, 모노-프로세서 시스템(100)이 대응책을 취할 수 있도록 각종 해킹 기술들을 검출하는 침입 방지 시스템(IPs)(112)을 포함할 수 있다.
모노-프로세서 시스템(100)에서, 프로세서 코어(102)는, 외부 세계와의 데이터 교환 등의 기밀 정보의 사용을 수반하지 않는 태스크들과 함께, 데이터 암호화 및 암호 해독을 위한 암호 키들 등의 기밀 정보를 조작하는 태스크들을 수행한다. 이는 모노-프로세서 시스템(100)의 동작을 변경하기 위해, 예를 들어, 결함 주입 기술들을 이용하여 모노-프로세서 시스템(100)으로부터 기밀 정보가 획득될 수 있 다는 취약성을 생성한다. 그러나, 이 취약성은 하드웨어 실드에 의해 보호된 보안 슬레이브 CPU에 대한 기밀 정보를 유지하는 2개의 CPU "바이-프로세서" 시스템을 이용하여 제거될 수 있다.
도 2는 스마트 카드 또는 다른 장치를 위한 바이-프로세서 시스템(200)의 예를 도시한다. 시스템(200)은 마스터 CPU(202)와 보안 슬레이브 CPU(204)를 포함한다. 마스터 CPU(202)는 통신 블록(206)을 통해 외부 시스템과의 데이터 전송 등의 기밀 정보를 필요로 하지 않는 태스크들을 수행하는데 사용되는 반면, 슬레이브 CPU(204)는 기밀 정보를 조작하는 태스크들을 수행하는데 사용된다. 일부 구현예에서, 마스터 CPU(202)는, 통신 블록(206)을 통해 수신된 외부 요구들을 처리하고, 보안 통신 인터페이스(208)를 경유하여 슬레이브 CPU(204)에 기밀 정보의 조작을 수반하는 결과의 태스크들을 할당하는 것을 담당한다. 일부 구현예에서, 마스터 CPU(202), 보안 슬레이브 CPU(204), 또는 둘 모두는, 특정 애플리케이션들에 커스터마이징될 수 있는 침입 방지 시스템(210)을 포함한다. 아날로그 블록(212)은 주파수 모니터, 전원 모니터, 온도 센서 및 전압 조정기 등의 일반적인 아날로그 해커 안전장치들을 포함할 수 있다. 각각의 CPU는 또한, 하나 이상의 마이크로프로세서 코어들(예컨대, 224, 222)과 프로그램 및 데이터 메모리들(예컨대, 226, 214)을 포함한다.
기밀 정보를 다루는 슬레이브 CPU(204)는, 마스터 CPU(202)로부터 또는 외부 세계로부터 슬레이브 CPU(204)를 고립시키는 보호를 포함한 하드웨어 실드에 의해 보호된다. 하드웨어 보호는, 이하의 표 1에 리스트된 것을 포함하지만 이에 제한 되는 것은 아니다.

하드웨어 보호

설명

별도의 전원

별도의 전원(216)이 외부 전원 및 마스터 CPU(202)로부터의 전기적 고립 및 칩 전원의 나머지를 제공한다. 별도의 전원(216)은 외부 핀에 적용된 전원 이상이 슬레이브 CPU(204)에 전파하는 것을 방지한다.

별도의 클럭
시스템

별도의 클럭 시스템(218)은 클럭 이상이 슬레이브 CPU(204)에 전파하는 것을 방지하고, 슬레이브 CPU(204)가 안티 차동 전원 분석 대응책에 참가하도록 한다.

별도의 프로그램 및 데이터
메모리

슬레이브 CPU(204) 내의 별도의 프로그램 및 데이터 메모리(214)는 마스터 CPU(202)가 슬레이브 CPU(204)에 대한 기밀 정보를 직접적으로 또는 공격 중인 경우 판독하거나 변경하는 것을 방지한다. 일부 구현예에서, 메모리들(214)은 메모리들 상에 결합 주입 공격들의 검출을 고려하는 패러티 비트를 포함할 수 있다.

전용 아날로그 센서들

전용 아날로그 센서들(220)은 공격 신호에 대한 슬레이브 CPU(204)의 환경 조건을 모니터링한다.

물리 하드웨어 실드

슬레이브 CPU(204)를 에워싸는 물리 실드(예컨대, 금속 커버) 및 선택적으로는 마스터 CPU(202)는, 해커가 내부 신호들에의 액세스를 얻거나 슬레이브 CPU(204)를 기밀 정보를 손상시키겨는 시도시에 각종 방사선에 쪼일 것이라는 가능성을 줄일 수 있다.
마스터 CPU(202)와 슬레이브 CPU(204) 간의 데이터 교환은 보안 인터페이스(208)를 통해 관리된다. 마스터 CPU(202)는 보안 인터페이스(208)를 경유하여 슬레이브 CPU(204)에 대한 요구들을 처리할 것을 신청할 수 있다. 그러한 요구들은 외부 세계 및 이 경우에는 단순한 메일박스로서 사용될 마스터 CPU(202)로부터 "있는 그대로" 수신될 수 있다. 일부 구현예에서, 마스터 CPU(202)는 처리 방법 또는 보안 슬레이브 CPU(204) 내의 정보에 액세스하지 못한다. 슬레이브 CPU(204)는 요구들을 처리하고, (있다면) 그 결과들을 보안 인터페이스(208)를 통해 마스터 CPU(202)에 전달한다.
일부 구현예에서, 보안 인터페이스는 또한 상태 레지스터들, 제어 레지스터들 또는 이들의 조합을 처리하는 것을 특징으로 할 수 있다. 보안 슬레이브 CPU(204)가 이들 레지스터들을 통해 해커 공격들에 취약한 것을 방지하기 위해, 일부 구현예에서 이러한 레지스터들에의 판독/기입 액세스는 두 프로세서 간의 임의의 링크만이 입력 데이터와 출력 결과를 교환하는 목적을 만족시키도록 정의된다. 이러한 구현예에서, 마스터 CPU(202)는 레지스터들을 통해 슬레이브 CPU(204)를 제어할 수 없다. 일부 구현예에서, 프로세서들 간의 상호작용은 처리될 정보를 송신하여 그 결과를 돌려 받는 것에 엄격하게 제한되어 있다.
일부 구현예에서, 보안 통신 프로토콜은 보안 인터페이스(208)를 통해 마스터 CPU(202)와 슬레이브 CPU(204) 간의 보안 디지털 다이얼로그를 보증하도록 구현된다. 다른 구현예에서, 마스터 CPU(202)에 의해서 보안 인터페이스(208)를 통해 슬레이브 CPU(204)에 전송된 데이터는 슬레이브 CPU(204)가 데이터를 처리하기 전에 데이터의 보전(integrity)을 검증할 수 있게 하도록 디지털 서명된다. 또한, 슬레이브 CPU(204)에 의해 마스터 CPU(202)에 전송된 데이터도 마찬가지로 디지털 서명될 수 있다. 일부 구현예에서, 마스터 CPU(202)로부터 슬레이브 CPU(204)로의 요구는 슬레이브 CPU(204)로 알려져 있는 키들로 암호화된다. 마찬가지로, 요구들에 대한 응답들도 디지털 서명되거나 암호화되거나 둘 모두가 행해질 수 있으며, 마스터 CPU(202)가 슬레이브 CPU(204)와 외부 세계 간의 피동적 도관의 역할을 하도록 외부 세계에의 전송을 위해 마스터 CPU로 복귀될 수 있다.
도 3A 및 도 3B는 바이-프로세서 시스템(200)을 구현하는데 사용될 수 있는 예시적인 스마트 카드(301A, 301B)의 블록도이다. 도시된 바와 같이, 각각의 예시적인 스마트 카드(301A 또는 301B)는 마스터 CPU(202), 슬레이브 CPU(204) 및 그 둘 간에 보안 통신 인터페이스(208)를 포함한다. 각각의 CPU는 그 자체의 메모리를 가지고 있다. 마스터 CPU(202)는 메모리(308)를 가지며, 슬레이브 CPU(204)는 메모리(313)를 갖는다. 마스터 CPU(202)는 슬레이브 CPU(204) 및 메모리(313)에 액세스할 수 없다. 메모리(308, 313)는, 예를 들면, ROM 또는 RAM, 플래시, DRAM, SRAM 등의 복수의 상이한 종류의 메모리를 나타낼 수 있다. 예를 들면, 일부 구현예에서, 마스터 CPU(202)에 대한 프로그램 명령어들이 ROM에 저장되고, 마스터 CPU(202)는 몇가지 형태의 RAM을 사용하여 프로그래밍 명령어들이 실행된 중간 데이터를 저장한다.
인터페이스(311)는, 스마트 카드(301A 또는 301B)에 대하여, 예컨대, 스마트 카드 리더기(314A 또는 314B)와 같은 외부 시스템들과 상호 작용하는 수단을 제공한다. 일부 구현예에서, 인터페이스(311)는, 예를 들어, 특정 통신 프로토콜(예컨대, ISO/IEC 14443 또는 ISO 15693을 특징으로 한 프로토콜(ISO는 국제 표준화 기구(International Organization for Standardization)를 말하며, IEC는 국제 전자 기술 위원회(International Electrotechnical Commission)를 말함)에 적합한 RF(무선 주파수) 신호들을 포함하는 무선 통신 채널(317A)과 함께 동작한다. 일부 구현예에서, 인터페이스(311)는, 예를 들어, 특정 통신 프로토콜(예컨대, ISO/IEC 7816 또는 ISO/IEC 7810을 특징으로 하는 프로토콜)에 적합한 유선 통신 채널(317B)과 함께 동작한다.
스마트 카드(301A 또는 301B)는 전원에 의해 전력 공급된다. 예를 들면, 스마트 카드(301A)는 배터리 또는 저손실 커패시터 등의 통합된 전력 저장 장치(320)에 의해 전력 공급될 수 있다. 다른 예로서, 스마트 카드(301A)는, RF 신호를 수신하여 그 RF 신호 내의 에너지를 스마트 카드(301A)의 구성요소들에 전력을 공급하는데 사용될 수 있는 전기 에너지로 변환하는, 안테나 및 변환 회로(323)에 의해 전력 공급될 수 있다. 다른 예로서, 스마트 카드(301B)는 대응하는 스마트 카드 리더기(314B)에 통합된 전원 장치(326) 등의 스마트 카드 자체에 외부적인 소스에 의해 전력 공급될 수 있다.
동작시, 스마트 카드 리더기(314A 또는 314B)는 스마트 카드(301A 또는 301B)에 보호된 정보를 각각 요청할 수 있다. 일부 구현예에서, 스마트 카드 리더기(314A 또는 314B)는 스마트 카드(301A 또는 301B)가 보호된 정보를 리더기(314A 또는 314B)로 송신하기 전에 암호화하는데 사용하기 위한 암호화 키를 제공한다. 일부 구현예에서, 보호된 정보는 이미 암호화된 형태로 저장되어 있고, 스마트 카드 리더기(314A 또는 314B)는 보호된 정보를 리더기(314A 또는 314B)에 제공하기 전에 암호 해독하기 위한 암호 해독 키를 제공한다. 일부 구현예에서, 스마트 카드(301A 또는 301B)는 보호된 정보의 다른 동작들을 수행한다. 스마트 카드들은 또한 타이머, 암호 프로세서, 암호 가속기 등과 같은 다른 침입 방지 시스템을 포함할 수 있다.
도 4는 슬레이브 CPU와 통신하기 위한 처리(400)의 플로우차트이다. 마스터 CPU(예컨대, 202)는 통신 블록(예컨대, 206; 단계 402)으로부터 외부 통신을 수신한다. 마스터 CPU는, 외부 통신이 기밀 정보가 조작되어야 하는 경우처럼 보안 CPU(예컨대, 204)의 사용을 요구하는지의 여부를 판정한다(단계 404). 예컨대, 외부 통신이 암호화되어 있으면, 마스터 CPU는 보안 CPU가 그 통신을 암호 해독하여 처리할 수 있다고 추정할 수 있다. 그 통신이 보안 CPU를 요구하지 않는다면, 마스터 CPU가 그 통신을 처리한다(단계 406). 그렇지 않다면, 보안 CPU를 향한 보안 인터페이스(예컨대, 208)를 통해 보안 CPU에 요구를 제공하여 외부 통신을 처리하거나 그 외부 통신에 기초하여 일부 태스크를 수행한다(단계 408). 마스터 CPU가 추가로 처리할 수 있거나, 통신 블록을 통해 외부 세계에 몇가지 형태로 제공할 수 있는 선택적 응답을, 보안 CPU로부터 수신한다(단계 410).
본 명세서에 기술된 주제 및 기능적인 동작들의 실시예는, 본 명세서에 기재된 구조물들 및 그들의 등가 구조물들을 포함하거나, 그들 중 하나 이상을 조합하여, 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다. 본 명세서에 기재된 주제의 실시예는, 하나 이상의 컴퓨터 프로그램 제품들, 즉, 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하는 컴퓨터 판독가능한 매체 상에 암호화된 하나 이상의 컴퓨터 프로그램 명령어들의 모듈들로서 구현될 수 있다. 컴퓨터 판독가능 매체는, 기계 판독가능한 저장 장치, 기계 판독가능한 저장 기판, 메모리 장치, 기계 판독가능한 전파 신호를 달성하는 물질의 조성, 또는 이들 중 하나 이상의 조합일 수 있다.
컴퓨터 프로그램(또한, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로 공지되어 있음)은, 컴파일드(compiled) 또는 인터프리티드(interpreted) 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 독립형 프로그램으로서, 또는 모듈 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적절한 다른 유닛으로서 포함하여 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램이 파일 시스템에서의 파일에 반드시 대응하는 것은 아니다. 다른 프로그램들 또는 데이터(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 보유하는 파일의 일부, 해당 프로그램에 전용인 단일의 파일, 또는 복수의 통합된 파일들(예컨대, 하나 이상의 모듈들, 서브 프로그램들 또는 코드의 부분들을 저장하는 파일들)에 프로그램을 저장할 수 있다. 컴퓨터 프로그램은 한대의 컴퓨터 또는 하나의 장소에 위치되어 있거나 또는 복수의 장소 전역에 분포되어 통신 네트워크에 의해 상호접속되어 있는 복수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에서 기술된 처리들 및 논리 흐름들은, 입력 데이터에서 동작하여 출력을 생성함으로써 기능들을 수행하도록, 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 프로세서들에 의해 수행될 수 있다. 특수용 논리 회로, 예컨대, FPGA (field programmable gate array) 또는 ASIC(application-specific integrated circuit)가 그러한 처리들 및 논리 흐름들을 수행할 수도 있고, 장치를 구현할 수도 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예를 들어, 범용 및 특수용 마이크로프로세서들 양자 모두와, 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 양자 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령을 수행하기 위한 프로세서와 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치들이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예컨대, 자기 디스크, 광자기 디스크 또는 광디스크들을 포함하거나, 이러한 대용량 저장 장치들과 데이터를 수신, 송신 및 송수신하도록 동작적으로 결합될 것이다. 그러나, 컴퓨터는 그러한 장치들을 가질 필요는 없다. 또한, 컴퓨터가, 다른 장치, 몇개만 예로 들어 보면, 모바일 전화, PDA(personal digital assistant), 모바일 오디오 플레이어, GPS(Global Positioning System) 수신기에 임베딩될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능한 매체는, 예를 들어, 반도체 메모리 장치들, 예컨대, EPROM, EEPROM 및 플래시 메모리 장치들; 자기 디스크들, 예컨대, 내부 하드디스크들 또는 분리형 디스크들; 광자기 디스크들; 및 CD-ROM과 DVD-ROM 디스크들을 포함하는, 비휘발성 메모리, 매체 및 메모리 장치들의 모든 형태를 포함한다. 프로세서 및 메모리는 특수용 논리 회로에 의해 보충되거나 특수용 논리 회로에 통합될 수 있다.
본 명세서는 많은 세부 특징들을 포함하지만, 본 발명의 범위 또는 청구될 수 있는 범위를 제한하는 것으로 해석되어서는 안되며, 특정 실시예들에 지정된 특징들의 설명으로 해석되어야 한다. 개별 실시예들의 정황으로 본 명세서에 기재된 임의의 특징들은 하나의 실시예에 조합하여 구현될 수도 있다. 반대로, 단일의 실시예의 정황으로 기술된 여러가지 특징들은 복수의 실시예들에서 또는 임의의 적절한 부분 조합(subcombination)으로 구현될 수도 있다. 또한, 특징들이 임의의 조합으로 동작하는 것으로 전술되었고 더 앞에서는 그와 같이 청구되었지만, 그 청구된 조합으로부터의 하나 이상의 특징들은 몇가지 경우에 그 조합으로부터 삭제될 수 있으며, 그 청구된 조합은 부분 조합 또는 부분 조합의 변형에 관한 것일 수 있다.
마찬가지로, 동작들이 특정 순서로 도면에서 묘사되었지만, 그러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되어야 한다거나, 설명된 모든 동작들이 바람직한 결과들을 달성하도록 수행되어야 한다는 것을 요구하는 것으로 이해해서는 안된다. 임의의 환경에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다. 또한, 전술된 실시예들에서 각종 시스템 구성요소들의 분리는, 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해해서는 안되며, 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일의 소프트웨어 제품에 함께 통합되거나 또는 복수의 소프트웨어 제품들에 패키징될 수 있음을 이해해야 한다.
이로써, 특정 실시예들이 기술되었다. 다른 실시예들은 이하의 청구범위의 범위에 포함된다. 예를 들어, 청구범위에 인용된 동작들은 상이한 순서로 수행되어 여전히 바람직한 결과를 달성할 수 있다.

Claims (20)

  1. 시스템으로서,
    기밀 정보(sensitive information)를 조작할 필요가 없는 태스크들을 수행하도록 구성된 제1 CPU(central processing unit);
    상기 제1 CPU를 대신하여 상기 기밀 정보를 조작하는 태스크들을 수행하도록 구성된 보안 제2 CPU; 및
    상기 제1 CPU와 상기 제2 CPU가 통신하는 보안 통신 인터페이스
    를 포함하며,
    상기 제1 CPU는 상기 제2 CPU 내의 상기 기밀 정보에 액세스할 수 없고, 상기 제1 CPU와 상기 제2 CPU 간의 상호작용은 처리될 정보를 송신하여 그 결과를 상기 보안 통신 인터페이스를 통해 돌려받는 것에 제한되는, 시스템.
  2. 제1항에 있어서,
    상기 제2 CPU는, 상기 제1 CPU와는 별도의 전원, 상기 제1 CPU와는 별도의 클럭 시스템, 상기 제1 CPU와는 별도의 프로그램 및 데이터 메모리, 전용 아날로그 센서들, 또는 상기 제1 CPU 및 상기 시스템의 외부로부터 상기 제2 CPU를 고립시키는 하드웨어 실드(hardware shield) 중 하나 이상을 포함하는 시스템.
  3. 제1항에 있어서,
    상기 기밀 정보는 하나 이상의 암호 키들(cryptographic keys)인 시스템.
  4. 제1항에 있어서,
    상기 보안 통신 인터페이스를 통해 전송된 데이터는 암호화되거나 디지털로 서명된 시스템.
  5. 제1항에 있어서,
    상기 보안 통신 인터페이스는 상태 레지스터들 및 제어 레지스터들을 포함하고,
    상기 제1 CPU는 상기 상태 및 제어 레지스터들을 통해 상기 제2 CPU를 제어하는 것이 방지되는, 시스템.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 CPU는, 상기 제2 CPU가 외부 리더기로부터 수신된 하나 이상의 암호 키들을 이용하여 암호 해독할 수 있는 암호화된 정보를, 상기 제2 CPU에 제공할 수 있는 시스템.
  7. 제1 CPU(central processing unit)에서 외부 통신을 수신하는 단계;
    상기 외부 통신이 기밀 정보의 조작을 요구하는지를 상기 제1 CPU에 의해 판정하는 단계; 및
    상기 외부 통신이 기밀 정보의 조작을 요구하는 경우, 상기 제1 CPU에 의해 보안 통신 인터페이스를 경유하여 상기 외부 통신을 보안 제2 CPU에 전송하여, 상기 외부 통신을 처리하는 단계
    를 포함하고, 상기 제2 CPU는 기밀 정보를 조작하는 태스크들을 수행하도록 구성되고, 상기 제1 CPU는 상기 제2 CPU 내의 상기 기밀 정보에 액세스할 수 없고, 상기 제1 CPU와 상기 제2 CPU 간의 상호작용은 처리될 정보를 송신하여 그 결과를 상기 보안 통신 인터페이스를 통해 돌려받는 것에 제한되는, 방법.
  8. 제7항에 있어서,
    상기 제2 CPU는, 상기 제1 CPU와는 별도의 전원, 상기 제1 CPU와는 별도의 클럭 시스템, 전용 아날로그 센서들, 또는 상기 제1 CPU 및 상기 시스템의 외부로부터 상기 제2 CPU를 고립시키는 하드웨어 실드 중 하나 이상을 포함하는 방법.
  9. 제7항에 있어서,
    상기 기밀 정보는 하나 이상의 암호 키들인 방법.
  10. 제7항에 있어서,
    상기 보안 통신 인터페이스를 통해 전송된 데이터는 암호화되거나 디지털로 서명된 방법.
  11. 제7항에 있어서,
    상기 제1 CPU는 상기 보안 통신 인터페이스의 레지스터들을 통해 상기 제2 CPU를 제어하는 것이 방지되는 방법.
  12. 데이터 처리 장치로 하여금, 제7항 내지 제11항 중 어느 한 항에 따른 방법을 수행하게 하도록 동작 가능한, 컴퓨터 프로그램을 저장한 컴퓨터 판독가능한 기록 매체.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020097005441A 2006-08-17 2007-08-14 보안 시스템을 위한 바이-프로세서 아키텍처 KR101460811B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US82273506P 2006-08-17 2006-08-17
US60/822,735 2006-08-17
US11/558,367 US7984301B2 (en) 2006-08-17 2006-11-09 Bi-processor architecture for secure systems
US11/558,367 2006-11-09
PCT/US2007/075933 WO2008060733A2 (en) 2006-08-17 2007-08-14 Bi-processor architecture for secure systems

Publications (2)

Publication Number Publication Date
KR20090041438A KR20090041438A (ko) 2009-04-28
KR101460811B1 true KR101460811B1 (ko) 2014-11-11

Family

ID=39190070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097005441A KR101460811B1 (ko) 2006-08-17 2007-08-14 보안 시스템을 위한 바이-프로세서 아키텍처

Country Status (6)

Country Link
US (1) US7984301B2 (ko)
EP (1) EP2052344B1 (ko)
KR (1) KR101460811B1 (ko)
CN (1) CN101506815B (ko)
TW (1) TWI431502B (ko)
WO (1) WO2008060733A2 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506020B2 (en) 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US6725250B1 (en) * 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US7805756B2 (en) 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US8225003B2 (en) 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
US6167428A (en) 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US20050180095A1 (en) 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US7926097B2 (en) 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US7844253B2 (en) * 2006-10-19 2010-11-30 Future Dial Inc. Method and apparatus for using an electromagnetically shielded enclosure for exchanging secure data
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
US8775824B2 (en) * 2008-01-02 2014-07-08 Arm Limited Protecting the security of secure data sent from a central processor for processing by a further processing device
US20100077472A1 (en) * 2008-09-23 2010-03-25 Atmel Corporation Secure Communication Interface for Secure Multi-Processor System
CN102034055B (zh) * 2009-10-10 2012-10-17 北京派瑞根科技开发有限公司 基于高安全信息***的网络***平台
CN102034056B (zh) * 2009-10-10 2012-12-26 北京派瑞根科技开发有限公司 基于高安全信息***的网络服务提供平台
US20110225645A1 (en) * 2010-01-26 2011-09-15 Ellis Frampton E Basic architecture for secure internet computers
US8255986B2 (en) 2010-01-26 2012-08-28 Frampton E. Ellis Methods of securely controlling through one or more separate private networks an internet-connected computer having one or more hardware-based inner firewalls or access barriers
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
US8171537B2 (en) * 2010-01-29 2012-05-01 Ellis Frampton E Method of securely controlling through one or more separate private networks an internet-connected computer having one or more hardware-based inner firewalls or access barriers
DE102010045328A1 (de) * 2010-09-14 2012-03-15 Giesecke & Devrient Gmbh Portabler Datenträger
KR101115358B1 (ko) * 2010-10-22 2012-03-06 차보영 방송장치 감시장치를 포함하는 스마트워크 컴퓨터
KR101401382B1 (ko) 2011-12-15 2014-06-02 한국전자통신연구원 분산 시스템에서의 부채널 분석 방법 및 장치
US8931082B2 (en) * 2012-08-17 2015-01-06 Broadcom Corporation Multi-security-CPU system
WO2014045236A2 (en) 2012-09-21 2014-03-27 Visa International Service Association A dynamic object tag and systems and methods relating thereto
TWI490784B (zh) * 2013-05-16 2015-07-01 Wistron Neweb Corp 功能模組管理方法及電子系統
CN103400081B (zh) * 2013-07-30 2016-09-21 东莞宇龙通信科技有限公司 终端和用户界面的显示控制方法
CN103402199A (zh) * 2013-07-30 2013-11-20 东莞宇龙通信科技有限公司 终端和安全的数据处理方法
CN103401864A (zh) * 2013-07-30 2013-11-20 东莞宇龙通信科技有限公司 终端和安全登录方法
CN103390136B (zh) * 2013-07-30 2017-03-01 东莞宇龙通信科技有限公司 一种终端
CN103390137B (zh) * 2013-07-30 2016-09-21 东莞宇龙通信科技有限公司 一种终端
CN103400080B (zh) * 2013-07-30 2016-08-24 东莞宇龙通信科技有限公司 一种终端
US10121144B2 (en) * 2013-11-04 2018-11-06 Apple Inc. Using biometric authentication for NFC-based payments
EP2930641B1 (en) 2014-04-07 2019-04-03 Nxp B.V. Method of Programming a Smart Card, Computer Program Product and Programmable Smart Card
US10847242B2 (en) * 2014-07-23 2020-11-24 Texas Instruments Incorporated Computing register with non-volatile-logic data storage
US9578054B1 (en) 2015-08-31 2017-02-21 Newman H-R Computer Design, LLC Hacking-resistant computer design
CN106203182A (zh) * 2016-06-23 2016-12-07 努比亚技术有限公司 存储数据的装置及方法
KR102501304B1 (ko) 2018-05-17 2023-02-20 삼성전자주식회사 복수의 프로세서들과 연결된 보안 모듈의 제어 방법 및 이를 구현한 전자 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060075254A1 (en) * 2004-09-27 2006-04-06 Cisco Technology, Inc. (A California Corporation) Smart card functionality from a security co-processor and symmetric key in ROM

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB221610A (en) 1923-07-16 1924-09-18 Frederick Percy Fall Improvements in or relating to gasholders
JPH02109153A (ja) 1988-10-18 1990-04-20 Fujitsu Ltd プロセッサ間データ伝送方式
US5574849A (en) 1992-12-17 1996-11-12 Tandem Computers Incorporated Synchronized data transmission between elements of a processing system
EP0842471A4 (en) 1995-07-31 2006-11-08 Hewlett Packard Co METHOD AND APPARATUS FOR MANAGING RESOURCES UNDER THE CONTROL OF A PROTECTED MODULE OR OTHER PROTECTED PROCESSOR
GB2307783B (en) 1995-09-30 2000-04-05 Motorola Ltd Enhanced security semiconductor device, semiconductor circuit arrangement, and method of production thereof
US5896499A (en) * 1997-02-21 1999-04-20 International Business Machines Corporation Embedded security processor
US5991519A (en) 1997-10-03 1999-11-23 Atmel Corporation Secure memory having multiple security levels
US6061449A (en) 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6094724A (en) 1997-11-26 2000-07-25 Atmel Corporation Secure memory having anti-wire tapping
DE69834431T3 (de) 1998-01-02 2009-09-10 Cryptography Research Inc., San Francisco Leckresistentes kryptographisches verfahren und vorrichtung
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
US6032248A (en) 1998-04-29 2000-02-29 Atmel Corporation Microcontroller including a single memory module having a data memory sector and a code memory sector and supporting simultaneous read/write access to both sectors
IL139935A (en) 1998-06-03 2005-06-19 Cryptography Res Inc Des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
DE69938045T2 (de) 1998-06-03 2009-01-15 Cryptography Research Inc., San Francisco Verwendung von unvorhersagbarer Information zur Leckminimierung von Chipkarten und anderen Kryptosystemen
WO1999067909A2 (en) 1998-06-03 1999-12-29 Cryptography Research, Inc. Secure modular exponentiation with leak minimization for smartcards and other cryptosystems
US6510518B1 (en) 1998-06-03 2003-01-21 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimizational in smartcards and other cryptosystems
DE69935913T2 (de) 1998-07-02 2008-01-10 Cryptography Research Inc., San Francisco Leckresistente aktualisierung eines indexierten kryptographischen schlüssels
US7233977B2 (en) 1998-12-18 2007-06-19 Emc Corporation Messaging mechanism employing mailboxes for inter processor communications
US7073069B1 (en) * 1999-05-07 2006-07-04 Infineon Technologies Ag Apparatus and method for a programmable security processor
US6295606B1 (en) 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
US6331784B1 (en) 2000-07-28 2001-12-18 Atmel Corporation Secure programmable logic device
US6966837B1 (en) * 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US7142670B2 (en) 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
JP4045777B2 (ja) 2001-10-30 2008-02-13 株式会社日立製作所 情報処理装置
US7194633B2 (en) 2001-11-14 2007-03-20 International Business Machines Corporation Device and method with reduced information leakage
AU2003246991A1 (en) 2002-07-23 2004-02-09 Koninklijke Philips Electronics N.V. Improved inter-processor communication system for communication between processors
US7313687B2 (en) * 2003-01-10 2007-12-25 Microsoft Corporation Establishing a secure context at an electronic communications end-point
US7940932B2 (en) * 2004-04-08 2011-05-10 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
US7949883B2 (en) 2004-06-08 2011-05-24 Hrl Laboratories, Llc Cryptographic CPU architecture with random instruction masking to thwart differential power analysis
US7689814B2 (en) 2004-12-20 2010-03-30 Sony Computer Entertainment Inc. Methods and apparatus for disabling error countermeasures in a processing system
US20070056042A1 (en) 2005-09-08 2007-03-08 Bahman Qawami Mobile memory system for secure storage and delivery of media content
WO2007094857A1 (en) 2006-02-09 2007-08-23 Thomson Licensing Method and apparatus for securing digital content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060075254A1 (en) * 2004-09-27 2006-04-06 Cisco Technology, Inc. (A California Corporation) Smart card functionality from a security co-processor and symmetric key in ROM

Also Published As

Publication number Publication date
TW200817968A (en) 2008-04-16
US20080072051A1 (en) 2008-03-20
EP2052344B1 (en) 2017-09-27
CN101506815A (zh) 2009-08-12
WO2008060733A2 (en) 2008-05-22
CN101506815B (zh) 2012-05-09
TWI431502B (zh) 2014-03-21
EP2052344A2 (en) 2009-04-29
KR20090041438A (ko) 2009-04-28
US7984301B2 (en) 2011-07-19
WO2008060733A3 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
KR101460811B1 (ko) 보안 시스템을 위한 바이-프로세서 아키텍처
US9954826B2 (en) Scalable and secure key management for cryptographic data processing
US7058818B2 (en) Integrated circuit for digital rights management
US7636844B2 (en) Method and system to provide a trusted channel within a computer system for a SIM device
TWI524275B (zh) 儲存裝置及操作一儲存裝置之方法
US20100077472A1 (en) Secure Communication Interface for Secure Multi-Processor System
US20080098134A1 (en) Portable Storage Device and Method For Exchanging Data
KR20170042344A (ko) 모바일 결제 장치 및 방법
MXPA06014008A (es) Componente para modulo de seguridad.
TW200937248A (en) Secure software download
US8346215B2 (en) Retrospective implementation of SIM capabilities in a security module
US8320570B2 (en) Apparatus and method for generating secret key
CN116094767A (zh) 一种基于可信执行环境的终端数据安全模型
KR101610182B1 (ko) 원격서비스 시스템의 클라이언트 단말기 보안장치 및 그 방법
CN116933284A (zh) 文件处理方法、装置及电子设备
JP2001338268A (ja) メモリーカード応用機器

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20181031

Year of fee payment: 5