KR20130121348A - Aes-otp기반의 보안 시스템 및 방법 - Google Patents

Aes-otp기반의 보안 시스템 및 방법 Download PDF

Info

Publication number
KR20130121348A
KR20130121348A KR1020120044457A KR20120044457A KR20130121348A KR 20130121348 A KR20130121348 A KR 20130121348A KR 1020120044457 A KR1020120044457 A KR 1020120044457A KR 20120044457 A KR20120044457 A KR 20120044457A KR 20130121348 A KR20130121348 A KR 20130121348A
Authority
KR
South Korea
Prior art keywords
aes
otp
client
module
server
Prior art date
Application number
KR1020120044457A
Other languages
English (en)
Other versions
KR101428665B1 (ko
Inventor
김종서
정통
김형준
Original Assignee
(주)에이티솔루션즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)에이티솔루션즈 filed Critical (주)에이티솔루션즈
Priority to KR1020120044457A priority Critical patent/KR101428665B1/ko
Publication of KR20130121348A publication Critical patent/KR20130121348A/ko
Application granted granted Critical
Publication of KR101428665B1 publication Critical patent/KR101428665B1/ko

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 암호화/복호화 장치를 사용할 수 있는 효과가 있다.

Description

AES-OTP기반의 보안 시스템 및 방법{SECURITY SYSTEM AND METHOD FOR USING AES-OTP}
본 발명은 AES-OTP기반의 보안 시스템 및 방법에 관한 것으로, 특히 AES 표준 보안 방식과 OTP를 융합하여 암호화 및 복호화를 수행하기 위한 AES-OTP기반의 보안 시스템 및 방법에 관한 것이다.
최근 과학 기술의 발달과 더불어 개인정보보호에 대한 관심이 커지면서 암호화 및 복호화의 중요성은 나날이 증가되고 있다. 또한 시스템에 대한 더 높은 수준의 안전성을 확보하기 위하여 암호화 키 및 복호화 키의 길이는 더 길어지고 있다.
한편, 종래에는 암호화 및 복호화에 대한 표준으로 64비트 데이터 블록에 56비트 길이의 키를 사용하는 대칭성 알고리즘인 DES(Data Encryption Standard)가 사용되었다.
그러나, 안정성에 의문이 생기자 AES(Advanced Encryption Standard)를 새로운 블록 암호 알고리즘의 표준으로 채택하였다.
AES는 최소 128비트나 192비트 또는 256비트 크기의 키를 지원하는 블록 암호화를 사용한 대칭형 알고리즘으로, 고유코드번호 또는 맥어드레스 정보의 고정키를 입력값으로 하여 AES 암호화 및 복호화를 수행하기 때문에 보안에 취약한 문제점이 있었다.
더불어 AES 암호화/복호화는 서브바이트(SubBytes)블록, 쉬프트로우(ShiftRows)블록, 믹스칼럼(MixColumns)블록 및 애드라운드키(AddRoundKey)블록 과정들이 한번씩 모두 수행될 때 1라운드가 완료되고, 상기 라운드가 복수회 반복적으로 수행됨으로써, 데이터의 암호화가 이루어진다.
또한 역서브바이트(InvSubBytes)블록, 역쉬프트로우(InvShiftRows)블록, 역믹스칼럼(InvMixColumns)블록 및 애드라운드키(AddRoundKey)블록 과정들이 한번씩 모두 수행될 때 1라운드가 완료되고, 상기 라운드가 복수회 반복적으로 수행됨으로써, 데이터의 복호화가 이루어진다.
때문에 각 블록에서 수행되는 연산에 따른 테이블을 메모리에 저장하였다가 암호화 및 복호화를 수행시 필요한 데이터를 추출하여 사용하기 때문에 큰 메모리 용량이 요구되며, 이에 따라 작은 컴퓨팅 및 메모리 용량이 부족한 가전 기기등에 이를 채택하기가 어려운 문제점이 있었다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 갈로아 필드(Galois Field)를 기반으로 암호화를 수행함으로써, 적은 메모리 용량을 가진 MCU(Micro Controller Unit)가 적용된 홈오토메이션 기기에서도 AES 암호화 방식을 사용할 수 있도록 하는 AES-OTP기반의 보안 시스템 및 방법을 제공함을 그 목적으로 한다.
또한 본 발명은 암호화 키 및 복호화 키를 생성함에 있어 OTP 방식을 적용함으로써, 보안이 강화된 암호화 키 및 복호화 키 생성이 가능하며, 암호화 키 및 복호화 키 생성 오류를 줄일 수 있는 AES-OTP기반의 보안 시스템 및 방법을 제공함을 그 목적으로 한다.
전술한 목적을 달성하기 위한 본 발명의 AES-OTP기반의 보안 시스템은 일회용 비밀번호를 생성하는 OTP(One Time Password)생성모듈, 고유코드번호를 저장하는 고유코드번호 저장모듈, 맥어드레스 정보를 저장하는 맥어드레스 저장모듈, 상기 일회용 비밀번호, 상기 고유코드번호 및 상기 맥어드레스 정보를 이용하여 일회용 암호화키를 생성하는 암호화키 생성모듈, 상기 일회용 암호화키를 이용하여 입력 데이터를 AES암호화하는 AES(Advanced Encryption Standard)암호화모듈, 상기 AES암호화모듈을 통해 암호화된 데이터를 전달하는 통신모듈을 구비한 클라이언트를 포함한다.
또한 상기 AES암호화는 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행된다.
또한 본 발명의 AES-OTP기반의 보안 시스템은 일회용 비밀번호를 생성하는 OTP생성확인모듈, 클라이언트의 고유코드번호를 저장하는 고유코드번호 확인모듈, 클라이언트의 맥어드레스 정보를 저장하는 맥어드레스 확인모듈, 상기 일회용 비밀번호, 상기 고유코드번호 및 상기 맥어드레스 정보를 이용하여 일회용 복호화키를 생성하는 복호화키 생성모듈, AES암호화된 입력 데이터를 수신하는 통신모듈, 상기 일회용 복호화키를 이용하여 상기 AES암호화된 입력 데이터를 복호화하는 AES복호화모듈을 구비한 서버를 포함한다.
또한 상기 AES복호화는 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행된다.
또한 상기 OTP는 카운터에 의해 생성된다.
또한 소정의 횟수 이상의 복호화 실패시 OTP 생성을 위한 카운트 값이 초기화된다.
AES-OTP기반의 보안 방법은 유/무선 통신망에 의해 상호 연결된 클라이언트와 서버 사이에서 수행되되, 클라이언트가 암호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (a)단계, 상기 클라이언트가 상기 카운트 값, 미리 저장된 고유코드번호, 미리 저장된 맥어드레스 정보를 이용하여 암호화키를 생성하는 (b)단계, 상기 클라이언트가 상기 암호화키를 이용하여 입력 데이터를 AES방식으로 암호화한 후 서버로 전달하는 (c)단계, 상기 서버가 복호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (d)단계, 상기 서버가 상기 카운트 값, 미리 저장된 클라이언트의 고유코드번호, 미리 저장된 클라이언트의 맥어드레스 정보를 이용하여 복호화키를 생성하는 (e)단계, 상기 서버가 상기 암호화된 입력 데이터를 전달받고, 상기 복호화키를 이용하여 상기 암호화된 입력 데이터를 AES방식으로 복호화하는 (f)단계를 포함한다.
또한 상기 서버가 상기 암호화된 입력 데이터 복호화 실패시, 복호화 실패 횟수를 판단하는 (g)단계, 상기 서버가 상기 복호화 실패 횟수가 소정 횟수 이상이면 카운트 값을 초기화하고, 카운트 값 초기화 메시지를 상기 클라이언트로 전달하는 (h)단계를 더 포함한다.
또한 상기 클라이언트와 상기 서버는 카운터를 이용하여 카운트 값을 생성한다.
또한 상기 AES방식의 암호화 또는 복호화는 갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행된다.
본 발명은 갈로아 필드(Galois Field)를 기반으로 암호화를 수행함으로써, 적은 메모리 용량을 가진 MCU(Micro Controller Unit)가 적용된 기기에서도 AES 암호화 방식을 사용할 수 있는 효과가 있다.
또한 본 발명은 암호화 키 및 복호화 키를 생성함에 있어 OTP 방식을 적용함으로써, 보안이 강화된 암호화 키 및 복호화 키 생성이 가능하며, 암호화 키 및 복호화 키 생성 오류를 줄일 수 있는 효과가 있다.
또한 본 발명은 공개된 보안 알고리즘인 OTP방식을 적용하여 AES 암호화/복호화 방식을 수행함으로써 라이센스 비용을 지불하지 않아도 되어 적은 비용으로 새로운 방식의 AES 암호화/복호화 장치를 사용할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템 중 클라이언트의 내부 구성도,
도 2는 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템 중 서버의 내부 구성도,
도 3은 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템에서 암호화/복호화를 수행하는 방법을 설명하기 위한 흐름도.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템 중 클라이언트의 내부 구성도이다.
클라이언트(100)는 TCP/IP통신을 기반으로 서버(200)와 통신하며, 자신의 상태를 데이터를 통하여 서버(200)에게 알리고, 서버(200)로부터 동작 데이터를 수신받아, 동작 데이터에 해당하는 동작을 수행할 수 있다.
일반적으로 이러한 클라이언트(100)는 소형 기기가 될 수 있으며, 클라이언트(100)와 서버(200)는 홈오토메이션 시스템에 적용되어 서버(200)가 클라이언트(100)에 해당되는 기기를 제어하거나 클라이언트(100)로부터 소비전력량 등과 같은 정보를 전달받을 수도 있다.
또한 본 발명에서는 암호화키 및 복호화키 생성시 OTP 방식을 기반으로 일회용 암호화키 및 복호화키를 생성한다.
OTP(One Time Password)는 금융권과 같은 곳에서 고도의 보안성을 위하여 반복 사용이 불가능한 일회용 비밀번호를 생성하는 방식으로 질의-응답(Challenge-Response)방식, 시간동기화 방식, 이벤트 동기화 방식 등이 적용될 수 있다.
그 중 질의-응답 방식은 서버(200)에서 난수 생성기를 이용하여 임의의 난수를 생성하고, 생성된 난수를 질의 메시지에 포함시켜 클라이언트(100)로 전달한다. 그러면 클라이언트(100)는 해쉬 함수(Hash Funtion)등의 모듈을 이용하여 비밀번호 즉 암호화키를 생성하는 방식이다.
시간동기화 방식은 시간을 암호화키 생성 입력 값으로 사용하는 것으로, 클라이언트(100)와 서버(200)가 동기화된 시간 정보를 기준으로 특정 시간 간격마다 변하는 암호화키를 생성하는 방식이다.
이벤트 동기화 방식은 클라이언트(100)와 서버(200)가 동일한 카운트 값을 기준으로 비밀번호를 생성하는 방식으로, 카운트 값을 입력값으로 하여 암호화키를 생성하고, 그 카운터 값을 증가시켜 저장하여둔 뒤 다음 암호화키 생성을 위한 입력 값으로 사용하는 방식이다.
본 발명에서는 이벤트 동기화 방식을 사용하여 클라이언트(100)에서 암호화키를 생성하고, 서버(200)에서 복호화키를 생성하는 것으로 가정하여 설명하기로 한다.
도 1에 도시된 바와 같이 클라이언트(100)는 OTP생성모듈(110), 고유코드번호 저장모듈(120), 맥어드레스 저장모듈(130), 암호화키 생성모듈(140), AES암호화모듈(150), 통신모듈(160), 제어모듈(170)을 포함한다.
OTP생성모듈(110)은 암호화키를 생성하기 위하여 일회용 비밀번호를 생성하며, 본 발명의 실시 예에서는 이벤트 동기화 방식을 바탕으로 일회용 암호화키를 생성하기 위한 카운트 값을 생성한다.
본 발명의 실시 예에 따른 이벤트 동기화 방식의 일회용 암호화키 생성 방식은 클라이언트(100)와 서버(200)가 동일한 카운트 값을 기준으로 일회용 암호화키 및 일회용 복호화키를 생성하는 방식으로 OTP생성모듈(110)과 OTP생성확인모듈(210)이 동일한 카운트 값 증가 방식을 바탕으로 카운트 값을 생성한다.
또한 클라이언트(100)와 서버(200)는 카운트 값을 입력 값으로 하여 각각 암호화키와 복호화키를 생성하고, 그 카운트 값을 증가시켜 저장하여둔 뒤 다음 비밀번호 생성을 위한 입력 값으로 사용한다.
따라서, OTP생성모듈(110)은 카운트 값을 생성하여 암호화키 생성모듈(140)로 전달하고, 미리 설정된 배수단위로 카운트 값을 증가시켜 다시 저장하여 다음 암호화키 생성시 암호화키 생성모듈(140)로 전달한다.
본 발명의 상세한 설명에서는 1배수 단위로 카운트 값이 증가하고, 256까지 카운트 값이 증가하면 다시 초기화되어 카운트되는 것으로 가정하여 설명하기로 한다.
고유코드번호 저장모듈(120)은 클라이언트(100)의 고유코드번호에 해당하며, 클라이언트(100)가 소형 기기일 경우 소형 기기의 고유번호가 될 수 있다.
맥어드레스 저장모듈(130)은 클라이언트(100)의 맥 어드레스 정보를 저장한다.
암호화키 생성모듈(140)은 데이터를 암호화하기 위한 일회용 비밀번호 즉 암호화 키를 생성한다.
이때 암호화키 생성모듈(140)은 OTP생성모듈(110)로부터 카운트 값을 추출하고, 고유코드번호 저장모듈(120)로부터 고유코드번호를 추출하며, 맥어드레스 저장모듈(130)로부터 맥어드레스 정보를 추출하여 카운트 값, 고유코드번호 및 맥 어드레스 정보를 이용하여 암호화키를 생성한다.
이때 암호화키 생성모듈(140)은 카운트 값, 고유코드번호 및 맥 어드레스 정보를 단순 나열, 곱하기 또는 소정의 연산을 수행하여 암호화키를 생성할 수 있다.
AES암호화모듈(150)은 암호화키 생성모듈(140)을 통해 생성된 암호화 키를 이용하여 데이터를 암호화한다.
이때 AES암호화모듈(150)은 갈루아 필드(Galois Field)를 기반으로 저장된 수학식을 바탕으로 각 블록에 대한 연산을 수행하여 데이터에 대한 암호화를 수행한다.
여기서 갈루아 필드란 유한체라고도 하며 사칙연산이 정의되는 유한개의 원소를 갖는 필드로서, 모든 소수 P와 양수 m에 대해서 Pm 개의 원소를 갖는 하나의 필드만이 존재한다.
이 필드를 갈루아 필드라 부르며 GF(Pm)으로 나타낸다. 그리고 하드웨어 구현을 위해 편의상 P=2를 일반적으로 사용한다. 이때 GF(2)상의 벡터공간 GF(2m)은 다음과 같은 원시 다항식으로 정의된다.
p(x)=xm+pm -1xm -1+...+p1x+p0,(pi∈GF(2), 0≤i≤m-1)
그리고 α를 원시다항식의 근이라고 할 때, 기저벡터는 α0, α1, ..., αm-1로 정의되며, 이를 필드의 원시 원소라 한다. 이때 임의의 A∈GF(2m)인 원소는 다음과 같이 나타낼 수 있다.
A=a0α0+a1α1+...+am -1αm-1, (ai∈GF(2), 0≤i≤m-1)
원시원소를 이용하여 원소A를 다항식으로 나타내면
A(x)=a0x0+a1x1+...+am -1xm -1
로 표현할 수 있으며, GF(2)상의 m차원 벡터로서 {a0, a1, ..., am -1}로 나타낼 수 있다.
일실시예로서, 원시다항식의 m=8일 경우 하기의 수학식 4와 같이 가정한다.
P(x)=x8+x4+x3+x2+1
이 때의 α를 원시다항식의 근이라 하면,
P(α)=α8432+1=0
가 된다. 이 식을 이용하여 연산을 하면 α7, α6, α5, α4, α3, α2, α1, α0 값들로 한정되어 나오게 된다. 여기서 α7는 최상위 비트(MSB)이고, α0는 최하위 비트(LSB)이다.
일 예로 α10을 계산하면 다음과 같다.
α108×α2=(α4321)×α26542
일반 데이터 입력이 10이면 이진수로 표현하면 00001010B이고, 이를 갈루아 필드로 변환한 값은 16 즉, 이진수로 표현하면 01110100B가 된다.
즉, 종래에는 서브바이트(SubBytes)블록, 쉬프트로우(ShiftRows)블록, 믹스칼럼(MixColumns)블록 및 애드라운드키(AddRoundKey)블록을 수행하기 위한 테이블을 미리 저장하고 이를 바탕으로 암호화를 수행하였다면, 본 발명에서는 테이블에 포함된 데이터를 계산할 수 있는 갈루아 필드를 이용한 수학식을 저장하여 그때 그때 수학식의 연산을 통해 암호화를 수행한다.
때문에 적은 메모리 용량으로도 데이터 암호화가 가능하다.
통신모듈(160)은 서버(200)와 통신을 수행하며, AES 암호화 모듈(150)을 통해 생성된 암호화 데이터 또는 상태 데이터를 서버(200)로 송신하고, 서버(200)로부터 동작 명령 데이터를 수신한다.
제어모듈(170)은 클라이언트(100)의 전반적은 동작을 제어하며, 서버(200)가 접속되면 클라이언트(100)의 상태 데이터를 AES암호화모듈(150)로 전달한다.
그리고 제어모듈(170)은 서버(200)로부터 동작 명령 데이터를 전달받으면 전달받은 동작 명령 데이터에 해당되는 동작을 수행한다.
도 2는 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템 중 서버의 내부 구성도이다.
도 2를 참조하면, 서버(200)는 클라이언트(100)를 관리하는 서버가 될 수 있으며, OTP생성확인모듈(210), 고유코드번호 확인모듈(220), 맥어드레스 확인모듈(230), 복호화키 생성모듈(240), AES복호화모듈(250), 통신모듈(260), 관리모듈(270)을 포함한다.
OTP생성확인모듈(210)은 이벤트 동기화 방식을 바탕으로 일회용 복호화키 생성 횟수를 입력 값으로 하는 일회용 복호화키를 생성하기 위하여 카운트 값을 생성한다.
그리고 OTP생성확인모듈(210)은 다음 복호화키 생성을 위해 카운트 값을 미리 설정된 배수 단위로 증가시켜 저장한다.
이때 OTP생성확인모듈(210)은 클라이언트(100)의 OTP생성모듈(110)과 동일한 카운트 값 증가 방식을 바탕으로 카운트 값을 생성하는 것이 바람직하다.
고유코드번호 확인모듈(220)은 클라이언트(100)의 고유코드번호를 저장한다.
맥어드레스 확인모듈(230)은 클라이언트(100)의 맥어드레스 정보를 저장한다.
복호화키 생성모듈(240)은 클라이언트(100)로부터 전달받은 암호화된 데이터를 복호화하기 위한 일회용 복호화키를 생성한다.
복호화키 생성모듈(240)은 OTP생성확인모듈(210)로부터 카운트 값을 추출하고, 고유코드번호 확인모듈(220)로부터 고유코드번호를 추출하며, 맥어드레스 확인모듈(230)로부터 맥어드레스 정보를 추출하여 카운트 값, 고유코드번호 및 맥어드레스 정보를 이용하여 복호화키를 생성한다.
이때 복호화키 생성모듈(240)은 카운트 값, 고유코드번호 및 맥 어드레스 정보를 단순 나열, 곱하기 또는 소정의 연산을 수행하여 복호화키를 생성할 수 있다.
AES 복호화모듈(250)은 복호화키 생성모듈(240)을 통해 생성된 복호화 키를 이용하여 통신모듈(260)을 통해 전달받은 암호화된 데이터를 복호화한다.
이때 AES 복호화모듈(250)도 AES 암호화모듈(150)과 마찬가지로 갈로아 필드(Galois Field)를 기반으로 복호화 연산을 수행한다.
통신모듈(260)은 클라이언트(100)와 통신을 수행하며, 클라이언트(100)로부터 암호화 데이터 또는 상태 데이터를 수신하고, 클라이언트(100)로 동작 명령 데이터를 송신한다.
관리모듈(270)은 서버(200)의 전반적은 동작을 제어하며, 클라이언트(100)로 전달할 동작 명령 데이터를 생성한다.
도 3은 본 발명의 실시 예에 따른 AES-OTP기반의 보안 시스템에서 암호화/복호화를 수행하는 방법을 설명하기 위한 흐름도이다.
클라이언트(100)는 S301단계에서 서버(200) 접속이 감지되면, S302단계에서 서버(200)와의 통신을 수행한다.
이때 클라이언트(100)와 서버(200)는 TCP/IP 통신을 기반으로 통신을 수행할 수 있다.
클라이언트(100)는 서버(200)와 접속되면 S303단계에서 OTP생성모듈(110)로부터 카운트값을 추출하고, S304단계에서 고유코드번호 저장모듈(120)로부터 고유코드번호를 추출한다.
그리고 클라이언트(100)는 S305단계에서 맥어드레스 저장모듈(130)로부터 맥 어드레스 정보를 추출한다.
클라이언트(100)는 S306단계에서 카운트 값, 고유코드번호, 맥어드레스 정보를 이용하여 암호화키를 생성하고, S307단계에서 OTP생성모듈(110)의 카운트 값을 증가시킨다.
그리고 클라이언트(100)는 S308단계에서 생성된 암호화키로 데이터를 암호화하고, S309단계에서 암호화한 데이터를 서버(200)로 전달한다.
서버(200)는 S302단계에서 클라이언트(100)와 연결되면 S310단계에서 OTP생성확인모듈(210)로부터 카운트값을 추출하고, S311단계에서 고유코드번호 확인모듈(220)로부터 클라이언트(100)의 고유코드번호를 추출한다.
그리고 서버(200)는 S312단계에서 맥어드레스 확인모듈(230)로부터 클라이언트(100)의 맥 어드레스 정보를 추출한다.
그리고 서버(200)는 S313단계에서 카운트 값, 고유코드번호, 맥어드레스 정보를 이용하여 복호화키를 생성하고, S314단계에서 OTP생성확인모듈(210)의 카운트 값을 증가시킨다.
이후 서버(200)는 S315단계에서 클라이언트(100)로부터 암호화된 데이터를 전달받으면 미리 생성된 복호화키를 이용하여 암호화된 데이터를 복호화한다.
이때 서버(200)는 암호화된 데이터의 복호화에 성공하면 S316단계에서 복호화 성공 메시지를 클라이언트(100)로 전달하고, 암호화된 데이터의 복호화에 실패하면 S317단계에서 클라이언트(100)로부터 전달받은 암호화된 데이터의 복호화를 실패한 횟수가 몇 회인지 판단한다.
서버(200)는 암호화된 데이터의 복호화를 실패한 횟수가 미리 설정된 횟수 이하이면 S318단계에서 복호화 실패 메시지를 클라이언트(100)로 전달하고, 암호화된 데이터의 복호화를 실패한 횟수가 미리 설정된 횟수 이상이면 S319단계로 진행하여 클라이언트(100)로 카운트 값 초기화 명령을 전달한다.
그리고 서버(200)는 OTP생성확인모듈(210)의 카운트 값을 초기화시킨다.
이렇게 함으로써 클라이언트(100)와 서버(200)는 암호화키 및 복호화키 생성 횟수를 바탕으로 하는 카운트 값을 이용하여 일회용 암호화키와 복호화키를 생성할 수 있어, 암호화키 또는 복호화키 생성을 위한 시드 데이터(Seed data)를 서로 교환하지 않아도 되어 암호화 방식에 따른 데이터가 유출될 수 있는 위험이 줄어든다.
또한 클라이언트(100)는 AES의 암호화 블록을 갈루아 필드를 이용하여 저장한 후 데이터를 암호화하기 때문에 적은 메모리 용량을 사용하는 소형기기에서도 데이터를 암호화하여 서버(200)와 통신할 수 있는 효과가 있다.
이상의 설명에서는 본 발명의 바람직한 실시예를 제시하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경할 수 있음을 쉽게 알 수 있을 것이다.
100: 클라이언트 110: OTP생성모듈
120: 고유코드번호 저장모듈 130: 맥어드레스 저장모듈
140: 암호화키 생성모듈 150: AES암호화모듈
160: 통신모듈 170: 제어모듈
200: 서버 210: OTP생성확인모듈
220: 고유코드번호 확인모듈 230: 맥어드레스 확인모듈
240: 복호화키 생성모듈 250: AES복호화모듈
260: 통신모듈 270: 관리모듈

Claims (10)

  1. 일회용 비밀번호를 생성하는 OTP(One Time Password)생성모듈:
    고유코드번호를 저장하는 고유코드번호 저장모듈:
    맥어드레스 정보를 저장하는 맥어드레스 저장모듈:
    상기 일회용 비밀번호, 상기 고유코드번호 및 상기 맥어드레스 정보를 이용하여 일회용 암호화키를 생성하는 암호화키 생성모듈:
    상기 일회용 암호화키를 이용하여 입력 데이터를 AES암호화하는 AES(Advanced Encryption Standard)암호화모듈:
    상기 AES암호화모듈을 통해 암호화된 데이터를 전달하는 통신모듈을 구비한 클라이언트를 포함하는 AES-OTP기반의 보안 시스템.
  2. 제1 항에 있어서, 상기 AES암호화는,
    갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행되는 것을 특징으로 하는 AES-OTP기반의 보안 시스템.
  3. 일회용 비밀번호를 생성하는 OTP생성확인모듈:
    클라이언트의 고유코드번호를 저장하는 고유코드번호 확인모듈:
    클라이언트의 맥어드레스 정보를 저장하는 맥어드레스 확인모듈:
    상기 일회용 비밀번호, 상기 고유코드번호 및 상기 맥어드레스 정보를 이용하여 일회용 복호화키를 생성하는 복호화키 생성모듈:
    AES암호화된 입력 데이터를 수신하는 통신모듈:
    상기 일회용 복호화키를 이용하여 상기 AES암호화된 입력 데이터를 복호화하는 AES복호화모듈을 구비한 서버를 포함하는 AES-OTP기반의 보안 시스템.
  4. 제3 항에 있어서, 상기 AES복호화는,
    갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행되는 것을 특징으로 하는 AES-OTP기반의 보안 시스템.
  5. 제1 항 내지 제4 항 중 어느 한 항에 있어서, 상기 OTP는,
    카운터에 의해 생성되는 것을 특징으로 하는 AES-OTP기반의 보안 시스템.
  6. 제5 항에 있어서,
    소정의 횟수 이상의 복호화 실패시 OTP 생성을 위한 카운트 값이 초기화되는 것을 특징으로 하는 AES-OTP기반의 보안 시스템.
  7. 유/무선 통신망에 의해 상호 연결된 클라이언트와 서버 사이에서 수행되되,
    클라이언트가 암호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (a)단계:
    상기 클라이언트가 상기 카운트 값, 미리 저장된 고유코드번호, 미리 저장된 맥어드레스 정보를 이용하여 암호화키를 생성하는 (b)단계:
    상기 클라이언트가 상기 암호화키를 이용하여 입력 데이터를 AES방식으로 암호화한 후 서버로 전달하는 (c)단계:
    상기 서버가 복호화키 생성횟수를 카운트하여 카운트 값을 생성하는 (d)단계:
    상기 서버가 상기 카운트 값, 미리 저장된 클라이언트의 고유코드번호, 미리 저장된 클라이언트의 맥어드레스 정보를 이용하여 복호화키를 생성하는 (e)단계:
    상기 서버가 상기 암호화된 입력 데이터를 전달받고, 상기 복호화키를 이용하여 상기 암호화된 입력 데이터를 AES방식으로 복호화하는 (f)단계를 포함하는 AES-OTP기반의 보안 방법.
  8. 제7 항에 있어서,
    상기 서버가 상기 암호화된 입력 데이터 복호화 실패시, 복호화 실패 횟수를 판단하는 (g)단계:
    상기 서버가 상기 복호화 실패 횟수가 소정 횟수 이상이면 카운트 값을 초기화하고, 카운트 값 초기화 메시지를 상기 클라이언트로 전달하는 (h)단계를 더 포함하는 것을 특징으로 하는 AES-OTP기반의 보안 방법.
  9. 제7 항에 있어서,
    상기 클라이언트와 상기 서버는 카운터를 이용하여 카운트 값을 생성하는 것을 특징으로 하는 AES-OTP기반의 보안 방법.
  10. 제7 항에 있어서, 상기 AES방식의 암호화 또는 복호화는,
    갈루아 필드(Galois Field)를 기반으로 한 수학식 연산을 통해 수행되는 것을 특징으로 하는 AES-OTP기반의 보안 방법.
KR1020120044457A 2012-04-27 2012-04-27 Aes-otp기반의 보안 시스템 및 방법 KR101428665B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120044457A KR101428665B1 (ko) 2012-04-27 2012-04-27 Aes-otp기반의 보안 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120044457A KR101428665B1 (ko) 2012-04-27 2012-04-27 Aes-otp기반의 보안 시스템 및 방법

Publications (2)

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

Family

ID=49851597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120044457A KR101428665B1 (ko) 2012-04-27 2012-04-27 Aes-otp기반의 보안 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101428665B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022010134A1 (ko) * 2020-07-07 2022-01-13 삼성전자 주식회사 메시지의 암호화 방법 및 전자 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210063177A (ko) 2019-11-22 2021-06-01 주식회사 마스터비디 모바일 인증 장치 및 방법, 그리고 이에 적용되는 기록매체

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233723A (ja) 2006-03-01 2007-09-13 Nec Corp 保守装置、リモート保守システム、その方法及びプログラム
TW200910272A (en) * 2007-08-29 2009-03-01 Chunghwa Telecom Co Ltd Home security monitoring and notification management system
KR20090003134A (ko) * 2008-12-15 2009-01-09 김동규 Pc 인증 기반의 불법 접속 방지 시스템과 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022010134A1 (ko) * 2020-07-07 2022-01-13 삼성전자 주식회사 메시지의 암호화 방법 및 전자 장치

Also Published As

Publication number Publication date
KR101428665B1 (ko) 2014-08-11

Similar Documents

Publication Publication Date Title
CN102232275B (zh) 密钥发布系统
KR101725847B1 (ko) 키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들
CN106850221B (zh) 信息加密、解密方法及装置
CN101753292B (zh) 用于链接式加密模式的方法和设备
US10650373B2 (en) Method and apparatus for validating a transaction between a plurality of machines
US8675864B2 (en) Apparatus for encrypting data
JP4130653B2 (ja) 擬似公開鍵暗号方法及びシステム
JP5167374B2 (ja) データ暗号化装置、及び、メモリカード
BR102018015221A2 (pt) Método para compartilhamento seguro de informações e sistema relacionado
JP2001007800A (ja) 暗号化装置および方法
CN1964257A (zh) 用于利用共享硬件生成密文和消息认证代码的方法和系统
CN102185694A (zh) 基于指纹信息的电子文件加密的方法及其系统
CN111082925B (zh) 基于aes算法和puf技术的嵌入式系统加密保护装置和方法
JP2014017556A5 (ko)
Panda Data security in wireless sensor networks via AES algorithm
JP2011512562A (ja) アクセス及び通信に関するデータのランダム暗号化及び復号化方法
RU2459367C2 (ru) Способ формирования переменного ключа для блочного шифрования и передачи шифрованных данных
CN114844630A (zh) 一种基于随机加密的物联网终端认证方法及系统
JP5289476B2 (ja) 通信装置および鍵算出装置
KR101428665B1 (ko) Aes-otp기반의 보안 시스템 및 방법
CN107846422A (zh) 一种网关的配置文件加密压缩和解密解压缩的方法
KR101602803B1 (ko) 편광을 이용한 암호화 및 복호화방법
JP5586758B1 (ja) 動的暗号化鍵生成システム
CN114499825A (zh) 一种双控密钥管理方法、系统、加密机和存储介质
Landge et al. VHDL based Blowfish implementation for secured embedded system design

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