KR100428786B1 - 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 - Google Patents
내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 Download PDFInfo
- Publication number
- KR100428786B1 KR100428786B1 KR10-2001-0052927A KR20010052927A KR100428786B1 KR 100428786 B1 KR100428786 B1 KR 100428786B1 KR 20010052927 A KR20010052927 A KR 20010052927A KR 100428786 B1 KR100428786 B1 KR 100428786B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- bits
- bit
- circuit
- data bus
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/34—Bits, or blocks of bits, of the telegraphic message being interchanged in time
Abstract
여기에 개시된 반도체 집적 회로는 데이터 버스를 통하여 제 1 회로 블록과 제 2 회로 블록 사이에 송수신되는 데이터의 비트 배열을 매 클럭마다 변경함으로써 외부 침입자에 의해 데이터 버스에 실린 데이터가 노출되더라도 원래의 데이터와 다른 데이터가 노출되므로 내부 회로 블록들 사이의 입출력 데이터가 인가되지 않은 사람에게 노출되더라도 원래의 데이터와 다른 데이터가 노출되므로 내부 회로 블록들 사이의 입출력 데이터를 보호할 수 있다.
Description
본 발명은 반도체 집적 회로에 관한 것으로, 좀 더 구체적으로는 내장된 회로 블록들 사이의 입/출력 데이터가 비인가된 사람에 의해 모니터링되는 것을 방지할 수 있는 집적 회로에 관한 것이다.
근래에 신용 카드나 은행 카드와 같은 플라스틱 화폐(Plastic money)는 대중적으로 사용된다. 잘 알려진 바와 같이, 마그네틱 카드(magnetic card)라 불리는 종래의 플라스틱 카드는 많은 양의 데이터를 저장할 수 없고 보안(security) 상의 문제가 있다. 반도체 기술이 비약적으로 발전함에 따라, 집적 회로(integrated circuits; ICs)의 크기가 점점 더 작아지게 되었다. 이러한 이유로, IC 카드(또는 스마트 카드(smart cards))는 플라스틱 카드 및 IC의 통합에 의해 발전되었고, 종래의 마그네틱 카드를 완전히 대체하게 되었다. 스마트 카드는 매우 많은 양의 데이터를 저장할 수 있고, 보안이 향상되고, 쉽게 손상되지 않는다는 장점을 갖는다. 따라서, 스마트 카드는 은행 카드뿐만 아니라 신분 증명서(identification card), 건강 보험 카드(health insurance card)등 그 적용 분야가 매우 다양해지고 있는 추세이다. 그러므로, 스마트 카드는 우리의 일상 생활에 폭넓게 적용되어 새로운 문화가 되었다.
이러한 스마트 카드용 집적 회로에는 신용카드 번호, 주민등록번호, 통장계좌번호 및 패스워드와 같은 중요한 데이터들이 저장되므로, 집적 회로에 저장된 데이터에 대한 보안이 매우 중요하다.
도 1은 스마트 카드용 집적 회로를 예시적으로 보여주는 도면이다.
도 1을 참조하면, 집적 회로(10)는 CPU(central processing unit) 또는 마이크로프로세서와 같은 프로세서(11), RAM(random access memory)(13), ROM(read only memory)(14), EEPROM(Electrically Erasable and Programmable ROM), 그리고 입/출력 컨트롤러(12)를 포함하여 구성된다. 집적 회로(10)에 구성된 상기 회로 블록들은 시스템 버스(16)를 통해 상호 연결되어서 데이터, 프로그램 그리고 제어 코드 등을 송수신한다.
집적 회로에 관한 전문적인 지식을 가진 자들이라면 회로 블록들과 시스템 버스를 용이하게 구별할 수 있으며, 소정의 수단을 이용하여 버스에 실려있는 데이터를 용이하게 모니터링할 수 있다. 만일 회로 블록들 사이에 송수신되는 데이터가 해커에게 노출되어서 악용된다면 심각한 사회적 문제가 발생될 것이다.
그러므로, 신용카드, 건강 보험 카드 및 신분 증명서로 사용되는 스마트 카드용 집적 회로는 내부 회로 블록들 사이에 송수신되는 데이터의 보안을 유지할 수 있는 기능이 요구된다.
따라서, 본 발명은 내부 회로 블록들 사이의 입출력 데이터를 보호할 수 있는 집적 회로를 제공하는데 있다.
도 1은 스마트 카드용 집적 회로를 예시적으로 보여주는 도면;
도 2는 본 발명의 바람직한 따른 스마트 카드용 집적 회로의 구성을 보여주는 도면;
도 3은 도 2에 도시된 제 1 및 제 2 스크램블러들의 회로 구성을 보여주는 블록도;
도 4는 도 3에 도시된 제 1 및 제 2 비트 배열 선택기들의 개략적인 회로 구성을 보여주는 블록도;
도 5는 도 4에 도시된 스위칭부들의 상세한 회로 구성을 보여주는 도면;
도 6A는 CPU로부터 출력되는 데이터가 RAM으로 전송될 때 난수 발생기에서 발생된 난수에 따라서 데이터 비트들의 위치 변화를 예시적으로 보여주는 도면; 그리고
도 6B는 RAM으로부터 출력되는 데이터가 CPU으로 전송될 때 난수 발생기에서 발생된 난수에 따라서 데이터 비트들의 위치 변화를 예시적으로 보여주는 도면이다.
*도면의 주요 부분에 대한 설명*
100 : 반도체 집적 회로 110 : CPU 회로 블록
111 : CPU 112 : 제 1 스크램블러
113 : 난수 발생기 120 : RAM 회로 블록
121 : RAM 122 : 제 2 스크램블러
130 : 데이터 버스 200 : 제 1 비트 배열 변경기
220 : 제 1 선택 신호 발생기 300 : 제 2 비트 배열 변경기
320 : 제 2 선택 신호 발생기 201~204, 301~304 : 스위칭부
SWA0~SWA3, SWB0~SWA3 : 스위치
(구성)
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 반도체 집적 회로는: 제 1 기능 회로를 포함하는 제 1 회로 블록, 제 2 기능 회로를 포함하는 제 2 회로 블록, 및 상기 제 1 및 제 2 회로 블록들 사이의 데이터 송수신을 위한 데이터 버스를 포함한다. 상기 제 1 회로 블록은 상기 제 1 기능 회로로부터 출력되는 데이터를 암호화해서 상기 데이터 버스로 출력하고, 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 암호화된 데이터를 복호화해서 상기 제 1 기능 회로로 제공하는 암호/복호화기를 더 구비한다. 상기 제 2 회로 블록은 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 상기 암호화된 데이터를 복호화해서 상기 제 2 기능 회로로 제공하고, 상기 제 2 기능 회로로부터 출력되는 데이터를 암호화해서 상기 데이터 버스로 출력하는 복호/암호화기를 더 구비한다.
바람직한 실시예에 있어서, 클럭 신호에 응답해서 난수를 발생하는 난수 발생기를 더 포함하되, 상기 암호/복호화기 및 상기 복호/암호화기는 상기 난수에 따라서 암호화 및 복호화 동작을 수행한다.
이 실시예에 있어서, 상기 난수 발생기는 상기 제 1 회로 블록 내에 집적된다.
본 발명의 다른 특징에 의하면, 반도체 집적 회로는 제 1 기능 회로를 포함하는 제 1 회로 블록, 제 2 기능 회로를 포함하는 제 2 회로 블록, 및 상기 제 1 및 제 2 회로 블록들 사이의 데이터 송수신을 위한 데이터 버스를 포함한다. 상기 제 1 회로 블록은, 클럭 신호에 응답해서 난수를 발생하는 난수 발생기와, 상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터를 암호화하여 상기 데이터 버스로 출력하고, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 암호화된 데이터를 복호화해서 상기 제 1 기능 회로로 제공하는 암호/복호화기를 더 구비한다. 상기 제 2 회로 블록은, 상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 상기 암호화된 데이터를 복호화해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터를 암호화하여 상기 데이터 버스로 출력하는 복호/암호화기를 더 구비한다.
본 발명의 또 다른 특징에 의하면, 반도체 집적 회로는: 제 1 기능 회로를 포함하는 제 1 회로 블록, 제 2 기능 회로를 포함하는 제 2 회로 블록, 및 상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함한다. 상기 제 1 회로 블록은 클럭 신호에 응답해서 난수를 발생하는 난수 발생기, 상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 스크램블러를 더 포함한다. 상기 제 2 회로 블록은 상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 더 구비한다.
바람직한 실시예에 있어서, 상기 제 1 스크램블러는, 상기 난수 발생기에서 발생된 난수에 대응하는 제 1 선택 신호들을 발생하는 수단 그리고 상기 제 1 선택 신호들에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 제 1 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 비트 배열 변경기를 포함한다.
이 실시예에 있어서, 상기 제 2 스크램블러는, 상기 난수 발생기에서 발생된 난수에 대응하는 제 2 선택 신호들을 발생하는 수단 그리고 상기 제 2 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기제 2 선택 신호들에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 비트 배열 변경기를 구비한다.
본 발명의 다른 특징에 의하면, 스마트 카드는: 제 1 기능 회로를 포함하는 제 1 회로 블록, 제 2 기능 회로를 포함하는 제 2 회로 블록, 및 상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함한다.
상기 제 1 회로 블록은, 클럭 신호에 응답해서 난수를 발생하는 난수 발생기 및 상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 스크램블러를 더 포함하고, 상기 제 2 회로 블록은 상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 더 구비한다.
본 발명의 또 다른 특징에 의하면, 반도체 집적 회로는: 제 1 기능 회로를 포함하는 제 1 회로 블록, 제 2 기능 회로를 포함하는 제 2 회로 블록, 및 상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함한다. 상기 제 1 회로 블록은 클럭 신호에 응답해서 난수를 발생하는 난수 발생기, 및 상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하는 제 1 스크램블러를 더 포함하고, 상기 제 2 회로 블록은 상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 1 스크램블러에 의해서 배열이 변경된 비트들을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 더 포함한다. 여기서, 상기 제 1 스크램블러는, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 2 스크램블러에 의해서 배열이 변경된 일부 비트들을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공한다.
본 발명의 다른 특징에 의하면, 제 1 기능 회로를 포함하는 제 1 회로 블록, 제 2 기능 회로를 포함하는 제 2 회로 블록 그리고 상기 제 1 및 제 2 회로 블록들 사이의 데이터 송수신을 위한 데이터 버스가 원-칩으로 집적된 반도체 메모리 장치의 내부 데이터 전송 방법은: 상기 제 1 기능 회로가 데이터를 출력하는 제 1 단계, 상기 제 1 기능 회로로부터 출력되는 데이터의 비트 배열을 변경하는 제 2 단계, 상기 비트 배열이 변경된 데이터를 상기 데이터 버스로 전송하는 제 3 단계, 상기 데이터 버스에 실린 데이터의 비트 배열을 원래의 배열로 복원하는 제 4 단계 그리고 상기 비트 배열이 복원된 데이터를 상기 제 2 기능 회로로 입력하는 제 5 단계를 포함한다.
이 실시예에 있어서, 상기 제 2 단계는 상기 제 2 기능 회로로부터 출력되는 데이터 중 일부 비트들을 변경하고, 상기 비트 배열 복원 단계는 상기 데이터 버스에 실린 데이터 중 상기 비트 배열 변경 단계에서 비트 배열이 변경된 비트들을 원래의 배열로 복원한다.
바람직한 실시예에 있어서, 상기 제 2 기능 회로가 데이터를 출력하는 제 6 단계, 상기 제 2 기능 회로로부터 출력되는 데이터의 비트 배열을 변경하는 제 7 단계, 상기 비트 배열이 변경된 데이터를 상기 데이터 버스로 전송하는 제 8 단계, 상기 데이터 버스에 실린 데이터의 비트 배열을 원래의 배열로 복원하는 제 9 단계 그리고 상기 비트 배열이 복원된 데이터를 상기 제 1 기능 회로로 입력하는 제 10 단계를 더 포함한다.
(작용)
이와 같은 구성 및 방법에 의하면, 내부 회로 블록들 사이의 입출력 데이터가 인가되지 않은 사람에게 노출되더라도 원래의 데이터와 다른 데이터가 노출되므로 내부 회로 블록들 사이의 입출력 데이터를 보호할 수 있는 스마트 카드가 구현된다.
(실시예)
이하 본 발명에 따른 바람직한 실시예를 첨부된 도면 도 2 내지 도 6b를 참조하여 상세히 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 스마트 카드용 집적 회로의 구성을 보여주는 도면이다.
도 2를 참조하면, 집적 회로(100)는 CPU(central processing unit)(111)를 포함하는 CPU 회로 블록(110)과 RAM(random access memory)을 포함하는 RAM 회로 블록(120) 그리고 상기 회로 블록들(110, 120) 사이의 데이터 송수신을 위한 데이터 버스(130)를 포함하여 구성된다. 이 실시예에서, 상기 CPU 회로 블록(110)과 RAM 회로 블록(120) 사이에 송수신되는 데이터는 8 비트인 것으로 한정한다. 그러나, 상기 회로 블록들(110, 120) 사이의 송수신 데이터 비트는 다양하게 변경될 수 있다. 또한 이 실시예에서는 CPU와 RAM 사이에서 송수신되는 데이터를 보호하기 위한 회로를 도시하고 설명하나, 본 발명은 CPU와 RAM 사이에서 송수신되는 데이터뿐만 아니라 집적 회로에 구성되는 회로 블록들 사이에 송수신되는 모든 데이터를 보호하기 위해서 사용될 수 있다.
CPU 회로 블록(110)은 클럭 신호(CLK)에 응답해서 4 비트의 난수(random number)를 발생하는 난수 발생기(113)와 상기 난수에 따라서 CPU(111)로부터 출력되는 8 비트 데이터 가운데 하위 4 비트(DATA_A[3:0])의 배열을 변경해서 상기 데이터 버스(130)로 출력하고, 상기 난수에 따라서 상기 데이터 버스(130)를 통해 상기 RAM 회로 블록(120)으로부터 입력되는 데이터의 비트들의 배열을 원래의 배열로 환원해서 상기 CPU(111)로 제공하는 제 1 스크램블러(112)를 더 포함한다.
RAM 회로 블록(120)은 상기 난수 발생기(113)에서 발생된 난수에 따라서 상기 데이터 버스(130)를 통해 상기 CPU 회로 블록(110)으로부터 입력되는 4 비트 데이터의 비트 배열을 원래의 배열로 환원해서 상기 RAM(121)으로 제공하고, 상기 난수에 따라서 상기 RAM(121)으로부터 출력되는 8 비트 데이터 가운데 하위 4비트(DATA_C[3:0])의 배열을 변경해서 상기 데이터 버스(130)로 출력하는 제 2 스크램블러(122)를 더 포함한다. 이 실시예에서는 상기 난수 발생기(113)가 CPU 회로 블록(110) 내에 구비되었으나 RAM 회로 블록(120) 내에 구성하여도 무방하다.
도 3은 도 2에 도시된 제 1 및 제 2 스크램블러들(112, 122)의 회로 구성을 보여주는 블록도이다. 도 3을 참조하면, 제 1 스크램블러(112)는 제 1 비트 배열 선택기(bit array selector)(200)와 제 1 선택 신호 발생기(220)를 포함한다. 상기 제 1 선택 신호 발생기(220)는 난수 발생기(113)로부터 입력되는 4 비트 난수에 응답해서 16 비트의 선택 신호(SEL1[15:0])를 발생한다. 제 1 비트 배열 선택기(200)는 CPU(111)로부터 데이터(DATA_A[3:0])가 출력될 때 상기 선택 신호(SEL1[15:0])에 응답하여 상기 데이터(DATA_A[3:0])의 비트 배열을 변경해서 데이터 버스(130)로 출력(DATA_B[3:0])하고, 상기 데이터 버스(130)를 통하여 데이터(DATA_B[3:0])가 입력될 때에는 상기 선택 신호(SEL1[15:0])에 응답해서 상기 데이터(DATA_B[3:0])의 비트 배열을 원래의 비트 배열로 환원해서 상기 CPU(111)로 제공한다.
제 2 스크램블러(112)는 상기 제 1 스크램블러(112)와 동일하게 제 2 비트 배열 선택기(300)와 제 2 선택 신호 발생기(320)를 포함한다. 상기 제 2 선택 신호 발생기(320)는 난수 발생기(113)로부터 입력되는 4 비트 난수에 응답해서 16 비트의 선택 신호(SEL2[15:0])를 발생한다. 여기서, 상기 제 1 선택 신호 발생기(220)로부터 출력되는 선택 신호(SEL1[15:0])와 제 2 선택 신호 발생기(320)로부터 출력되는 선택 신호(SEL2[15:0])는 실질적으로 동일한 신호들이다. 제 2비트 배열 선택기(300)는 RAM(121)으로부터 데이터(DATA_C[3:0])가 출력될 때 상기 선택 신호(SEL1[15:0])에 응답하여 상기 데이터(DATA_C[3:0])의 비트 배열을 변경해서 데이터 버스(130)로 출력(DATA_B[3:0])하고, 상기 데이터 버스(130)를 통하여 데이터(DATA_B[3:0])가 입력될 때에는 상기 선택 신호(SEL2[15:0])에 응답해서 상기 데이터(DATA_B[3:0])의 비트 배열을 원래의 비트 배열로 환원해서 상기 RAM(121)로 제공한다.
이와 같은 본 발명에 의하면, CPU(111)로부터 RAM(121)으로 데이터를 전송할 때 CPU(111)로부터 출력되는 하위 4 비트 데이터(DATA_A[3:0])는 제 1 비트 배열 선택기(200)에 의해 암호화되어서(즉, 비트 배열이 변경되어서) 데이터 버스(130)에 실리고, 데이터 버스(130)에 실린 암호화된 데이터(DATA_B[3:0])는 제 2 비트 배열 선택기(300)에 의해 복호화되어서 RAM(121)으로 제공된다. 결국, CPU(111)로부터 제 1 비트 배열 선택기(200)로 출력되는 데이터(DATA_A[3:0])와 제 2 비트 배열 선택기(300)로부터 램(121)으로 제공되는 데이터(DATA_B[3:0])는 동일한 데이터가 되어서 데이터 전송에는 아무런 영향을 미치지 않는다. 이 때 데이터 버스(130)에 실린 데이터(DATA_B[3:0])는 암호화된 데이터이므로 외부에서 데이터 버스(130)가 모니터링되더라도 실제 CPU(111)로부터 RAM(121)으로 전송되는 데이터와 전혀 다른 데이터가 노출되는 것이므로 CPU(111)로부터 RAM(121)으로 전송되는 데이터는 보호된다.
반면, RAM(121)으로부터 CPU(111)로 데이터를 전송할 때 RAM(121)으로부터 출력되는 하위 4 비트 데이터(DATA_C[3:0])는 제 2 비트 배열 선택기(300)에 의해암호화되어서(즉, 비트 배열이 변경되어서) 데이터 버스(130)에 실리고, 데이터 버스(130)에 실린 암호화된 데이터(DATA_B[3:0])는 제 1 비트 배열 선택기(200)에 의해 복호화되어서 CPU(111)로 제공된다. 결국, RAM(121)로부터 제 2 비트 배열 선택기(300)로 출력되는 데이터(DATA_B[3:0])와 제 1 비트 배열 선택기(200)로부터 CPU(111)로 제공되는 데이터(DATA_A[3:0])는 동일한 데이터가 되어서 데이터 전송에는 아무런 영향을 미치지 않는다. 이 때 데이터 버스(130)에 실린 데이터(DATA_B[3:0])는 암호화된 데이터이므로 외부에서 데이터 버스(130)가 모니터링되더라도 실제 RAM(121)로부터 CPU(111)로 전송되는 데이터와 전혀 다른 데이터가 노출되는 것이므로 RAM(121)로부터 CPU(111)로 전송되는 데이터는 보호된다.
계속해서, 도 4 및 도 5를 참조하여 비트 배열을 변경하고 다시 환원하기 위한 제 1 및 제 2 비트 배열 선택기들(200, 300)의 구체적인 구성 및 동작이 설명된다.
도 4는 도 3에 도시된 제 1 및 제 2 비트 배열 선택기들(200, 300)의 개략적인 회로 구성을 보여주는 블록도이다. 도 4를 참조하면, 제 1 비트 배열 선택기(200)는 네 개의 스위칭부들(201~204)로 구성되고, 제 2 비트 배열 선택기(300)는 상기 제 1 비트 배열 선택기(200) 내의 스위칭부들(201~204)에 각각 대응하는 네 개의 스위칭부들(301~304)로 구성된다.
상기 제 1 비트 배열 선택기(200) 내의 스위칭부들(201~204)은 상기 제 1 선택 신호 발생기(220)에서 발생된 선택 신호(SEL1[15:0]) 중 대응하는 4 비트 신호에 따라서 각각 제어된다. 즉, 스위칭부0(201)은 선택 신호(SEL1[15:12])에 따라서, 스위칭부1(202)은 선택 신호(SEL1[11:8])에 따라서, 스위칭부2(203)는 선택 신호(SEL1[7:4])에 따라서 그리고 스위칭부3(204)은 선택 신호(SEL1[3:0])에 따라서 제어된다.
상기 제 2 비트 배열 선택기(300) 내의 스위칭부들(301~304)은 상기 제 2 선택 신호 발생기(320)에서 발생된 선택 신호(SEL2[15:0]) 중 대응하는 4 비트 신호에 따라서 각각 제어된다. 즉, 스위칭부0(301)은 선택 신호(SEL2[15:12])에 따라서, 스위칭부1(302)은 선택 신호(SEL2[11:8])에 따라서, 스위칭부2(303)는 선택 신호(SEL2[7:4])에 따라서 그리고 스위칭부3(304)은 선택 신호(SEL2[3:0])에 따라서 제어된다.
앞서 설명한 바와 같이, 상기 제 1 및 제 2 선택 신호 발생기들(220, 320)로부터 각각 출력되는 선택 신호들(SEL1[15:0], SEL2[15:0])은 동일한 신호들이므로, 상기 제 1 비트 배열 선택기(200) 내의 스위칭부들(201~204)과 대응하는 제 2 비트 배열 선택기(300) 내의 스위칭부들(301~304)은 서로 동일한 신호에 의해 각각 제어되는 것과 같다.
도 5는 도 4에 도시된 스위칭부0(201) 및 스위칭부0(301)의 상세한 회로 구성을 보여주는 도면이다. 도 5를 참조하면, 스위칭부0(201)은 네 개의 스위치들(SWA0~SWA3)로 구성되고, 스위칭부0(301)은 상기 스위치들(SWA0~SWA3)에 각각 대응하는 네 개의 스위치들(SWB0~SWB3)로 구성된다.
스위칭부(201) 내의 스위치들(SWA0~SWA3)은 제 1 선택 신호 발생기(220)에서 발생된 선택 신호(SEL1[15:12]) 중 대응하는 신호에 따라서 각각 제어되고, 스위칭부(301) 내의 스위치들(SWB0~SWB3)은 제 2 선택 신호 발생기(320)에서 발생된 선택 신호(SEL2[15:12]) 중 대응하는 신호에 따라서 각각 제어된다. 상기 스위치들(SWA0~3 및 SWB0~3)은 선택 신호들(SEL1[15:12] 및 SEL2[15:12]) 가운데 대응하는 선택 신호가 논리 '1'이면 온되고, 대응하는 선택 신호가 논리 '0'이면 오프된다.
도 4에 도시된 나머지 스위칭부들(202~204 및 302~304)은 도 5에 도시된 스위칭부들(201 및 201)과 동일하게 각각 4 개의 스위치들(SWA0~SWA3 및 SWB0~SWB3)로 구성되며, 대응하는 선택 신호에 의해 제어된다. 중복되는 설명을 피하기 위해 나머지 스위칭부들(202~204 및 302~304)의 구체적인 회로 구성 및 동작 설명은 생략한다. 그러나, 당업자라면 나머지 스위칭부들의 회로 구성 및 동작을 유추하고 이를 실시하는데 어려움이 없을 것이다.
다음 표 1은 난수 발생기(113)에서 발생된 4비트 난수에 따라서 제 1 및 제 2 선택 신호 발생기들(220, 320)로부터 출력되는 선택 신호들(SEL1[15:0], SEL2[15:0])과 그에 따라서 데이터 버스(130)에 실리는 데이터(DATA_B[3:0])의 비트 배열을 예시적으로 보여주고 있다.
예를 들어, CPU(111)로부터 출력되는 데이터(DATA_A[3:0])를 버스(130)를 통해 RAM(121)으로 전송하고자 할 때, 난수 발생기(113)에서 발생된 4 비트 난수가 '0000'이면 제 1 및 제 2 선택 신호들(SEL1[15:0], SEL2[15:0])은 '1000 0010 0100 0001'이 된다. 앞서 설명한 바와 같이, 제 1 및 제 2 선택 신호들(SEL1[15:0], SEL2[15:0])은 서로 동일한 신호들이다. 제 1 선택 신호(SEL1[15:12])가 '1000'이므로 스위칭부(201)의 스위치(SWA3)가 온되어서 CPU(111)로부터 출력되는 데이터(DATA_A[0])는 데이터 버스의 3 번째 비트 즉, DATA_B[3]에 실리게 된다.이와 같은 방법에 의해서, CPU(111)로부터 출력되는 데이터(DATA_A[1])는 데이터 버스(DATA_B[1])에, 데이터(DATA_A[2])는 데이터 버스(DATA_B[2])에 그리고 데이터(DATA_A[3])는 데이터 버스(DATA_B[0])에 각각 실리게 된다.
따라서, CPU(111)로부터 출력되는 데이터(DATA_A[3:0])의 비트 배열이 'B3 B2 B1 B0' 일 때 데이터 버스(130)에 실리는 데이터(DATA_B[3:0])의 비트 배열은 'B0 B2 B1 B3'이 된다.
예컨대, CPU(111)로부터 출력되는 데이터(DATA_A[3:0])가 '1100' 이었다면, 데이터 버스(130)에 실린 데이터(DATA_B[3:0])는 '0101'이 된다. 그러므로, 침해자에 의해서 데이터 버스(130)에 실린 데이터(DATA_B[3:0])가 노출되더라도 CPU(111)로부터 출력된 데이터(DATA_A[3:0])와 전혀 다른 데이터가 노출되므로 데이터 유출의 위험을 방지할 수 있게 된다.
한편, 데이터 버스(130)에 실린 데이터(DATA_B[3:0])는 다음과 같은 방법으로 RAM(121)으로 전송된다. 앞서 예를 든 바와 같이 난수 발생기(113)에서 발생된 4 비트 난수가 '0000'일 때 제 2 선택 신호(SEL2[15:0])는 '1000 0010 0100 0001'이다. 제 2 선택 신호(SEL2[15:12])가 '1000'이므로 스위칭부(301)의 스위치(SWB3)가 온되어서 데이터 버스의 3 번째 비트 즉, DATA_B[3]에 실린 데이터는 스위치(SWB3)를 통해 RAM(121)의 0 번째 비트 데이터(DATA_C[0])로 제공된다. 이와 같은 방법에 의해서, 데이터 버스(130)에 실린 데이터(DATA_B[1])는 RAM(121)의 1 번째 비트 데이터(DATA_C[1])로, 데이터(DATA_B[2])는 RAM(121)의 2 번째 비트 데이터(DATA_C[2])로 그리고 데이터(DATA_B[0])는 RAM(121)의 3 번째 비트 데이터(DATA_C[3])로 각각 제공된다.
따라서, 데이터 버스(130)에 실린 데이터(DATA_B[3:0])가 'B0 B2 B1 B3'일 때 RAM(121)으로 제공되는 데이터(DATA_C[3:0])는 'B3 B2 B1 BO'로 된다. 이는 원래 CPU(111)로부터 출력된 데이터(DATA_A[3:0])의 비트 배열과 동일한 것이다. 그러므로, 침해자에 의해서 데이터 버스(130)를 통해 CPU(111)로부터 RAM(121)으로 전송되는 데이터의 유출을 방지하면서도 CPU(111)로부터 RAM(121)으로 전송되는 데이터에는 아무런 영향을 미치지 않게 된다.
도 6a는 CPU(111)로부터 출력되는 데이터(DATA_A[3:0])가 RAM(121)으로 전송될 때 난수 발생기(113)에서 발생된 난수가 '0000'인 경우에서의 데이터 비트들의 위치 변화를 보여주는 도면이다. 도 6a에 도시된 바와 같이, CPU(111)로부터 출력된 데이터(DATA_A[3:0])의 각 비트들은 선택 신호(SEL1[15:0])에 따라서 위치가 변경되어 데이터 버스(130)에 실린다. 즉, CPU(111)로부터 출력되는 DATA_A[0]은 데이터 버스(130)의 3 번째 비트 DATA_B[3]으로, DATA_A[1]은 DATA_B[1]로, DATA_A[2]는 DATA_B[2]로 그리고 DATA_A[3]은 DATA_B[0]으로 된다. 데이터 버스(130)에 실린 데이터(DATA_B[0])는 선택 신호(SEL1[15:0])에 따라서 DATA_C[3]으로, 데이터(DATA_B[1])는 DATA_C[1]로, 데이터(DATA_B[2])는 DATA_C[2]로, 그리고 데이터(DATA_B[3])는 DATA_C[0]으로 되어서 RAM(121)으로 제공된다.
데이터 버스(130)를 통하여 RAM(121)으로부터 CPU(111)로 데이터를 전송하는 방법은 앞서 설명된 CPU(111)로부터 RAM(121)으로 데이터를 전송하는 방법과 역순으로 수행된다.
예를 들어, 난수 발생기(113)에서 발생된 4 비트 난수가 '0100'이면 제 1 및 제 2 선택 신호들(SEL1[15:0], SEL2[15:0])은 '0100 1000 0010 0001'이 된다. 앞서 설명한 바와 같이, 제 1 및 제 2 선택 신호들(SEL1[15:0], SEL2[15:0])은 서로 동일한 신호들이다. 제 2 선택 신호(SEL2[15:12])가 '0100'이므로 스위칭부(301)의 스위치(SWB2)가 온 되어서 RAM(121)로부터 출력되는 데이터(DATA_C[0])는 데이터 버스의 2 번째 비트 즉, DATA_B[2]에 실리게 된다. 이와 동일한 방법에 의해서, RAM(121)로부터 출력되는 데이터(DATA_C[1])는 데이터 버스(DATA_B[3])에, 데이터(DATA_C[2])는 데이터 버스(DATA_B[1])에 그리고 데이터(DATA_A[3])는 데이터 버스(DATA_B[0])에 각각 실리게 된다. 따라서, RAM(121)으로부터 출력되는 데이터(DATA_C[3:0])의 비트 배열이 'B3 B2 B1 B0' 일 때 데이터 버스(130)에 실리는 데이터(DATA_B[3:0])의 비트 배열은 'B1 B0 B2 B3'이 된다.
예컨대, RAM(121)으로부터 출력되는 데이터(DATA_C[3:0])가 '1100' 이었다면, 데이터 버스(130)에 실린 데이터(DATA_B[3:0])는 '0011'이 된다. 그러므로, 침해자에 의해서 데이터 버스(130)에 실린 데이터(DATA_B[3:0])가 노출되더라도 RAM(121)으로부터 출력된 데이터(DATA_C[3:0])와 전혀 다른 데이터가 노출되므로 데이터 유출의 위험을 방지할 수 있게 된다.
한편, 데이터 버스(130)에 실린 데이터(DATA_B[3:0])는 다음과 같은 방법으로 CPU(111)로 전송된다. 앞서 예를 든 바와 같이 난수 발생기(113)에서 발생된 4 비트 난수가 '0100'일 때 제 1 선택 신호(SEL1[15:0])는 '0100 1000 0010 0001'이다. 제 1 선택 신호(SEL1[15:12])가 '0100'이므로 스위칭부(201)의 스위치(SWB2)가 온 되어서 데이터 버스의 2 번째 비트 즉, DATA_B[2]에 실린 데이터는 스위치(SWB2)를 통해 CPU(111)의 0 번째 비트 데이터(DATA_A[0])로 제공된다. 이와 같은 방법에 의해서, 데이터 버스(130)에 실린 데이터(DATA_B[0])는 CPU(111)의 3 번째 비트 데이터(DATA_A[3])로, 데이터(DATA_B[1])는 CPU(111)의 2 번째 비트 데이터(DATA_C[2])로 그리고 데이터(DATA_B[3])는 RAM(121)의 1 번째 비트 데이터(DATA_C[1])로 각각 제공된다.
따라서, 데이터 버스(130)에 실린 데이터(DATA_B[3:0])가 'B1 B0 B2 B3'일 때 CPU(111)으로 제공되는 데이터(DATA_A[3:0])는 'B3 B2 B1 BO'로 된다. 이는 원래 RAM(12)로부터 출력된 데이터(DATA_C3:0])의 비트 배열과 동일한 것이다. 그러므로, 침해자에 의해서 데이터 버스(130)를 통해 RAM(121)로부터 CPU(111)으로 전송되는 데이터의 유출을 방지하면서도 RAM(121)으로부터 CPU(111)로 전송되는 데이터에는 아무런 영향을 미치지 않게 된다.
도 6b는 RAM(121)으로부터 출력되는 데이터(DATA_C[3:0])가 CPU(111)으로 전송될 때 난수 발생기(113)에서 발생된 난수가 '0100'인 경우에서의 데이터 비트들의 위치 변화를 보여주는 도면이다. 도 6b에 도시된 바와 같이, RAM(121)으로부터 출력된 데이터(DATA_C[3:0])의 각 비트들은 선택 신호(SEL2[15:0])에 따라서 위치가 변경되어 데이터 버스(130)에 실린다. 즉, RAM(121)으로부터 출력되는 DATA_C[0]은 데이터 버스(130)의 2 번째 비트 DATA_B[2]로, DATA_C[1]은 DATA_B[3]으로, DATA_C[2]는 DATA_B[1]로 그리고 DATA_C[3]은 DATA_B[0]으로 된다. 데이터 버스(130)에 실린 데이터(DATA_B[0])는 선택 신호(SEL1[15:0])에 따라서 DATA_A[3]으로, 데이터(DATA_B[1])는 DATA_A[2]로, 데이터(DATA_B[2])는 DATA_A[0]로, 그리고 데이터(DATA_B[3])는 DATA_C[2]로 되어서 CPU(111)로 제공된다.
한편, 본 발명의 난수 발생기(113)는 클럭 신호(CLK)에 동기되어 동작하므로, 제 1 및 제 2 스크램블러들(112, 122)은 매 클럭마다 비트 배열을 변경하는 동작을 수행하게 된다. 따라서, 외부 침해자에 의해서 데이터 버스(130)에 실린 데이터가 노출되더라도 매 클럭마다 다른 방식으로 비트 배열이 변경되므로 이를 해독하는 데에는 많은 어려움이 따르게 된다.
예시적인 바람직한 실시예를 이용하여 본 발명의 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형 예들 및 그 유사한 구성들을 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다. 예를 들어, 이 실시예에서는 CPU(111)로부터 출력되는 8 비트 데이터 가운데 하위 4 비트 데이터의 비트 배열을 변경하였으나, 8 비트 데이터 전체 또는 8 비트 데이터 중 특정 비트들의 배열을 변경하여도 본 발명의 목적을 달성 할 수 있으며, 이에 대한 구현은 본 발명의 실시예로부터 당업자가 용이하게 구현할 수 있을 것이다.
이와 같은 본 발명에 의하면, 내부 회로 블록들 사이의 입출력 데이터가 인가되지 않은 사람에게 노출되더라도 원래의 데이터와 다른 데이터가 노출되므로 내부 회로 블록들 사이의 입출력 데이터를 보호할 수 있다.
Claims (41)
- 삭제
- 삭제
- 삭제
- 삭제
- 반도체 집적 회로에 있어서:제 1 기능 회로를 포함하는 제 1 회로 블록과;제 2 기능 회로를 포함하는 제 2 회로 블록; 및상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함하되;상기 제 1 회로 블록은,클럭 신호에 응답해서 난수를 발생하는 난수 발생기; 그리고상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 스크램블러를 더 포함하고;상기 제 2 회로 블록은,상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 더 구비하는 것을 특징으로 하는 반도체 집적 회로.
- 제 5 항에 있어서,상기 제 1 스크램블러는,상기 난수 발생기에서 발생된 난수에 대응하는 제 1 선택 신호들을 발생하는 수단; 그리고상기 제 1 선택 신호들에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 제 1 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 비트 배열 변경기를 포함하는 것을 특징으로 하는 반도체 집적 회로.
- 제 5 항에 있어서,상기 제 2 스크램블러는,상기 난수 발생기에서 발생된 난수에 대응하는 제 2 선택 신호들을 발생하는 수단; 그리고상기 제 2 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 제 2 선택 신호들에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 비트 배열 변경기를 구비하는 것을 특징으로 하는 반도체 집적 회로.
- 제 6 항 또는 제 7 항에 있어서,상기 제 1 선택 신호 발생 수단으로부터 발생된 상기 제 1 선택 신호들과 상기제 2 선택 신호 발생 수단으로부터 발생된 상기 제 2 선택 신호들은 서로 동일한 것을 특징으로 하는 반도체 집적 회로.
- 제 8 항에 있어서,상기 데이터 버스를 통해서 상기 제 1 및 제 2 회로 블록들 사이에 송수신되는 데이터는 N 비트인 것을 특징으로 하는 반도체 집적 회로.
- 제 6 항에 있어서,상기 제 1 비트 배열 변경기는,상기 송수신 데이터의 비트들에 각각 대응하는 N 개의 제 1 스위칭 수단들을 포함하되;상기 제 1 스위칭 수단들 각각은,상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 가운데 상기 제 1 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 반도체 집적 회로.
- 제 10 항에 있어서,상기 제 1 스위칭 수단들 각각은,상기 제 1 기능 회로로부터 데이터가 출력될 때 상기 제 1 기능 회로로부터 출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 중 상기 제 1 선택 신호들에 대응하는 비트로 출력하고,상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 1 선택 신호들에 대응하는 비트를 상기 제 1 기능 회로로 입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 반도체 집적 회로.
- 제 10 항에 있어서,상기 제 1 스위칭 수단들 각각은,상기 제 1 선택 신호들에 응답해서 동작하며, 상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 비트들 가운데 대응하는 비트와 상기 데이터 버스의 N 비트들 사이에 각각 연결된 N 개의 스위치들을 포함하는 것을 특징으로 하는 반도체 집적 회로.
- 제 7 항에 있어서,상기 제 2 비트 배열 변경기는,상기 송수신 데이터의 비트들에 각각 대응하는 N 개의 제 2 스위칭 수단들을 포함하되;상기 제 2 스위칭 수단들 각각은,상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 가운데 상기 제 2 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 반도체 집적 회로.
- 제 13 항에 있어서,상기 제 2 스위칭 수단들 각각은,상기 제 2 기능 회로로부터 데이터가 출력될 때 상기 제 2 기능 회로로부터 출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 중 상기 제 2 선택 신호들에 대응하는 비트로 출력하고,상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 2 선택 신호들에 대응하는 비트를 상기 제 2 기능 회로로 입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 반도체 집적 회로.
- 제 14 항에 있어서,상기 제 2 스위칭 수단들 각각은,상기 제 2 선택 신호들에 응답해서 동작하며, 상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 비트들 가운데 대응하는 비트와 상기 데이터 버스의 N 비트들 사이에 각각 연결된 N 개의 스위치들을 포함하는 것을 특징으로 하는 반도체 집적 회로.
- 스마트 카드에 있어서:제 1 기능 회로를 포함하는 제 1 회로 블록과;제 2 기능 회로를 포함하는 제 2 회로 블록; 및상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함하되;상기 제 1 회로 블록은,클럭 신호에 응답해서 난수를 발생하는 난수 발생기와;상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 스크램블러를 더 포함하고;상기 제 2 회로 블록은,상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 구비하는 것을 특징으로 하는 스마트 카드.
- 제 16 항에 있어서,상기 제 1 스크램블러는,상기 난수 발생기에서 발생된 난수에 대응하는 제 1 선택 신호들을 발생하는 수단; 그리고상기 제 1 선택 신호들에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 제 1 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 비트 배열 변경기를 포함하는 것을 특징으로 하는 스마트 카드.
- 제 16 항에 있어서,상기 제 2 스크램블러는,상기 난수 발생기에서 발생된 난수에 대응하는 제 2 선택 신호들을 발생하는 수단; 그리고상기 제 2 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 제 2 선택 신호들에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 비트 배열 변경기를 구비하는 것을 특징으로 하는 스마트 카드.
- 제 17 항 또는 제 18 항에 있어서,상기 데이터 버스를 통해서 상기 제 1 및 제 2 회로 블록들 사이에 송수신되는 데이터는 N 비트인 것을 특징으로 하는 스마트 카드.
- 제 19 항에 있어서,상기 제 1 비트 배열 변경기는,상기 송수신 데이터의 비트들에 각각 대응하는 N 개의 제 1 스위칭 수단들을 포함하되;상기 제 1 스위칭 수단들 각각은,상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 가운데 상기 제 1 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 스마트 카드.
- 제 20 항에 있어서,상기 제 1 스위칭 수단들 각각은,상기 제 1 기능 회로로부터 데이터가 출력될 때 상기 제 1 기능 회로로부터 출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 중 상기 제 1 선택 신호들에 대응하는 비트로 출력하고,상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 1 선택 신호들에 대응하는 비트를 상기 제 1 기능 회로로입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 스마트 카드.
- 제 20 항에 있어서,상기 제 1 스위칭 수단들 각각은,상기 제 1 선택 신호들에 응답해서 동작하며, 상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 비트들 가운데 대응하는 비트와 상기 데이터 버스의 N 비트들 사이에 각각 연결된 N 개의 스위치들을 포함하는 것을 특징으로 하는 스마트 카드.
- 제 19 항에 있어서,상기 제 2 비트 배열 변경기는,상기 송수신 데이터의 비트들에 각각 대응하는 N 개의 제 2 스위칭 수단들을 포함하되;상기 제 2 스위칭 수단들 각각은,상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 가운데 상기 제 2 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 스마트 카드.
- 제 23 항에 있어서,상기 제 2 스위칭 수단들 각각은,상기 제 2 기능 회로로부터 데이터가 출력될 때 상기 제 2 기능 회로로부터 출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 중 상기 제 2 선택 신호들에 대응하는 비트로 출력하고,상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 2 선택 신호들에 대응하는 비트를 상기 제 2 기능 회로로 입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 스마트 카드.
- 제 24 항에 있어서,상기 제 2 스위칭 수단들 각각은,상기 제 2 선택 신호들에 응답해서 동작하며, 상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 비트들 가운데 대응하는 비트와 상기 데이터 버스의 N 비트들 사이에 각각 연결된 N 개의 스위치들을 포함하는 것을 특징으로 하는 스마트 카드.
- 제 22 항 또는 제 25 항에 있어서,상기 제 1 선택 신호 발생 수단으로부터 발생된 상기 제 1 선택 신호들과 상기제 2 선택 신호 발생 수단으로부터 발생된 상기 제 2 선택 신호들은 서로 동일한 것을 특징으로 하는 스마트 카드.
- 반도체 집적 회로에 있어서:제 1 기능 회로를 포함하는 제 1 회로 블록과;제 2 기능 회로를 포함하는 제 2 회로 블록; 및상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함하되;상기 제 1 회로 블록은,클럭 신호에 응답해서 난수를 발생하는 난수 발생기; 그리고상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하는 제 1 스크램블러를 더 포함하고;상기 제 2 회로 블록은,상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 1 스크램블러에 의해서 배열이 변경된 비트들을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 더 포함하되;상기 제 1 스크램블러는, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 2 스크램블러에 의해서 배열이 변경된 일부 비트들을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 것을 특징으로 하는 반도체 집적 회로.
- 제 27 항에 있어서,상기 제 1 스크램블러는,상기 난수 발생기에서 발생된 난수에 대응하는 제 1 선택 신호들을 발생하는 수단; 그리고상기 제 1 선택 신호들에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 제 1 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 2 스크램블러에 의해서 배열이 변경된 일부 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 비트 배열 변경기를 포함하는 것을 특징으로 하는 반도체 집적 회로.
- 제 28 항에 있어서,상기 제 2 스크램블러는,상기 난수 발생기에서 발생된 난수에 대응하는 제 2 선택 신호들을 발생하는 수단; 그리고상기 제 2 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 1 스크램블러에 의해서 배열이변경된 일부 비트의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 제 2 선택 신호들에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 비트 배열 변경기를 구비하는 것을 특징으로 하는 반도체 집적 회로.
- 제 29 항에 있어서,상기 데이터 버스를 통해서 상기 제 1 및 제 2 회로 블록들 사이에 송수신되는 데이터는 N 비트이고,상기 N 비트 데이터 중 상기 제 1 및 제 2 비트 배열 변경기들에 의해서 비트 배열이 변경/환원되는 비트들은 하위 K(K<N) 비트인 것을 특징으로 하는 반도체 집적 회로.
- 제 30 항에 있어서,상기 제 1 비트 배열 변경기는,상기 K 비트 데이터의 비트들 각각에 대응하는 K 개의 제 1 스위칭 수단들을 포함하되;상기 제 1 스위칭 수단들 각각은,상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 하위 K 비트들 중 대응하는 비트를 상기 데이터 버스의 하위 K 비트들 가운데 상기 제 1 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 반도체 집적 회로.
- 제 31 항에 있어서,상기 제 1 스위칭 수단들 각각은,상기 제 1 기능 회로로부터 데이터가 출력될 때 상기 제 1 기능 회로로부터 출력되는 데이터의 하위 K 비트들 중 대응하는 비트를 상기 데이터 버스의 하위 K 비트들 중 상기 제 1 선택 신호들에 대응하는 비트로 출력하고,상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 1 선택 신호들에 대응하는 비트를 상기 제 1 기능 회로로 입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 반도체 집적 회로.
- 제 32 항에 있어서,상기 제 1 스위칭 수단들 각각은,상기 제 1 선택 신호들에 응답해서 동작하며, 상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 하위 K 비트들 중 대응하는 비트와 상기 데이터 버스의 하위 K 비트들 사이에 각각 연결된 K 개의 스위치들을 포함하는 것을 특징으로 하는 반도체 집적 회로.
- 제 30 항에 있어서,상기 제 2 비트 배열 변경기는,상기 K 비트 데이터의 비트들에 각각 대응하는 K 개의 제 2 스위칭 수단들을 포함하되;상기 제 2 스위칭 수단들 각각은,상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 하위 K 비트들 중 대응하는 비트를 상기 데이터 버스의 하위 K 비트들 가운데 상기 제 2 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 반도체 집적 회로.
- 제 34 항에 있어서,상기 제 2 스위칭 수단들 각각은,상기 제 2 기능 회로로부터 데이터가 출력될 때 상기 제 2 기능 회로로부터 출력되는 데이터의 하위 K 비트들 중 대응하는 비트를 상기 데이터 버스의 하위 K 비트들 중 상기 제 2 선택 신호들에 대응하는 비트로 출력하고,상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 하위 K 비트들 중 상기 제 2 선택 신호들에 대응하는 비트를 상기 제 2 기능 회로로 입력되는 데이터의 하위 K 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 반도체 집적 회로.
- 제 35 항에 있어서,상기 제 2 스위칭 수단들 각각은,상기 제 2 선택 신호들에 응답해서 동작하며, 상기 제 2 기능 회로로/로부터입/출력되는 데이터의 하위 K 비트들 가운데 대응하는 비트와 상기 데이터 버스의 하위 K 비트들 사이에 각각 연결된 K 개의 스위치들을 포함하는 것을 특징으로 하는 반도체 집적 회로.
- 제 33 및 36 항에 있어서,상기 제 1 선택 신호 발생 수단으로부터 발생된 상기 제 1 선택 신호들과 상기제 2 선택 신호 발생 수단으로부터 발생된 상기 제 2 선택 신호들은 서로 동일한 것을 특징으로 하는 반도체 집적 회로.
- 제 1 기능 회로를 포함하는 제 1 회로 블록, 제 2 기능 회로를 포함하는 제 2 회로 블록 그리고 상기 제 1 및 제 2 회로 블록들 사이의 데이터 송수신을 위한 데이터 버스가 원-칩으로 집적된 반도체 메모리 장치의 내부 데이터 전송 방법에 있어서:상기 제 1 기능 회로가 데이터를 출력하는 제 1 단계와;상기 제 1 기능 회로로부터 출력되는 데이터의 비트 배열을 변경하는 제 2 단계와;상기 비트 배열이 변경된 데이터를 상기 데이터 버스로 전송하는 제 3 단계와;상기 데이터 버스에 실린 데이터의 비트 배열을 원래의 배열로 복원하는 제 4 단계; 그리고상기 비트 배열이 복원된 데이터를 상기 제 2 기능 회로로 입력하는 제 5 단계를 포함하는 것을 특징으로 하는 반도체 메모리 장치의 내부 데이터 전송 방법.
- 제 38 항에 있어서,상기 제 2 단계는 상기 제 2 기능 회로로부터 출력되는 데이터 중 일부 비트들을 변경하고,상기 비트 배열 복원 단계는 상기 데이터 버스에 실린 데이터 중 상기 비트 배열 변경 단계에서 비트 배열이 변경된 비트들을 원래의 배열로 복원하는 것을 특징으로 하는 반도체 메모리 장치의 내부 데이터 전송 방법.
- 제 38 항에 있어서,상기 제 2 기능 회로가 데이터를 출력하는 제 6 단계와;상기 제 2 기능 회로로부터 출력되는 데이터의 비트 배열을 변경하는 제 7 단계와;상기 비트 배열이 변경된 데이터를 상기 데이터 버스로 전송하는 제 8 단계와;상기 데이터 버스에 실린 데이터의 비트 배열을 원래의 배열로 복원하는 제 9 단계; 그리고상기 비트 배열이 복원된 데이터를 상기 제 1 기능 회로로 입력하는 제 10 단계를 더 포함하는 것을 특징으로 하는 반도체 메모리 장치의 내부 데이터 전송방법.
- 제 40 항에 있어서,상기 제 7 단계는 상기 제 2 기능 회로로부터 출력되는 데이터 중 일부 비트들을 변경하고,상기 제 9 단계는 상기 데이터 버스에 실린 데이터 중 상기 비트 배열 변경 단계에서 비트 배열이 변경된 비트들을 원래의 배열로 복원하는 것을 특징으로 하는 반도체 메모리 장치의 내부 데이터 전송 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0052927A KR100428786B1 (ko) | 2001-08-30 | 2001-08-30 | 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 |
US10/128,839 US8249253B2 (en) | 2001-08-30 | 2002-04-23 | Semiconductor integrated circuit having encrypter/decrypter function for protecting input/output data transmitted on internal bus |
FR0207932A FR2829266B1 (fr) | 2001-08-30 | 2002-06-26 | Circuit integre a semiconducteurs ayant une fonction de crypteur/decrypteur pour proteger des donnees d'entree/ sortie transmises sur un bus interne |
DE10232348A DE10232348A1 (de) | 2001-08-30 | 2002-07-15 | Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren |
CNB021419639A CN1288568C (zh) | 2001-08-30 | 2002-08-29 | 具有加密/解密功能的半导体集成电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0052927A KR100428786B1 (ko) | 2001-08-30 | 2001-08-30 | 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030018679A KR20030018679A (ko) | 2003-03-06 |
KR100428786B1 true KR100428786B1 (ko) | 2004-04-30 |
Family
ID=19713754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0052927A KR100428786B1 (ko) | 2001-08-30 | 2001-08-30 | 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8249253B2 (ko) |
KR (1) | KR100428786B1 (ko) |
CN (1) | CN1288568C (ko) |
DE (1) | DE10232348A1 (ko) |
FR (1) | FR2829266B1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7248696B2 (en) * | 2002-09-12 | 2007-07-24 | International Business Machines Corporation | Dynamic system bus encryption using improved differential transitional encoding |
JP2004361986A (ja) * | 2003-04-08 | 2004-12-24 | Sharp Corp | スクランブル回路 |
FR2857534B1 (fr) * | 2003-07-09 | 2005-10-28 | Innova Card | Circuit integre comportant un module ordinaire et un module securise raccordes par une liaison protegee |
TWI221966B (en) * | 2003-08-28 | 2004-10-11 | Sunplus Technology Co Ltd | Device for encrypting/protecting program with protection bit codes |
FR2862150B1 (fr) * | 2003-11-12 | 2006-08-11 | Innova Card | Circuit integre a bus de donnees protege par un brouillage |
DE102004030602B4 (de) * | 2004-06-24 | 2007-04-19 | Infineon Technologies Ag | Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses |
DE102004037590B4 (de) * | 2004-08-03 | 2006-06-14 | Infineon Technologies Ag | Integrierte Schaltung und Verfahren zum Betrieb einer solchen |
US20060117122A1 (en) * | 2004-11-04 | 2006-06-01 | Intel Corporation | Method and apparatus for conditionally obfuscating bus communications |
US7822994B2 (en) * | 2005-01-07 | 2010-10-26 | Konica Minolta Systems Laboratory, Inc. | Data bus line and bus having an encryption/decryption device |
US20060288209A1 (en) * | 2005-06-20 | 2006-12-21 | Vogler Dean H | Method and apparatus for secure inter-processor communications |
FR2889349A1 (fr) * | 2005-07-26 | 2007-02-02 | St Microelectronics Sa | Procede et dispositif de securisation d'un circuit integre, notamment une carte a microprocesseur |
EP2109314A1 (en) * | 2008-04-11 | 2009-10-14 | Gemalto SA | Method for protection of keys exchanged between a smartcard and a terminal |
CN103840937A (zh) * | 2012-11-23 | 2014-06-04 | 许丰 | 虚拟量子加密系统 |
CN105790927B (zh) * | 2016-02-26 | 2019-02-01 | 华为技术有限公司 | 一种总线分级加密系统 |
CN108073837B (zh) * | 2016-11-15 | 2021-08-20 | 华为技术有限公司 | 一种总线安全保护方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0635806A (ja) * | 1992-07-21 | 1994-02-10 | Hitachi Ltd | メモリicカード |
JPH07287742A (ja) * | 1994-04-19 | 1995-10-31 | Tokin Corp | Icカード |
WO2001040950A2 (de) * | 1999-12-02 | 2001-06-07 | Infineon Technologies Ag | Mikroprozessoranordnung mit verschlüsselung |
WO2001054083A1 (de) * | 2000-01-18 | 2001-07-26 | Infineon Technologies Ag | Mikroprozessoranordnung mit verschlüsselung |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3083187B2 (ja) * | 1991-09-30 | 2000-09-04 | 富士通株式会社 | 電子財布システムの鍵管理方式 |
DE4339464C2 (de) * | 1993-11-19 | 1995-11-16 | Litef Gmbh | Verfahren zur Sprachverschleierung und -entschleierung bei der Sprachübertragung und Einrichtung zur Durchführung des Verfahrens |
AU1265195A (en) * | 1993-12-06 | 1995-06-27 | Telequip Corporation | Secure computer memory card |
US5442704A (en) * | 1994-01-14 | 1995-08-15 | Bull Nh Information Systems Inc. | Secure memory card with programmed controlled security access control |
FR2723223B1 (fr) * | 1994-07-29 | 1996-08-30 | Sgs Thomson Microelectronics | Procede de brouillage numerique et application a un circuit programmable |
FR2728980B1 (fr) | 1994-12-30 | 1997-01-31 | Thomson Csf | Dispositif de securisation de systemes d'information organises autour de microprocesseurs |
US6038551A (en) * | 1996-03-11 | 2000-03-14 | Microsoft Corporation | System and method for configuring and managing resources on a multi-purpose integrated circuit card using a personal computer |
US6089460A (en) * | 1996-09-13 | 2000-07-18 | Nippon Steel Corporation | Semiconductor device with security protection function, ciphering and deciphering method thereof, and storage medium for storing software therefor |
DE19708616C2 (de) * | 1997-03-03 | 1999-09-02 | Siemens Ag | Elektronische Datenverarbeitungseinrichtung und -system |
JP3609263B2 (ja) * | 1998-08-25 | 2005-01-12 | 富士写真フイルム株式会社 | 画像暗号化方法および装置、画像復号化方法および装置並びに記録媒体 |
JP3827050B2 (ja) | 1999-03-09 | 2006-09-27 | 株式会社ルネサステクノロジ | Icカードと半導体集積回路装置 |
JP3389186B2 (ja) * | 1999-04-27 | 2003-03-24 | 松下電器産業株式会社 | 半導体メモリカード及び読み出し装置 |
US6289455B1 (en) * | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
US6779112B1 (en) * | 1999-11-05 | 2004-08-17 | Microsoft Corporation | Integrated circuit devices with steganographic authentication, and steganographic authentication methods |
US7006629B2 (en) * | 2000-12-19 | 2006-02-28 | International Business Machines Corporation | Method and system for processing a data set |
-
2001
- 2001-08-30 KR KR10-2001-0052927A patent/KR100428786B1/ko not_active IP Right Cessation
-
2002
- 2002-04-23 US US10/128,839 patent/US8249253B2/en active Active
- 2002-06-26 FR FR0207932A patent/FR2829266B1/fr not_active Expired - Lifetime
- 2002-07-15 DE DE10232348A patent/DE10232348A1/de not_active Withdrawn
- 2002-08-29 CN CNB021419639A patent/CN1288568C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0635806A (ja) * | 1992-07-21 | 1994-02-10 | Hitachi Ltd | メモリicカード |
JPH07287742A (ja) * | 1994-04-19 | 1995-10-31 | Tokin Corp | Icカード |
WO2001040950A2 (de) * | 1999-12-02 | 2001-06-07 | Infineon Technologies Ag | Mikroprozessoranordnung mit verschlüsselung |
WO2001054083A1 (de) * | 2000-01-18 | 2001-07-26 | Infineon Technologies Ag | Mikroprozessoranordnung mit verschlüsselung |
Also Published As
Publication number | Publication date |
---|---|
CN1288568C (zh) | 2006-12-06 |
DE10232348A1 (de) | 2003-03-27 |
US20030048900A1 (en) | 2003-03-13 |
US8249253B2 (en) | 2012-08-21 |
KR20030018679A (ko) | 2003-03-06 |
CN1407623A (zh) | 2003-04-02 |
FR2829266B1 (fr) | 2005-11-25 |
FR2829266A1 (fr) | 2003-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100428786B1 (ko) | 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 | |
US7036017B2 (en) | Microprocessor configuration with encryption | |
EP0905942B1 (en) | Decrypting device | |
CN100379194C (zh) | 存储器加密 | |
US5828753A (en) | Circuit and method for ensuring interconnect security within a multi-chip integrated circuit package | |
KR930008041B1 (ko) | 마이크로 콘트롤러 | |
US6212639B1 (en) | Encryption of configuration stream | |
KR100445406B1 (ko) | 데이터 암호화 장치 및 그 방법 | |
TW472488B (en) | Field programmable gate array with program encryption | |
US6345359B1 (en) | In-line decryption for protecting embedded software | |
JP3848573B2 (ja) | マイクロプロセッサシステム | |
US7092400B2 (en) | Method of transmitting data through a data bus | |
US5343525A (en) | Hard disk data security device | |
EP0932124B1 (en) | Integrated circuit and smart card comprising such a circuit | |
KR20070117172A (ko) | 스마트 카드 및 그것의 데이터 보안 방법 | |
US8683217B2 (en) | Device and method for transmitting data in an encrypted manner | |
US7752407B1 (en) | Security RAM block | |
KR20040087910A (ko) | 스크램블 회로, 디스크램블 회로, 데이터 처리 장치 및ic 카드 | |
US7657034B2 (en) | Data encryption in a symmetric multiprocessor electronic apparatus | |
US9270274B1 (en) | FPGA configuration data scrambling using input multiplexers | |
JP2001237825A (ja) | 電子的安全部品 | |
JPH01503028A (ja) | 暗号化及び解読装置 | |
EP1445889B1 (en) | Decryption semiconductor circuit | |
GB2124808A (en) | Security system | |
KR20210108787A (ko) | 듀얼 인코더를 포함하는 시큐리티 회로 및 이를 포함하는 암복호화기 |
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: 20090316 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |