KR101929355B1 - 고유 일련번호 및 대칭키를 이용한 암복호화 시스템 - Google Patents

고유 일련번호 및 대칭키를 이용한 암복호화 시스템 Download PDF

Info

Publication number
KR101929355B1
KR101929355B1 KR1020160170328A KR20160170328A KR101929355B1 KR 101929355 B1 KR101929355 B1 KR 101929355B1 KR 1020160170328 A KR1020160170328 A KR 1020160170328A KR 20160170328 A KR20160170328 A KR 20160170328A KR 101929355 B1 KR101929355 B1 KR 101929355B1
Authority
KR
South Korea
Prior art keywords
serial number
sender
encryption
virtual serial
virtual
Prior art date
Application number
KR1020160170328A
Other languages
English (en)
Other versions
KR20180068537A (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 KR1020160170328A priority Critical patent/KR101929355B1/ko
Publication of KR20180068537A publication Critical patent/KR20180068537A/ko
Application granted granted Critical
Publication of KR101929355B1 publication Critical patent/KR101929355B1/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

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

Abstract

본 발명은 암복호화 시스템에 관한 것으로서, 상세하게는 송신자 측의 암복호화 장치와 수신자 측의 암복호화 장치 간에 키를 전달하지 않고도 암호화 및 복호화에 동일한 키를 사용하는 대칭키 방식을 사용할 수 있는 고유 일련번호 및 대칭키를 이용한 암복호화 시스템에 관한 것이다. 이를 위하여, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 장치는 독립적으로 생성된 일련번호(A)와 상호 약속한 제1값(AB0)을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단방향 함수 암호화부와, 상호 약속한 제2값(AB1)과 상기 제1송신자 가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수(RA)와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 제1암호 엔진과, 상호 약속한 제3값(AB2)과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 복호 엔진과, 상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 연산부와, 상기 가상 복합 일련번호와 상호 약속한 제4값(AB3)을 입력받아 암복호화에 사용되는 최종키를 생성하는 제2암호 엔진을 포함한다.

Description

고유 일련번호 및 대칭키를 이용한 암복호화 시스템{Encryption and decryption system using unique serial number and symmetric cryptography}
본 발명은 암복호화 시스템에 관한 것으로서, 상세하게는 송신자 측의 암복호화 장치와 수신자 측의 암복호화 장치 간에 키를 전달하지 않고도 암호화 및 복호화에 동일한 키를 사용하는 대칭키 방식을 사용할 수 있는 고유 일련번호 및 대칭키를 이용한 암복호화 시스템에 관한 것이다.
외부의 침입으로부터 안전하게 데이터 정보를 보호하기 위해 데이터 정보는 암호화(cipher)하여 보관하며, 필요한 경우 암호화된 데이터 정보는 복호화(decipher)하여 꺼내 볼 수 있다.
암호화를 위한 방식에는 크게 대칭키 방식과 비대칭키 방식이 있다.
대칭키 방식은 암호화에 사용되는 키와 복호화에 사용하는 키가 동일한 것으로, 비대칭키 방식에 비해 암복호화 방법이 단순하고 직관적이어서 데이터 처리 속도가 빠르며 하드웨어나 소프트웨어로 쉽게 작게 구현할 수 있는 장점이 있다.
반면에 암호화 및 복호화에 사용하는 키가 동일하여 송신자와 수신자에게 비밀리에 키를 전달해야 하는 전용 채널이 있어야하므로 키관리가 상당히 어렵다는 문제점이 있다.
비대칭키 방식은 한 쌍의 키를 사용하여 하나가 암호화키로 사용되면 다른 하나는 복호화키로 사용되는 것이다.
비대칭키 방식은 한 쌍의 키에서 어느 하나를 공개키로 설정할 경우 다른 하나는 비밀키로 설정되기 때문에 기밀성, 무결성, 가용성 등에서 유리한 점이 있다.
반면에 암호화키와 복호화키가 한 쌍의 구조로 되어 암복호화 과정이 복잡하여 데이터 처리 속도가 느리며 하드웨어나 소프트웨어로 구현 시 크기가 크고 전류소모가 많다는 문제점이 있다.
한국공개특허 제2016-0131620호
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 본 발명의 목적은 대칭키의 암복호화 방식을 사용하면서도 비대칭키의 키관리를 사용할 수 있는 암복호화 시스템을 제공하는 것이다.
본 발명의 다른 목적은 송신자와 수신자 간에 키를 전달하지 않고도 암복호화 시에 동일한 키를 사용할 수 있는 암복호화 시스템을 제공하는 것이다.
이를 위하여, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 장치는 독립적으로 생성된 일련번호(A)와 상호 약속한 제1값(AB0)을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단방향 함수 암호화부와, 상호 약속한 제2값(AB1)과 상기 제1송신자 가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수(RA)와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 제1암호 엔진과, 상호 약속한 제3값(AB2)과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 복호 엔진과, 상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 연산부와, 상기 가상 복합 일련번호와 상호 약속한 제4값(AB3)을 입력받아 암복호화에 사용되는 최종키를 생성하는 제2암호 엔진을 포함한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 장치는 동일한 통신 그룹을 나타내는 그룹 ID와 상호 약속한 제1값(AB0)을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단방향 함수 암호화부와, 상호 약속한 제2값(AB1)과 상기 제1송신자 가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수(RA)와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 제1암호 엔진과, 상호 약속한 제3값(AB2)과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 복호 엔진과, 상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 연산부와, 상기 가상 복합 일련번호와 상호 약속한 제4값(AB3)을 입력받아 암복호화에 사용되는 최종키를 생성하는 제2암호 엔진을 포함한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 시스템은 송신자의 암복호화 장치와 수신자의 암복호화 장치로 구성된 암복호화 시스템에 있어서, 상기 송신자 암복호화 장치는 상기 수신자 암복호화 장치와 독립적으로 생성된 일련번호를 이용하여 송신자 가상 일련번호를 생성하고, 송신자 가상 일련번호를 이용하여 송신자 키베이스 신호를 생성하고, 상기 수신자 암복호화 장치로부터 수신자 키베이스 신호를 수신하여 수신자 키베이스 신호로부터 수신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하고, 상기 수신자 암복호화 장치는 상기 송신자 암복호화 장치와 독립적으로 생성된 일련번호를 이용하여 수신자 가상 일련번호를 생성하고, 수신자 가상 일련번호를 이용하여 수신자 키베이스 신호를 생성하고, 상기 송신자 암복호화 장치로부터 송신자 키베이스 신호를 수신하여 송신자 키베이스 신호로부터 송신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 것을 특징으로 한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 시스템은 송신자의 암복호화 장치와 수신자의 암복호화 장치로 구성된 암복호화 시스템에 있어서, 상기 송신자 암복호화 장치는 상기 수신자 암복호화 장치와 동일한 그룹을 나타내는 그룹 ID를 이용하여 송신자 가상 일련번호를 생성하고, 송신자 가상 일련번호를 이용하여 송신자 키베이스 신호를 생성하고, 상기 수신자 암복호화 장치로부터 수신자 키베이스 신호를 수신하여 수신자 키베이스 신호로부터 수신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하고, 상기 수신자 암복호화 장치는 상기 송신자 암복호화 장치와 동일한 그룹을 나타내는 그룹 ID를 이용하여 수신자 가상 일련번호를 생성하고, 수신자 가상 일련번호를 이용하여 수신자 키베이스 신호를 생성하고, 상기 송신자 암복호화 장치로부터 송신자 키베이스 신호를 수신하여 송신자 키베이스 신호로부터 송신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 것을 특징으로 한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 장치는 독립적으로 생성된 일련번호(A)와 상호 약속한 제1값을 입력받아 제1가상 일련번호(A1)를 생성하는 단방향 함수 암호화부와, 상호 약속한 제2값과 상기 제1가상 일련번호(A1)를 입력받아 제2가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수와 상기 제2가상 일련번호(A2)를 연산하여 키베이스 신호를 출력하는 제1암호 엔진과, 상호 약속한 제3값과 제5값을 입력받아 제3가상 일련번호(B1)를 생성하는 복호 엔진과, 상기 제1가상 일련번호(A1)와 상기 제3가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 연산부와, 상기 가상 복합 일련번호와 상호 약속한 제4값을 입력받아 암복호화에 사용되는 최종키를 생성하는 제2암호 엔진을 포함한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 방법은 암복호화 장치에서 최종키를 생성하는 방법에 있어서, 독립적으로 생성된 일련번호(A)와 상호 약속한 제1값을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단계와, 상호 약속한 제2값과 상기 제1가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 단계와, 상호 약속한 제3값과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 단계와, 상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 단계와, 상기 가상 복합 일련번호와 상호 약속한 제4값을 입력받아 암복호화에 사용되는 최종키를 생성하는 단계를 포함한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 방법은 암복호화 장치에서 최종키를 생성하는 방법에 있어서, 동일한 그룹을 나타내는 그룹 ID와 상호 약속한 제1값을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단계와, 상호 약속한 제2값과 상기 제1가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 단계와, 상호 약속한 제3값과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 단계와, 상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 단계와, 상기 가상 복합 일련번호와 상호 약속한 제4값을 입력받아 암복호화에 사용되는 최종키를 생성하는 단계를 포함한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 방법은 송신자의 암복호화 장치와 수신자의 암복호화 장치로 구성된 암복호화 시스템에서의 암복호화 방법에 있어서, 상기 송신자 암복호화 장치가 상기 수신자 암복호화 장치와 독립적으로 생성된 일련번호를 이용하여 송신자 가상 일련번호를 생성하고, 송신자 가상 일련번호를 이용하여 송신자 키베이스 신호를 생성하고, 상기 수신자 암복호화 장치로부터 수신자 키베이스 신호를 수신하여 수신자 키베이스 신호로부터 수신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 단계와, 상기 수신자 암복호화 장치가 상기 송신자 암복호화 장치와 독립적으로 생성된 일련번호를 이용하여 수신자 가상 일련번호를 생성하고, 수신자 가상 일련번호를 이용하여 수신자 키베이스 신호를 생성하고, 상기 송신자 암복호화 장치로부터 송신자 키베이스 신호를 수신하여 송신자 키베이스 신호로부터 송신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 단계를 포함한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 방법은 송신자의 암복호화 장치와 수신자의 암복호화 장치로 구성된 암복호화 시스템에서의 암복호화 방법에 있어서, 상기 송신자 암복호화 장치가 상기 수신자 암복호화 장치와 동일한 그룹을 나타내는 그룹 ID를 이용하여 송신자 가상 일련번호를 생성하고, 송신자 가상 일련번호를 이용하여 송신자 키베이스 신호를 생성하고, 상기 수신자 암복호화 장치로부터 수신자 키베이스 신호를 수신하여 수신자 키베이스 신호로부터 수신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 단계와, 상기 수신자 암복호화 장치가 상기 송신자 암복호화 장치와 동일한 그룹을 나타내는 그룹 ID를 이용하여 수신자 가상 일련번호를 생성하고, 수신자 가상 일련번호를 이용하여 수신자 키베이스 신호를 생성하고, 상기 송신자 암복호화 장치로부터 송신자 키베이스 신호를 수신하여 송신자 키베이스 신호로부터 송신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 단계를 포함한다.
또한, 본 발명에 따른 고유 일련번호 및 대칭키를 이용한 암복호화 방법은 암복호화 장치에서 최종키를 생성하는 방법에 있어서, 독립적으로 생성된 일련번호(A)와 상호 약속한 제1값을 입력받아 제1가상 일련번호(A1)를 생성하는 단계와, 상호 약속한 제2값과 상기 제1가상 일련번호(A1)를 입력받아 제2가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수와 상기 제2가상 일련번호를 연산하여 키베이스 신호를 출력하는 단계와, 상호 약속한 제3값과 제5값을 입력받아 제3가상 일련번호(B1)를 생성하는 단계와, 상기 제1가상 일련번호(A1)와 상기 제3가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 단계와, 상기 가상 복합 일련번호와 상호 약속한 제4값을 입력받아 암복호화에 사용되는 최종키를 생성하는 단계를 포함한다.
상술한 바와 같이, 본 발명에 따른 암복호화 시스템은 다음과 같은 효과가 있다.
대칭키의 암복호화 방식을 사용하면서 비대칭키의 키관리를 사용하는 방법으로서 종래 디피헬만(Diffie-Hellman) 방식이 제안되었으나, 디피헬만 방식은 계산 자체가 매우 크기 때문에 실제로 적용하는데 어려움이 있는 반면, 본 발명은 디피헬만 방식에 비해 크기가 큰 지수 연산을 사용하지 않기 때문에 암복호화 수행의 크기를 최소화할 수 있는 효과가 있다.
본 발명은 일반적인 암호 및 복호 엔진의 알고리즘을 사용하므로 키관리의 기밀성을 보장할 수 있으며, 키 생성 및 관리에 사용한 암호 및 복호 엔진을 키 생성 후에 실제 데이터의 암복호화에 사용할 수 있어서 암복호화 장치의 크기를 감소시킬 수 있다.
본 발명은 독립적으로 생성되는 일련번호 및 상호 약속한 값을 통해 고유한 일련번호(serial number) 즉, 전 세계에서 하나 뿐인 번호를 기반으로 각 디바이스에서 독자적인 무제한의 고유 일련번호를 만들 수 있다.
본 발명은 키 생성을 위한 시간이 일반적인 비대칭키나 디피헬만 방식에 비해 상대적으로 짧으며, 대칭키를 생성하므로 고속 신호 처리가 가능한 효과가 있다.
본 발명은 랜덤한 번호에 의해 매회 다른 키를 생성할 수 있으며, 상호 약속된 값을 부가하여 키의 길이를 쉽게 확장할 수 있다.
도 1은 본 발명의 제1실시예에 따른 암복호화 시스템의 구성도.
도 2는 본 발명의 제2실시예에 따른 암복호화 시스템의 구성도.
도 3은 본 발명의 제3실시예에 따른 암복호화 시스템의 구성도.
도 4는 본 발명에 제4실시예에 따른 암복호화 장치의 구성도.
도 5는 본 발명의 실시예에 따른 암복호화 방법의 순서도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다.
본 발명의 상세한 설명에 앞서, 동일한 구성요소에 대해서는 다른 도면상에 표시되더라도 가능한 동일한 부호로 표시하며, 공지된 구성에 대해서는 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 구체적인 설명은 생략하기로 함에 유의한다.
도 1은 본 발명의 제1실시예에 따른 암복호화 시스템의 개략적인 구성을 나타낸 것이다.
송신자와 수신자 간에 데이터를 교환할 때, 송신자는 평문을 암호화하여 암호문을 전송하고 수신자는 암호문을 수신하여 평문으로 복호화한다.
송신자와 수신자는 데이터의 암복호화를 위해 각각 동일한 암복호화 장치를 구비한다.
도 1에 도시된 바와 같이, 제1암복호화 장치(10)와 제2암복호화 장치(20)는 송신자와 수신자에 각각 구비된다.
즉, 제1암복호화 장치(10)는 송신자의 암복호화 장치가 되고, 제2암복호화 장치(20)는 수신자의 암복호화 장치가 되어, 상호 간에 통신하며 데이터의 암복호화를 수행한다.
설명의 편의상, 제1암복호화 장치(10)를 송신자의 암복호화 장치로 하고 제2암복호화 장치(20)를 수신자의 암복호화 장치로 하였으나, 상호간 데이터를 교환하므로 송신자와 수신자가 서로 바뀔 수 있음은 당연하다.
제1암복호화 장치(10)와 제2암복호화 장치(20)는 내부 구성요소가 동일하며 두 장치가 송신자와 수신자 간의 암복호화 시스템을 구성한다.
이하, 암복호화 시스템이라고 하면 제1암복호화 장치(10) 및 제2암복호화 장치(20)로 구성된 시스템을 의미한다.
제1암복호화 장치(10)와 제2암복호화 장치(20)는 각자 생성한 일련번호와 상호 약속한 값들을 이용하여 최종키를 전달하지 않고도 최종키를 일치시킬 수 있다.
도 1에서, 제1암호화 장치(10)는 단방향 함수 암호화부(11), 제1암호 엔진(12), 난수 발생기(13), 복호 엔진(14), 연산부(15), 제2암호 엔진(16) 등을 포함한다.
단방향 함수 암호화부(11)는 상호 약속한 제1값(AB0)과 일련번호(A)를 입력받아 제1가상 일련번호(A1)를 생성한다. 단방향 함수 암호화부(11)는 SHA2와 같은 알고리즘을 사용할 수 있다. 제1암호화 장치(10)가 송신자이므로 제1가상 일련번호(A1)는 제1송신자 가상 일련번호가 될 수 있다.
제1암호화 장치(10)에서 생성되는 일련번호(A)는 제2암호화 장치(20)와 독립적으로 만들어진다.
일련번호(A)는 PUF(Physical Unclonable Function)에 의해 최초 칩 테스트 시에 자동으로 랜덤하게 만들어진다. PUF는 물리적 해킹이 어려운 일련번호 제조 방식으로 제품 제조 시에 물리적인 일련번호를 부여하는 것이며, 일단 생성된 일련번호는 외부의 환경변화나 작동에 의해 변경 또는 변조되지 않는다.
제1암호 엔진(12)은 상호 약속한 제2값(AB1)과 제1가상 일련번호(A1)를 입력받아 제2가상 일련번호(A2)를 생성하고, 난수 발생부(13)에서 생성된 난수(RA)와 제2가상 일련번호(A2)를 연산하여 키베이스 신호(A2+RA)를 출력한다. 제1암호화 장치(10)가 송신자이므로 제2가상 일련번호(A2)는 제2송신자 가상 일련번호가 되고, 키베이스 신호(A2+RA)는 송신자 키베이스 신호가 될 수 있다.
제1암호 엔진(12)에서 출력된 키베이스 신호(A2+RA)는 제2암복호화 장치(20)로 전달되며 이때, 난수(RA)도 별도로 제2암복호화 장치(20)로 전달된다.
복호 엔진(14)은 상호 약속한 제3값(AB2)과 제2암복호화 장치(20)로부터 받은 키베이스 신호(B2+RB)를 입력받아 제1가상 일련번호(B1)를 생성한다. 여기서, 제2암복호화 장치(20)가 수신자이므로 제2암복호화 장치(20)로부터 받은 키베이스 신호(B2+RB)는 수신자 키베이스 신호가 되고, 제1가상 일련번호(B1)는 제1수신자 일련번호가 될 수 있다.
연산부(15)는 단방향 함수 암호화부(11)에서 생성된 제1가상 일련번호(A1)와 복호 엔진(14)에 생성된 제1가상 일련번호(B1)를 연산하여 가상 복합 일련번호(A1+B1)를 생성한다.
연산부(15)는 교환 법칙이 성립하는 연산(XOR, OR, AND)을 수행하는 것으로, 입력되는 두 값의 순서가 바뀌어도 동일한 결과 값을 출력한다.
제2암호 엔진(16)은 상호 약속한 제4값(AB3)과 가상 복합 일련번호(A1+B1)를 입력받아 최종키(AB)를 생성한다.
상술한 제1암호화 장치(10)에 대한 설명은 제2암호화 장치(20)에도 동일하게 적용될 수 있다.
단방향 함수 암호화부(21)는 상호 약속한 제1값(AB0)과 일련번호(B)를 입력받아 제1가상 일련번호(B1)를 생성한다. 제2암호화 장치(20)가 수신자이므로 제1가상 일련번호(B1)는 제1수신자 가상 일련번호가 될 수 있다.
제1암호 엔진(22)은 상호 약속한 제2값(AB1)과 제1가상 일련번호(B1)를 입력받아 제2가상 일련번호(B2)를 생성하고, 난수 발생부(23)에서 생성된 난수(RB)와 제2가상 일련번호(B2)를 연산하여 키베이스 신호(B2+RB)를 출력한다. 제2암호화 장치(20)가 수신자이므로 제2가상 일련번호(B2)는 제2수신자 가상 일련번호가 되고, 키베이스 신호(B2+RB)는 수신자 키베이스 신호가 될 수 있다.
제1암호 엔진(22)에서 출력된 키베이스 신호(B2+RB)는 제1암복호화 장치(10)로 전달되며 이때, 난수(RB)도 별도로 제1암복호화 장치(10)로 전달된다.
복호 엔진(24)은 상호 약속한 제3값(AB2)과 제1암복호화 장치(10)로부터 받은 키베이스 신호(A2+RA)를 입력받아 제1가상 일련번호(A1)를 생성한다. 여기서, 제1암복호화 장치(20)가 송신자이므로 제1암복호화 장치(10)로부터 받은 키베이스 신호(A2+RA)는 송신자 키베이스 신호가 되고, 제1가상 일련번호(A1)는 제1송신자 일련번호가 될 수 있다.
연산부(25)는 단방향 함수 암호화부(21)에서 생성된 제1가상 일련번호(B1)와 복호 엔진(24)에 생성된 제1가상 일련번호(A1)를 연산하여 가상 복합 일련번호(A1+B1)를 생성한다.
제2암호 엔진(26)은 상호 약속한 제4값(AB3)과 가상 복합 일련번호(A1+B1)를 입력받아 최종키(AB)를 생성한다.
이와 같이, 제1암복호화 장치(10)와 제2암복호화 장치(20)는 최종키 생성을 위한 기초 데이터가 되는 키베이스 신호를 교환함으로써 최종키를 전달하지 않아도 상호 간에 최종키를 일치시킬 수 있다.
도 1에서, 제1암호 엔진(12, 22), 복호 엔진(14, 24), 제2암호 엔진(16, 26)은 각각 독립적인 하드웨어로 존재하고 있으나, 출력신호 피드백 구조를 사용하면 하드웨어 개수를 줄 일 수 있다. 실제로 하나의 암복호화 엔진을 사용하여 제1암호화 장치(10) 및 제2암호화 장치(20)를 구성할 수 있다.
이러한 암복호화 시스템에 대하여 해킹을 하려면 암호 엔진 및 복호 엔진의 구조, 연산 알고리즘, 일련번호를 파악해야 한다.
일련번호를 읽어내는 방법을 만들지 않을 경우, 이를 확인하기 위해서는 암복호화 칩을 구해서 층별로 해부 및 분석하는 FIB(Focus Ionized Beam) 조사를 통해 일련번호를 알아내야 하는데, 이는 매우 번거로우며 많은 비용을 필요로 하고 나노공정의 특성상 실패할 확률이 높다. 따라서 본 발명에서 사용하는 일련번호를 해독하는 것은 매우 어렵고 그에 따라 해킹은 거의 불가능하다.
도 2는 본 발명의 제2실시예에 따른 암복호화 시스템의 개략적인 구성을 나타낸 것이다.
도 2에 도시된 암복호화 장치는 도 1과 구성요소가 동일하나, 독립적인 일련번호가 입력되는 대신에 동일한 그룹을 나타내는 그룹 ID가 입력되는 점이 다르다.
제1암복호화 장치(10)와 제2암복호화 장치(20)는 도 1에서 설명한 바와 같이, 동일한 방법으로 최종키를 전달하는 과정 없이 최종키를 일치시키고 있으나, 일련번호 대신에 동일한 그룹을 나타내는 그룹 ID를 사용하여 최종키를 생성한다.
제2실시예에서는 동일한 그룹을 나타내는 그룹 ID를 사용하므로 제1암복호화 장치(10)와 제2암복호화 장치(20)가 같은 그룹임을 알 수 있다. 다수의 제품군에서 동일한 그룹 ID를 사용하여 인증을 쉽게 할 수 있다.
제1암복호화 장치(10)에서 생성되는 제1가상 일련번호(A1)와 제2암복호화 장치(20)에서 생성되는 제1가상 일련번호(B1)가 동일하므로 상호 교환되는 키베이스 신호도 동일하다. 이처럼 제1암복호화 장치(10)와 제2암복호화 장치(20)가 동일한 키베이스 신호를 출력하므로 동일한 제품군이라는 것을 인증할 수 있다.
도 3은 본 발명의 제3실시예에 따른 암복호화 시스템의 개략적인 구성을 나타낸 것이다.
도 3에 도시된 암복호화 시스템은 도 2와 동일하나, 복수의 대상이 최종키를 생성하는 점이 다르다.
도 1 및 도 2는 송신자와 수신자가 1:1로 대응되는 구조로 두 암복호화 장치 간에만 키가 생성되어 한 암복호화 장치에서 암호화된 데이터는 상대방의 암복호화 장치에서만 복호화될 수 있다.
이에 대하여 본 발명의 제3실시예에 따른 암복호화 시스템은 송신자와 수신자가 1:1 아닌 1:N 또는 M:N으로 대응될 수 있다.
도 3에서는 제1암복호화 장치(10)와 복수의 제2암복호화 장치(20)가 상호 통신하는 것으로 1:N의 통신 형태를 나타내고 있으나, M:N의 통신 형태가 될 수 있음은 물론이다.
제1암복호화 장치(10)는 복수의 제2암복호화 장치(20)로 키베이스 신호를 전송하고, 복수의 제2암복호화 장치(20)로부터 각각 키베이스 신호를 수신한다. 제1암복호화 장치(10)는 복수의 제2암복호화 장치(20)로부터 수신한 키베이스 신호를 이용하여 각각의 제2암복호화 장치에 대한 최종키를 생성하고, 복수의 제2암복호화 장치(20)도 제1암복호화 장치(10)로부터 수신한 키베이스 신호를 이용하여 최종키를 생성한다.
예를 들어, 제1암복호화 장치(10)가 3개의 제2암복호화 장치(20)와 통신하는 1:3 통신 형태인 경우, 제1암복호화 장치(10)와 제2암복호화 장치(20-1)간 가상 일련번호(A1, B1)를 이용한 최종키(AB)가 생성되고, 제1암복호화 장치(10)와 제2암복호화 장치(20-2)간 가상 일련번호(A1, C1)를 이용한 최종키(AC)가 생성되고, 제1암복호화 장치(10)와 제2암복호화 장치(20-3)간 가상 일련번호(A1, D1)를 이용한 최종키(AD)가 생성될 수 있다.
도 4는 본 발명에 제4실시예에 따른 암복호화 장치의 내부 구성을 나타낸 것이다.
암복호화는 두 개체 간의 정보 교환 과정에서 발생하는 것으로 두 개체 간에 동일한 키를 생성하고 암호문을 교환하는 것이 일반적이다. 그런데 내가 데이터를 암호화하고 그 암호화한 데이터를 나 혼자만 봐야하는 경우도 있을 수 있다. 이러한 경우 1:1 암호화에 대해 1:0 암호화라고 할 수 있다.
도 4를 참조하면, 1:0 암호화로서 암복호화 장치가 하나로 구성된 것을 나타낸다.
도 4에 도시된 암복호화 장치는 도 1에 도시된 암복호화 장치와 거의 동일하나, 다른 암복호화 장치와 키베이스 신호를 교환하지 않으므로 복호 엔진(14‘)이 키베이스 신호가 아니라 상호 약속한 제5값(AB4)을 이용하여 제3가상 일련번호(B1)를 생성한다.
따라서 연산부(15)는 제1가상 일련번호(A1)와 제3가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성한다.
이와 같이 암복호화 장치는 다른 암복호화 장치와 키베이스 신호를 교환하지 않으므로 자신만의 유일한 비밀키를 가진다.
따라서 하나의 암복호화 장치로 구성된 경우 암호화된 데이터는 다른 암복호화 장치에서 복호화될 수 없으며 오직 자신의 암복호화 장치에서만 복호화될 수 있다.
도 5는 본 발명의 제1실시예에 따른 암복호화 방법에서 키생성 과정을 나타낸 것이다.
설명의 편의를 위해, 키생성 과정은 송신자의 암복호화 장치에서 수행되는 것으로 가정하여 설명한다.
도 5를 참조하면, 먼저 암복호화 장치는 독립적으로 생성한 일련번호(A)와 수신자의 암복호화 장치와 상호 약속한 제1값을 이용하여 제1송신자 가상 일련번호(A1)를 생성한다(S10).
다음, 제1송신자 가상 일련번호(A1)와 상호 약속한 제2값을 이용하여 제2송신자 가상 일련번호(A2)를 생성한다(S20).
다음, 난수 발생기에서 생성된 난수와 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력한다(S30). 송신자 키베이스 신호는 수신자의 암복호화 장치로 전송된다.
이어서 상호 약속한 제3값과 수신자 키베이스 신호를 이용하여 제1수신자 가상 일련번호(B1)를 생성한다(S40). 수신자 키베이스 신호는 수신자의 암복호화 장치로부터 수신된다.
다음, 제1송신자 가상 일련번호(A1)와 제1수신자 가상 일련번호(B1)를 연산하여 가상 복합 일련신호(A1+B1)를 생성한다(S50).
그리고 마지막으로 가상 복합 일련신호(A1+B1)와 상호 약속한 제4값을 이용하여 최종키를 생성한다(S60).
제2실시예에 따른 암복호화 방법은 도 5에서 설명한 키생성 과정을 수행하나, 일련번호 대신 동일한 그룹을 나타내는 그룹 ID를 사용하는 것이 다르다.
제3실시예에 따른 암복호화 방법은 도 5에서 설명한 키생성 과정을 수행하나, 일련번호 대신 동일한 그룹을 나타내는 그룹 ID를 사용하며 그룹 ID를 사용하는 키생성 과정이 복수의 송신자와 수신자 간에 수행되는 점이 다르다.
제4실시예에 따른 암복호화 방법은 도 5에서 설명한 키생성 과정과 유사하나, 다른 암복호화 장치와 키베이스 신호를 교환하지 않으므로 다른 암복호화 장치의 가상 일련번호를 사용하는 대신 상호 약속한 제5값을 이용하여 새로운 가상 일련번호를 생성하는 점이 다르다.
지금까지 상술한 암복호화 시스템은 다음과 같은 분야에 응용될 수 있다.
1. CPND (Contents, Platform, Network, Device)
1-1. Contents(콘텐츠)
디지털 콘텐츠 복제 방지
태블릿 PC, 스마트폰, IPTV 등에서 방송 디지털 콘텐츠에 대한 보안은 필수적이다. 기존 디지털 콘텐츠 보안을 위해 MS-Windows, Android, iPhone 등은 모두 각각의 DRM을 구성하여 사용하였고 매우 복잡하고 회사 간 통일되지 않은 CAS(Conditional Access System)를 구현하였다.
본 발명에 따른 암복호화 장치를 서버와 클라이언트에 설치하면, 서버와 클라이언트가 동일한 키를 생성하여 서버에서 디지털 콘텐츠를 암호화하고 단말기에서는 디지털 콘텐츠를 복호화할 수 있다.
디지털 콘텐츠 암복호화 키관리 및 인증
1:1로 연결하여 키를 전송하는 경우 서버에서 키를 암호화하고 단말기에서 복호화한다.
디바이스가 자사 제품인지 인증하기 위해 그룹 ID를 사용할 수 있다.
요금 부과를 위해 디바이스의 고유 일련번호를 사용하여 사용자를 인증할 수 있다.
일정 조건을 부가하여 사용자의 가상 일련번호를 알아내어 맞는 사용자인지 확인하는 인증 절차는 1:1 암호 교환을 통해 수행할 수 있다.
서버는 디지털 콘텐츠를 암호화하여 보관하고 디지털 콘텐츠 사용자의 기기를 인증하거나 키관리 또는 키분배를 할 수 있다.
사용자 단말기는 디지털 콘텐츠를 복호화할 때 사용할 키를 복호화하거나 콘텐츠 자체를 복호화할 때 서버로부터 분배된 키를 사용할 수 있다.
1-2. Platform(플랫폼)
라즈베리파이나 아두이노 등의 일반적인 플랫폼으로 상용화 제품을 만드는 경우 디바이스별로 내부 프로그램 보호가 필요하다. 이런 플랫폼 디바이스의 메모리에 저장된 데이터를 암호화하여 보호할 수 있다.
플랫폼의 디바이스의 메모리에 저장된 데이터를 복제하여 다른 플랫폼에 이식하더라도 일련번호나 그룹 ID가 다르므로 동작하지 않는다. 플랫폼 다비이스마다 일련번호가 다른 암복호화 칩을 탑재하여 독자적인 암호 및 복호를 구성함으로써 무단 복제를 방지할 수 있다.
1-3. Network(네트워크)
네트워크 AP(Access Point), 스위치, 허브 등은 일반적으로 동일한 구조이다. 서버도 일반적으로 동일한 구조이므로, 각각의 디바이스별로 ID를 부여하는 것은 매우 어렵다. 물론 MAC 어드레스 기반으로 구분하기도 하지만 MAC 어드레스 변조에 의해 복제가 가능하다.
본 발명에 따른 암복호화 장치를 네트워크 장비, 즉 AP, 랜, 스위치, 허브, 서버 등에 장착할 경우 독자적인 암복호화를 구성할 수 있고 그룹 ID를 통해 인증을 할 수 있다.
그룹 ID는 회사별로 하나만 공급하기 때문에 다른 회사에서는 동일한 인증을 할 수 없다.
1-4. Device(디바이스)
모바일 기기, 셋톱박스, IPTV, 블랙박스 등에서 디바이스의 복제방지, 인증, 키관리, 디바이스 내의 데이터 암호화 등에 사용될 수 있다.
디바이스 정보의 독창성을 유지하거나 복제할 수 있기 때문에 사용자가 임의로 디바이스를 교체할 경우 이전 디바이스의 환경을 그대로 가져올 수 있다.
예를 들면, 휴대폰을 교체할 경우 이전 휴대폰의 주소록, 전자 우편 환경, 인스톨프로그램 등의 정보를 클라우드에 암호화하여 보관하고 있다가 신규 휴대폰의 인증 후에 그대로 복제하여 가져올 수 있다.
2. ICBM( IoT , Cloud, Big Data, Mobile)
2-1. IoT(사물 인터넷)
전력 계수기, 헬스케어, 보일러, 가스밸브, 도어락 같은 제품은 보안에 매우 민감하다. 터미널에서 서버로 센서정보를 보낼 때 PKI나 AES 등과 같이 복잡한 신호처리를 하려면 CPU와 주변 부품의 가격이 비싸게 된다. 최소한 ARM7 이상 플래시 메모리와 DRAM을 탑재해야 하는데 각 부품의 가격도 비싸고 전류소모도 많으며 크기도 크다는 문제점이 있다.
본 발명에 따른 암복호화 알고리즘은 크기와 규모가 작아서 저렴한 가격의 MCU 또는 CPU만 사용해도 고도의 암호화 및 키관리가 가능하다.
IoT 단말에서 혈당, 맥박, 혈압, 체온 등의 지극히 개인적인 정보를 저가의 MCU를 사용하면서도 암호화하고 서버에서 복호화할 수 있게 된다.
또한, 가스밸브, 보일러, 도어락 등의 장비를 휴대폰으로 통제할 때 해킹이 되면 매우 위험해진다. 본 발명에 따른 암복호화 장치를 사용하면 1:1 암복호화를 통해 센서 데이터나 동작 데이터를 안전하게 전송할 수 있다.
2-2. Cloud(클라우드)
본 발명에 따른 암복호화 장치는 클라우드의 데이터 보안에 사용될 수 있다.
DropBox, Ndrive, Google Drive 등과 같은 네트워크 디바이스에 저장되는 데이터는 ID 정보나 패스워드만 알면 누구나 들어가 열람할 수 있다.
본 발명에 따른 암복호화 장치는 개인별로 암호화를 형성하여 다른 장비에서는 복호화가 불가능한 1:0 암복호화를 구현할 수 있다.
또한, 양자간 1:1로 키를 생성한 후 두 장치 간에만 암복호화를 설정할 수 있고, 1:N, M:N의 키관리를 실행한 경우 최초 키관리나 키생성에 동참한 사람만 암복호화를 할 수 있다. 따라서 본 발명을 사용하면 클라우드 데이터를 외부의 침입자로부터 간편하고 안전하게 보호할 수 있다.
2-3. Big Data(빅 데이터)
일부 또는 전부의 정보를 암호화하는 기능을 사용하여 민감한 개인정보를 암호화하여 전송할 수 있다.
빅 데이터를 취급하는 입장에서는 개인정보를 열람할 수 없으므로 오직 통계 등의 안전한 방법에 의해서만 접근할 수 있다.
빅 데이터에 대한 처리 시 민감한 개인정보를 본 발명을 통해 능동적으로 암호화하여 개인정보 유출을 방지하고, 빅 데이터를 취급하는 입장에서는 개인정보가 유출되는 사고로 소송이나 분쟁에 휘말리는 것을 방지할 수 있다.
2-4. Mobile(모바일)
주소, 일정, 사용 프로그램, 전화번호부, 계좌정보 등은 매우 민감한 개인정보이므로 타인의 접근이 허용되어서는 안 된다. 본 발명에 따른 암복호화 장치를 통해 모바일 정보의 유출을 방지할 수 있다.
3. TGIF ( Twiter , Google, iPhone , Facebook )
트위터, 구글, 아이폰, 페이스북 등의 소셜 네트워크에서의 암복호화에 사용될 수 있다. 또한, 게임머니, 전자쿠폰, 포인트 등과 같이 돈과 관련된 아이템이 해킹될 경우 치명적인 피해가 발생하므로 이러한 아이템의 암복호화에 사용될 수 있다.
다음은 본 발명에 따른 암복호화 장치의 구체적인 활용 예를 살펴본다.
1. 비밀통신 장치
휴대폰의 양단에 본 발명에 따른 암복호화 장치를 설치하여 비밀 통신을 구현할 수 있다.
예를 들어, 휴대폰의 CPU에 직접 암복호화 장치를 연결하거나, Micro SD, USB, 블루투스, NFC 등을 통해 암복호화 장치를 연결하여 구현할 수 있다.
2. IoT 보안
IoT 단말에 본 발명에 따른 암복호화 장치를 설치하고, 센서 데이터를 수집하는 서버에도 암복호화 장치를 설치할 수 있다.
1:1이나 1:N 통신에 응용되고, IoT 장치의 일련번호 부여에도 응용될 수 있다.
IoT 단말이 센서 데이터를 암호화해서 서버로 전송하는 경우, 본 발명에 따라 간편하게 키관리와 보안 통신을 수행할 수 있다.
서버에서는 USB, PCIx 등의 일반 버스 통신을 통해서 본 발명에 따른 암복호화 장치와 통신하여 하드웨어적으로 연결될 수 있다. 또는 간편하게 암복호화 장치를 소프트웨어적으로 모델링하여 보안 통신을 구현할 수도 있다.
본 발명에 따른 암복호화 장치는 IoT 단말에서 크게 3부분에 적용될 수 있다.
IoT 센서의 보안
IoT 센서가 센서 데이터를 암호화하여 서버나 스마트폰까지 전송한다. IoT 센서에서 컨트롤러까지 E2E로 암호화되고 키관리가 적용되므로 중간에 해킹될 우려가 적어진다.
IoT 센서뿐만 아니라 여러 IoT 센서의 센서 데이터를 모아 서버로 전달하는 게이트웨이에도 적용될 수 있다. 게이트웨이는 각 센서의 데이터를 모아 서버로 보내거나 서버의 통제신호를 센서까지 전송하는 장치이다.
IoT 서버의 보안
IoT 서버와 IoT 단말 간의 암복호화는 서버 내 프로그램에 1:1 또는 1:N 암복호화를 모델링하여 구현할 수 있다. 다른 방식으로 서버의 일반 통신 버스, 즉 USB나 PCI Express 등의 인터페이스를 통해서 서버가 본 발명의 암복호화 장치와 통신할 수 있다.
IoT 컨트롤러의 보안
일반적으로 IoT 컨트롤러는 사용자의 댁내 장치를 제어하는데 사용될 수 있다. 스마트폰으로 구현할 수 있는데, 중간 서버가 없을 경우 댁내의 게이트웨이에 직접 연결되거나 서버에 연결되는 구조이다.
본 발명의 암복호화 장치를 스마트폰의 인터페이스를 통해 연결하거나 서버와 같이 소프트웨어적으로 모델링하여 암복호화 통신을 구현할 수 있다.
3. 클라우드 저장장치의 보안
클라우드 저장장치에 본 발명의 암복호화 장치를 E2E로 구현할 수 있다.
클라우드 저장장치에 본 발명의 암복호화 장치가 1:0으로 구현되는 경우, 하나의 기기에서만 암복호화가 수행될 수 있다.
클라우드 저장장치는 1:0외에 1:1 또는 M:N의 암복호화도 가능하다.
클라우드 저장장치에서도 본 발명의 암복호화 장치를 별도의 하드웨어로 추가하지 않고 프로그램으로 모델링하여 구현할 수 있다.
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다.
따라서 본 발명의 명세서에 개시된 실시예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.
10: 제1암복호화 장치 20: 제2암복호화 장치
11, 21: 단방향 함수 암호화 12, 22: 제1암호 엔진
13, 23: 난수 발생기 14, 24: 복호 엔진
15, 25: 연산부 16, 26: 제2암호 엔진

Claims (10)

  1. 독립적으로 생성된 일련번호(A)와 상호 약속한 제1값(AB0)을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단방향 함수 암호화부와,
    송신자와 수신자가 교환하지 않고 미리 상호 약속한 제2값(AB1)과 상기 제1송신자 가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수(RA)와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 제1암호 엔진과,
    송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 제3값(AB2)과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 복호 엔진과,
    상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 연산부와,
    상기 가상 복합 일련번호와 상호 약속한 제4값(AB3)을 입력받아 암복호화에 사용되는 최종키를 생성하는 제2암호 엔진을 포함하는 고유 일련번호 및 대칭키를 사용하는 암복호화 장치.
  2. 동일한 통신 그룹을 나타내는 그룹 ID와 상호 약속한 제1값(AB0)을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단방향 함수 암호화부와,
    송신자와 수신자가 교환하지 않고 미리 상호 약속한 제2값(AB1)과 상기 제1송신자 가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수(RA)와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 제1암호 엔진과,
    송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 제3값(AB2)과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 복호 엔진과,
    상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 연산부와,
    상기 가상 복합 일련번호와 상호 약속한 제4값(AB3)을 입력받아 암복호화에 사용되는 최종키를 생성하는 제2암호 엔진을 포함하는 고유 일련번호 및 대칭키를 사용하는 암복호화 장치.
  3. 송신자의 암복호화 장치와 수신자의 암복호화 장치로 구성된 암복호화 시스템에 있어서,
    상기 송신자 암복호화 장치는 상기 수신자 암복호화 장치와 독립적으로 생성된 일련번호를 이용하여 송신자 가상 일련번호를 생성하고, 송신자 가상 일련번호와 송신자와 수신자가 교환하지 않고 미리 상호 약속한 값을 이용하여 송신자 키베이스 신호를 생성하고, 상기 수신자 암복호화 장치로부터 수신자 키베이스 신호를 수신하여 수신자 키베이스 신호로부터 송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 값을 이용해 수신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하고,
    상기 수신자 암복호화 장치는 상기 송신자 암복호화 장치와 독립적으로 생성된 일련번호를 이용하여 수신자 가상 일련번호를 생성하고, 수신자 가상 일련번호를 이용하여 수신자 키베이스 신호를 생성하고, 상기 송신자 암복호화 장치로부터 송신자 키베이스 신호를 수신하여 송신자 키베이스 신호로부터 송신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 것을 특징으로 하는 고유 일련번호 및 대칭키를 사용하는 암복호화 시스템.
  4. 송신자의 암복호화 장치와 수신자의 암복호화 장치로 구성된 암복호화 시스템에 있어서,
    상기 송신자 암복호화 장치는 상기 수신자 암복호화 장치와 동일한 그룹을 나타내는 그룹 ID를 이용하여 송신자 가상 일련번호를 생성하고, 송신자 가상 일련번호를 이용하여 송신자 키베이스 신호를 생성하고, 상기 수신자 암복호화 장치로부터 수신자 키베이스 신호를 수신하여 수신자 키베이스 신호로부터 수신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하고,
    상기 수신자 암복호화 장치는 상기 송신자 암복호화 장치와 동일한 그룹을 나타내는 그룹 ID를 이용하여 수신자 가상 일련번호를 생성하고, 송신자 가상 일련번호와 송신자와 수신자가 교환하지 않고 미리 상호 약속한 값을 이용하여 수신자 키베이스 신호를 생성하고, 상기 송신자 암복호화 장치로부터 송신자 키베이스 신호를 수신하여 송신자 키베이스 신호로부터 송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 값을 이용해 송신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 것을 특징으로 하는 고유 일련번호 및 대칭키를 사용하는 암복호화 시스템.
  5. 독립적으로 생성된 일련번호(A)와 상호 약속한 제1값을 입력받아 제1가상 일련번호(A1)를 생성하는 단방향 함수 암호화부와,
    송신자와 수신자가 교환하지 않고 미리 상호 약속한 제2값과 상기 제1가상 일련번호(A1)를 입력받아 제2가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수와 상기 제2가상 일련번호(A2)를 연산하여 키베이스 신호를 출력하는 제1암호 엔진과,
    송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 제3값과 제5값을 입력받아 제3가상 일련번호(B1)를 생성하는 복호 엔진과,
    상기 제1가상 일련번호(A1)와 상기 제3가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 연산부와,
    상기 가상 복합 일련번호와 상호 약속한 제4값을 입력받아 암복호화에 사용되는 최종키를 생성하는 제2암호 엔진을 포함하는 고유 일련번호 및 대칭키를 사용하는 암복호화 장치.
  6. 암복호화 장치에서 최종키를 생성하는 방법에 있어서,
    독립적으로 생성된 일련번호(A)와 상호 약속한 제1값을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단계와,
    송신자와 수신자가 교환하지 않고 미리 상호 약속한 제2값과 상기 제1송신자 가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 단계와,
    송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 제3값과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 단계와,
    상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 단계와,
    상기 가상 복합 일련번호와 상호 약속한 제4값을 입력받아 암복호화에 사용되는 최종키를 생성하는 단계를 포함하는 암복호화 방법.
  7. 암복호화 장치에서 최종키를 생성하는 방법에 있어서,
    동일한 그룹을 나타내는 그룹 ID와 상호 약속한 제1값을 입력받아 제1송신자 가상 일련번호(A1)를 생성하는 단계와,
    송신자와 수신자가 교환하지 않고 미리 상호 약속한 제2값과 상기 제1송신자 가상 일련번호(A1)를 입력받아 제2송신자 가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수와 상기 제2송신자 가상 일련번호(A2)를 연산하여 송신자 키베이스 신호를 출력하는 단계와,
    송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 제3값과 수신자의 암복호화 장치로부터 받은 수신자 키베이스 신호를 입력받아 제1수신자 가상 일련번호(B1)를 생성하는 단계와,
    상기 제1송신자 가상 일련번호(A1)와 상기 제1수신자 가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 단계와,
    상기 가상 복합 일련번호와 상호 약속한 제4값을 입력받아 암복호화에 사용되는 최종키를 생성하는 단계를 포함하는 암복호화 방법.
  8. 송신자의 암복호화 장치와 수신자의 암복호화 장치로 구성된 암복호화 시스템에서의 암복호화 방법에 있어서,
    상기 송신자 암복호화 장치가 상기 수신자 암복호화 장치와 독립적으로 생성된 일련번호를 이용하여 송신자 가상 일련번호를 생성하고, 송신자 가상 일련번호와 송신자와 수신자가 교환하지 않고 미리 상호 약속한 값을 이용하여 송신자 키베이스 신호를 생성하고, 상기 수신자 암복호화 장치로부터 수신자 키베이스 신호를 수신하여 수신자 키베이스 신호로부터 송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 값을 이용해 수신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 단계와,
    상기 수신자 암복호화 장치가 상기 송신자 암복호화 장치와 독립적으로 생성된 일련번호를 이용하여 수신자 가상 일련번호를 생성하고, 수신자 가상 일련번호를 이용하여 수신자 키베이스 신호를 생성하고, 상기 송신자 암복호화 장치로부터 송신자 키베이스 신호를 수신하여 송신자 키베이스 신호로부터 송신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 단계를 포함하는 암복호화 방법.
  9. 송신자의 암복호화 장치와 수신자의 암복호화 장치로 구성된 암복호화 시스템에서의 암복호화 방법에 있어서,
    상기 송신자 암복호화 장치가 상기 수신자 암복호화 장치와 동일한 그룹을 나타내는 그룹 ID를 이용하여 송신자 가상 일련번호를 생성하고, 송신자 가상 일련번호와 송신자와 수신자가 교환하지 않고 미리 상호 약속한 값을 이용하여 송신자 키베이스 신호를 생성하고, 상기 수신자 암복호화 장치로부터 수신자 키베이스 신호를 수신하여 수신자 키베이스 신호로부터 송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 값을 이용해 수신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 단계와,
    상기 수신자 암복호화 장치가 상기 송신자 암복호화 장치와 동일한 그룹을 나타내는 그룹 ID를 이용하여 수신자 가상 일련번호를 생성하고, 수신자 가상 일련번호를 이용하여 수신자 키베이스 신호를 생성하고, 상기 송신자 암복호화 장치로부터 송신자 키베이스 신호를 수신하여 송신자 키베이스 신호로부터 송신자 가상 일련번호를 생성함으로써 상기 송신자 가상 일련번호 및 수신자 가상 일련번호를 이용하여 최종키를 생성하는 단계를 포함하는 암복호화 방법.
  10. 암복호화 장치에서 최종키를 생성하는 방법에 있어서,
    독립적으로 생성된 일련번호(A)와 상호 약속한 제1값을 입력받아 제1가상 일련번호(A1)를 생성하는 단계와,
    송신자와 수신자가 교환하지 않고 미리 상호 약속한 제2값과 상기 제1가상 일련번호(A1)를 입력받아 제2가상 일련번호(A2)를 생성하고 난수 발생기에서 생성된 난수와 상기 제2가상 일련번호를 연산하여 키베이스 신호를 출력하는 단계와,
    송신자와 수신자의 고유 비밀키가 아니라 미리 상호 약속한 제3값과 제5값을 입력받아 제3가상 일련번호(B1)를 생성하는 단계와,
    상기 제1가상 일련번호(A1)와 상기 제3가상 일련번호(B1)를 입력받아 연산하여 가상 복합 일련번호(A1+B1)를 생성하는 단계와,
    상기 가상 복합 일련번호와 상호 약속한 제4값을 입력받아 암복호화에 사용되는 최종키를 생성하는 단계를 포함하는 암복호화 방법.
KR1020160170328A 2016-12-14 2016-12-14 고유 일련번호 및 대칭키를 이용한 암복호화 시스템 KR101929355B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160170328A KR101929355B1 (ko) 2016-12-14 2016-12-14 고유 일련번호 및 대칭키를 이용한 암복호화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160170328A KR101929355B1 (ko) 2016-12-14 2016-12-14 고유 일련번호 및 대칭키를 이용한 암복호화 시스템

Publications (2)

Publication Number Publication Date
KR20180068537A KR20180068537A (ko) 2018-06-22
KR101929355B1 true KR101929355B1 (ko) 2019-03-12

Family

ID=62768378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160170328A KR101929355B1 (ko) 2016-12-14 2016-12-14 고유 일련번호 및 대칭키를 이용한 암복호화 시스템

Country Status (1)

Country Link
KR (1) KR101929355B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981252B (zh) * 2019-03-12 2020-07-10 中国科学院信息工程研究所 一种基于关键路径加密的人工智能处理器安全增强系统及方法
CN111277980B (zh) * 2020-01-21 2023-09-26 杭州涂鸦信息技术有限公司 基于WiFi探测请求帧的配对方法、遥控方法及其系统和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002344438A (ja) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> 鍵共有システム及び装置並びにプログラム
KR100506076B1 (ko) * 2000-03-23 2005-08-04 삼성전자주식회사 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101295038B1 (ko) * 2011-08-18 2013-08-09 김동한 보안 리더기를 이용한 공인 인증서 사용방법
KR101688811B1 (ko) 2015-05-08 2016-12-22 (주)케이사인 데이터 암복호화 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506076B1 (ko) * 2000-03-23 2005-08-04 삼성전자주식회사 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치
JP2002344438A (ja) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> 鍵共有システム及び装置並びにプログラム

Also Published As

Publication number Publication date
KR20180068537A (ko) 2018-06-22

Similar Documents

Publication Publication Date Title
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
US11533297B2 (en) Secure communication channel with token renewal mechanism
US10015159B2 (en) Terminal authentication system, server device, and terminal authentication method
US11210658B2 (en) Constructing a distributed ledger transaction on a cold hardware wallet
US9716591B2 (en) Method for setting up a secure connection between clients
EP3318043A1 (en) Mutual authentication of confidential communication
CN107453880B (zh) 一种云数据安全存储方法和系统
CN110889696A (zh) 一种基于sgx技术的联盟区块链秘钥存储方法、装置、设备及介质
KR20110046849A (ko) 센서데이터 보안유지 방법, 시스템 및 기록매체
EP4150879A1 (en) Constructing a distributed ledger transaction on a cold hardware wallet
CN104253694A (zh) 一种用于网络数据传输的保密方法
Sasi et al. A general comparison of symmetric and asymmetric cryptosystems for WSNs and an overview of location based encryption technique for improving security
CN103986583A (zh) 一种动态加密方法及其加密通信系统
KR101608815B1 (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
Obert et al. Recommendations for trust and encryption in DER interoperability standards
CN103378971A (zh) 一种数据加密系统及方法
CN111769938A (zh) 一种区块链传感器的密钥管理系统、数据验证系统
CN204180095U (zh) 一种用于网络数据加密传输的加解密装置
CN105262586B (zh) 汽车防盗设备的密钥分配方法及装置
CN114679270A (zh) 一种基于隐私计算的数据跨域加解密方法
US10764260B2 (en) Distributed processing of a product on the basis of centrally encrypted stored data
KR101929355B1 (ko) 고유 일련번호 및 대칭키를 이용한 암복호화 시스템
CN105871858A (zh) 一种保证数据安全的方法及系统
CN106534077B (zh) 一种基于对称密码的可认证的代理重加密系统及方法
KR101793528B1 (ko) 무인증서 공개키 암호 시스템

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