KR101728281B1 - 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법 - Google Patents

다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법 Download PDF

Info

Publication number
KR101728281B1
KR101728281B1 KR1020160144468A KR20160144468A KR101728281B1 KR 101728281 B1 KR101728281 B1 KR 101728281B1 KR 1020160144468 A KR1020160144468 A KR 1020160144468A KR 20160144468 A KR20160144468 A KR 20160144468A KR 101728281 B1 KR101728281 B1 KR 101728281B1
Authority
KR
South Korea
Prior art keywords
code
encryption
data
encrypted data
encrypted
Prior art date
Application number
KR1020160144468A
Other languages
English (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 KR1020160144468A priority Critical patent/KR101728281B1/ko
Application granted granted Critical
Publication of KR101728281B1 publication Critical patent/KR101728281B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • H04L9/28

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법에 관한 것으로, 더욱 상세하게는 수신 단말별로 구별되는 비밀번호를 이용하여 한 번의 과정으로 다수의 수신 단말로 암호화된 데이터를 제공하는 방안에 관한 것이다.
이를 위해 본 발명의 송신 단말에서 데이터를 암호화하여 전송하는 방법은 설정된 자리수를 갖는 랜덤 해쉬 코드인 제1 암호화 코드를 생성하는 단계, 상기 데이터를 전송할 적어도 둘 이상의 수신 단말별로 대응되는 비밀번호를 입력받는 단계, 입력받은 둘 이상의 비밀번호별로 해쉬 알고리즘을 이용하여 제2 암호화 코드를 생성하는 단계, 생성한 상기 제1 암호화 코드와 제2 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제3 암호화 코드를 산출하는 단계, 상기 제2 암호화 코드를 해쉬 알고리즘을 이용하여 제4 암호화 코드를 생성하는 단계, 상기 제1 암호화 코드를 이용하여 상기 데이터를 암호화한 암호화 데이터를 생성하는 단계 및 상기 입력받은 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화코드 및 제4 암호화코드가 포함된 암호화 데이터 헤더와 상기 암호화 데이터를 외부로 전송하는 단계를 포함한다.

Description

다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법{Method for data encryption and decryption possible multiple password settings}
본 발명은 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법에 관한 것으로, 더욱 상세하게는 수신 단말별로 구별되는 비밀번호를 이용하여 한 번의 과정으로 다수의 수신 단말로 암호화된 데이터를 제공하는 방안에 관한 것이다.
일반적으로 사용되는 공개키 시스템 기술은 비밀통신을 수행하고자 하는 각각의 사용자 단말이 자신의 비밀키와 공개키를 쌍으로 생성하고, 비밀통신을 수행하고자 하는 상대방 단말은 정당한 공개키를 획득해야만 통신이 이루어지도록 구성된다. 이때, 통신을 수행하고자 하는 상대방 단말의 공개키를 획득한 사용자는 자신이 획득한 공개키가 정당한지 여부를 입증하기 위해 제3의 신뢰기관으로부터 획득한 공개키에 대한 서명을 받아 이를 공개키의 인증서로 사용한다.
다만, 이와 같은 인증서 기반의 공개키 시스템은 공개키 인증서의 폐기 시, 인증서 폐기 목록을 일정 기간 동안 유지하거나, 지속적으로 관리해야 함에 따라 관리에 따른 비용 및 시간 소모가 발생하는 문제점이 발생하였다.
이를 해결하기 위해, 암호 데이터 수신 장치의 식별 정보(ID) 기반 공개키 암호화 방법이 연구되어 왔다. 특히, 암호 데이터 수신 장치의 식별 정보(ID)를 이용하여 효율적으로 개인키를 생성하고, 암호 데이터를 생성하는 방법이 연구되고 있다. 이외에도 데이터를 다수의 암호 데이터 수신 장치로 전송하는 경우에도 적용이 가능한 암호 데이터 생성 방법이 필요하다.
한국공개특허 제10-2016-0106722호 한국공개특허 제10-2016-0108427호
본 발명이 해결하려는 과제는 하나의 암호화 코드를 이용하여 다수의 수신 단말로 암호화 데이터를 전송하는 방안을 제안함에 있다.
본 발명이 해결하려는 다른 과제는 암호화 데이터를 제공하고자 하는 수신 단말에서만 암호화 데이터를 복호화하는 방안을 제안함에 있다.
본 발명의 해결하려는 또 다른 과제는 수신 단말의 개수에 상관없이 하나의 전송 과정으로 다수의 수신 단말로 암호화 데이터를 전송하는 방안을 제안함에 있다.
본 발명이 해결하려는 또 다른 과제는 데이터를 암호화한 암호화 코드를 송신 단말에서 수신 단말로 제공하지 않는 방안을 제안함에 있다.
본 발명이 해결하려는 또 다른 과제는 송신 단말에서 암호화 코드를 저장하지 않고, 랜덤하게 생성하여 사용하는 방안을 제안함에 있다.
이를 위해 본 발명의 송신 단말에서 데이터를 암호화하여 전송하는 방법은 설정된 자리수를 갖는 랜덤 해쉬 코드인 제1 암호화 코드를 생성하는 단계, 상기 데이터를 전송할 적어도 둘 이상의 수신 단말별로 대응되는 비밀번호를 입력받는 단계, 입력받은 둘 이상의 비밀번호별로 해쉬 알고리즘을 이용하여 제2 암호화 코드를 생성하는 단계, 생성한 상기 제1 암호화 코드와 제2 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제3 암호화 코드를 산출하는 단계, 상기 제2 암호화 코드를 해쉬 알고리즘을 이용하여 제4 암호화 코드를 생성하는 단계, 상기 제1 암호화 코드를 이용하여 상기 데이터를 암호화한 암호화 데이터를 생성하는 단계 및 상기 입력받은 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화코드 및 제4 암호화코드가 포함된 암호화 데이터 헤더와 상기 암호화 데이터를 외부로 전송하는 단계를 포함한다.
이를 위해 본 발명의 수신 단말에서 암호화된 데이터를 복호화 방법은 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화 코드 및 제4 암호화 코드가 포함된 암호화 데이터 헤더와 암호화 데이터를 수신하는 단계, 입력받은 비밀번호를 해쉬 알고리즘을 이용하여 제2' 복호화 코드를 생성하는 단계, 상기 제2' 복호화 알고리즘을 해쉬 알고리즘을 이용하여 제4' 복호화 코드를 생성하는 단계, 상기 제4' 복호화 코드와 동일한 제4 암호화 코드가 상기 암호화 데이터 헤더에 포함되어 있으면, 상기 제4 암호화 코드에 대응되는 제3 암호화 코드를 추출하는 단계, 상기 제2' 복호화 코드와 상기 제3 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제1' 복호화 코드를 산출하는 단계 및 상기 제1' 복호화 코드를 이용하여 상기 암호화 데이터를 복호화하는 단계를 포함한다.
본 발명에 따른 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법은 수신 단말에 대응되는 비밀번호를 입력하는 것으로 암호화된 하나의 데이터를 동일 시점에 다수의 수신 단말로 전송할 수 있다.
또한, 본 발명은 송신 단말과 수신 단말이 별도의 암호화키를 공유할 필요없이 수신 단말에 대응되는 비밀번호만 공유하면 되므로, 송신 단말의 사용자가 암호화키를 인지할 필요가 없는 장점이 있다. 즉, 송신 단말의 사용자와 수신 단말의 사용자를 데이터를 암호화한 암호화 코드를 공유하는 대신 수신 단말에 대응되는 비밀번호를 공유하면 되는 장점이 있다.
도 1은 본 발명의 일실시 예에 따른 다중 비밀번호 설정이 가능한 데이터 암호화 시스템을 도시하고 있다.
도 2는 본 발명의 일실시 예에 따른 송신 단말에서 데이터를 암호화하는 과정을 도시한 흐름도이다.
도 3은 본 발명의 일실시 예에 따른 제3 암호화 코드를 생성하는 예를 도시하고 있다.
도 4는 암호화 파일 헤더의 구성을 도시하고 있다.
도 5는 본 발명의 일실시 예에 따른 수신 단말에서 암호화 데이터를 복호화하는 과정을 도시한 흐름도이다.
도 6은 본 발명의 일실시 예에 따른 송신 단말의 구성을 도시한 블록도이다.
도 7은 본 발명의 일실시 예에 따른 수신 단말의 구성을 도시한 블록도이다.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시 예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명의 이러한 실시 예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 본 발명의 일실시 예에 따른 다중 비밀번호 설정이 가능한 데이터 암호화 시스템을 도시하고 있다. 이하 도 1을 이용하여 본 발명의 일실시 예에 따른 다중 비밀번호 설정이 가능한 데이터 암호화 시스템에 대해 상세하게 알아보기로 한다.
도 1에 의하면, 다중 비밀번호 설정이 가능한 데이터 암호화 시스템(100)은 송신 단말, 서버 및 수신 단말을 포함한다. 물론 상술한 구성 이외에 다른 구성이 본 발명에서 제안하는 다중 비밀번호 설정이 가능한 데이터 암호화 시스템에 포함될 수 있다.
송신 단말(110)은 작성한 데이터 또는 저장된 데이터를 설정된 암호화 알고리즘을 이용하여 암호화한다. 송신 단말(110)은 설정된 암호화 알고리즘을 이용하여 작성한 데이터 또는 저장된 데이터를 암호화하기 위해 비밀번호를 입력받는다. 특히 본 발명은 하나의 비밀번호를 입력받는 것이 아니라 수신 단말(130)별로 구별되는 비밀번호를 입력받는다.
부연하여 설명하면, 수신 단말(130)의 개수가 하나이면 하나의 비밀번호를 입력받으며, 수신 단말(130)의 개수가 2개이면 2개의 비밀번호를 입력받는다. 물론 비밀번호는 수신 단말(130)별로 고유한 식별번호이다.
송신 단말(110)은 서버(120)로부터 본 발명에서 제안하는 암호화 알고리즘을 다운로드받아 설치하며, 데이터 전송이 요구되는 경우 설치된 암호화 알고리즘에 따라 데이터를 암호화한 후 서버(120)로 전송한다.
수신 단말(130)은 서버로부터 전송받은 암호화된 데이터를 복호화 알고리즘을 이용하여 복호화한다. 이를 위해 수신 단말(130)은 암호화된 데이터를 복호화하기 위해 비밀번호를 입력받는다. 물론 비밀번호는 수신 단말(130)에 저장될 수 있다. 상술한 비밀번호는 수신 단말(130)에 대응되는 고유한 식별번호이다.
수신 단말(130)은 서버(120)로부터 복호화 알고리즘을 다운로드받아 설치한다. 암호화된 데이터가 수신되면 복호화 알고리즘을 이용하여 복호화한다.
서버(120)는 송신 단말(110)로 암호화 알고리즘을 제공하며, 수신 단말(130)로 복호화 알고리즘을 제공한다. 서버(120)는 송신 단말(110)로부터 수신한 암호된 데이터를 수신 단말(130)로 전송한다.
이외에도 서버(120)는 송신 단말(110)로 암호화 알고리즘을, 수신 단말(130)로 복호화 알고리즘을 제공하는 대신, 송신 단말(110)로부터 데이터와 비밀번호를 제공받아 데이터를 암호화할 수 있다. 물론 서버(120)는 수신 단말(130)로부터 비밀번호를 제공받아 암호화된 데이터를 복호화하여 수신 단말(130)로 제공할 수 있다. 이외에도 다양한 방식으로 데이터를 암호화하거나 복호화할 수 있다.
이하에서는 송신 단말(110)에서 암호화 알고리즘을 이용하여 데이터를 암호화하는 과정에 대해 알아보기로 한다.
도 2는 본 발명의 일실시 예에 따른 송신 단말에서 데이터를 암호화하는 과정을 도시한 흐름도이다. 이하 도 2를 이용하여 본 발명의 일실시 예에 따른 송신 단말에서 데이터를 암호화하는 과정에 대해 상세하게 알아보기로 한다.
S200단계에서 송신 단말은 0 내지 f까지의 값을 갖는 64자리 랜덤 해쉬 코드인 제1 암호화 코드를 생성한다. 0 내지 f까지의 값은 0 내지 9 및 a 내지 f의 16자리 값을 의미한다. 본 발명은 제1 암호화 코드의 자리 수가 64자리라고 언급하고 있으나, 생성되는 제1 암호화 코드의 자리는 환경에 따라 달라질 수 있다.
S202단계에서 송신 단말은 비밀번호를 입력받는다. 본 발명과 관련하여 입력되는 비밀번호의 개수는 하나가 아니라 수신 단말의 개수와 관련된다. 즉, 수신 단말의 개수가 2개이면, 입력되는 비밀번호 역시 2개가 된다. 본 발명과 관련하여 비밀번호는 수신 단말별로 고유한 식별번호가 해당된다. 일 예로 비밀번호는 수신 단말은 전화번호, 수신 단말을 사용하는 사용자의 고유번호가 포함된다. 물론 비밀번호는 사전에 송신 단말과 수신 단말 사이에 설정하거나, 암호화된 데이터 전송 시 별도로 제공될 수 있다.
본 발명과 관련하여 식별번호가 수신 단말의 전화번호이면, 수신 단말별로 전화번호를 각각 입력받는다. 수신 단말의 2개인 경우, 수신 단말a에 대응되는 비밀번호a, 수신 단말b에 대응되는 비밀번호b를 입력받는다.
S204단계에서 송신 단말은 비밀번호를 해쉬 알고리즘을 이용하여 16자리의 제2 암호화 코드를 생성한다. 물론 생성되는 제2 암호화 코드의 자리수는 제1 암호화 코드의 자리수와 동일하다.
또한, 생성되는 제2 암호화 코드의 개수는 S202단계에서 입력되는 비밀번호의 개수와 동일하다. 즉, 입력되는 비밀번호의 개수가 2개인 경우 생성되는 제2 암호화 코드 역시 2개가 된다.
S206단계에서 송신 단말은 제1 암호화 코드와 제2 암호화 코드간의 오프셋 해쉬 코드인 제3 암호화 코드를 생성한다.
도 3은 본 발명의 일실시 예에 따른 제3 암호화 코드를 생성하는 예를 도시하고 있다.
도 3에 의하면, 제1 암호화 코드와 제2 암호화 코드를 도시하고 있으며, 제1 암호화 코드의 일 예는 다음과 같다.
○ 제1 암호화 코드
Figure 112016106664914-pat00001
또한, 제2 암호화 코드의 일 예는 다음과 같다.
○ 제2 암호화 코드
Figure 112016106664914-pat00002
도 3에 도시되어 있는 오프셋 서클을 이용하여 제1 암호화 코드를 구성하는 각 코드와 제2 암호화 코드를 구성하는 각 코드 사이의 거리를 산출한다. 이 경우 제1 암호화 코드를 구성하는 각 코드와 제2 암호화 코드를 구성하는 각 코드 사이의 거리는 시계 반대 방향으로 산출한다.
일 예로 제1 암호화 코드의 첫 번째 코드가 'a'이며, 제2 암호화 코드의 첫 번째 코드가 '1'인 경우, 제3 암호화 코드의 첫 번째 코드는 '9'가 된다.
아래는 제1 암호화 코드와 제2 암호화 코드간의 오프셋 해쉬 코드인 제3 암호화 코드를 나타낸다.
○ 제3 암호화 코드
Figure 112016106664914-pat00003
물론 상술한 바와 같이 제3 암호화 코드의 개수 역시 제2 암호화 코드와 동일하게 입력받는 비밀번호의 개수와 동일하다.
S208단계에서 송신 단말은 제2 암호화 코드를 해쉬 알고리즘을 이용하여 재차 암호화한 제4 암호화 코드를 생성한다. 물론 상술한 바와 같이 생성되는 제4 암호화 코드 역시 제2 암호화 코드에 따라 입력받은 비밀번호의 개수와 동일하다.
S210단계에서 송신 단말은 암호화 데이터 헤더를 저장한다.
도 4는 암호화 데이터 헤더의 구성을 도시하고 있다.
도 4에 의하면, 암호화 데이터 헤더는 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화 코드, 제4 암호화 코드이다. 즉, 입력받은 비밀번호가 2개이면, 두 개의 제3 암호화 코드 및 두 개의 제4 암호화 코드가 암호화 데이터 헤더에 포함된다. 또한, 입력받은 비밀번호의 개수가 n개이면 N개의 제3 암호화 코드 및 제4 암호화 코드가 암호화 데이터 헤더에 포함된다.
또한, 암호화 데이터 헤더는 하나의 비밀번호에 대응되는 제3 암호화 코드와 제4 암호화 코드를 매칭하여 저장한다.
S212단계에서 송신 단말은 데이터를 제1 암호화 코드를 이용하여 암호화한 암호화 데이터를 생성한다.
S214단계에서 송신 단말은 암호화 데이터를 암호화 데이터 헤더와 함께 서버를 경유하여 수신 단말로 전송한다.
도 5는 본 발명의 일실시 예에 따른 수신 단말에서 암호화 데이터를 복호화하는 과정을 도시한 흐름도이다. 이하 도 5를 이용하여 본 발명의 일실시 예에 따른 암호화 데이터를 복호화하는 과정에 대해 상세하게 알아보기로 한다.
S500단계에서 수신 단말은 서버 또는 송신 단말로부터 암호화 데이터를 수신한다. 물론 수신 단말은 암호화 데이터뿐만 아니라 암호화 데이터 헤더도 함께 수신한다. 상술한 바와 같이 암호화 데이터 헤더에는 적어도 하나 이상의 제3 암호화 코드 및 제4 암호화 코드가 포함된다.
S502단계에서 수신 단말은 비밀번호를 입력받는다. 상술한 바와 같이 비밀번호는 수신 단말의 고유한 식별번호이며, 수신 단말의 전화번호일 수 있다.
S504단계에서 수신 단말은 입력받은 비밀번호를 해쉬 알고리즘을 이용하여 16자리의 제2' 복호화 코드를 생성한다.
S506단계에서 수신 단말은 제2' 복호화 코드를 해쉬 알고리즘을 이용하여 16자의 제4' 복호화 코드를 생성한다.
S508단계에서 수신 단말은 생성한 제4' 복호화 코드와 동일한 제4 암호화 코드가 수신한 암호화 데이터 헤더에 포함되어 있는 지 확인한다. 수신 단말은 생성한 제4' 복호화 코드와 동일한 제4 암호화 코드가 수신한 암호화 데이터 헤더에 포함되어 있지 않으면 복호화 과정을 종료한다.
S510단계에서 수신 단말은 제4' 복호화 코드와 동일한 제4 암호화 코드가 수신한 암호화 데이터 헤더에 포함되어 있으면, 제4 암호화 코드에 대응되는 제3 암호화 코드를 추출한다.
S512단계에서 수신 단말은 제2' 복호화코드와 제3 암호화코드간의 오프셋 해쉬 코드를 이용하여 제1' 복호화코드를 생성한다. 제2' 복호화코드와 제3 암호화코드간의 오프셋 해쉬 코드는 도 3에 도시되어 있는 오프셋 서클을 이용한다.
S514단계에서 생성한 제1' 복호화 코드를 이용하여 암호화 데이터를 복호화한다.
이와 같이 본 발명은 송신 단말은 암호화 데이터를 수신하고자 하는 수신 단말에 대응되는 비밀번호를 입력하며, 수신 단말은 자신의 비밀번호를 입력하는 것으로 데이터에 대한 암호화 및 복호화가 이루어진다.
또한, 송신 단말과 수신 단말은 실제 데이터를 암호화한 암호화 코드를 송신하거나 수신받지 않는다. 또한, 송신 단말은 수신 단말별로 데이터를 암호화하여 전송하는 것이 아니라 동일한 암호화 코드를 이용하여 암호화한 암호화 데이터를 수신 단말로 전송한다. 물론, 송신 단말은 수신 단말별로 고유한 비밀번호를 이용하며, 암호화된 암호화 데이터를 수신하고자 하는 수신 단말별로 고유한 비밀번호를 입력하는 것으로, 다수의 수신 단말에 암호화된 암호화 데이터를 송신할 수 있다.
도 6은 본 발명의 일실시 예에 따른 송신 단말의 구성을 도시한 도면이다. 이하 도 6을 이용하여 본 발명의 일실시 예에 따른 송신 단말의 구성에 대해 상세하게 알아보기로 한다.
도 6에 의하면, 송신 단말은 제어부, 통신부, 저장부, 입력부를 포함한다. 물론 상술한 구성 이외에 다른 구성이 본 발명의 일실시 예에 따른 송신 단말에 포함될 수 있다.
통신부(112)는 외부의 서버로부터 해쉬 알고리즘 및 암호화 알고리즘을 제공받는다. 통신부(112)는 데이터를 해쉬 알고리즘과 암호화 알고리즘을 이용하여 암호화한 암호화 데이터와 암호화 데이터 헤더를 서버로 전송한다.
저장부(113)는 서버로부터 제공받은 해쉬 알고리즘 및 암호화 알고리즘을 저장하며, 필요한 경우 데이터를 저장한다. 저장부(113)는 데이터를 암호화한 암호화 데이터 및 암호화 데이터 헤더를 저장한다. 저장부(113)는 입력부(114)를 통해 입력받은 비밀번호를 저장한다.
입력부(114)는 데이터를 입력받으며, 비밀번호를 입력받는다. 입력부(114)는 작성한 데이터 또는 저장된 데이터를 적어도 하나 이상의 수신 단말로의 전송을 요청받는다.
제어부(111)는 저장된 해쉬 알고리즘과 암호화 알고리즘을 이용하여 데이터를 암호화한다. 또한, 제어부(111)는 저장된 해쉬 알고리즘과 암호화 알고리즘을 이용하여 암호화 데이터 헤더를 생성하며, 입력부(114)의 요청에 따라 암호화 데이터와 암호화 데이터 헤더를 수신 단말로 제공하도록 통신부(112)에 요청한다.
도 7은 본 발명의 일실시 예에 따른 수신 단말의 구성을 도시한 도면이다. 이하 도 7을 이용하여 본 발명의 일실시 예에 따른 수신 단말의 구성에 대해 상세하게 알아보기로 한다.
도 7에 의하면, 수신 단말은 제어부, 통신부, 저장부, 입력부를 포함한다. 물론 상술한 구성 이외에 다른 구성이 본 발명의 일실시 예에 따른 수신 단말에 포함될 수 있다.
통신부(132)는 외부의 서버로부터 해쉬 알고리즘 및 암호화 알고리즘을 제공받는다. 통신부(132)는 서버로부터 암호화 데이터와 암호화 데이터 헤더를 수신한다.
저장부(133)는 서버로부터 제공받은 해쉬 알고리즘 및 암호화 알고리즘을 저장하며, 필요한 경우 데이터를 저장한다. 저장부(133)는 입력부(134)를 통해 입력받은 비밀번호를 저장한다.
입력부(134)는 비밀번호를 입력받는다.
제어부(131)는 저장된 해쉬 알고리즘과 암호화 알고리즘을 이용하여 암호화된 암호화 데이터를 복호화한다. 또한, 제어부(131)는 입력받은 비밀번호를 이용하여 제2' 복호화 코드를 생성하며, 생성한 제2' 복호화 코드를 이용하여 제4' 복호화 코드를 생성한다. 제어부(131)는 제4' 복호화 코드로부터 추출한 제3 암호화 코드를 이용하여 제1' 복호화 코드를 생성하며, 생성한 제1' 복호화 코드를 이용하여 암호화된 데이터를 복호화한다.
본 발명은 도면에 도시된 일실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
100: 시스템 110: 송신 단말
120: 서버 130: 수신 단말
111: 제어부 112: 통신부
113: 저장부 114: 입력부
131: 제어부 132: 통신부
133: 저장부 134: 입력부

Claims (7)

  1. 송신 단말에서 데이터를 암호화하여 전송하는 방법에 있어서,
    설정된 자리수를 갖는 랜덤 해쉬 코드인 제1 암호화 코드를 생성하는 단계;
    상기 데이터를 전송할 적어도 둘 이상의 수신 단말별로 대응되는 비밀번호를 입력받는 단계;
    입력받은 둘 이상의 비밀번호별로 해쉬 알고리즘을 이용하여 제2 암호화 코드를 생성하는 단계;
    생성한 상기 제1 암호화 코드와 제2 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제3 암호화 코드를 산출하는 단계;
    상기 제2 암호화 코드를 해쉬 알고리즘을 이용하여 제4 암호화 코드를 생성하는 단계;
    상기 제1 암호화 코드를 이용하여 상기 데이터를 암호화한 암호화 데이터를 생성하는 단계; 및
    상기 입력받은 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화코드 및 제4 암호화코드가 포함된 암호화 데이터 헤더와 상기 암호화 데이터를 외부로 전송하는 단계를 포함함을 특징으로 하는 송신 단말에서 데이터를 암호화하여 전송하는 방법.
  2. 제 1항에 있어서, 제1 암호화 코드를 생성하는 단계는,
    64자리의 제1 암호화 코드를 생성함을 특징으로 하는 송신 단말에서 데이터를 암호화하여 전송하는 방법.
  3. 제 2항에 있어서, 상기 암호화 데이터 헤더는,
    각 비밀번호에 대응되는 제3 암호화 코드 및 제4 암호화 코드는 매칭하여 저장됨을 특징으로 하는 송신 단말에서 데이터를 암호화하여 전송하는 방법.
  4. 수신 단말에서 암호화된 데이터를 복호화하는 방법에 있어서,
    비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화 코드 및 제4 암호화 코드가 포함된 암호화 데이터 헤더와 암호화 데이터를 수신하는 단계;
    입력받은 비밀번호를 해쉬 알고리즘을 이용하여 제2' 복호화 코드를 생성하는 단계;
    제2' 복호화 알고리즘을 해쉬 알고리즘을 이용하여 제4' 복호화 코드를 생성하는 단계;
    상기 제4' 복호화 코드와 동일한 제4 암호화 코드가 상기 암호화 데이터 헤더에 포함되어 있으면, 상기 제4 암호화 코드에 대응되는 제3 암호화 코드를 추출하는 단계;
    상기 제2' 복호화 코드와 상기 제3 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제1' 복호화 코드를 산출하는 단계; 및
    상기 제1' 복호화 코드를 이용하여 상기 암호화 데이터를 복호화하는 단계를 포함함을 특징으로 하는 수신 단말에서 암호화 데이터를 복호화하는 방법.
  5. 제 4항에 있어서, 암호화 데이터 헤더는,
    각 비밀번호에 대응되는 제3 암호화 코드 및 제4 암호화 코드는 매칭하여 저장됨을 특징으로 하는 수신 단말에서 암호화 데이터를 복호화하는 방법.
  6. 제 5항에 있어서, 상기 상기 제4' 복호화 코드와 동일한 제4 암호화 코드가 상기 암호화 데이터 헤더에 포함되어 있지 않으면, 복호화 과정을 종료함을 특징으로 하는 수신 단말에서 암호화 데이터를 복호화하는 방법.
  7. 제 6항에 있어서, 상기 비밀번호는,
    각 수신 단말을 구별할 수 있는 식별번호임을 특징으로 하는 수신 단말에서 암호화 데이터를 복호화하는 방법.
KR1020160144468A 2016-11-01 2016-11-01 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법 KR101728281B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160144468A KR101728281B1 (ko) 2016-11-01 2016-11-01 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160144468A KR101728281B1 (ko) 2016-11-01 2016-11-01 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법

Publications (1)

Publication Number Publication Date
KR101728281B1 true KR101728281B1 (ko) 2017-04-18

Family

ID=58703817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160144468A KR101728281B1 (ko) 2016-11-01 2016-11-01 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법

Country Status (1)

Country Link
KR (1) KR101728281B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101793409B1 (ko) * 2017-06-19 2017-11-20 송현섭 Qr코드를 이용한 데이터 암호화 및 복호화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101793409B1 (ko) * 2017-06-19 2017-11-20 송현섭 Qr코드를 이용한 데이터 암호화 및 복호화 방법

Similar Documents

Publication Publication Date Title
KR101974452B1 (ko) 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템
US10015159B2 (en) Terminal authentication system, server device, and terminal authentication method
US9716591B2 (en) Method for setting up a secure connection between clients
US20180131511A1 (en) Systems and Methods for Dynamic Cypher Key Management
CN105164968A (zh) 由至少一个服务器执行的用于处理从第一计算装置到第二计算装置的数据分组以允许端到端加密通信的方法
TWI581599B (zh) 金鑰生成系統、資料簽章與加密系統和方法
CN104641592A (zh) 用于无证书认证加密(clae)的方法和***
JP2020530726A (ja) サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証
JP5380583B1 (ja) デバイス認証方法及びシステム
KR20080004165A (ko) 브로드캐스트 암호화를 이용한 디바이스 인증 방법
JP6167990B2 (ja) 署名検証システム、検証装置、及び署名検証方法
CN103036880A (zh) 网络信息传输方法、设备及***
JP2013207376A (ja) 情報処理装置およびプログラム
EP1519530A1 (en) Method for establishing an encrypted communication by means of keys
KR20180015667A (ko) 보안 sms 통신을 위한 방법 및 시스템
CN105554008A (zh) 用户终端、认证服务器、中间服务器、***和传送方法
CN107409043B (zh) 基于中央加密的存储数据对产品的分布式处理
JP2006197065A (ja) 端末装置および認証装置
WO2022115143A1 (en) Scalable key management for encrypting digital rights management authorization tokens
JP6501701B2 (ja) システム、端末装置、制御方法、およびプログラム
CN114696999A (zh) 一种身份鉴别方法和装置
KR101728281B1 (ko) 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법
KR101912443B1 (ko) 공개키 기반 암호화 방법 및 키 생성 서버
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
KR20220143557A (ko) 암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant