KR100428786B1 - 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 - Google Patents

내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 Download PDF

Info

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
Application number
KR10-2001-0052927A
Other languages
English (en)
Other versions
KR20030018679A (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 삼성전자주식회사
Priority to KR10-2001-0052927A priority Critical patent/KR100428786B1/ko
Priority to US10/128,839 priority patent/US8249253B2/en
Priority to FR0207932A priority patent/FR2829266B1/fr
Priority to DE10232348A priority patent/DE10232348A1/de
Priority to CNB021419639A priority patent/CN1288568C/zh
Publication of KR20030018679A publication Critical patent/KR20030018679A/ko
Application granted granted Critical
Publication of KR100428786B1 publication Critical patent/KR100428786B1/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/34Bits, or blocks of bits, of the telegraphic message being interchanged in time

Abstract

여기에 개시된 반도체 집적 회로는 데이터 버스를 통하여 제 1 회로 블록과 제 2 회로 블록 사이에 송수신되는 데이터의 비트 배열을 매 클럭마다 변경함으로써 외부 침입자에 의해 데이터 버스에 실린 데이터가 노출되더라도 원래의 데이터와 다른 데이터가 노출되므로 내부 회로 블록들 사이의 입출력 데이터가 인가되지 않은 사람에게 노출되더라도 원래의 데이터와 다른 데이터가 노출되므로 내부 회로 블록들 사이의 입출력 데이터를 보호할 수 있다.

Description

내부 버스 입출력 데이터를 보호할 수 있는 집적 회로{INTEGRATED CIRCUIT CAPABLE OF PROTECTING INPUT/OUTPUT DATA OVER INTERNAL BUS}
본 발명은 반도체 집적 회로에 관한 것으로, 좀 더 구체적으로는 내장된 회로 블록들 사이의 입/출력 데이터가 비인가된 사람에 의해 모니터링되는 것을 방지할 수 있는 집적 회로에 관한 것이다.
근래에 신용 카드나 은행 카드와 같은 플라스틱 화폐(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. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 반도체 집적 회로에 있어서:
    제 1 기능 회로를 포함하는 제 1 회로 블록과;
    제 2 기능 회로를 포함하는 제 2 회로 블록; 및
    상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함하되;
    상기 제 1 회로 블록은,
    클럭 신호에 응답해서 난수를 발생하는 난수 발생기; 그리고
    상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 스크램블러를 더 포함하고;
    상기 제 2 회로 블록은,
    상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 더 구비하는 것을 특징으로 하는 반도체 집적 회로.
  6. 제 5 항에 있어서,
    상기 제 1 스크램블러는,
    상기 난수 발생기에서 발생된 난수에 대응하는 제 1 선택 신호들을 발생하는 수단; 그리고
    상기 제 1 선택 신호들에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 제 1 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 비트 배열 변경기를 포함하는 것을 특징으로 하는 반도체 집적 회로.
  7. 제 5 항에 있어서,
    상기 제 2 스크램블러는,
    상기 난수 발생기에서 발생된 난수에 대응하는 제 2 선택 신호들을 발생하는 수단; 그리고
    상기 제 2 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 제 2 선택 신호들에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 비트 배열 변경기를 구비하는 것을 특징으로 하는 반도체 집적 회로.
  8. 제 6 항 또는 제 7 항에 있어서,
    상기 제 1 선택 신호 발생 수단으로부터 발생된 상기 제 1 선택 신호들과 상기제 2 선택 신호 발생 수단으로부터 발생된 상기 제 2 선택 신호들은 서로 동일한 것을 특징으로 하는 반도체 집적 회로.
  9. 제 8 항에 있어서,
    상기 데이터 버스를 통해서 상기 제 1 및 제 2 회로 블록들 사이에 송수신되는 데이터는 N 비트인 것을 특징으로 하는 반도체 집적 회로.
  10. 제 6 항에 있어서,
    상기 제 1 비트 배열 변경기는,
    상기 송수신 데이터의 비트들에 각각 대응하는 N 개의 제 1 스위칭 수단들을 포함하되;
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 가운데 상기 제 1 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 반도체 집적 회로.
  11. 제 10 항에 있어서,
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 기능 회로로부터 데이터가 출력될 때 상기 제 1 기능 회로로부터 출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 중 상기 제 1 선택 신호들에 대응하는 비트로 출력하고,
    상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 1 선택 신호들에 대응하는 비트를 상기 제 1 기능 회로로 입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 반도체 집적 회로.
  12. 제 10 항에 있어서,
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 선택 신호들에 응답해서 동작하며, 상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 비트들 가운데 대응하는 비트와 상기 데이터 버스의 N 비트들 사이에 각각 연결된 N 개의 스위치들을 포함하는 것을 특징으로 하는 반도체 집적 회로.
  13. 제 7 항에 있어서,
    상기 제 2 비트 배열 변경기는,
    상기 송수신 데이터의 비트들에 각각 대응하는 N 개의 제 2 스위칭 수단들을 포함하되;
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 가운데 상기 제 2 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 반도체 집적 회로.
  14. 제 13 항에 있어서,
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 기능 회로로부터 데이터가 출력될 때 상기 제 2 기능 회로로부터 출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 중 상기 제 2 선택 신호들에 대응하는 비트로 출력하고,
    상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 2 선택 신호들에 대응하는 비트를 상기 제 2 기능 회로로 입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 반도체 집적 회로.
  15. 제 14 항에 있어서,
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 선택 신호들에 응답해서 동작하며, 상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 비트들 가운데 대응하는 비트와 상기 데이터 버스의 N 비트들 사이에 각각 연결된 N 개의 스위치들을 포함하는 것을 특징으로 하는 반도체 집적 회로.
  16. 스마트 카드에 있어서:
    제 1 기능 회로를 포함하는 제 1 회로 블록과;
    제 2 기능 회로를 포함하는 제 2 회로 블록; 및
    상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함하되;
    상기 제 1 회로 블록은,
    클럭 신호에 응답해서 난수를 발생하는 난수 발생기와;
    상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 스크램블러를 더 포함하고;
    상기 제 2 회로 블록은,
    상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 구비하는 것을 특징으로 하는 스마트 카드.
  17. 제 16 항에 있어서,
    상기 제 1 스크램블러는,
    상기 난수 발생기에서 발생된 난수에 대응하는 제 1 선택 신호들을 발생하는 수단; 그리고
    상기 제 1 선택 신호들에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 제 1 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 비트 배열 변경기를 포함하는 것을 특징으로 하는 스마트 카드.
  18. 제 16 항에 있어서,
    상기 제 2 스크램블러는,
    상기 난수 발생기에서 발생된 난수에 대응하는 제 2 선택 신호들을 발생하는 수단; 그리고
    상기 제 2 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 제 2 선택 신호들에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 비트 배열 변경기를 구비하는 것을 특징으로 하는 스마트 카드.
  19. 제 17 항 또는 제 18 항에 있어서,
    상기 데이터 버스를 통해서 상기 제 1 및 제 2 회로 블록들 사이에 송수신되는 데이터는 N 비트인 것을 특징으로 하는 스마트 카드.
  20. 제 19 항에 있어서,
    상기 제 1 비트 배열 변경기는,
    상기 송수신 데이터의 비트들에 각각 대응하는 N 개의 제 1 스위칭 수단들을 포함하되;
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 가운데 상기 제 1 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 스마트 카드.
  21. 제 20 항에 있어서,
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 기능 회로로부터 데이터가 출력될 때 상기 제 1 기능 회로로부터 출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 중 상기 제 1 선택 신호들에 대응하는 비트로 출력하고,
    상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 1 선택 신호들에 대응하는 비트를 상기 제 1 기능 회로로입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 스마트 카드.
  22. 제 20 항에 있어서,
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 선택 신호들에 응답해서 동작하며, 상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 비트들 가운데 대응하는 비트와 상기 데이터 버스의 N 비트들 사이에 각각 연결된 N 개의 스위치들을 포함하는 것을 특징으로 하는 스마트 카드.
  23. 제 19 항에 있어서,
    상기 제 2 비트 배열 변경기는,
    상기 송수신 데이터의 비트들에 각각 대응하는 N 개의 제 2 스위칭 수단들을 포함하되;
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 가운데 상기 제 2 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 스마트 카드.
  24. 제 23 항에 있어서,
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 기능 회로로부터 데이터가 출력될 때 상기 제 2 기능 회로로부터 출력되는 데이터의 비트들 중 대응하는 비트를 상기 데이터 버스의 각 비트들 중 상기 제 2 선택 신호들에 대응하는 비트로 출력하고,
    상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 2 선택 신호들에 대응하는 비트를 상기 제 2 기능 회로로 입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 스마트 카드.
  25. 제 24 항에 있어서,
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 선택 신호들에 응답해서 동작하며, 상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 비트들 가운데 대응하는 비트와 상기 데이터 버스의 N 비트들 사이에 각각 연결된 N 개의 스위치들을 포함하는 것을 특징으로 하는 스마트 카드.
  26. 제 22 항 또는 제 25 항에 있어서,
    상기 제 1 선택 신호 발생 수단으로부터 발생된 상기 제 1 선택 신호들과 상기제 2 선택 신호 발생 수단으로부터 발생된 상기 제 2 선택 신호들은 서로 동일한 것을 특징으로 하는 스마트 카드.
  27. 반도체 집적 회로에 있어서:
    제 1 기능 회로를 포함하는 제 1 회로 블록과;
    제 2 기능 회로를 포함하는 제 2 회로 블록; 및
    상기 제 1 및 제 2 회로 블록들 사이의 복수의 데이터 비트들을 송수신하기 위한 데이터 버스를 포함하되;
    상기 제 1 회로 블록은,
    클럭 신호에 응답해서 난수를 발생하는 난수 발생기; 그리고
    상기 난수 발생기에서 발생된 난수에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하는 제 1 스크램블러를 더 포함하고;
    상기 제 2 회로 블록은,
    상기 난수 발생기에서 발생된 난수에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 1 스크램블러에 의해서 배열이 변경된 비트들을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 난수에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 스크램블러를 더 포함하되;
    상기 제 1 스크램블러는, 상기 난수에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 2 스크램블러에 의해서 배열이 변경된 일부 비트들을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 것을 특징으로 하는 반도체 집적 회로.
  28. 제 27 항에 있어서,
    상기 제 1 스크램블러는,
    상기 난수 발생기에서 발생된 난수에 대응하는 제 1 선택 신호들을 발생하는 수단; 그리고
    상기 제 1 선택 신호들에 따라서 상기 제 1 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하고, 상기 제 1 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 2 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 2 스크램블러에 의해서 배열이 변경된 일부 비트들의 배열을 원래의 배열로 환원해서 상기 제 1 기능 회로로 제공하는 제 1 비트 배열 변경기를 포함하는 것을 특징으로 하는 반도체 집적 회로.
  29. 제 28 항에 있어서,
    상기 제 2 스크램블러는,
    상기 난수 발생기에서 발생된 난수에 대응하는 제 2 선택 신호들을 발생하는 수단; 그리고
    상기 제 2 선택 신호들에 따라서 상기 데이터 버스를 통해 상기 제 1 회로 블록으로부터 입력되는 데이터 비트들 중 상기 제 1 스크램블러에 의해서 배열이변경된 일부 비트의 배열을 원래의 배열로 환원해서 상기 제 2 기능 회로로 제공하고, 상기 제 2 선택 신호들에 따라서 상기 제 2 기능 회로로부터 출력되는 데이터 비트들 중 일부의 배열을 변경해서 상기 데이터 버스로 출력하는 제 2 비트 배열 변경기를 구비하는 것을 특징으로 하는 반도체 집적 회로.
  30. 제 29 항에 있어서,
    상기 데이터 버스를 통해서 상기 제 1 및 제 2 회로 블록들 사이에 송수신되는 데이터는 N 비트이고,
    상기 N 비트 데이터 중 상기 제 1 및 제 2 비트 배열 변경기들에 의해서 비트 배열이 변경/환원되는 비트들은 하위 K(K<N) 비트인 것을 특징으로 하는 반도체 집적 회로.
  31. 제 30 항에 있어서,
    상기 제 1 비트 배열 변경기는,
    상기 K 비트 데이터의 비트들 각각에 대응하는 K 개의 제 1 스위칭 수단들을 포함하되;
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 하위 K 비트들 중 대응하는 비트를 상기 데이터 버스의 하위 K 비트들 가운데 상기 제 1 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 반도체 집적 회로.
  32. 제 31 항에 있어서,
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 기능 회로로부터 데이터가 출력될 때 상기 제 1 기능 회로로부터 출력되는 데이터의 하위 K 비트들 중 대응하는 비트를 상기 데이터 버스의 하위 K 비트들 중 상기 제 1 선택 신호들에 대응하는 비트로 출력하고,
    상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 비트들 중 상기 제 1 선택 신호들에 대응하는 비트를 상기 제 1 기능 회로로 입력되는 데이터의 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 반도체 집적 회로.
  33. 제 32 항에 있어서,
    상기 제 1 스위칭 수단들 각각은,
    상기 제 1 선택 신호들에 응답해서 동작하며, 상기 제 1 기능 회로로/로부터 입/출력되는 데이터의 하위 K 비트들 중 대응하는 비트와 상기 데이터 버스의 하위 K 비트들 사이에 각각 연결된 K 개의 스위치들을 포함하는 것을 특징으로 하는 반도체 집적 회로.
  34. 제 30 항에 있어서,
    상기 제 2 비트 배열 변경기는,
    상기 K 비트 데이터의 비트들에 각각 대응하는 K 개의 제 2 스위칭 수단들을 포함하되;
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 기능 회로로/로부터 입/출력되는 데이터의 하위 K 비트들 중 대응하는 비트를 상기 데이터 버스의 하위 K 비트들 가운데 상기 제 2 선택 신호들에 대응하는 비트에 연결하는 것을 특징으로 하는 반도체 집적 회로.
  35. 제 34 항에 있어서,
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 기능 회로로부터 데이터가 출력될 때 상기 제 2 기능 회로로부터 출력되는 데이터의 하위 K 비트들 중 대응하는 비트를 상기 데이터 버스의 하위 K 비트들 중 상기 제 2 선택 신호들에 대응하는 비트로 출력하고,
    상기 데이터 버스로부터 데이터가 입력될 때 상기 데이터 버스에 실린 데이터의 하위 K 비트들 중 상기 제 2 선택 신호들에 대응하는 비트를 상기 제 2 기능 회로로 입력되는 데이터의 하위 K 비트들 중 대응하는 비트로 제공하는 것을 특징으로 하는 반도체 집적 회로.
  36. 제 35 항에 있어서,
    상기 제 2 스위칭 수단들 각각은,
    상기 제 2 선택 신호들에 응답해서 동작하며, 상기 제 2 기능 회로로/로부터입/출력되는 데이터의 하위 K 비트들 가운데 대응하는 비트와 상기 데이터 버스의 하위 K 비트들 사이에 각각 연결된 K 개의 스위치들을 포함하는 것을 특징으로 하는 반도체 집적 회로.
  37. 제 33 및 36 항에 있어서,
    상기 제 1 선택 신호 발생 수단으로부터 발생된 상기 제 1 선택 신호들과 상기제 2 선택 신호 발생 수단으로부터 발생된 상기 제 2 선택 신호들은 서로 동일한 것을 특징으로 하는 반도체 집적 회로.
  38. 제 1 기능 회로를 포함하는 제 1 회로 블록, 제 2 기능 회로를 포함하는 제 2 회로 블록 그리고 상기 제 1 및 제 2 회로 블록들 사이의 데이터 송수신을 위한 데이터 버스가 원-칩으로 집적된 반도체 메모리 장치의 내부 데이터 전송 방법에 있어서:
    상기 제 1 기능 회로가 데이터를 출력하는 제 1 단계와;
    상기 제 1 기능 회로로부터 출력되는 데이터의 비트 배열을 변경하는 제 2 단계와;
    상기 비트 배열이 변경된 데이터를 상기 데이터 버스로 전송하는 제 3 단계와;
    상기 데이터 버스에 실린 데이터의 비트 배열을 원래의 배열로 복원하는 제 4 단계; 그리고
    상기 비트 배열이 복원된 데이터를 상기 제 2 기능 회로로 입력하는 제 5 단계를 포함하는 것을 특징으로 하는 반도체 메모리 장치의 내부 데이터 전송 방법.
  39. 제 38 항에 있어서,
    상기 제 2 단계는 상기 제 2 기능 회로로부터 출력되는 데이터 중 일부 비트들을 변경하고,
    상기 비트 배열 복원 단계는 상기 데이터 버스에 실린 데이터 중 상기 비트 배열 변경 단계에서 비트 배열이 변경된 비트들을 원래의 배열로 복원하는 것을 특징으로 하는 반도체 메모리 장치의 내부 데이터 전송 방법.
  40. 제 38 항에 있어서,
    상기 제 2 기능 회로가 데이터를 출력하는 제 6 단계와;
    상기 제 2 기능 회로로부터 출력되는 데이터의 비트 배열을 변경하는 제 7 단계와;
    상기 비트 배열이 변경된 데이터를 상기 데이터 버스로 전송하는 제 8 단계와;
    상기 데이터 버스에 실린 데이터의 비트 배열을 원래의 배열로 복원하는 제 9 단계; 그리고
    상기 비트 배열이 복원된 데이터를 상기 제 1 기능 회로로 입력하는 제 10 단계를 더 포함하는 것을 특징으로 하는 반도체 메모리 장치의 내부 데이터 전송방법.
  41. 제 40 항에 있어서,
    상기 제 7 단계는 상기 제 2 기능 회로로부터 출력되는 데이터 중 일부 비트들을 변경하고,
    상기 제 9 단계는 상기 데이터 버스에 실린 데이터 중 상기 비트 배열 변경 단계에서 비트 배열이 변경된 비트들을 원래의 배열로 복원하는 것을 특징으로 하는 반도체 메모리 장치의 내부 데이터 전송 방법.
KR10-2001-0052927A 2001-08-30 2001-08-30 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 KR100428786B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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