KR101428665B1 - Security system and method for using aes-otp - Google Patents

Security system and method for using aes-otp Download PDF

Info

Publication number
KR101428665B1
KR101428665B1 KR1020120044457A KR20120044457A KR101428665B1 KR 101428665 B1 KR101428665 B1 KR 101428665B1 KR 1020120044457 A KR1020120044457 A KR 1020120044457A KR 20120044457 A KR20120044457 A KR 20120044457A KR 101428665 B1 KR101428665 B1 KR 101428665B1
Authority
KR
South Korea
Prior art keywords
aes
client
module
encryption
decryption
Prior art date
Application number
KR1020120044457A
Other languages
Korean (ko)
Other versions
KR20130121348A (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 KR1020120044457A priority Critical patent/KR101428665B1/en
Publication of KR20130121348A publication Critical patent/KR20130121348A/en
Application granted granted Critical
Publication of KR101428665B1 publication Critical patent/KR101428665B1/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/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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 AES-OTP 기반의 보안 방법은 유/무선 통신망에 의해 상호 연결된 클라이언트와 서버 사이에서 수행되되, 클라이언트가 암호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (a)단계, 상기 클라이언트가 상기 카운트 값, 미리 저장된 고유코드번호, 미리 저장된 맥어드레스 정보를 이용하여 암호화키를 생성하는 (b)단계, 상기 클라이언트가 상기 암호화키를 이용하여 입력 데이터를 AES방식으로 암호화한 후 서버로 전달하는 (c)단계, 상기 서버가 복호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (d)단계, 상기 서버가 상기 카운트 값, 미리 저장된 클라이언트의 고유코드번호, 미리 저장된 클라이언트의 맥어드레스 정보를 이용하여 복호화키를 생성하는 (e)단계, 상기 서버가 상기 암호화된 입력 데이터를 전달받고, 상기 복호화키를 이용하여 상기 암호화된 입력 데이터를 AES방식으로 복호화하는 (f)단계를 포함한다.
이를 통해 본 발명은 갈로아 필드(Galois Field)를 기반으로 암호화를 수행함으로써, 적은 메모리 용량을 가진 MCU(Micro Controller Unit)가 적용된 기기에서도 AES 암호화 방식을 사용할 수 있는 효과가 있다.
또한 본 발명은 암호화 키 및 복호화 키를 생성함에 있어 OTP 방식을 적용함으로써, 보안이 강화된 암호화 키 및 복호화 키 생성이 가능하며, 암호화 키 및 복호화 키 생성 오류를 줄일 수 있는 효과가 있다.
또한 본 발명은 공개된 보안 알고리즘인 OTP방식을 적용하여 AES 암호화/복호화 방식을 수행함으로써 라이센스 비용을 지불하지 않아도 되어 적은 비용으로 새로운 방식의 AES 암호화/복호화 장치를 사용할 수 있는 효과가 있다.
A security method based on AES-OTP according to the present invention includes: (a) a step (a) performed between a client and a server interconnected by a wired / wireless communication network, the client counting the number of encryption key generation times to generate a count value; (B) generating an encryption key using a count value, a pre-stored unique code number, and previously stored MAC address information, and transmitting the encryption key to the server after the client encrypts the input data using the encryption key in the AES method (d) generating a count value by counting the number of decryption key generation times by the server, and (d) decrypting the count value using the count value, the unique code number of a previously stored client, (E) generating, by the server, the encrypted input data and using the decryption key The open the encrypted input data, and a (f) decoding the AES method.
Accordingly, the present invention is capable of using the AES encryption method even in a device to which an MCU (Micro Controller Unit) having a small memory capacity is applied by performing encryption based on Galois Field.
In addition, the present invention can generate an encryption key and a decryption key with enhanced security by applying the OTP scheme in generating an encryption key and a decryption key, and it is possible to reduce an error in generating an encryption key and a decryption key.
In addition, according to the present invention, the AES encryption / decryption method is applied by using the OTP method, which is a public security algorithm, so that it is not necessary to pay a license fee, so that a new AES encryption / decryption apparatus can be used at a low cost.

Description

AES-OTP기반의 보안 시스템 및 방법{SECURITY SYSTEM AND METHOD FOR USING AES-OTP}TECHNICAL FIELD [0001] The present invention relates to a security system and method based on AES-OTP,

본 발명은 AES-OTP기반의 보안 시스템 및 방법에 관한 것으로, 특히 AES 표준 보안 방식과 OTP를 융합하여 암호화 및 복호화를 수행하기 위한 AES-OTP기반의 보안 시스템 및 방법에 관한 것이다.
The present invention relates to an AES-OTP-based security system and method, and more particularly, to an AES-OTP-based security system and method for performing encryption and decryption by combining an AES standard security method and an OTP.

최근 과학 기술의 발달과 더불어 개인정보보호에 대한 관심이 커지면서 암호화 및 복호화의 중요성은 나날이 증가되고 있다. 또한 시스템에 대한 더 높은 수준의 안전성을 확보하기 위하여 암호화 키 및 복호화 키의 길이는 더 길어지고 있다.Recently, with the development of science and technology, interest in protecting personal information has increased, and the importance of encryption and decryption has been increasing day by day. In addition, the length of encryption and decryption keys is getting longer to ensure a higher level of security for the system.

한편, 종래에는 암호화 및 복호화에 대한 표준으로 64비트 데이터 블록에 56비트 길이의 키를 사용하는 대칭성 알고리즘인 DES(Data Encryption Standard)가 사용되었다.In the past, DES (Data Encryption Standard), which is a symmetry algorithm using a 56-bit-length key for a 64-bit data block, has been used as a standard for encryption and decryption.

그러나, 안정성에 의문이 생기자 AES(Advanced Encryption Standard)를 새로운 블록 암호 알고리즘의 표준으로 채택하였다.However, in case of doubt about stability, AES (Advanced Encryption Standard) was adopted as the standard of new block cipher algorithm.

AES는 최소 128비트나 192비트 또는 256비트 크기의 키를 지원하는 블록 암호화를 사용한 대칭형 알고리즘으로, 고유코드번호 또는 맥어드레스 정보의 고정키를 입력값으로 하여 AES 암호화 및 복호화를 수행하기 때문에 보안에 취약한 문제점이 있었다.AES is a symmetric algorithm using block encryption supporting 128 bits minimum, 192 bits or 256 bits size keys. Since AES encryption and decryption are performed using fixed code of unique code number or MAC address information as an input value, There was a problem.

더불어 AES 암호화/복호화는 서브바이트(SubBytes)블록, 쉬프트로우(ShiftRows)블록, 믹스칼럼(MixColumns)블록 및 애드라운드키(AddRoundKey)블록 과정들이 한번씩 모두 수행될 때 1라운드가 완료되고, 상기 라운드가 복수회 반복적으로 수행됨으로써, 데이터의 암호화가 이루어진다.In the AES encryption / decryption, one round is completed when the SubBytes block, the ShiftRows block, the MixColumns block, and the AddRoundKey block processes are performed once, and the round is completed The data is repeatedly executed a plurality of times, thereby encrypting the data.

또한 역서브바이트(InvSubBytes)블록, 역쉬프트로우(InvShiftRows)블록, 역믹스칼럼(InvMixColumns)블록 및 애드라운드키(AddRoundKey)블록 과정들이 한번씩 모두 수행될 때 1라운드가 완료되고, 상기 라운드가 복수회 반복적으로 수행됨으로써, 데이터의 복호화가 이루어진다.Also, one round is completed when the reverse sub-byte (InvSubBytes) block, the reverse shift low (InvShiftRows) block, the invMixColumns block and the addRoundKey block processes are performed once, By being repeatedly performed, the data is decoded.

때문에 각 블록에서 수행되는 연산에 따른 테이블을 메모리에 저장하였다가 암호화 및 복호화를 수행시 필요한 데이터를 추출하여 사용하기 때문에 큰 메모리 용량이 요구되며, 이에 따라 작은 컴퓨팅 및 메모리 용량이 부족한 가전 기기등에 이를 채택하기가 어려운 문제점이 있었다.
Therefore, a large memory capacity is required because a table according to an operation performed in each block is stored in a memory, and data necessary for encryption and decryption is extracted and used. Accordingly, There is a problem that it is difficult to adopt.

본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 갈로아 필드(Galois Field)를 기반으로 암호화를 수행함으로써, 적은 메모리 용량을 가진 MCU(Micro Controller Unit)가 적용된 홈오토메이션 기기에서도 AES 암호화 방식을 사용할 수 있도록 하는 AES-OTP기반의 보안 시스템 및 방법을 제공함을 그 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the above-described problems, and it is an object of the present invention to provide an AES encryption method in a home automation apparatus using an MCU (Micro Controller Unit) having a small memory capacity by performing encryption based on a Galois Field And to provide a security system and method based on AES-OTP that can be used.

또한 본 발명은 암호화 키 및 복호화 키를 생성함에 있어 OTP 방식을 적용함으로써, 보안이 강화된 암호화 키 및 복호화 키 생성이 가능하며, 암호화 키 및 복호화 키 생성 오류를 줄일 수 있는 AES-OTP기반의 보안 시스템 및 방법을 제공함을 그 목적으로 한다.
Also, according to the present invention, an encryption key and a decryption key can be generated by applying an OTP scheme, and an encryption key and a decryption key with enhanced security can be generated. AES-OTP-based security System and method according to the present invention.

전술한 목적을 달성하기 위한 본 발명의 AES-OTP기반의 보안 시스템은 일회용 비밀번호를 생성하는 OTP(One Time Password)생성모듈, 고유코드번호를 저장하는 고유코드번호 저장모듈, 맥어드레스 정보를 저장하는 맥어드레스 저장모듈, 상기 일회용 비밀번호, 상기 고유코드번호 및 상기 맥어드레스 정보를 이용하여 일회용 암호화키를 생성하는 암호화키 생성모듈, 상기 일회용 암호화키를 이용하여 입력 데이터를 AES암호화하는 AES(Advanced Encryption Standard)암호화모듈, 상기 AES암호화모듈을 통해 암호화된 데이터를 전달하는 통신모듈을 구비한 클라이언트를 포함한다.According to an aspect of the present invention, there is provided an AES-OTP-based security system comprising an OTP (One Time Password) generation module for generating a one-time password, a unique code number storage module for storing a unique code number, An encryption key generation module for generating a one-time encryption key using the MAC address storage module, the disposable secret number, the unique code number, and the MAC address information, an AES (Advanced Encryption Standard) for AES encryption of input data using the one- ) Encryption module, and a client having a communication module for transferring the encrypted data through the AES encryption module.

또한 상기 AES암호화는 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행된다.In addition, the AES encryption is performed through a mathematical operation based on a Galois field.

또한 본 발명의 AES-OTP기반의 보안 시스템은 일회용 비밀번호를 생성하는 OTP생성확인모듈, 클라이언트의 고유코드번호를 저장하는 고유코드번호 확인모듈, 클라이언트의 맥어드레스 정보를 저장하는 맥어드레스 확인모듈, 상기 일회용 비밀번호, 상기 고유코드번호 및 상기 맥어드레스 정보를 이용하여 일회용 복호화키를 생성하는 복호화키 생성모듈, AES암호화된 입력 데이터를 수신하는 통신모듈, 상기 일회용 복호화키를 이용하여 상기 AES암호화된 입력 데이터를 복호화하는 AES복호화모듈을 구비한 서버를 포함한다.Also, the AES-OTP-based security system of the present invention comprises an OTP generation confirmation module for generating a one-time password, a unique code number confirmation module for storing a unique code number of the client, a MAC address confirmation module for storing the MAC address information of the client, A decryption key generating module for generating a disposable decryption key using the disposable secret code, the unique code number, and the MAC address information, a communication module for receiving the AES encrypted input data, a communication module for receiving the AES encrypted input data using the disposable decryption key, And an AES decryption module for decrypting the AES decryption module.

또한 상기 AES복호화는 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행된다.The AES decoding is performed by a Galois field-based mathematical operation.

또한 상기 OTP는 카운터에 의해 생성된다.The OTP is also generated by a counter.

또한 소정의 횟수 이상의 복호화 실패시 OTP 생성을 위한 카운트 값이 초기화된다.Also, a count value for OTP generation is initialized when decoding fails more than a predetermined number of times.

AES-OTP기반의 보안 방법은 유/무선 통신망에 의해 상호 연결된 클라이언트와 서버 사이에서 수행되되, 클라이언트가 암호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (a)단계, 상기 클라이언트가 상기 카운트 값, 미리 저장된 고유코드번호, 미리 저장된 맥어드레스 정보를 이용하여 암호화키를 생성하는 (b)단계, 상기 클라이언트가 상기 암호화키를 이용하여 입력 데이터를 AES방식으로 암호화한 후 서버로 전달하는 (c)단계, 상기 서버가 복호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (d)단계, 상기 서버가 상기 카운트 값, 미리 저장된 클라이언트의 고유코드번호, 미리 저장된 클라이언트의 맥어드레스 정보를 이용하여 복호화키를 생성하는 (e)단계, 상기 서버가 상기 암호화된 입력 데이터를 전달받고, 상기 복호화키를 이용하여 상기 암호화된 입력 데이터를 AES방식으로 복호화하는 (f)단계를 포함한다.A security method based on AES-OTP includes: (a) a step (a) performed between a client and a server interconnected by a wired / wireless communication network, the client counting the number of encryption key generation and generating a count value; (B) generating an encryption key using a pre-stored unique code number and previously stored MAC address information, (c) transmitting the encrypted data to the server after the client encrypts the input data using the encryption key in the AES scheme (D) generating a count value by counting the number of times of generation of a decryption key by the server, and generating a decryption key using the count value, a unique code number of a previously stored client, (E) receiving, by the server, the encrypted input data, and using the decryption key, And (f) decrypting the encoded input data using the AES method.

또한 상기 서버가 상기 암호화된 입력 데이터 복호화 실패시, 복호화 실패 횟수를 판단하는 (g)단계, 상기 서버가 상기 복호화 실패 횟수가 소정 횟수 이상이면 카운트 값을 초기화하고, 카운트 값 초기화 메시지를 상기 클라이언트로 전달하는 (h)단계를 더 포함한다.(G) determining a number of decryption failures when the server fails to decrypt the encrypted input data, and if the server fails to decrypt the encrypted input data, initializing a count value when the number of decryption failures is greater than or equal to a predetermined number, (H).

또한 상기 클라이언트와 상기 서버는 카운터를 이용하여 카운트 값을 생성한다.The client and the server generate a count value using a counter.

또한 상기 AES방식의 암호화 또는 복호화는 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행된다.
The encryption or decryption of the AES scheme is performed by a Galois field-based mathematical operation.

본 발명은 갈로아 필드(Galois Field)를 기반으로 암호화를 수행함으로써, 적은 메모리 용량을 가진 MCU(Micro Controller Unit)가 적용된 기기에서도 AES 암호화 방식을 사용할 수 있는 효과가 있다.According to the present invention, encryption is performed based on a Galois field, so that an AES encryption method can be used even in a device to which an MCU (Micro Controller Unit) having a small memory capacity is applied.

또한 본 발명은 암호화 키 및 복호화 키를 생성함에 있어 OTP 방식을 적용함으로써, 보안이 강화된 암호화 키 및 복호화 키 생성이 가능하며, 암호화 키 및 복호화 키 생성 오류를 줄일 수 있는 효과가 있다.In addition, the present invention can generate an encryption key and a decryption key with enhanced security by applying the OTP scheme in generating an encryption key and a decryption key, and it is possible to reduce an error in generating an encryption key and a decryption key.

또한 본 발명은 공개된 보안 알고리즘인 OTP방식을 적용하여 AES 암호화/복호화 방식을 수행함으로써 라이센스 비용을 지불하지 않아도 되어 적은 비용으로 새로운 방식의 AES 암호화/복호화 장치를 사용할 수 있는 효과가 있다.
In addition, according to the present invention, the AES encryption / decryption method is applied by using the OTP method, which is a public security algorithm, so that it is not necessary to pay a license fee, so that a new AES encryption / decryption apparatus can be used at a low cost.

도 1은 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템 중 클라이언트의 내부 구성도,
도 2는 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템 중 서버의 내부 구성도,
도 3은 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템에서 암호화/복호화를 수행하는 방법을 설명하기 위한 흐름도.
1 is an internal configuration diagram of a client of an AES-OTP-based security system according to an embodiment of the present invention;
FIG. 2 is an internal configuration diagram of a server of an AES-OTP-based security system according to an embodiment of the present invention;
3 is a flowchart illustrating a method of performing encryption / decryption in an AES-OTP-based security system according to an embodiment of the present invention.

이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to facilitate a person skilled in the art to easily carry out the present invention.

도 1은 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템 중 클라이언트의 내부 구성도이다.1 is an internal configuration diagram of a client of an AES-OTP-based security system according to an embodiment of the present invention.

클라이언트(100)는 TCP/IP통신을 기반으로 서버(200)와 통신하며, 자신의 상태를 데이터를 통하여 서버(200)에게 알리고, 서버(200)로부터 동작 데이터를 수신받아, 동작 데이터에 해당하는 동작을 수행할 수 있다.The client 100 communicates with the server 200 based on the TCP / IP communication, informs the server 200 of its status through the data, receives the operation data from the server 200, Operation can be performed.

일반적으로 이러한 클라이언트(100)는 소형 기기가 될 수 있으며, 클라이언트(100)와 서버(200)는 홈오토메이션 시스템에 적용되어 서버(200)가 클라이언트(100)에 해당되는 기기를 제어하거나 클라이언트(100)로부터 소비전력량 등과 같은 정보를 전달받을 수도 있다.The client 100 and the server 200 may be applied to a home automation system so that the server 200 may control a device corresponding to the client 100, The amount of power consumption, and the like.

또한 본 발명에서는 암호화키 및 복호화키 생성시 OTP 방식을 기반으로 일회용 암호화키 및 복호화키를 생성한다.Also, in the present invention, a one-time encryption key and a decryption key are generated based on the OTP scheme when an encryption key and a decryption key are generated.

OTP(One Time Password)는 금융권과 같은 곳에서 고도의 보안성을 위하여 반복 사용이 불가능한 일회용 비밀번호를 생성하는 방식으로 질의-응답(Challenge-Response)방식, 시간동기화 방식, 이벤트 동기화 방식 등이 적용될 수 있다.One Time Password (OTP) is a method of creating a one-time password that can not be repeatedly used for high security in the same place as a banking system, and can be applied to a challenge-response method, a time synchronization method, have.

그 중 질의-응답 방식은 서버(200)에서 난수 생성기를 이용하여 임의의 난수를 생성하고, 생성된 난수를 질의 메시지에 포함시켜 클라이언트(100)로 전달한다. 그러면 클라이언트(100)는 해쉬 함수(Hash Funtion)등의 모듈을 이용하여 비밀번호 즉 암호화키를 생성하는 방식이다.In the query-response method, the server 200 generates a random number using a random number generator, and transmits the generated random number to the client 100 in a query message. Then, the client 100 generates a password or an encryption key using a module such as a hash function.

시간동기화 방식은 시간을 암호화키 생성 입력 값으로 사용하는 것으로, 클라이언트(100)와 서버(200)가 동기화된 시간 정보를 기준으로 특정 시간 간격마다 변하는 암호화키를 생성하는 방식이다.The time synchronization method uses time as an encryption key generation input value and generates an encryption key that changes at specific time intervals based on synchronized time information between the client 100 and the server 200. [

이벤트 동기화 방식은 클라이언트(100)와 서버(200)가 동일한 카운트 값을 기준으로 비밀번호를 생성하는 방식으로, 카운트 값을 입력값으로 하여 암호화키를 생성하고, 그 카운터 값을 증가시켜 저장하여둔 뒤 다음 암호화키 생성을 위한 입력 값으로 사용하는 방식이다.In the event synchronization method, the client 100 and the server 200 generate a secret key on the basis of the same count value, generate an encryption key with the count value as an input value, increase and store the counter value It is used as an input value for generating the next encryption key.

본 발명에서는 이벤트 동기화 방식을 사용하여 클라이언트(100)에서 암호화키를 생성하고, 서버(200)에서 복호화키를 생성하는 것으로 가정하여 설명하기로 한다.The present invention will be described on the assumption that an encryption key is generated in the client 100 using an event synchronization method and a decryption key is generated in the server 200. [

도 1에 도시된 바와 같이 클라이언트(100)는 OTP생성모듈(110), 고유코드번호 저장모듈(120), 맥어드레스 저장모듈(130), 암호화키 생성모듈(140), AES암호화모듈(150), 통신모듈(160), 제어모듈(170)을 포함한다.1, the client 100 includes an OTP generation module 110, a unique code number storage module 120, a Mac address storage module 130, an encryption key generation module 140, an AES encryption module 150, A communication module 160, and a control module 170.

OTP생성모듈(110)은 암호화키를 생성하기 위하여 일회용 비밀번호를 생성하며, 본 발명의 실시 예에서는 이벤트 동기화 방식을 바탕으로 일회용 암호화키를 생성하기 위한 카운트 값을 생성한다.The OTP generation module 110 generates a one-time password for generating an encryption key, and generates a count value for generating a one-time encryption key based on the event synchronization method in the embodiment of the present invention.

본 발명의 실시 예에 따른 이벤트 동기화 방식의 일회용 암호화키 생성 방식은 클라이언트(100)와 서버(200)가 동일한 카운트 값을 기준으로 일회용 암호화키 및 일회용 복호화키를 생성하는 방식으로 OTP생성모듈(110)과 OTP생성확인모듈(210)이 동일한 카운트 값 증가 방식을 바탕으로 카운트 값을 생성한다.The one-time encryption key generation method of the event synchronization method according to the embodiment of the present invention is a method in which the client 100 and the server 200 generate a one-time encryption key and a disposable decryption key based on the same count value, ) And the OTP generation confirmation module 210 generate the count value based on the same count value increment method.

또한 클라이언트(100)와 서버(200)는 카운트 값을 입력 값으로 하여 각각 암호화키와 복호화키를 생성하고, 그 카운트 값을 증가시켜 저장하여둔 뒤 다음 비밀번호 생성을 위한 입력 값으로 사용한다.Also, the client 100 and the server 200 generate an encryption key and a decryption key using count values as input values, increase and store the count value, and use the count value as an input value for generating a next secret number.

따라서, OTP생성모듈(110)은 카운트 값을 생성하여 암호화키 생성모듈(140)로 전달하고, 미리 설정된 배수단위로 카운트 값을 증가시켜 다시 저장하여 다음 암호화키 생성시 암호화키 생성모듈(140)로 전달한다.Therefore, the OTP generation module 110 generates a count value and transfers it to the encryption key generation module 140. The OTP generation module 110 increases the count value by a predetermined multiple unit, stores the count value again, .

본 발명의 상세한 설명에서는 1배수 단위로 카운트 값이 증가하고, 256까지 카운트 값이 증가하면 다시 초기화되어 카운트되는 것으로 가정하여 설명하기로 한다.In the detailed description of the present invention, it is assumed that the count value increases by one multiples unit, and when the count value increases by 256, it is initialized and counted.

고유코드번호 저장모듈(120)은 클라이언트(100)의 고유코드번호에 해당하며, 클라이언트(100)가 소형 기기일 경우 소형 기기의 고유번호가 될 수 있다.The unique code number storage module 120 corresponds to the unique code number of the client 100 and may be a unique number of the small appliance when the client 100 is a small appliance.

맥어드레스 저장모듈(130)은 클라이언트(100)의 맥 어드레스 정보를 저장한다.The MAC address storage module 130 stores the MAC address information of the client 100.

암호화키 생성모듈(140)은 데이터를 암호화하기 위한 일회용 비밀번호 즉 암호화 키를 생성한다.The encryption key generation module 140 generates a one-time password for encrypting data, that is, an encryption key.

이때 암호화키 생성모듈(140)은 OTP생성모듈(110)로부터 카운트 값을 추출하고, 고유코드번호 저장모듈(120)로부터 고유코드번호를 추출하며, 맥어드레스 저장모듈(130)로부터 맥어드레스 정보를 추출하여 카운트 값, 고유코드번호 및 맥 어드레스 정보를 이용하여 암호화키를 생성한다.At this time, the encryption key generation module 140 extracts a count value from the OTP generation module 110, extracts a unique code number from the inherent code number storage module 120, and outputs the MAC address information from the MAC address storage module 130 And generates an encryption key using the count value, the unique code number, and the MAC address information.

이때 암호화키 생성모듈(140)은 카운트 값, 고유코드번호 및 맥 어드레스 정보를 단순 나열, 곱하기 또는 소정의 연산을 수행하여 암호화키를 생성할 수 있다.At this time, the encryption key generation module 140 may simply generate the encryption key by simply performing counting, multiplication, or a predetermined operation on the count value, the unique code number, and the MAC address information.

AES암호화모듈(150)은 암호화키 생성모듈(140)을 통해 생성된 암호화 키를 이용하여 데이터를 암호화한다.The AES encryption module 150 encrypts the data using the encryption key generated through the encryption key generation module 140.

이때 AES암호화모듈(150)은 갈루아 필드(Galois Field)를 기반으로 저장된 수학식을 바탕으로 각 블록에 대한 연산을 수행하여 데이터에 대한 암호화를 수행한다.At this time, the AES encryption module 150 performs an operation on each block based on a Galois Field-based equation stored therein to perform encryption on the data.

여기서 갈루아 필드란 유한체라고도 하며 사칙연산이 정의되는 유한개의 원소를 갖는 필드로서, 모든 소수 P와 양수 m에 대해서 Pm 개의 원소를 갖는 하나의 필드만이 존재한다.Here, the Galois field is a finite field and has finite number of elements defined by arithmetic operations, and there exists only one field having P m elements for all prime numbers P and m.

이 필드를 갈루아 필드라 부르며 GF(Pm)으로 나타낸다. 그리고 하드웨어 구현을 위해 편의상 P=2를 일반적으로 사용한다. 이때 GF(2)상의 벡터공간 GF(2m)은 다음과 같은 원시 다항식으로 정의된다.This field is called the Galois field and is denoted GF (P m ). For convenience, P = 2 is generally used for hardware implementation. At this time, the vector space GF (2 m ) on GF (2) is defined by the following primitive polynomial.

p(x)=xm+pm -1xm -1+...+p1x+p0,(pi∈GF(2), 0≤i≤m-1) p (x) = x m + p m -1 x m -1 + ... + p 1 x + p 0, (p i ∈GF (2), 0≤i≤m-1)

그리고 α를 원시다항식의 근이라고 할 때, 기저벡터는 α0, α1, ..., αm-1로 정의되며, 이를 필드의 원시 원소라 한다. 이때 임의의 A∈GF(2m)인 원소는 다음과 같이 나타낼 수 있다.And, if α is the root of the primitive polynomial, the base vector is defined as α 0 , α 1 , ..., α m-1 , which is called the primitive field of the field. At this time, an arbitrary element A∈GF (2 m ) can be expressed as follows.

A=a0α0+a1α1+...+am -1αm-1, (ai∈GF(2), 0≤i≤m-1) A = a 0 α 0 + a 1 α 1 + ... + a m -1 α m-1, (a i ∈GF (2), 0≤i≤m-1)

원시원소를 이용하여 원소A를 다항식으로 나타내면When the element A is represented by a polynomial using a primitive element

A(x)=a0x0+a1x1+...+am -1xm -1 A (x) = a 0 x 0 + a 1 x 1 + ... + a m -1 x m -1

로 표현할 수 있으며, GF(2)상의 m차원 벡터로서 {a0, a1, ..., am -1}로 나타낼 수 있다., And can be expressed as {a 0 , a 1 , ..., a m -1 } as an m-dimensional vector on GF (2).

일실시예로서, 원시다항식의 m=8일 경우 하기의 수학식 4와 같이 가정한다.As an embodiment, when m = 8 of the primitive polynomial, it is assumed that the following equation (4) is satisfied.

P(x)=x8+x4+x3+x2+1 P (x) = x 8 + x 4 + x 3 + x 2 +1

이 때의 α를 원시다항식의 근이라 하면,If? Is a root of a primitive polynomial,

P(α)=α8432+1=0P (?) =? 8 +? 4 +? 3 +? 2 + 1 = 0

가 된다. 이 식을 이용하여 연산을 하면 α7, α6, α5, α4, α3, α2, α1, α0 값들로 한정되어 나오게 된다. 여기서 α7는 최상위 비트(MSB)이고, α0는 최하위 비트(LSB)이다.. When the calculation is performed using this formula, it is limited to the values of α 7 , α 6 , α 5 , α 4 , α 3 , α 2 , α 1 , and α 0 . Where alpha 7 is the most significant bit (MSB), and alpha 0 is the least significant bit (LSB).

일 예로 α10을 계산하면 다음과 같다.For example, α 10 is calculated as follows.

α108×α2=(α4321)×α26542 α 10 = α 8 × α 2 = (α 4 + α 3 + α 2 + α 1 ) × α 2 = α 6 + α 5 + α 4 + α 2

일반 데이터 입력이 10이면 이진수로 표현하면 00001010B이고, 이를 갈루아 필드로 변환한 값은 16 즉, 이진수로 표현하면 01110100B가 된다.If the general data input is 10, it is 00001010 B if it is represented by binary number, and the value converted to Galois field is 16, that is, 01110100 B when represented by binary number.

즉, 종래에는 서브바이트(SubBytes)블록, 쉬프트로우(ShiftRows)블록, 믹스칼럼(MixColumns)블록 및 애드라운드키(AddRoundKey)블록을 수행하기 위한 테이블을 미리 저장하고 이를 바탕으로 암호화를 수행하였다면, 본 발명에서는 테이블에 포함된 데이터를 계산할 수 있는 갈루아 필드를 이용한 수학식을 저장하여 그때 그때 수학식의 연산을 통해 암호화를 수행한다.That is, conventionally, if a table for performing a SubBytes block, a ShiftRows block, a MixColumns block, and an AddRoundKey block is stored in advance and encryption is performed based on the table, The invention stores a mathematical expression using a Galois field that can calculate data included in a table, and then performs encryption through calculation of a mathematical expression.

때문에 적은 메모리 용량으로도 데이터 암호화가 가능하다.Therefore, it is possible to encrypt data with a small memory capacity.

통신모듈(160)은 서버(200)와 통신을 수행하며, AES 암호화 모듈(150)을 통해 생성된 암호화 데이터 또는 상태 데이터를 서버(200)로 송신하고, 서버(200)로부터 동작 명령 데이터를 수신한다.The communication module 160 communicates with the server 200 and transmits encrypted data or state data generated through the AES encryption module 150 to the server 200 and receives operation command data from the server 200 do.

제어모듈(170)은 클라이언트(100)의 전반적은 동작을 제어하며, 서버(200)가 접속되면 클라이언트(100)의 상태 데이터를 AES암호화모듈(150)로 전달한다.The control module 170 controls the entire operation of the client 100 and transmits the status data of the client 100 to the AES encryption module 150 when the server 200 is connected.

그리고 제어모듈(170)은 서버(200)로부터 동작 명령 데이터를 전달받으면 전달받은 동작 명령 데이터에 해당되는 동작을 수행한다.
When the control module 170 receives the operation command data from the server 200, the control module 170 performs an operation corresponding to the received operation command data.

도 2는 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템 중 서버의 내부 구성도이다.2 is an internal configuration diagram of a server in an AES-OTP-based security system according to an embodiment of the present invention.

도 2를 참조하면, 서버(200)는 클라이언트(100)를 관리하는 서버가 될 수 있으며, OTP생성확인모듈(210), 고유코드번호 확인모듈(220), 맥어드레스 확인모듈(230), 복호화키 생성모듈(240), AES복호화모듈(250), 통신모듈(260), 관리모듈(270)을 포함한다.2, the server 200 may be a server that manages the client 100, and includes an OTP generation confirmation module 210, a unique code number confirmation module 220, a MAC address confirmation module 230, A key generation module 240, an AES decryption module 250, a communication module 260, and a management module 270.

OTP생성확인모듈(210)은 이벤트 동기화 방식을 바탕으로 일회용 복호화키 생성 횟수를 입력 값으로 하는 일회용 복호화키를 생성하기 위하여 카운트 값을 생성한다.The OTP generation confirmation module 210 generates a count value to generate a disposable decryption key having an input value of the number of times of generating the disposable decryption key based on the event synchronization method.

그리고 OTP생성확인모듈(210)은 다음 복호화키 생성을 위해 카운트 값을 미리 설정된 배수 단위로 증가시켜 저장한다.The OTP generation confirmation module 210 increases and stores the count value in units of a predetermined multiple in order to generate a next decryption key.

이때 OTP생성확인모듈(210)은 클라이언트(100)의 OTP생성모듈(110)과 동일한 카운트 값 증가 방식을 바탕으로 카운트 값을 생성하는 것이 바람직하다.At this time, it is preferable that the OTP generation confirmation module 210 generates a count value based on the same increment method as the OTP generation module 110 of the client 100.

고유코드번호 확인모듈(220)은 클라이언트(100)의 고유코드번호를 저장한다.The unique code number confirmation module 220 stores a unique code number of the client 100. [

맥어드레스 확인모듈(230)은 클라이언트(100)의 맥어드레스 정보를 저장한다.The MAC address confirmation module 230 stores the MAC address information of the client 100.

복호화키 생성모듈(240)은 클라이언트(100)로부터 전달받은 암호화된 데이터를 복호화하기 위한 일회용 복호화키를 생성한다.The decryption key generation module 240 generates a disposable decryption key for decrypting the encrypted data transmitted from the client 100. [

복호화키 생성모듈(240)은 OTP생성확인모듈(210)로부터 카운트 값을 추출하고, 고유코드번호 확인모듈(220)로부터 고유코드번호를 추출하며, 맥어드레스 확인모듈(230)로부터 맥어드레스 정보를 추출하여 카운트 값, 고유코드번호 및 맥어드레스 정보를 이용하여 복호화키를 생성한다.The decryption key generation module 240 extracts a count value from the OTP generation confirmation module 210, extracts a unique code number from the inherent code number confirmation module 220, and outputs the MAC address information from the MAC address verification module 230 And generates a decryption key using the count value, the unique code number, and the MAC address information.

이때 복호화키 생성모듈(240)은 카운트 값, 고유코드번호 및 맥 어드레스 정보를 단순 나열, 곱하기 또는 소정의 연산을 수행하여 복호화키를 생성할 수 있다.At this time, the decryption key generation module 240 may simply generate the decryption key by performing a simple arithmetic operation, a multiplication, or a predetermined operation on the count value, the unique code number, and the MAC address information.

AES 복호화모듈(250)은 복호화키 생성모듈(240)을 통해 생성된 복호화 키를 이용하여 통신모듈(260)을 통해 전달받은 암호화된 데이터를 복호화한다.The AES decryption module 250 decrypts the encrypted data transmitted through the communication module 260 using the decryption key generated through the decryption key generation module 240. [

이때 AES 복호화모듈(250)도 AES 암호화모듈(150)과 마찬가지로 갈로아 필드(Galois Field)를 기반으로 복호화 연산을 수행한다.At this time, the AES decryption module 250 performs a decryption operation on the basis of the Galois field in the same manner as the AES encryption module 150.

통신모듈(260)은 클라이언트(100)와 통신을 수행하며, 클라이언트(100)로부터 암호화 데이터 또는 상태 데이터를 수신하고, 클라이언트(100)로 동작 명령 데이터를 송신한다.The communication module 260 communicates with the client 100 and receives the encrypted data or the status data from the client 100 and transmits the operation command data to the client 100. [

관리모듈(270)은 서버(200)의 전반적은 동작을 제어하며, 클라이언트(100)로 전달할 동작 명령 데이터를 생성한다.
The management module 270 controls operation of the entire server 200 and generates operation command data to be transmitted to the client 100.

도 3은 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템에서 암호화/복호화를 수행하는 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a method of performing encryption / decryption in an AES-OTP-based security system according to an embodiment of the present invention.

클라이언트(100)는 S301단계에서 서버(200) 접속이 감지되면, S302단계에서 서버(200)와의 통신을 수행한다.When the connection of the server 200 is detected in step S301, the client 100 performs communication with the server 200 in step S302.

이때 클라이언트(100)와 서버(200)는 TCP/IP 통신을 기반으로 통신을 수행할 수 있다.At this time, the client 100 and the server 200 can perform communication based on the TCP / IP communication.

클라이언트(100)는 서버(200)와 접속되면 S303단계에서 OTP생성모듈(110)로부터 카운트값을 추출하고, S304단계에서 고유코드번호 저장모듈(120)로부터 고유코드번호를 추출한다.When the client 100 is connected to the server 200, the client 100 extracts a count value from the OTP generation module 110 in step S303, and extracts a unique code number from the inherent code number storage module 120 in step S304.

그리고 클라이언트(100)는 S305단계에서 맥어드레스 저장모듈(130)로부터 맥 어드레스 정보를 추출한다.The client 100 extracts the MAC address information from the MAC address storage module 130 in step S305.

클라이언트(100)는 S306단계에서 카운트 값, 고유코드번호, 맥어드레스 정보를 이용하여 암호화키를 생성하고, S307단계에서 OTP생성모듈(110)의 카운트 값을 증가시킨다.The client 100 generates an encryption key using the count value, the unique code number, and the MAC address information in step S306, and increments the count value of the OTP generation module 110 in step S307.

그리고 클라이언트(100)는 S308단계에서 생성된 암호화키로 데이터를 암호화하고, S309단계에서 암호화한 데이터를 서버(200)로 전달한다.The client 100 encrypts the data using the encryption key generated in operation S308, and transmits the encrypted data to the server 200 in operation S309.

서버(200)는 S302단계에서 클라이언트(100)와 연결되면 S310단계에서 OTP생성확인모듈(210)로부터 카운트값을 추출하고, S311단계에서 고유코드번호 확인모듈(220)로부터 클라이언트(100)의 고유코드번호를 추출한다.The server 200 extracts the count value from the OTP generation confirmation module 210 in step S310 and transmits the count value from the unique code number confirmation module 220 to the client 100 in step S311, Extract the code number.

그리고 서버(200)는 S312단계에서 맥어드레스 확인모듈(230)로부터 클라이언트(100)의 맥 어드레스 정보를 추출한다.The server 200 extracts the MAC address information of the client 100 from the MAC address confirmation module 230 in step S312.

그리고 서버(200)는 S313단계에서 카운트 값, 고유코드번호, 맥어드레스 정보를 이용하여 복호화키를 생성하고, S314단계에서 OTP생성확인모듈(210)의 카운트 값을 증가시킨다.In step S313, the server 200 generates a decryption key using the count value, the unique code number, and the MAC address information, and increments the count value of the OTP generation confirmation module 210 in step S314.

이후 서버(200)는 S315단계에서 클라이언트(100)로부터 암호화된 데이터를 전달받으면 미리 생성된 복호화키를 이용하여 암호화된 데이터를 복호화한다.Thereafter, when the server 200 receives the encrypted data from the client 100 in step S315, the server 200 decrypts the encrypted data using the decryption key generated in advance.

이때 서버(200)는 암호화된 데이터의 복호화에 성공하면 S316단계에서 복호화 성공 메시지를 클라이언트(100)로 전달하고, 암호화된 데이터의 복호화에 실패하면 S317단계에서 클라이언트(100)로부터 전달받은 암호화된 데이터의 복호화를 실패한 횟수가 몇 회인지 판단한다.At this time, if the decryption of the encrypted data is successful, the server 200 transmits a decryption success message to the client 100 in step S316. If the decryption of the decrypted data fails, the server 200 transmits the decrypted data It is determined how many times the decoding has failed.

서버(200)는 암호화된 데이터의 복호화를 실패한 횟수가 미리 설정된 횟수 이하이면 S318단계에서 복호화 실패 메시지를 클라이언트(100)로 전달하고, 암호화된 데이터의 복호화를 실패한 횟수가 미리 설정된 횟수 이상이면 S319단계로 진행하여 클라이언트(100)로 카운트 값 초기화 명령을 전달한다.The server 200 transmits a decryption failure message to the client 100 in step S318 if the number of unsuccessful attempts to decrypt the encrypted data is equal to or less than a predetermined number. If the number of unsuccessful attempts to decrypt the encrypted data is greater than or equal to the predetermined number, And transmits a count value initialization command to the client 100. [

그리고 서버(200)는 OTP생성확인모듈(210)의 카운트 값을 초기화시킨다.Then, the server 200 initializes the count value of the OTP generation confirmation module 210.

이렇게 함으로써 클라이언트(100)와 서버(200)는 암호화키 및 복호화키 생성 횟수를 바탕으로 하는 카운트 값을 이용하여 일회용 암호화키와 복호화키를 생성할 수 있어, 암호화키 또는 복호화키 생성을 위한 시드 데이터(Seed data)를 서로 교환하지 않아도 되어 암호화 방식에 따른 데이터가 유출될 수 있는 위험이 줄어든다.By doing so, the client 100 and the server 200 can generate the one-time encryption key and the decryption key using the count value based on the encryption key and the number of generation of the decryption key, and generate the encryption key or the decryption key, (Seed data) need not be exchanged with each other, thereby reducing the risk of data leakage according to the encryption method.

또한 클라이언트(100)는 AES의 암호화 블록을 갈루아 필드를 이용하여 저장한 후 데이터를 암호화하기 때문에 적은 메모리 용량을 사용하는 소형기기에서도 데이터를 암호화하여 서버(200)와 통신할 수 있는 효과가 있다.Also, since the client 100 encrypts the data after storing the encryption block of the AES using the Galois field, the client 100 can encrypt data and communicate with the server 200 even in a small device using a small memory capacity.

이상의 설명에서는 본 발명의 바람직한 실시예를 제시하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경할 수 있음을 쉽게 알 수 있을 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of illustration, It will be readily apparent that various substitutions, modifications, and alterations can be made herein.

100: 클라이언트 110: OTP생성모듈
120: 고유코드번호 저장모듈 130: 맥어드레스 저장모듈
140: 암호화키 생성모듈 150: AES암호화모듈
160: 통신모듈 170: 제어모듈
200: 서버 210: OTP생성확인모듈
220: 고유코드번호 확인모듈 230: 맥어드레스 확인모듈
240: 복호화키 생성모듈 250: AES복호화모듈
260: 통신모듈 270: 관리모듈
100: Client 110: OTP generation module
120: Unique code number storage module 130: Mac address storage module
140: Encryption key generation module 150: AES encryption module
160: Communication module 170: Control module
200: server 210: OTP generation confirmation module
220: unique code number identification module 230: Mac address identification module
240: decryption key generation module 250: AES decryption module
260: communication module 270: management module

Claims (10)

삭제delete 일회용 비밀번호를 생성하는 OTP(One Time Password)생성모듈:
고유코드번호를 저장하는 고유코드번호 저장모듈:
맥어드레스 정보를 저장하는 맥어드레스 저장모듈:
상기 일회용 비밀번호, 상기 고유코드번호 및 상기 맥어드레스 정보를 이용하여 일회용 암호화키를 생성하는 암호화키 생성모듈:
상기 일회용 암호화키를 이용하여 입력 데이터를 AES암호화하되, 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 AES 암호화하는 AES(Advanced Encryption Standard)암호화모듈:
상기 AES암호화모듈을 통해 암호화된 데이터를 전달하는 통신모듈을 구비한 클라이언트를 포함하는 AES-OTP기반의 보안 시스템.
OTP (One Time Password) generation module that generates one-time password:
Unique code number for storing unique code number Storage module:
A MAC address storage module for storing MAC address information;
An encryption key generation module for generating a one-time encryption key using the disposable password, the unique code number, and the MAC address information;
An AES (Advanced Encryption Standard) encryption module for AES-encrypting input data using the one-time encryption key, and performing AES encryption through a mathematical operation based on a Galois field,
AES-OTP-based security system comprising a client having a communication module for transmitting encrypted data through the AES encryption module.
삭제delete 일회용 비밀번호(OTP)를 생성하는 OTP생성확인모듈:
클라이언트의 고유코드번호를 저장하는 고유코드번호 확인모듈:
클라이언트의 맥어드레스 정보를 저장하는 맥어드레스 확인모듈:
상기 일회용 비밀번호, 상기 고유코드번호 및 상기 맥어드레스 정보를 이용하여 일회용 복호화키를 생성하는 복호화키 생성모듈:
AES암호화된 입력 데이터를 수신하는 통신모듈:
상기 일회용 복호화키를 이용하여 상기 AES암호화된 입력 데이터를 AES복호화하되, 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 AES복호화하는 AES복호화모듈을 구비한 서버를 포함하는 AES-OTP기반의 보안 시스템.
OTP generation confirmation module that generates one-time password (OTP):
A unique code number identification module that stores the client's unique code number. Module:
A MAC address confirmation module for storing the MAC address information of the client;
A decryption key generation module for generating a one-time decryption key using the disposable secret code, the unique code number, and the MAC address information,
Communication module that receives AES encrypted input data:
AES-OTP based on AES decryption module for AES decrypting the AES decrypted input data using the disposable decryption key, AES decryption module for performing AES decryption through Galois field based mathematical operation Security system.
삭제delete 제4 항에 있어서, 상기 OTP는 카운터에 의해 생성되며 소정 횟수 이상의 복호화 실패시 OTP 생성을 위한 카운트 값이 초기화되는 것을 특징으로 하는 AES-OTP기반의 보안 시스템.
5. The security system of claim 4, wherein the OTP is generated by a counter, and a count value for OTP generation is initialized when decryption fails more than a predetermined number of times.
유/무선 통신망에 의해 상호 연결된 클라이언트와 서버 사이에서 수행되되,
클라이언트가 암호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (a)단계:
상기 클라이언트가 상기 카운트 값, 미리 저장된 고유코드번호, 미리 저장된 맥어드레스 정보를 이용하여 암호화키를 생성하는 (b)단계:
상기 클라이언트가 상기 암호화키를 이용하여 입력 데이터를 AES방식으로 암호화하되, 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 암호화한후 서버로 전달하는 (c)단계:
상기 서버가 복호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (d)단계:
상기 서버가 상기 카운트 값, 미리 저장된 클라이언트의 고유코드번호, 미리 저장된 클라이언트의 맥어드레스 정보를 이용하여 복호화키를 생성하는 (e)단계:
상기 서버가 상기 암호화된 입력 데이터를 전달받고, 상기 복호화키를 이용하여 상기 암호화된 입력 데이터를 AES방식으로 복호화하되, 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 복호화하는 (f)단계를 포함하는 AES-OTP기반의 보안 방법.
The method of claim 1, further comprising:
(A) the client counts the number of encryption key generation times and generates a count value;
(B) the client generates an encryption key using the count value, the pre-stored unique code number, and the pre-stored MAC address information,
The client encrypts the input data using the encryption key in the AES scheme, encrypts the input data using a Galois field-based mathematical operation, and transmits the encrypted data to the server, (c)
Wherein the server counts the number of decryption key generation times to generate a count value,
(E) the server generates a decryption key using the count value, a unique code number of a previously stored client, and a MAC address information of a client stored in advance,
The server receives the encrypted input data, decrypts the encrypted input data using the decryption key according to the AES scheme, and decrypts the decrypted input data using a Galois field-based mathematical operation (f) AES-OTP-based security method comprising the steps of:
제7 항에 있어서,
상기 서버가 상기 암호화된 입력 데이터 복호화 실패시, 복호화 실패 횟수를 판단하는 (g)단계:
상기 서버가 상기 복호화 실패 횟수가 소정 횟수 이상이면 카운트 값을 초기화하고, 카운트 값 초기화 메시지를 상기 클라이언트로 전달하는 (h)단계를 더 포함하는 것을 특징으로 하는 AES-OTP기반의 보안 방법.
8. The method of claim 7,
(G) decrypting the decrypted input data when the server decrypts the decrypted input data,
Further comprising the step of: (h) initializing a count value and transmitting a count value initialization message to the client when the number of times of failure of the decryption is more than a predetermined number.
제7 항에 있어서,
상기 클라이언트와 상기 서버는 카운터를 이용하여 카운트 값을 생성하는 것을 특징으로 하는 AES-OTP기반의 보안 방법.
8. The method of claim 7,
Wherein the client and the server generate a count value using a counter.
삭제delete
KR1020120044457A 2012-04-27 2012-04-27 Security system and method for using aes-otp KR101428665B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120044457A KR101428665B1 (en) 2012-04-27 2012-04-27 Security system and method for using aes-otp

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120044457A KR101428665B1 (en) 2012-04-27 2012-04-27 Security system and method for using aes-otp

Publications (2)

Publication Number Publication Date
KR20130121348A KR20130121348A (en) 2013-11-06
KR101428665B1 true KR101428665B1 (en) 2014-08-11

Family

ID=49851597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120044457A KR101428665B1 (en) 2012-04-27 2012-04-27 Security system and method for using aes-otp

Country Status (1)

Country Link
KR (1) KR101428665B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210063177A (en) 2019-11-22 2021-06-01 주식회사 마스터비디 Apparatus and method for mobile authentication, and recording medium applied to the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220005963A (en) * 2020-07-07 2022-01-14 삼성전자주식회사 Method and electronic device for encrypting message

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233723A (en) 2006-03-01 2007-09-13 Nec Corp Maintenance device, remote maintenance system, its method, and program
KR20090003134A (en) * 2008-12-15 2009-01-09 김동규 Illegal login protection system and method based on pc registratrion
KR20090023045A (en) * 2007-08-29 2009-03-04 청화 텔레콤 코., 엘티디. Residential security surveillance and notification management system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233723A (en) 2006-03-01 2007-09-13 Nec Corp Maintenance device, remote maintenance system, its method, and program
KR20090023045A (en) * 2007-08-29 2009-03-04 청화 텔레콤 코., 엘티디. Residential security surveillance and notification management system
KR20090003134A (en) * 2008-12-15 2009-01-09 김동규 Illegal login protection system and method based on pc registratrion

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
G.Edward Suh 외4인, ‘Efficient Memory Integrity Verification and Encryption for Secure Processors’Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003.12.
G.Edward Suh 외4인, 'Efficient Memory Integrity Verification and Encryption for Secure Processors'Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003.12. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210063177A (en) 2019-11-22 2021-06-01 주식회사 마스터비디 Apparatus and method for mobile authentication, and recording medium applied to the same

Also Published As

Publication number Publication date
KR20130121348A (en) 2013-11-06

Similar Documents

Publication Publication Date Title
CN106850221B (en) Information encryption and decryption method and device
KR101725847B1 (en) Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks
CN101753292B (en) Methods and devices for a chained encryption mode
US7571320B2 (en) Circuit and method for providing secure communications between devices
CN102232275B (en) Key distribution system
US10650373B2 (en) Method and apparatus for validating a transaction between a plurality of machines
Saraf et al. Text and image encryption decryption using advanced encryption standard
US8675864B2 (en) Apparatus for encrypting data
JP4130653B2 (en) Pseudo public key encryption method and system
CN105162772A (en) IoT equipment authentication and key agreement method and device
BR102018015221A2 (en) METHOD FOR SECURE SHARING OF INFORMATION AND RELATED SYSTEM
JP2001007800A (en) Ciphering device and ciphering method
CN102185694A (en) Electronic file encrypting method and system based on fingerprint information
CN102138300A (en) Message authentication code pre-computation with applications to secure memory
JP2012151805A (en) Data encryption device and memory card having the device
JP2011512562A (en) Random encryption and decryption method for access and communication data
JP6930053B2 (en) Data encryption method and system using device authentication key
CN210955077U (en) Bus encryption and decryption device based on state cryptographic algorithm and PUF
CN101867471A (en) Irrational number based DES authentication encryption algorithm
CN103501220A (en) Encryption method and device
KR101428665B1 (en) Security system and method for using aes-otp
WO2013016736A2 (en) Product authentication based upon a hyperelliptic curve equation and a curve pairing function
CN107846422A (en) A kind of configuration file ciphered compressed of gateway and the method for decryption decompression
Misra et al. A new encryption/decryption approach using AES
KR100963417B1 (en) RFID Security Apparatus for comprising Security Function and Method thereof

Legal Events

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

Payment date: 20170728

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 6