KR100358705B1 - Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치 - Google Patents

Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치 Download PDF

Info

Publication number
KR100358705B1
KR100358705B1 KR1019990052728A KR19990052728A KR100358705B1 KR 100358705 B1 KR100358705 B1 KR 100358705B1 KR 1019990052728 A KR1019990052728 A KR 1019990052728A KR 19990052728 A KR19990052728 A KR 19990052728A KR 100358705 B1 KR100358705 B1 KR 100358705B1
Authority
KR
South Korea
Prior art keywords
data
input
bit
key
bits
Prior art date
Application number
KR1019990052728A
Other languages
English (en)
Other versions
KR20010048160A (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 KR1019990052728A priority Critical patent/KR100358705B1/ko
Publication of KR20010048160A publication Critical patent/KR20010048160A/ko
Application granted granted Critical
Publication of KR100358705B1 publication Critical patent/KR100358705B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치{An apparatus for information protection using Universal Serial Bus(USB) security module and crypto-chip based on PC}
본 발명은 PC 기반의 유.에스.비.(Universal Serial Bus:USB) 보안 모듈과 암호칩을 사용한 정보 보호 장치에 관한 것으로써, 특히 다양한 암호화 알고리즘을 내장한 암호칩(Crypto-chip)을 복제방지용 락에 내장시키고 USB 포트를 이용하여 제어함으로써 PC에서 불법 사용자에 의해 소프트웨어나 데이터의 불법적인 복제 및 수정을 방지하기 위한 PC 기반의 USB 보안 모듈과 암호칩을 사용한 정보 보호 장치에 관한 것이다.
일반적으로, 통신망의 발달로 기존 망들이 WWW으로 통합되는 움직임이 실현되고 있으며 단대단(point to point)의 보안 개념이 네트워크 대 네트워크(network to network) 개념으로 전환되는 새로운 변화가 일어나면서방화벽(Firewall)/Guard/보안 게이트웨이(Secure Gateway) 등이 앞으로 발전 추세로 자리잡아 가고 있다. 그러나, 이러한 소프트웨어적인 방지 대책은 무단 복제 및 변경 가능성을 항상 가지고 있기 때문에 전세계의 보안 및 보호 장비 개발 회사들은 보안성 및 인증성이 훨씬 우수하고 복제가 불가능한 하드웨어 전자 카드인 스마트 카드의 개발에 역점을 두고 있다. 상기 스마트 카드는 현재 신분 카드/전자상거래 통장 등에 사용되고 있으며 일반 신용카드 크기에 암호화된 신분을 증명할 수 있는 내용과 기타 정보를 담고 있으면서도 복제나 해킹이 불가능한 것으로 알려져 있다.
실제로 락(Lock)의 기능은 소프트웨어나 하드웨어로 구현하게 되는데, 락을 탑재한 응용 프로그램은 락과 정해진 방법으로 통신(lock checking)을 함으로써 락의 유무나 오류 등을 결정하게 된다. 락(Lock)이 처음 출현할 때에도 락의 내부에 시리얼 넘버(Serial Number)나 고유 ID등이 쉽게 노출되어지는 단점 때문에 하드웨어 락으로 발전하게 되었다.
하드웨어 락은 대체적으로 EEPROM형식과 ASIC 형식으로 분류될 수 있다. EEPROM 형식은 롬 라이터(ROM writer)로 락에 고유한 값(시리얼 넘버나 고유 ID)을 기록(write)하는 방법으로써 복제 및 수정이 용이하며, ASIC칩으로 구성되어 있는 락(Lock)은 제조 당시를 제외하고는 그 값을 복제하거나 수정할 수 없다. 그래서 EEPROM일 경우에는 제 3 자에 의해 시리얼 넘버를 임의적으로 락(Lock)에 부여할 수 있지만 ASIC에 의해 제작된 칩일 경우에는 제작 당시에 동일하지 않은 시리얼 넘버를 가지게 되며, ASIC의 제작자와의 인증된 경로를 통해서만 동일한 시리얼 넘버를 갖는 락을 생산할 수 있다. 따라서, ASIC 칩으로 락을 제작하였을 경우에는 락 자체를 복제하는 것이 거의 불가능하게 되어 있다.
그러나, 이 방법 또한 락 시뮬레이터 등을 이용하여 송수신되는 자료를 체크하고 프로그램 기계어 코드로 변환하여 락을 무력화시켜 프로그램을 무단 복제할 수 있다. 현재, 우리 나라에서 시판 중인 락은 하드웨어 락이 대부분을 차지하고 있다. 그러나, 하드웨어 락은 제조비용에 대한 복제 방지 능력이 소프트웨어 락의 복제 방지 능력과 별로 차이가 없기 때문에 정식 프로그램을 구매하는 것보다 무단복제를 많이 사용하는 나라에서는 판매량이 많은 소프트웨어일수록 소프트웨어 락이나 기능제한(Evolution, Trial Version)을 적용한 사용자 등록제(User Registration) 등의 방법을 이용하여 사후 관리의 차별화로 구매를 유도하는 경향이 두드러지고 있다. 그래서 국내외의 락 제조회사들은 제조비용 대 복제방지 능력을 높이기 위한 방법을 여러 가지로 강구하고 있다. 그 중 한가지가 실행 파일이나 데이터 파일을 암호화하고, 암호화에 사용된 키(key)를 락에서 가져오는 방식을 사용하는 것이다(HASP). 이 방식은 NSTL(National Software Testing Laboratories)에서 우수 평가를 받은 방식이지만 락 체크의 빈도에 프로그램의 수행 시간이 많은 영향을 받는 것이 단점으로 지적되고 있다.
또한, 보안등급이나 유연성 면에서 높이 평가를 함에도 불구하고 소프트웨어에 의한 제어 구조이기 때문에 기계어 수준의 디버깅으로 불법 복제가 가능한 단점이 있다. 현재 보편화되어 있는 락의 구조는 도 1a에 표시하였다.
도 1b를 참조하면, 종래의 소프트웨어나 데이터의 불법 복제를 방지하기 위한 보안 장치는 마이크로 프로세서내에 존재하는 Query 분석부(1)와 롬 어드레싱부(2), 및 PROM(3)으로 구성된다.
상기 Query 분석부(1)는 입력 포트로부터 데이터를 입력받아 모듈에 정의된 명령어이면 상기 롬 어드레싱부(2)로 전송하고, 상기 롬 어드레싱부(2)로부터 넘어온 데이터를 출력포트로 반환한다.
상기 롬 어드레싱(ROM addressing)부(2)는 상기 Query 분석부(1)로부터 데이터를 입력받아 롬 어드레스(ROM address)를 생성한 후 상기 PROM(3)으로부터 값을 읽어서 상기 Query 분석부(1)로 반환한다.
상기 PROM(3)은 상기 롬 어드레싱부(2)로부터 어드레스를 입력받아 모듈의 정보, 키 값 등을 선택 반환한다.
그러나, 단순하게 락(Lock) 내부에 마이크로 프로세서를 두어 락(Lock)이나 프로그램의 존재 및 일치 여부를 서로 체크하는 방법으로 되어 있어, 소프트웨어에 한 번 설정된 락(Lock)은 재활용이 불가능하거나 어렵고, 소프트웨어에 의한 데이터의 암호화 등을 수행하므로 지원되는 부가 기능의 속도가 느리며, 단순 암호화 알고리즘 사용으로 비도가 낮으며, 소프트웨어 복제방지 기능만 존재하여 다양한 부가 기능을 넣기가 힘들며, 1 개의 락으로 1개의 소프트웨어만을 보호하므로 다수 소프트웨어에 맞는 락(Lock)을 전부 연결해야 하기 때문에 연결 공간 부족 문제나 프린터 등의 주변기기 인식 오류를 유발하고, 각각의 소프트웨어에 락(Lock)이 따로 존재하므로 소프트웨어 구입가격이 인상 요인이 발생하며, 단품에 의한 판매에 그치게 되므로 개발자는 소프트웨어마다 락(Lock)을 필요로 하고 사용자는 구입한소프트웨어의 락을 따로 관리해야 하는 단점이 있다.
그러나, 단순하게 락(Lock) 내부에 마이크로 프로세서를 두어 락(Lock)이나 프로그램의 존재 및 일치 여부를 서로 체크하는 방법으로 되어 있어, 소프트웨어에 한 번 설정된 락(Lock)은 재활용이 불가능하거나 어렵고, 소프트웨어에 의한 데이터의 암호화 등을 수행하므로 지원되는 부가 기능의 속도가 느리며, 단순 암호화 알고리즘 사용으로 비도가 낮으며, 소프트웨어 복제방지 기능만 존재하여 다양한 부가 기능을 넣기가 힘들며, 1 개의 락으로 1개의 소프트웨어만을 보호하므로 다수 소프트웨어에 맞는 락(Lock)을 전부 연결해야 하기 때문에 연결 공간 부족 문제나 프린터 등의 주변기기 인식 오류를 유발하고, 각각의 소프트웨어에 락(Lock)이 따로 존재하므로 소프트웨어 구입가격이 인상 요인이 발생하며, 단품에 의한 판매에 그치게 되므로 개발자는 소프트웨어마다 락(Lock)을 필요로 하고 사용자는 구입한 소프트웨어의 락을 따로 관리해야 하는 단점이 있다.본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 제안된 것으로써, 본 발명의 목적은 다양한 암호화 알고리즘을 내장한 암호화 칩을 복제방지용 락에 내장시키고 USB 포트를 이용하여 제어함으로써 PC에서 불법 사용자에 의해 소프트웨어나 데이터의 불법적인 복제 및 수정을 방지하기 위한 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치를 제공함에 있다.
도 1a는 일반적인 락(lock)의 동작 형태를 나타낸 개념도.
도 1b는 종래의 소프트웨어나 데이터의 불법 복제 방지용 보안 장치.
도 2a는 무단 복제 및 불법 접근을 차단하기 위한 시스템 개념도.
도 2b는 PC 기반의 USB를 이용한 보안 모듈의 구성도.
도 3은 본 발명에 의한 PC 기반의 USB 보안 모듈과 암호칩을 사용한 정보 보호 장치.
도 4a는 도 3의 KSE96 블록의 구성도, 도 4b는 KSE96 블록의 세부 구성도.
도 5는 도 3의 모드 체커(Mode Checker)의 구성도.
도 6은 도 3의 RSA 연산부의 구성도.
도 7은 도 3의 스크램블러(Scrambler)의 구성도.
도 8은 도 6의 RSA 연산부의 프로세서 세부 구성도.
* 도면의 주요 부분에 대한 부호 설명 *
10 : USB 제어기 11 : USB 칩
12 : MCU 100 : 암호화 칩
101 : 버퍼 102 : 모드 체커(Mode Checker)
103 : PROM 110 : KSE96 블록
111 : 제어 블록 112 : 라운드 블록
113 : 키 스케쥴 120 : 스크램블러(Scrambler)
130 : 제어부 140 : RSA 연산부
141 : 제어기 142 : 모듈러 지수부
143 : 키/텍스트 쉬프트 레지스터
USB : 범용 직렬 버스(Universal Serial Bus)
본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 제안된 것으로써, 본 발명의 목적은 기존의 LPT 포트를 이용한 하드웨어 락(Lock)의 경우에 비해 견고하고 암호화 알고리즘을 ASIC으로 제작하여 내장한 암호칩을 복제방지용 락에 내장시키고, 데이터 보호 기능을 내장한 장치 제어기 프로그램 기능, USB 포트를 이용한 입출력 및 전송 데이터의 보호 기능, 보안 모듈을 이용한 사용자 로그인/로그아웃 기능, 소프트웨어 실행시 수행해야할 실행 코드를 암호화함으로써 근본적으로 소프트웨어 변경을 불가능하게 하는 소프트웨어와 데이타의 무단복제 방지 기능(Copy Protection) 및 불법 접근 차단 기능, 사용자 인증 기능, 데이터의 암호화ㆍ복호화 기능(Encryption/Decryption), 보안모듈 자동 보호 기능(Security Module Auto Protection), 보안모듈 제어용 소프트웨어 crack 방지 기능(anti debugging, Tamper Resistance), USB 인터페이스 지원 장치와의 충돌 회피 기능, 실행 파일 및 데이터의 자동 락킹 툴(Locking Tool)을 제공하는 PC 기반의 USB 보안 모듈과 암호칩을 사용한 정보 보호 장치를 제공한다.상기한 목적을 달성하기 위해 본 발명은 USB포트와 직렬 입출력(Serial IO) 인터페이스를 가지는 USB 제어기(10); 및 암호화칩(100)을 포함하며, 상기 암호화칩(100)은, 외부로부터 데이터를 입력받아 비밀키 기반의 데이터의 암,복호화를 수행하여 스크램블러(120)로 전송하는 제 1 블록(110)과, 외부로부터 제어워드(Code Word: CW)를 입력받아 데이터 처리 명령이면, 데이터의 암,복호화 동작이 실행되도록 제어하고, 키 처리 명령어이면, 키 생성 및 처리 블럭으로 동작하도록 제어하는 제어부(130)와, 상기 제 1 블록으로부터 일정비트의 입력 데이터와 초기값을 입력받아 피드백(Feedback) 연산을 수행한 후, 버퍼(101)로 전송하는 스크램블러(Scrambler)(120)와, 외부 제어신호와 일정비트의 입력데이터를 입력받아 공개키 기반의 비대칭 암호화 알고리즘으로 연산하여 인증용 키를 암호화 또는 복호화된 데이터로 출력하는 연산부(140)를 포함하는 것을 특징으로 하는 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), 제 1 블록(이하, "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)를 이용하여 메시지 M을 암호화하는 과정은 먼저 상기 메시지 M을 [0;N-1] 사이의 정수로 표현하고 암호문를 계산하며, 암호문 C를 복호화하는 과정은 상기 비밀키 D를 이용하여를 계산한다.
상기 RSA 암호 시스템을 구현하기 위한 가장 핵심적인 부분은 모듈라 멱승 연산으로, 이를 효율적으로 구현하는 것이 RSA 암호 시스템의 속도 향상에 있어 중요한 문제이다. 상기 모듈라 멱승 연산을 고속으로 수행하기 위하여 본 발명에서 설계한 프로세서의 최상위 레벨 블록도는 도 8과 같다. 먼저, 암호화 또는 복호화에 사용될 키를 입력받아 저장하고 이 키를 사용하여 입력되는 데이터를 암·복호화한다. 내부에서 데이터는 512비트 단위로 처리되며 외부와의 입출력은 8비트 단위로 이루어지는 범용성 프로세서를 설계하였다.
상기 데이터 인터페이스부(Data Interface block)(144)는 외부와 데이터의 입출력을 제공한다.
도 8을 참조하면, 먼저 외부의 제어 신호에 따라 상기 제어기(Control block)(141)가 상기 데이터 인터페이스부(Data Interface block)(144)에 입력 데이터를 처리하도록 신호를 보내며, 상기 데이터 인터페이스부(144)는 입력포트를 통하여 키와 8비트의 입력 데이터를 키/텍스트 쉬프트 레지스터(Key/Text Shift Register)(143)의 키 레지스터와 입력 레지스터에 각각 저장한다. 상기 모듈러 지수부(Modular Exponentiation block)(142)는 입력된 데이터를 연산하여 상기 키/텍스트 쉬프트 레지스터(Key/Text Shift Register)(143)의 출력 레지스터에 저장하고 연산이 완료되었다는 신호를 상기 제어기(Control block)(141)로 보낸다. 상기 제어기(Control block)(141)는 연산이 완료되었다는 신호를 상기 모듈러 지수부(Modular Exponentiation block)(142)로부터 받으면 외부에 출력이 가능하다는 신호를 보내고 외부의 제어 신호에 따라 상기 데이터 인터페이스부(144)에 암호화 또는 복호화된 데이터를 출력하도록 신호를 보내면 상기 데이터 인터페이스부(144)는 출력 레지스터의 데이터를 출력 포트를 통하여 외부에 출력한다.
따라서, PC 기반에서 불법 사용자에 의해 소프트웨어나 데이터의 불법적인 복제 및 수정을 방지하고, 중요 데이터의 보안과 암호화 및 접근 통제를 하여 정보 통신 기기의 정보를 보호할 수 있다.
상술한 바와 같이, 본 발명에 의한 PC 기반의 USB 보안 모듈과 암호칩을 사용한 정보 보호 장치는 암호칩에 비밀키 기반의 대칭 암호화 알고리즘인 KSE96 알고리즘, 공개키 기반의 비대칭 암호화 알고리즘인 RSA 알고리즘을 자체 설계된 ASIC 칩으로 내장하고 스크램블러(Scrambler)를 내장한 다층 알고리즘을 적용하여 USB 모듈뿐만 아니라 기존의 PCI 및 ISA 인터페이스 규격의 보안 카드나 복제방지 시스템으로 응용할 수 있으며, 상용 소프트웨어의 복제방지 락 적용 가능, 중요 데이터의 접근 통제 및 암호화, 암호화 모뎀 등에 적용 가능하고 보안용 LAN이나 WAN에 이용할 수 있고 이동통신망/지능망/개인휴대 통신망의 정보보호 시스템에 적용하여 소프트웨어의 무단 복제 방지, 중요 데이터의 보안, 암호화 및 접근 통제 등 정보 보호의 효과가 있다.
또한, 통신 장비를 이용한 원격 접속에 있어서 보안 모듈로의 활용이 가능하며, 정보 시스템의 접근 통제 기법으로 복제가 되지 않는 금고 키의 노출 방지가 보안의 핵심이므로 인증 기능을 이용한 열쇠의 대용으로 안전하게 주요 데이터와 소프트웨어의 무단 복제를 방지할 수 있다.
상기에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (8)

  1. USB포트와 직렬 입출력(Serial IO) 인터페이스를 가지는 USB 제어기(10); 및 암호화 알고리즘이 ASIC으로 제작되어 내장된 암호화칩(100)을 포함하며, 상기 암호화칩(100)은,
    외부로부터 데이터를 입력받아 비밀키 기반의 데이터의 암,복호화를 수행하여 스크램블러(120)로 전송하는 제 1 블록(110)과,
    외부로부터 제어워드(Code Word: CW)를 입력받아 데이터 처리 명령이면, 데이터의 암,복호화 동작이 실행되도록 제어하고, 키 처리 명령어이면, 키 생성 및 처리 블럭으로 동작하도록 제어하는 제어부(130)와,
    상기 제 1 블록으로부터 일정비트의 입력 데이터와 초기값을 입력받아 피드백(Feedback) 연산을 수행한 후, 버퍼(101)로 전송하는 스크램블러(Scrambler)(120)와,
    외부 제어신호와 일정비트의 입력데이터를 입력받아 공개키 기반의 비대칭 암호화 알고리즘으로 연산하여 인증용 키를 암호화 또는 복호화된 데이터로 출력하는 연산부(140)를 포함하는 것을 특징으로 하는 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)은,
    4바이트의 입력값과 4바이트의 참조값을 상기 버퍼(101)로부터 데이터를 입력받아 DBG_Table의 값들과 비교 후 결과(참/거짓)를 상기 제어부(130)로 전송하기 위한 모드 체커(Mode Checker)(102);
    상기 MCU(12)로부터 데이터를 입력받아 I/O버퍼링한 후 상기 제 1 블록(100) 또는 제어부(130) 또는 모드체커(102) 또는 연산부(140)로 전송하거나 또는 스크램블러(120)로부터 데이터를 입력받아 I/O버퍼링 후 상기 MCU(12)로 데이터를 전송하는 버퍼(101); 및
    상기 제어부(130)로부터 어드레스를 입력받아 모듈 정보, 내부 키(Internal key), 외부 키(External Key), 스크램블 키(Scramble Key) 등을 입출력하기 위한 PROM(103)을 더 포함하는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
  4. 제 3 항에 있어서,
    상기 제 1 블록(110)은
    암호화 알고리즘이 내장되며 96비트의 데이터를 입력받아 16라운드 반복 형태로 데이터를 암복화하여 암복호화된 96비트의 데이터를 출력하기 위한 라운드 블록(Round Block)(112);
    I/O버퍼링을 하는 상기 버퍼(101)에서 버퍼링된 데이터가 킷값인지 데이터인지를 구별하여 128비트의 키 값이면 키 생성 알고리즘에 의해 16개의 좌측키(_left_key)와 16개의 우측키(_right_key)를 생성하여 상기 라운드 블록(112)의 암호화 서브키로 사용하기 위한 키 스케쥴(Key Schedule)(113); 및
    상기 라운드 블록(112)과 상기 키 스케쥴 블록을 제어하기 위한 제어 블록(Control Block)(111)으로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
  5. 제 4 항에 있어서,
    상기 제어 블록(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)로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
  6. 제 4 항에 있어서,
    상기 라운드 블록(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)로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
  7. 제 4 항에 있어서,
    상기 키 스케쥴(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로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
  8. 제 3 항에 있어서,
    상기 연산부(140)는
    상기 외부 제어 신호를 입력받아 상기 연산부(140)의 전체 블록들을 제어하도록 제어 신호를 제공하기 위한 제어기(Control block)(141);
    데이터의 암호화 및 복호화 하기 위해 모듈러 멱승 연산(Modular Power Exponentiation)을 수행하는 모듈러 지수부(Modular Exponentiation block)(142);
    암호화 및 복호화에 사용되는 키와 입·출력 텍스트를 저장하기 위한 키/텍스트 쉬프트 레지스터(Key/text shift register)(143); 및
    외부와 데이터의 입출력을 위한 데이터 인터페이스부(Data Interface block)(144)로 구성되는 것을 특징으로 하는 PC 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한 정보 보호 장치.
KR1019990052728A 1999-11-25 1999-11-25 Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치 KR100358705B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990052728A KR100358705B1 (ko) 1999-11-25 1999-11-25 Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990052728A KR100358705B1 (ko) 1999-11-25 1999-11-25 Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치

Publications (2)

Publication Number Publication Date
KR20010048160A KR20010048160A (ko) 2001-06-15
KR100358705B1 true KR100358705B1 (ko) 2002-10-30

Family

ID=19621816

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990052728A KR100358705B1 (ko) 1999-11-25 1999-11-25 Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치

Country Status (1)

Country Link
KR (1) KR100358705B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030033863A (ko) * 2001-10-25 2003-05-01 (주)엔라인시스템 Usb 모듈방식의 능동형 사용자 인증카드를 이용한다단계 사용자 인증방법 및 시스템
KR20030040186A (ko) * 2001-11-16 2003-05-22 야자키 소교 가부시키가이샤 암호키, 암호화장치, 암호화/복호화장치, 암호키 관리장치및 복호화장치
KR100722238B1 (ko) * 2005-12-29 2007-05-29 케이비 테크놀러지 (주) Ic 카드 기반형 하드웨어 보안 모듈

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100332690B1 (ko) * 2000-01-14 2002-04-15 이기룡 유.에스.비 포트 방식의 비밀키 보안장치
KR20030010241A (ko) * 2001-07-26 2003-02-05 주식회사 텔사인 아이씨칩내장카드를 이용한 초고속 인터넷 불법 접속 및사용 방지시스템
KR20030032112A (ko) * 2001-10-10 2003-04-26 주식회사 핌스텍 공개키 기반구조의 범용 직렬 버스 인증키를 이용한 전자결제시스템
KR100420555B1 (ko) * 2002-04-19 2004-03-02 한국전자통신연구원 고속 세션 변경이 가능한 블록 암호화 장치 및 그 구동 방법
KR20040026204A (ko) * 2002-09-23 2004-03-30 주식회사 넥스템 외부 메모리 인터페이스 및 보안키 기능을 가진 다중디지털 오디오재생 시스템
KR20020086444A (ko) * 2002-10-26 2002-11-18 주식회사 드림시큐리티 저장 및 연산 기능을 가지는 복합형 유에스비 드라이브
KR100984296B1 (ko) * 2003-02-25 2010-09-30 엘지전자 주식회사 이동통신 단말기의 인증 방법
KR20050002103A (ko) * 2003-06-30 2005-01-07 (주)파인칩스 암호 프로세서를 내장한 휴대용 저장장치
KR100774531B1 (ko) * 2003-10-24 2007-11-08 (주) 미석이노텍 암호화 칩을 이용한 저장매체 데이터 보안 장치
KR100583050B1 (ko) * 2004-08-04 2006-05-25 송유권 유에스비 토큰 키를 이용한 파일 암호화 및 복호화 방법과그를 이용한 시스템
DE102004062203B4 (de) * 2004-12-23 2007-03-08 Infineon Technologies Ag Datenverarbeitungseinrichtung, Telekommunikations-Endgerät und Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung
JP5772031B2 (ja) * 2011-02-08 2015-09-02 富士通株式会社 通信装置およびセキュアモジュール

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4634807A (en) * 1984-08-23 1987-01-06 National Research Development Corp. Software protection device
JPH0750663A (ja) * 1993-08-09 1995-02-21 Fujitsu Ltd カード型暗号通信装置
JPH09171416A (ja) * 1995-10-19 1997-06-30 Hitachi Ltd コンピュータ不正使用防止装置
JPH10214233A (ja) * 1996-04-15 1998-08-11 Toshiba Corp 情報処理装置、情報処理システム、情報処理方法、プログラム記憶装置、及び鍵の判定方法及び判定装置
JPH10271107A (ja) * 1997-03-21 1998-10-09 Nippon Telegr & Teleph Corp <Ntt> データ暗号化方法及び装置
KR19980078965A (ko) * 1997-04-30 1998-11-25 윤종용 암호 기능을 갖는 컴퓨터 시스템 및 그 제어 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4634807A (en) * 1984-08-23 1987-01-06 National Research Development Corp. Software protection device
JPH0750663A (ja) * 1993-08-09 1995-02-21 Fujitsu Ltd カード型暗号通信装置
JPH09171416A (ja) * 1995-10-19 1997-06-30 Hitachi Ltd コンピュータ不正使用防止装置
JPH10214233A (ja) * 1996-04-15 1998-08-11 Toshiba Corp 情報処理装置、情報処理システム、情報処理方法、プログラム記憶装置、及び鍵の判定方法及び判定装置
JPH10271107A (ja) * 1997-03-21 1998-10-09 Nippon Telegr & Teleph Corp <Ntt> データ暗号化方法及び装置
KR19980078965A (ko) * 1997-04-30 1998-11-25 윤종용 암호 기능을 갖는 컴퓨터 시스템 및 그 제어 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030033863A (ko) * 2001-10-25 2003-05-01 (주)엔라인시스템 Usb 모듈방식의 능동형 사용자 인증카드를 이용한다단계 사용자 인증방법 및 시스템
KR20030040186A (ko) * 2001-11-16 2003-05-22 야자키 소교 가부시키가이샤 암호키, 암호화장치, 암호화/복호화장치, 암호키 관리장치및 복호화장치
KR100722238B1 (ko) * 2005-12-29 2007-05-29 케이비 테크놀러지 (주) Ic 카드 기반형 하드웨어 보안 모듈

Also Published As

Publication number Publication date
KR20010048160A (ko) 2001-06-15

Similar Documents

Publication Publication Date Title
EP0678836B1 (en) Method and means for combining and managing personal verification and message authentication encryptions for network transmission
US4918728A (en) Data cryptography operations using control vectors
US6948065B2 (en) Platform and method for securely transmitting an authorization secret
EP0354774B1 (en) Data cryptography using control vectors
US5539828A (en) Apparatus and method for providing secured communications
RU2321179C2 (ru) Способ защищенной передачи данных между двумя устройствами
KR100358705B1 (ko) Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치
JP2746352B2 (ja) 遠隔位置に設置したコンピュータによる通信のための機密防護通信システム及び方法
EP1441465B1 (en) Encrypted communication apparatus
US8909932B2 (en) Method and apparatus for security over multiple interfaces
US20090013190A1 (en) Secure memory device for smart cards
JPS63205687A (ja) 開放キーの取扱いによって暗号装置のネットワークにおける秘密素子を保護する方法および装置
KR20010022724A (ko) 데이타 매체의 인증을 검증하는 방법
KR100723868B1 (ko) Epc c1g2 rfid 시스템에서 태그와 판독장치간의 상호 인증 방법
JP2005157930A (ja) 機密情報処理システムおよびlsi
KR20130093557A (ko) 적어도 하나의 암호화 명령어를 포함하는 소프트웨어 애플리케이션의 협력 실행을 위한 시스템, 장치, 및 방법
JP2007328789A (ja) 入力データに関するアドレスを使用して入力データを符号化するための暗号システム、エラー検出回路、及びそれの動作方法
US20070106907A1 (en) Method and device for encryption and decryption on the fly
JP2001338271A (ja) Icカード及びicカード利用システム
KR100310445B1 (ko) Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법
KR20020071274A (ko) Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치
JPH0375983A (ja) カード利用システム
CN117216813B (zh) 用于读写数据的方法、装置和安全芯片
JPH11168461A (ja) 情報通信方法および装置
JPH0199158A (ja) 端末認証方法

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
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: 20061017

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee