KR20040103745A - 연산 장치 및 연산 방법 - Google Patents

연산 장치 및 연산 방법 Download PDF

Info

Publication number
KR20040103745A
KR20040103745A KR10-2003-7015622A KR20037015622A KR20040103745A KR 20040103745 A KR20040103745 A KR 20040103745A KR 20037015622 A KR20037015622 A KR 20037015622A KR 20040103745 A KR20040103745 A KR 20040103745A
Authority
KR
South Korea
Prior art keywords
data
input
command
key
output
Prior art date
Application number
KR10-2003-7015622A
Other languages
English (en)
Inventor
마쓰다히로미
아베미키
모리나가에이이치로
다나카마사오
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20040103745A publication Critical patent/KR20040103745A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

복호화 또는 암호화를 위해 필요한 정보가 일체, 외부에 출력되지 않고, 또한 부정한 어택이 실행되었을 때는 자기 방어 기능을 발휘할 수 있는 연산 장치 및 연산 방법이다. 커맨드 감시부(44)에서, 입력 커맨드의 시퀀스를 감시한다. 최초의 시퀀스에서는 하드웨어 키(Khd)로부터 제1단의 프로세스 키를 산출하여 키 기억부(47)에 기입한다. 이하의 각 시퀀스에서는 키 기억부(47)에 기억된 프로세스 키로부터 다음 단의 프로세스 키를 산출하고, 소정 내용의 커맨드가 소정 순서로 입력되었을 때 컨텐츠 키를 산출하여 키 기억부(47)에 기입한다. 그 컨텐츠 키에 의해 암호문 데이터를 복호화하여, 데이터 출력 수단(63)으로부터 출력시킨다. 부정한 어택이 실행되었을 때에는 키 데이터(Ksl)를 고정값 데이터(Kf)로 하고, 입력 데이터(Ein)를 고정값 데이터(Df)로 하여 초기화한다.

Description

연산 장치 및 연산 방법 {CALCULATION DEVICE AND CALCULATION METHOD}
암호화 복호화 장치로서, 도 4에 나타내는 바와 같은 장치가 고려된다. 암호화 복호화 처리부(50)는 IC(집적 회로)화되는 암호화 복호화 장치의 인터페이스나 CPU 등을 제외한 부분을 나타내며, 암호화 복호화 연산부(51), 하드웨어 키 생성부(53), 키 기억부(55) 및 키 선택부(57)에 의해 구성되며, 외부로부터 키 선택부(57)에 입력 커맨드가 입력되며, 외부로부터 암호화 복호화 연산부(51)에 입력 데이터가 입력되며, 암호화 복호화 연산부(51)로부터 외부로 출력 데이터가 출력된다.
암호화 복호화 처리부(50) 내에서는, 하드웨어 키 생성부(53)에서, 예를들면, ROM에 기입되어 있는 근본인 비밀 키 데이터가 연산됨으로써, 원시적인 비밀 키 데이터인 하드웨어 키가 생성되어 키 선택부(57)에 입력된다.
그리고 입력 커맨드의 입력에 의해, 최초로, 이 하드웨어 키 생성부(53)로부터의 하드웨어 키가 키 선택부(57)에서 선택되고, 암호화 복호화 연산부(51)에서 입력 데이터로 연산되어, 제1단의 프로세스 키가 산출되고, 이것이 출력 라인(59)을 통해 키 기억부(55)에 기입된다.
다음에, 이 키 기억부(55)로부터 판독된 제1단의 프로세스 키가 키 선택부(57)에서 선택되고, 암호화 복호화 연산부(51)에서 입력 데이터로 연산되어, 제2단의 프로세스 키가 산출되고, 이것이 제1단의 프로세스 키에 대신하여 키 기억부(55)에 기입된다.
암호화 복호화 연산부(51)에서는, 이하, 동일하게 제3단 이하의 프로세스 키가 산출되고, 최종적으로 데이터를 복호화 또는 암호화기 위한 비밀 키 데이터인 컨텐츠 키가 산출되어, 키 기억부(55)에 기입된다.
이 상태에서, 입력 커맨드로서 복호화 모드를 지시하는 커맨드가 입력되고, 입력 데이터로서 암호문 데이터가 입력되면, 키 기억부(55)로부터 판독된 컨텐츠 키가 키 선택부(57)에서 선택되고, 암호화 복호화 연산부(51)에서 암호문 데이터로 연산되고, 암호문 데이터가 복호화 되어 출력 라인(59)에 평문(平文) 데이터가 출력된다.
입력 커맨드로서 암호화 모드를 지시하는 커맨드가 입력되고, 입력 데이터로서 평문 데이터가 입력되는 경우에는, 동일하게, 평문 데이터가 암호화되어 출력 라인(59)에 암호문 데이터가 출력된다.
그러나, 전술한 암호화 복호화 장치에서는, 복호화 또는 암호화의 과정에서, 출력 라인(59)에, 즉 암호화 복호화 연산부(51)로부터 암호화 복호화 장치의 외부에 프로세스 키 및 컨텐츠 키가 출력되고, 이들을 암호화 복호화 장치의 외부로부터 인식할 수 있으므로, 비밀 키 데이터, 특히 은닉성이 확보되어야 할 하드웨어 키의 은닉성이 확보되지 않는 동시에, 장치에 부정으로 어택하는 사람은 여러 가지의 커맨드를 조합하여 입력함으로써, 컨텐츠 키를 산출시켜 데이터를 부정으로 복호화할 수 있게 되어 버릴 가능성이 있어, 시큐리티 강도가 충분하지 않다.
그래서, 본 발명은 연산 처리 결과의 데이터 시큐리티가 확보되는 연산 장치 및 연산 방법을 실현하는 것을 목적으로 한다.
본 발명은 데이터를 연산하는 장치 및 방법에 관한 것이다.
도 1은 본 발명의 연산 장치의 하나의 실시예를 나타내는 도면이다.
도 2는 도 1의 연산 장치의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 연산 장치를 포함하는 데이터 수신 장치의 일례를 나타내는 도면이다.
도 4는 고려되는 연산 장치의 예를 나타내는 도면이다.
본 발명의 연산 장치는,
연산 처리 대상의 데이터가 입력되는 데이터 입력 수단과,
상기 데이터에 대한 처리를 지시하는 커맨드가 입력되는 커맨드 입력 수단과,
상기 데이터 입력 수단에 의해 입력된 데이터를 연산 처리하는 연산 처리 수단과,
이 연산 처리 수단으로 처리된 데이터가 출력되는 데이터 출력 수단과,
이 데이터 출력 수단으로부터 출력되는 데이터를 선택하는 출력 선택 수단과,
상기 커맨드 입력 수단에 의해 입력된 커맨드에 따라, 출력이 허용된 데이터 만 상기 데이터 출력 수단으로부터 출력되도록 상기 출력 선택 수단을 제어하는 제어 수단
을 구비하는 것으로 한다.
본 발명의 연산 방법에서는,
입력된 커맨드에 따라, 입력된 데이터를 연산 처리하고, 입력된 커맨드의 내용이 연산 처리 결과를 출력하는 것인지 여부를 판정하여, 연산 처리 결과를 출력하는 것일 때는 상기 입력된 데이터의 연산 처리 결과를 출력한다.
상기와 같은 본 발명의 연산 장치 또는 연산 방법에 의하면, 연산 처리 결과의 데이터 시큐리티가 확보된다.
도 1은 본 발명의 연산 장치의 하나의 실시예를 나타내며, 암호화 복호화 장치의 경우이다.
암호화 복호화 처리부(40)는 후술한 바와 같이 IC화되는 암호화 복호화 장치의 인터페이스나 CPU 등을 제외한 부분을 나타내며, 데이터 입력 수단(61), 입력측 선택부(41), 암호화 복호화 연산부(42), 출력측 선택부(43), 데이터 출력 수단(63), 커맨드 입력 수단(64), 커맨드 기억부(45)를 포함하는 커맨드 감시부(44), 하드웨어 키 생성부(46), 키 기억부(47) 및 키 선택부(48)에 의해 구성된다.
입력 데이터(Din)는 데이터 입력 수단(61)에 의해 암호화 복호화 처리부(40)내에 입력된다. 입력측 선택부(41)는 후술하는 바와 같이 커맨드 감시부(44)의 제어에 의해, 입력 데이터(Din)와 고정값 데이터(Df) 중 어느 하나를 선택하여, 입력 데이터(Ein)로서, 암호화 복호화 연산부(42)에 입력한다.
암호화 복호화 연산부(42)는 커맨드 감시부(44)의 제어에 의해, 후술하는 바와 같이 키 선택부(48)에서 선택된 키 데이터(Ksl)와, 입력측 선택부(41)로부터의 입력 데이터(Ein)를 연산하여, 후술하는 프로세스 키 및 루트 키를 산출하고, 최종적으로 컨텐츠 키를 산출하는 동시에, 그 컨텐츠 키에 의해, DES(Data Encryption Standard)나 Triple DES 등의 암호 알고리즘에 의해, 데이터를 복호화 또는 암호화하는 것이다.
출력측 선택부(43)는 커맨드 감시부(44)의 제어에 의해, 암호화 복호화 연산부(42)의 출력 데이터(Eout)로서 키 데이터(프로세스 키, 루트 키 또는 컨텐츠 키)가 얻어질 때는, 그 키 데이터를 키 선택부(48)에서의 선택용으로 키 기억부(47)에 기억시키고, 암호화 복호화 연산부(42)의 출력 데이터(Eout)로서 복호화 또는 암호화된 데이터가 얻어질 때는, 그 데이터를 출력 데이터(Dout)로서, 데이터 출력 수단(63)에 의해 암호화 복호화 처리부(4O)의 외부에 출력시킨다.
커맨드는 커맨드 입력 수단(64)에 의해 암호화 복호화 처리부(40) 내에 입력된다. 커맨드 감시부(44)는 입력 커맨드가 일련의 시퀀스로 입력되었을 때, 하나의 커맨드마다 커맨드를 커맨드 기억부(45)에 순환적으로 기억시키고, 커맨드 기억부(45)로부터 순환적으로 판독하여 입력 커맨드의 시퀀스를 감시하고, 그 감시 결과에 따라, 후술하는 바와 같이 입력측 선택부(41), 암호화 복호화 연산부(42), 출력측 선택부(43) 및 키 선택부(48)를 제어한다.
하드웨어 키 생성부(46)는, 예를 들면, ROM에 기입되어 있는 근본인 비밀 키 데이터를, 비트 단위의 교체, 반전, 배타적 논리합(EOR;XOR)의 산출 등에 의해 연산함으로써, 하드웨어 키(Khd)를 생성하는 것이며, 그 생성된 하드웨어 키(Khd)는 키 선택부(48)에 입력된다.
키 기억부(47)에는 상기와 같이 암호화 복호화 연산부(42)에서 산출된 키 데이터(프로세스 키, 루트 키 또는 컨텐츠 키)가 기입되는 것이며, 이제부터 판독된 키 데이터가 키 선택부(48)에 입력된다.
키 선택부(48)에는 그 밖에 고정값 데이터(Kf)가 입력되며, 키 선택부(48)에서는 커맨드 감시부(44)의 제어에 의해 하드웨어 키 생성부(46)로부터의 하드웨어 키(Khd), 키 기억부(47)로부터의 프로세스 키, 루트 키 또는 컨텐츠 키, 또는 고정값 데이터(Kf)가 선택되고, 그 선택된 키 데이터(Ksl)가 암호화 복호화 연산부(42)에 입력된다.
이상의 구성인 암호화 복호화 처리부(40)에서는, 입력 커맨드가 일련의 시퀀스로 입력되었을 때 암호화 복호화 연산부(42)에서는, 다음과 같이 차례로 키 데이터가 산출된다.
도 2에 나타내는 바와 같이, 일련의 시퀀스를 시퀀스 1, 2, 3‥‥n-1, n, n+1, n+2, n+3, n+4, n+5로 한다. 각 시퀀스에서는, 정확하게는 커맨드(A1, A2, A3‥‥An-1, An, B1, C1, C2, C3, C4가 차례로 입력되어야 하는 것이다. 또 각 시퀀스에서는, 입력 데이터(Din)로서, 암호화 복호화 처리부(40)의 외부 CPU에 의해,암호화 복호화 처리부(40)의 외부의 ROM으로부터 각각 소정 데이터가 입력된다.
먼저, 시퀀스(1)에서는 커맨드(A1)가 입력됨으로써, 키 선택부(48)에서는 키 데이터(Ksl)로서 하드웨어 키(Khd)가 선택되고, 입력측 선택부(41)에서는 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서, 그 때의 입력 데이터(Din)가 선택되고, 암호화 복호화 연산부(42)에서는 연산 결과의 출력 데이터(Eout)로서, 프로세스 키(K1)가 산출된다. 단, 이 프로세스 키(K1)는 암호화 복호화 장치의 외부에 출력되지 않고 키 기억부(47)에 기입된다.
다음에, 시퀀스(2)에서는 커맨드(A2)가 입력됨으로써, 키 선택부(48)에서는 키 데이터(Ksl)로서, 시퀀스(1)에서 키 기억부(47)에 기입된 프로세스 키(K1)가 선택되고, 입력측 선택부(41)에서는 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서, 그 때의 입력 데이터(Din)가 선택되고, 암호화 복호화 연산부(42)에서는 연산 결과의 출력 데이터(Eout)로서 프로세스 키(K2)가 산출된다. 이 프로세스 키(K2)도 암호화 복호화 장치의 외부에 출력되지 않고 키 기억부(47)에 기입된다.
다음에, 시퀀스(3)에서는 커맨드(A3)가 입력됨으로써, 키 데이터(Ksl)로서, 시퀀스(2)에서 키 기억부(47)에 기입된 프로세스 키(K2)가 선택되고, 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서 그 때의 입력 데이터(Din)가 선택되고, 암호화 복호화 연산부(42)에서는 연산 결과의 출력 데이터(Eout)로서 프로세스 키(K3)가 산출된다. 이 프로세스 키(K3)도 암호화 복호화 장치의 외부에 출력되지 않고 키 기억부(47)에 기입된다.
동일하게 하여, 시퀀스(n-1)에서는 커맨드(An-1)가 입력됨으로써, 키데이터(Ksl)로서, 직전의 시퀀스(n-2에서 키 기억부(47)에 기입된 프로세스 키(Kn-2)가 선택되고, 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서 그 때의 입력 데이터(Din)가 선택되고, 암호화 복호화 연산부(42)에서는 연산 결과의 출력 데이터(Eout)로서 프로세스 키(Kn-1)가 산출된다. 이 프로세스 키(Kn-1)도 암호화 복호화 장치의 외부에 출력되지 않고 키 기억부(47)에 기입된다.
다음에, 시퀀스(n)에서는 커맨드(An)가 입력됨으로써, 키 데이터(Ksl)로서 직전의 시퀀스(n-1)에서 키 기억부(47)에 기입된 프로세스 키(Kn-1)가 선택되고, 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서, 그 때의 입력 데이터(Din)가 선택되고, 암호화 복호화 연산부(42)에서는 연산 결과의 출력 데이터(Eout)로서, n단째의 프로세스 키인 루트 키(Krt)가 산출된다. 이 루트 키(Krt)도 암호화 복호화 장치의 외부에 출력되지 않고 키 기억부(47)에 기입된다.
다음에, 시퀀스(n+1)에서는 커맨드(B1)가 입력됨으로써, 키 데이터(Ksl)로서 직전의 시퀀스(n)에서 키 기억부(47)에 기입된 루트 키(Krt)가 선택되고, 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서, 그 때의 입력 데이터(Din)인 검증용 데이터(Drt)가 선택되고, 암호화 복호화 연산부(42)에서는 연산 결과의 출력 데이터(Eout)로서 루트 키(Krt)가 구해진 것을 나타내는 내용("1")의 데이터(Edt)가 얻어진다.
단, 이것은 시퀀스(n)까지, 커맨드(A1‥‥An)가 차례로 입력된 경우이며, 도중에 상이한 내용의 커맨드가 입력된 경우, 또는 입력 커맨드의 순서가 상이한 경우에는 시퀀스(n)에서 루트 키(Krt)가 얻어지지 않으므로, 시퀀스(n+1)에서 출력데이터(Eout)로서 얻어지는 데이터(Edt)는 루트 키(Krt)가 구해지지 않은 것을 나타내는 내용("0")으로 된다.
커맨드 감시부(44)는 이 데이터(Edt)의 내용을 보아, 그때까지의 커맨드 시퀀스가 올바른지 여부를 판단하여, 올바르지 않을 때에는 후술하는 부정한 어택에 대한 처리를 실행한다.
시퀀스(n+1)까지의 커맨드 시퀀스가 올바른 경우, 또한, 시퀀스(n+2)에서는 커맨드(C1)가 입력됨으로써, 키 데이터(Ksl)로서 키 기억부(47)에 기입되어 있는 루트 키(Krt)가 선택되고, 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서 그 때의 입력 데이터(Din)가 선택되고, 암호화 복호화 연산부(42)에서는 출력 데이터(Eout)로서 연산 후의 데이터가 얻어진다. 다음의 시퀀스(n+3), 및, 또한 다음의 시퀀스(n+4)에서도 동일하다. 이들 연산 후의 데이터는 암호화 복호화 장치의 외부에 출력되지 않고 키 기억부(47)에도 기입되지 않는다.
다음에, 시퀀스(n+5)에서는 커맨드(C4)가 입력됨으로써, 키 데이터(Ksl)로서 키 기억부(47)에 기입되어 있는 루트 키(Krt)가 선택되고, 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서 그 때의 입력 데이터(Din)가 선택되고, 암호화 복호화 연산부(42)에서는 연산 결과의 출력 데이터(Eout)로서 컨텐츠 키(Kct)가 산출된다. 이 컨텐츠 키(Kct)도 암호화 복호화 장치의 외부에 출력되지 않고 키 기억부(47)에 기입된다.
이 시퀀스(n+5)의 실행 후에, 키 기억부(47)에 기억되어 있는 컨텐츠 키(Kct)에 의해 암호문 데이터를 복호화하고, 또는 평문 데이터를 암호화할 수 있다.
이 경우에는, 입력 커맨드로서 복호화 또는 암호화의 모드를 지시하는 커맨드가 입력되고, 키 선택부(48)에서는 키 데이터(Ksl)로서 키 기억부(47)로부터 판독된 컨텐츠 키(Kct)가 선택되고, 입력측 선택부(41)에서는 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서 그 때의 입력 데이터(Din)인 암호문 데이터 또는 평문 데이터가 선택되고, 암호화 복호화 연산부(42)에서 데이터가 복호화 또는 암호화되고, 출력측 선택부(43)에 의해 그 복호화 또는 암호화된 데이터가 출력 데이터(Dout)로서 데이터 출력 수단(63)에 의해 암호화 복호화 장치의 외부에 출력된다.
이에 대하여, 부정한 어택으로서, 예를 들면, 시퀀스(n+2)에서는 어택(1)으로서 나타내는 바와 같이 정규의 커맨드(C1)가 입력되지만, 다음의 시퀀스(n+3)에서는 어택(2)으로서 나타내는 바와 같이 커맨드(C3)가 입력되면, 커맨드 감시부(44)는 부정한 어택이 실행된 것으로 판단하여, 부정한 어택에 대한 처리를 실행한다.
구체적으로, 이 때, 초기화 처리로서, 키 선택부(48)에서는 키 데이터(Ksl)로서 고정값 데이터(Kf)가 선택되고, 입력측 선택부(41)에서는 암호화 복호화 연산부(42)에의 입력 데이터(Ein)로서 고정값 데이터(Df)가 선택되고, 암호화 복호화 연산부(42)에서는 출력 데이터(Eout)로서 일정한 데이터가 산출되어, 출력측 선택부(43)에 의해 데이터 출력 수단(63)을 통해 외부에 출력된다.
도 3은 데이터 수신 시스템의 일례를 나타낸다. 이 예의 데이터 수신 시스템에서는 기록 매체(1)로부터의 리핑(ripping)이나, 인터넷을 이용한 분배 시스템(2)으로부터의 다운로드 등에 의해 PC 등의 단말(10)에서 부호화되고, 또한 비밀 키에 의해 암호화된 데이터가 수신된다.
그 수신된 데이터는 단말(10)로부터, 단말(10)의 USB(Universal Serial Bus)단자에 접속된 기록 재생 장치(20)에 송신된다.
기록 재생 장치(20)는 기록 매체(5) 상에 데이터를 기록하여, 기록 매체(5) 상으로부터 데이터를 재생하는 것이며, 이것에 암호화 복호화 장치(30)가 설치된다.
암호화 복호화 장치(30)는 도 1에 나타내 전술한 암호화 복호화 처리부(40)를 구비하는 외에 CPU(31)를 구비하고, 그 버스(32)에 CPU(31)가 실행해야 할 커맨드 송수(送受)나 암호화 복호화 처리 등의 프로그램이나 필요한 고정 데이터 등이 기입된 ROM(33), CPU(31)의 워크 에리어 등으로서 기능하는 RAM(34), 단말(10) 사이에서 커맨드를 송수하고, 단말(10)로부터 데이터를 수용하는 USB 인터페이스(36), 기록 재생 장치 본체부의 DSP(Digital Signal Processor)(26)에 데이터를 출력하기 위한 인터페이스(37), 및 기록 재생 장치 본체부의 CPU(21) 사이에서 커맨드를 송수하기 위한 인터페이스(39)가 접속된다.
이 암호화 복호화 장치(30)는 원칩 LSI(대규모 집적 회로)로서 형성된다.
기록 재생 장치 본체부는 CPU(21)의 버스(22)에, CPU(21)가 실행해야 할 프로그램이나 필요한 고정 데이터 등이 기입된 ROM(23), CPU(21)의 워크 에리어 등으로서 기능하는 RAM(24), 및 상기 DSP(26)가 접속되고, DSP(26)에 기록 재생처리부(27) 및 출력 처리부(28)이 접속된다.
암호화 복호화 장치(30)에서는 ROM(33)으로부터 판독된 데이터가 전술한 각 시퀀스에서의 입력 데이터(Din)로서 암호화 복호화 처리부(40)에 입력된다.
그리고, USB 인터페이스(36)를 통해 단말(10)로부터 수용된, 부호화되고, 또한 비밀 키에 의해 암호화된 데이터가 암호화 복호화 처리부(40)에서 전술한 바와 같이 컨텐츠 키(Kct)에 의해 복호화되고, 그 복호화된 평문 데이터로서의 부호화된 데이터가 도 1에 나타낸 데이터 출력 수단(63)에 의해 인터페이스(37)를 통해 DSP(26)에 송출되고, DSP(26)에서 처리된 후 기록 재생 처리부(27)에 의해 기록 매체(5) 상에 기록되고, 또는 출력 처리부(28)에 의해 아날로그 신호로 변환되어 출력 단자(29)에 도출된다.
단말(10)에서 부정한 어택이 실행되면, 암호화 복호화 장치(30)에서 전술한 바와 같은 부정한 어택에 대한 처리가 실행되어, 기록 매체(5) 상에의 데이터의 기록, 및 출력 단자(29)에의 신호의 출력이 저지된다.
도 3의 예는 기록 재생 장치의 경우이지만, 기록 재생 기능을 구비하지 않고 데이터 수신 장치에도 본 발명을 적용할 수 있다.
전술한 바와 같이, 본 발명에 의하면, 연산 처리 결과 데이터의 시큐리티가 확보되는 연산 장치 및 연산 방법을 실현할 수 있다.

Claims (12)

  1. 연산 처리 대상의 데이터가 입력되는 데이터 입력 수단과,
    상기 데이터에 대한 처리를 지시하는 커맨드가 입력되는 커맨드 입력 수단과,
    상기 데이터 입력 수단에 의해 입력된 데이터를 연산 처리하는 연산 처리 수단과,
    상기 연산 처리 수단으로 처리된 데이터가 출력되는 데이터 출력 수단과,
    상기 데이터 출력 수단으로부터 출력되는 데이터를 선택하는 출력 선택 수단과,
    상기 커맨드 입력 수단에 의해 입력된 커맨드에 따라, 출력이 허용된 데이터 만 상기 데이터 출력 수단으로부터 출력되도록 상기 출력 선택 수단을 제어하는 제어 수단
    을 구비하는 연산 장치.
  2. 제1항에 있어서,
    상기 제어 수단은 상기 커맨드 입력 수단에 의해 입력된 커맨드의 입력 순서를 판정하는 판정 수단을 구비하고, 그 판정 결과에 따라 상기 출력 선택 수단을 제어하는 연산 장치.
  3. 제1항에 있어서,
    상기 연산 처리 수단으로 처리된 데이터 중 적어도 하나가 기억되는 기억 수단을 구비하는 연산 장치.
  4. 제3항에 있어서,
    상기 연산 처리 수단은 상기 기억 수단에 기억된 데이터와, 상기 데이터 입력 수단에 의해 입력된 데이터를 연산에 사용하는 연산 장치.
  5. 제1항에 있어서,
    초기값 데이터를 생성하는 데이터 생성 수단을 구비하고, 상기 연산 처리 수단은 상기 데이터 생성 수단에 의해 생성된 상기 초기값 데이터와, 상기 데이터 입력 수단에 의해 입력된 데이터를 연산에 사용하는 연산 장치.
  6. 제5항에 있어서,
    상기 연산 처리 수단으로 처리된 데이터 중 적어도 하나가 기억되는 기억 수단을 구비하는 연산 장치.
  7. 제6항에 있어서,
    상기 기억 수단에 기억된 데이터와, 상기 데이터 생성 수단에 의해 생성된 초기값 데이터를 선택하여, 상기 연산 처리 수단에 입력하는 데이터 선택 수단을구비하고,
    상기 제어 수단은 상기 커맨드 입력 수단에 의해 입력된 커맨드에 따라, 상기 기억 수단에 기억된 데이터와, 상기 데이터 생성 수단에 의해 생성된 초기값 데이터가 선택적으로 상기 연산 처리 수단에 입력되도록 상기 데이터 선택 수단을 제어하고,
    상기 연산 처리 수단은 상기 데이터 선택 수단에 의해 선택된 데이터와, 상기 데이터 입력 수단에 의해 입력된 데이터를 연산하는 연산 장치.
  8. 제7항에 있어서,
    상기 데이터 선택 수단에는 제1 고정값 데이터가 추가로 입력되고, 상기 제어 수단은 소정 순서와 상이한 순서로 커맨드가 입력되었다고 판단한 경우에는, 상기 제1 고정값 데이터가 상기 데이터 선택 수단에 의해 선택되어 상기 연산 처리 수단에 입력되도록 상기 데이터 선택 수단을 제어하는 연산 장치.
  9. 제2항에 있어서,
    상기 데이터 입력 수단에 의해 입력된 데이터와 제2의 고정값 데이터를 선택하여 출력하는 입력 데이터 선택 수단을 구비하고, 상기 제어 수단은 소정 순서와 상이한 순서로 커맨드가 입력되었다고 판단한 경우에는, 상기 제2 고정값 데이터가 상기 입력 데이터 선택 수단에 의해 선택되어 상기 연산 처리 수단에 입력되도록 상기 입력 데이터 선택 수단을 제어하는 연산 장치.
  10. 제2항에 있어서,
    상기 커맨드 입력 수단에 의해 입력된 커맨드를 기억하는 커맨드 기억 수단을 구비하고, 상기 제어 수단은 상기 커맨드 기억 수단에 기억된 커맨드와, 상기 입력된 커맨드에 따라 커맨드의 입력 순서를 판정하는 연산 장치.
  11. 입력된 커맨드에 따라, 입력된 데이터를 연산 처리하고, 상기 입력된 커맨드의 내용이 연산 처리 결과를 출력하는 것인지 여부를 판정하여, 상기 연산 처리 결과를 출력하는 것일 때는 상기 입력된 데이터의 연산 처리 결과를 출력하는 연산 방법.
  12. 제11항의 연산 방법에 있어서,
    상기 입력된 커맨드를 기억해 두고, 그 기억되어 있는 커맨드와 새로이 입력된 커맨드에 따라 커맨드의 입력 순서가 소정 순서로 되어 있을 때, 상기 연산 처리 결과를 출력하는 것으로 판정하는 연산 방법.
KR10-2003-7015622A 2002-04-19 2003-04-18 연산 장치 및 연산 방법 KR20040103745A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002118507A JP2003316263A (ja) 2002-04-19 2002-04-19 演算装置および演算方法
JPJP-P-2002-00118507 2002-04-19
PCT/JP2003/004999 WO2003090186A1 (fr) 2002-04-19 2003-04-18 Dispositif et procede de calcul

Publications (1)

Publication Number Publication Date
KR20040103745A true KR20040103745A (ko) 2004-12-09

Family

ID=29243528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7015622A KR20040103745A (ko) 2002-04-19 2003-04-18 연산 장치 및 연산 방법

Country Status (6)

Country Link
US (1) US7392272B2 (ko)
EP (1) EP1408471A1 (ko)
JP (1) JP2003316263A (ko)
KR (1) KR20040103745A (ko)
CN (1) CN1252663C (ko)
WO (1) WO2003090186A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4818651B2 (ja) * 2005-07-13 2011-11-16 ルネサスエレクトロニクス株式会社 暗号化・復号化回路
JP5464052B2 (ja) * 2010-05-26 2014-04-09 大日本印刷株式会社 認証処理装置、認証処理方法、認証処理プログラム、処理システム、及び現金自動預け払い機
EP3094039A1 (en) * 2015-05-13 2016-11-16 Gemalto Sa Method for optimizing the execution of a function which generates at least one key within an integrated circuit device
US11853685B2 (en) 2018-01-23 2023-12-26 Oracle International Corporation Transformation of resource files using mapped keys for tracking content location

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61251255A (ja) 1985-04-26 1986-11-08 Nec Corp 薄膜トランジスタの製造方法
GB2189970B (en) 1986-05-01 1990-03-28 British Broadcasting Corp Data conversion
SE518747C2 (sv) * 1995-08-28 2002-11-12 Sanyo Electric Co Digital signalmottagare som kan mottaga data som har kodats och sänts med on-line behandling
DE19539700C1 (de) * 1995-10-25 1996-11-28 Siemens Ag Sicherheitschip
FR2757972B1 (fr) * 1996-12-31 1999-02-19 Bull Cp8 Procede de securisation d'un module de securite, et module de securite associe
JP3906574B2 (ja) 1997-08-07 2007-04-18 株式会社日立製作所 暗号変換方法、暗号変換装置、復号方法、復号装置及びデータ通信システム
JPH11266240A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 暗号通信処理装置
JP2001016655A (ja) 1999-06-30 2001-01-19 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 安全な携帯端末装置
WO2003058952A1 (en) * 2001-12-28 2003-07-17 Sony Corporation Display apparatus and control method
JP4150965B2 (ja) * 2003-05-12 2008-09-17 オムロン株式会社 端末装置、業務指示方法、コンテンツ提供装置、コンテンツ提供方法、記録媒体、プログラム、業務管理システム、および業務管理方法

Also Published As

Publication number Publication date
CN1518732A (zh) 2004-08-04
US20040162869A1 (en) 2004-08-19
WO2003090186A1 (fr) 2003-10-30
EP1408471A1 (en) 2004-04-14
JP2003316263A (ja) 2003-11-07
CN1252663C (zh) 2006-04-19
US7392272B2 (en) 2008-06-24

Similar Documents

Publication Publication Date Title
CN100379194C (zh) 存储器加密
US7949128B2 (en) Method and device for the encryption and decryption of data
KR100417657B1 (ko) 일방향 데이터 변환장치 및 기기 인증 시스템
US20040177257A1 (en) Data processing device and data processing method
EP0002579A1 (en) A method of creating a secure data file
KR900702480A (ko) 통신기기
US20010014154A1 (en) Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same
JP4491706B2 (ja) 暗号化復号化装置およびデータ受信装置
WO2006033347A1 (ja) 機密情報処理方法、機密情報処理装置、およびコンテンツデータ再生装置
JP2000511755A (ja) バイナリーコード情報を暗号化する方法
JP2004208088A (ja) デバイス鍵復号化装置、デバイス鍵暗号化装置、デバイス鍵暗号復号化装置、デバイス鍵復号化方法、デバイス鍵暗号化方法、デバイス鍵暗号復号化方法、及びそのプログラム
KR0137709B1 (ko) 암호화된 컴퓨터 목적 코드의 암호 해독 방지 방법
US20020168067A1 (en) Copy protection method and system for a field-programmable gate array
KR20040103745A (ko) 연산 장치 및 연산 방법
JPH02110491A (ja) 記憶装置
JP2007049759A (ja) 暗号化装置
JP2001111539A (ja) 暗号鍵生成装置および暗号鍵伝送方法
US5068895A (en) Encryption and decryption methods using bit-length preservation decryptor
JP2541113B2 (ja) 暗号連鎖における暗号化前処理装置および復号後処理装置
US20030118186A1 (en) Apparatus for and method for cipher check of an analog scrambler
JP2001177518A (ja) 暗号化方法、復号化方法及び装置
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
JP4644053B2 (ja) 暗号化装置及び方法、復号化装置及び方法
JP2005202048A (ja) 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application