KR20170121465A - 사슬구조의 otp 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법 - Google Patents

사슬구조의 otp 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법 Download PDF

Info

Publication number
KR20170121465A
KR20170121465A KR1020160049911A KR20160049911A KR20170121465A KR 20170121465 A KR20170121465 A KR 20170121465A KR 1020160049911 A KR1020160049911 A KR 1020160049911A KR 20160049911 A KR20160049911 A KR 20160049911A KR 20170121465 A KR20170121465 A KR 20170121465A
Authority
KR
South Korea
Prior art keywords
otp
value
generating
fixed data
inputting
Prior art date
Application number
KR1020160049911A
Other languages
English (en)
Other versions
KR101867663B1 (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 KR1020160049911A priority Critical patent/KR101867663B1/ko
Publication of KR20170121465A publication Critical patent/KR20170121465A/ko
Application granted granted Critical
Publication of KR101867663B1 publication Critical patent/KR101867663B1/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/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 사슬구조의 OTP 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법에 관한 것이다. 본 발명에 따른 사슬구조의 OTP 생성방법은 OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110); 문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120); 상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130); 상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140); 상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및 상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);를 포함한다. 본 발명에 따르면, 자료의 보안이 필요한 경우 해당 사슬구조의 일회용 비밀번호(OTP)를 이용한 인코딩/디코딩 체계를 통한 전송체계를 적용할 수 있으므로, 논리적인 자료 보안의 기밀성을 높일 수 있다.

Description

사슬구조의 OTP 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법{A METHOD FOR OTP GENERATING OF CHAIN STRUCTURE AND A METHOD FOR ENCODING/DECODING USING THE SAME}
본 발명은 사슬구조의 OTP 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법에 관한 것으로서, 보다 상세하게는 고정형(정수형, 실수형) 자료를 네트워크 전송 간에 쉽게 해석하지 못하게 하기 위하여 필요한 사슬 구조의 일회용 비밀번호(ONE TIME PASSWORD, 이하 OTP)를 이용한 선형변환기반의 자료 변환체계에 관한 것이다.
유도무기 및 화력시험 시 각종 추적레이더, 원격측정시스템에서 생산하는 시험체의 실시간 시공간 위치정보 및 특성정보를 전송할 때, 전송되는 내용은 고정형(정수형, 실수형) 자료의 정해진 배열로 표현된다.
종래의 네트워크 전송체계는 특정한 자료를 송신할 때, 자료구조체의 일부를 통해 자료를 송신 또는 수신했다. 비행시험 통제컴퓨터 네트워크 전송체계는 실시간 데이터를 네트워크를 통해 효과적으로 송수신 및 관리할 수 있도록 지원해주는 생산자(Publisher) / 수신자(Subscriber) 모델 기반의 DDS(Data Distribution System) 통신방법을 적용하여 구성되었다. 해당 전송체계는 기존의 UDP Broadcast 통신방법보다 더 효율적인 구성이 가능하다. DDS는 TOPIC이라는 자료 전달 구조를 제공하는데, 이는 UDP Broadcast Protocol 에서의 패킷과 유사한 개념이다. 이 TOPIC은 DDS에서 자료를 생산하여 송신하는 생산자(Publisher)와 자료를 수신하여 소비하는 수신자(Subscriber) 간의 전송단위로 사용되며, TOPIC의 구성과 처리 방법은 시스템 설계에 따라 달라진다. 실시간 시험자료 전달체계의 복잡성을 낮추고 전체 시스템 유지보수성을 높이기 위해, DDS를 기반으로 각종 추적레이더 및 원격측정 시스템 등에서 생산한 시공간 위치정보와 자세정보를 통제시스템과 전시시스템에 실시간으로 전달하고 있다.
그러나 상기와 같은 종래의 실시간 DDS 전송체계에서 송수신 되는 자료는 물리적으로 네트워크가 보호받고 있으나, 시험자료의 보안이 요구되는 경우, 이를 해결할 수 있는 방법이 없는 문제점이 있었다.
또한, 시험자료의 보안을 위해 과도한 암호화 알고리즘이 적용되어 실시간 자료의 암호화를 수행하는 경우, 상당한 계산량과 시간이 소모되어 비행시험 수행을 방해하는 문제점이 있었다.
또한, 일반적인 암호화 알고리즘이 적용되는 경우, 키분배/자격증명에 체계의 고려가 이루어져야 하고, 송수신 자료구조가 변경이 되어야 하는 문제점이 있었다.
또한, 암호화가 필요없는 자료와 혼용할 경우, 송수신 구조체를 달리해야 하는 문제점이 있었다.
등록특허공보 제1127063호 (2012.03.08)
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 기존 DDS 기반의 실시간 전송 체계를 변경시키지 않으면서도, 고정형 자료(정수형, 실수형)를 쉽게 해석할 수 없게 하는 사슬구조의 OTP 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법을 제공하는 것이다.
본 발명에 따른 사슬구조의 OTP 생성방법은 OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110); 문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120); 상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130); 상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140); 상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및 상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);를 포함한다.
본 발명에 따른 고정형 자료의 인코딩 방법은 상기 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 및 상기 OTP를 이용하여 고정형 자료를 인코딩하는 단계(S200);를 포함한다.
상기 고정형 자료를 인코딩하는 단계(S200)는 암호화 횟수인 라운드(ROUND)의 수를 설정하는 단계(S210); 상기 도출하는 단계(S160)에서 도출된 상기 최종 OTP를 라운드키(ROUND KEY)에 입력하는 단계(S220); 상기 라운드키(ROUND KEY)인 제 1 함수인자값 및 인코딩될 고정형자료인 제 1 입력값을 기 설정된 선형변환함수에 입력하는 단계(S230); 상기 선형변환함수를 실행하여 제 1 변환값을 도출하는 단계(S240); 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250); 비트시프트된 라운드키(ROUND KEY)인 제 2 함수인자값 및 상기 제 1 변환값인 제 2 입력값을 상기 선형변환함수에 입력하는 단계(S260); 상기 선형변환함수를 실행하여 제 2 변환값을 도출하는 단계(S270); 상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250), 상기 선형변환함수에 입력하는 단계(S260) 및 상기 제 2 변환값을 도출하는 단계(S270)를 반복하는 단계(S280); 및 상기 반복하는 단계(S280)에서 도출된 최종 제 2 변환값을 인코딩된 고정형 자료로 도출하는 단계(S290);를 포함하는 것을 특징으로 한다.
본 발명에 따른 인코딩된 고정형 자료의 디코딩 방법은 상기 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 상기 고정형 자료의 인코딩 방법에 의해 고정형 자료를 인코딩하는 단계(S200); 및 상기 OTP를 이용하여 인코딩된 고정형 자료를 디코딩하는 단계(S300);를 포함한다.
상기 인코딩된 고정형 자료를 디코딩하는 단계(S300)는 N번 비트시프트된 상기 최종 OTP를 N번째 라운드키(ROUND KEY)로 입력하는 단계(S311); 상기 입력하는 단계(S312)를 상기 라운드(ROUND)의 수만큼 반복하는 단계(S312); 상기 반복하는 단계(S312)에서 도출된 최종 라운드키(ROUND KEY)인 제 3 함수인자값 및 상기 도출하는 단계(S290)에서 도출된 인코딩된 고정형자료인 제 3 입력값을 기 설정된 선형변환역함수에 입력하는 단계(S313); 상기 선형변환역함수를 실행하여 제 3 변환값을 도출하는 단계(S314); 상기 도출하는 단계(S314)의 상기 제 3 변환값을 상기 선형변환역함수의 제 4 입력값으로 입력하는 단계(S315); 상기 N번째 라운드키(ROUND KEY)인 제 4 함수인자값을 상기 선형변환역함수에 입력하는 단계(S316); 상기 선형변환역함수를 실행하여 제 4 변환값을 도출하는 단계(S317); 상기 도출하는 단계(S317)의 상기 제 4 변환값을 상기 선형변환역함수의 제 4 입력값으로 재입력하는 단계(S318); 상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 입력하는 단계(S316), 상기 변환값을 도출하는 단계(S317) 및 상기 입력하는 단계(S318)를 반복하는 단계(S319); 및 상기 반복하는 단계(S319)에서 도출된 최종 제 4 변환값을 디코딩된 고정형 자료로 도출하는 단계(S320);를 포함하는 것을 특징으로 한다.
본 발명에 따른 사슬구조의 OTP를 이용한 고정형 자료의 인코딩 및 디코딩 장치는 상기 사슬구조의 OTP 생성방법에 따라 OTP를 생성하고, 상기 고정형 자료의 인코딩 방법에 따라 고정형자료를 인코딩하는 생산자(100); 및 상기 인코딩된 고정형 자료의 디코딩 방법에 따라 인코딩된 고정형 자료를 디코딩하는 수신자(200);를 포함한다.
상기에서 살펴본 바와 같이 본 발명에 따르면, 자료의 보안이 필요한 경우 해당 사슬구조의 일회용 비밀번호(OTP)를 이용한 인코딩/디코딩 체계를 통한 전송체계를 적용할 수 있으므로, 논리적인 자료 보안의 기밀성을 높일 수 있다.
또한, 실시간 전송 시스템의 수정이 없이도 적용할 수 있게 됨에 따라 시스템 운용 효율성을 높일 수 있다.
도 1은 본 발명의 개념을 설명하는 도면.
도 2는 본 발명에 따른 OTP 생성방법의 순서도.
도 3은 본 발명에 따른 고정형 자료의 인코딩 방법의 순서도.
도 4는 본 발명에 따른 인코딩된 고정형 자료의 디코딩 방법의 순서도.
본 명세서 및 청구범위에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시 예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 또한, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다. 이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 개념을 설명하는 도면이고, 도 2는 본 발명에 따른 OTP 생성방법의 순서도이며, 도 3은 본 발명에 따른 고정형 자료의 인코딩 방법의 순서도이고, 도 4는 본 발명에 따른 인코딩된 고정형 자료의 디코딩 방법의 순서도이다. 도 1 및 도 2를 참조할 때, 본 발명에 따른 사슬구조의 OTP 생성방법은 OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110); 문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120); 상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130); 상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140); 상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및 상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);를 포함한다.
일반적으로 일회용 비밀번호 생성은 한국정보통신기술협회에서 발표한 일회용패스워드(OTP) 알고리즘 프로파일을 준용해서 생성하게 된다. 이에 비해 본 발명은 일회용 패스워드 생성 시 사슬 구조를 적용하여 일회용 비밀번호의 추출을 보다 어렵게 하였다. 또한, 유효 토큰 정보를 추가하여 일회용 비밀번호(OTP)의 무분별한 생성으로 인한 무차별 공격의 가능성을 줄였다. 또한, 생성된 일회용 비밀번호(OTP) 사이에 일련의 순서성을 부여하여, 일회용 비밀번호(OTP)의 재사용 공격의 가능성을 줄였다.
OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110)에서는 일회용 패스워드(OTP)를 생성하기 위해, 일회용 비밀번호(OTP) 값과 유효토큰의 수를 초기화한다. 일회용 비밀번호는 사슬 구조를 만들기 위해 사용된다. 유효 토큰의 수가 0보다 큰 경우에만 일회용 패스워드가 생성된다(즉, 초기화된 유효토큰의 수는 양의 정수가 됨). 또한, 유효 토큰이 없을 경우에는 더이상 일회용 비밀번호를 생성하지 않는다. 초기화된 일회용 비밀번호(OTP) 값은 6자리의 임의의 값이 된다.
연계정보를 생성하는 단계(S120)에서 연계정보는 초기 문자열, 생성일자/시각, 유효 토큰의 잔여 수, 일회용 비밀번호 값을 바탕으로 생성한다. 필요한 경우에는 지정문자열을 추가하여 구성할 수 있다.
암호문을 생성하는 단계(S130)에서는 생성된 연계정보를 생성알고리즘(HMAC-SHA1)에 적용하여 일회용 패스워드를 위한 암호문을 생성한다.
OTP를 생성하는 단계(S140)에서는 상기 생성된 암호문을 정적인 추출알고리즘에 적용하여, 일회용 패스워드(OTP)를 생성한다. 즉, 생성된 암호문 중 연속된 5바이트의 값을 10진수로 변환하고, 이 변환된 값 중 하위 6자리 값을 일회용 패스워드(OTP)로 활용하는 것이다.
반복하는 단계(S150)에서는 상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복한다. 또한, 최종 OTP로 도출하는 단계(S160)에서는 상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출한다.
즉, 본 발명에서는 일회용 패스워드의 유추를 어렵게 하기 위해, 일회용 패드워드(OTP)가 생성된 이후, 생성된 일회용 패스워드(OTP)를 활용하여 다시 연계정보를 생성한다. 또한, 암호화 알고리즘 및 추출알고리즘을 다시 적용한다. 상기와 같이 반복되는 사슬형태로 일회용 패스워드를 생성하며, 이와 같은 방법으로 생성된 일회용 패스워드는 정보의 일방향성 및 안정성으로 인해 매우 추출하기가 어려우므로 보안성을 높일 수 있다.
또한, 본 발명에서는 유효 토큰 정보를 추가하여 무분별한 생성으로 인한 무차별 공격의 가능성을 줄였고, 생성된 일회용 비밀번호(OTP) 사이에 일련의 순서성을 부여하여, 일회용 비밀번호(OTP)의 재사용 공격의 가능성을 줄였다.
또한, 일회용 비밀번호(OTP)는 고정형 자료의 형태(정수형, 실수형)에 따라 사용하게 될 일회용 비밀번호를 달리 생성하여 적용할 수 있도록 설계하였다.
도 1 및 도 3을 참조할 때, 본 발명에 따른 고정형 자료의 인코딩 방법은 상기 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 및 상기 OTP를 이용하여 고정형 자료를 인코딩하는 단계(S200);를 포함한다.
상기 고정형 자료를 인코딩하는 단계(S200)는 암호화 횟수인 라운드(ROUND)의 수를 설정하는 단계(S210); 상기 도출하는 단계(S160)에서 도출된 상기 최종 OTP를 라운드키(ROUND KEY)에 입력하는 단계(S220); 상기 라운드키(ROUND KEY)인 제 1 함수인자값 및 인코딩될 고정형자료인 제 1 입력값을 기 설정된 선형변환함수에 입력하는 단계(S230); 상기 선형변환함수를 실행하여 제 1 변환값을 도출하는 단계(S240); 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250); 비트시프트된 라운드키(ROUND KEY)인 제 2 함수인자값 및 상기 제 1 변환값인 제 2 입력값을 상기 선형변환함수에 입력하는 단계(S260); 상기 선형변환함수를 실행하여 제 2 변환값을 도출하는 단계(S270); 상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250), 상기 선형변환함수에 입력하는 단계(S260) 및 상기 제 2 변환값을 도출하는 단계(S270)를 반복하는 단계(S280); 및 상기 반복하는 단계(S280)에서 도출된 최종 제 2 변환값을 인코딩된 고정형 자료로 도출하는 단계(S290);를 포함하는 것을 특징으로 한다.
상기와 같은 순서로 인코딩이 수행된다. 인코딩에 수행되는 라운드(ROUND)의 수는 임의로 설정할 수 있다. 단, 라운드(ROUND)의 수는 최대 8번을 넘을 수 없다. 인코딩은 일반적으로 데이터를 송신하는 측에서 수행되고, 디코딩은 데이터를 수신 및 처리하는 측에서 수행된다. 또한, 디코딩 절차는 인코딩 순서의 반대로 수행된다. 이하, 디코딩 절차에 대해 상술하기로 한다.
도 1 및 도 4를 참조할 때, 본 발명에 따른 인코딩된 고정형 자료의 디코딩 방법은 상기 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 상기의 고정형 자료의 인코딩 방법에 의해 고정형 자료를 인코딩하는 단계(S200); 및 상기 OTP를 이용하여 인코딩된 고정형 자료를 디코딩하는 단계(S300);를 포함한다.
상기 인코딩된 고정형 자료를 디코딩하는 단계(S300)는 N번 비트시프트된 상기 최종 OTP를 N번째 라운드키(ROUND KEY)로 입력하는 단계(S311); 상기 입력하는 단계(S312)를 상기 라운드(ROUND)의 수만큼 반복하는 단계(S312); 상기 반복하는 단계(S312)에서 도출된 최종 라운드키(ROUND KEY)인 제 3 함수인자값 및 상기 도출하는 단계(S290)에서 도출된 인코딩된 고정형자료인 제 3 입력값을 기 설정된 선형변환역함수에 입력하는 단계(S313); 상기 선형변환역함수를 실행하여 제 3 변환값을 도출하는 단계(S314); 상기 도출하는 단계(S314)의 상기 제 3 변환값을 상기 선형변환역함수의 제 4 입력값으로 입력하는 단계(S315); 상기 N번째 라운드키(ROUND KEY)인 제 4 함수인자값을 상기 선형변환역함수에 입력하는 단계(S316); 상기 선형변환역함수를 실행하여 제 4 변환값을 도출하는 단계(S317); 상기 도출하는 단계(S317)의 상기 제 4 변환값을 상기 선형변환역함수의 제 4 입력값으로 재입력하는 단계(S318); 상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 입력하는 단계(S316), 상기 변환값을 도출하는 단계(S317) 및 상기 입력하는 단계(S318)를 반복하는 단계(S319); 및 상기 반복하는 단계(S319)에서 도출된 최종 제 4 변환값을 디코딩된 고정형 자료로 도출하는 단계(S320);를 포함하는 것을 특징으로 한다.
여기서, 선형 변환 함수는 특정한 고정형 자료의 값들 사이의 가산성(可算性, Additivity)과 동차성(同次性, Homogeneity)를 지원하는 함수이다. 선형 변환 역함수는 역시 선형변환 함수의 성격을 지니며 선형변환 함수의 역함수를 의미한다. 또한, 비트시프트는 고정형 자료를 비트형태로 표현하고, 표현된 값을 비트 단위로 왼쪽으로 이동하는 것을 의미한다.
본 발명의 또 다른 실시 예에서는 자주 표출되는 고정형 자료에 대해 미리 복수 개의 변환값을 생성하고, 이중 하나의 값을 임의로 선택하여 활용할 수도 있다. 즉, 빈번하게 발생하는 고정형 자료(예를 들어, 정수형 : 5,-4,-3,-2,-1,0,1,2,3,4,5 등, 실수형 : -2.0, -1.5, -1.0, 0.5, 0.0, 0.5, 1.0, 1.5, 2.0 등)에 복수 개(예를 들면 정수형 0의 값에 대해 변환값 10개를 미리 생성함)의 인코딩/디코딩 값을 미리 생성하여 두고, 해당 고정형 자료의 사용시 미리 생성한 변환값 중 하나를 임의로 선택하여 전송할 수도 있다. 이를 통해 반복적인 값의 계산에 대한 오버헤드를 줄이고, 같은 변환값의 반복적인 표출로 인한 자료 추정에 대한 위험성을 낮추었다. 비행시험에 활용되는 고정형 자료들은 일정한 자료의 표현 범위를 가지고 있고, 자료의 표현범위 이외의 데이터를 후보로 사용하게 되면 데이터를 해독시에 상당한 혼란을 줄일 수 있는 장점이 있다.
종래의 DDS 자료 전송 체계에서 인코딩/디코딩 체계를 적용할 고정형 자료의 형태는 4바이트의 정수/실수/문자열이다. 즉, 각각 고정형 자료 형태에 해당하는 정수값과 실수값을 바이트 체계로 변환하여 인코딩/디코딩 체계에 적용하게 되며, 변환된 자료의 전송시에도 원래 자료형에 해당하는 바이트 크기대로 전송하고 있다. 따라서, 본 발명은 종래의 전송 체계를 변형하지 않고 적용이 가능하며, 필요한 데이터만 인코딩/디코딩 변환을 적용할 수 있게 되어 탄력적으로 시스템을 활용할 수 있게 된다.
본 발명에 따른 사슬구조의 OTP를 이용한 고정형 자료의 인코딩 및 디코딩 장치는 상기 사슬구조의 OTP 생성방법에 따라 OTP를 생성하고, 상기 고정형 자료의 인코딩 방법에 따라 고정형자료를 인코딩하는 생산자(100); 및 상기 인코딩된 고정형 자료의 디코딩 방법에 따라 인코딩된 고정형 자료를 디코딩하는 수신자(200);를 포함한다.
앞서 살펴본 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자(이하 '당업자'라 한다)가 본 발명을 용이하게 실시할 수 있도록 하는 바람직한 실시 예일 뿐, 전술한 실시 예 및 첨부한 도면에 한정되는 것은 아니므로 이로 인해 본 발명의 권리범위가 한정되는 것은 아니다. 따라서, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 당업자에게 있어 명백할 것이며, 당업자에 의해 용이하게 변경 가능한 부분도 본 발명의 권리범위에 포함됨은 자명하다.
100 : 사슬구조의 일회용 비밀번호(OTP)의 생성체계
101 : 일회용 비밀번호(OTP)의 초기 생성값
102 : 고정형 자료 중 실수(FLOAT) 형태에 해당하는 일회용 비밀번호(OTP) 생성값
103 : 고정형 자료 중 정수(INT) 형태에 해당하는 일회용 비밀번호(OTP) 생성값
108 : 고정형 자료 중 실수(FLOAT) 형태에 해당하는 일회용 비밀번호(OTP)를 이용한 인코딩 체계
109 : 고정형 자료 중 실수(FLOAT) 형태에 해당하는 일회용 비밀번호(OTP)를 이용한 디코딩 체계
114 : 고정형 자료 중 정수(INT) 형태에 해당하는 일회용 비밀번호(OTP)를 이용한 인코딩 체계
115 : 고정형 자료 중 정수(INT) 형태에 해당하는 일회용 비밀번호(OTP)를 이용한 디코딩 체계

