KR100310445B1 - Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법 - Google Patents

Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법 Download PDF

Info

Publication number
KR100310445B1
KR100310445B1 KR1019990055152A KR19990055152A KR100310445B1 KR 100310445 B1 KR100310445 B1 KR 100310445B1 KR 1019990055152 A KR1019990055152 A KR 1019990055152A KR 19990055152 A KR19990055152 A KR 19990055152A KR 100310445 B1 KR100310445 B1 KR 100310445B1
Authority
KR
South Korea
Prior art keywords
security module
usb
error
key
code
Prior art date
Application number
KR1019990055152A
Other languages
English (en)
Other versions
KR20010054357A (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 KR1019990055152A priority Critical patent/KR100310445B1/ko
Publication of KR20010054357A publication Critical patent/KR20010054357A/ko
Application granted granted Critical
Publication of KR100310445B1 publication Critical patent/KR100310445B1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid state disk being detachable, e.g.. USB memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

본 발명은 PC 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어 방법에 관한 것이다. 제어 프로그램에 의해 디바이스 드라이버를 오픈하고(S1) 에러가 없으면(S2) USB 보안모듈의 시리얼 넘버인 장치 ID를 요청하고(S3) 에러가 없으면(S4) USB 보안모듈로 키를 전송하는 단계(S5); 에러가 없으면(S6) USB 보안모듈로 소프트웨어에 존재하는 암호화되어 있는 디스크램블 코드를 전송하고(S7), USB 보안모듈로부터 복호화된 디스크램블 코드를 제어프로그램으로 회송한(S8) 후 에러가 없으면(S9) 디스크램블 코드의 CRC 체크 단계(S10); 에러를 체크하여(S11) 에러가 없으면 USB 보안모듈로 키 KM을 사용하여 암호화되어 있는 실행 코드(EKM(Exe) 코드)를 전송하고(S12), USB 보안모듈로부터 키 KSR을 사용호화된 실행 코드(EKSR(Exe) 코드)를 회송하며(S13) 에러가 없으면(S14) EKSR(Exe) 코드를 제어 프로그램의 디스크램블링 프로시쥬어에서 디스크램블링하여(S15) 제대로 복호화되었는지 CRC 검사하는 단계(S16); 및 CRC 검사 후 에러를 체크하여(S17) 에러가 없으면 원래 프로그램의 위치로 점프 후 실행하는(S18) 단계로 구성된다. 따라서, 사용자 인증 및 데이터 암ㆍ복호화 알고리즘을 내장한 USB 보안 모듈의 제어 프로그램에 의해 USB 암호칩을 제어하여 소프트웨어 복제 방지 및 불법 사용자의 접근을 차단할 수 있다.

Description

PC 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어 방법{Method for controlling Universal Serial Bus security module using crypto-chip}
본 발명은 PC 기반의 암호칩을 사용한 USB(Universal Serial Bus) 보안모듈 제어 방법에 관한 것으로써, 특히 소프트웨어 복제 방지 및 불법 사용자의 접근 차단을 위해 사용자 인증 및 데이터 암·복호화 알고리즘을 내장한 USB 보안 모듈을 제어하는 제어 프로그램에 의해 PC 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어 방법에 관한 것이다.
일반적으로, 정보와 통신 기술이 발달함에 따라 개발된 소프트웨어의 무단 복제 및 불법 접근으로 인해 소프트웨어 개발자들은 많은 곤란을 격고 있으며, 소프트웨어 무단 복제에 대한 피해액은 국내에서만 무려 5억 달러가 넘으며, 소프트웨어 가격상승의 원인이 되었으며, 국내에서도 소프트웨어 기술력이 부족하여 국내 민간업체에서도 전용 보안칩이 거의 개발되지 않고 있다.
이러한 소프트웨어적인 방지 대책은 무단 복제 및 변경 가능성을 항상 가지고 있기 때문에 전세계의 보안 및 보호 장비 개발 회사들은 보안성 및 인증성이 훨씬 우수하고 복제가 불가능한 일반 신용카드 크기에 암호화된 신분을 증명할 수 있는 내용과 기타 정보를 포함하면서도 복제나 해킹이 불가능한 것으로 알려져 있다.
실제로 락(Lock)의 기능은 소프트웨어나 하드웨어로 구현하게 되는데, 락을 탑재한 응용 프로그램은 락과 정해진 방법으로 통신(lock checking)함으로써 락의 유무나 오류 등을 결정하게 된다. 도 1에 도시된 바와 같이, 락(Lock)이 처음 출현할 때에도 락의 내부에 시리얼 넘버(Serial Number)나 고유 ID등이 쉽게 노출되어지는 단점 때문에 하드웨어 락으로 발전하게 되었다.
하드웨어 락은 대체적으로 EEPROM형식과 ASIC 형식으로 분류될 수 있다. EEPROM 형식은 롬 라이터(ROM writer)로 락에 고유한 값(시리얼 넘버나 고유 ID)을 기록(write)하는 방법으로써 복제 및 수정이 용이하며, ASIC칩으로 구성되어 있는 락(Lock)은 제조 당시를 제외하고는 그 값을 복제하거나 수정할 수 없다. 그래서 EEPROM일 경우에는 제 3 자에 의해 시리얼 넘버를 임의적으로 락(Lock)에 부여할 수 있지만 ASIC에 의해 제작된 칩일 경우에는 제작 당시에 동일하지 않은 시리얼 넘버를 가지게 되며, ASIC의 제작자와의 인증된 경로를 통해서만 동일한 시리얼 넘버를 갖는 락을 생산할 수 있다. 따라서, ASIC 칩으로 락을 제작하였을 경우에는 락 자체를 복제하는 것이 거의 불가능하게 되어 있다. 그러나, 이 방법 또한 락 시뮬레이터 등을 이용하여 송수신되는 자료를 체크하고 프로그램 기계어 코드로 변환하여 락을 무력화시켜 프로그램을 무단 복제할 수 있다. 현재, 우리 나라에서 시판 중인 락은 하드웨어 락이 대부분을 차지하고 있다.
그러나, 하드웨어 락은 제조비용에 대한 복제 방지 능력이 소프트웨어 락의 복제 방지 능력과 별로 차이가 없기 때문에 정식 프로그램을 구매하는 것보다 무단복제를 많이 사용하는 나라에서는 판매량이 많은 소프트웨어일수록 소프트웨어 락이나 기능제한을 적용한 사용자 등록제(User Registration) 등의 방법을 이용하여 사후 관리의 차별화로 구매를 유도하는 경향이 두드러지고 있다. 그래서 국내외의 락 제조회사들은 제조비용 대 복제방지 능력을 높이기 위한 방법을 여러 가지로 강구하고 있다. 그 중 한가지가 실행 파일이나 데이터 파일을 암호화하고, 암호화에사용된 키(key)를 락에서 가져오는 방식을 사용하는 것이다(HASP). 이 방식은 NSTL(National Software Testing Laboratories)에서 우수 평가를 받은 방식이지만 락 체크의 빈도에 프로그램의 수행 시간이 많은 영향을 받는 것이 단점으로 지적되고 있다. 또한, 보안등급이나 유연성 면에서 높이 평가를 함에도 불구하고 소프트웨어에 의한 제어 구조이기 때문에 기계어 수준의 디버깅으로 불법 복제가 가능한 단점이 있다.
그러나, 단순하게 락(Lock) 내부에 마이크로 프로세서를 두어 락(Lock)이나 프로그램의 존재 및 일치 여부를 서로 체크하는 방법으로 되어 있어, 소프트웨어에 한 번 설정된 락(Lock)은 재활용이 불가능하거나 어렵고, 소프트웨어에 의한 데이터 암호화 등을 수행하므로 지원되는 부가 기능의 속도가 느리며, 단순 암호화 알고리즘 사용으로 비도가 낮으며, 소프트웨어 복제방지 기능만 존재하여 다양한 부가 기능을 넣기가 힘들며, 1 개의 락으로 1개의 소프트웨어만을 보호하므로 다수 소프트웨어에 맞는 락(Lock)을 전부 연결해야 하기 때문에 연결 공간 부족 문제나 프린터 등의 주변기기 인식 오류를 유발하고, 각각 소프트웨어에 락(Lock)이 따로 존재하므로 소프트웨어 구입가격이 인상 요인이 발생하며, 단품에 의한 판매에 그치게 되므로 개발자는 소프트웨어마다 락(Lock)을 필요로 하고 사용자는 구입한 소프트웨어의 락을 따로 관리해야 하는 단점이 있다.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 제안된 것으로써, 본 발명의 목적은 공개키 기반의 비대칭 암호화 알고리즘인 RSA 알고리즘과, 개선된DES 암호화 알고리즘인 KSE96 알고리즘 등 다양한 암복호화 알고리즘을 내장한 암호칩(Crypto-chip)을 복제방지용 락에 내장시키고 USB 포트를 이용하여 제어함으로써 PC 기반의 USB 인터페이스를 가지는 USB 보안 모듈과 암호칩을 사용한 정보 보호 장치를 제어하기 위한 제어 프로그램에 의해 PC의 불법 사용자에 의해 소프트웨어나 데이터의 불법적인 복제 및 수정을 방지하기 위한 PC 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어 방법을 제공한다.
도 1a와 1b는 종래의 실시예에 의한 프로그램 복제 방지 장치의 개략도.
도 2a는 본 발명의 무단 복제 및 불법 접근을 차단하기 위해 암ㆍ복호화에 의한 정보보호 시스템 개념도.
도 2b는 본 발명에 따른 PC 기반의 USB를 이용한 보안 모듈.
도 3은 본 발명에 의한 USB 보안 모듈과 프로그램 복제 방지 방법을 설명한 개략도.
도 4는 본 발명에 의한 USB 보안 모듈과 제어 프로그램과의 동작을 나타낸 흐름도.
도 5a 내지 도 5c는 USB 보안 모듈내의 동작을 나타낸 흐름도.
* 도면의 주요 부분에 대한 부호 설명 *
10 : 컴퓨터 7 : USB 탭
17 : 제어 프로그램 20 : USB 보안 모듈
23 : USB제어기 27 : 암호화칩
USB : 범용 직렬 버스(Universal Serial Bus)
상기한 목적을 달성하기 위해 본 발명은 제어 프로그램에 의해 디바이스 드라이버를 오픈하고(S1) 에러가 없으면(S2) USB 보안모듈의 시리얼 넘버인 장치 ID를 요청하고(S3) 에러가 없으면(S4) 상기 USB 보안모듈로 키를 전송하는 단계(S5); S5 과정에서 에러가 없으면(S6) 상기 USB 보안모듈로 소프트웨어에 존재하는 암호화된 디스크램블 코드(E(Discramble) code)를 전송하고(S7), 상기 USB 보안모듈로부터 복호화된 디스크램블 코드(Discramble code)를 제어프로그램으로 회송한(S8) 후 에러가 없으면(S9) 상기 디스크램블 코드의 CRC를 체크하는 단계(S10); CRC 체크 후, 에러를 체크하여(S11) 에러가 없으면 상기 USB 보안모듈로 키 KM을 사용하여 암호화되어 있는 실행 코드(EKM(Exe) 코드)를 전송하고(S12), 상기 USB 보안모듈로부터 키 KSR을 사용하여 암호화한 실행 코드(EKSR(Exe) 코드)를 회송하며(S13) 에러가 없으면(S14) 상기 EKSR(Exe) 코드를 제어 프로그램의 디스크램블링 프로시쥬어에서 디스크램블링(Discrambling)하여(S15) 제대로 복호화되어 있는지 CRC 검사하는 단계(S16); 및 S16 과정의 CRC 검사 후 에러를 체크하여(S17) 에러가 없으면 원래 프로그램의 위치로 점프 후 실행하며(S18), S2, S4, S6, S9 및 S14 과정에서 에러가 있으면 장치 오류 메시지를 출력하고(S19), S11 및 S17 과정에서 에러가 있으면 복호화 오류 메시지를 출력한(S20) 후 종료하는 단계로 구성되는 것을 특징으로 하는 PC 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어 방법을 제공한다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세하게 설명한다.
도 2a는 무단 복제 및 불법 접근을 차단하기 위해 암ㆍ복호화에 의한 정보보호 시스템 개념도이다.
도 2b를 참조하면, PC 기반의 USB 보안 모듈(20)은 USB 제어기(USB Controller)(23)와 암호화칩(Crypto-chip)(27)으로 구성되며, 컴퓨터(10)의 USB 탭(7)에 연결되며 제어 프로그램(17)에 의해 제어된다.
USB(Universal Serial Bus) 인터페이스는 PC의 전원의 ON/OFF에 관계없이 삽입이나 제거가 가능하며, 고속의 데이터 전송속도를 가지고 있기 때문에 PC 환경에서 USB 탭(7)에 연결된 USB 인터페이스를 내장한 상기 USB 보안 모듈(20)은 인증 및 데이터 보호 시스템으로 활용하기에 적합하다. 참고로, USB는 PC의 표준 입출력 인터페이스로써 PC의 주변기기에 국한되지 않고 팩스 같은 통신 기기에서 스피커(Speaker)까지 채택되고 있다.
본 발명은 세계 최초로 새로운 인터페이스 규격인 USB를 이용한 소프트웨어의 접근 통제 및 정보보호 그리고 사용자 인증 기능 및 암ㆍ복호화 기능을 갖도록상기 USB 보안모듈(20)내의 암호화칩(27)에 구현하고, 컴퓨터(10)에 내장된 USB 포트에 인터페이스하기 위한 커넥터인 USB 탭(7)에 상기 USB 보안 모듈(20)을 꽂아야만 사용이 가능하고 컴퓨터(10)에 제어 프로그램(17)을 설치하여 사용한다.
상기 암호화칩(27)에는 암호 및 인증 알고리즘을 ASIC으로 제작하고, 개선된 DES 알고리즘인 비밀키 기반의 대칭 암호화 알고리즘인 KSE 96알고리즘과, 공개키 기반의 비대칭 암호화 알고리즘인 RSA 알고리즘 등 암호화 기능을 갖는 보안 모듈(Security Module)을 제작하여 데이터의 보호 및 소프트웨어의 무단 복제를 방지할 수 있으며, PC의 접근 통제 및 제어하는 기능을 포함한다.
상기 제어 프로그램(17)은 보호되어지고 있는 소프트웨어와 상기 USB 보안 모듈(20) 사이에는 디바이스 드라이버(device driver)가 존재하며 상기 USB 보안 모듈(20)을 제어하는 역할을 한다. 이 때, PC상에서의 프로그램의 노출을 방지하기 위하여 상기 USB 보안 모듈(20)에서 상기 디바이스 드라이버를 통하여 PC의 상태를 감시하게 되며, 어떠한 디버거(debugger)를 포함한 모니터링 프로그램이 존재가 감지되면 그 즉시 실행을 중지하는 회로인 모드 체커(Mode Checker)를 상기 USB 보안 모듈 내에 탑재한다.
따라서, 본 발명에 의한 PC 기반의 USB 모듈 제어 프로그램은 상용 복제방지 제품에 비해 월등히 견고한 시스템이며 다음 기능을 가진다.
■소프트웨어의 무단 복제 및 불법 접근을 차단한다.
본 발명은 국내외적으로 사용하고 있는 기존의 일반적인 복제방지 락과는 차별성을 가지는 새로운 복제방지 방식으로 구현하여 복제방지 되어 있는 소프트웨어는 상기 USB 보안 모듈(20)이 존재시에만 수행할 수 있으며, 단순히 모듈의 존재 여부에 따라 소프트웨어의 수행을 결정하는 기존 방식과는 완전히 다른 방식이다.
무단 복제 및 불법접근을 차단하는 시스템의 구성도는 도 2b에 도시한 바와 같이 실행 소프트웨어가 상기 USB 보안 모듈(20)에 의해서 암호화되어 판매되고, 사용자는 정당한 구매를 통해 사용자의 인증을 받은 상기 USB 보안 모듈(20)이 존재해야만 소프트웨어를 실행할 수 있으므로 소프트웨어의 불법적인 복제 및 접근이 방지된다.
상기 실행 소프트웨어는 USB 보안 모듈에 의해 보호되고 있는 부분(E(code))을 상기 USB 보안 모듈(20)로 사용 가능하게 수정을 가하며, 필요에 따라 생성된 데이터의 암·복호화 작업을 상기 USB 보안모듈(20)을 이용하여 수행할 수 있다. 따라서, 상기 USB 보안 모듈(20)에 의해 보호된 데이터의 제 3자에 의한 유출은 같은 보안 모듈(Security Module)내에 존재하지 않는 한 불가능하게 된다.
■사용자 인증을 수행한다.
사용자에게 발급되는 상기 USB 보안 모듈(20)은 내부에 유일한 ID를 가지고 있으며, 그에 따른 암호화 알고리즘이 내장되어 있어 견고한 인증 기능을 가지며, 상기 USB 보안 모듈(20)에 의해 암호화된 데이터는 같은 보안 모듈이나 허가된 ID를 갖는 모듈에서만 복호화가 이루어지므로 접근통제가 가능하다.
■데이터의 암ㆍ복호화 기능을 갖는다.
상기 USB 보안모듈(20)은 데이터의 고속 암ㆍ복호화 작업을 수행하게 되며, 상기 USB 보안 모듈(20)에 내장된 상기 KSE96 암호화 알고리즘이나 RSA 암호화 알고리즘은 필요에 따라 테이블을 변환할 수 있다. 따라서, 유일한 알고리즘으로 동작하게 되기 때문에 암호화에 이용한 모듈 없이는 복호화되지 않으므로 강력한 데이터 보호 기능을 발휘한다.
상기 USB 탭(7)은 컴퓨터(10)의 뒷면에 설치된 USB 커넥터의 연장형이며, 허브(HUB)의 기능을 같이 겸한다. 상기 USB 보안모듈(20)은 내부에 자체 설계하고 ASIC으로 제작하게 될 상기 암호칩(27)을 내장하고 있다. 사용자는 상기 USB 보안모듈(20)을 이용하여 PC에 접근할 수 있으며 또한 상기 USB 보안모듈(20)에 따른 접근 권한에 의해서 응용 프로그램의 수행 가능여부가 제한될 수 있다.
○ 기능 및 규격
▷ USB 보안모듈을 이용한 사용자 로그인/로그아웃 기능
인증 기능을 제공하는 기 상용 제품들은 자동 로그인/로그아웃(login/logout) 기능을 제공하지 않으며 사용자 환경을 분리해서 관리하지 않는다.
▷ 분리된 사용환경 설정 기능
자동 로그인(login) 후 사용자에 따라 설정된 환경이 자동 셋팅된다. 또한, 로그아웃(logout)시 자동 저장되어 다음 로그인 시에 복구되어 진다.
▷ 소프트웨어별 사용권한의 설정 및 접근통제 기능
클래스 아이디(Class ID)로 암호화되어 배급받은 S/W는 같은 Class ID를 내장한 USB 보안 모듈에 의해 수행 가능해 진다. 따라서, 같은 사무실내에서만 사용이 허가된 경우 사무실의 공통 Class ID를 이용하여 S/W를 보호할 수 있다.
▷ 휴대의 간편성
USB 보안모듈은 일반 도장 정도(60 mm x 15mm x 7mm)의 크기에 불과하며 휴대가 간편하고 동작 시스템 및 물리적 환경의 거의 영향을 받지 않는다.
▷ 복제의 불가능
기존의 복제 방지 시스템(Lock)의 문제점을 요약하면, 기존의 락은 접근하기 쉬운 소프트웨어에 락의 유무를 체크하는 기능이 있기 때문에 소프트웨어의 변경만으로 락의 기능을 제거할 수 있었다, 그러나 본 발명에서 적용한 알고리즘은 소프트웨어 실행시 수행해야 할 실행 코드(Execution code)를 암호화함으로써 근본적으로 소프트웨어의 변경을 불가능하게 하고 있다.
ㆍ 고속의 데이터 처리 기능 : 1.5 Mbps, 12 Mbps
ㆍ USB 표준 규격 지원 : V 1.1
ㆍ 다중 언어(language) 지원 :
C, C++, Clipper, Pascal,Visual Basic, Power Builder, Delphi
ㆍ 자동 설치(install) 기능
ㆍ 소프트웨어 복제방지 기능(Copy Protection)
ㆍ 데이터 암호화ㆍ복호화 기능(Encryption/Decryption)
ㆍ 보안모듈 자동 보호 기능(Security Module Auto Protection)
ㆍ 보안모듈 제어용 소프트웨어 crack 방지 기능
(anti debugging, Tamper Resistance)
ㆍUSB 인터페이스 지원 장치와의 충돌 회피 기능
▷ USB 보안 모듈
- 보안 모듈의 개발
ㆍ암호칩 : 데이터의 암ㆍ복호화 기능, 사용자 인증기능
ㆍ인터페이스 보드 : USB 포트를 이용한 입출력, 전송 데이터의 보호 기능
ㆍUSB 보안모듈 제어기 : 데이터 보호 기능을 내장한 장치제어기 프로그램
ㆍ실행형 데이터의 자동보호 TOOL : 실행 파일 및 데이터의 자동 락킹 툴
ㆍ실행형 데이터의 수동구현 Library :
실행 파일의 소스를 적용한 라이브러리
ㆍ개발자용 KIT : USB 보안모듈의 적용을 쉽게 하기 위한 개발자용 DK
ㆍ모듈 Programmer : 모듈의 제작시 프로그래밍을 위한 H/W 기반의 툴
ㆍ모듈 테스터 : 보안기능이 있는 USB 보안 모듈 검증 H/W 툴
- 관리망의 개발
ㆍ모듈관리 P/G : 모듈 key값 관리를 위한 DB 관리
ㆍ인증 코드(Auth. Code) 제작 P/G : 보안기능이 있는 인증코드 발행 P/G
ㆍ최종 사용자의 접속을 위한 웹 사이트 설계
현재 기 상용제품 중 인증을 위한 제품으로 스마트 카드(smart card), IC 카드, 자기띠 카드 그리고 생체인식 시스템 등이 있으며, 데이터 보호 및 소프트웨어 복제장치로는 HardLock과 Sentinel Lock 등과 같은 물리적인 제품이 많이 판매되고 있다. 다음 표 1은 타 제품과 본 발명의 개발품과 특성을 비교한 것이다.
종류 타제품 본 발명의 개발품
인증Smart Card 복제방지장치지능형 락(smart lock)
설치형태 전화카드 형태 ㆍ내장: ISA 슬롯 삽입ㆍ외장: LPT 삽입 외장: USB 포트 삽입
동작방법 카드내의 암호화 알고리즘이 사용자에게 데이터 및 정보를 암호화해서 전송 및 보관 락(lock) 내부에 마이크로프로세서를 두어 lock과 프로그램의 존재여부를 서로 체크하는 방법 보안모듈내에 마이크로 프로세서를 내장한 암호화 칩을 두어 고속의 암호화 작업 및 복제방지 작업을 수행
장단점 ㆍ락의 복제가 어렵다ㆍ휴대하기 간편하다ㆍ인증기능 및 데이터 보관 기능만을 제공ㆍ추가적인 입력 장치가 필요하다ㆍ데이타 암호화 기능이 없다 ㆍ단순형에 비해 기능이 많다ㆍ재활용 불가능ㆍ지원 소프트웨어에 의한 데이터 암호화를 수행하므로 지원되는 부가 기능의 속도가 느리다ㆍ암호화 데이터의 비도가 낮다 ㆍ원칩으로 이루어진 암호칩에 의해 암호화를 수행하므로 복제가 불가능하다ㆍ재활용이 가능하다ㆍ다양한 부가기능이 있다ㆍ암호화 수행속도가 빨라서 초고속 통신망에 적용이 가능하다ㆍ암호화 데이터의 비도가 높다ㆍ추가적인 입력장치가 필요없다
제품및회사 ㆍMegaLock (한도)ㆍHASP (Alladin)ㆍSentinel (Rainbow)ㆍHard Lock 전세계적으로 개발되어 있지 않음
암ㆍ복호화 알고리즘 및 인증 알고리즘을 ASIC으로 제작한 암호칩(Crypto chip)에 암호화 기능을 갖는 USB 보안 모듈에 데이터의 보호 및 소프트웨어의 무단 복제를 방지하고, 암호칩을 이용하여 PC의 접근 통제 및 제어하는 사용자 인증 기능을 제공한 PC 기반의 USB 모듈을 제어 프로그램에 의해 제어한다.
도 3은 본 발명에 의한 USB 보안 모듈과 프로그램 복제 방지 방법을 설명한 개략도이다. 프로그램 제작자가 상기 USB 보안모듈(20)의 키테이블(22)에 저장되어 있는 키를 이용하여 프로그램의 실행 코드나 데이터를 암호화하여 보조저장매체(12)에 저장한다.
상기 컴퓨터(10)는 제어 프로그램(17)에 따라 동작하여 상기 보조저장매체(12)에 저장된 암호화된 실행코드나 데이터와 디버그 모드 판별 비트를 함께 디바이스 드라이버(device driver)를 통하여 상기 USB 보안모듈(20)로 전송한다.
상기 USB 보안모듈(20)은 상기 컴퓨터(10)로부터 암호화된 실행코드나 데이터와 디버그 모드 판별 비트를 입력받아, 디버그 모드가 아닐 경우에만 암호화된 실행코드나 데이터를 미리 저장되어 있는 특정 키를 사용하여 복호화한 다음 상기 컴퓨터(10)로 전송한다.
상기 모드 검사기(mode checker)(24)는 상기 버퍼를 통해 상기 컴퓨터(10)로부터 디버그 모드 판별 비트를 입력받아 디버그 모드인지 여부를 판별하여 디버그 모드가 아닐 경우에만 암ㆍ복호화 과정을 수행하도록 키테이블(22)에 저장된 특정 키를 암ㆍ복호화기(26)로 출력하도록 되어 있다.
상기 암ㆍ복호화기(26)는 상기 특정 키를 입력받아 상기 버퍼를 통해 입력되는 암호화된 실행코드나 데이터를 복호화하여 상기 컴퓨터(10)로 출력한다.
이때, 상기 키테이블(22)과 상기 모드 검사기(24) 및 상기 암ㆍ복호화기(26)는 하나의 응용 주문형 집적회로(ASIC)로 구현되어 상기 USB 보안모듈(20)에 내장되며, 상기 키 테이블(22)은 쓰기(write)만 가능한 형태로 제작되어 제작자 외에는 키를 알 수 없도록 하며, 필요에 따라 다수개의 프로그램에 대한 복제 방지를 동시에 지원하기 위해 다수개의 키가 저장될 수 있다.
상기 보조저장매체(12)에 저장된 프로그램은 제어 프로그램과 상기 USB 보안모듈(20)의 키테이블(22)에 저장되어 있는 키를 이용하여 암호화된 실행코드나 데이터 및, 암호화되지 않은 실행코드나 데이터로 이루어져 있다. 상기 컴퓨터(10)의응용프로그램에 의해 상기 보조저장매체(12)에 저장된 프로그램을 실행하면 제어프로그램이 상기 컴퓨터(10)의 메모리에 저장되고, 상기 컴퓨터(10)는 상기 제어프로그램에 따라 암호화된 실행코드 및 데이터에 대한 위치 정보를 디바이스 드라이버(14)로 출력한다. 즉, 상기 응용 프로그램이 실행파일을 실행할 때에는 먼저 실행이 가능한 파일인지를 체크하고 실행 가능한 파일이면 실행 규칙에 따라 실행되는데, 프로그램이 실행되기 위해 먼저 프로그램을 적재할 수 있을 정도의 메모리가 존재하는지를 체크하고, 존재한다면 메모리에 실행모듈을 적재한다. 그리고, 실행파일의 내용중 재배치 정보를 읽어 실행모듈의 특정 부분들을 재배치한 다음 이후 상기 컴퓨터(10)의 CPU 레지스터에 시작 위치 등의 정보를 설정한다.
이와 같이, 실행 모듈의 특정 부분을 재배치함에 따라 메모리에 적재되어 있는 실행 모듈을 파일로 다시 저장하는 방법으로 복제하는 것이 불가능해진다.
도 4는 본 발명에 의한 USB 보안 모듈과 제어 프로그램과의 동작을 나타낸 흐름도이다.
상기 제어 프로그램(17)에 의해 디바이스 드라이버를 오픈하고(단계 S1) 에러가 없으면(S2) USB 보안모듈(20)의 시리얼 넘버인 장치 ID를 요청하고(단계 S3) 에러가 없으면(단계 S4) 상기 USB 보안모듈(20)로 키를 전송한다(단계 S5).
S5 과정에서 에러가 없으면(단계 S6) 상기 USB 보안모듈(20)로 소프트웨어에 존재하는 암호화된 디스크램블 코드(E(Discramble) code)를 전송하고(단계 S7), 상기 USB 보안모듈(20)로부터 복호화된 디스크램블 코드(Discramble code)를 제어프로그램으로 회송한(단계 S8) 후 에러가 없으면(단계 S9) 상기 디스크램블 코드의CRC를 체크한다(단계 S10).
CRC 체크 후, 에러를 체크하여(단계 S11) 에러가 없으면 상기 USB 보안모듈(20)로 키 KM을 사용하여 암호화되어 있는 실행 코드(EKM(Exe) 코드)를 전송하고(단계 S12), 상기 USB 보안모듈로부터 키 KSR을 사용하여 암호화한 실행 코드(EKSR(Exe) 코드)를 암호화하여 회송하며(단계 S13) 에러가 없으면(단계 S14) 상기 EKSR(Exe) 코드를 제어 프로그램의 디스크램블링 프로시쥬어에서 디스크램블링(Discrambling)하여(단계 S15) 제대로 복호화되어 있는지 CRC 검사한다(단계 S16).
S16 과정의 CRC 검사 후 에러를 체크하여(단계 S17) 에러가 없으면 원래 프로그램의 위치로 점프 후 실행하며(단계 S18), S2, S4, S6, S9 및 S14 과정에서 에러가 있으면 장치 오류 메시지를 출력하고(단계 S19), S11 및 S17 과정에서 에러가 있으면 복호화 오류 메시지를 출력한(단계 S20) 후 종료한다.
도 5a 내지 도 5c는 USB 보안 모듈내의 동작을 나타낸 흐름도이다.
컴퓨터의 운영체제에서 상기 USB 보안 모듈(20)로 사용허가를 요청하여(단계 S21) 허가되면(단계 S22) 상기 USB 보안모듈(20)내 제어기의 내부 레지스터를 초기화하고(단계 S23) 데이터가 입력인지를 체크하여(단계 S24) 데이터 입력이 아니면 장치가 제거되었는지를 체크하여(단계 S25) 제거되면 종료하고 제거되지 않았으면 데이터 입력을 다시 체크한다.
상기 데이터 입력이면 제어워드를 분석하고(단계 S26) 모듈 정보요청인지를체크하여(단계 S27) 모듈 정보이면 USB 포트를 통해 모듈 ID를 반환한(단계 S28) 후 S24 과정을 반복하고, 모듈 정보가 아니면 디버거 명령인지를 체크한다(단계 S29).
상기 디버거 명령이면 입력값과 디버그 정보 테이블(Debug Info table)을 비교하고(단계 S30) 디버거 존재를 체크하여(단계 S31) 디버거가 존재하지 않으면 S24 단계로 귀환하고 디버거가 존재하면 USB 포트를 통해 에러를 반환하고(단계 S32) 상기 USB 보안모듈(20)을 강제로 정지한다(단계 S33).
상기 디버거 명령이 아니면 키 셋팅 명령인지를 체크하여(단계 S34) 키셋팅이 아니면 데이터 입출력 명령인지를 체크하여(단계 S35) 입출력 명령이 아니면 S24 과정으로 복귀한다.
상기 제어워드 분석결과가 상기 키 셋팅 명령이면 내부키 셋팅인지를 체크하여(단계 S36) 내부 키 셋팅이면 모듈 ID와 입력값으로 내부키를 생성하고(단계 S37) 내부 키를 셋팅하고(단계 38) S24 단계로 복귀한다.
상기 제어워드 분석결과가 상기 내부키 셋팅이 아니면 외부키 셋팅인지를 체크하여(단계 S39) 외부키 셋팅 이면 입력값으로 외부키를 셋팅한(단계 S40) 후 S24 단계로 복귀하고 외부키 셋팅이 아니면 스크램블키 셋팅인지를 체크하여(단계 S41) 모듈 ID와 입력값으로 스크램블키 생성함으로써(단계 S42) 스크램블키를 셋팅하고(단계 S43) S24 단계로 복귀하고, 스크램블키 셋팅이 아니면 S24 단계로 복귀한다.
상기 제어워드 분석 후, 상기 제어워드 분석결과가 상기 데이터 입출력 명령이면 암호화인지를 체크하여(단계 S44) 암호화이면 상기 내부키 인지를 체크하여(단계 S45) 상기 내부키이면 내부키로 입력값을 암호화하고(단계 S46) 상기 내부키 이용이 아니면 상기 외부키로 입력값을 암호화한다(단계 S47).
S44 과정에서 암호화가 아니면 내부키 이용인지를 체크하여(단계 S48) 내부키 이용이면 내부키로 입력값을 복호화하고(단계 S49) 내부키 이용이 아니면 외부키로 입력값을 복호화한다(단계 S50).
암호화 및 복호화 과정 후, 상기 제어 워드내에 설정되어 있는 플래그(flag) 비트에 의해 스크램블(Scramble)을 수행하는 지를 체크하여(단계 S51) 스크램블을 수행하면 결과값의 스크램블을 수행한(단계 S52) 후 USB 보안모듈(20)의 스크램블러, 버퍼, 디바이스 드라이버를 통해 상기 제어 프로그램(17)으로 결과값을 반환한(단계 S53) 다음 S24 단계로 복귀하고, 스크램블을 수행하지 않으면 곧바로 결과값을 반환한 다음 S24 단계로 복귀한다.
따라서, 사용자 인증 및 데이터 암·복호화 알고리즘을 내장한 USB 보안 모듈의 제어 프로그램에 의해 PC 기반의 USB 암호칩을 제어하여 소프트웨어 복제 방지 및 불법 사용자의 접근을 차단할 수 있다.
상술한 바와 같이, 본 발명에 의한 PC 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어 방법은 USB 인터페이스에 연결된 제어 프로그램에 의해 RSA 암호화 알고리즘, KSE96알고리즘, 스크램블러(Scrambler) 등 암·복호화 알고리즘이 ASIC으로 내장된 암호화 칩을 포함한 USB 보안모듈을 제어함으로써 사용자 인증, 암호화칩을 이용하여 PC의 중요 데이터의 접근 통제 및 제어, USB 보안 모듈을 이용하여 중요 데이터의 암호화 및 복호화에 의해 소프트웨어 무단 복제 및 불법 접근을 차단할 수 있는 효과가 있다.
또한, 실행 소프트웨어는 USB 보안 모듈의 암호화 알고리즘 같은 알고리즘으로 암호화되어 판매되고 제어 프로그램은 실행 소프트웨어 중 암호화되어 있는 부분을 복호화 후 실행하며, 복호화된 S/W의 불법적인 크랙킹(Cracking) 방지를 위한 실행 종료 시점의 메모리 관리, 디버깅 툴 등 불투명한 실행 감지시 S/W의 수행 중지 기능과 USB 보안 모듈에는 클래스 아이디(Class ID)와 개인 아이디(Private ID)가 각각 10개 저장되며, 단일 모듈에 의한 다수개의 소프트웨어 보호 기능을 가지며 EEPROM을 사용함으로써 모듈의 재활용 및 사용 범위를 확대할 수 있다.
새로운 복제 방지 알고리즘이 내장된 암호화 칩은 USB 모듈뿐만 아니라 기존의 PCI 및 ISA 인터페이스 규격의 보안 카드나 복제 방지 시스템으로 적용할 수 있으며, USB 보안 모듈은 USB 포트를 통하여 PC에 꼽으면 절전기능의 복구와 함께 자동 로그인(login)을 수행하며 보안모듈이 제거되면 자동 로그 아웃(logout) 후 절전기 능이 가동되고 철저한 사용자 관리와 아울러 절전 효과를 가지며, USB 모안 모듈을 이용한 사용자 인증 기술은 기존의 패스워드를 이용한 소프트웨어 인증 기술 보다 인증 강도가 월등하다.
상기에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (3)

  1. 컴퓨터에 USB 인터페이스되는 USB 탭과 USB 보안모듈을 구비한 정보보호 시스템에 있어서:
    (a) 제어 프로그램에 의해 디바이스 드라이버를 오픈하고(S1) 에러가 없으면(S2) USB 보안모듈의 시리얼 넘버인 장치 ID를 요청하고(S3) 에러가 없으면(S4) 상기 USB 보안모듈로 키를 전송하는 단계(S5);
    (b) S5 과정에서 에러가 없으면(S6) 상기 USB 보안모듈로 소프트웨어에 존재하는 암호화된 디스크램블 코드(E(Discramble) code)를 전송하고(S7), 상기 USB 보안모듈로부터 복호화된 디스크램블 코드(Discramble code)를 제어프로그램으로 회송한(S8) 후 에러가 없으면(S9) 상기 디스크램블 코드의 CRC를 체크하는 단계(S10);
    (c) CRC 체크 후, 에러를 체크하여(S11) 에러가 없으면 상기 USB 보안모듈로 키 KM을 사용하여 암호화되어 있는 실행 코드(EKM(Exe) 코드)를 전송하고(S12), 상기 USB 보안모듈로부터 키 KSR을 사용하여 암호화한 실행 코드(EKSR(Exe) 코드)를 회송하며(S13) 에러가 없으면(S14) 상기 EKSR(Exe) 코드를 제어 프로그램의 디스크램블링 프로시쥬어에서 디스크램블링(Discrambling)하여(S15) 제대로 복호화되어 있는지 CRC 검사하는 단계(S16); 및
    (d) S16 과정의 CRC 검사 후 에러를 체크하여(S17) 에러가 없으면 원래 프로그램의 위치로 점프 후 실행하며(S18), S2, S4, S6, S9 및 S14 과정에서 에러가 있으면 장치 오류 메시지를 출력하고(S19), S11 및 S17 과정에서 에러가 있으면 복호화 오류 메시지를 출력한(S20) 후 종료하는 단계로 구성되는 것을 특징으로 하는 PC 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어 방법.
  2. 제 1 항에 있어서,
    컴퓨터의 운영체제에서 상기 USB 보안 모듈로 사용허가를 요청하여(S21) 허가되면(S22) 상기 USB 보안 모듈내 제어기의 내부 레지스터를 초기화하고(S23) 데이터가 입력인지를 체크하여(S24) 데이터 입력이 아니면 장치가 제거되었는지를 체크하여(S25) 제거되면 종료하고 제거되지 않았으면 데이터 입력을 다시 체크하는 단계;
    상기 데이터 입력이면 제어워드를 분석하고(S26) 모듈 정보요청인지를 체크하여(S27) 모듈 정보이면 USB 포트를 통해 모듈 ID를 반환한(S28) 후 S24 과정을 반복하고, 모듈 정보가 아니면 디버거 명령인지를 체크하는(S29) 단계;
    상기 디버거 명령이면 입력값과 디버그 정보 테이블(Debug Info table)을 비교하고(S30) 디버거 존재를 체크하여(S31) 디버거가 존재하지 않으면 S24 단계로 귀환하고 디버거가 존재하면 USB 포트를 통해 에러를 반환하고(S32) 상기 USB 보안 모듈을 강제로 정지하는 단계(S33);
    상기 디버거 명령이 아니면 키 셋팅 명령인지를 체크하여(S34) 키셋팅이 아니면 데이터 입출력 명령인지를 체크하여(S35) 입출력 명령이 아니면 S24 과정으로복귀하는 단계;
    상기 제어워드 분석결과가 상기 키 셋팅 명령이면 내부키 셋팅인지를 체크하여(S36) 내부 키 셋팅이면 모듈 ID와 입력값으로 내부키를 생성하고(S37) 내부 키를 셋팅하고(S38) S24 단계로 복귀하는 단계;
    상기 제어워드 분석결과가 상기 내부키 셋팅이 아니면 외부키 셋팅인지를 체크하여(S39) 외부키 셋팅 이면 입력값으로 외부키를 셋팅한(S40) 후 S24 단계로 복귀하고 외부키 셋팅이 아니면 스크램블키 셋팅인지를 체크하여(S41) 모듈 ID와 입력값으로 스크램블키 생성함으로써(S42) 스크램블키를 셋팅하고(S43) S24 단계로 복귀하고, 스크램블키 셋팅이 아니면 S24 단계로 복귀하는 단계;
    상기 제어워드 분석 후, 상기 제어워드 분석결과가 상기 데이터 입출력 명령이면 암호화인지를 체크하여(S44) 암호화이면 상기 내부키 인지를 체크하여(S45) 상기 내부키이면 내부키로 입력값을 암호화하고(S46) 상기 내부키 이용이 아니면 상기 외부키로 입력값을 암호화하는 단계(S47);
    S44 과정에서 암호화가 아니면 내부키 이용인지를 체크하여(S48) 내부키 이용이면 내부키로 입력값을 복호화하고(S49) 내부키 이용이 아니면 외부키로 입력값을 복호화하는(S50) 단계;
    암호화 및 복호화 과정 후, 상기 제어 워드내에 설정되어 있는 플래그 비트에 의해 스크램블(Scramble)을 수행하는 지를 체크하여(S51) 스크램블을 수행하면 결과값의 스크램블을 수행한(S52) 후 USB 보안모듈의 스크램블러, 버퍼, 디바이스 드라이버를 통해 상기 제어 프로그램으로 결과값을 반환한(S53) 다음 S24 단계로복귀하고, 스크램블을 수행하지 않으면 곧바로 결과값을 반환한 다음 S24 단계로 복귀하는 단계로 구성되는 것을 특징으로 하는 PC 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어 방법.
  3. 컴퓨터에 USB 인터페이스되는 USB 탭과 USB 보안모듈을 구비한 정보보호 시스템에 있어서 상기 컴퓨터에 상기 기능 (a), 상기 기능 (b), 상기 기능 (c) 및 상기 기능 (d)을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019990055152A 1999-12-06 1999-12-06 Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법 KR100310445B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990055152A KR100310445B1 (ko) 1999-12-06 1999-12-06 Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990055152A KR100310445B1 (ko) 1999-12-06 1999-12-06 Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법

Publications (2)

Publication Number Publication Date
KR20010054357A KR20010054357A (ko) 2001-07-02
KR100310445B1 true KR100310445B1 (ko) 2001-09-28

Family

ID=19623731

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990055152A KR100310445B1 (ko) 1999-12-06 1999-12-06 Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법

Country Status (1)

Country Link
KR (1) KR100310445B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101136052B1 (ko) 2008-12-31 2012-04-19 기가 바이트 테크놀러지 컴퍼니 리미티드 하드웨어 락을 사용한 시스템 운영 방법 및 하드웨어 락을 사용하여 작동하는 전자장치
KR102097233B1 (ko) 2018-10-22 2020-05-28 서원우 개량 무테 안경

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030084373A (ko) * 2002-04-26 2003-11-01 주식회사 아이오셀 유에스비 메모리 장치를 이용한 전자우편 송수신 방법
KR100734168B1 (ko) * 2005-07-11 2007-07-02 케이비 테크놀러지 (주) 메모리 카드 인터페이스를 구비한 보안 데이터 저장 장치
KR101043255B1 (ko) * 2008-10-31 2011-06-21 (주)엠티아이코리아 Usb 허브 보안 장치 및 이를 이용한 데이터 보안 방법
KR101049472B1 (ko) * 2009-11-09 2011-07-15 주식회사 프라이머스코즈 휴대용 usb 보안 모듈 장치, 휴대용 usb 보안 모듈 장치를 이용한 문서 파일의 등록 및 조회 방법, 및 그 방법을 실행하기 위한 프로그램 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101136052B1 (ko) 2008-12-31 2012-04-19 기가 바이트 테크놀러지 컴퍼니 리미티드 하드웨어 락을 사용한 시스템 운영 방법 및 하드웨어 락을 사용하여 작동하는 전자장치
KR102097233B1 (ko) 2018-10-22 2020-05-28 서원우 개량 무테 안경

Also Published As

Publication number Publication date
KR20010054357A (ko) 2001-07-02

Similar Documents

Publication Publication Date Title
US7516331B2 (en) Tamper-resistant trusted java virtual machine and method of using the same
US6266416B1 (en) Protection of software against use without permit
EP1449048B1 (en) Method, system, device and computer program for mutual authentication and content protection
US7603566B2 (en) Authenticated process switching on a microprocessor
KR100358705B1 (ko) Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치
JP2007257626A (ja) 臨時ライセンスを用いてコンテンツを臨時に使用する方法及び装置
US20040255136A1 (en) Method and device for protecting information against unauthorised use
US8479014B1 (en) Symmetric key based secure microprocessor and its applications
KR100361869B1 (ko) 암호화키를 이용한 소프트웨어 설치 및 실행방법
JP2009080772A (ja) ソフトウェア起動システム、ソフトウェア起動方法、及びソフトウェア起動プログラム
KR100310445B1 (ko) Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
KR20210089486A (ko) 키를 안전하게 관리하기 위한 장치 및 방법
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
CN111523127B (zh) 一种用于密码设备的权限认证方法及系统
KR100423506B1 (ko) 아이씨칩내장카드를 이용한 온라인상에서의 소프트웨어불법복제방지방법
KR100298506B1 (ko) 집적회로카드와프로그램의공조에의한불법설치방지시스템
CN117763587A (zh) 一种算法加密的处理方法、装置、设备及介质
KR20000032464A (ko) 프로그램 복제 방지장치 및 방법
CN116432195A (zh) 加密方法及装置、加密锁、电子设备和存储介质
US20050210274A1 (en) Apparatus and method for intellectual property protection using the microprocessor serial number
CN114257877A (zh) 宽带数字视频保护hdcp的秘钥部署及使用方法以及装置
JP2004240719A (ja) ソフトウェア実行制御方法
JPH10274928A (ja) ユーザ認証装置および方法
JPH03276361A (ja) 複数コンピュータの相互アクセス管理方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060919

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee