KR101829423B1 - Apparatus for encrypting or decrypting and method for encrypting or decrypting using the same - Google Patents

Apparatus for encrypting or decrypting and method for encrypting or decrypting using the same Download PDF

Info

Publication number
KR101829423B1
KR101829423B1 KR1020160063334A KR20160063334A KR101829423B1 KR 101829423 B1 KR101829423 B1 KR 101829423B1 KR 1020160063334 A KR1020160063334 A KR 1020160063334A KR 20160063334 A KR20160063334 A KR 20160063334A KR 101829423 B1 KR101829423 B1 KR 101829423B1
Authority
KR
South Korea
Prior art keywords
encryption
unit
decryption
key
input
Prior art date
Application number
KR1020160063334A
Other languages
Korean (ko)
Other versions
KR20170132464A (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 KR1020160063334A priority Critical patent/KR101829423B1/en
Publication of KR20170132464A publication Critical patent/KR20170132464A/en
Application granted granted Critical
Publication of KR101829423B1 publication Critical patent/KR101829423B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner

Abstract

일 실시예에 따른 암복호화 장치는 단말 장치에 포함되며, 상기 단말 장치는 외부와 통신을 수행하는 통신부 및 상기 단말 장치의 사용자로부터 데이터를 입력받는 입력부를 더 포함하고, 상기 암복호화 장치는 기 설정된 복수 개의 키를 저장하는 키 저장부와, 상기 입력부와 연결되고, 상기 입력부가 상기 사용자로부터 입력받은 데이터를 상기 입력부로부터 전달받으며, 상기 전달받은 데이터를 상기 복수 개의 키 중 어느 하나인 제1 키를 이용하여 암호화하는 암복호화부와, 상기 암복호화부로부터 상기 암호화된 암호화 데이터를 전달받아서 상기 통신부로 전달하는 포트부와, 상기 복수 개의 키와 동일한 키를 저장하는 타 암복호화 장치를 상기 암복호화 장치와 물리적으로 연결시킬 때 이용되는 연결부를 포함하며, 상기 키 저장부에 저장된 복수 개의 키는 상기 연결부에 의하여 상기 암복호화 장치가 상기 타 암복호화 장치와 연결되면 생성되어 저장된다. The encryption / decryption apparatus according to an exemplary embodiment of the present invention is included in a terminal apparatus, the terminal apparatus further includes a communication unit for communicating with the outside and an input unit for receiving data from a user of the terminal apparatus, A key storage unit connected to the input unit, the input unit receiving data input from the user from the input unit, and transmitting the received data to a first key, which is one of the plurality of keys, A port unit for receiving the encrypted data encrypted by the encryption / decryption unit from the encryption / decryption unit and transferring the encrypted data to the communication unit, and an encryption / decryption unit for storing the same key as the plurality of keys, And a connection unit used when the key storage unit is physically connected Keys are generated and stored when the encryption / decryption apparatus is connected to the other encryption / decryption apparatus by the connection unit.

Description

암복호화 장치 및 이를 이용한 암복호화 방법{APPARATUS FOR ENCRYPTING OR DECRYPTING AND METHOD FOR ENCRYPTING OR DECRYPTING USING THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an encryption / decryption apparatus,

본 발명은 암복호화 장치 및 이를 이용한 암복호화 방법에 관한 것이다. 보다 자세하게는 데이터를 암복호화하는 암복호화 장치들이 서로 간에 물리적으로 연결되었을 때 데이터의 암복호화에 사용되는 키를 공유하게 함으로써 악성 행위자에 의한 키의 탈취 및 해킹가능성을 차단하며, 또한 사용자가 소지하는 단말 장치가 악성 코드 등에 감염된 경우 감염된 단말 장치에 의한 악성 행위의 발생을 차단하는 기술을 제공하는 장치에 관한 것이다.
The present invention relates to an encryption / decryption apparatus and an encryption method using the same. More specifically, when the encryption / decryption devices for encrypting / decrypting data are physically connected to each other, the key used for encryption / decryption of data is shared, thereby blocking the possibility of deception and hacking of a key by a malicious agent. To a device for providing a technique for blocking the occurrence of malicious activity by an infected terminal device when the terminal device is infected with a malicious code or the like.

인터넷의 발달로 현대 사회에서 이루어지고 있는 대부분의 서비스는 온라인을 통해서 수행 가능하다. 예컨대, 금융 거래, 물건을 사고파는 거래 뿐만 아니라 주민등록등초본 등을 취급하는 민원 처리까지도 온라인을 통한 처리가 가능하다.With the development of the Internet, most of the services available in modern society can be carried out online. For example, it is possible to process transactions such as financial transaction, purchase and sale of goods, as well as civil complaints handling resident registration etc. through online.

이러한 서비스는 개인의 인적과 관련된 정보나 금융 거래와 관련된 정보 등을 취급한다. 따라서, 이러한 서비스 하에서 정보를 송수신하는 경우 보안성을 강화시키는 기술은 필수적으로 요구되고 있다.These services deal with information related to an individual's personal or financial transactions. Therefore, in order to transmit and receive information under such a service, a technique for enhancing security is indispensably required.

정보 송수신에 있어서 보안성을 강화시키는 기술에는, 잘 알려진 바와 같이 비대칭키를 이용하여 데이터를 암복호화하는 시스템인 RSA를 이용한 기술이 있다. RSA 시스템에서 데이터는 공개키 및 개인키를 기반으로 암호화되어 통신망을 통해 전달된다. 그런데, 공개키는 인터넷 상에서 공개 및 공유된다. 따라서, 공개키를 기반으로 비밀키가 찾아내어 진다면, 암호화된 데이터는 해킹될 수 있다. 물론, 공개키를 기반으로 비밀키를 찾아내는 것은 매우 어렵다고 알려져 있으나 수학적으로 판단하였을 때 불가능한 것은 아니다. 따라서, 이러한 RSA 시스템은 보안성에 약점을 가지고 있다고 할 수 있다.As a well-known technique for enhancing security in information transmission and reception, there is a technique using RSA, which is a system for encrypting and decrypting data using an asymmetric key. In the RSA system, data is encrypted based on public and private keys and transmitted over the network. However, the public key is disclosed and shared on the Internet. Thus, if a secret key is found based on the public key, the encrypted data can be hacked. Of course, it is known to be very difficult to find a secret key based on a public key, but it is not impossible when mathematically judged. Therefore, it can be said that such an RSA system has a weakness in security.

한편, 보안성을 보다 향상시키기 위하여 다양한 보안 매체, 예컨대 공인인증서, OTP(one time password), 보안카드, I-PIN 등과 같이 다양한 방법이 활용되고 있다. Meanwhile, various security media such as an official certificate, OTP (one time password), a security card, an I-PIN, and the like are utilized in order to further improve security.

그런데 OTP를 비롯한 이러한 보안 매체를 활용한다고 하여도 사용자가 사용하는 단말 장치가 악성 코드에 감염되었다면 완벽한 보안성이 담보되지 않을 수 있다. 예를 들면, 사용자의 단말 장치가 피싱 사이트에 접속하도록 감염된 경우, RSA 시스템과 OTP를 모두 활용한다고 하여도 사용자는 이를 알아차리기 어렵다. 따라서, 금융 거래 사고 또는 개인 정보 유출 등이 발생할 수 있다.
However, even if the security medium including OTP is utilized, if the terminal device used by the user is infected with malicious code, perfect security may not be secured. For example, if a user's terminal device is infected to connect to a phishing site, it is difficult for the user to notice even if the user uses both the RSA system and the OTP. Therefore, financial transaction accidents or leakage of personal information may occur.

한국특허공개공보 2005-0017493 , 공개일자 2005년 02월 22일Korean Patent Publication No. 2005-0017493, published on February 22, 2005

본 발명의 해결하고자 하는 과제는 데이터의 암복호화에 사용되는 키에 대하여 악성 행위자가 이를 탈취하는 것을 차단함과 동시에, 사용자가 소지하는 단말 장치가 악성 코드 등에 감염된 경우, 감염된 단말 장치에 의한 악성 행위의 발생을 차단하는 기술을 제공하는 것이다.A problem to be solved by the present invention is to prevent a malicious agent from stealing a key used for encryption and decryption of data, and to prevent a malicious behavior by an infected terminal device To prevent the occurrence of the above-mentioned problems.

다만, 본 발명의 해결하고자 하는 과제는 이에 한정되지 않는다.
However, the problem to be solved by the present invention is not limited to this.

일 실시예에 따른 암복호화 장치는 단말 장치에 포함되며, 상기 단말 장치는 외부와 통신을 수행하는 통신부 및 상기 단말 장치의 사용자로부터 데이터를 입력받는 입력부를 더 포함하고, 상기 암복호화 장치는 기 설정된 복수 개의 키를 저장하는 키 저장부와, 상기 입력부와 연결되고, 상기 입력부가 상기 사용자로부터 입력받은 데이터를 상기 입력부로부터 전달받으며, 상기 전달받은 데이터를 상기 복수 개의 키 중 어느 하나인 제1 키를 이용하여 암호화하는 암복호화부와, 상기 암복호화부로부터 상기 암호화된 암호화 데이터를 전달받아서 상기 통신부로 전달하는 포트부와, 상기 복수 개의 키와 동일한 키를 저장하는 타 암복호화 장치를 상기 암복호화 장치와 물리적으로 연결시킬 때 이용되는 연결부를 포함하며, 상기 키 저장부에 저장된 복수 개의 키는 상기 연결부에 의하여 상기 암복호화 장치가 상기 타 암복호화 장치와 연결되면 생성되어 저장된다.The encryption / decryption apparatus according to an exemplary embodiment of the present invention is included in a terminal apparatus, the terminal apparatus further includes a communication unit for communicating with the outside and an input unit for receiving data from a user of the terminal apparatus, A key storage unit connected to the input unit, the input unit receiving data input from the user from the input unit, and transmitting the received data to a first key, which is one of the plurality of keys, A port unit for receiving the encrypted data encrypted by the encryption / decryption unit from the encryption / decryption unit and transferring the encrypted data to the communication unit, and an encryption / decryption unit for storing the same key as the plurality of keys, And a connection unit used when the key storage unit is physically connected Keys are generated and stored when the encryption / decryption apparatus is connected to the other encryption / decryption apparatus by the connection unit.

또한, 상기 입력부가 적어도 두 개의 입력키를 포함하고 상기 적어도 두 개의 입력키 각각에는 그에 상응하는 식별값이 할당되어 있는 경우, 상기 암복호화부는 상기 적어도 두 개의 입력키 중에서 상기 사용자에 의하여 입력된 입력키에 상응하는 식별값에 대하여 상기 제1 키를 이용하여 암호화를 수행할 수 있다.In a case where the input unit includes at least two input keys and each of the at least two input keys is assigned a corresponding identification value, the encryption / decryption unit decrypts the input key input from the at least two input keys The encryption can be performed using the first key with respect to the identification value corresponding to the key.

또한, 상기 적어도 두 개의 입력키 각각에는 해당 입력키가 입력될 때마다 값이 증가하는 카운터가 할당될 때, 상기 암복호화부는 상기 식별값과 상기 카운터를 결합한 뒤 상기 결합한 결과에 대하여 상기 제1 키를 이용하여 암호화를 수행할 수 있다.When the counter is incremented every time the input key is input to each of the at least two input keys, the encryption / decryption unit combines the identification value and the counter, and outputs the combined result to the first key Can be used to perform encryption.

또한, 상기 암복호화부는 상기 키 저장부와는 키 버스(key bus)를 통해서 연결되며, 상기 키 버스를 통해서 상기 키 저장부로부터 전달받은 키를 기초로 상기 암호화를 수행할 수 있다.Also, the encryption / decryption unit is connected to the key storage unit through a key bus, and can perform the encryption based on a key received from the key storage unit via the key bus.

또한, 상기 포트부는 상기 암복호화부와 데이터 버스(data bus)를 통해서 연결되며, 상기 암복호화부가 상기 암호화를 수행한 결과는 상기 데이터 버스를 거쳐서 상기 포트부를 통하여 상기 단말 장치의 통신부로 전달될 수 있다.Also, the port unit may be connected to the encryption / decryption unit through a data bus, and the encryption / decryption unit may transmit the encryption result to the communication unit of the terminal device through the port unit via the data bus. have.

또한, 상기 암복호화부는 상기 데이터를 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 키 식별자와 결합시켜서 결합 데이터를 생성한 뒤 상기 결합 데이터를 상기 제1 키를 기초로 암호화하고, 상기 포트부는 상기 암호화된 결합 데이터를 상기 단말 장치의 통신부로 전달할 수 있다.The encryption / decryption unit may combine the data with a key identifier known by both the encryption / decryption apparatus and the encryption / decryption apparatus to generate combined data, encrypt the combined data based on the first key, Can transmit the encrypted combined data to the communication unit of the terminal device.

또한, 상기 암복호화부는 상기 복수 개의 키 중 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 기 설정된 적어도 두 개 이상의 키를 기초로 상기 키 식별자를 생성할 수 있다.Also, the encryption / decryption unit may generate the key identifier based on at least two keys among the plurality of keys that are both known to the encryption / decryption apparatus and the other encryption / decryption apparatus.

또한, 난수를 생성하는 난수 생성부를 더 포함하고, 상기 키 식별자는 기 설정된 개수의 복수 개의 비트로 구성되며, 상기 복수 개의 비트 중 일부의 비트는 상기 복수 개의 키 중에서 적어도 두 개 이상의 키에 의하여 값이 정해지고, 상기 복수 개의 비트 중 나머지 비트는 상기 생성된 난수에 의하여 값이 정해질 수 있다.The random number generating unit may further include a random number generator for generating a random number, wherein the key identifier is composed of a predetermined number of bits, and a part of the plurality of bits is a value obtained by at least two keys among the plurality of keys. And the remaining bits of the plurality of bits can be determined by the generated random number.

또한, 상기 암복호화부는 상기 단말 장치로부터 전달받은 암호화 데이터에 대하여, 상기 암호화 데이터로부터 상기 제1 키를 식별하는데 사용되는 암호화된 키 식별자를 분리하고, 상기 암호화된 키 식별자를 상기 복수 개의 키 각각을 이용하여 복호화하였을 때의 결과가 상기 암복호화 장치가 저장하고 있는 키 식별자와 동일한 경우, 상기 경우에서의 키를 이용하여 상기 암호화 데이터를 복호화할 수 있다.The encryption / decryption unit separates the encrypted key identifier, which is used to identify the first key, from the encrypted data, and transmits the encrypted key identifier to each of the plurality of keys, And decrypts the encrypted data using the key in the case where the decryption result is the same as the key identifier stored in the encryption / decryption apparatus.

또한, 상기 암복호화 장치에 비정상적인 것으로 정의된 행위가 가해지는 것을 인식하며, 상기 행위가 가해지는 것이 인식되면 상기 키를 삭제하는 보호부를 더 포함할 수 있다.The apparatus may further include a protection unit that recognizes that an action defined as abnormal is applied to the encryption / decryption device, and deletes the key when it is recognized that the action is applied.

일 실시예에 따른 단말 장치에 포함되는 암복호화 장치에 의하여 수행되는 암복호화 방법에서, 상기 단말 장치는 외부와 통신을 수행하는 통신부 및 상기 단말 장치의 사용자로부터 데이터를 입력받는 입력부를 더 포함하며, 상기 입력부가 상기 사용자로부터 입력받은 데이터를, 상기 입력부로부터 전달받는 단계와, 상기 전달받은 데이터를 기 설정된 복수 개의 키 중 어느 하나인 제1 키를 이용하여 암호화를 수행하는 단계와, 상기 암호화된 암호화 데이터를 상기 통신부로 전달하는 단계를 포함하며, 상기 기 설정된 복수 개의 키는 상기 암복호화 장치가 상기 암복호화 장치에 포함된 연결부를 통하여 상기 복수 개의 키와 동일한 키를 저장하는 타 암복호화 장치와 물리적으로 연결될 때 생성되어 저장된다.
In the encryption / decryption method performed by the encryption / decryption apparatus included in the terminal apparatus according to an exemplary embodiment, the terminal apparatus further includes a communication unit for communicating with the outside and an input unit for receiving data from a user of the terminal apparatus, The method comprising: receiving data received from the input unit by the input unit from the input unit; performing encryption using a first key, which is one of a plurality of predetermined keys, Wherein the predetermined encryption key is transmitted to the other encryption / decryption device storing the same key as the plurality of keys through the connection part included in the encryption / decryption device, And stored.

일 실시예에 따르면, 악성 행위자는 데이터의 암복호화에 사용되는 키에 접근하여 이를 탈취할 수 없다. 따라서 악성 행위자는 암호화된 데이터를 복호화할 수 없고, 데이터를 변조시킬 수 없다.According to one embodiment, a malicious agent can not access and steal a key used for encryption / decryption of data. Therefore, the malicious actor can not decrypt the encrypted data and can not modulate the data.

아울러, 사용자가 소지하는 단말 장치가 악성 코드 등에 감염된 경우에도 사용자의 서버에 대한 요청은 변조되지 않고 서버로 전달될 수 있다. 따라서 악성 코드에 감염된 단말 장치에서 비롯될 수 있는 금융 거래 사고나 개인 정보 노출 등과 같은 사고가 사전에 차단될 수 있다.
In addition, even when a terminal device held by a user is infected with a malicious code or the like, a request for a user's server can be transmitted to a server without being tampered with. Therefore, accidents such as financial transaction accidents or personal information disclosure that may originate from terminal devices infected with malicious code may be blocked in advance.

도 1a 및 1b는 일 실시예에 따른 암복호화 장치가 적용된 시스템을 개념적으로 도시한 도면이다.
도 2는 일 실시예에 따른 암복호화 장치의 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 암복호화 장치 복수 개가 서로 간에 물리적으로 연결된 것으로 도시한 도면이다.
도 4는 일 실시예에 따른 암복호화 장치에서 키 저장부 및 포트부가 구분되어 구성되어 있는 것을 개념적으로 도시한 도면이다.
도 5a 및 5b는 일 실시예에서의 키 식별자를 개념적으로 도시한 도면이다.
도 6a는 일 실시예에 따른 암복호화 장치가 도 1a에 도시된 시스템에 적용되어 사용자의 요청이 처리되는 과정을 도시한 도면이다.
도 6b는 일 실시예에 따른 암복호화 장치가 도 1b에 도시된 시스템에 적용되어 사용자의 요청이 처리되는 과정을 도시한 도면이다.
도 7은 일 실시예에 따른 암복호화 방법의 각 단계를 도시한 도면이다
1A and 1B are conceptual diagrams of a system to which an encryption / decryption apparatus according to an embodiment is applied.
FIG. 2 is a diagram illustrating a configuration of an encryption / decryption apparatus according to an embodiment.
FIG. 3 is a diagram illustrating a plurality of encryption / decryption apparatuses according to an embodiment, which are physically connected to each other.
4 is a diagram conceptually showing that a key storage unit and a port unit are configured separately in the encryption / decryption apparatus according to an exemplary embodiment.
Figures 5A and 5B are conceptual diagrams of key identifiers in one embodiment.
FIG. 6A is a diagram illustrating a process in which an encryption / decryption apparatus according to an embodiment is applied to the system shown in FIG. 1A to process a user's request.
FIG. 6B is a diagram illustrating a process in which an encryption / decryption apparatus according to an embodiment is applied to the system shown in FIG. 1B to process a user's request.
7 is a diagram illustrating each step of the encryption / decryption method according to an embodiment

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions in the embodiments of the present invention, which may vary depending on the intention of the user, the intention or the custom of the operator. Therefore, the definition should be based on the contents throughout this specification.

도 1a는 일 실시예에 따른 암복호화 장치가 적용된 시스템을 개념적으로 도시한 도면이다.FIG. 1A is a conceptual diagram of a system to which an encryption / decryption apparatus according to an embodiment is applied.

도 1a를 참조하면, 시스템은 단말 장치(200) 및 서버(300)에 의하여 구성된다. 단말 장치(200) 및 서버(300)는 네트워크(500)에 의하여 연결된다. 네트워크(500)는 CDMA, 3G, 4G, LTE-A, 블루투스, 와이파이, NFC 또는 IR과 같은 무선 통신 네트워크이거나 이와 달리 LAN과 같은 유선 통신 네트워크일 수 있다.Referring to FIG. 1A, a system is configured by a terminal device 200 and a server 300. The terminal device 200 and the server 300 are connected by the network 500. The network 500 may be a wireless communication network such as CDMA, 3G, 4G, LTE-A, Bluetooth, Wi-Fi, NFC or IR or otherwise a wired communication network such as a LAN.

단말 장치(200)는 사용자(10)의 서버(300)에 대한 요청, 예컨대 금융 거래 요청이나 개인 정보 요청 등을 사용자(10)로부터 받아들이며, 이러한 요청을 서버(300)로 송신한다. 단말 장치(200)는 컴퓨팅 디바이스, 예컨대 PC나 스마트 기기 등일 수 있다. The terminal device 200 receives a request for the server 300 of the user 10 such as a financial transaction request or a personal information request from the user 10 and transmits the request to the server 300. [ The terminal device 200 may be a computing device, such as a PC or a smart device.

단말 장치(200)는 사용자(10)로부터 사용자(10)의 서버(300)에 대한 요청을 받아들이는 입력부(210)를 포함한다. 입력부(210)는 예컨대 단말 장치(200)에 구비된 키패드나 키보드, 터치스크린과 같이 사용자(10)로부터 데이터를 입력받는 다양한 입력 수단일 수 있다. 이러한 입력부(210)는 적어도 두 개의 입력키를 포함할 수 있으며, 이 경우 각각의 입력키에는 그에 상응하는 식별값이 할당될 수 있다. 예컨대, 입력키 알파벳 'A'에는 '11011'이라는 식별값이 할당될 수 있으며, 입력키 알파벳 'B'에는 '11100'이라는 식별값이 할당될 수 있다. 식별값은 실시예에 따라서 아스키(ASCII) 코드일 수 있다.The terminal device 200 includes an input unit 210 for accepting a request from the user 10 to the server 300 of the user 10. The input unit 210 may be a variety of input means for receiving data from the user 10, such as a keypad, a keyboard, and a touch screen provided in the terminal device 200. [ The input unit 210 may include at least two input keys, and each input key may be assigned a corresponding identification value. For example, an identification value of '11011' may be assigned to the input key alphabet 'A', and an identification value of '11100' may be assigned to the input key alphabet 'B'. The identification value may be ASCII (ASCII) code according to the embodiment.

단말 장치(200)는 단말 장치(200)의 동작을 제어하는 제어부(230)를 포함한다. 제어부(230)는 마이크로프로세서 등에 의하여 구현 가능하다. 제어부(230)는 입력부(210)와 연결되며, 입력부(210)로부터 입력부(210)가 사용자(10)로부터 받아들인 입력을 전달받고, 이러한 입력을 처리하며, 처리된 결과를 통신부(220)로 전달하는 기능을 수행할 수 있다.The terminal device 200 includes a control unit 230 for controlling the operation of the terminal device 200. The control unit 230 may be implemented by a microprocessor or the like. The control unit 230 is connected to the input unit 210. The control unit 230 receives the input received from the user 10 by the input unit 210 from the input unit 210 and processes the input and outputs the processed result to the communication unit 220 And the like.

단말 장치(200)는 암복호화 장치(100)를 포함한다. 암복호화 장치(100)는 입력부(210)가 사용자(10)로부터 받아들인 요청(또는 이러한 요청과 관련된 데이터)를 암호화할 수 있다. 이러한 암복호화 장치(100)는 입력부(210)와 하드웨어적으로 직접 연결된다. 따라서, 사용자(10)가 입력부(210)를 통하여 데이터를 입력하면, 입력된 데이터는 이러한 하드웨어적인 연결을 통하여 암복호화 장치(100)로 전달되어 암호화된다.The terminal apparatus 200 includes the encryption / decryption apparatus 100. [ The encryption / decryption apparatus 100 can encrypt a request (or data related to such a request) that the input unit 210 has received from the user 10. [ The encryption / decryption apparatus 100 is directly connected to the input unit 210 in hardware. Accordingly, when the user 10 inputs data through the input unit 210, the inputted data is transmitted to the encryption / decryption apparatus 100 through the hardware connection and encrypted.

단말 장치(200)는 서버(300)와 통신을 수행하는 통신부(220)를 포함한다. 통신부(220)는 암복호화 장치(100)로부터 암호화 데이터를 전달받아서 서버(300)에게 송신할 수 있다. 또는 통신부(220)는 암호화되지 않은 데이터를 서버(300)에게 송신할 수도 있다. 이러한 통신부(220)는 CDMA, 3G, 4G, LTE-A, 블루투스, 와이파이, NFC 또는 IR과 같은 무선 통신 모듈 또는 LAN과 같은 유선 통신 모듈로 구성 가능하다.The terminal device 200 includes a communication unit 220 for performing communication with the server 300. [ The communication unit 220 may receive the encrypted data from the encryption / decryption apparatus 100 and transmit the encrypted data to the server 300. Or the communication unit 220 may transmit the unencrypted data to the server 300. [ The communication unit 220 may be a wireless communication module such as CDMA, 3G, 4G, LTE-A, Bluetooth, Wi-Fi, NFC or IR, or a wired communication module such as a LAN.

서버(300)는 단말 장치(200)를 통해서 사용자(10)의 요청을 전달받으며, 이러한 요청에 따른 서비스를 단말 장치(200)를 통해 사용자(10)에게 제공한다.The server 300 receives the request of the user 10 through the terminal device 200 and provides the service according to the request to the user 10 through the terminal device 200. [

서버(300)는 암복호화 장치(310)를 포함하거나 이러한 암복호화 장치(310)에 연결된다. 암복호화 장치(310)는 하드웨어로 구성되어 서버(300)에 연결(부착)되는 형태(예컨대, 동글(dongle)과 같은 형태)일 수 있으며, 이와 달리 소프트웨어적으로 구현되어 서버(300)에 설치되는 프로그램의 형태일 수 있으나 이에 한정되는 것은 아니다. 한편, 서버(300)의 암복호화 장치(310)는 단말 장치(200)의 암복호화 장치(100)와 동일한 방식으로 암호화 또는 복호화를 수행할 수 있다.The server 300 includes an encryption / decryption apparatus 310 or is connected to the encryption / decryption apparatus 310. The encryption / decryption apparatus 310 may be configured in hardware (in the form of a dongle, for example) connected to (attached to) the server 300, But it is not limited to this. Meanwhile, the encryption / decryption apparatus 310 of the server 300 may perform encryption or decryption in the same manner as the encryption / decryption apparatus 100 of the terminal apparatus 200.

서버(300)와 단말 장치(200)는 서로 간에 암호화 데이터 또는 암호화되지 않은 데이터를 주고 받으면서 사용자(10)의 요청을 처리한다. 이는 도 6a에서 보다 자세하게 살펴보기로 한다.The server 300 and the terminal device 200 process the request of the user 10 while exchanging encrypted data or unencrypted data with each other. This will be described in more detail in FIG. 6A.

도 1b는 일 실시예에 따른 암복호화 장치가 적용된 시스템을 개념적으로 도시한 도면이다.1B is a conceptual diagram illustrating a system to which an encryption / decryption apparatus according to an embodiment is applied.

도 1b를 참조하면, 시스템에 포함된 단말 장치(200), 서버(300) 그리고 네트워크(500)는 도 1a와 동일하므로 이들에 대한 설명은 생략하기로 한다.Referring to FIG. 1B, the terminal device 200, the server 300, and the network 500 included in the system are identical to those of FIG. 1A, and a description thereof will be omitted.

도 1b의 시스템에는 보안 관리 장치(400)가 도 1a에 비하여 추가로 구성된다. 보안 관리 장치(400)는 네트워크(500)에 의하여 단말 장치(200) 또는 서버(300)와 연결된다.In the system of FIG. 1B, the security management apparatus 400 is further configured in comparison with FIG. 1A. The security management apparatus 400 is connected to the terminal apparatus 200 or the server 300 through the network 500.

보안 관리 장치(400)는 암복호화 장치(410)를 포함하거나 이러한 암복호화 장치(410)와 연결된다. The security management apparatus 400 includes an encryption / decryption apparatus 410 or is connected to the encryption / decryption apparatus 410.

보안 관리 장치(400)는 암복호화 장치(100)에 의하여 암호화된 데이터를 단말 장치(200)로부터 수신하며, 수신된 암호화된 데이터를 암복호화 장치(410)를 이용하여 복호화한다. 또한, 보안 관리 장치(400)는 단말 장치(200)에게 송신할 데이터를 암복호화 장치(410)를 이용하여 암호화한다. 이 때, 암복호화 장치(410)에 의하여 암호화된 암호화 데이터는 암복호화 장치(100) 또는 후술하겠지만 암복호화 장치(310)에 의하여 복호화 가능하다.The security management apparatus 400 receives the data encrypted by the encryption / decryption apparatus 100 from the terminal apparatus 200, and decrypts the received encrypted data using the encryption / decryption apparatus 410. In addition, the security management apparatus 400 encrypts data to be transmitted to the terminal apparatus 200 by using the encryption / decryption apparatus 410. At this time, the encrypted data encrypted by the encryption / decryption apparatus 410 can be decrypted by the encryption / decryption apparatus 100 or the encryption / decryption apparatus 310, which will be described later.

보안 관리 장치(400)는 암복호화 장치(310)에 의하여 암호화된 데이터를 서버(300)로부터 수신하며, 수신된 암호화된 데이터를 복호화한다. 또한, 보안 관리 장치(400)는 서버(300)에게 송신할 데이터를 암복호화 장치(410)를 이용하여 암호화한다.The security management apparatus 400 receives data encrypted by the encryption / decryption apparatus 310 from the server 300, and decrypts the received encrypted data. In addition, the security management apparatus 400 encrypts the data to be transmitted to the server 300 using the encryption / decryption apparatus 410.

이를 토대로 살펴보면, 보안 관리 장치(400)는 단말 장치(200)와 서버(300) 사이에서 단말 장치(200) 및 서버(300)와 각각 암호화 데이터를 주고받고 이를 복호화하며, 단말 장치(200)의 서버(300)에 대한 요청을 단말 장치(200)와 서버(300) 사이에서 중계할 수 있다. 즉, 보안 관리 장치(400)는 단말 장치(200) 및 서버(300) 사이에서 단말 장치(200)의 서버(300)에 대한 요청을 중계할 수 있다. 금융 거래를 예로 들어 살펴보도록 하자. 보안 관리 장치(400)는 단말 장치(200)로부터 서버(300)에 대한 금융 거래가 수신되면 이를 분석한 뒤, 보안 관리 장치(400) 스스로 서버(300)와 통신을 하여 단말 장치(200)가 요청한 금융 거래를 수행할 수 있다. 즉, 보안 관리 장치(400)는 단말 장치(200)로부터 금융 거래를 일임 받은 뒤, 단말 장치(200)를 대신하여 보안 관리 장치(400) 스스로가 직접 서버(300)와 금융 거래를 수행할 수 있다. 이는 도 6b에서 보다 자세하게 살펴보기로 한다.Based on this, the security management apparatus 400 exchanges encrypted data with the terminal device 200 and the server 300 between the terminal device 200 and the server 300, decrypts the encrypted data, A request for the server 300 can be relayed between the terminal device 200 and the server 300. That is, the security management apparatus 400 can relay a request to the server 300 of the terminal device 200 between the terminal device 200 and the server 300. Take financial transactions as an example. The security management apparatus 400 analyzes the financial transaction for the server 300 from the terminal apparatus 200 and then communicates with the server 300 by itself to determine whether the terminal management apparatus 400 requests Financial transactions can be carried out. That is, after the security management apparatus 400 receives the financial transaction from the terminal apparatus 200, the security management apparatus 400 itself can perform a financial transaction with the server 300 on behalf of the terminal apparatus 200 have. This will be described in more detail in FIG. 6B.

도 1a 및 1b에 도시된 것과 같이, 입력부(210)는 암복호화 장치(100)와 직접 하드웨어적으로 연결된다. 따라서, 사용자(10)가 입력부(210)를 통하여 입력한 데이터는 암복호화 장치(100)로 전달되어 암호화된다. 아울러, 도시된 바와 같이 사용자(10)가 입력부(210)를 통하여 입력한 데이터는 암복호화 장치(100)를 거치지 않고 제어부(230)로 전달될 수도 있으며, 이와 같이 제어부(230)로 전달된 데이터는 단말 장치(200)의 디스플레이부(미도시)에 표시될 수 있다.As shown in FIGS. 1A and 1B, the input unit 210 is directly connected to the encryption / decryption apparatus 100 in hardware. Therefore, the data input by the user 10 through the input unit 210 is transmitted to the encryption / decryption apparatus 100 and encrypted. The data input by the user 10 through the input unit 210 may be transmitted to the control unit 230 without passing through the encryption and decryption apparatus 100 as shown in FIG. May be displayed on a display unit (not shown) of the terminal device 200.

이 때, 단말 장치(200) 자체가 악성 코드 등에 의하여 감염된 경우가 있을 수 있다. 이 경우, 입력부(210)로부터 제어부(230)로 전달된 사용자(10)의 입력은 악성 코드 등에 의하여 변조될 수 있다.At this time, the terminal apparatus 200 itself may be infected by a malicious code or the like. In this case, the input of the user 10 transmitted from the input unit 210 to the control unit 230 can be modulated by a malicious code or the like.

그러나, 입력부(210)로부터 암복호화 장치(100)로 전달된 사용자(10)의 입력은 제어부(230)와는 무관하게 암복호화 장치(100)에 의하여 암호화된다. 아울러, 후술하겠지만 암복호화 장치(100)에 의하여 암호화된 암호화 데이터는 악성 코드나 기타 제3 자에 의하여 복호화가 불가능하며 따라서 변조 또한 불가능하다. 따라서, 암복호화 장치(100)에 의하여 암호화된 암호화 데이터는 변조되지 않은 상태로 통신부(220)를 통하여 서버(300)로 전달되거나(도 1a) 또는 보안 관리 장치(400)를 경유하여 서버(300)로 전달된다(도 1b). 즉, 서버(300)로 전달되는 암호화 데이터는 변조되지 않기 때문에, 감염된 단말 장치(200)나 제3 자에 의한 금융 거래 사고나 개인 정보 노출 등과 같은 사고가 사전에 차단될 수 있다.However, the input of the user 10 transferred from the input unit 210 to the encryption / decryption apparatus 100 is encrypted by the encryption / decryption apparatus 100 regardless of the control unit 230. In addition, as will be described later, the encrypted data encrypted by the encryption / decryption apparatus 100 can not be decrypted by a malicious code or a third party, and thus, it is also impossible to perform modulation. Therefore, the encrypted data encrypted by the encryption / decryption apparatus 100 is transmitted to the server 300 through the communication unit 220 (FIG. 1A) or the server 300 (FIG. 1A) via the security management apparatus 400 (Fig. 1B). That is, since the encrypted data transmitted to the server 300 is not tampered, an accident such as a financial transaction accident or personal information disclosure by the infected terminal device 200 or a third party can be blocked in advance.

이하에서는 감염된 단말 장치(200)나 기타 제3 자에 의하여 복호화가 불가능하도록 하는 일 실시예에 따른 암복호화 장치(100)에 대하여 보다 구체적으로 살펴보기로 하되, 이러한 암복호화 장치(100)에 대한 하기의 설명은 암복호화 장치(310) 및 암복호화 장치(410)에도 동일하게 적용되는 것을 전제로 한다.Hereinafter, an encryption / decryption apparatus 100 according to an exemplary embodiment of the present invention which can not be decrypted by an infected terminal apparatus 200 or other third party will be described in more detail. It is assumed that the following description is also applied to the encryption / decryption apparatus 310 and the encryption / decryption apparatus 410.

도 2는 일 실시예에 따른 암복호화 장치의 구성을 도시한 도면이다.FIG. 2 is a diagram illustrating a configuration of an encryption / decryption apparatus according to an embodiment.

먼저, 암복호화 장치(100)는 전술한 기능 및 이하에서 기술할 기능을 수행하도록 프로그램된 명령어를 저장하는 메모리(예컨대 ROM), 그리고 이러한 명령어를 수행하는 프로세서에 의하여 구현 가능하다. 이러한 암복호화 장치(100)는 반도체 칩의 형태로 구현 가능하나 이에 한정되는 것은 아니다. First, the encryption / decryption apparatus 100 can be implemented by a memory (e.g., ROM) that stores the above-described functions and instructions programmed to perform the functions described below, and a processor that executes such a command. The encryption / decryption apparatus 100 may be implemented in the form of a semiconductor chip, but is not limited thereto.

암복호화 장치(100)는 입력부(210)에 포함된 적어도 두 개의 입력키마다 하나씩 할당되어 연결될 수 있다. 이 경우 암복호화 장치(100)는 입력키마다 각각 입력키에 상응하는 식별값에 대해서 암호화를 수행하게 된다. The encryption / decryption apparatus 100 may be connected to each of at least two input keys included in the input unit 210. In this case, the encryption / decryption apparatus 100 encrypts the identification value corresponding to the input key for each input key.

이와 달리, 실시예에 따라서 암복호화 장치(100)는 단말 장치(200)에 1개가 할당되어 연결될 수도 있다. 이하에서는 단말 장치(200)에 암복호화 장치(100) 1개가 할당되어 연결된 것을 전제로 설명하기로 한다.Alternatively, the encryption / decryption apparatus 100 may be connected to the terminal apparatus 200 by one. Hereinafter, a description will be made on the assumption that one of the encryption / decryption apparatuses 100 is connected to the terminal apparatus 200 and connected thereto.

도 2를 참조하면, 암복호화 장치(100)는 포트부(110), 키 저장부(120), 암복호화부(130) 및 연결부(150)를 포함하며, 실시예에 따라서 난수 생성부(160), 보호부(170) 및 리셋부(180)를 더 포함할 수 있되, 도 2에는 도시되지 않았지만 전자기기에 포함되는 일반적인 구성 또는 기타 다양한 구성들을 더 포함하거나 또는 도 2에 도시된 구성요소 중 적어도 하나 이상을 포함하지 않을 수 있다.2, the encryption / decryption apparatus 100 includes a port unit 110, a key storage unit 120, an encryption / decryption unit 130, and a connection unit 150. The random number generation unit 160 2, and may further include a general configuration or other various configurations included in the electronic device, or may include any of the components shown in FIG. 2 But may not include at least one or more.

연결부(150)에 대하여 먼저 살펴보면, 연결부(150)는 복수의 암복호화 장치(100)를 서로 간에 물리적으로 연결시키는 구성이며, 예를 들면 하드웨어적으로 구현된 커넥터일 수 있다. 연결부(150)에 의해서, 단말 장치(200)의 암복호화 장치(100)는 서버(300)의 암복호화 장치(310) 또는 보안 관리 장치(400)의 암복호화 장치(410)와 연결 가능하다.Referring to the connection unit 150, the connection unit 150 physically connects the plurality of the encryption / decryption apparatuses 100 with each other. For example, the connection unit 150 may be a hardware-implemented connector. The encryption and decryption apparatus 100 of the terminal device 200 can be connected to the encryption and decryption apparatus 310 of the server 300 or the encryption and decryption apparatus 410 of the security management apparatus 400 by the connection unit 150.

도 3은 복수의 암복호화 장치(100)가 그에 속한 연결부(150)를 통하여 서로 간에 연결된 것을 개념적으로 도시한 도면이다. 여기서 도 3은 암복호화 장치의 참조 번호를 '100'으로 표기하고 있으나, 전술한 바와 같이 참조 번호가 310인 암복호화 장치(서버(300)의 암복호화 장치) 또는 참조 번호가 410인 암복호화 장치(보안 관리 장치(400)의 암복호화 장치) 또한 도 3에 도시된 복수의 암복호화 장치 중에 포함될 수 있으며, 이하에서는 이를 전제로 설명하기로 한다.3 is a view conceptually showing that a plurality of the encryption / decryption apparatuses 100 are connected to each other through a connection unit 150 belonging thereto. 3, the reference numeral of the encryption / decryption apparatus is denoted by '100', but the encryption / decryption apparatus having the reference numeral 310 (the encryption / decryption apparatus of the server 300) or the encryption / (The encryption / decryption apparatus of the security management apparatus 400) may also be included in the plurality of encryption / decryption apparatuses shown in FIG. 3, and the description thereof will be provided below.

도 3에 도시된 것과 같이 복수의 암복호화 장치(100)가 서로 간에 물리적으로 연결되는 시점은, 이러한 암복호화 장치(100)가 생산된 시점에서 공장에서 물리적으로 연결되는 때 또는 암복호화 장치(100)의 사용자가 암복호화 장치(100)를 구매한 시점에서 구매 장소에서 물리적으로 연결되는 때일 수 있으나 이에 한정되는 것은 아니다.3, the plurality of encryption / decryption apparatuses 100 are physically connected to each other when the apparatus is physically connected to the factory at the time when the encryption / decryption apparatus 100 is manufactured or when the encryption / decryption apparatus 100 May be physically connected at the point of purchase when the user of the encryption / decryption apparatus 100 purchases the terminal, but the present invention is not limited thereto.

다시 도 2를 참조하면 포트부(110)는 단말 장치(200)와 데이터를 주고받는 구성이다. 이러한 포트부(110)는 암복호화 장치(100)의 암복호화부(130)와 연결될 수 있다. 사용자(10)가 입력부(110)를 통하여 입력한 데이터는 암복호화 장치(100)의 암복호화부(130)로 전달되어 암호화되고, 암호화된 데이터는 암복호화부(130)로부터 포트부(110)를 통하여 통신부(220)로 전달될 수 있다.Referring again to FIG. 2, the port unit 110 exchanges data with the terminal device 200. The port unit 110 may be connected to the encryption / decryption unit 130 of the encryption / decryption apparatus 100. The data inputted by the user 10 through the input unit 110 is transmitted to the encryption and decryption unit 130 of the encryption and decryption apparatus 100 and the encrypted data is transmitted from the encryption and decryption unit 130 to the port unit 110, To the communication unit 220 via the communication unit 220. [

키 저장부(120)는 키를 저장하는데, 이러한 키는 복수 개일 수 있다. 복수 개의 키 각각은 데이터의 암호화 또는 복호화에 사용된다. 이러한 키는 각각 복수 개의 비트로 구성될 수 있다.The key storage unit 120 stores a key, which may be a plurality of keys. Each of the plurality of keys is used for encrypting or decrypting the data. These keys may each be composed of a plurality of bits.

복수 개의 키는 난수 생성부(160)에 의하여 생성된 임의의 개수, 예를 들면 1000개의 난수의 값을 기초로 생성될 수 있다. 이 때, 임의의 개수의 난수의 값 그 자체가 복수 개의 키가 될 수 있으며, 이와 달리 상기 임의의 개수의 난수가 기 설정된 알고리즘에 의하여 가공된 값이 복수 개의 키가 될 수도 있다. 이 때의 난수 생성부(160)는 마이크로프로세서에 의하여 그 기능이 구현 가능하다.The plurality of keys may be generated based on a random number generated by the random number generation unit 160, for example, a value of 1000 random numbers. At this time, the value of an arbitrary number of random numbers may be a plurality of keys. Alternatively, the value processed by the predetermined algorithm of the random number may be a plurality of keys. The random number generation unit 160 at this time can implement its function by a microprocessor.

리셋부(180)는 시드(seed) ― 난수를 생성할 때 사용되는 값 ― 를 생성하여 난수 생성부(160)에 제공한다. 난수 생성부(160)는 시드를 기초로 난수를 생성한다. The reset unit 180 generates a seed - a value used when generating a random number - and provides it to the random number generation unit 160. The random number generation unit 160 generates a random number based on the seed.

리셋부(180)가 생성한 시드는 암복호화 장치(100)가 암복호화 장치(310, 410)와 물리적으로 연결되었을 때 암복호화 장치(310, 410)에 전달될 수 있다. 즉, 시드는 무선 통신이나 유선 통신 방식으로 전달되지 않고, 암복호화에 관여하는 장치(본 실시예에서는 암복호화 장치(100, 310, 410))가 물리적으로 연결되었을 때 전달된다. 따라서, 시드가 통신 방식으로 전달되지 않으므로, 해커 등에 의하여 이러한 시드가 탈취될 수 없다.The seed generated by the reset unit 180 may be transmitted to the encryption / decryption apparatuses 310 and 410 when the encryption / decryption apparatus 100 is physically connected to the encryption / decryption apparatuses 310 and 410. That is, the seed is not transmitted through the wireless communication or the wired communication method but is transmitted when the devices (encryption / decryption devices 100, 310, and 410 in this embodiment) involved in encryption / decryption are physically connected. Therefore, since the seed is not transmitted through the communication method, such a seed can not be deodorized by a hacker or the like.

시드를 전달받은 암복호화 장치(310, 410)는 암복호화 장치(100)의 난수 생성부(160)와 동일한 시드를 이용하여 난수를 생성할 수 있다. 따라서, 키 저장부(120)에 저장되는 난수는 암복호화 장치(310, 410)에 저장된 난수와 그 값이 동일하다.The encryption / decryption apparatuses 310 and 410 receiving the seed can generate a random number using the same seed as the random number generation unit 160 of the encryption / decryption apparatus 100. Therefore, the random number stored in the key storage unit 120 is the same as the random number stored in the encryption / decryption units 310 and 410.

여기서, 리셋부(180)에 대하여 보다 자세하게 살펴보면, 리셋부(180)는 사용자(10)에 의한 입력을 받아들이는 버튼 등을 포함할 수 있다. 이러한 리셋부(180)는 난수 생성부(160)와 연결된다. 따라서, 암복호화 장치(100)가 암복호화 장치(310, 410)와 물리적으로 연결된 후 리셋부(180)의 버튼이 눌리면, 리셋부(180)는 시드를 생성하여 난수 생성부(160)로 제공한다.Here, the reset unit 180 may include a button or the like for receiving an input by the user 10. [ The reset unit 180 is connected to the random number generation unit 160. Accordingly, when the encryption / decryption apparatus 100 is physically connected to the encryption / decryption apparatuses 310 and 410 and the button of the reset unit 180 is pressed, the reset unit 180 generates a seed and provides it to the random number generation unit 160 do.

이상에서 살펴본 바와 같이 복수의 암복호화 장치(100, 310, 410)는 서로 간에 물리적으로 연결되었을 때 복수 개의 키를 생성하여 공유한다. 즉, 복수 개의 키가, 유선 통신이든 무선 통신이든 통신망을 통해서 전달되는 과정이 발생하지 않는다. 따라서, 기존의 RSA와는 달리 키를 분배하여 공유시키는 과정에서 키가 유출되거나 해킹될 위험이 없다.As described above, the plurality of encryption / decryption apparatuses (100, 310, 410) generate and share a plurality of keys when they are physically connected to each other. That is, a process of transmitting a plurality of keys through a communication network, whether in a wire communication or a wireless communication, does not occur. Therefore, unlike the existing RSA, there is no risk of key leakage or hacking in the process of distributing and sharing the key.

키 저장부(120)에 저장된 복수 개의 키는 갱신(업데이트)될 수 있다. 갱신 시점은 주기적으로 또는 필요한 때에 임의로 이루어질 수 있는데, 암복호화 장치(100) 및 암복호화 장치(310, 410)는 이러한 갱신 시점에 대하여 서로 약속한 규칙을 가지고 있을 수 있으며, 따라서 동일한 시점에 복수 개의 키를 갱신할 수 있다. The plurality of keys stored in the key storage unit 120 may be updated (updated). The encryption decryption apparatus 100 and the encryption / decryption apparatuses 310 and 410 may have the rules promised to each other at the time of updating, and thus, at the same time, a plurality of The key can be updated.

아울러, 키를 갱신하는 것은 새로운 복수 개의 키를 생성하는 것이므로, 이 경우에도 난수 생성부(160)에 의하여 생성된 난수를 기초로 복수 개의 키를 생성할 수 있다. 키를 갱신할 때 난수 생성부(160)에 전달되는 시드는 암복호화 장치(100) 및 암복호화 장치(310, 410)가 서로 간에 알고 있는 기 설정된 값, 예를 들면 갱신 전 1번째 또는 마지막 번째의 키일 수 있다. 즉, 암복호화 장치(100)와 암복호화 장치(310, 410)는 키의 갱신을 위하여 동일한 시드를 가지고 복수 개의 키를 생성하며, 이와 같이 생성된 복수 개의 키를 갱신에 사용한다. 따라서, 복수 개의 키가 갱신이 되더라도 암복호화 장치(100)와 암복호화 장치(310, 410)는 동일한 값의 복수 개의 키를 공유할 수 있다.In this case, a plurality of keys can be generated based on the random number generated by the random number generation unit 160. In this case, When the key is updated, the seed transmitted to the random number generating unit 160 is transmitted to the random number generating unit 160 through a predetermined value known between the encryption / decryption apparatus 100 and the encryption / decryption apparatuses 310 and 410, for example, It can be key. That is, the encryption / decryption apparatus 100 and the encryption / decryption apparatuses 310 and 410 generate the plurality of keys with the same seed for updating the keys, and use the generated keys for updating. Therefore, even if a plurality of keys are updated, the encryption / decryption apparatus 100 and the encryption / decryption apparatuses 310 and 410 can share a plurality of keys having the same value.

암복호화부(130)는 데이터를 암호화한다. 이 때, 암호화의 대상이 되는 데이터는 사용자(10)가 입력부(210)를 통하여 입력한 데이터일 수 있으나 이에 한정되는 것은 아니다. 예컨대, 사용자(10)가 입력부(210)를 통하여 계좌 이체를 위한 정보(계좌번호, 이체할 금액 및 비밀번호 등)를 입력하면, 암복호화부(130)는 이러한 정보를 암호화할 수 있다.The encryption / decryption unit 130 encrypts the data. In this case, the data to be encrypted may be data input by the user 10 through the input unit 210, but the present invention is not limited thereto. For example, when the user 10 inputs information for account transfer (account number, amount to be transferred, password, etc.) through the input unit 210, the encryption / decryption unit 130 can encrypt such information.

암호화하는 과정에 대하여 보다 자세하게 살펴보도록 하자. 키 저장부(110)에 저장된 복수 개의 키 중 어느 하나인 제1 키가 선택된다. 제1 키를 선택하는 주체는 키 저장부(110) 또는 암복호화부(130)일 수 있다. 암복호화부(130)는 제1 키를 기초로 암호화 대상인 데이터를 암호화한다. 여기서, 제1 키를 기초로 데이터를 암호화하는 암호화 알고리즘은 기존에 공지된 것을 사용할 수 있는데, 이러한 암호화 알고리즘은 도 2에는 도시되지 않은 ROM에 저장될 수 있다. 제1 키를 기초로 암호화된 데이터는 제1 키에 의해서만 복호화가 가능하다.Let's take a closer look at the encryption process. The first key, which is one of the plurality of keys stored in the key storage unit 110, is selected. The subject selecting the first key may be the key storage unit 110 or the encryption / decryption unit 130. The encryption / decryption unit 130 encrypts data to be encrypted based on the first key. Here, a cryptographic algorithm for encrypting data based on the first key can use a conventionally known cryptographic algorithm, which can be stored in a ROM not shown in Fig. The encrypted data based on the first key is decryptable only by the first key.

암복호화부(130)는 단말 장치(200)가 서버(300) 또는 보안 관리 장치(400)로부터 수신한 암호화된 데이터를 복호화하는데, 복호화하는 알고리즘 또한 전술한 ROM에 저장될 수 있다. 보다 자세하게 살펴보면, 암복호화부(130)는 암호화된 데이터를 키 저장부(110)에 저장된 복수 개의 키 중 어느 하나인 키를 이용하여 복호화한다.The encryption / decryption unit 130 decrypts the encrypted data received from the server 300 or the security management apparatus 400 by the terminal device 200, and the algorithm for decrypting the encrypted data may also be stored in the above-described ROM. In more detail, the encryption / decryption unit 130 decrypts the encrypted data using a key, which is one of the plurality of keys stored in the key storage unit 110. [

이하에서는 암호화하는 과정 및 복호화하는 과정에 대하여 보다 자세히 설명하기로 한다.Hereinafter, the encryption process and the decryption process will be described in more detail.

먼저 암호화하는 과정에 대하여 살펴보면, 암복호화부(130)는 암호화에 사용되는 키를 식별하기 위한 키 식별자(또는 control block이라고 지칭될 수도 있음)를 생성한다. 생성된 키 식별자는 암호화의 대상인 데이터와 함께 어느 하나의 키(제1 키)를 기초로 암호화된다.First, the encryption / decryption unit 130 generates a key identifier (also referred to as a control block) for identifying a key used for encryption. The generated key identifier is encrypted based on any one of the keys (the first key) together with the data to be encrypted.

여기서, 키 식별자에 대해서는 도 5a 및 5b를 참조하여 설명하기로 한다. 도 5a는 키 식별자와 데이터가 결합된 결합 데이터를 도시한 그림이다. 도 5a를 참조하면, 키 식별자(122)는 기 설정된 개수, 예를 들면 n개의 비트로 구성될 수 있다. 이러한 n개의 비트는 암복호화 장치(100) 및 암복호화 장치(310, 410)가 서로 알고 있는 약속된 규칙에 의하여 그 값이 채워질 수 있다. 도 5b는 키 식별자를 구성하는 n개의 비트가 이러한 약속된 규칙에 의하여 그 값이 채워진 것을 개념적으로 도시한 도면이다. 이하에서는 이러한 약속된 규칙에 대하여 보다 자세하게 살펴보기로 한다. Here, the key identifier will be described with reference to Figs. 5A and 5B. 5A is a diagram showing combined data in which a key identifier and data are combined. Referring to FIG. 5A, the key identifier 122 may be composed of a predetermined number, for example, n bits. These n bits may be filled in by the promised rules that the encryption / decryption apparatus 100 and the encryption / decryption apparatus 310 and 410 know each other. FIG. 5B is a view conceptually showing that n bits constituting the key identifier are filled in by these promised rules. Hereinafter, these promised rules will be discussed in more detail.

복수 개의 키 중에서 암복호화 장치(100) 및 암복호화 장치(310, 410)가 서로 알고 있는 기 설정된 적어도 두 개 이상의 키를 이용하여, n개의 비트의 특정 위치에 특정 값을 할당한다. 예를 들면, 암복호화 장치(100) 및 암복호화 장치(310, 410)가 복수 개의 키 중에서 기 설정된 두 개 이상의 키로서 50개의 키, 즉 제1 키부터 제50 키를 이용하여 키 식별자를 생성하는 것으로 알고 있다고 가정하자. 그리고 제1 키를 n으로 모듈러 연산을 한 값을 제1 값이라고 하고 제2 키를 2로 모듈러 연산을 한 값을 제2 값이라고 하면, n개의 비트 중 제1 값이 나타내는 번째의 비트에 제2 값을 할당한다. 다음으로, 제3 키를 n으로 모듈러 연산을 한 값을 제3 값이라고 하고 제4 키를 2로 모듈러 연산을 한 값을 제4 값이라고 하면, n개의 비트 중 제3 값이 나타내는 번째의 비트에 제4 값을 할당한다. 이와 같은 방식으로 50개의 키를 이용하여 n개의 비트의 특정 위치에 특정 값을 할당한다. 이 때, 이미 값이 할당된 위치에 또 값을 할당해야 한다면, 뒤에 할당된 값을 해당 위치에 할당한다. 이 후, n개의 비트 중 값이 할당되지 않은 비트가 있을 수 있다. 값이 할당되지 않은 비트에는 난수 생성부(160)에서 생성한 비트가 할당된다. 여기서, 실시예에 따라서 n개의 비트에 먼저 난수가 할당되고, 그 이후에 적어도 두 개 이상의 키를 이용하여 값이 할당되는 과정이 수행될 수도 있다. A specific value is assigned to a specific position of n bits using at least two predetermined keys that are known between the encryption / decryption apparatus 100 and the encryption / decryption apparatuses 310 and 410 among the plurality of keys. For example, the encryption / decryption apparatus 100 and the encryption / decryption apparatuses 310 and 410 generate key identifiers using 50 keys, that is, first to 50th keys, as two or more predetermined keys among the plurality of keys Suppose we know that If a value obtained by performing a modulo operation on the first key by n is a first value and a value obtained by performing a modulo operation on a second key by 2 is a second value, 2 < / RTI > Next, if a value obtained by performing a modulo operation on the third key by n is a third value and a value obtained by performing a modulo operation on the fourth key by 2 is a fourth value, then the third bit of the n bits To the fourth value. In this manner, 50 keys are used to assign specific values to specific positions of n bits. At this time, if another value is to be assigned to a position to which the value has already been assigned, the assigned value is assigned to the next position. Thereafter, there may be a bit among n bits that is not assigned a value. The bits generated by the random number generator 160 are allocated to the bits to which the values are not allocated. Here, according to the embodiment, n bits may be first assigned a random number, and then a value may be assigned using at least two keys.

도 5b는 전술한 과정에 의하여 키 식별자를 생성한 것을 개념적으로 도시한 도면이다. 도 5b를 참조하면, n개의 비트 중 적어도 두 개 이상의 키를 이용하여 값이 할당되는 비트는 b로 표시되고, 난수 생성부(160)가 생성한 난수가 할당되는 비트는 a로 표시된다.FIG. 5B is a conceptual diagram illustrating generation of a key identifier by the above-described process. 5B, a bit to which a value is assigned by using at least two keys among n bits is represented by b, and a bit to which a random number generated by the random number generation unit 160 is allocated is represented by a.

지금까지 암호화하는 방법에 대하여 살펴보았는데, 실시예에 따라서 암호화할 때 데이터 뿐만 아니라 카운터도 함께 결합하여 암호화 가능하다. 보다 자세하게 살펴보면, 입력부(210)로부터 전달받은 사용자(10)의 입력에 따른 데이터는 키 식별자 및 카운터와 함께 암호화될 수 있다.The encryption method has been described so far. According to the embodiment, not only data but also counters can be combined and encrypted when encrypting. In more detail, data according to the input of the user 10 transmitted from the input unit 210 may be encrypted together with the key identifier and the counter.

카운터에 대하여 먼저 살펴보면, 입력부(210)에 포함된 적어도 두 개의 입력키 각각에는 전술한 바와 같이 식별값이 할당된다. 사용자(10)에 의하여 입력키가 입력되면, 입력키에 상응하는 식별값이 암복호화부(130)로 전달된다. 암복호화부(130)는 입력부(210)로부터 식별값이 전달된 횟수를, 입력키마다 각각 카운트하는 카운터를 가질 수 있다. 식별값이 전달될 때마다 해당하는 식별값에 할당된 카운터는 그 값이 증가한다. 예를 들어 살펴보면, '숫자 '1'부터 '9'까지의 입력키 각각에는 카운터가 할당되며, 각각의 카운터는 숫자 '1'에 상응하는 식별값이 입력된 횟수부터 숫자 '9'에 상응하는 식별값이 입력된 횟수를 그 값으로 갖는다. 그리고 식별값이 입력될 때마다 해당 식별값에 할당된 카운터의 값은 증가한다. 증가하는 값은 기 정의된 만큼 또는 기 정의된 알고리즘에 의하여 정해질 수 있다.As to the counter, the identification value is assigned to each of at least two input keys included in the input unit 210, as described above. When the input key is input by the user 10, the identification value corresponding to the input key is transmitted to the encryption / decryption unit 130. The encryption / decryption unit 130 may have a counter for counting the number of times the identification value is transmitted from the input unit 210 for each input key. Each time the identification value is transmitted, the value of the counter assigned to the corresponding identification value increases. For example, a counter is assigned to each of the input keys of the numbers '1' to '9', and each counter has a counter corresponding to the number '9' from the number of times the identification value corresponding to the number '1' And has the number of times the identification value is input as its value. Each time the identification value is input, the value of the counter assigned to the identification value increases. Incremented values can be defined by predefined or predefined algorithms.

이러한 카운터를 이용하면, 동일한 입력키가 반복적으로 입력되고, 반복적으로 입력되는 이러한 입력키가 복수 개의 키 중에서 동일한 키를 이용하여 암호화되는 경우에도, 생성되는 암호화 데이터가 동일하지 않도록 할 수 있다. 예컨대 사용자(10)가 입력한 입력키가 'A'이고 이러한 입력키가 제1 키를 기초로 암호화된 경우의 암호화 데이터는, 그 뒤에 사용자(10)가 입력한 입력키가 'A'이고 이러한 입력키가 또 다시 제1 키를 기초로 암호화된 경우의 암호화 데이터와, 카운터에 의하여 상이하게 된다. 따라서, 동일한 키가 반복적으로 입력되는 경우라도 암호화 데이터가 동일하지 않도록 생성되기 때문에, 해커와 같은 제3 자로 하여금 동일한 입력키의 반복적 입력에 의한 암호화 데이터의 패턴 등을 인식하지 못하도록 할 수 있다.By using such a counter, even if the same input key is repeatedly input and the input key repeatedly input is encrypted using the same key among a plurality of keys, the generated encrypted data can be prevented from being the same. For example, in the case where the input key inputted by the user 10 is 'A' and the input key is encrypted based on the first key, the input key inputted by the user 10 after this is 'A' And differs from the encrypted data in the case where the input key is again encrypted based on the first key and the counter. Therefore, even when the same key is repeatedly input, the encrypted data is generated so as not to be the same, so that it is possible to prevent a third party such as a hacker from recognizing the pattern of the encrypted data by repeated input of the same input key.

아울러, 사용자(10)의 입력에 따른 데이터는 전술한 키 식별자 및 카운터 뿐만 아니라 인증표지도 함께 암호화되어 서버(300)로 송신될 수 있다. 인증표지에 대하여 살펴보면, 인증표지는 암복호화 장치(100, 310, 410) 간에 서로 약속한 일종의 비트 시퀀스이다. 이러한 인증표지는 데이터와 카운터 사이에 배치될 수 있다. 인증표지는 데이터의 수신자로 하여금 수신된 데이터가 정상적으로 수신되었음을 인식하게 해주는 수단이다. 예컨대 암호화 데이터가 통신 에러 등으로 인하여 송수신되는 과정에서 변조되면, 인증표지 또한 그 값이 변할 수 있다. 따라서, 수신자는 인증표지를 확인함으로써 암호화 데이터를 비롯한 데이터가 정상적으로 송수신되었는지를 확인할 수 있다.In addition, the data according to the input of the user 10 can be transmitted to the server 300 by encrypting not only the key identifier and the counter but also the authentication mark. Referring to the authentication mark, the authentication mark is a kind of bit sequence promised among the encryption / decryption devices 100, 310, and 410. Such an authentication mark may be placed between the data and the counter. An authentication sign is a means by which the recipient of the data is aware that the received data has been received normally. For example, if the encrypted data is modulated in the process of being transmitted / received due to a communication error or the like, the value of the authentication mark may also change. Accordingly, the receiver can check whether the data including the encrypted data is normally transmitted or not by checking the authentication mark.

한편, 지금까지는 사용자(10)가 입력키를 누를 때마다 해당 입력키에 상응하는 식별값을 1개씩 암복호화부(130)가 암호화하고 이와 같이 암호화된 데이터를 통신부(220)가 서버(300) 등으로 송신하는 것으로 설명하였으나, 이는 예시적인 것이므로 본 발명의 사상이 이에 한정되는 것은 아니다. 실시예에 따라서 암복호화부(130)는 복수의 식별값을 결합하여서 한꺼번에 암호화할 수도 있다. 예를 들면, 적어도 두 개의 입력키가 '동시에' 입력되는 경우, '기 정의된 순서'대로 복수 개의 입력키가 입력되는 경우 또는 입력부(210)에 별도로 구비된 '특수키가 눌려져 있는 동안에' 복수 번 또는 복수 개의 입력키가 입력되는 경우 등에는 복수의 식별값이 결합되어서 한꺼번에 암호화될 수 있다.Each time the user 10 presses the input key, the encryption / decryption unit 130 encrypts the identification value corresponding to the input key one by one. The communication unit 220 transmits the encrypted data to the server 300, And so on, but this is merely an example, so the idea of the present invention is not limited thereto. The encryption / decryption unit 130 may combine a plurality of identification values and encrypt them all at once. For example, when at least two input keys are input at the same time, when a plurality of input keys are input in the predefined order, or when a special key is separately pressed in the input unit 210, When a plurality of input keys are input, a plurality of identification values may be combined and encrypted at once.

다음으로 복호화하는 과정에 대하여 살펴보기로 한다.Next, the process of decrypting will be described.

암복호화부(130)는 암복호화 장치(310, 410)가 암호화한 암호화 데이터로부터 암호화된 키 식별자 부분을 분리한다. 그리고, 키 저장부(120)에 저장된 복수 개의 키를 각각 이용해서 암호화된 키 식별자를 복호화한다. 복호화한 결과에 대하여 값이 할당되는 비트 위치인 b에 대해서만 자신이 생성한(또는 알고 있는) 키 식별자와 비교를 한다. 비교 결과, 값이 할당되는 비트 위치인 b에 대해서 같은 값이 나오면, 암호화된 키 식별자를 복호화하는데 사용된 키가 암호화에 사용된 키인 것으로 간주한다. 따라서, 암복호화부(130)는 암호화에 사용된 것으로 간주된 키를 이용하여 암호화 데이터의 나머지 부분을 복호화한다. 여기서, 비트 위치 a인 지점은 난수이기 때문에 비교하지 않는다. The encryption / decryption unit 130 separates the encrypted key identifier part from the encrypted data encrypted by the encryption / decryption devices 310 and 410. [ The decrypted key identifier is decrypted using the plurality of keys stored in the key storage unit 120, respectively. (Or known) key identifier only for the bit position b where the value is assigned to the decoded result. As a result of the comparison, if the same value is found for b, the bit position to which the value is assigned, the key used to decrypt the encrypted key identifier is regarded as the key used for encryption. Therefore, the encryption / decryption unit 130 decrypts the remaining part of the encrypted data using the key considered to be used for encryption. Here, since the point at the bit position a is a random number, it is not compared.

이와 같이 키 식별자를 이용하여 데이터를 암호화하고 복호화할 경우, 악성 행위자는 복수 개의 키 전부, 그리고 키 식별자 생성에 사용되는 적어도 두 개 이상의 키 및 키 식별자를 생성할 때 사용되는 전술한 방법 모두를 알아야만이 암호화 데이터를 복호화할 수 있다. 그러나, 전술한 바와 같이 복수 개의 키는 암복호화 장치(100)가 암복호화 장치(310, 410)와 물리적으로 연결될 때 공유되기 때문에 해커에 의하여 탈취/유출될 우려가 없다. 아울러, 키 식별자를 생성하는 프로그램 또한 암복호화 장치(100) 또는 암복호화 장치(310, 410)의 초기 제작 과정에서 ROM과 같은 곳에 심어지기 때문에 해커가 통신상으로 접근하여 이를 알아내는 것 또한 불가능하다.When encrypting and decrypting data using the key identifier in this way, the malicious agent must know all of the plurality of keys, and all of the methods described above that are used when generating at least two keys and key identifiers used to generate the key identifier The encrypted data can be decrypted. However, as described above, since the plurality of keys are shared when the encryption / decryption apparatus 100 is physically connected to the encryption / decryption apparatuses 310 and 410, there is no fear of being deodorized / leaked by the hacker. In addition, since the program for generating the key identifier is planted in the ROM or the like during the initial production process of the encryption / decryption apparatus 100 or the encryption / decryption apparatus 310 or 410, it is also impossible for the hacker to approach the communication and to find out .

한편, 전술한 암호화 방법 및 복호화 방법은 암복호화 장치(310, 410)에서도 동일하게 수행된다. 따라서, 암복호화 장치(310, 410)가 암호화한 암호화 데이터는 암복호화 장치(100)에 의하여 복호화 가능하며, 암복호화 장치(100)가 암호화한 데이터는 암복호화 장치(310, 410)에 의하여 복호화 가능하다. 아울러, 이러한 암복호화부(130)는 전술한 기능을 수행하도록 프로그램된 명령어를 저장하는 ROM 및 이러한 명령어를 수행하는 마이크로프로세서에 의하여 구현 가능하다.On the other hand, the encryption method and the decryption method described above are also performed in the encryption / decryption devices 310 and 410 as well. Accordingly, the encrypted data encrypted by the encryption / decryption apparatuses 310 and 410 can be decrypted by the encryption / decryption apparatus 100, and the data encrypted by the encryption / decryption apparatus 100 is decrypted by the encryption / decryption apparatuses 310 and 410 It is possible. In addition, the encryption / decryption unit 130 may be embodied by a ROM that stores instructions programmed to perform the above-described functions, and a microprocessor that executes such instructions.

여기서, 도 4를 참조하면 포트부(110)와 암복호화부(130)는 데이터 버스(115)를 통해서 연결된다. 데이터 버스(115)란 데이터가 송수신되는 경로를 의미한다. 암호화 데이터 또는 암호화되지 않은 데이터는 데이터 버스(115)를 통하여 포트부(110) 및 암복호화부(130) 사이에서 전달된다.Referring to FIG. 4, the port unit 110 and the encryption / decryption unit 130 are connected through a data bus 115. The data bus 115 is a path through which data is transmitted and received. Encrypted data or unencrypted data is transferred between the port unit 110 and the encryption / decryption unit 130 via the data bus 115.

아울러, 암복호화부(130)와 키 저장부(120)는 키 버스(125)를 통해서 연결된다. 암복호화부(130)는 키 저장부(120)로부터 키를 전달받아서 데이터를 암호화하거나 복호화한다. In addition, the encryption / decryption unit 130 and the key storage unit 120 are connected to each other via a key bus 125. The encryption / decryption unit 130 receives the key from the key storage unit 120 and encrypts or decrypts the data.

이 때, 암복호화부(130)가 데이터를 암호화하는 과정을 살펴보면 다음과 같다. 암복호화부(130)는 포트부(110)로부터 암호화할 데이터를 전달받으며, 또한 키 저장부(120)로부터 암호화에 사용될 키를 전달받는다. 암복호화부(130)는 키를 이용하여 데이터에 대한 암호화를 수행한 뒤, 암호화 데이터를 포트부(110)로 전달한다.Hereinafter, the encryption / decryption unit 130 encrypts data. The encryption / decryption unit 130 receives data to be encrypted from the port unit 110 and also receives a key to be used for encryption from the key storage unit 120. The encryption / decryption unit 130 encrypts the data using the key, and then transmits the encrypted data to the port unit 110.

즉, 키 저장부(120)에 저장된 키가 포트부(110)를 통해서 외부로 전달되는 경로는 존재하지 않는다. 아울러, 외부에서도 포트부(110)를 통해서 키 저장부(110)에 직접 접근할 수 없다. 따라서, 키 저장부(120)에 저장된 키는 외부에 공개되지 않으며, 또한 해커 등은 키 저장부(120)에 저장된 키를 통신상으로 탈취할 수 없다.That is, there is no path through which the key stored in the key storage unit 120 is transmitted to the outside through the port unit 110. In addition, the key storage unit 110 can not be directly accessed from the outside through the port unit 110. Accordingly, the key stored in the key storage unit 120 is not disclosed to the outside, and a hacker or the like can not seize the key stored in the key storage unit 120 by communication.

도 6a는 사용자의 요청이 금융 서비스라고 예를 들면서, 이러한 요청이 도 1a에 도시된 시스템에서 실행되는 과정을 예시적으로 도시한 도면이다.FIG. 6A is an exemplary diagram illustrating a process in which such a request is executed in the system shown in FIG. 1A, for example, if the user's request is a financial service.

서버(300) 등으로부터 금융 서비스 등을 제공받고자 하는 사용자(10)는 단말 장치(200)의 입력부(210)를 통하여 금융 서비스와 관련된 데이터를 입력한다(S100). 사용자(10)가 입력한 데이터는 입력부(210)로부터 제어부(230)로 전달되며, 단말 장치(200)의 디스플레이부(미도시)에 표시될 수 있다. 아울러, 사용자(10)가 입력한 데이터는 암복호화 장치(100)의 암복호화부(130)로 전달된다.A user 10 who wants to receive a financial service or the like from the server 300 inputs data related to the financial service through the input unit 210 of the terminal device 200 (S100). Data input by the user 10 is transferred from the input unit 210 to the control unit 230 and displayed on a display unit (not shown) of the terminal device 200. In addition, the data inputted by the user 10 is transmitted to the encryption / decryption unit 130 of the encryption / decryption apparatus 100.

암복호화부(130)는 입력부(210)로부터 전달받은 데이터를 암호화하여 암호화 데이터를 생성한다(S110). The encryption / decryption unit 130 encrypts data received from the input unit 210 to generate encrypted data (S110).

단계 S110에서 생성된 암호화 데이터는 단말 장치(200)의 통신부(220)를 통하여 서버(300)로 송신(S120)된다. 서버(300)의 암복호화 장치(310)는 수신된 암호화 데이터를 복호화한다(S130). 아울러, 서버(300)는 복호화한 데이터의 인증표지를 기초로 데이터의 송수신 과정에 이상이 없었는지를 확인하고, 이상이 없는 경우 데이터를 기초로 사용자(10)의 요청을 실행한다(S140).The encrypted data generated in step S110 is transmitted to the server 300 through the communication unit 220 of the terminal device 200 (S120). The encryption / decryption apparatus 310 of the server 300 decrypts the received encrypted data (S130). In addition, the server 300 confirms whether there is no abnormality in the data transmission / reception process based on the authentication mark of the decrypted data. If there is no abnormality, the server 300 executes the request of the user 10 based on the data (S140).

이를 기초로 살펴보면, 입력부(210)로부터 암복호화 장치(100)로 전달된 사용자(10)의 입력은 제어부(230)와는 무관하게 암복호화 장치(100)에 의하여 암호화된다. 아울러, 살펴본 바와 같이 암복호화 장치(100)에 의하여 암호화된 암호화 데이터는 악성 코드나 기타 제3 자에 의하여 복호화가 불가능하며 따라서 변조 또한 불가능하다. 따라서, 암복호화 장치(100)에 의하여 암호화된 암호화 데이터는 변조되지 않은 상태로 통신부(220)를 통하여 서버(300)로 전달된다. 즉, 서버(300)로 전달되는 암호화 데이터는 변조되지 않기 때문에, 감염된 단말 장치(200)나 제3 자에 의한 금융 거래 사고나 개인 정보 노출 등과 같은 사고가 사전에 차단될 수 있다.The input of the user 10 transmitted from the input unit 210 to the encryption / decryption apparatus 100 is encrypted by the encryption / decryption apparatus 100 regardless of the control unit 230. In addition, as has been described, the encrypted data encrypted by the encryption / decryption apparatus 100 is not decryptable by a malicious code or other third party, and thus it is also impossible to modulate the encrypted data. Accordingly, the encrypted data encrypted by the encryption / decryption apparatus 100 is transmitted to the server 300 through the communication unit 220 in a state that the encrypted data is not modulated. That is, since the encrypted data transmitted to the server 300 is not tampered, an accident such as a financial transaction accident or personal information disclosure by the infected terminal device 200 or a third party can be blocked in advance.

도 6b는 사용자의 요청이 금융 서비스라고 예를 들면서, 이러한 요청이 도 1b에 도시된 보안 관리 장치를 포함하는 시스템에서 실행되는 과정을 예시적으로 도시한 도면이다.FIG. 6B is an exemplary diagram illustrating a process in which the request is a financial service and the request is executed in a system including the security management apparatus shown in FIG. 1B.

서버(300) 등으로부터 금융 서비스 등을 제공받고자 하는 사용자(10)는 단말 장치(200)의 입력부(210)를 통하여 금융 서비스와 관련된 데이터를 입력한다(S200). 사용자(10)가 입력한 데이터는 입력부(210)로부터 제어부(230)로 전달되며, 단말 장치(200)의 디스플레이부(미도시)에 표시될 수 있다. 아울러, 사용자(10)가 입력한 데이터는 암복호화 장치(100)의 암복호화부(130)로 전달된다.A user 10 who wishes to receive a financial service or the like from the server 300 inputs data related to the financial service through the input unit 210 of the terminal 200 in operation S200. Data input by the user 10 is transferred from the input unit 210 to the control unit 230 and displayed on a display unit (not shown) of the terminal device 200. In addition, the data inputted by the user 10 is transmitted to the encryption / decryption unit 130 of the encryption / decryption apparatus 100.

암복호화부(130)는 입력부(210)로부터 전달받은 데이터를 암호화하여 암호화 데이터를 생성한다(S210). The encryption / decryption unit 130 encrypts data received from the input unit 210 to generate encrypted data (S210).

단계 S210에서 생성된 암호화 데이터는 단말 장치(200)의 통신부(220)를 통하여 보안 관리 장치(400)로 송신(S220)된다. 보안 관리 장치(400)의 암복호화 장치(410)는 수신된 암호화 데이터를 복호화한다(S230). 아울러 보안 관리 장치(400)는 복호화된 데이터를 해석하여 사용자(10)가 어떠한 서버(300)에 어떤 금융 서비스를 요청하였는지를 판단한다. 이 후 암복호화 장치(410)는 이러한 요청에 대하여 다시 암호화를 수행한다(S240).The encrypted data generated in step S210 is transmitted to the security management apparatus 400 through the communication unit 220 of the terminal device 200 (S220). The encryption / decryption unit 410 of the security management apparatus 400 decrypts the received encrypted data (S230). In addition, the security management apparatus 400 interprets the decrypted data to determine what financial service the user 10 requested to the server 300. Thereafter, the encryption / decryption unit 410 encrypts the request again (S240).

단계 S240에서 생성된 암호화 데이터는 서버(300)로 송신(S250)된다. 서버(300)의 암복호화 장치(310)는 수신된 암호화 데이터를 복호화한다(S260). 아울러, 서버(300)는 복호화한 데이터의 인증표지를 기초로 데이터의 송수신 과정에 이상이 없었는지를 확인하고, 이상이 없는 경우 데이터를 기초로 사용자(10)의 요청을 실행한다(S270).The encrypted data generated in step S240 is transmitted to the server 300 (S250). The encryption / decryption apparatus 310 of the server 300 decrypts the received encrypted data (S260). In addition, the server 300 confirms whether there is no abnormality in the data transmission / reception process based on the authentication mark of the decrypted data. If there is no abnormality, the server 300 executes the request of the user 10 based on the data (S270).

이를 기초로 살펴보면, 입력부(210)로부터 암복호화 장치(100)로 전달된 사용자(10)의 입력은 제어부(230)와는 무관하게 암복호화 장치(100)에 의하여 암호화된다. 아울러, 살펴본 바와 같이 암복호화 장치(100)에 의하여 암호화된 암호화 데이터는 악성 코드나 기타 제3 자에 의하여 복호화가 불가능하며 따라서 변조 또한 불가능하다. 따라서, 암복호화 장치(100)에 의하여 암호화된 암호화 데이터는 변조되지 않은 상태로 통신부(220)를 통하여 보안 관리 장치(400)로 전달된다. 즉, 보안 관리 장치(400)로 전달되는 암호화 데이터는 변조되지 않기 때문에, 감염된 단말 장치(200)나 제3 자에 의한 금융 거래 사고나 개인 정보 노출 등과 같은 사고가 사전에 차단될 수 있다.The input of the user 10 transmitted from the input unit 210 to the encryption / decryption apparatus 100 is encrypted by the encryption / decryption apparatus 100 regardless of the control unit 230. In addition, as has been described, the encrypted data encrypted by the encryption / decryption apparatus 100 is not decryptable by a malicious code or other third party, and thus it is also impossible to modulate the encrypted data. Therefore, the encrypted data encrypted by the encryption / decryption apparatus 100 is transmitted to the security management apparatus 400 through the communication unit 220 in a state that the encryption data is not modulated. That is, since the encrypted data transmitted to the security management apparatus 400 is not tampered, an accident such as a financial transaction accident or personal information disclosure by the infected terminal device 200 or a third party can be blocked in advance.

도 7은 일 실시예에 따른 암복호화 방법의 각 단계를 도시한 도면이다. 도 7에 도시된 각 단계는 전술한 암복호화 장치에 의하여 수행 가능하다.7 is a diagram illustrating each step of the encryption / decryption method according to an embodiment. Each step shown in FIG. 7 can be performed by the above-described encryption / decryption apparatus.

도 7을 참조하면, 사용자(10)가 입력부(210)에 입력한 데이터를, 입력부(210)로부터 전달받는 단계(S300)가 수행된다.Referring to FIG. 7, a step S300 of receiving data input by the user 10 from the input unit 210 is performed.

이 후, 입력부(210)로부터 전달받은 데이터에 대하여, 기 설정된 복수 개의 키 중 어느 하나인 제1 키를 이용하여 암호화를 수행하는 단계(S310)가 수행된다.Thereafter, step S310 is performed to encrypt the data received from the input unit 210 using the first key, which is one of a predetermined plurality of keys.

이 후, 암호화된 암호화 데이터를 통신부(220)로 전달하는 단계(S320)가 수행된다.Thereafter, the step of transmitting the encrypted encrypted data to the communication unit 220 (S320) is performed.

여기서 도 7에 도시된 암복호화 방법은 전술한 암복호화 장치에 의하여 수행되는 것과 동일하므로, 암복호화 방법에 대한 자세한 설명은 생략하기로 한다.Here, the encryption / decryption method shown in FIG. 7 is the same as that performed by the encryption / decryption apparatus described above, so a detailed description of the encryption / decryption method will be omitted.

본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each step of the flowchart and each block of the block diagrams appended to the present invention may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus so that the instructions, which may be executed by a processor of a computer or other programmable data processing apparatus, And means for performing the functions described in each step are created. These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory It is also possible for the instructions stored in the block diagram to produce a manufacturing item containing instruction means for performing the functions described in each block or flowchart of the block diagram. Computer program instructions may also be stored on a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible that the instructions that perform the processing equipment provide the steps for executing the functions described in each block of the block diagram and at each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Also, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.

이상의 설명은 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 기술 사상의 범위가 한정되는 것은 아니다. 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea, and various modifications and changes may be made without departing from the essential characteristics of a person skilled in the art to which the present invention belongs. Therefore, the embodiments disclosed in the present invention are intended to be illustrative rather than limiting, and the scope of technical thought is not limited by these embodiments. The scope of protection is to be interpreted by the following claims, and all technical ideas within the scope of equivalents should be interpreted as being included in the scope of the right.

100: 암복호화 장치
200: 단말 장치
300: 서버
400: 보안 관리 장치
100: encryption / decryption device
200: terminal device
300: server
400: security management device

Claims (11)

단말 장치에 포함되는 암복호화 장치로서,
상기 단말 장치는 외부와 통신을 수행하는 통신부 및 상기 단말 장치의 사용자로부터 데이터를 입력받는 입력부를 더 포함하고,
상기 암복호화 장치는,
타 암복호화 장치에 포함된 연결부와 하드웨어적으로 연결되는 연결부와,
상기 암복호화부의 연결부가 상기 타 암복호화 장치의 연결부와 하드웨어적으로 연결되면 복수 개의 키를 생성하여서 저장하고, 상기 복수 개의 키가 상기 고객측 암복호화 장치와 공유되도록 하는 키 저장부와,
상기 입력부와 연결되고, 상기 입력부가 상기 사용자로부터 입력받은 데이터를 상기 입력부로부터 전달받으며, 상기 복수 개의 키 중에서 적어도 두 개 이상의 키를 기초로 식별자를 생성하며, 상기 전달받은 데이터를 상기 식별자와 결합시켜서 결합 데이터를 생성하고, 상기 키 저장부로부터 상기 복수 개의 키 중 어느 하나인 제1 키를 전달받은 뒤, 상기 전달받은 제1 키를 기초로 상기 결합 데이터를 암호화하는 암복호화부와,
상기 암복호화부로부터 상기 암호화된 결합 데이터를 전달받아서 상기 통신부로 전달하는 포트부를 포함하며,
상기 식별자는,
상기 결합 데이터의 암호화에 사용된 제1 키가 상기 복수 개의 키 중에서 어떤 키인지를, 상기 타 암복호화 장치가 판별하는데 사용되는
암복호화 장치.
1. An encryption / decryption apparatus included in a terminal apparatus,
The terminal device further includes a communication unit for performing communication with the outside and an input unit for receiving data from a user of the terminal device,
The encryption /
A connection unit that is connected to the connection unit included in the other device,
A key storage unit for generating and storing a plurality of keys when the connection unit of the encryption / decryption unit is connected to the connection unit of the other encryption / decryption device, and for sharing the plurality of keys with the customer side encryption / decryption device;
The input unit receives the data input from the user from the input unit, generates an identifier based on at least two keys among the plurality of keys, and combines the received data with the identifier An encryption / decryption unit for generating the combined data, receiving the first key, which is one of the plurality of keys, from the key storage unit, and encrypting the combined data based on the received first key,
And a port unit that receives the encrypted combined data from the encryption / decryption unit and transfers the encrypted combined data to the communication unit,
Wherein the identifier comprises:
Wherein the other encryption decryption apparatus determines whether the first key used for encrypting the combined data is a key among the plurality of keys
An encryption / decryption device.
제 1 항에 있어서,
상기 입력부가 적어도 두 개의 입력키를 포함하고 상기 적어도 두 개의 입력키 각각에는 그에 상응하는 식별값이 할당되어 있는 경우,
상기 암복호화부는,
상기 적어도 두 개의 입력키 중에서 상기 사용자에 의하여 입력된 입력키에 상응하는 식별값에 대하여 상기 제1 키를 이용하여 암호화하는
암복호화 장치.
The method according to claim 1,
Wherein if the input unit includes at least two input keys and each of the at least two input keys is assigned an identification value corresponding thereto,
The encryption /
Encrypting an identification value corresponding to an input key input by the user from among the at least two input keys using the first key
An encryption / decryption device.
제 2 항에 있어서,
상기 적어도 두 개의 입력키 각각에는 해당 입력키가 입력될 때마다 값이 증가하는 카운터가 할당될 때,
상기 암복호화부는,
상기 사용자에 의하여 입력된 입력키에 상응하는 식별값과 상기 사용자에 의하여 입력된 입력키에 할당된 카운터를, 상기 제1 키를 이용하여 암호화하는
암복호화 장치.
3. The method of claim 2,
Wherein each of the at least two input keys is assigned a counter whose value is incremented each time a corresponding input key is input,
The encryption /
An identification value corresponding to the input key input by the user and a counter allocated to the input key input by the user are encrypted using the first key
An encryption / decryption device.
제 1 항에 있어서,
상기 암복호화부는,
상기 키 저장부와는 키 버스(key bus)를 통해서 연결되며, 상기 키 버스를 통해서 상기 키 저장부로부터 전달받은 키를 기초로 상기 암호화를 수행하는
암복호화 장치.
The method according to claim 1,
The encryption /
The key storage unit is connected to the key storage unit via a key bus and performs the encryption based on the key received from the key storage unit via the key bus
An encryption / decryption device.
제 4 항에 있어서,
상기 포트부는 상기 암복호화부와 데이터 버스(data bus)를 통해서 연결되며,
상기 암복호화부가 상기 암호화를 수행한 결과는 상기 데이터 버스를 거쳐서 상기 포트부를 통하여 상기 단말 장치의 통신부로 전달되는
암복호화 장치.
5. The method of claim 4,
The port unit is connected to the encryption / decryption unit through a data bus,
The encryption / decryption unit performs encryption and transmits the encryption result to the communication unit of the terminal device through the port unit via the data bus
An encryption / decryption device.
삭제delete 삭제delete 제 1 항에 있어서,
난수를 생성하는 난수 생성부를 더 포함하고,
상기 키 식별자는,
기 설정된 개수의 복수 개의 비트로 구성되며, 상기 복수 개의 비트 중 일부의 비트는 상기 복수 개의 키 중에서 상기 적어도 두 개 이상의 키에 의하여 값이 정해지고, 상기 복수 개의 비트 중 나머지 비트는 상기 생성된 난수에 의하여 값이 정해지는
암복호화 장치.
The method according to claim 1,
And a random number generator for generating a random number,
Wherein the key identifier comprises:
Wherein at least a part of bits of the plurality of bits are defined by the at least two keys among the plurality of keys and the remaining bits of the plurality of bits are assigned to the generated random number Valued by
An encryption / decryption device.
삭제delete 제 1 항에 있어서,
상기 암복호화 장치에 비정상적인 것으로 정의된 행위가 가해지는 것을 인식하며, 상기 행위가 가해지는 것이 인식되면 상기 키를 삭제하는 보호부를 더 포함하는
암복호화 장치.
The method according to claim 1,
Further comprising a protection unit that recognizes that an action defined as abnormal is applied to the encryption / decryption device, and deletes the key when it is recognized that the action is applied
An encryption / decryption device.
단말 장치에 포함되는 암복호화 장치에 의하여 수행되는 암복호화 방법으로서,
상기 단말 장치는 외부와 통신을 수행하는 통신부 및 상기 단말 장치의 사용자로부터 데이터를 입력받는 입력부를 더 포함하며,
상기 입력부가 상기 사용자로부터 입력받은 데이터를, 상기 입력부로부터 전달받는 단계와,
상기 전달받은 데이터를 기 설정된 복수 개의 키 중 어느 하나인 제1 키를 이용하여 암호화하는 단계와,
상기 암호화된 데이터를 상기 통신부로 전달하는 단계를 포함하며,
상기 기 설정된 복수 개의 키는,
상기 암복호화 장치가 상기 암복호화 장치에 포함된 연결부를 통하여 타 암복호화 장치와 하드웨어적으로 연결될 때 생성되어 저장되고, 상기 타 암복호화 장치와 공유된 것이며,
상기 암호화하는 단계는,
상기 복수 개의 키 중에서 적어도 두 개 이상의 키를 기초로 식별자를 생성하며, 상기 입력부로부터 전달받은 데이터를 상기 식별자와 결합시켜서 결합 데이터를 생성하고, 상기 키 저장부로부터 상기 복수 개의 키 중 어느 하나인 제1 키를 전달받은 뒤, 상기 전달받은 제1 키를 기초로 상기 결합 데이터를 암호화하며,
상기 식별자는 상기 결합 데이터의 암호화에 사용된 제1 키가 상기 복수 개의 키 중에서 어떤 키인지를, 상기 타 암복호화 장치가 판별하는데 사용되는
암복호화 방법.
1. An encryption / decryption method performed by an encryption / decryption apparatus included in a terminal apparatus,
The terminal apparatus further includes a communication unit for communicating with the outside and an input unit for receiving data from a user of the terminal apparatus,
Receiving the data received from the user by the input unit from the input unit,
Encrypting the received data using a first key, which is one of a predetermined plurality of keys;
And transmitting the encrypted data to the communication unit,
Wherein the predetermined plurality of keys include:
The apparatus is generated and stored when the encryption / decryption apparatus is connected to the other encryption / decryption apparatus through a connection unit included in the encryption / decryption apparatus, and is shared with the other encryption / decryption apparatus,
Wherein the encrypting comprises:
Generating an identifier based on at least two keys among the plurality of keys, combining data received from the input unit with the identifier to generate combined data, and transmitting, from the key storage unit, 1 key, encrypts the combined data based on the received first key,
Wherein the identifier is used by the other encryption / decryption apparatus to determine which one of the plurality of keys is the first key used to encrypt the combined data
Encryption method.
KR1020160063334A 2016-05-24 2016-05-24 Apparatus for encrypting or decrypting and method for encrypting or decrypting using the same KR101829423B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160063334A KR101829423B1 (en) 2016-05-24 2016-05-24 Apparatus for encrypting or decrypting and method for encrypting or decrypting using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160063334A KR101829423B1 (en) 2016-05-24 2016-05-24 Apparatus for encrypting or decrypting and method for encrypting or decrypting using the same

Publications (2)

Publication Number Publication Date
KR20170132464A KR20170132464A (en) 2017-12-04
KR101829423B1 true KR101829423B1 (en) 2018-03-29

Family

ID=60921218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160063334A KR101829423B1 (en) 2016-05-24 2016-05-24 Apparatus for encrypting or decrypting and method for encrypting or decrypting using the same

Country Status (1)

Country Link
KR (1) KR101829423B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101888548B1 (en) * 2018-05-08 2018-08-14 (주)위즈네트 Random number generation method, random number generation device and communication apparatus comprising the device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269232A (en) * 2007-04-19 2008-11-06 Lenovo Singapore Pte Ltd Information processor, security system, and program for making computer execute
KR101081648B1 (en) * 2006-01-13 2011-11-09 에스케이 텔레콤주식회사 Key input device of mobile phone for the blind and method of the same as

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101081648B1 (en) * 2006-01-13 2011-11-09 에스케이 텔레콤주식회사 Key input device of mobile phone for the blind and method of the same as
JP2008269232A (en) * 2007-04-19 2008-11-06 Lenovo Singapore Pte Ltd Information processor, security system, and program for making computer execute

Also Published As

Publication number Publication date
KR20170132464A (en) 2017-12-04

Similar Documents

Publication Publication Date Title
US9473932B2 (en) Local trusted service manager
KR101744388B1 (en) Apparatus and method for authenticating
US11615411B2 (en) POS system with white box encryption key sharing
US10757571B2 (en) Internet of things device
US9258283B2 (en) Key management system, key management method, and communication device
CN111133720B (en) Method and apparatus for securely communicating between devices
CN107358441A (en) Method, system and the mobile device and safety certificate equipment of payment verification
KR101834504B1 (en) Apparatus and method for encrypting and decrypting
KR101829423B1 (en) Apparatus for encrypting or decrypting and method for encrypting or decrypting using the same
Akram et al. Recovering from a lost digital wallet
KR101834522B1 (en) Apparatus for confirming data and method for confirming data using the same
EP3193487B1 (en) Encryption/decryption device and encryption/decryption method
KR101834515B1 (en) Apparatus for encrypting and decrypting including input unit
KR101810165B1 (en) Electronic money terminal and method for providing elecronic money using the same
KR101834514B1 (en) Apparatus for providing security for communication between customer terminal and service providing terminal
CN105843782A (en) Font library storage apparatus and method

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