Claims (5)

  1. OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110);
    문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120);
    상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130);
    상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140);
    상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및
    상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);
    를 포함하는 사슬구조의 OTP 생성방법.
  2. 제 1항의 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 및
    상기 OTP를 이용하여 고정형 자료를 인코딩하는 단계(S200);
    를 포함하는 고정형 자료의 인코딩 방법.
  3. 제 2항에 있어서,
    상기 고정형 자료를 인코딩하는 단계(S200)는
    암호화 횟수인 라운드(ROUND)의 수를 설정하는 단계(S210);
    상기 도출하는 단계(S160)에서 도출된 상기 최종 OTP를 라운드키(ROUND KEY)에 입력하는 단계(S220);
    상기 라운드키(ROUND KEY)인 제 1 함수인자값 및 인코딩될 고정형자료인 제 1 입력값을 기 설정된 선형변환함수에 입력하는 단계(S230);
    상기 선형변환함수를 실행하여 제 1 변환값을 도출하는 단계(S240);
    상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250);
    비트시프트된 라운드키(ROUND KEY)인 제 2 함수인자값 및 상기 제 1 변환값인 제 2 입력값을 상기 선형변환함수에 입력하는 단계(S260);
    상기 선형변환함수를 실행하여 제 2 변환값을 도출하는 단계(S270);
    상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250), 상기 선형변환함수에 입력하는 단계(S260) 및 상기 제 2 변환값을 도출하는 단계(S270)를 반복하는 단계(S280); 및
    상기 반복하는 단계(S280)에서 도출된 최종 제 2 변환값을 인코딩된 고정형 자료로 도출하는 단계(S290);
    를 포함하는 것을 특징으로 하는 고정형 자료의 인코딩 방법.
  4. 제 1항의 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100);
    제 2항의 고정형 자료의 인코딩 방법에 의해 고정형 자료를 인코딩하는 단계(S200); 및
    상기 OTP를 이용하여 인코딩된 고정형 자료를 디코딩하는 단계(S300);
    를 포함하는 인코딩된 고정형 자료의 디코딩 방법.
  5. 제 4항에 있어서,
    상기 인코딩된 고정형 자료를 디코딩하는 단계(S300)는
    N번 비트시프트된 상기 최종 OTP를 N번째 라운드키(ROUND KEY)로 입력하는 단계(S311);
    상기 입력하는 단계(S312)를 라운드(ROUND)의 수만큼 반복하는 단계(S312);
    상기 반복하는 단계(S312)에서 도출된 최종 라운드키(ROUND KEY)인 제 3 함수인자값 및 상기 도출하는 단계(S290)에서 도출된 인코딩된 고정형자료인 제 3 입력값을 기 설정된 선형변환역함수에 입력하는 단계(S313);
    상기 선형변환역함수를 실행하여 제 3 변환값을 도출하는 단계(S314);
    상기 도출하는 단계(S314)의 상기 제 3 변환값을 상기 선형변환역함수의 제 4 입력값으로 입력하는 단계(S315);
    상기 N번째 라운드키(ROUND KEY)인 제 4 함수인자값을 상기 선형변환역함수에 입력하는 단계(S316);
    상기 선형변환역함수를 실행하여 제 4 변환값을 도출하는 단계(S317);
    상기 도출하는 단계(S317)의 상기 제 4 변환값을 상기 선형변환역함수의 제 4 입력값으로 재입력하는 단계(S318);
    상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 입력하는 단계(S316), 상기 변환값을 도출하는 단계(S317) 및 상기 입력하는 단계(S318)를 반복하는 단계(S319); 및
    상기 반복하는 단계(S319)에서 도출된 최종 제 4 변환값을 디코딩된 고정형 자료로 도출하는 단계(S320);
    를 포함하는 것을 특징으로 하는 인코딩된 고정형 자료의 디코딩 방법.
KR1020160049911A 2016-04-25 2016-04-25 사슬구조의 otp 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법 KR101867663B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160049911A KR101867663B1 (ko) 2016-04-25 2016-04-25 사슬구조의 otp 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160049911A KR101867663B1 (ko) 2016-04-25 2016-04-25 사슬구조의 otp 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법

Publications (2)

Publication Number Publication Date
KR20170121465A true KR20170121465A (ko) 2017-11-02
KR101867663B1 KR101867663B1 (ko) 2018-07-17

Family

ID=60383562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160049911A KR101867663B1 (ko) 2016-04-25 2016-04-25 사슬구조의 otp 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법

Country Status (1)

Country Link
KR (1) KR101867663B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021010778A1 (ko) * 2019-06-14 2021-01-21 우순조 고유 정보를 이용한 실시간 문자열 변조/복조 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101127063B1 (ko) 2009-12-02 2012-03-23 국방과학연구소 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 포함하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 매체와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용하는 인코더 및 디코더와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용한 인코딩 방법 및 디코딩 방법과, 이를 행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
KR101330664B1 (ko) * 2012-06-15 2013-11-15 한국전자통신연구원 저전력 암호화 장치 및 방법
KR101480892B1 (ko) * 2014-11-13 2015-01-13 아이벡스랩 주식회사 인증 패턴 결정 방법 및 그 방법을 이용한 결제 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012005744A1 (en) * 2010-06-27 2012-01-12 King Saud University One-time password authentication with infinite nested hash claims

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101127063B1 (ko) 2009-12-02 2012-03-23 국방과학연구소 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 포함하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 매체와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용하는 인코더 및 디코더와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용한 인코딩 방법 및 디코딩 방법과, 이를 행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
KR101330664B1 (ko) * 2012-06-15 2013-11-15 한국전자통신연구원 저전력 암호화 장치 및 방법
KR101480892B1 (ko) * 2014-11-13 2015-01-13 아이벡스랩 주식회사 인증 패턴 결정 방법 및 그 방법을 이용한 결제 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021010778A1 (ko) * 2019-06-14 2021-01-21 우순조 고유 정보를 이용한 실시간 문자열 변조/복조 장치 및 방법

Also Published As

Publication number Publication date
KR101867663B1 (ko) 2018-07-17

Similar Documents

Publication Publication Date Title
CN108463968B (zh) 可变长度数据的快速格式保留加密
Blazhevski et al. Modes of operation of the AES algorithm
US11222554B2 (en) Method, apparatus, and computer-readable medium for format preserving encryption of a numerical value
CA2695019A1 (en) Method and system for encryption of data
JPH07334081A (ja) デジタル式カオス信号による情報の隠蔽・復号化方法および装置
US20060193471A1 (en) Encryption method and system
KR20190060804A (ko) 컴퓨터 보안, 가변 단어-길이 인코딩 및 가변 길이 디코딩을 향상시키기 위한 기술들
KR101867663B1 (ko) 사슬구조의 otp 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법
KR20180113688A (ko) 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
Lee et al. Conditional Re‐encoding Method for Cryptanalysis‐Resistant White‐Box AES
Abdellaoui et al. Out-of-band authentication using image-based one time password in the cloud environment
Rafat et al. Secure digital steganography for ASCII text documents
US20170063533A1 (en) Complex format-preserving tokenization scheme
Alkhzaimi Cryptanalysis of selected block ciphers
WO2022021005A1 (zh) 基于指数复杂度的对称加解密方法
CN113726512A (zh) 密钥生成和分发方法、密钥生成装置、密钥管理系统
US7505586B2 (en) Method for computer-based encryption and decryption of data
CN114430549A (zh) 一种适用于无线通信的白盒加解密方法与装置
US20040174994A1 (en) Time based encryption algorithm
KR101757768B1 (ko) 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템
Bagane et al. Securing Data in Images Using Cryptography and Steganography Algorithms
KR20190089619A (ko) 금융서비스 중계 방법 및 장치
Geetha et al. Survey on security mechanisms for public cloud data
US20210014051A1 (en) System and method for secure input at a remote service
KR101375670B1 (ko) 데이터의 암호화/복호화 방법 및 이를 적용한 버스 시스템

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