KR20020071274A - Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치 - Google Patents

Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치 Download PDF

Info

Publication number
KR20020071274A
KR20020071274A KR1020010011319A KR20010011319A KR20020071274A KR 20020071274 A KR20020071274 A KR 20020071274A KR 1020010011319 A KR1020010011319 A KR 1020010011319A KR 20010011319 A KR20010011319 A KR 20010011319A KR 20020071274 A KR20020071274 A KR 20020071274A
Authority
KR
South Korea
Prior art keywords
data
usb
buffer
input
encryption
Prior art date
Application number
KR1020010011319A
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 한승조
Priority to KR1020010011319A priority Critical patent/KR20020071274A/ko
Publication of KR20020071274A publication Critical patent/KR20020071274A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Abstract

본 발명은 PC 기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비 보안 보조기억장치에 관한 것이다. USB 포트와 직렬 입출력 인터페이스를 가지는 USB 제어기; 및 플래시 메모리와 비밀키 기반의 암호화 알고리즘을 ASIC방식으로 내장한 USB형태의 보안보조기억장치, 기존 PCI 및 ISA 인터페이스 규격의 보안 카드나 복제방지 시스템으로 응용 가능하고, 암호화 카드 등 정보통신 기기의 데이터 암·복호화 모듈에 적용 가능하며, 지능망/이동망/개인휴대 통신망의 통신 장비를 이용한 원격 접속에 있어서 보안 모듈을 활용할 수 있으며, 고속으로 암호화 및 복호화 과정을 실행하여 소프트웨어의 무단 복제 방지와 중요 데이터의 접근 통제 및 중요 데이타를 암호화하는 정보보호 시스템으로 적용할 수 있는 암호화 칩(100)으로 구성된다. 따라서, PC 기반에서 작성되는 데이터에 대한 이동성을 갖는 저장, 데이터 암호화 및 접근 통제 등의 정보보호 및 보조기억의 효과가 있다.

Description

PC기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비 보안 보조기억장치{Universal Serial Bus(USB) security secondary storage device using Crypto Chip and Flash memory based on PC}
본 발명은 PC 기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비.(Universal Serial Bus:USB) 보안 보조기억장치에 관한 것으로써, 특히 암호화 알고리즘을 내장한 암호칩(Crypto-chip)을 보안 보조기억장치에 내장시키고 USB 포트를 이용하여 데이터들을 암호화하여 저장함으로써 저장된 데이터에 대한 불법적인 사용을 방지하기 위한 PC 기반의 USB 보안 보조기억장치와 암호칩을 사용한 정보 저장 장치에 관한 것이다.
일반적으로, 컴퓨터의 발달로 개인 또는 기업 내에서 이루어지는 작업들이 전산화되어지고 있으며, 이로 인하여 생성되는 데이터들은 PC에 저장되거나 별도의 이동형 저장매체에 저장되어 이동 또는 보관되어지고 있다. 기존의 저장매체에는 PC 내장형으로 하드디스크, CDROM, 플로피 디스크, PC 외장형으로 외장형 하드디스크, Zip Drive, 멀티미디어 메모리 카드(MMC)등이 존재하며, 이러한 저장매체는 데이터의 저장 및 공유가 가능한 컴퓨팅 환경을 확장한다. 그러나 급속하게 보편화되고 공유화 되는 컴퓨팅 환경은 이로 인해 발생하는 안전하지 못한 작업환경을 더불어 확장하고 있다. 따라서 생성 데이터에 대한 이동, 보관, 관리 및 공유 등의 업무에 있어서 안전하고 안정적인 방법이 필요하게 되었다.
상기 종래의 일반적인 기술은 데이터의 생성 및 보관에 있어서 평문의 형태로 저장하며, 이에 대한 보안은 별도의 SW에 의해 추가적으로 구현하여야 한다. 따라서 다자간의 데이터 교환에 있어서 안정성의 문제가 대두되어 지며, 다양한 컴퓨팅 시스템의 데이터 교환 또한 호환성의 문제가 발생된다. 또한 이동을 위한 데이터의 저장에 있어서 저장 데이터에 대한 안전한 이동이 어려우며, 제 3자에 의한 데이터의 유출에 노출되어 있다.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 제안된 것으로써, 본 발명의 목적은 기존의 Floppy나 외장형 하드디스크를 이용한 이동형 저장장치에 비해 사용하기 편리하게 USB 인터페이스를 채택하고, 제 3자에 의한 불법적인 데이터 유출을 방지하고자 암호화 알고리즘을 ASIC으로 제작하여 내장하며, 데이터 보호 기능을 내장한 장치 제어기 프로그램 기능, USB 포트를 이용한 입출력 및 전송 데이터의 보호 기능, 보안 기능을 이용한 사용자 로그인/로그아웃 기능, 저장되는 데이터에 대한 자동적인 암호화 기능, 사용자 인증 기능, 데이터의 암호화·복호화 기능(Encryption / Decryption), 보안 보조기억장치 자동 보호 기능(Security Secondary Storage Device Auto Protection), 보안 보조기억장치 제어용 소프트웨어 crack 방지 기능(anti debugging, Tamper Resistance), USB 인터페이스 지원 장치와의 충돌 회피 기능을 제공하는 PC 기반의 암호칩과 플래시 메모리를 이용한 USB 보안 보조기억장치를 제공한다.
도1은 일반적인 락의 동작형태를 나타낸 개념도,
도2a는 무단 복제 및 불법 접근을 차단하기 위한 시스템 개념도,
도2b는 PC기반의 USB를 이용한 보안 모듈의 구성도,
도3은 본 발명에 의한 PC기반의 USB 보안 모듈과 암호칩을 사용한 정보보호장치,
도4a는 도3의 KSE96블럭의 구성도,
도4b는 KSE96 블록의 세부구성도,
도4c는 KSE96 의 동작흐름도
< 도면의 주요 부분에 대한 부호의 설명 >
10: USB제어기 11: USB칩
12: MCU 100: 암호화 칩
101: 버퍼 102: 모드 체커
103: PROM 110: KSE96블록
113: 키 스케줄 120: 스크램블러
상기한 목적을 달성하기 위해 본 발명은 USB(Universal Serial Bus) 포트와 직렬 입출력(Serial IO) 인터페이스를 가지는 USB 제어기(10); 및 공개키 기반의비대칭 암호화 알고리즘(RSA)과 비밀키 기반의 대칭 암호화 알고리즘(KSE96) 등의 암호화 알고리즘을 ASIC방식으로 내장되어 USB형태의 보안 모듈뿐만 아니라 PCI 및 ISA 인터페이스 규격의 보안 카드나 복제방지 시스템으로 응용 가능하고, 암호화 카드(Encryption Card) 등 정보통신 기기의 데이터 암복호화 모듈에 적용 가능하며, 지능망/이동망/개인휴대 통신망의 통신 장비를 이용한 원격 접속에 있어서 보안 모듈을 활용할 수 있으며, 고속으로 암호화 및 복호화 과정을 실행하여 상용 소프트웨어의 무단 복제 방지와 중요 데이터의 접근 통제 및 중요 데이타를 암호화하는 정보보호 시스템으로 적용할 수 있는 암호화 칩(Cyper Chip)(100)으로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치를 제공한다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세하게 설명한다.
도 2a는 무단 복제 및 불법 접근을 차단하기 위한 시스템 개념도이다. 실행 소프트웨어는 USB 보안 모듈에 의해 암호화되어 판매되고, 사용자는 정당한 구매를 통해 사용자의 인증을 받은 보안 모듈(Security Module)이 존재해야만 소프트웨어를 실행할 수 있다.
실행 소프트웨어는 보안 모듈에 의해 보호되고 있는 부분(E(code))을 상기 보안 모듈로 사용 가능하게 수정하여야 하며, 필요에 따라 생성된 데이터의 암·복호화 작업을 수행하여 소프트웨어의 불법 복제 및 접근이 방지된다.
보호되어지고 있는 소프트웨어와 상기 보안 모듈 사이에는 디바이스 드라이버(Device driver)가 존재하며 보안 모듈을 제어하는 역할을 한다. 이 때, PC상에서의 프로그램의 노출을 방지하기 위하여 상기 보안 모듈에서 상기 디바이스 드라이버를 통하여 PC의 상태를 감시하게 되며, 어떠한 디버거(Debugger)를 포함한 모니터링 프로그램이 존재가 감지되면 그 즉시 실행을 중지하는 회로인 모드 체커(Mode Checker)를 상기 보안 모듈 내에 탑재한다. 사용자에게 발급되는 보안 모듈은 내부에 유일한 ID를 가지고 있으며, 그에 따른 암호화 알고리즘이 내장되어 있어 견고한 인증 기능을 가지며, 상기 보안 모듈에 의해 암호화된 데이터는 같은 보안 모듈이나 허가된 ID를 갖는 모듈에서만 복호화가 이루어지므로 접근통제를 실행하여 강력한 암·복호화 기능을 갖는다.
도 2b를 참조하면, PC 기반의 USB를 이용한 보안 모듈, 즉 암호화칩(Crypt Chip)에는 암호 및 인증 알고리즘을 ASIC으로 제작하고, 암호화 기능을 갖는 보안 모듈(Security Module)을 제작하여 데이터의 보호 및 소프트웨어의 무단 복제를 방지할 수 있으며, PC의 접근 통제 및 제어할 수 있는 기능을 포함한다.
도 3을 참조하면, 본 발명에 의한 PC 기반의 USB 보안 모듈과 암호칩을 사용한 정보 보호 장치는 USB 포트와 직렬 입출력 인터페이스를 가지는 USB 칩과 MCU(10) 및 암호화 칩(100)으로 구성된다.
상기 암호화 칩(100)은 버퍼(101), 모드 체커(Mode Checker)(102), PROM(103), KSE96 블록(110), 스크램블러(Scrambler)(120), 제어부(130) 및 RSA 연산부(140)로 구성된다.
상기 버퍼(101)는 상기 MCU(12)로부터 데이터를 입력받아 버퍼링 후 상기KSE96 블록(110) 또는 상기 제어부(130) 또는 상기 모드 체커(102) 또는 상기 RSA 연산부(140)로 전송하거나 또는 상기 스크램블러(120)로부터 데이터를 입력받아 버퍼링 후 상기 MCU(12)로 데이터를 전송한다.
상기 KSE96 블록(110)은 상기 버퍼(101)로부터 데이터를 입력받아 암/복호화를 수행하여 상기 스크램블러(120)로 전송한다.
상기 모드 체커(Mode Checker)(102)는 도 5에 도시한 바와 같이 4바이트의 입력값과 4바이트의 참조값을 상기 버퍼(101)로부터 데이터를 입력받아 DBG_Table의 값들과 비교 후 결과(참/거짓)를 상기 제어부(130)로 전송한다.
상기 스크램블러(Scrambler)(120)는 도 7에 도시한 바와 같이 상기 KSE96 블록(110)으로부터 96비트의 데이터와 96비트의 초기값을 입력받아 피드백(Feedback) XOR를 수행한 후 상기 버퍼(101)로 전송한다.
상기 PROM(103)은 상기 제어부(130)로부터 어드레스를 입력받아 모듈(Module) 정보, 내부 키(Internal Key), 외부 키(External Key), 스크램블 키(Scramble Key) 등을 입력하거나 출력한다.
상기 제어부(130)는 상기 버퍼(1)로부터 제어워드(Code Word:CW)를 입력받아 데이터 처리 명령이면 암호화칩(CyperChip)을 데이터의 암복호화를 실행시키고, 키 처리 명령어이면 상기 암호화칩을 키 생성 및 처리 블록으로 동작하게 제어한다.
상기 USB 코어(11)는 USB 포트를 이용하여 외부 입력으로 시리얼(Serial) 데이터를 전송 받아 버퍼링한 후 상기 MCU(12)로 출력하거나 또는 상기 MCU(12)로부터 입력받은 데이터를 버퍼링한 후 시리얼로 출력한다.
상기 MCU(12)는 상기 USB 코어(11)로부터 데이터를 8비트씩 입력받아 입력된 데이터가 모듈정보요청 명령어이면 모듈(Module) 정보를 상기 PROM(103)으로부터 읽어들여 상기 USB 코어(11)의 입력단에 출력하고, 또는 입력된 데이터가 암호칩(Cyper Chip) 제어명령어이면 이후에 입력되는 16바이트를 포함한 17바이트를 암호칩의 상기 버퍼(101)의 입력단으로 출력하거나, 상기 버퍼(101)로부터 16바이트를 입력받아 상기 USB 코어(11)의 입력단으로 출력한다.
도 4a는 도 3의 KSE96 블록(110)의 구성도이고, 도 4b는 KSE96 블록의 세부 구성도이다. 상기 KSE96 블록(110)은 제어 블록(111), 라운드 블록(112) 및 키 스케쥴(113)로 구성된다.
상기 제어 블록(Control Block)(111)은 상기 라운드 블록(112)과 상기 키 스케쥴 블록을 제어한다.
상기 라운드 블록(Round Block)(112)은 암호화 알고리즘이 내장되며 96비트의 데이터를 입력받아 16라운드 반복 형태로 데이터를 암복화하여 암복호화된 96비트의 데이터를 출력한다.
상기 키 스케쥴(Key Schedule)(113)은 I/O버퍼링을 하는 상기 버퍼(101)에서 버퍼링된 데이터가 킷값인지 데이터인지를 구별하여 128비트의 키 값이면 키 생성 알고리즘에 의해 16개의 좌측키(_left_key)와 16개의 우축키(_right_key)를 생성하여 상기 라운드 블록(112)의 암복호화 서브키로 사용한다.
상기 제어 블록(Control Block)(111)은 입력신호 _en이 '1'일 때 입력신호 clk을 입력으로 받아 clk을 _t1과 _t2로 2분주하여 _t1은 SR'L과 SR'R로, _t2는RoundCounter, KBuffer 그리고 Buffer로 출력하기 위한 상태 발생기(State gen); 및 상기 입력신호 _en이 '1'일 때 입력신호 _t2의 상승에지에서 입력신호 _r_en 이 '1'이면 입력신호 _set_rnd가 지시하는 수만큼 출력신호 _rnd_cnt로 카운트하며 출력하고, 그동안 출력신호 _cnt_act는 '1'로 출력하기 위한 라운드 카운터(Round Counter)로 구성된다.
상기 라운드 블록(Round Block)(112)은 외부로부터 96비트 데이터를 입력받아 IP_table을 이용하여 순열연산을 수행하여 출력하기 위한 IP(IP'L, IP'M, IP'R); 상기 IP(IP'L, IP'M, IP'R)로부터 순열연산된 96비트의 데이터를 입력받고 입력신호 _t2의 상승에지에서 _r_en 이 '1' 이면 IP의 96비트 출력을 입력으로 받고 또는 상기 _r_en이 '0'이면 XOR2의 96비트 출력을 입력으로 받아 버퍼링 후 32비트의 좌측 버퍼(Buf'L), 중간 버퍼(Buf'M) 및 우측 버퍼(Buf'R)단으로 나누어 상기 좌측 버퍼(Buf'L)는 XOR2'L의 입력단으로, 상기 중간 버퍼(Buf'M)는 E'L, E'R', FP'M 그리고 상기 좌측 버퍼(Buf'L)의 입력단으로, 상기 우측 버퍼(Buf'R)는 XOR2'R의 입력단으로 출력하기 위한 버퍼(Buf'L, Buf'M, Buf'R); 상기 중간 버퍼(Buf'M)로부터 32비트 데이터를 입력받아 E_table을 이용하여 비트확장 연산을 수행한 후 48비트 데이터를 XOR1'L의 입력단으로 출력하기 위한 E'L; 상기 중간 버퍼(Buf'M)로부터 32비트 데이터를 입력받아 E_table을 이용하여 비트확장 연산을 수행한 후 48비트 데이터를 XOR1'R의 입력단으로 출력하기 위한 E'R; 상기 키 스케쥴(Key Schedule) 블록(113)에서 48비트의 좌측키(_left_key)와 E'L로부터 48비트의 데이터를 입력받아 XOR 연산을 수행한 후 S1'L∼S8'L의 입력단으로 6비트씩 나누어 출력하기 위한 XOR1'L; 상기 키 스케쥴(Key Schedule) 블록(113)에서 48비트의 우측키(_right_key)와 E'R로부터 48비트의 데이터를 입력받아 XOR 연산을 수행한 후 S1'R∼S8'R의 입력단으로 6비트씩 나누어 출력하기 위한 XOR1'R; XOR1'L로부터 6비트씩 8개의 48비트 데이터를 입력받아 S_table을 이용하여 치환 연산을 수행한 후 4비트씩 8개의 32비트 데이터를 P'L의 입력단으로 출력하기 위한 S1'L∼S8'L; XOR1'R로부터 6비트씩 8개의 48비트 데이터를 입력받아 S_table을 이용하여 치환 연산을 수행한 후 4비트씩 8개의 32비트 데이터를 P'R의 입력단으로 출력하기 위한 S1'R∼S8'R; S'L로부터 32비트 데이터를 입력받아 P_table을 이용하여 순열연산을 수행한 후 출력하기 위한 P'L; S'R로부터 32비트 데이터를 입력받아 P_table을 이용하여 순열연산을 수행한 후 출력하기 위한 P'R; 상기 좌측 버퍼(Buf'L)로부터 32비트 데이터를 입력받고, P'L로부터 32비트 데이터를 입력받아 XOR 연산을 수행한 후 상기 우측 버퍼(Buf'R)와 FP'R의 입력단으로 출력하기 위한 XOR2'L; 상기 우측 버퍼(Buf'R)로부터 32비트 데이터를 입력받고, P'R로부터 32비트 데이터를 입력받아 XOR 연산을 수행한 후 상기 중간 버퍼(Buf'M)와 FP'L의 입력단으로 출력하기 위한 XOR2'R; 상기 XOR2'R, 상기 중간 버퍼(Buf'M) 그리고 상기 XOR2'L로부터 32비트씩 96비트를 입력받아 FP_table을 이용하여 순열연산을 수행한 후 출력하기 위한 FP(FP'L, FP'M, FP'R); 및 입력신호 _cnt_act의 하강 에지에서 상기 FP(FP'L, FP'M, FP'R)로부터 96비트의 데이터를 입력받아 버퍼링 후 외부로 출력하기 위한 출력 버퍼(OutBuffer)로 구성된다.
상기 키 스케쥴(Key Schedule)(113)은 PC1으로부터 64비트를 입력으로 받아PC1_table을 이용하여 순열선택연산을 수행한 후 56비트를 KBuf'L의 입력단으로 출력하기 위한 PC1'L; 외부로부터 64비트를 입력으로 받아 내부에 저장된 이전값은 PC1'L의 입력단으로 출력하고, PC1_table을 이용하여 순열선택연산을 수행한 후 56비트를 KBuf'R의 입력단으로 출력하기 위한 PC1'R; 입력신호 _t2의 상승에지에서 입력신호 _k_in이 '1'이면 PC1으로부터 56비트씩 2개의 112비트 값을 입력으로 받고, 또는 _k_in이 '0'이면 SR로부터 56비트씩 2개의 112비트값을 입력으로 받아, 버퍼링 후 56비트의 KBuf'L과 56비트의 KBuf'R로 나누어 출력하기 위한 KBuffer(KBuf'L,KBuf'R); 상기 KBuf'L로부터 56비트를 입력받아 입력신호 _t1이 상승에지에서 _rnd_cnt가 SR_table의 인덱스가 되어 출력된 값만큼 입력신호 enc_dec가 '1'이면 좌측 쉬프트를 수행하고, 또는 입력신호 enc_dec가 '0'이면 우측 쉬프트를 수행하여 56비트의 결과값을 PC2'L의 입력단과 상기 KBuf'L의 입력단으로 출력하기 위한 SR'L; 상기 KBuf'R로부터 56비트를 입력받아 입력신호 _t1이 상승에지에서 _rnd_cnt가 SR_table의 인덱스가 되어 출력된 값만큼 입력신호 enc_dec가 '1'이면 좌측 쉬프트를 수행하고, 또는 입력신호 enc_dec가 '0'이면 우측 쉬프트를 수행하여 56비트의 결과값을 PC2'R의 입력단과 상기 KBuf'R의 입력단으로 출력하기 위한 SR'R; SR'L로부터 56비트를 입력받아 PC2_table을 이용하여 순열 순택연산을 수행한 후 48비트의 결과값을 외부로 좌측키(_left_key)를 출력하는 PC2'L; 및 SR'R로부터 56비트를 입력받아 PC2_table을 이용하여 순열 순택연산을 수행한 후 48비트의 결과값을 외부로 우축키(_right_key)를 출력하기 위한 PC2'R로 구성된다.
도 6을 참조하면, 도 3의 RSA 연산부(140)는 제어기(141), 모듈러지수부(142), 키/텍스트 쉬프트 레지스터(143) 및 데이터 인터페이스부(144)로 구성되고, 잊증용 키를 암호화 및 복호화하는데 사용한다.
상기 제어기(Control block)(141)는 상기 외부 제어 신호를 입력받아 상기 RSA 연산부(140)의 전체 블록들을 제어하도록 제어 신호를 제공한다.
상기 모듈러 지수부(Modular Exponentiation block)(142)는 데이터의 암호화 및 복호화하기 위해 모듈러 멱승 연산(Modular Power Exponentiation)을 수행한다.
상기 키/텍스트 쉬프트 레지스터(Key/text shift register)(143)는 암호화 및 복호화에 사용되는 키와 입·출력 텍스트를 저장한다.
참고로, RSA 암호 시스템에서 공개키(E, N)와 비밀키(D, N) 을 이용하여 암호화 및 복호화하는 과정은 다음과 같다.
○ 암호화(Encryption) :
○ 복호화(Decryption) :
상기 공개키(E, N)를 계산한다. 암호문 C를 복호화하는 과정은 상기 비밀키 D를 이용하여 )를 이용하여 메시지 M을 암호화하는 과정은 먼저 상기 메시지 M을 [0;N-1] 사이의 정수로 표현하고 암호문 상기 RSA 암호 시스템을 구현하기 위한 가장 핵심적인 부분은 모듈라 멱승 연산으로, 이를 효율적으로 구현하는 것이 RSA 암호 시스템의 속도 향상에 있어 중요한 문제이다. 상기 모듈라 멱승 연산을 고속으로 수행하기 위하여 본 발명에서 설계한 프로세서의 최상위 레벨 블록도는 도 8과 같다. 먼저, 암호화 또는 복호화에 사용될 키를 입력받아 저장하고 이 키를 사용하여 입력되는 데이터를 암·복호화한다. 내부에서 데이터는 512비트 단위로 처리되며 외부와의 입출력은 8비트 단위로 이루어지는 범용성 프로세서를 설계하였다.
상기 데이터 인터페이스부(Data Interface block)(144)는 외부와 데이터의 입출력을 제공한다.
따라서, PC 기반에서 불법 사용자에 의해 소프트웨어나 데이터의 불법적인 복제 및 수정을 방지하고, 중요 데이터의 보안과 암호화 및 접근 통제를 하여 정보 통신 기기의 정보를 보호할 수 있다.
상술한 바와 같이, 본 발명에 의한 PC 기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비 보안 보조기억장치는 암호칩에 비밀키 기반의 대칭 암호화 알고리즘인 KSE96 알고리즘, 공개키 기반의 비대칭 암호화 알고리즘인 RSA 알고리즘을 자체 설계된 ASIC 칩으로 내장하고 스크램블러(Scrambler)를 내장한 다층 알고리즘을 적용하여 USB 모듈뿐만 아니라 기존의 PCI 및 ISA 인터페이스 규격의 보안 카드나 복제방지 시스템으로 응용할 수 있으며, 상용 소프트웨어의 복제방지 락 적용 가능, 중요 데이터의 접근 통제 및 암호화, 암호화 모뎀 등에 적용 가능하고 보안용 LAN이나 WAN에 이용할 수 있고 이동통신망/지능망/개인휴대 통신망의 정보보호 시스템에 적용하여 소프트웨어의 무단 복제 방지, 중요 데이터의 보안, 암호화 및 접근 통제 등 정보 보호의 효과가 있다.
또한, 통신 장비를 이용한 원격 접속에 있어서 보안 모듈로의 활용이 가능하며, 정보 시스템의 접근 통제 기법으로 복제가 되지 않는 금고 키의 노출 방지가 보안의 핵심이므로 인증 기능을 이용한 열쇠의 대용으로 안전하게 주요 데이터와소프트웨어의 무단 복제를 방지할 수 있다.

Claims (3)

  1. 컴퓨터에 USB 인터페이스 되는 USB 탭과 USB 보안모듈을 구비한 정보저장 시스템에 있어서,
    USB(Universal Serial Bus) 포트와 직렬 입출력(Serial IO) 인터페이스를 가지는 USB 제어기(USB Controller)(10); 및
    공개키 기반의 비대칭 암호화 알고리즘(RSA)과 비밀키 기반의 대칭 암호화 알고리즘(KSE96) 등의 암호화 알고리즘을 ASIC방식으로 내장되어 USB형태의 보안 모듈뿐만 아니라 PCI 및 ISA 인터페이스 규격의 보안 카드나 복제방지 시스템으로 응용 가능하고, 암호화 카드(Encryption Card) 등 정보통신 기기의 데이터 암복호화 모듈에 적용 가능하며, 지능망/이동망/개인휴대 통신망의 통신 장비를 이용한 원격 접속에 있어서 보안 모듈을 활용할 수 있으며, 고속으로 암호화 및 복호화 과정을 실행하여 상용 소프트웨어의 무단 복제 방지와 중요 데이터의 접근 통제 및 중요 데이타를 암호화하는 정보보호 시스템으로 적용할 수 있는 암호화 칩(Cyper Chip)(100)으로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
  2. 제 1 항에 있어서,
    상기 USB 제어기(10)는
    상기 USB 포트를 이용하여 외부 입력으로 시리얼(Serial) 데이터를 전송 받아 버퍼링한 후 시리얼로 입출력하기 위한 USB 코어(11); 및
    상기 USB 코어(11)로부터 데이터를 8비트씩 입력받아 입력된 데이터가 모듈정보요청 명령어이면 모듈 정보를 상기 암호화칩(100)의 PROM(103)으로부터 읽어들여 상기 USB 코어(11)의 입력단에 출력하고, 또는 입력된 데이터가 암호칩 제어 명령어이면 이후에 입력되는 16바이트를 포함한 17바이트를 상기 암호화칩(100)내 상기 버퍼(101)의 입력단으로 출력하거나, 상기 버퍼(101)로부터 16바이트를 입력받아 상기 USB 코어(11)의 입력단으로 출력하기 위한 MCU(12)로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
  3. 제 1 항에 있어서,
    상기 암호화 칩(100)은
    상기 MCU(12)로부터 데이터를 입력받아 I/O버퍼링한 후 상기 KSE96 블록(110) 또는 제어부(130) 또는 모드 체커(102) 또는 RSA 연산부(140)로 전송하거나 또는 스크램블러(120)로부터 데이터를 입력받아 I/O버퍼링 후 상기 MCU(12)로 데이터를 전송하기 위한 버퍼(101);
    상기 버퍼(101)로부터 데이터를 입력받아 비밀키 기반의 데이타의 암??복호화를 수행하여 상기 스크램블러(120)로 전송하기 위한 KSE96 블록(110);
    상기 버퍼(1)로부터 제어워드(Code Word:CW)를 입력받아 데이터 처리 명령이면 상기 암호화칩(100)을 데이터의 암·복호화 동작을 실행하고, 키 처리 명령어이면 상기 암호화칩(100)을 키 생성 및 처리 블록으로 동작하도록 제어하기 위한 제어부(130);
    4바이트의 입력값과 4바이트의 참조값을 상기 버퍼(101)로부터 데이터를 입력받아 DBG_Table의 값들과 비교 후 결과(참/거짓)를 상기 제어부(130)로 전송하기 위한 모드 체커(Mode Checker)(102);
    상기 KSE96 블록(110)으로부터 96비트의 데이터와 96비트의 초기값을 입력받아 피드백(Feedback) XOR를 수행한 후 상기 버퍼(101)로 전송하기 위한 스크램블러(Scrambler)(120);
    상기 제어부(130)로부터 어드레스를 입력받아 모듈 정보, 내부 키(Internal Key), 외부 키(External Key), 스크램블 키(Scramble Key) 등을 입출력하기 위한 PROM(103); 및
    외부 제어신호와 일정 비트의 입력 데이터를 입력받아 상기 공개키 기반의 비대칭 암호화 알고리즘인 RSA로 연산하여 인증용 키를 암호화 또는 복호화된 데이터로 출력하기 위한 RSA 연산부(140)로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
KR1020010011319A 2001-03-06 2001-03-06 Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치 KR20020071274A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010011319A KR20020071274A (ko) 2001-03-06 2001-03-06 Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010011319A KR20020071274A (ko) 2001-03-06 2001-03-06 Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치

Publications (1)

Publication Number Publication Date
KR20020071274A true KR20020071274A (ko) 2002-09-12

Family

ID=27696447

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010011319A KR20020071274A (ko) 2001-03-06 2001-03-06 Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치

Country Status (1)

Country Link
KR (1) KR20020071274A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040026204A (ko) * 2002-09-23 2004-03-30 주식회사 넥스템 외부 메모리 인터페이스 및 보안키 기능을 가진 다중디지털 오디오재생 시스템
KR100774531B1 (ko) * 2003-10-24 2007-11-08 (주) 미석이노텍 암호화 칩을 이용한 저장매체 데이터 보안 장치
KR100790508B1 (ko) * 2005-08-30 2008-01-02 후지쯔 가부시끼가이샤 정보처리 장치, 정보처리 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR100948599B1 (ko) * 2006-12-01 2010-03-24 한국전자통신연구원 이동통신 단말의 보안성 강화 방법 및 그 시스템
KR20140075848A (ko) * 2012-11-30 2014-06-20 삼성전자주식회사 불 휘발성 메모리 모듈 및 그것의 동작 방법
CN110427764A (zh) * 2019-07-31 2019-11-08 四川效率源信息安全技术股份有限公司 一种针对主控芯片的数据解密方法
CN113127888A (zh) * 2019-12-30 2021-07-16 广东博智林机器人有限公司 安全芯片、终端以及对称密钥的生成方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040026204A (ko) * 2002-09-23 2004-03-30 주식회사 넥스템 외부 메모리 인터페이스 및 보안키 기능을 가진 다중디지털 오디오재생 시스템
KR100774531B1 (ko) * 2003-10-24 2007-11-08 (주) 미석이노텍 암호화 칩을 이용한 저장매체 데이터 보안 장치
KR100790508B1 (ko) * 2005-08-30 2008-01-02 후지쯔 가부시끼가이샤 정보처리 장치, 정보처리 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR100948599B1 (ko) * 2006-12-01 2010-03-24 한국전자통신연구원 이동통신 단말의 보안성 강화 방법 및 그 시스템
KR20140075848A (ko) * 2012-11-30 2014-06-20 삼성전자주식회사 불 휘발성 메모리 모듈 및 그것의 동작 방법
CN110427764A (zh) * 2019-07-31 2019-11-08 四川效率源信息安全技术股份有限公司 一种针对主控芯片的数据解密方法
CN110427764B (zh) * 2019-07-31 2022-11-04 四川效率源信息安全技术股份有限公司 一种针对主控芯片的数据解密方法
CN113127888A (zh) * 2019-12-30 2021-07-16 广东博智林机器人有限公司 安全芯片、终端以及对称密钥的生成方法

Similar Documents

Publication Publication Date Title
RU2371756C2 (ru) Безопасная связь с клавиатурой или родственным устройством
US5224166A (en) System for seamless processing of encrypted and non-encrypted data and instructions
US6948065B2 (en) Platform and method for securely transmitting an authorization secret
CN101853352B (zh) 程序执行设备
CN101401105B (zh) 用于提供加密文件系统的加密系统和方法
CN100487715C (zh) 一种数据安全存储系统和装置及方法
JP2539164B2 (ja) 商用デ―タ・マスキング
US8909932B2 (en) Method and apparatus for security over multiple interfaces
US20150256518A1 (en) Scalable and Secure Key Management for Cryptographic Data Processing
US20030084308A1 (en) Memory encryption
JPH10154976A (ja) タンパーフリー装置
JPH09270785A (ja) 情報処理装置
JPH08328962A (ja) 端末機と、当該端末機に接続されるメモリカードからなるシステム
US7636441B2 (en) Method for secure key exchange
KR100358705B1 (ko) Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치
EP2629223A1 (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
JP2005157930A (ja) 機密情報処理システムおよびlsi
KR20020071274A (ko) Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치
US7941862B2 (en) Data access method against cryptograph attack
WO2006118101A1 (ja) 機密情報処理用ホスト機器および機密情報処理方法
KR100608573B1 (ko) 데이터 복제방지 장치와 시스템 및 복제방지 방법
CN113158203A (zh) 一种soc芯片、电路和soc芯片的外部数据读写方法
CN113408013A (zh) 多种算法规则混合的加解密芯片构架
CN114520740B (zh) 一种加密方法、装置、设备及存储介质
TW202023223A (zh) 加解密系統、加密裝置、解密裝置和加解密方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination