KR100431081B1 - Security module and a method of using the same - Google Patents

Security module and a method of using the same Download PDF

Info

Publication number
KR100431081B1
KR100431081B1 KR10-2001-0039242A KR20010039242A KR100431081B1 KR 100431081 B1 KR100431081 B1 KR 100431081B1 KR 20010039242 A KR20010039242 A KR 20010039242A KR 100431081 B1 KR100431081 B1 KR 100431081B1
Authority
KR
South Korea
Prior art keywords
security module
stored
encrypted
storage means
firmware
Prior art date
Application number
KR10-2001-0039242A
Other languages
Korean (ko)
Other versions
KR20030002932A (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 KR10-2001-0039242A priority Critical patent/KR100431081B1/en
Publication of KR20030002932A publication Critical patent/KR20030002932A/en
Application granted granted Critical
Publication of KR100431081B1 publication Critical patent/KR100431081B1/en

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Abstract

본 발명은 보안모듈 및 그의 이용 방법에 관한 것으로, 보안모듈 관리자에 의해 암호화된 펌웨어가 저장되는 제 1 저장수단과, 보안모듈 관리자에 의해 입력된 마스터 키가 저장되는 제 2 저장수단과, 제 2 저장수단에 저장된 마스터 키를 이용하여 저장수단으로부터 공급되는 펌웨어를 복호화하는 복호화 수단과, 복호화 수단으로부터 출력되는 평문 형태의 펌웨어를 저장하기 위한 제 3 저장수단으로 이루어진다.The present invention relates to a security module and a method of using the same, the first storage means for storing the firmware encrypted by the security module manager, the second storage means for storing the master key input by the security module manager, and the second Decryption means for decrypting the firmware supplied from the storage means using the master key stored in the storage means, and third storage means for storing the firmware in the plain text form output from the decryption means.

Description

보안모듈 및 그의 이용 방법 {Security module and a method of using the same}Security module and its method {Security module and a method of using the same}

본 발명은 보안모듈 및 그의 이용 방법에 관한 것으로, 특히, 관리자에 의해 안전하게 암호화된 프로그램 및 데이터를 인가된 사용자가 복호화시켜 사용할 수 있도록 한 보안모듈 및 그의 이용 방법에 관한 것이다.The present invention relates to a security module and a method of using the same, and more particularly, to a security module and a method of using the same so that an authorized user can decrypt and use a program and data securely encrypted by an administrator.

일반적으로 암호화 시스템은 소정의 정보를 이해할 수 없도록 변형시키고 인가된 키(key)를 소유한 사람만이 변형된 정보를 판독하여 이용할 수 있도록 하기 위한 장치로써 비밀키 암호화 시스템(Private Key Cryptosystem)과 공개키 암호화 시스템(Public Key Cryptosystem)으로 분류된다.In general, an encryption system is a device for modifying certain information so that it cannot be understood, and allowing only the person who owns an authorized key to read and use the modified information. It is classified as a public key cryptosystem.

비밀키 암호화 시스템은 소정의 정보를 암호화 및 복호화시키는 데 동일한 키를 사용하는 시스템으로써 다른 암호화 시스템보다 암호화 및 복호화 속도가 빠른 반면, 암호화 및 복호화에 사용되는 키를 안전하게 공유하기 위해서는 사전에 키에 관한 정보를 전송해야 하는 과정이 필요하다.The secret key encryption system uses the same key for encrypting and decrypting certain information, and the encryption and decryption speed is faster than other encryption systems.However, in order to securely share the key used for encryption and decryption, The process of transmitting information is necessary.

또한, 비밀키 암호화 시스템을 이용하면 송신자의 신분을 증명하기 위한 전자 서명의 사용이 불가능해지고 메시지의 무결성을 유지하기 어렵게 된다.In addition, using a secret key encryption system makes it impossible to use an electronic signature to verify the identity of the sender and makes it difficult to maintain the integrity of the message.

이러한 비밀키 암호화 시스템이 가지는 문제점을 해결하기 위해 1976년 'Diffie'와 'Hellman'이 공개키 암호화 시스템의 개념을 제안하였다.In 1976, 'Diffie' and 'Hellman' proposed the concept of public key encryption system.

공개키 암호화 시스템은 정보 교환이 필요한 모든 사람에게 공개하기 위한 '공개키'와 자신만이 비밀로 간직하기 위한 '비밀키'로 분류되는 두 개의 키를 사용한다.Public-key cryptography systems use two keys, a public key for disclosure to everyone who needs to exchange information, and a secret key for keeping it secret.

예를 들면, '갑'이 '을'에게 소정의 비밀 정보를 보내고자 할 경우 '갑'은 '을'이 공개한 공개키를 이용하여 정보를 암호화한 후 '을'에게 전송하며, '을'은 자신이 소유하고 있는 비밀키를 이용해 암호화된 정보를 복호화하여 평문 형태의 정보로 만든다.For example, if 'A' wants to send certain secret information to 'A', 'A' encrypts the information using 'A''s public key and sends 'A' to 'A'. 'Decrypts the encrypted information using its private key to make it into plain text information.

따라서, 이러한 공개키 암호화 시스템을 이용하면 사전에 키를 분배하는 과정이 필요없게 되어 정보 공유자간의 키 교환을 위한 정보 전송이 불필요하게 된다.Therefore, when using such a public key encryption system, a process of distributing a key in advance is unnecessary, and thus information transmission for key exchange between information sharers is unnecessary.

그러나, 공개키 암호화 시스템을 이용하면 정보를 암/복호화하기 위해 관리해야 하는 키(공개키 및 비밀키)가 많아지고 암/복호화에 많은 시간이 소요된다.However, when using a public key encryption system, there are many keys (public key and secret key) that need to be managed to encrypt / decrypt information, and it takes a lot of time to encrypt / decrypt.

따라서, 본 발명은 보안모듈 내부에 프로그램 및 데이터를 안전하게 암호화시켜 저장하고, 인가된 사용자만이 암호화된 프로그램 및 데이터를 복호화시켜 사용할 수 있도록 하므로써 상기한 단점을 해소할 수 있는 보안모듈 및 그의 이용 방법을 제공하는 데 그 목적이 있다.Therefore, the present invention securely encrypts and stores programs and data in the security module, and only the authorized user can use the decrypted program and data to solve the above-mentioned security module and its use method. The purpose is to provide.

상기한 목적을 달성하기 위한 본 발명에 따른 보안모듈은 보안모듈 관리자에 의해 암호화된 펌웨어가 저장되는 제 1 저장수단과, 보안모듈 관리자에 의해 입력된 마스터 키가 저장되는 제 2 저장수단과, 제 2 저장수단에 저장된 마스터 키를 이용하여 저장수단으로부터 공급되는 펌웨어를 복호화하는 복호화 수단과, 복호화 수단으로부터 출력되는 평문 형태의 펌웨어를 저장하기 위한 제 3 저장수단으로 이루어진 것을 특징으로 한다.Security module according to the present invention for achieving the above object is the first storage means for storing the firmware encrypted by the security module manager, the second storage means for storing the master key input by the security module manager, and And decrypting means for decrypting the firmware supplied from the storing means using the master key stored in the storing means, and third storing means for storing the plain text firmware output from the decrypting means.

또한, 본 발명에 따른 보안모듈의 이용 방법은 부트로더, 관리자 아이디 및 패스워드, 마스터 키 및 펌웨어가 암호화되어 저장된 보안모듈을 사용자 자신의 컴퓨터에 장착한 후 사용자 인증 과정을 거쳐 상기 펌웨어가 복호화되도록 하는 것을 특징으로 한다.In addition, the method of using the security module according to the present invention is such that the boot loader, the administrator ID and password, the master key and the firmware is encrypted and stored in the user's own computer after mounting the security module stored in the user's own process to decrypt the firmware It is characterized by.

도 1은 본 발명에 따른 보안모듈을 설명하기 위한 구성도.1 is a block diagram for explaining a security module according to the present invention.

도 2는 도 1에 도시된 플래쉬 메모리의 구성도.FIG. 2 is a configuration diagram of the flash memory shown in FIG. 1.

도 3은 본 발명의 보안모듈 이용 방법을 설명하기 위한 흐름도.3 is a flowchart illustrating a method of using a security module of the present invention.

도 4는 도 3의 암호화 과정을 설명하기 위한 개념도.4 is a conceptual diagram illustrating the encryption process of FIG.

도 5는 도 4에 도시된 블록 암호화 칩을 이용하여 펌웨어를 암호화하는 과정을 설명하기 위한 개념도.FIG. 5 is a conceptual diagram illustrating a process of encrypting firmware using a block encryption chip shown in FIG. 4. FIG.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 보안모듈 101 : 플래쉬 메모리100: security module 101: flash memory

102 : 마스터 키 저장용 SRAM102: SRAM for master key storage

103 : 블록 암호화 칩 104 : 전원 공급부103: block encryption chip 104: power supply

105 : 스위칭부105: switching unit

108 : 프로그램 실행용 SRAM108: SRAM for program execution

200 : 암호화 칩200: encryption chip

201 : 마스터 키 10 : 부트 프로그램 영역201: master key 10: boot program area

20 : 프로그램 영역 30 : 데이터 영역20: program area 30: data area

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

도 1은 본 발명에 따른 보안모듈을 설명하기 위한 구성도이다.1 is a block diagram illustrating a security module according to the present invention.

본 발명에 따른 보안모듈(100)은 보안모듈 관리자에 의해 안전하게 암호화된 펌웨어(Emk)를 저장하기 위한 플래쉬 메모리(101)와, 마스터 키 보관용 SRAM(102)에 저장된 마스터 키를 이용하여 상기 암호화된 펌웨어(Emk)를 복호화시키는 블록 암호화 칩(103)과, 상기 블록 암호화 칩(103)에 의해 복호화된 펌웨어(Dmk)를 저장하는 프로그램 실행용 SRAM(106)으로 구성되며, 상기 마스터 키 보관용 SRAM(102)에는 전원 공급부(104)로부터 전원이 공급되어 마스터 키의 계속적인 보관이 이루어지도록 한다.The security module 100 according to the present invention uses the flash memory 101 for storing the firmware (Emk) securely encrypted by the security module manager and the encryption using the master key stored in the master key storage SRAM 102. A block encryption chip 103 for decrypting the old firmware Emk, and a program execution SRAM 106 for storing the firmware Dmk decrypted by the block encryption chip 103, for storing the master key. The SRAM 102 is supplied with power from the power supply 104 to allow for continuous storage of the master key.

도 2는 도 1에 도시된 플래쉬 메모리의 구성도로서, 상기 플래쉬 메모리(101)는 부트 프로그램 영역(10), 프로그램 영역(20) 및 데이터 영역(30)으로 구분된다.FIG. 2 is a configuration diagram of the flash memory shown in FIG. 1, and the flash memory 101 is divided into a boot program area 10, a program area 20, and a data area 30.

상기 부트 프로그램 영역(10)에는 보안모듈(100)의 동작에 관한 응용 프로그램을 수행이 가능하도록 로드하는 부트 로더와, 보안모듈 관리자의 인증시 사용되는 암호화된 관리자 아이디 및 패스워드와, 블록암호화 칩(103)을 제어하기 위한 제어 프로그램이 암호화되어 저장된다.The boot program area 10 includes a boot loader for loading an application program related to the operation of the security module 100, an encrypted administrator ID and password used for authentication of the security module manager, and a block encryption chip ( The control program for controlling 103 is encrypted and stored.

상기 프로그램 영역(20)에는 보안모듈 사용자가 이용하게 될 여러 종류의 응용 프로그램, 즉 보안모듈 사용자의 정보처리를 위해 필요한 응용 프로그램(예를 들면, 암호화 통신 프로그램 등)이 암호화되어 저장된다.In the program area 20, various types of application programs to be used by the security module user, that is, application programs (for example, an encryption communication program, etc.) necessary for processing information of the security module user are encrypted and stored.

상기 데이터 영역(30)에는 보안모듈 사용자가 암호화를 수행하는 경우 필요한 각 사용자의 예비키(제 1 키 내지 제 N 키), 상기 예비 키에 대응하여 인증시 발급하는 인증서 및 인증 티켓, 보안모듈 사용자의 인증시 필요한 사용자의 아이디 및 패스워드, 그리고 보안모듈 사용자를 위한 데이터가 암호화되어 저장된다.In the data area 30, a preliminary key (first key to N-key) of each user required when the security module user performs encryption, a certificate and an authentication ticket issued during authentication corresponding to the preliminary key, and a security module user User ID and password required for authentication and data for security module user are encrypted and stored.

즉, 보안모듈 플래쉬 메모리(101)에서 암호화되어 저장되는 부분은 부트 프로그램 영역(10)중 관리자 아이디 및 패스워드와 프로그램 영역(20) 및 데이터 영역(30)이다.That is, the encrypted and stored portions of the security module flash memory 101 are the administrator ID and password, the program area 20, and the data area 30 of the boot program area 10.

상기 마스터 키 저장용 SRAM(102)은 스위칭 수단(105)을 통해 전원 공급부(104)로부터 전원을 공급받는 휘발성 메모리로 이루어지며, 관리자로부터 제공된 마스터 키는 플래쉬 메모리(101)에 암호화되어 저장되는 과정에서 마스터 키 보관용 SRAM(102)에 저장된다.The SRAM 102 for storing the master key is made of a volatile memory supplied with power from the power supply unit 104 through the switching means 105, and the master key provided from the manager is encrypted and stored in the flash memory 101. Is stored in the master key storage SRAM 102.

상기 블록 암호화 칩(103)은 플래쉬 메모리(101)에 암호화되어 저장된 제어 프로그램에 의해 구동되며, 상기 플래쉬 메모리(101)에 암호화되어 저장된 펌웨어(Emk)를 복호화하기 위해 마스터 키 보관용 SRAM(102)으로부터 마스터 키(201)를 제공받는다.The block encryption chip 103 is driven by a control program encrypted and stored in the flash memory 101, and the SRAM 102 for storing a master key for decrypting firmware (Emk) encrypted and stored in the flash memory 101. From the master key 201.

또한, 상기 프로그램 실행용 SRAM(106)은 휘발성 메모리로 이루어지며, 상기 블록 암호화 칩(103)에 의해 복호화된 펌웨어(Dmk)가 평문 형태로 저장된다.In addition, the program execution SRAM 106 is formed of a volatile memory, and the firmware Dmk decrypted by the block encryption chip 103 is stored in a plain text form.

그러면 상기와 같이 구성된 보안모듈의 이용 방법을 도 3 내지 도 5를 통해 설명하면 다음과 같다.The method of using the security module configured as described above will now be described with reference to FIGS. 3 to 5.

보안모듈의 제작 단계에서 상기 보안모듈(100)내의 플래쉬 메모리(101)의 부트 프로그램 영역(10)에는 관리자의 아이디 및 패스워드가 상기 부트 로더와 함께 암호화되어 저장된다. 이때, 아이디 및 패스워드가 안전하게 저장될 수 있도록 관리자는 자신의 아이디 및 패스워드를 암호화한 후 제작자에게 전달한다.In the manufacturing process of the security module, an ID and password of an administrator are encrypted and stored together with the boot loader in the boot program area 10 of the flash memory 101 in the security module 100. At this time, the administrator encrypts his ID and password so that the ID and password can be stored securely and delivers it to the producer.

보안모듈의 제작이 완료되면(단계 S1) 제작된 보안모듈은 보안모듈 관리자에게 제공된다(단계 S2). 보안모듈 관리자는 보안모듈 제작자로부터 제공된 보안모듈(100)을 자신의 컴퓨터에 설치한다. 이때, 보안모듈(100)은 보안모듈 관리자 컴퓨터와 상호 데이터 송/수신이 가능한 소정의 인터페이스를 통해 연결된다.When the production of the security module is completed (step S1), the produced security module is provided to the security module manager (step S2). The security module manager installs the security module 100 provided from the security module producer on his computer. At this time, the security module 100 is connected to the security module manager computer via a predetermined interface capable of mutual data transmission / reception.

보안모듈 관리자는 자신의 아이디 및 패스워드를 입력하여 보안모듈의 사용을 허가 즉, 인증받는다(단계 S3). 이때, 관리자에 의해 입력된 아이디 및 패스워드가 제작 단계에서 저장된 관리자 아이디 및 패스워드와 서로 상이할 경우 새로운 아이디 및 패스워드의 입력을 소정 횟수만큼 재요청하여 비인가자의 사용을 사전에 방지할 수 있으며, 입력된 보안모듈 관리자의 아이디 및 패스워드가 저장된 아이디 및 패스워드와 동일하면 펌웨어를 암호화하기 위해 사용할 마스터 키(201)를 입력하여 상기 마스터 키 보관용 SRAM(102)에 저장되도록 한다. 이러한 과정은 예를 들어 제작단계에서 보안모듈(100)의 플래쉬 메모리(101)에 저장된 부트 로더의 동작에 따라 이루어진다.The security module manager inputs his ID and password to permit use of the security module, that is, authentication (step S3). At this time, if the ID and password entered by the administrator is different from the administrator ID and password stored in the production step, it is possible to prevent the unauthorized use in advance by re-requesting input of a new ID and password a predetermined number of times. If the ID and password of the security module manager is the same as the stored ID and password, the master key 201 to be used for encrypting the firmware is input to be stored in the master key storage SRAM 102. This process is performed according to, for example, the operation of the boot loader stored in the flash memory 101 of the security module 100 in the manufacturing step.

이후, 보안모듈 관리자는 자신의 컴퓨터 내부에 구비된 암호화 칩(200)을 이용하여 소정의 펌웨어를 암호화한 후 상기 플래쉬 메모리(101)에 저장한다(단계 S5). 상기 펌웨어에는 상기 플래쉬 메모리(101)의 부트 프로그램 영역(10), 프로그램 영역(20) 및 데이터 영역(30)에 암호화되어 저장되는 모든 프로그램 및 데이터가 포함된다.Thereafter, the security module manager encrypts predetermined firmware using the encryption chip 200 provided in the computer, and stores the predetermined firmware in the flash memory 101 (step S5). The firmware includes all programs and data encrypted and stored in the boot program area 10, the program area 20, and the data area 30 of the flash memory 101.

상기와 같이 마스터 키(201)와 암호화된 펌웨어(Emk)가 저장된 보안모듈(100)은 보안모듈 관리자로부터 사용자로 전달된다(단계 S6).As described above, the security module 100 in which the master key 201 and the encrypted firmware Emk are stored is transferred from the security module manager to the user (step S6).

보안모듈(100)을 제공받은 사용자는 보안모듈을 자신의 컴퓨터에 설치한다. 이때, 보안모듈(100)은 상호 데이터 송/수신이 가능한 소정의 인터페이스를 통해 연결된다.The user provided with the security module 100 installs the security module in his computer. At this time, the security module 100 is connected through a predetermined interface capable of transmitting and receiving data with each other.

상기와 같이 보안모듈(100)이 설치되면 보안모듈 사용자는 자신의 아이디 및 패스워드를 입력하여 보안모듈의 사용을 허가 즉, 인증받는다(단계 S7). 이때, 사용자에 의해 입력된 아이디 및 패스워드가 관리자에 의해 입력된 아이디 및 패스워드와 서로 상이할 경우 새로운 아이디 및 패스워드의 입력을 소정 횟수만큼 재요청하여 비인가자의 사용을 사전에 방지할 수 있으며, 입력된 사용자의 아이디 및 패스워드가 저장된 아이디 및 패스워드와 동일하면 상기 부트 로더의 동작에 따라 상기 플래쉬 메모리(101)에 암호화되어 저장된 펌웨어(Emk)가 상기 블록 암호화 칩(103)으로 전달된다.When the security module 100 is installed as described above, the user of the security module inputs his ID and password to permit the use of the security module, that is, to be authenticated (step S7). In this case, if the ID and password input by the user are different from the ID and password input by the administrator, the user may re-request the input of a new ID and password a predetermined number of times to prevent unauthorized use in advance. If the user ID and password are the same as the stored ID and password, the firmware Emk encrypted and stored in the flash memory 101 is transferred to the block encryption chip 103 according to the operation of the boot loader.

암호화된 펌웨어(Emk)가 블록 암호화 칩(103)으로 전달되면 플래쉬 메모리(101)의 부트 프로그램 영역에 저장된 제어 프로그램의 실행에 따라 암호화된 펌웨어(Emk)가 복호화되는데(단계 S8), 이와 같은 복호화는 상기 마스터 키 보관용 SRAM(102)에 저장된 마스터 키의 공급에 따라 이루어진다.When the encrypted firmware Emk is transferred to the block encryption chip 103, the encrypted firmware Emk is decrypted according to the execution of the control program stored in the boot program area of the flash memory 101 (step S8). Is performed according to the supply of the master key stored in the master key storage SRAM 102.

블록 암호화 칩(103)에 의해 복호화된 평문 형태의 펌웨어(Dmk)는 프로그램 실행용 SRAM(106)으로 전송되어 저장되는데(단계 S9), 보안모듈 사용자는 프로그램 실행용 SRAM(106)에 저장된 평문 형태의 펌웨어(Dmk) 즉, 응용 프로그램 및 데이터를 이용하게 된다.The firmware Dmk in the clear text decrypted by the block encryption chip 103 is transmitted to and stored in the SRAM 106 for program execution (step S9). The user of the security module stores the plain text in the SRAM 106 for the program execution. The firmware (Dmk) of the application, and the data will be used.

상기 보안모듈(100)의 사용이 종료되고 사용자에 의해 전원의 공급이 차단되면 상기 프로그램 실행용 SRAM(106)에 저장된 평문 형태의 프로그램 및 데이터는 삭제되기 때문에 비인가자에 의한 사용이 방지된다.When the use of the security module 100 is terminated and the power supply is cut off by the user, the program and the data in the plain text form stored in the program execution SRAM 106 are deleted, thereby preventing use by unauthorized persons.

또한, 본 발명에서는 마스터 키가 저장된 상기 보안모듈(100)의 케이스가 개봉되면 상기 스위치 수단(105)의 개방에 의해 저장된 마스터 키가 제거되도록 하여 보안성을 높일 수 있다.In addition, in the present invention, when the case of the security module 100 in which the master key is stored is opened, the stored master key may be removed by opening the switch means 105 to increase security.

도 4는 상기 단계 S3 및 S7에서 실시되는 보안모듈 관리자 및 사용자의 아이디 및 패스워드가 암호화되는 과정을 도시한다.4 illustrates a process of encrypting IDs and passwords of a security module manager and a user performed in steps S3 and S7.

도 4를 참조하면, 일반적으로 아이디 및 패스워드(보안모듈 관리자 및 보안모듈 사용자의 아이디 및 패스워드)를 암호화하기 위해서는 여러 가지의 암호화 키(Key)가 필요하게 되기 때문에 키 관리상의 문제점이 발생한다.Referring to FIG. 4, a key management problem occurs because various encryption keys are required to encrypt an ID and a password (ID and password of a security module manager and a security module user).

그러므로 이를 해결하기 위해 본 발명에서는 아이디 및 패스워드를 상/하위 두 부분으로 분할하여 상위 부분은 '키'로 사용하고 하위 부분은 '데이터'로 사용한다.Therefore, in order to solve this problem, the present invention divides the ID and password into upper / lower two parts and uses the upper part as a 'key' and the lower part as 'data'.

상위 부분의 키가 소정의 크기보다 작을 경우 패딩(padding) 과정을 통해 패드부(PAD)가 갱신되도록 하므로써 전체 '키'의 크기를 동일하게 조정할 수 있으며, 또한, '데이터'로 사용되는 하위 부분의 크기도 소정의 크기보다 작을 경우 패딩 과정을 통해 패드부가 갱신되도록 하여 전체 '데이터'의 크기를 동일하게 조정할 수 있다.If the key of the upper part is smaller than the predetermined size, the pad portion (PAD) is updated through the padding process so that the size of the entire 'key' can be adjusted equally, and the lower part used as the 'data' If the size is smaller than the predetermined size, the pad part is updated through the padding process so that the size of the entire 'data' can be adjusted to be the same.

상기와 같이 패딩 과정을 거쳐 크기가 조정된 '키'와 '데이터'는 보안모듈 관리자(또는 보안모듈 사용자)의 컴퓨터(도시되지 않음) 내에 구비된 암호화 칩(200)으로 전송되며, 암호화 칩(200)으로 전송된 '키'와 '데이터'는 암호화 칩(200)의 암호 알고리즘에 따라 암호화된다.The 'key' and 'data', which have been adjusted through the padding process as described above, are transmitted to the encryption chip 200 provided in the computer (not shown) of the security module manager (or security module user), and the encryption chip ( The 'key' and the 'data' transmitted to the 200 are encrypted according to the encryption algorithm of the encryption chip 200.

도 5는 도 4에 도시된 블록 암호화 칩(200)을 이용하여 펌웨어를 암호화하는 과정을 설명하기 위한 개념도이다.FIG. 5 is a conceptual diagram illustrating a process of encrypting firmware using the block encryption chip 200 illustrated in FIG. 4.

보안모듈 관리자에 의해 암호화를 위한 펌웨어가 입력되면 보안모듈 관리자의 컴퓨터 내에 구비된 암호화 칩(200)의 동작에 따른 암호화 알고리즘에 의해 펌웨어가 암호화되는데, 상기 암호화는 관리자에 의해 입력된 마스터 키(201)의 공급에 의해 이루어진다.When the firmware for encryption is input by the security module manager, the firmware is encrypted by an encryption algorithm according to the operation of the encryption chip 200 provided in the computer of the security module manager. The encryption is performed by the master key 201 input by the administrator. By the supply of

상술한 바와 같이 본 발명은 보안모듈 내부에 프로그램 및 데이터를 안전하게 암호화시켜 저장하고, 인가된 사용자만이 암호화된 프로그램 및 데이터를 복호화시켜 사용할 수 있도록 한다. 즉, 관리자에 의해 암호화된 펌웨어가 보안모듈의 플래쉬 메모리에 안전하게 저장되도록 하고, 사용자 인증 과정을 통해 암호화된 펌웨어가 복호화되도록 한다.As described above, the present invention securely encrypts and stores programs and data in a security module, and allows only an authorized user to decrypt and use an encrypted program and data. That is, the firmware encrypted by the administrator is safely stored in the flash memory of the security module, and the encrypted firmware is decrypted through the user authentication process.

따라서 본 발명은 속도가 빠른 비밀키 암호화 시스템이 적용된 보안모듈을 이용하여 인가된 사용자만이 프로그램 및 데이터를 안전하게 사용할 수 있도록 하므로써 정보의 유출로 인한 피해를 효과적으로 방지할 수 있다.Therefore, the present invention can effectively prevent the damage caused by the leakage of information by allowing only authorized users to safely use the program and data using a secure module to which a fast secret key encryption system is applied.

또한, 본 발명은 관리자에 의해 암호화되어 저장된 마스터 키가 별도의 전원 공급장치로부터 공급되는 전원에 의해 보관되도록 하되, 보안모듈의 케이스가 개봉될 경우 스위칭 수단의 동작에 의해 전원 공급이 차단되어 마스터 키가 제거되도록 하므로써 보안모듈의 안전성을 높일 수 있다.In addition, the present invention allows the master key encrypted and stored by the administrator to be stored by the power supplied from a separate power supply, the power supply is cut off by the operation of the switching means when the case of the security module is opened, the master key Can be removed to increase the safety of the security module.

Claims (9)

보안모듈 제작시 암호화된 보안모듈의 관리자 아이디와 패스워드, 인증된 보안모듈 관리자에 의해 암호화된 사용자 아이디, 패스워드 및 펌웨어가 저장되는 제 1 저장수단과,First storage means for storing an administrator ID and password of an encrypted security module, a user ID encrypted by an authenticated security module administrator, a password, and firmware when the security module is manufactured; 상기 인증된 보안모듈 관리자에 의해 입력된 마스터 키가 저장되는 제 2 저장수단과,Second storage means for storing a master key input by the authenticated security module manager; 상기 사용자의 아이디와 패스워드가 인증되면 상기 제 2 저장수단에 저장된 마스터 키를 이용하여 상기 제 1 저장수단으로부터 공급되는 상기 펌웨어를 복호화하는 복호화 수단과,Decrypting means for decrypting the firmware supplied from the first storage means by using a master key stored in the second storage means when the user ID and password are authenticated; 상기 복호화 수단으로부터 출력되는 평문형태의 펌웨어를 저장하기 위한 제 3 저장수단을 포함하는 것을 특징으로 하는 보안모듈.And a third storage means for storing the plain text firmware output from the decryption means. 제 1 항에 있어서, 상기 펌웨어는,The method of claim 1, wherein the firmware, 상기 복호화 수단을 제어하기 위한 제어 프로그램과,A control program for controlling the decoding means; 소정의 정보 처리를 위한 응용 프로그램 및 데이터와,Application programs and data for processing certain information; 암호화 과정에 사용되는 다수의 예비키와,A number of spare keys used in the encryption process, 각 예비키에 대응하는 인증시 발급되는 인증서 및 인증 티켓을 포함하여 이루어지는 것을 특징으로 하는 보안모듈.Security module comprising a certificate and an authentication ticket issued during authentication corresponding to each spare key. 제 1 항에 있어서,The method of claim 1, 상기 제 1 저장수단은 부트 프로그램 영역, 프로그램 영역 및 데이터 영역으로 이루어진 것을 특징으로 하는 보안모듈.And the first storage means comprises a boot program area, a program area and a data area. 제 3 항에 있어서,The method of claim 3, wherein 상기 부트 프로그램 영역에는 초기 구동 프로그램을 로드하기 위한 부트 로더, 상기 보안모듈 관리자의 아이디 및 패스워드, 그리고 상기 복호화 수단을 제어하기 위한 제어 프로그램이 암호화되어 저장되고,In the boot program area, a boot loader for loading an initial driving program, an ID and password of the security module manager, and a control program for controlling the decryption means are encrypted and stored. 상기 프로그램 영역에는 소정의 정보 처리를 위한 응용 프로그램이 암호화되어 저장되고,In the program area, an application program for processing information is encrypted and stored. 상기 데이터 영역에는 소정의 정보 처리를 위한 데이터, 암호화 과정에 사용되는 다수의 예비키, 각 예비키에 대응하는 인증시 발급되는 인증서 및 인증 티켓이 암호화되어 저장되는 것을 특징으로 하는 보안모듈.And a data for processing a predetermined information, a plurality of spare keys used in an encryption process, a certificate issued during authentication corresponding to each spare key, and an authentication ticket are encrypted and stored in the data area. 제 1 항에 있어서,The method of claim 1, 상기 제 1 및 제 2 저장 수단은 휘발성 메모리 소자로 이루어진 것을 특징으로 하는 보안모듈.And said first and second storage means comprise a volatile memory element. 제 1 항에 있어서,The method of claim 1, 상기 제 2 저장 수단에는 저장된 마스터 키의 보관을 위해 전원을 공급하는 전원 공급부가 연결된 것을 특징으로 하는 보안모듈.And a second power supply unit for supplying power for storing the stored master key. 삭제delete 삭제delete 삭제delete
KR10-2001-0039242A 2001-07-02 2001-07-02 Security module and a method of using the same KR100431081B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0039242A KR100431081B1 (en) 2001-07-02 2001-07-02 Security module and a method of using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0039242A KR100431081B1 (en) 2001-07-02 2001-07-02 Security module and a method of using the same

Publications (2)

Publication Number Publication Date
KR20030002932A KR20030002932A (en) 2003-01-09
KR100431081B1 true KR100431081B1 (en) 2004-05-12

Family

ID=27713012

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0039242A KR100431081B1 (en) 2001-07-02 2001-07-02 Security module and a method of using the same

Country Status (1)

Country Link
KR (1) KR100431081B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101393307B1 (en) 2007-07-13 2014-05-12 삼성전자주식회사 Secure boot method and semiconductor memory system for using the method
KR101795457B1 (en) * 2016-09-27 2017-11-10 시큐리티플랫폼 주식회사 Method of initializing device and method of updating firmware of device having enhanced security function
KR101982917B1 (en) * 2017-04-28 2019-05-27 건국대학교 산학협력단 Certificate-based vehicle security method and apparatus to maintain ecu security

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748740A (en) * 1995-09-29 1998-05-05 Dallas Semiconductor Corporation Method, apparatus, system and firmware for secure transactions
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
US5999629A (en) * 1995-10-31 1999-12-07 Lucent Technologies Inc. Data encryption security module
KR20000048718A (en) * 1996-09-30 2000-07-25 피터 엔. 데트킨 Secure boot
US6138236A (en) * 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
EP1072975A2 (en) * 1999-07-27 2001-01-31 Compaq Computer Corporation Virus resistant and hardware independent method of flashing computer system bios

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748740A (en) * 1995-09-29 1998-05-05 Dallas Semiconductor Corporation Method, apparatus, system and firmware for secure transactions
US5999629A (en) * 1995-10-31 1999-12-07 Lucent Technologies Inc. Data encryption security module
US6138236A (en) * 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
KR20000048718A (en) * 1996-09-30 2000-07-25 피터 엔. 데트킨 Secure boot
EP1072975A2 (en) * 1999-07-27 2001-01-31 Compaq Computer Corporation Virus resistant and hardware independent method of flashing computer system bios

Also Published As

Publication number Publication date
KR20030002932A (en) 2003-01-09

Similar Documents

Publication Publication Date Title
US7697691B2 (en) Method of delivering Direct Proof private keys to devices using an on-line service
US7058806B2 (en) Method and apparatus for secure leveled access control
CN102271037B (en) Based on the key protectors of online key
EP1500226B1 (en) System and method for storage and retrieval of a cryptographic secret from a plurality of network enabled clients
RU2147790C1 (en) Method for transferring software license to hardware unit
CN1820482B (en) Method for generating and managing a local area network
US20050210241A1 (en) Method and apparatus for digital rights management using certificate revocation list
US20050193199A1 (en) Accessing protected data on network storage from multiple devices
EP0936530A1 (en) Virtual smart card
US20110040971A1 (en) Portable system and method for remotely accessing data
CN108768963B (en) Communication method and system of trusted application and secure element
JP2004538584A (en) Information processing method and system in electronic device, electronic device, and processing block
JP2004180310A (en) Method for setting and managing confidence model between chip card and radio terminal
JP2007027896A (en) Communication card, secret information processing system, secret information transmission method, and program
KR20130020729A (en) Secure device authentication
EP1501238B1 (en) Method and system for key distribution comprising a step of authentication and a step of key distribution using a KEK (key encryption key)
CN105247833A (en) Self-authentication device and method
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
CN111191217B (en) Password management method and related device
JP5622668B2 (en) Application authentication system, application authentication method
KR100431081B1 (en) Security module and a method of using the same
CN110740036A (en) Anti-attack data confidentiality method based on cloud computing
EP1290531A2 (en) Network agent password storage and retrieval scheme
JPH09130376A (en) User password authentication method
WO2023154419A2 (en) Access control systems and methods for cryptowallets

Legal Events

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

Payment date: 20090324

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee