KR100972540B1 - Secure memory card with life cycle phases - Google Patents
Secure memory card with life cycle phases Download PDFInfo
- Publication number
- KR100972540B1 KR100972540B1 KR1020077018143A KR20077018143A KR100972540B1 KR 100972540 B1 KR100972540 B1 KR 100972540B1 KR 1020077018143 A KR1020077018143 A KR 1020077018143A KR 20077018143 A KR20077018143 A KR 20077018143A KR 100972540 B1 KR100972540 B1 KR 100972540B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory card
- state
- key
- card
- test
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/067—Record 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/07—Record 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
- Credit Cards Or The Like (AREA)
Abstract
인크립션 능력들을 가진 보안 메모리 카드는 특정 상태들에서 카드의 하드웨어 및 소프트웨어 검사를 허용하는 다양한 사이클 상태들을 포함한다. 검사 메카니즘들은 특정한 다른 상태들에서 디스에이블되어, 보안 데이터 및 암호 키들에 대한 잠재적인 백도어들을 차단한다. 데이터의 인크립션 및 디크립션을 위하여 요구된 키들의 제어된 활용 및 생성은 비록 백도어들이 액세스되더라도 이전에 인크립트된 데이터가 디크립트되지 못하고 따라서 백도어가 발견되고 부당하게 개방되더라도 쓸모없게 되게 한다.
Secure memory cards with encryption capabilities include various cycle states that allow hardware and software checks of the card at certain states. Inspection mechanisms are disabled in certain other states, blocking potential backdoors for secure data and cryptographic keys. Controlled utilization and generation of keys required for encryption and decryption of data, even if the backdoors are accessed, makes previously encrypted data undecrypted and therefore useless even if the backdoor is found and unfairly opened.
Description
본 발명은 일반적으로 메모리 카드들 및 인크립션(encryption)에 관한 것이고, 특히 카드의 검사 메카니즘들을 통하여 보안 데이터 및 키들에 대한 액세스를 제거하는 것에 관한 것이다.The present invention relates generally to memory cards and encryption, and in particular to removing access to secure data and keys through the card's inspection mechanisms.
예전에 일반적으로 스마트 카드라 불리는 지능형 메모리 카드는 개발되었고 신분확인 및 지불 수단의 형태로서 시장에서 수용되었다. 스마트 카드는 사용자의 신분 데이터를 저장하고 계약 관련 데이터를 저장하기 위한 작은 양의 메모리를 포함한다. 스마트 카드는 또한 종종 칩 카드라 하고 국민 신분증 같은 다양한 것들을 위하여 일본에서 사용되고 신용 카드 또는 데빗 카드(debit card)의 형태로서 다양한 장소들에서 사용된다. 신분 도용 및 다른 금융 사기를 방지하기 위하여, 다양한 칩 설계들 및 인크립션 방법들은 카드들 및 상기 카드들을 이용하는 시스템들에서 사용되었다.In the past, intelligent memory cards, commonly referred to as smart cards, were developed and accepted in the market as forms of identification and payment. The smart card includes a small amount of memory for storing user identity data and for storing contract related data. Smart cards are also often referred to as chip cards and used in Japan for various things such as national ID cards and in various places in the form of credit cards or debit cards. In order to prevent identity theft and other financial fraud, various chip designs and encryption methods have been used in cards and systems using the cards.
임의의 타입의 보안 메모리 카드를 설계 및 제조시, 두 개의 맞서는 관심사가 있다. 하나의 관심사는 카드의 보안을 최대화하고, 다른 관심사는 카드의 신뢰성을 최대화하는 것이다. 카드의 신뢰성을 최대화하기 위하여, 제조소에서 선적되 기 전에 다양한 제조 스테이지들에서 및 몇몇 경우들에서 심지어 결함 분석을 수행하기 위하여 제조소에서 떠난 후 카드의 소프트웨어 및 하드웨어를 검사할 수 있는 것은 중요하다. 검사는 카드의 하드웨어 및 소프트웨어 모두를 검사하기 위하여 칩상의 검사 또는 접촉 패드들을 통하여 신호들의 입력 및 출력을 포함할 수 있다. 이들 검사 루틴들 및 검사 패드들은 품질 제어를 보장하기 위하여 필요하지만 카드의 보안 데이터, 알고리듬들, 및 키들에 대한 잠재적인 약점 또는 "백도어"가 발생한다. 따라서, 신뢰성을 최대화하는 것과 및 보안성을 최대화하는 것 사이(필요한 검사)의 어느 정도의 타협이 항상 존재한다. 다른 방법들은 검사가 완료된 후 "백도어"를 차단하기 위하여 제안되었다. 그러나, 다양한 이유들로 인해 데이터에 대한 이전 해결책들은 경제적 및 기술적 단점들을 각각 가진다.When designing and manufacturing any type of secure memory card, there are two opposing concerns. One concern is to maximize the security of the card and the other concern is to maximize the reliability of the card. In order to maximize the reliability of the card, it is important to be able to inspect the card's software and hardware at various manufacturing stages and in some cases even after leaving the factory to perform defect analysis before it is shipped from the factory. The inspection may include input and output of signals via inspection or contact pads on a chip to inspect both the hardware and software of the card. These inspection routines and inspection pads are necessary to ensure quality control but a potential weakness or "backdoor" for the card's security data, algorithms, and keys arises. Thus, there is always some compromise between maximizing reliability and maximizing security (the necessary checks). Other methods have been proposed to block the "backdoor" after the test is complete. However, for various reasons, previous solutions to data each have economic and technical disadvantages.
상기된 스마트 카드의 생성시 사용되는 것으로 믿어지는 하나의 방법에서, 카드의 다이는 웨이퍼로부터 메모리 다이의 개별화 전에 검사된다. 특정 다이에 대한 검사 패드들은 웨이퍼의 인접한 다이상에 배치되고, 개별화 처리는 검사 후 인접한 다이의 모든 회로로부터 검사 패드들을 절단한다. 그러므로, 개별화된 다이상에 있는 임의의 검사 패드들은 완전히 분리되고 최종 메모리 카드의 보안 데이터에 대한 잠재적 백 도어로서 차단된다. 그러나, 검사 패드들을 완전하게 제거하는 것이 항상 실제적이거나 바람직하지는 않다. 예를들어, 쓸모있는 검사 패드들의 부족은 예를들어 잠재적인 결함 분석 방법들을 제한하는 메모리 검사를 바탕으로 하는 어느 정도의 추후 하드웨어를 배제시킨다. In one method believed to be used in the generation of the smart card described above, the die of the card is inspected prior to individualization of the memory die from the wafer. Inspection pads for a particular die are placed on adjacent die of the wafer, and the individualization process cuts the inspection pads from all circuitry of the adjacent die after inspection. Therefore, any test pads on an individualized die are completely separated and blocked as a potential back door to secure data of the final memory card. However, it is not always practical or desirable to completely remove the test pads. For example, the lack of useful test pads precludes some later hardware, for example based on memory testing, which limits potential defect analysis methods.
이 방법이 통상적으로 신분 확인 및 재정 데이터를 홀딩하기 위하여 필요한 작은 양의 메모리만을 가지는 스마트 카드에 대해서는 바람직할 수 있지만, 사진들 및 음악 같은 다수의 큰 파이들을 저장하기 위하여 사용되는 대용량 메모리 카드에 사용되는 복잡한 보안 루틴들 및 비교적 대용량의 메모리를 검사하는데는 불충분하다. 이들 대용량 메모리 카드들의 몇몇 예들은 컴팩트 플래시 카드, MMC 카드, 및 SD 카드이다. 디지털 콘텐트 및 연관된 저작권 문제들의 확산은 보안의 중요성을 상승시키고, 동시에 카드의 검사 및 신뢰성은 가장 중요하게 남는다. 보안 대용량 메모리 카드들을 제조, 검사 및 동작시키기 위한 보다 포괄적이고 적응성 있는 시스템은 요구되고 이하에 기술될 본 발명에 의해 제공된다.Although this method may be desirable for smart cards that typically have only a small amount of memory needed to hold identification and financial data, it is used for large memory cards used to store many large pies such as photos and music. Insufficient for checking complex security routines and relatively large amounts of memory. Some examples of these mass memory cards are compact flash cards, MMC cards, and SD cards. The proliferation of digital content and associated copyright issues raises the importance of security, while at the same time inspection and reliability of cards remain the most important. A more comprehensive and adaptive system for manufacturing, inspecting and operating secure mass memory cards is required and provided by the present invention which will be described below.
다른 중요한 측면은 비용이다. 비휘발성 메모리, 논리, 및 휘발성 메모리 같은 몇몇 다른 기술들은 단일 집적 회로 다이(칩)상에 제조될 수 있다. 그러나, 하나의 다이상에 다른 기술들을 혼합하는 것은 생산 비용을 크게 증가시킨다. 비용이 가장 큰 추진력인 경쟁 환경에서, 하나의 다이상에 제공되는 다른 기술들의 양을 제한하는 것은 매우 요구된다. 그러나, 다수의 다이를 사용하는 것은 민감한 정보가 최종 제품에서 하나의 다이로부터 다른 다이로 통과하여야 하는 것을 의미한다. 이것은 만약 적당한 예방책들이 사용되지 않으면 해커가 이용할 수 있는 다른 잠재적 약점이다. Another important aspect is cost. Some other techniques, such as nonvolatile memory, logic, and volatile memory, can be fabricated on a single integrated circuit die (chip). However, mixing different technologies on one die greatly increases production costs. In a competitive environment where cost is the most driving force, it is highly desirable to limit the amount of other technologies provided on one die. However, using multiple dies means that sensitive information must pass from one die to another in the final product. This is another potential weakness that hackers can exploit if proper precautions are not used.
특히, 비휘발성 메모리 비트들은 동일한 다이내에서 논리와 혼합하기 위하여 비용이 많이 든다. 스마트 카드는 보안을 최대화하는 방식인 스마트 카드에서 운용하는 논리와 동일한 다이에 데이터 저장을 위하여 비휘발성 메모리를 사용한다. 그러나, 지금 본 발명에서 바람직한 메모리 카드는 매우 큰 음악, 사진, 영화 및 다른 사용자 파일들을 저장하여야 한다. 따라서, 대량의 정보(2005년에 몇 기가바이트 정도 및 그 이상)를 저장할 수 있는 단일 집적 회로 다이 메모리 카드를 제조하는 것은 매우 비싸고, 다중 다이를 사용하는 보안 시스템을 개발하는 것이 필요하다. 특히, 제어기 다이로부터 분리되고, 어셈블리 전후 완전히 검사될 수 있고, 검사 메카니즘들을 통한 공격들에 견딜 수 있는 하나 또는 그 이상의 이산(경제적) 플래시 메모리 다이를 사용하는 보안 시스템(인크립션 및 디크립션 이용)을 생성하는 것은 매우 바람직하다.In particular, nonvolatile memory bits are expensive to mix with logic within the same die. Smart cards use nonvolatile memory to store data on the same die as the logic that smart cards operate in, which maximizes security. However, a memory card now preferred in the present invention must store very large music, photos, movies and other user files. Therefore, it is very expensive to manufacture a single integrated circuit die memory card that can store a large amount of information (a few gigabytes and more in 2005), and it is necessary to develop a security system using multiple dies. In particular, a security system (using encryption and decryption) that uses one or more discrete (economical) flash memory die that can be separated from the controller die, fully inspected before and after assembly, and can withstand attacks through inspection mechanisms. It is very desirable to produce.
오늘날의 디지털 장치들에 의해 요구되는 제어기 기능 및 대용량의 저장 능력 모두를 가지는 단일 칩을 사용하는 것이 과도하게 비싸고 비례축소 문제들을 제공하기 때문에, 다른 시스템은 개발되었다. 단일 칩 솔루션에서 보안은 검사 메카니즘들, 인크립션 키들 및 인크립트된 콘텐트에 액세스하기 어렵게 하는 유일한 칩 설계로 달성될 수 있다. 그러나, 콘텐트가 독립된 메모리 칩으로부터 인크립션이 발생하는 제어기 칩으로 통과하는 다중 칩 설계에서, 인크립션 키들 및 인크립트된 콘텐트에 대한 액세스를 보호하는데 특정한 주의가 요구된다. 게다가, 어셈블리된 시스템의 검사를 허용하기 위하여 최종 어셈블리에 검사 패드들을 가지는 시스템에서, 인크립트된 키들 및 콘텐트에 대한 인증되지 않은 액세스를 위한 백 도어로서 사용할 수 있는 소프트웨어 및 하드웨어의 임의의 메카니즘들에 대한 특정한 주의가 요구되어야 한다. Other systems have been developed because using a single chip with both the controller function and the high capacity storage capability required by today's digital devices presents excessively expensive and scaling problems. Security in a single chip solution can be achieved with a unique chip design that makes it difficult to access inspection mechanisms, encryption keys and encrypted content. However, in a multi-chip design where content passes from an independent memory chip to a controller chip where encryption occurs, particular care is required to protect access to the encryption keys and the encrypted content. In addition, any system of software and hardware that can be used as a back door for unauthorized access to encrypted keys and content, in a system with inspection pads in the final assembly to allow inspection of the assembled system. Particular attention should be paid to
본 발명은 카드의 라이프 동안 진입되고 통과되는 다수의 라이프 사이클 단계들을 가진다. 상기 단계에 따라, 인크립션 엔진을 인에이블하거나 디스에이블하는 카드의 논리는 하드웨어(웨이퍼 개별화 및 카드 어셈블리 전 및 후) 및 소프트웨어 검사 메카니즘들에 대한 액세스를 제어하고, 키 생성을 제어한다. 이들 단계들은 제조 전후(검사 패드들이 제거된 스마트 카드와 달리) 카드의 하드웨어 및 소프트웨어 양쪽이 완전히 검사되게 할뿐 아니라, 카드가 보안 단계에 있을 때, 즉 사용자에게 선적될 때에 카드가 위치하는 동작 단계에 있을 때 인크립트된 키 및 인크립트된 콘텐트에 액세스하는 것을 실제로 불가능하게 한다. 그러므로, 본 발명은 검사될 수 있는 메모리 카드를 제공하지만 카드내에 보호된 데이터에 대한 인증되지 않은 액세스에 저항한다.The present invention has a number of life cycle steps that are entered and passed during the life of the card. In accordance with the above steps, the logic of the card that enables or disables the encryption engine controls access to hardware (before and after wafer personalization and card assembly) and software inspection mechanisms, and controls key generation. These steps not only allow both the hardware and software of the card to be fully inspected before and after manufacturing (unlike smart cards with the test pads removed), but also when the card is in the secure phase, ie when shipped to the user. It actually makes it impossible to access the encrypted key and the encrypted content when in. Therefore, the present invention provides a memory card that can be inspected but resists unauthorized access to protected data within the card.
게다가, 보안 대용량 저장 메모리 카드들을 제조, 검사 및 동작시키기 위한 보다 포괄적이고 융통성 있는 시스템은 요구되고 이후에 기술될 본 발명에 의해 제공된다.In addition, a more comprehensive and flexible system for manufacturing, inspecting and operating secure mass storage memory cards is required and provided by the present invention which will be described later.
본 발명의 부가적인 측면들, 장점들 및 특징들은 예시적인 실시예의 다음 설명에 포함되고, 상기 설명은 첨부 도면들과 관련하여 취해지고, 유사 번호들은 도면들을 통하여 동일한 특징부를 기술하기 위하여 사용된다. 모든 특허들, 특허 출원들, 논설들 및 여기에 참조된 다른 공개물들은 모든 목적을 위하여 전체적으로 참조에 의해 여기에 통합된다.Additional aspects, advantages, and features of the invention are included in the following description of exemplary embodiments, the description being taken in conjunction with the accompanying drawings, wherein like numbers are used to describe the same features throughout the drawings. All patents, patent applications, articles and other publications referenced herein are hereby incorporated by reference in their entirety for all purposes.
도 1a는 본 발명의 일실시예에 따른 시스템(10)의 개략도이다.1A is a schematic diagram of a
도 1b는 시스템(10)의 다른 실시예의 개략도이다.1B is a schematic diagram of another embodiment of a
도 2a는 본 발명의 일실시예에서 다양한 라이프 사이클 단계들을 도시하는 흐름도이다.2A is a flow diagram illustrating various life cycle steps in one embodiment of the invention.
도 2b는 다양한 라이프 사이클 단계들의 표이다.2B is a table of the various life cycle stages.
도 3은 부트 업(boot up) 처리 및 라이프 사이클 단계들을 도시하는 흐름도이다.3 is a flow chart illustrating boot up processing and life cycle steps.
메모리 시스템 아키텍쳐Memory system architecture
본 발명의 다양한 측면들이 실행되는 예시적인 메모리 시스템은 도 1a의 블록도로 도시된다. 도 1a에 도시된 바와 같이, 메모리 시스템(10)은 중앙 처리 유니트(CPU) 또는 제어기(12), 버퍼 관리 유니트(BMU)(14), 호스트 인터페이스 모듈(HIM)(16), 플래시 인터페이스 모듈(FIM)(18), 플래시 메모리(20) 및 주변 액세스 모듈(22)을 포함한다. 메모리 시스템(10)은 호스트 인터페이스 버스(26) 및 포트(26a)를 통하여 호스트 장치(24)와 통신한다. NAND 타입일 수 있는 플래시 메모리(20)는 호스트 장치(24)용 데이터 저장소를 제공한다. CPU(12)용 소프트웨어 코드는 또한 플래시 메모리(20)에 저장될 수 있다. FIM(18)은 플래시 인터페이스 버스(28) 및 몇몇 예들에서 만약 플래시 메모리(20)가 탈착 가능한 부품이면 포트(도시되지 않음)를 통하여 플래시 메모리(20)에 접속한다. HIM(16)은 디지털 카메라, 퍼스널 컴퓨터, 퍼스널 디지털 어시스탄트(PDA) 및 MP-3 플레이어들, 셀룰러 전화 또는 다른 디지털 장치들 같은 호스트 시스템에 접속하기에 적당하다. 주변 액세스 모듈(22)은 CPU(12)와 통신하기 위한 FIM, HIM 및 BMU 같은 적당한 제어기 모듈 을 선택한다. 일실시예에서, 점선 박스내의 시스템(10)의 모든 부품들은 메모리 카드 같은 단일 유니트에 밀봉되고 바람직하게 카드에 밀봉될 수 있다.An exemplary memory system in which the various aspects of the invention are implemented is shown in the block diagram of FIG. 1A. As shown in FIG. 1A, the
버퍼 관리 유니트(14)는 호스트 다이렉트 메모리 액세스 유니트(HDMA)(32), 플래시 다이렉트 메모리 액세스 유니트(FDMA)(34), 조정자(36), CPU 버스 조정자(35), 레지스터들(33), 버퍼 랜덤 액세스 메모리(BRAM)(38), 및 인크립션 엔진(40)이라 불리는 크립토 엔진(40)을 포함한다. 조정자(36)는 단지 하나의 마스터 또는 개시기(HDMA 32, FDMA 34 또는 CPU 12일 수 있음) 만이 언제든 활성화될 수 있도록 공유된 버스 조정자이고 슬레이브 또는 타켓은 BRAM(38)이다. 조정자는 적당한 개시자 요구자를 BRAM(38)에 채널링하기 위하여 응답한다. HDMA(32) 및 FDMA(34)는 HIM(16), FIM(18) 및 BRAM(38) 또는 RAM(11) 사이에 전달되는 데이터에 응답할 수 있다. CPU 버스 조정자(35)는 크립토 엔진을 바이패스하는 것이 목표될 때 같은 특정 상황들에 사용되는 시스템 버스(15)를 통하여 클립토 엔진(40) 및 플래시 DMA(34)로부터 RAM(11)으로 직접적인 데이터 전달을 허용한다. HDMA(32) 및 FDMA(34)의 동작은 일반적이고 여기에 상세히 기술될 필요가 없다. BRAM(38)은 호스트 장치(24) 및 플래시 메모리(20) 사이에서 통과되는 데이터를 저장하기 위하여 사용된다. HDMA(32) 및 FDMA(34)는 HIM(16)/FIM(18) 및 BRAM(38) 또는 CPU RAM(12a) 사이에서 데이터를 전달하고 섹터 완료를 나타내기 위하여 응답할 수 있다.The buffer management unit 14 includes a host direct memory access unit (HDMA) 32, a flash direct memory access unit (FDMA) 34, a
플래시 메모리(20)로부터의 데이터가 호스트 장치(24)에 의해 판독될 때, 메모리(20)내 인크립트된 데이터는 버스(28), FIM(18), FDMA(34) 및 크립토 엔진(40) 을 통하여 인출되고, 여기서 인크립트된 데이터는 디크립트되고 BRAM(38)에 저장된다. 그 다음 디크립트된 데이터는 HDMA(32), HIM(16), 버스(26)를 통하여 BRAM(38)으로부터 호스트 장치(24)로 보내진다. BRAM(38)으로부터 인출된 데이터는 호스트 장치(24)에 보내진 데이터가 비교하여 다른 키 및/또는 알고리듬에 의해 인크립트되어 메모리(20)에 저장된 데이터가 인크립트되도록 HDMA(32)에 통과되기 전에 크립토 엔진(40)에 의해 다시 인크립트된다. 선택적으로, 데이터가 인증되지 않은 액세스에 공격받을 수 있게 되는 상기된 처리에서 BRAM(38)에 디크립트된 데이터를 저장하기 보다, 메모리(20)로부터의 데이터는 디크립트되고 BRAM(38)에 전송되기 전에 크립토 엔진(40)에 의해 다시 인크립트된다. BRAM(38)에서 인크립트된 데이터는 이전과 같이 호스트 장치(24)로 보내진다. 이것은 판독 처리 동안 데이터 스트림을 도시한다.When data from the
데이터가 호스트 장치(24)에 의해 메모리(20)에 기입될 대, 데이터 스트림의 방향은 역전된다. 예를들어 만약 인크립트되지 않은 데이터가 호스트 장치에 의해 버스(26), HIM(16), HDMA(32)를 통하여 크립토 엔진(40)에 전송되면, 상기 데이터는 BRAM(38)에 저장되기 전에 엔진(40)에 의해 인크립트될 수 있다. 선택적으로, 인크립트되지 않은 데이터는 BRAM(38)에 저장될 수 있다. 그 다음 데이터는 메모리(20)에 그 길을 따라 FDMA(34)에 전송되기 전에 인크립트된다.When data is written to the
라이프 사이클 단계들Life cycle stages
상기된 것과 같은 메모리 카드에서 실행될 때 특히 유용한 보안 시스템 또는 보안 동작 시스템은 예를들어 다른 단계들 또는 상태들을 가진다. 이들 단계들은 바람직하게 순차적으로 진입되어, 하나의 단계에서 다음 단계로 진행 후, 이전 단계는 다시 진입될 수 없다. 그러므로, 상기 단계들은 라이프 사이클 단계들이라 생각될 수 있다.Security systems or security operating systems that are particularly useful when executed on a memory card such as those described above have other steps or states, for example. These steps are preferably entered sequentially so that after proceeding from one step to the next, the previous step cannot be entered again. Therefore, the above steps can be thought of as life cycle steps.
상기 단계들을 상세히 기술하기 전에, 다른 시스템 레벨 다이어그램은 짧게 논의될 것이다. 도 1b는 시스템(10)의 다른 실시예를 도시한다. 시스템(10)의 특정 부품들만이 간략화 및 명확화를 위하여 도면에 도시된다. 메모리 시스템(10)은 하드웨어 검사 입력/출력(I/O)(54)이라 불리는 검사 패드들을 포함한다. 하드웨어 버스(HW 버스)(56)는 바람직하게 검사 패드들(54)에 접속된다. 이들 검사 패드들 및 HW 버스(56)는 시스템의 다양한 하드웨어 및 회로(도시되지 않음)에 접속되고 시스템(10)의 하드웨어 및 회로를 검사하기 위하여 사용된다. JTAG 버스(62)는 시스템 버스(15)(도 1A에 도시됨)에 접속되고 시스템(10) 외측으로부터의 제어기 펌웨어 및 드라이브 하드웨어 블록들을 대체하기 위하여 사용될 수 있다. 이것은 레지스터 판독/기입 동작들을 요구하는 하드웨어 검사에 사용된다. JTAG 버스(62)가 RAM 및 ROM에 액세스하기 때문에, 상기 버스는 시스템(10)의 펌웨어를 검사하기 위하여 사용된다. 호스트 버스(26)는 진단 명령들을 시스템(10)에 전송하기 위하여 사용되고 시스템의 펌웨어를 검사하기 위하여 사용된다. Before describing the steps in detail, other system level diagrams will be discussed briefly. 1B shows another embodiment of a
인크립션 엔진(40)의 NVM(50)은 또한 도시된다. NVM(50)내에는 라이프 사이클 상태(77) 및 비밀 키(99)에 대한 값이 저장된다. NVM 검사 포트(58)는 인크립션 엔진(40) 내에서 NVM을 검사하기 위하여 사용된다.The
상태 표시기 퓨즈(66)는 제품이 NVM 콘텐트에 의존하기 보다 NVM 상태 (110)(하기에 기술됨)에 있다는 것을 가리키기 위하여 사용된다. 그 이유는 제조 단계 동안 NVM에 저장된 초기 값의 신뢰성이 보장될 수 없기 때문이다. 그러므로, 표시기 같은 다른 보다 신뢰적인 표시기는 사용된다. 시스템은 퓨즈가 설정되면 상태(110) 내에 있는지를 결정할 것이다. 만약 시스템(10)이 리셋되면, 상태를 결정하기 위하여 NVM 라이프 사이클 상태(77)를 찾을 것이다. Status indicator fuse 66 is used to indicate that the product is in NVM state 110 (described below) rather than depending on the NVM content. This is because the reliability of the initial values stored in the NVM during the manufacturing phase cannot be guaranteed. Therefore, other more reliable indicators such as indicators are used. The system will determine if the fuse is in
도 2a는 다양한 상태들 및 상태들 사이의 전이 순서를 도시한다. 각각의 상태는 도 2b로서 재생되는 다음 테이블에 도시된 바와 같이 카드가 제조되기 전 및 후에 카드(또는 실행되는 다른 시스템)의 다른 행동 및 능력들을 정의한다.2A shows the various states and the order of transitions between them. Each state defines different behaviors and capabilities of the card (or other system executed) before and after the card is manufactured, as shown in the following table played back as FIG. 2B.
상태는 바람직하게 인크립션 엔진의 비휘발성 메모리내 32 비트 값으로서 저장된다. 상태들(120-170)을 나타내기 위하여 사용되는 다수의(≒109) 결합들중에 6개의 사전 할당된 값들이 있다. 다른 모든 값들은 상태(110)를 가리킨다. 이것은 정의된 값이 제조 동안 신뢰적으로 저장될 수 있는 것이 보장될 수 없고 그 후 제조, 어셈블리, 검사, 및 선적 동안 다양한 처리 동작들이 메모리에 임의로 저장된 값을 변경할 수 있기 때문이다. The state is preferably stored as a 32-bit value in non-volatile memory of the encryption engine. There are six pre-assigned values among the multiple (# 10 9 ) combinations used to represent states 120-170. All other values indicate
키 값은 인크립션 엔진의 비휘발성 메모리에서 128 비트 필드로서 바람직하 게 저장된다. 키 값은 씨드(seeded)된 알고리듬에 의해 정상적으로 임의적으로 생성된다. 키의 재생은 키의 값을 잘 변화시킬 수 있지만, 이것은 (의사) 랜덤 수의 발생기가 실제로 연속적으로 동일한 값을 생성할 수 있기 때문에 보장될 수 없다. 그러나, 키를 변화시킨다는 용어는 비록 키의 값이 재생 동안 변화할 수 없다는 것이 이해될지라도 이런 애플리케이션에서 키의 재생과 상호교환적으로 사용된다. 말할 필요없이, 정보를 인크립트하기 위하여 사용된 키의 값은 중요하다. 동일한 키 값은 인크립션 및 디크립션 양쪽에 사용되어야 한다. 따라서, 만약 키 값이 시스템의 모든 전력 상승시 재생되면, 전력 상승 전에 인크립트된 데이터는 새로운 키로 디크립트될 수 없기 때문에 실제로 가치가 없다. 비록 데이터가 카드의 메모리에 물리적으로 제공되지만, 데이터는 그것을 언로크(unlock)하기 위한 적당한 키없이는 사용될 수 없다. 따라서, 만약 여하튼 카드가 하나의 상태로 돌아가게 해커가 관리하면, 다른 보안 상태(15)와는 달리, 해커는 임의의 우수한 정보를 얻지 못할 것이다. 상태들(110 및 160)에서, 새로운 키는 모든 전력 상승시 생성될 것이고 상태(150)에서 이전에 정보를 저장하기 위하여 사용된 키는 정보를 디크립트하기 위하여 사용될 수 없을 것이다. 상태들(170 및 110)에서 인크립션 엔진은 키 값에도 불구하고 간단하게 이용 가능하지 않다.The key value is preferably stored as a 128-bit field in the non-volatile memory of the encryption engine. Key values are normally randomly generated by a seeded algorithm. The reproduction of the key can change the value of the key well, but this cannot be guaranteed because a (pseudo) random number of generators can actually produce the same value continuously. However, the term changing keys is used interchangeably with the playback of keys in such applications even though it is understood that the value of the keys cannot change during playback. Needless to say, the value of the key used to encrypt the information is important. The same key value should be used for both encryption and decryption. Thus, if the key value is reproduced at every power up of the system, the data encrypted before the power up is not really valuable because it cannot be decrypted with the new key. Although the data is physically provided to the memory of the card, the data cannot be used without the proper key to unlock it. Thus, if the hacker manages to return the card to one state anyway, unlike the
다른 보안 방법은 펌웨어 및 하드웨어 검사 메카니즘의 활용을 제한하는 것이다. 시스템은 메카니즘들을 인에이블 또는 디스에이블할 논리를 포함한다. 이전에 기술된 호스트 버스는 카드의 펌웨어를 검사하기 위하여 사용된 메카니즘들중 하나이다. 호스트는 펌웨어를 검사하기 위하여 호스트 버스상에 진단 명령들을 내 릴 수 있다. 하드웨어는 이들 명령들이 실행될 때 검사될 수 있다. 하드웨어는 하드웨어 버스뿐 아니라 JTAG 포트상에서 직접적으로 검사되고, 이것은 시스템의 다양한 메모리들에 대한 직접적인 액세스를 제공한다. 상태들(140 및 150)에서 NVM 검사 메카니즘들, HW 검사 메카니즘들, 및 FW 검사 메카니즘들은 모두 디스에이블된다.Another security measure is to limit the use of firmware and hardware inspection mechanisms. The system includes logic to enable or disable the mechanisms. The previously described host bus is one of the mechanisms used to check the card's firmware. The host can issue diagnostic commands on the host bus to check the firmware. The hardware can be checked when these instructions are executed. The hardware is checked directly on the JTAG port as well as on the hardware bus, which provides direct access to the various memories of the system. NVM inspection mechanisms, HW inspection mechanisms, and FW inspection mechanisms in
상태들 및 도 2a에 도시된 상태들 사이의 통과는 지금 추가로 상세히 기술될 것이다.The passage between states and the states shown in FIG. 2A will now be described in further detail.
상태(110)는 제어기 비휘발성 메모리(NVM) 검사라 한다. 이 상태는 메모리 다이의 제조 후 초기 상태이고, 다이가 패키지되고 메모리 카드에 설치되기 전에 제어기 다이의 비휘발성 메모리를 검사하기 위하여 사용된 상태이다. 이런 상태에서 발생하는 검사는 다이들이 웨이퍼 포맷에 일체형인 동안 개별화 전에 수행될 수 있거나, 선택적으로 개별화 후 개별 다이상에서 수행될 수 있다. 일단 NVM이 검사되면, 콘텐트(NVM 검사기를 사용함)는 상태(120)를 가리키기 위하여 시작되고, 퓨즈(66)는 블로우(blown)된다. 이 상태에서 인크립션 엔진(40)은 디스에이블된다. 이 상태는 카드의 라이프 사이클에서 한번만 진입되도록 설계되고 이 상태로 리턴하기 위한 시스템내의 방법은 없다. 그러나, 이전에 논의된 바와 같이, 이 상태는 라이프 사이클 상태를 정의하기 위하여 사용된 32 비트 값의 많은 가능한 결합들중 6 개의 사전 할당된 값들과 다른 임의의 것으로 표시된다. 만약 불법의 값이 검출되고 퓨즈가 블로우되면(NVM 상태 110가 진입되지 않음) 크립토 엔진은 결코 준비되지 않고 시스템은 부트되지 않거나, 도 2에 관련하여 하기에 기술된 단계(302)를 넘어서 진행한다. 그러므로, 카드에 전력이 인가되고 이런 상태에 있는 각각의 시간에, 새로운 키는 임의로 생성되고, 이전에 인크립트된 데이터는 디크립트되지 않는다. 비록 디크립션 엔진이 이런 모드에서 인에이블되지 않지만, 상기 모드는 웨이퍼가 제조 동안 여전히 본래대로 있는 동안 사용되도록 설계되기 때문에, 키는 몇몇 우연한 방식으로 이런 상태를 진입할 수 있고 다양한 검사 포트들 및 메카니즘들을 통하여 카드의 보안 데이터를 검사하고자 하는 해커에 대하여 보호하기 위하여 모든 전력 상승시 재생된다. 그렇지 않으면, 설계에 의해 종래 상태(110) 이후, NVM 검사 메카니즘들은 더 이상 이용할 수 없다.
상태(120)는 일정한 인에이블 상태라 한다. 이 상태에서 인크립션 엔진(40)은 인에이블된다. 인크립션 엔진이 사용할 키는 랜덤 수의 생성기에 의해 생성되고, 메모리에 저장되는 것이 아니고, 이 단계 동안 몇몇 외부 소스 및 상수에 배선된다. 하드웨어 및 소프트웨어 검사 메카니즘들은 이런 상태에서 이용할 수 있다. 이 상태는 하드웨어 검사기에 의해 진입된다.
상태(130)는 랜덤 인에이블 상태라 한다. 이 상태는 상태(120)와 유사하지만, 보안 키는 상태(130)가 상수 및 배선 대신 진입될 때 랜덤하게 생성(한번)된다. 이것은 메모리 카드의 최종 검사, 특성화 및 조건에 사용되는 상태이다. 인크립션 및 디크립션을 포함하는 암호 동작들은 보안 키 또는 보안 키로부터 유도된 키를 사용하여 펌웨어로 가능하다. 이런 상태는 호스트 장치(24)에 의해 시스템(10)내에 로딩되는 코드에 의해 진입되고 시스템(10)에 의해 실행된다.
상태(140)는 최종 키 상태라 한다. 이 상태에서 카드는 카드가 선적될 최종 보안 키를 사용한다. 하드웨어 및 소프트웨어 검사 메카니즘들은 카드 논리에 의해 디스에이블되고 액세스될 수 없다. 이것은 도 1B에 도시된 하드웨어 검사 버스 및 검사 패드들을 포함한다. 이 상태는 제품을 선적하는 키로 보호될 필요가 있는 최종 펌웨어 및 구성 데이터로 카드를 로드하기 위하여 사용된다. 제품은 이런 상태로 구성될 수 있고, 상태(15)에서는 그럴 수 없다. 이 상태는 호스트 명령에 의해 진입된다. 명령은 호스트로부터 다운로드되고 카드에 의해 실행되는 코드에 포함될 수 있다("DLE 코드"). 명령은 선택적으로 호스트로부터 직접 내려질 수 있다. 이것은 용어 DLE 코드가 이하에 사용되는 임의의 시간에 사실이다.
상태(150)는 보안 상태라 한다. 이것은 카드가 제조로부터 선적되는 상태이다. 하드웨어 및 소프트웨어 검사 메카니즘들은 카드 논리에 의해 디스에이블되고 액세스될 수 없다. 이 상태는 제조 플로우 상에서 제품의 검사 및 구성의 종료시 진입된다. 키는 상태(140)는 재생되지 않고 상태(150) 동안 메모리에 저장된 값은 상태(150) 동안 사용된다. 파생 키들이 카드의 다양한 동작들에 사용될 수 있을 때, 키(99)는 이들 키들을 항상 유도하고 데이터를 인크립트 및 디크립트할 필요가 있을 것이다. 이런 키는 보안 카드의 라이프에 사용되는 것으로 의미된다(보안 카드로서 고객의 손에 있을 때, 그 후가 아님). 카드내 펌웨어는 임의의 동작 동안 보안 키를 사용할 수 없다. 카드내 인크립션 및 디크립션 모두를 수행하기 위하여 사용하는 인크립션 엔진의 하드웨어가 있다. 이런 상태는 DLE 코드에 의해 진입된다.
상태(160)는 리턴된 상품 인증 또는 RMA 상태라 한다. 이 상태는 적당하게 작동하지 않기 때문에 고객에 의해 리턴된 카드의 검사를 허용하도록 설계된다. 이것은 카드의 결함 분석이 수행될 수 있는 상태이다. 소프트웨어 및 하드웨어 검사 메카니즘들은 다시 이용할 수 있다. 이 상태가 제조소에 의해서만 액세스될 수 있다는 것을 주의하는 것은 중요하다. 게다가, RAM 상태가 진입된 후, 카드는 결코 다시 보안 카드로서 사용될 수 없다. 다른 말로, 상태(150)로 다시 결코 진입할 수 없거나 그렇지 않으면 카드상에 상주하는 정보를 디크립트하거나 인크립트된 정보를 카드에 저장하기 위하여 사용된다. 보안 키는 이런 모드가 진입될 때 재생되고 카드가 이런 상태에 있는 동안 모든 칩 리셋 동안 수행된다. 디크립션을 위하여 보안 키를 사용하는 동작은 부트 시간에서만 인에이블되고 펌웨어는 임의의 동작들을 위한 보안 키를 사용할 수 없다. 이 상태는 호스트 명령의 결과인 ROM 코드에 의해 진입된다.
상태(170)는 디스에이블된 상태라 한다. 디스에이블된 상태에서, 크립토 엔진(40)은 디스에이블된 모든 암호 능력을 가진 바이패스 모드에 있다. 단지 비보안 알고리듬만이 카드내에서 사용된다. 하드웨어 및 소프트웨어 검사 메카니즘들은 인크립션 엔진없이 아무것도 해킹될 수 없거나 그렇지 않으면 도청될 수 없기 때문에 다시 인에이블된다. 임의의 인크립트된 정보는 더 이상 디크립트되지 않고 쓸모없게 된다. 또한, 부가적인 정보는 인크립되고 추후 디크립트될 수 없다. 이 상태는 비보안 또는 "정규" 카드를 생성하기 위하여 사용될 수 있다. 이런 방식에서, 동일한 시스템은 보안 및 비보안 메모리 카드들을 형성하기 위하여 사용될 수 있다. 차이는 비보안 카드에서 카드의 보안 시스템이 디스에이블된 상태이거나, 카드가 상태(170)에서 있지 않는다는 것이다. 디스에이블된 상태는 또한 결함 분석을 위하여 제조소에 다시 보내진 제품을 재선적하기 위하여 사용될 수 있고, 그러므로 RMA 상태(160)로 통과되었다. 상기된 바와 같이, 카드가 RMA 상태(160)로 진입한 후, 임의의 이전 상태로 결코 리턴할 수 없고, 보안 카드로서 다시 팔릴 수 없다. 그러나, 기능 작용을 가지거나 제조소에서 다시 기능 작용이 형성될 수 있는 카드는 디스에이블된 상태(170)로 되고 비보안 카드로서 다시 팔린다. 이런 방식으로, 카드는 재생되고 모든 강한 목적들을 위하여 새로운 비보안 또는 "정규" 카드와 동일하다. 양쪽 재생된 비보안 카드 및 새로운 비보안 카드는 동일한 상태에서 동일한 펌웨어를 운용할 것이다.
현재, 방대한 카드들은 비보안 카드들이다. 보안 카드들을 판매하기 위한 운동이 주로 콘텐트 제공자들의 요구로 인해 높지만, 미래 메모리 카드 판매중 몇퍼센트가 보안 카드들 대 비보안 카드들일지 불명확하다. 명확한 것은 다수의 비보안 콘텐트가 항상 있고 그러므로 비보안 카드들에 대한 요구가 있다는 것이다. 본 발명은 보안 카드의 모든 하드웨어 및 소프트웨어를 검사할 수 있을 뿐 아니라(단지 인증된 사람들에 의해), 다양한 비보안 용도들을 위하여 리턴된 보안 카드들을 재생하기 위한 능력을 제공한다. 게다가, 본 발명의 시스템은 강한 보안성을 갖지만, 결함 분석을 수행하기 위하여 디스에이블될 필요가 없거나 타협된 보안 시스템을 가질 필요가 없는(액세스 가능한 "백도어"를 가짐) 카드를 허용한다. 메모리 카드들을 사용하는 장치들의 널리 증가하는 확산으로 인해, 결함 보안 카드인 것을 재생하기 위한 능력은 마찬가지로 소비자 및 제조자에게 매우 바람직하다.Currently, the vast majority of cards are nonsecure cards. While the movement to sell security cards is high mainly due to the needs of content providers, it is unclear what percentage of future memory card sales will be security cards versus non-security cards. What is clear is that there is always a lot of unsecured content and therefore there is a need for unsecured cards. The present invention not only can inspect all hardware and software of the security card (only by authorized persons) but also provides the ability to play the returned security cards for various non-security purposes. In addition, the system of the present invention allows cards that have strong security, but which do not need to be disabled or have a compromised security system (having an accessible "backdoor") to perform fault analysis. Due to the widespread proliferation of devices using memory cards, the ability to play back a defective security card is likewise highly desirable to consumers and manufacturers.
도 3은 상기된 시스템을 실행하는 메모리 카드에 대한 부팅 처리를 도시한다. 부트 업 처리중 많은 정보에 대해, 여기에 참조로써 전체적으로 통합되고 Micky Holtzman 등에 의한 것이며 발명의 명칭이 "Method of Hardware Driver Integrity Check Of Memory Card Controller Firmware"이고 위임 도킷 번호가 SNDK.408US1인 공동 계류중인 출원 11/284,623을 참조하라.3 shows a boot process for a memory card executing the system described above. For much of the information during the boot up process, it is hereby incorporated by reference in its entirety, by Micky Holtzman et al.
단계(302)에서, 시스템은 크립토 엔진(40) 및 다른 부품들을 포함하는 암호 하드웨어가 준비되었는지 검사한다. 시스템은 하드웨어가 준비될때까지 처리를 기다릴 것이다. 하드웨어가 준비될 때 시스템은 단계(304)로 진행한다. 단계(304)에서 시스템은 카드가 상태(170)(디스에이블된 상태)인지를 알기 위하여 검사한다. 만약 카드가 상태(170)이면, 단계 306에서 시스템은 플래시 메모리(20)로부터 RAM(11)으로 최소량의 시작 코드인 부트 로더("BLR")를 업로드할 것이다. 다음, 단계(308)에서 시스템은 BLR이 적당하게 업로드되었는지를 알기 위하여 검사한다. 만약 그렇다면, 단계(310)에서, 시스템은 비보안 모드(표준 펌웨어 마이너스 암호 기능)에서 운용하기에 필요한 펌웨어를 업로드할 것이다. 만약 BLR이 단계(308)에서 결정된 바와 같이 적당하게 업로드되지 않으면, 시스템은 하기된 단계(324)로 진행할 것이다.In
단계(304)에서 카드가 상태(170)에 있지 않은 것을 시스템이 결정하면, 시스템은 단계(312)에서 RAM 콘텐트들을 삭제할 것이다. 그 후 단계(314)에서 시스템은 카드가 어떤 상태인지를 알기 위하여 다시 검사할 것이다. 카드가 상태(120,130, 또는 140)에 있으면, BLR은 단계(316)에서 업로드될 것이다. 단 계(318)에서, 시스템은 BLR이 적당하게 업로드 되었는지를 알기 위하여 검사할 것이다. 다음, 단계(320)에서 BLR 코드의 보전 검사는 수행될 것이다. 이런 보전 검사는 메시지 인증 코드(MAC) 값들을 계산하고 그들을 기준 값들과 비교함으로써 수행되는 하드웨어 바탕 검사이다. 보전 검사의 결과는 메모리에 저장된 간단한 플래그이다. 단계(322)에서, 펌웨어는 보전이 검증되었는지 아닌지를 알기 위하여 플래그를 검사한다. 보전이 OK이면, 시스템은 단계(342)에서 보안 모드에서 운용하기 위하여 필요한 펌웨어를 업로드할 것이고, 이것은 물론 비보안 데이터가 저장 및 검색되게 한다. 만약 보전이 단계(322)에서 결정된 바와 같이 OK가 아니면, 시스템은 단계(324)에 의해 표현된 바와 같이 호스트로부터의 특정 명령들(DLE 명령)을 다운로드 및 실행하기 위하여 호스트로부터 진단 명령을 기다릴 것이다. 만약 DLE 명령이 단계(326)에서 처럼 검색되면, 시스템은 단계(328)에서 DLE 코드를 RAM에 로딩할 것이다. 단계(330)에서 DLE 코드는 제어기에 의해 실행될 것이다.If the system determines that the card is not in
단계(314)에서, 카드가 상태(120,130 또는 140)에 있지 않은 것을 결정하였다면, 시스템은 카드가 상태(150)에 있는지를 알기 위하여 단계(332)에서 검사할 것이다. 만약 그렇다면, 시스템은 단계(334)에서 BLR을 업로드할 것이다. 이것은 ROM 코드에 의해 수행된다. 만약 BLR 업로드가 단계(336)에서 결정된 바와 같이 OK이면, 하드웨어 바탕 보전 검사는 단계(320)에서 상기된 바와 같이 단계(338)에서 수행될 것이다. 이런 하드웨어 바탕 보전 검사, 다른 보전 검사 후, 소프트웨어 바탕 보전 검사는 단계(340)에서 수행될 것이다. 만약 보전이 OK이면, 시스템은 비보안 데이터가 저장 및 검색되게 하는 보안 모드에서 운용하기에 필요한 펌웨 어를 업로드할 것이다.If at
만약 단계(332)에서 카드가 상태(150)에 있지 않은 것이 결정되면, 시스템은 카드의 상태를 검사하고 카드가 상태(160)에 있고 만약 그렇다면 단계(348)에 의해 표현된 바와 같이 진단 명령을 기다릴 것이다. 그러나, 만약 단계(344)에서 카드가 상태(160)에 있지 않은 것이 결정되면, 시스템은 단계(346)에 도시된 바와 같이 RMA 상태(160)로 진행하기 위한 명령을 기다릴 것이다. If at
Claims (40)
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US65112805P | 2005-02-07 | 2005-02-07 | |
US60/651,128 | 2005-02-07 | ||
US11/317,390 US8108691B2 (en) | 2005-02-07 | 2005-12-22 | Methods used in a secure memory card with life cycle phases |
US11/317,862 | 2005-12-22 | ||
US11/317,862 US8321686B2 (en) | 2005-02-07 | 2005-12-22 | Secure memory card with life cycle phases |
US11/317,390 | 2005-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070121642A KR20070121642A (en) | 2007-12-27 |
KR100972540B1 true KR100972540B1 (en) | 2010-07-28 |
Family
ID=36644859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077018143A KR100972540B1 (en) | 2005-02-07 | 2006-02-01 | Secure memory card with life cycle phases |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1846826A2 (en) |
JP (1) | JP4787273B2 (en) |
KR (1) | KR100972540B1 (en) |
CN (1) | CN101164048B (en) |
IL (1) | IL184793A0 (en) |
TW (1) | TWI402755B (en) |
WO (1) | WO2006086232A2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7748031B2 (en) | 2005-07-08 | 2010-06-29 | Sandisk Corporation | Mass storage device with automated credentials loading |
US7536540B2 (en) | 2005-09-14 | 2009-05-19 | Sandisk Corporation | Method of hardware driver integrity check of memory card controller firmware |
US9304555B2 (en) | 2007-09-12 | 2016-04-05 | Devicefidelity, Inc. | Magnetically coupling radio frequency antennas |
US8915447B2 (en) | 2007-09-12 | 2014-12-23 | Devicefidelity, Inc. | Amplifying radio frequency signals |
US8070057B2 (en) | 2007-09-12 | 2011-12-06 | Devicefidelity, Inc. | Switching between internal and external antennas |
US20090069049A1 (en) * | 2007-09-12 | 2009-03-12 | Devicefidelity, Inc. | Interfacing transaction cards with host devices |
US9311766B2 (en) | 2007-09-12 | 2016-04-12 | Devicefidelity, Inc. | Wireless communicating radio frequency signals |
US9553721B2 (en) * | 2015-01-30 | 2017-01-24 | Qualcomm Incorporated | Secure execution environment communication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08507164A (en) * | 1992-12-23 | 1996-07-30 | ガオ ゲゼルシャフト フェア アウトマツィオンウント オルガニザツィオン ミット ベシュレンクテル ハフツング | System for checking the authenticity of data carriers |
US5629513A (en) | 1994-03-04 | 1997-05-13 | Gemplus Card International | Method for the functioning of a chip card, and chip card in accordance therewith |
WO1999064996A1 (en) | 1998-06-05 | 1999-12-16 | Landis & Gyr Communications S.A.R.L. | Preloaded ic-card and method for authenticating the same |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3461234B2 (en) * | 1996-01-22 | 2003-10-27 | 株式会社東芝 | Data protection circuit |
EP1004992A3 (en) * | 1997-03-24 | 2001-12-05 | Visa International Service Association | A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card |
JPH11161549A (en) * | 1997-11-28 | 1999-06-18 | Toshiba Corp | Secret information management method and system in portable information equipment |
EP0992809A1 (en) * | 1998-09-28 | 2000-04-12 | Siemens Aktiengesellschaft | Circuit with deactivatable scan path |
JP2000172821A (en) * | 1998-12-10 | 2000-06-23 | Toshiba Corp | Semiconductor device, data storage medium, data recorder, data reading-out device, and manufacture of semiconductor device |
US7023996B2 (en) * | 2001-05-04 | 2006-04-04 | The Boeing Company | Encryption for asymmetric data links |
DE10162306A1 (en) * | 2001-12-19 | 2003-07-03 | Philips Intellectual Property | Method and arrangement for verifying NV fuses as well as a corresponding computer program product and a corresponding computer-readable storage medium |
JP4350962B2 (en) * | 2002-03-13 | 2009-10-28 | パナソニック株式会社 | Secure device |
US6912633B2 (en) * | 2002-03-18 | 2005-06-28 | Sun Microsystems, Inc. | Enhanced memory management for portable devices |
US6843423B2 (en) * | 2003-03-13 | 2005-01-18 | Stmicroelectronics, Inc. | Smart card that can be configured for debugging and software development using secondary communication port |
US6783078B1 (en) * | 2003-05-09 | 2004-08-31 | Stmicroelectronics, Inc. | Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods |
TW200501281A (en) * | 2003-06-27 | 2005-01-01 | Kingpak Tech Inc | Manufacturing method of small memory card having display |
EP1649410A2 (en) * | 2003-07-17 | 2006-04-26 | SanDisk Corporation | Memory card with raised portion |
TWI223974B (en) * | 2003-11-20 | 2004-11-11 | Advanced Semiconductor Eng | Tiny memory card and method for manufacturing the same |
-
2006
- 2006-02-01 KR KR1020077018143A patent/KR100972540B1/en not_active IP Right Cessation
- 2006-02-01 JP JP2007554249A patent/JP4787273B2/en not_active Expired - Fee Related
- 2006-02-01 CN CN2006800042296A patent/CN101164048B/en not_active Expired - Fee Related
- 2006-02-01 WO PCT/US2006/003876 patent/WO2006086232A2/en active Application Filing
- 2006-02-01 EP EP06734304A patent/EP1846826A2/en not_active Withdrawn
- 2006-02-07 TW TW095104117A patent/TWI402755B/en not_active IP Right Cessation
-
2007
- 2007-07-23 IL IL184793A patent/IL184793A0/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08507164A (en) * | 1992-12-23 | 1996-07-30 | ガオ ゲゼルシャフト フェア アウトマツィオンウント オルガニザツィオン ミット ベシュレンクテル ハフツング | System for checking the authenticity of data carriers |
US5629513A (en) | 1994-03-04 | 1997-05-13 | Gemplus Card International | Method for the functioning of a chip card, and chip card in accordance therewith |
WO1999064996A1 (en) | 1998-06-05 | 1999-12-16 | Landis & Gyr Communications S.A.R.L. | Preloaded ic-card and method for authenticating the same |
Also Published As
Publication number | Publication date |
---|---|
EP1846826A2 (en) | 2007-10-24 |
KR20070121642A (en) | 2007-12-27 |
CN101164048A (en) | 2008-04-16 |
IL184793A0 (en) | 2008-01-20 |
WO2006086232A2 (en) | 2006-08-17 |
TWI402755B (en) | 2013-07-21 |
JP2008530659A (en) | 2008-08-07 |
JP4787273B2 (en) | 2011-10-05 |
CN101164048B (en) | 2010-06-16 |
TW200641696A (en) | 2006-12-01 |
WO2006086232A3 (en) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8423788B2 (en) | Secure memory card with life cycle phases | |
US8108691B2 (en) | Methods used in a secure memory card with life cycle phases | |
US8321686B2 (en) | Secure memory card with life cycle phases | |
CN111095213B (en) | Secure boot method, device, equipment and storage medium for embedded program | |
KR100972540B1 (en) | Secure memory card with life cycle phases | |
US8572410B1 (en) | Virtualized protected storage | |
US6457126B1 (en) | Storage device, an encrypting/decrypting device and method of accessing a non-volatile memory | |
US20080107275A1 (en) | Method and system for encryption of information stored in an external nonvolatile memory | |
EP1638033A2 (en) | Self testing and securing RAM system and method | |
US20070162964A1 (en) | Embedded system insuring security and integrity, and method of increasing security thereof | |
US20080148118A1 (en) | Method and system for protecting processors from unauthorized debug access | |
US20070237325A1 (en) | Method and apparatus to improve security of cryptographic systems | |
CN108108631A (en) | A kind of root key processing method and relevant apparatus | |
US9152576B2 (en) | Mode-based secure microcontroller | |
CN113177201A (en) | Program checking and signing method and device and SOC chip | |
US20170364711A1 (en) | Secure element | |
US20080263422A1 (en) | Control of the integrity of a memory external to a microprocessor | |
CN108920984A (en) | The anti-clone of one kind distorts safe SSD main control chip framework | |
TWI783531B (en) | Method performed by a system-on-chip integrated circuit device and a computer apparatus | |
US8190920B2 (en) | Security features in an electronic device | |
CN115062330B (en) | TPM-based intelligent password key password application interface implementation method | |
CN108491735A (en) | Nor Flash method for secure storing, device and equipment | |
JP2001527669A (en) | Integrated circuit and test method for the integrated circuit | |
CN109583196B (en) | Key generation method | |
JP5798007B2 (en) | Microcomputer and data processing apparatus |
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: 20130701 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140716 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150618 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160616 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |