KR101668185B1 - 정보의 해킹 및 해독 방지를 위한 암호화 방법 - Google Patents

정보의 해킹 및 해독 방지를 위한 암호화 방법 Download PDF

Info

Publication number
KR101668185B1
KR101668185B1 KR1020150038621A KR20150038621A KR101668185B1 KR 101668185 B1 KR101668185 B1 KR 101668185B1 KR 1020150038621 A KR1020150038621 A KR 1020150038621A KR 20150038621 A KR20150038621 A KR 20150038621A KR 101668185 B1 KR101668185 B1 KR 101668185B1
Authority
KR
South Korea
Prior art keywords
encryption
code
cipher
pool
information
Prior art date
Application number
KR1020150038621A
Other languages
English (en)
Other versions
KR20160097983A (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 이병철
Publication of KR20160097983A publication Critical patent/KR20160097983A/ko
Application granted granted Critical
Publication of KR101668185B1 publication Critical patent/KR101668185B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 정보의 암호화 과정에서 규칙성이 최대한 존재하지 않도록 함으로써 정보가 해킹되더라도 그 해독이 불가능하도록 하기 위한 방법에 관한 것으로서, 다수의 암호화 대상 원소로 이루어진 암호화 대상의 각 암호화 대상 원소에 암호키를 적용하여 암호화를 행하는 암호화 방법에 대한 것으로서, 다양한 암호키들이 포함된 각 암호의 풀을 다수 생성하고, 상기 암호의 풀들 중 임의의 암호의 풀에 포함된 하나의 암호키를 랜덤으로 선택하여 하나의 대상 원소에 할당하되, 대상 원소가 동일하더라도 상기 암호키는 상이한 것을 선택하여 할당하는 것을 특징으로 한다.

Description

정보의 해킹 및 해독 방지를 위한 암호화 방법{Encryption method for protection of information from hacking or cracking}
본 발명은 개인정보 및 영업정보, 기밀정보 등의 해킹 및 해독 방지를 위한 암호화 방법에 관한 것이다.
주민등록번호, 사업자 등록번호, 계좌번호, 전화번호 등 숫자 정보는 물론 성명, 회사명, 주소 등과 같은 문자 정보에는 빈도가 높은 문자가 있거나, 규칙적인 체계를 가지고 있다. 아이디, 패스워드도 제한된 자릿수의 문자, 숫자, 기호 등의 조합으로 만들어지고 대부분 해시 알고리즘(hash algorithm)으로 암호화되어 해독이 난해하지만, 결국은 이 역시 알고리즘이므로 규칙성을 가지게 되어 재사용에 따른 노출 위험이 있다. 정보가 해킹 당하였을 경우 이와 같은 개인 정보의 특성으로 인하여 고도의 해시 알고리즘으로 암호화된 개인정보라 해도 해독되는 것은 시간 문제이다.
전화번호 010-3751-7000의 사례를 보면, 아무리 고도화한 암호화 방법을 사용한다 하더라도 앞 세 자리는 010이기 때문에 뒤 세 자리 "000"과 "3751"의 "1"도 용이하게 해독이 된다. 02-774-8496과 같은 일반전화의 경우도 앞 지역번호는 정형화되어 있고 02, 032, 061 등 제한된 숫자로 첫 자리는 무조건 "0"이므로 해킹 당하였을 경우 해독이 용이하게 된다.
아이디, 패스워드 등 정보의 저장 또는 암호화 과정에서 일부 시스템에서는 솔트(salt)가 추가되기도 하지만 이 또한 해시 알고리즘이며, 12bit 솔트의 경우에는 4,096개의 솔트값에 불과하므로 크래킹(cracking) 기법인 레인보우(rainbow) 테이블을 이용한 딕셔너리 공격(dictionary attack) 또는 브룻포스 공격(brute force attack) 등에 취약하다.
우리나라의 주민등록번호는 13 자리의 숫자로 구성되어 있는데, 앞의 6 자리는 생년월일로 이루어지고 뒷부분 7 자리는 성별과 지역코드, 검증번호로 이루어진다. 뒷부분 7 자리에서 맨 앞부분은 성별을 나타내는데 1은 남자 2는 여자이다. 그러나 2000년 출생자부터는 남자는 3 여자는 4를 부여받고 있다. 앞서 1800년대에 출생한 노인들의 성별코드는 남자 9 여자 0이었다.
예를 들어, 주민등록번호가 780621-1069224인 경우 암호화 되어 있더라도 세 번째 자리(즉, 생월 표기의 첫째 숫자)는 1 또는 0이고 일곱 번째 자리(즉, 남녀 식별 숫자)는 1, 2, 3, 4 중 하나가 된다. 암호화된 주민등록번호 중 세 번째 자리와 일곱 번째 자리가 일치하는 경우 그 암호화된 숫자는 1이 된다. 이와 같이 주민등록정보는 규칙성을 갖고 있기 때문에 암호화된 주민정보가 해킹당하였을 경우 암호 해독은 시간 문제이다.
한편, 영상정보, 의료 영상정보, 설계도면 등은 선, 또는 흑, 백, 회색 지대 등으로 구성되어 있어 이들의 암호화된 수준은 단순하고 규칙성을 가지고 있어 동일 코드를 추적하면 영상, 설계도면 등이 용이하게 복원된다. 예를 들어, 설계도면의 경우 선 또는 공백으로 구성되므로 아무리 복잡한 해시 함수를 이용하더라도 선 부분과 공백 부분이 1대 1 대응이 되도록 암호화하거나 선과 공백의 일정 조합을 1대 1 대응으로 암호화하게 된다. 이때 암호화된 각 라인의 공백 부분, 선 부분 암호를 일치시키면 암호가 쉽게 해독될 수 있다. 영상정보도 설계도면과 마찬가지로 체계성과 규칙성을 가지므로 복호화(decoding)가 용이하다.
이와 같은 규칙적, 정형화된 개인정보 등 기밀 정보가 해킹 당하였을 때도 해독이 불가능하게 하기 위해서는 암호화 과정에서 규칙성이 최대한 존재하지 않도록 할 필요가 있다.
한편, 본 출원인은, 외부로부터의 개인정보 유출의 위험을 원천적으로 차단하고 내부 이용자에 의한 개인정보 유출을 사전 통제하기 위한 개인정보 등록과 조회통제 방법을 선출원한 바 있다(출원번호 10-2014-0144151, 명칭: 개인정보 보호를 위한 정보등록과 조회통제 방법). 이 출원 발명에서는 등록하고자 할 개인정보(등록정보)에 고유의 고객번호를 할당한다. 이 고객번호는 무작위(랜덤) 숫자로 자동 생성되며 각 개인정보마다 고유로 지정된다. 그리고 모든 등록정보의 정보요소를 최대한 세분하여 분할한다. 예를 들어 성명은 성과 이름으로 분할하고, 주민등록번호는 앞자리와 뒷자리로 분할하고, 전화번호는 국번호와 뒷자리 번호로 분할하고, ID와 패스워드는 적정한(임의의) 경계를 기준으로 최대한 잘게 다수의 세그먼트로 분할하여 저장한다.
본 발명의 목적은 정보의 암호화 과정에서 규칙성이 최대한 존재하지 않도록 함으로써 정보가 해킹되더라도 그 해독이 불가능하도록 하기 위한 방법을 제안하는 것이다.
상기 과제를 해결하기 위하여 다음과 같은 새로운 암호화 방식의 적용이 필요하다.
1) 획일적, 반복적, 일관된 규칙을 가진 정보, 동일한 위치(자리), 동일한 데이터라도 랜덤하게 할당된 각기 다른 암호코드 또는 랜덤하게 할당된 해시 함수(HF: hash function) 등의 암호화 방법으로 표현되도록 한다.
2) 주소, 성명 등 다른 정보와 연계되어 규칙성을 가진 정보도 연계 자체를 제거하여 연계에 따른 정보 노출을 방지하도록 한다.
3) 보호해야 할 데이터를 분해하여 각기 다른 테이블에 저장하되 각 테이블에 관계를 설정하지 않도록 한다. 따라서 데이터들이 분리되어 있는 각 데이터 테이블은 키 필드(key field)가 존재하지 않으나 각 데이터 테이블의 데이터 재조합이 가능하여야 한다.
4) 저장이 필요한 정보의 경우 대상 원소 숫자, 문자 각 단위를 "1 대 1"이 아닌 "1대 다"의 방식으로 암호 또는 HF 등 암호화 방식의 풀을 이용한 랜덤 할당(random allocation) 방법으로 할당하여 암호화 한다.
5) 저장된 데이터(코드)의 행(column)과 열(row)에 가짜 데이터(fake data)(코드)를 섞어서 암호화하거나, 암호화 하기 전에 가짜 데이터를 섞는다.
6) 기계언어(machine language) 또는 직접 데이터를 중심으로 암호화 처리과정을 거치더라도 동일하게 적용된다.
이상의 수단을 구체화하기 위하여 본 발명은 다음과 같은 암호화 방법을 제안한다.
본 발명은 다수의 암호화 대상 원소로 이루어진 암호화 대상의 각 암호화 대상 원소(이하, '대상 원소')에 암호키를 적용하여 암호화를 행하는 암호화 방법에 대한 것으로서, 다양한 암호키들이 포함된 각 암호의 풀을 다수 생성하고, 상기 암호의 풀들 중 임의의 암호의 풀에 포함된 하나의 암호키를 랜덤으로 선택하여 하나의 대상 원소에 할당하되, 대상 원소가 동일하더라도 상기 암호키는 상이한 것을 선택하여 할당하는 것을 특징으로 한다.
다른 구현 형태에서 상기 하나의 대상 원소에 암호키를 랜덤으로 선택하여 할당하는 것은, 대상 원소의 위치별로 상이한 암호의 풀에 포함된 하나의 암호키를 선택하여 할당하는 것을 포함한다.
또다른 구현 형태에서 상기 암호화 대상은 상기 다수의 대상 원소로 이루어진 다수의 레코드를 포함하며, 이에 상기 하나의 대상 원소에 암호키를 랜덤으로 선택하여 할당하는 것은, 상기 레코드별로 상이한 암호의 풀에 포함된 하나의 암호키를 선택하여 할당하는 것을 포함한다.
상기 암호키는 암호 코드일 수도 있고 해시 알고리즘 또는 해시 함수 등 암호화 방식일 수도 있다.
상기 암호화 대상의 대상 원소는 숫자, 문자, 또는 생체정보 및 각종 영상정보 등의 이미지일 수 있다. 암호화 대상이 영상 정보인 경우에 상기 대상 원소는 이 영상 정보에서 분할된 다수의 분할 구역이며, 상기 암호의 풀들 중 임의의 암호의 풀에 포함된 하나의 암호키를 랜덤으로 선택하여 각 분할 구역에 할당한다.
본 발명의 일 구현형태에 따르면 상기 암호화 대상에 가짜코드를 추가하는 것이 추가로 포함된다. 상기 가짜코드의 추가는 상기 하나의 대상 원소에 암호키를 랜덤으로 선택하여 할당하기 전에 수행할 수도 있고 상기 하나의 대상 원소에 암호키를 랜덤으로 선택하여 할당한 후에 수행할 수도 있다.
이 가짜코드의 추가는 암호화 대상의 행, 또는 열, 또는 행과 열에 대해서 수행할 수 있다.
이상과 같은 본 발명의 사상은 이하에서 도면과 함께 설명하는 상세한 발명의 설명에 의해서 보다 더 명확해질 것이다.
본 발명은, 암호화 과정에서 규칙성이 최대한 존재하지 않아서, 규칙적, 정형화된 개인정보, 영상정보, 개인정보, 영업정보, 설계도면, 기밀정보 등 모든 기밀 정보가 해킹 또는 크래킹 당하더라도 그 해독이 불가능한, 극대화된 암호화 방법을 제공한다. 본 발명은 또한 아이디, 패스워드, 성명, 주소, 전화번호, 주민등록번호 등 보호되어야 하는 데이터들을 분해하여 서로 연계시키지 않도록 저장 및 조회하는 본 발명자의 선출원 방법과 결합하여 그 효용이 증대된다.
본 발명의 기술을 영상 정보에 적용함으로써, 각 구역별, 숫자, 문자별, 자리별, 레코드별로 암호키(암호코드 체계 또는 암호화 방식)가 다르므로 암호화된 정보에서 체계성을 찾기 어렵게 된다.
또한 본 발명에 따르면 암호화된 코드 중간 중간(열 및 행)에 가짜코드를 섞어 넣어 전체적인 윤곽 추적이 불가능하게 한다.
도 1은 종래의 암호화 방식의 설명도
도 2a는 본 발명의 한 가지 방식에 따른 암호화 방식의 예시도
도 2b는 도 2a의 암호화 방식의 구체 설명도
도 3은 본 발명의 다른 방식에 따른 암호화 방식의 예시도
도 4는 본 발명의 또 다른 방식에 따른 암호화 방식의 예시도
도 5a는 도 2a, b의 방식과 결합된 가짜코드 삽입 방식 설명도
도 5b는 도 3의 암호풀 적용 방식에 가짜코드를 삽입하는 것을 나타내는 설명도
도 6은 암호풀의 개념 설명도
도 7은 암호화된 정보에 행 가짜코드와 열 가짜코드를 삽입한 경우의 예시도
도 8은 본 출원인의 선출원에 개시된 기술 사상에 본 발명의 암호화 및 가짜코드 삽입을 결합하여 적용하는 경우의 예시도
도 9는 종래에 해커에 의한 해킹 방법에 대해서 간략하게 소개하는 도면
도 10은 본 발명에 의해서 도 9의 해킹이 효과적으로 봉쇄될 수 있음을 설명하는 도면
도 11은 본 발명에 따른 암호화 방법을 숫자 문자 등의 정보 이외에 생체정보, 전자도면, 디지털 영상정보 등의 영상 정보에 적용하는 것을 나타내는 도면
도 12는 본 출원인의 선출원의 기술 사상에 본 발명의 사상을 적용하는 활용예의 설명도
도 13은 고객이 개인정보를 신규 입력한 경우의 프로세스 사례도
휴대전화번호의 경우 앞자리는 99%가 010으로 시작되므로 이 번호는 저장하지 않는 방법을 사용할 수도 있다. 이 경우 예외적으로 "010"이 아닌 경우에만 해당 숫자를 저장한다.
모든 레코드의 같은 자리에 "010"이 존재하더라도 "010"이 랜덤하게 무한대의 다양한 암호 코드로 또는 다양한 HF 등 암호화 방식(이하, 암호 코드와 암호화 방식을 통칭하는 용어인 "암호키"와 혼용함)을 적용하여 저장된다면 그 데이터가 "010"인지를 인식하기 용이하지 않다. 예를 들어, 주민등록번호가 840815-1069293인 경우 과거에는 각 자리 수에 1대 1 대응으로 암호화하였지만, 새로운 방식에서는 "1대 다"로 암호화한다. 주민등록번호에 대한 지금까지의 암호화는 도 1에서와 같이 1대 1 대응 방식이었다. 고도의 해시 알고리즘을 적용하더라도 그 방식은 마찬가지이다. 예를 들어 기밀문서의 "암호화 방법에 대한 것이다."라는 평문을 해시 알고리즘을 이용하여 암호화할 경우 평문에 "암호화 방법에 대한 것이다"와 같이 마침표(period)만 없어도 전혀 다른 암호문이 되지만, 동일한 평문일 경우에는 동일한 암호문이 생성된다. 따라서 해시 함수를 이용하여 1대 1로 대응되는 암호화는 결국 규칙성을 가질 수밖에 없게 된다.
주소 데이터 테이블을 예로 들어보면, "경기도 양평군 양동면 다락근이길 94"에 살고 있는 아빠, 엄마, 아들, 딸, 그리고 세 들어 사는 사람들이 모두 같은 주소로 저장되는데, 이 경우 고도의 해시 알고리즘을 적용하여 암호화 하더라도 암호화되어 저장된 내용은 동일할 수 밖에 없게 된다. 그러나 본 발명에서와 같은 방법을 적용하게 되면, 아빠, 엄마, 아들, 딸, 세입자 등의 주소가 전혀 다른 내용으로 저장되어 데이터 해킹만으로는 해독이 불가능하게 된다. 첫째로, 주소 데이터가 분할되고 가짜 코드가 각기 다르게 행과 열에 추가되고, 둘째로, 암호코드 또는 암호화 방법이 1대 다로 휴리스틱 랜덤하게 적용되므로 해독이 불가능하게 된다.
도 2a는 본 발명의 한 가지 방식에 따른 암호화 방법을 주민등록번호로써 예시한다. 이 방식은 주민등록번호의 각 숫자에 각기 다른 랜덤의 암호 코드를 대응시키는 방식이다. 구체적으로, 도 2a에서 "암호의 풀(pool) 1~9"가 있는데 각 암호의 풀에(이하, '암호풀'과 혼용함)는 해시 알고리즘에 의해 생성된 다수의 암호 코드, 또는 HF(해시 함수) 등 암호화 방식들의 집합(암호키들의 집합)이 포함되어 있다. 주민등록번호 840815-1069293에서 암호화 대상 원소 8에는 암호의 풀 1이 할당되는데, 첫 번째 대상 원소 8과 네 번째 대상 원소 8이 비록 동일한 숫자이지만, 이들에 암호의 풀 1에 들어 있는 암호키(여기서는 암호 코드)들 중에서 하나가 랜덤으로 상이하게 할당된다(이 랜덤 할당은 암호화 시스템에서만 알고 있음). 따라서 동일한 "8"이라 하더라도 상이한 암호 코드가 랜덤하게 할당되므로 암호화의 규칙성이 정형화되지 않는다. 더 살펴보면 도 2a에서 암호의 풀 2 내의 암호키들(여기서는 암호 코드들) 중 임의의 하나는 대상 원소 "1"에, 암호의 풀 3 내의 암호 코드들 중 임의의 하나는 대상 원소 "5"에, 암호의 풀 4 내의 암호 코드들 중 임의의 하나는 대상 원소 "2"에, 암호의 풀 5 내의 암호 코드들 중 임의의 하나는 대상 원소 "3"에, ... 암호의 풀 9 내의 암호 코드들 중 임의의 하나는 대상 원소 "9"에 할당됨을 알 수 있다.
이와 같은 대응은 기계언어(machine language)를 통해서도 가능하다. 또한, 여기서의 랜덤은 알고리즘에 의하여 생성되지 않고 휴리스틱(heuristic)에 가깝게 하므로써 규칙성이 존재하지 않도록 한다. 또한 기밀성이 매우 중요하고 고도화된 암호화가 필요하다면 암호풀 내에 암호 코드들을 암호키로서 포함시켜서 암호 코드를 적용하는 것에서 나아가, 암호키로서 다양한 암호화 방식들로 암호의 풀을 구성함으로써 각기 다른 임의의 암호화 방식(해시 함수 또는 알고리즘 등)을 랜덤으로 적용할 수도 있다.
이 방식의 개념에 대해서 보다 자세하게 도 2b에 나타내었다. 도 2b에서와 같이, 숫자 또는 문자별로 지정된 암호풀을 적용하되 각 암호풀 내의 다수의 암호 코드(또는 암호화 방식), 즉, 암호키 중 임의의 것을 랜덤으로 할당하는 방식에 대해서 이해할 수 있을 것이다. 예를 들어, 대상 원소인 숫자 "1"에 지정되는 암호풀 내에는 BB7, CQ5, 59K, ...의 암호 코드가 있는데 이들 중 하나가 랜덤으로 숫자 1에 할당되며, 문자 "ㄱ"에 지정되는 암호풀 내에는 GS8, P3K, 5AS, ...가 있는데 이들 중 하나가 랜덤으로 문자 ㄱ에 할당된다. 단, 한번 할당된 것은, 동일한 숫자나 문자에 대해서도 재차 할당되지 않는다.
이러한 방식에서 "암호의 풀(pool)"에 포함된 선택 가능한 암호(또는 HF 등의 암호화 방식)의 수는 무한대로 확장 가능하다. 만약 각각의 암호풀에 100개씩의 암호(또는 암호화 방식)가 저장되어 있고 랜덤하게 대응된다면, 숫자 8에 대한 암호(또는 암호화 방식)가 100가지로 나타나, 이를 해독하고자 하는 사람은 암호화된 숫자에서 규칙성을 발견하지 못해 해독이 불가능하다.
도 2c는 도 2a 및 도 2b의 개념에 따라 암호화 대상의 대상 원소인 숫자 또는 문자에 암호풀을 랜덤 할당하는 프로세스를 예시적으로 나타낸다. 규칙 생성기(rule generator)(21)에서 생성된 규칙에 의거하여 풀 및 코드 생성기(pool and code generator)(22)에서는 다양한 암호풀(23)과 각 풀 내의 암호 코드들을 생성한다. 도 2c에서 23으로 나타낸 풀은 아직 선택되지 않은 코드 풀을 의미한다. 이렇게 생성된 풀(23) 내의 코드들은 제1 랜덤 코드 할당기(random code allocator)(21)에 의해 랜덤으로 선택되어서 코드 포켓(code pocket)(25)에 투입되고(한번 선택된 코드 풀은 두 번 다시 선택되지 않음), 이들 암호풀 중에서 제2 랜덤 코드 할당기(26)가 암호화 대상(27)의 각 대상 원소(여기서는, 숫자 또는 문자)마다 각각 랜덤으로 할당한다.
"암호의 풀"(암호풀)은 암호화 소프트웨어에 속하는 것으로서, 도 6을 참조하면 암호화 소프트웨어는 정보입력과 출력(조회)에 연계되어 단일 소프트웨어로써 인코딩과 디코딩을 모두 지원하거나, 인코딩과 디코딩을 각기 별개의 소프트웨어로 할 수 있다. 암호풀은 간단한 형태에서는 "암호코드의 풀"로 할 수 있고, 진보된 방법으로는 "암호화 방식의 풀"로 할 수도 있다. 암호풀은 코드 또는 기계언어 등 다양한 방법으로 표현 가능하다.
위에서 코드 포켓(25)은 데이터베이스의 룩업테이블과 유사한 개념이다. 이러한 프로세스는 기계언어에 적용할 때에도 동일하게 적용된다. 물론, 제1 랜덤 코드 할당기(21)와 제2 랜덤 코드 할당기(26)가 코드 풀을 랜덤으로 선택 및 할당할 때에는 어느 것이 랜덤으로 선택 및 할당했는지를 기억하고 있어야 할 것이다.
도 2a의 방식은 예시한 숫자 정보가 대상 원소인 암호화 대상 뿐만 아니라 기밀문서 등과 같이 문자 정보가 대상 원소인 암호화 대상에도 동일하게 적용될 수 있다. 만일 기밀문서에 "암호화 방법에 대한 것이다."라는 평문이 반복 등장하더라도 1대 다 대응이 되도록 암호코드 또는 해시 알고리즘을 랜덤 할당한다면 생성된 암호문은 동일하지 않을 것이고 크래킹이 용이하지 않을 것이다. 더욱이 암호문에 가짜 데이터(이하, 가짜코드(fake code))가 일부 섞여 있고(가짜코드에 대해서는 차후 도 5b를 통해 설명함), 문서 내용이 불규칙한 형태의 여러 개로 분할되고 상호 연결고리가 없이 저장되어 있다면 해독은 더욱 어렵게 될 것이다. 간단한 방법으로는 주민등록번호 앞 3자리, 다음 3자리, 뒤 3자리, 다음 끝 부분 4자리로 구분하여 각기 다른 데이터 테이블에 저장하고 랜덤 생산되고 랜덤 할당되는 각기 다른 암호(또는 암호화 방식) 풀을 적용할 수도 있다. 이로써 적용되는 암호의 풀이 4개로 줄어들게 된다. 이와 같은 방법은 아이디, 패스워드, 생체정보, 영상정보 등 기밀정보와 같은 모든 암호화 대상에도 동일하게 적용 가능하다.
도 3은 본 발명의 다른 방식에 따른 암호화 방법을 주민등록번호로써 예시한다. 이 방식은 도 2a, b의 방식을 더욱 강화한 것으로서, 암호화 대상인 주민등록번호의 각 대상 원소인 숫자에 랜덤 암호키(즉, 암호 코드 또는 암호화 방식)를 대응시키되 해당 숫자의 위치에 따라 다른 암호풀에 포함된 암호키를 할당하는 방식이다. 구체적으로, 도 3에서 "암호의 풀(pool) 2, 52, 41, 96, 71, 46, 8, ...."(각 암호의 풀에는 다수의 암호 또는 HF 등의 암호화 방식들이 포함되어 있음)과 같이 도 2a의 경우보다 더 많고 세분화된 암호풀이 있다. 예시한 주민등록번호 840815-1069293에서는 대상 원소 "8"이 두 군데 있지만 이러한 동일한 숫자 "8"의 경우에도 첫 번째 위치의 "8"에는 예를 들어 암호풀 96 내의 암호 코드들 중 임의의 하나가 랜덤 할당되고 네 번째 위치의 "8"에는 암호풀 52 내의 암호 코드들 중 임의의 하나가 랜덤 할당된다. 이러한 규칙, 체계(숫자 및 문자의 위치별로 상이한 암호풀 내의 상이한 코드를 랜덤 할당)에 의해서 저장된 암호에는 앞의 도 2a의 방식보다도 더욱 노출가능성이 줄어 들어서 복호화가 더욱 어렵게 된다(사실상 불가능함).
한편 도 4는 본 발명의 또다른 방식으로, 암호화 대상의 레코드별로 암호풀을 랜덤 적용하는 방식을 나타내고 있다. 기본적인 암호풀 적용 개념은 앞에서 설명한 것과 같지만, 도 4에 나타낸 방식에서는, 좌측의 4개의 레코드, 즉, Line #1 ~ #4마다 각기 다른 암호의 풀을 적용하는 방식이다. 즉, 첫 번째 레코드(Line #1)의 정보에는 도 2a 또는 도 3에서와 같은 방식으로 각 숫자(문자) 또는 그 위치별로 암호의 풀 1을 적용하여 암호 코드(또는 암호화 방식)를 랜덤 할당하고 두 번째 레코드(Line #2)에는 암호의 풀 3을 적용하고 세 번째 레코드(Line #3)에는 암호의 풀 2를 적용한다.
이상의 세 가지 방식의 암호풀 할당 방식과 병행하여 보다 더 암호화 효과를 증대시키는 방식으로서 가짜 데이터, 즉, 가짜코드(fake code)를 삽입하는 것을 제안한다. 도 5a와 도 5b는 가짜코드를 삽입하는 두 가지 방식을 설명하고 있다.
도 5a의 경우는 앞의 도 2a, b의 방식과 결합된 가짜코드 삽입 방식을 나타낸다. 예시로서, "010"이라는 진짜 코드(true code)에 "3751 7000"이라는 가짜코드를 삽입한 것을 표시하고 있다. 가짜코드는 열 가짜코드 생성기(column fake code generator)(51)에 의해 생성된다. 이렇게 가짜코드를 삽입한 전체 정보(진짜 코드 + 가짜코드)에 대해서 랜덤 코드 할당기(52)에 의해서 코드 풀 내의 암호 코드(또는 암호화 방식, 이하 동일)를 할당함으로써 보안성을 대폭 증대시킬 수 있다. 즉, 도 5a의 사례에서는 진짜 코드인 "010"에 포함된 두 개의 "0" 이외에 가짜코드에 포함된 네 개의 "0000"마다 모두 다른 암호 코드가 할당되므로, 해커는 이 암호화된 정보로부터 규칙성을 더욱 더 유추할 수 없을 것이다.
도 5b는 앞의 도 3의 암호풀 적용 방식, 즉, 해당 숫자나 문자의 위치를 고려하여 상이한 암호풀에 포함된 암호 코드를 랜덤으로 할당하는 방식에 가짜코드를 삽입하는 것을 나타낸다. 도 5a의 경우처럼 "010"이라는 진짜 코드에 "3751 0000"이라는 가짜코드를 삽입하되, 대상 원소의 숫자, 문자의 위치에 따라서 상이한 암호풀에서 코드를 랜덤으로 할당하고 있다. 이 또한 도 3의 방식과 결합됨으로써, 도 5a의 가짜코드 삽입 방식보다도 더욱 더 규칙성을 흐트러뜨린다. 이 방식은 주민등록번호, 전화번호 등과 같이 저장된 정보가 체계적인 자리를 갖고 있는 경우에 적용 가능하며, 코드 풀을 숫자, 문자, 기계언어 등이 아닌 "위치"에 할당하는 방법으로 어떤 해시 함수 등에 의하여 생성된 암호의 집합이 아닌 해시 함수들의 집합을 암호풀로 할 수도 있다. 저장된 정보가 어떤 포맷을 갖는지 알지 못하게 가짜코드를 입력할 경우 진짜 코드에 가짜코드를 추가할 수 있다. 예를 들어, 진짜 코드 "010-3751-7000"에 가짜코드를 삽입하여 "06310-837951-37760020"으로 저장할 수 있다.
이와 같은 방법이 소위 솔트(salt)와 다른 점을 보면 다음과 같다. 솔트는 아이디, 패스워드, 전화번호 등의 앞 또는 뒤 등에 알고리즘으로 생성된 솔트 코드를 추가하여 저장하고 있다. 본 발명에서는 아이디, 패스워드, 전화번호 등을 분해하여 별도 데이터 테이블로 저장하고, 각 데이터 테이블에 랜덤 생성기에 의하여 랜덤하게 생성되는 열(column) 가짜코드를 추가한다. 예를 들어, 어떤 사용자가 12345678을 아이디 또는 패스워드로 사용한다고 하자. 이 경우 12345678을 1234와 5678로 분해한 다음 각기 다른 데이터 테이블에 저장하고 데이터 테이블 1에 저장되는 1234에는 $DKG를 가짜코드로 추가하여 1234$DKG로 변환한 다음 이를 암호화하여 저장할 수 있다. 데이터 테이블 2에 저장되는 5678에는 CG@P을 가짜코드로 추가하여 5678CG@P로 변환하여 암호화 한 다음 저장한다. 여기서 가짜코드의 위치는 자유롭게 정할 수 있을 것이다. 진짜(true) 데이터 문자, 숫자, 기호의 사이 사이에 넣을 수도 있을 것이다. 그리고 각 데이터 테이블에는 행(row) 가짜코드 생성기에 의하여 생성되는 랜덤 가짜코드를 각기 다른 레코드에 삽입할 수 있다. 각 데이터 테이블은 키필드(key field)를 갖지 않는다. 그러나 저장된 데이터를 시스템이 사용하고자 할 때에는 데이터 테이블들이 가지고 있는 데이터들이 재조합되어야 한다.
본 발명에서 가짜코드는 데이터 레벨에서 추가할 수도 있고 코드 레벨에서 추가할 수도 있다. 전자는 암호화를 수행하기 전에 데이터에 가짜코드를 삽입하는 것을 의미하고, 후자는 암호화를 수행한 후에 코드에 가짜코드를 삽입하는 것을 의미한다. 여기서, 가짜코드를 넣고 해시 알고리즘 등으로 암호화하는 경우, 예를 들어, 아이디 ksjr456을 둘로 나누고 각각 가짜코드를 넣어 wwwksj와 r456ddd를 만든 다음 이것을 해시 알고리즘으로 암호화하는 방법만 놓고 볼 때에는 고전적인 암호 방법에 속하는 "치환 방법"에 해당할 수 있다. 그러나 현재의 해시 알고리즘의 경우에도 보안성의 강화를 위해, 예를 들어 12345와 123456을  암호화 할 때 "6"이 추가되는 경우에는 12345 부분도 전혀 다르게 암호화 되어, 암호 코드가 서로 영향을 주고 받을 수 있도록 하고는 있다. 그럼에도 불구하고 데이터가 많아진다면 수학적 규칙을 발견하는 것은 시간 문제이다. 왜냐하면 본 발명에서 해결하고자 하는 종래의 문제점인 수학적 규칙을 바탕으로 한 알고리즘에 의한 1대 1 암호화 방식을 적용함에 따른 규칙이 노출되지 않기 때문이다. 따라서 본 발명의 내용과 같은 암호화 방법 적용시에 휴리스틱(heuristic) 랜덤에 의한 1대 다 할당 방법이 적용된다면 수학적 규칙 발견은 불가능하게 될 것이다. 본 발명의 방법을 적용한다면 SHA-2, SHA-3 등 알고리즘에 바탕한 암호화 방법을 적용한 경우보다 시스템의 처리 속도를 높일 수 있다. 지금까지 정부나 민간업체들이 SHA-3 등 알고리즘 바탕의 암호화 방법을 잘 알면서도 암호화하지 않고 데이터를 보관하다가 해킹을 당하여 데이터가 노출되는 사고는 대부분 심각한 시스템 처리속도 저하 문제를 해결하지 못하였기 때문이다.
가짜코드 생성기에 의한 가짜코드 삽입에 대해서 좀더 상세하게 설명한다. 주소, 사업자 등록번호, 주민등록번호, 계좌번호 등 각 자릿수에 규칙이 존재하는 정보의 경우 가짜코드는 해당 위치에서 규칙을 가지도록 하거나, 전체 데이터의 규칙이 은폐되게 저장할 수 있다. 가짜코드(데이터)는 열 가짜코드(column fake code) 생성기와 행 가짜코드(row fake code) 생성기에 의하여 교차적으로 생성 저장된다. 두 가지 사례를 든다.
사례 1 : 저장된 정보가 주민등록정보라는 사실이 노출될 위험이 있다고 판단한다면, 주민등록번호가 780628-2043211일 경우, 만약 세 번째 자리에 가짜코드를 심는다면, 세 번째, 네 번째 자리는 "출생월"이므로 세 번째 자리에 올 수 있는 숫자는 "1" 또는 "0"이 된다. 따라서 이 자리에 가짜코드를 삽입할 때에 이 규칙에 따르도록 할 수 있다. 그러나 규칙이 노출되는 것을 회피하기 위하여 열 가짜코드를 추가할 경우에는 규칙 노출을 피하기 위하여 가짜코드 자체를 랜덤하게 추가할 수 있다.
사례 2 : 주소 정보의 경우에도 규칙이 존재한다. 따라서 저장된 암호가 주소정보임을 인식하기 용이할 경우, 예를 들어 "서울시"에 따를 수 있는 "구" 정보이므로 가짜코드도 "서울시에 소재한 구" 정보만 추가되어 해킹(정보의 노출)되더라도 가짜코드임을 알지 못하도록 코드(또는 HF 등 암호화 방식) 풀을 배정할 수 있다. 그러나 열에 가짜코드(데이터)를 추가하여 주소인지 여부를 판별 불가능하게 할 경우 가짜코드는 규칙성을 갖지 않도록 랜덤하게 적용할 수 있다.
규칙이 존재하지 않는 정보의 경우 숫자, 문자는 제한 없이 추가 가능하도록 가짜코드를 추가할 수 있게 코드 풀을 배정한다. 물론 기계언어를 사용하더라도 적용 논리는 동일하다. 정보를 저장할 때는 열(필드)과 행(레코드)에 가짜코드를 심기 위하여 정보를 분해하여 각기 다른 테이블에 별도로 저장할 수도 있다.
도 7에 나타낸 사례는 이상의 가짜코드 추가에 관한 이해를 돕기 위하여, 암호화된 정보에 행 가짜코드와 열 가짜코드를 삽입한 경우에 대해서 예시하고 있다. 이와 같은 사례는 도시된 숫자 문자 정보 등의 암호화 대상 뿐만 아니라 기밀을 요하는 모든 정보의 암호화 대상에도 적용 가능함은 당연하다.
도 8은 가짜코드에 대한 보다 더 구체적인 시각적 이해를 위하여, 암호화된 정보라고 가정한 정보를 제시하고, 암호화할 때에 암호화 대상 데이터의 행과 열에 가짜코드를 추가하는 사례를 예시하고 있다. 도 8은 특히, 앞서 [발명의 배경이 되는 기술] 란에서 밝힌 본 출원인의 선출원(출원번호 10-2014-0144151, 명칭: 개인정보 보호를 위한 정보등록과 조회통제 방법)에 개시된 기술 사상에 본 발명의 암호화 및 가짜코드 삽입을 결합하여 적용하는 경우를 예시하고 있다. 도 8의 윗부분은 본 출원인의 선출원 내용으로서, 다섯 건의 주소 정보를 적절한 세그먼트로 분할하여서 DB 테이블에 저장하는 개념을 나타내고 있고, 아래 부분은 이렇게 분할된 세그먼트에 행 또는 열의 가짜코드를 랜덤하게 추가하였음을 나타내고 있다. 이와 같이 본 발명의 사상은 독자적으로도 우수한 암호화 방법이지만, 본 출원인의 선출원에 적용함으로써 더욱 더 그 보안성이 향상된다.
도 9와 도 10은 본 발명의 효과에 관하여 부연 설명하기 위한 것으로서, 도 9는 종래에 해커에 의한 해킹 방법에 대해서 간략하게 소개하고 있고, 도 10은 본 발명에 의해서 도 9의 해킹이 효과적으로 봉쇄될 수 있음을 설명하고 있다.
도 9에서, 해커는 응용프로그램을 통하여 DB에 접속하여 개인정보를 추출해 가거나, 웹서버를 통하여 DB에 접속하여 개인정보를 추출해 간다. 즉, 웹서버로 침투한 후 응용 프로그램을 통해 DB에 접속한다. 이 경우에 종래의 암호화와 같이 규칙적, 체계적으로 암호화된 정보를 가져가게 되면 해독이 용이하다. 그러나 이러한 방식의 해킹에도, 본 발명과 같은 방법을 적용하여 암호화 저장을 하면 해커가 DB를 해킹하더라도 암호를 해독할 수 없다. 즉, DB의 모든 정보를 본 발명의 방법으로 암호화하여 저장할 경우에는 도 10과 같이 소위 "정보보호 app. Server"를 통해 나온 정보가 아니면 해독이 안된다. 따라서 정보 보호 app. Server를 보호하기 위한 상시모니터링에 보안의 초점을 두면 된다. 즉, 보안이 필요한 정보는 정보 보호 server를 통하여 공급 및 관리되며, 정보 보호용 app. Program과 DB가 동시에 해킹 당하지만 않으면 된다. 만일 해킹이 일어났을 때에는 상시모니터링 1, 2가 정보보호 app. Server가 해킹되었다는 것을 인지하는 즉시 코드 규칙을 변경하여 DBMS를 업그레이드한다.
도 11은 본 발명에 따른 암호화 방법을 숫자 문자 등의 대상 원소 이외에 생체정보, 전자도면, 디지털 영상정보 등의 영상 정보가 대상 원소인 암호화 대상에 적용하는 것을 나타내고 있다. 종래의 암호화 방법에서는 예컨대 도 11의 지문의 경우에 "선의 유무"를 기준으로 해시 알고리즘을 써서 암호 코드를 배정하므로, 비록 쉽지는 않더라도 일정한 규칙이 존재하며 재사용에 따라 해독이 가능하였지만, 본 발명의 사상을 활용하면 암호화 대상 원소인 영상 정보의 일정 구역(S1, S2, S3, S4)별로 상이한 "암호 코드 풀" 또는 "암호방법의 풀" 1~4를 알고리즘 차원이 아닌 최대한 휴리스틱(heuristic)하게 적용하여 랜덤성을 극대화할 수 있고 규칙성을 배제할 수 있다. 영상 정보의 구역 분할을 일정하게 하지 않고 랜덤하게 분할하는 것도 물론 가능하다(예컨대, 본 출원인의 선출원(출원번호 10-2014-0144151, 명칭: 개인정보 보호를 위한 정보등록과 조회통제 방법)에서 제시된 것과 같이).
여기서도 생체정보 등 암호화 대상 영상 데이터를 특정의 또는 불규칙한 형상으로 쪼개어 별도 테이블에 가짜코드를 섞고 각 데이터 테이블에 키필드 없이 관계를 설정하지 않은 채 저장하면 해커가 데이터를 조립하는 것을 불가능하게 한다. 이 때에도 가짜코드는 열 및 행 가짜코드 생성기, 랜덤 가짜코드 할당기에 의하여 할당함으로써 할당 과정에서 알고리즘의 사용이 배제된다. 그리고 암호화 코드(또는 암호화 방식) 할당도 마찬가지로 최대한 랜덤성이 유지되도록 한다. 이 경우 물론 기계언어에도 동일하게 적용하여 효과를 기대할 수 있다. 도 11의 방식은 지문, 홍채, 정맥 등 생체정보, 설계도면, 기밀영상정보 등 디지털 영상정보에 적용가능하다.
도 12는 본 출원인의 선출원의 기술 사상에 본 발명의 사상을 적용하는 활용예를 나타내고 있다. 상부 좌측에 나타낸 김개똥, 이소똥, 박말똥 세 명의 최초 입력된 개인정보(121)가 있다. 현행의 암호화에 의하면 '122'에 나타낸 것과 같이 암호화가 된다. 그러나 선출원 발명 및 본 출원 발명에 따르면, 1 단계에서 선출원의 세그먼트 분할 방식에 따라 최초 입력 개인정보(121)를 분할하여 개별적으로 DB 테이블에 저장한다. 2단계에서는 본 발명에 따른 암호화 방식에 의거하여 열(column) 암호풀을 사용하여서 암호화를 한다. 이리하여 현행 암호화에서와 같은 체계적인 관계가 존재하지 않게 된다. 그 다음 3단계와 4단계에서는 각각 열 가짜코드(column fake code0를 삽입하고 행 가짜코드(row fake code0를 삽입하여 최종적으로 저장한다. 단계 4에서 좌측 필드(sonamu)와 우측 필드(bongnamu)에 삽입된 가짜코드의 행(row)이 일치하지 않게 하는 것이 바람직하다.
행에 가짜코드를 넣는 방법은 다양할 수 있다. 예를 들어 소수(솟수)인 경우에 넣거나 또는 체크디지트(check digit)를 이용하여 넣을 수 있다. 각 데이터 테이블에 적용하는 규칙이 다르고 레코드의 배열이 각기 다르게 되고 관계(relation)가 설정되어 있지 않고 키필드가 존재하지 않으므로 해커가 데이터 테이블들을 연결하여 정보를 추출하는 것은 불가능하다. 본 사례에서는, sonamu에는 소수를 적용하고 bongnamu에는 체크디지트를 적용하여 obs를 15 로 나누어 0이 아닌 첫 번째 숫자가 6인 obs에 가짜코드를 넣었다. 여기서 obs는 라인 번호(line number)로, 데이터 테이블에는 노출되지 않고 저장되지 않는다. 그러나 시스템은 자동으로 이를 인지하고 프로세스에 사용한다. 데이터에 새로운 레코드가 추가될 때는 라인의 마지막에 추가되고 삭제될 때는 시스템이 분리되어 있는 데이터 테이블들의 삭제 대상 레코드까지에 포함되어 있는 가짜코드 레코드의 수를 인식하여 obs에서 차감함으로써 일관된 삭제가 가능하다. 해커가 DB를 절취한 경우에는 sonamu 테이블과 bongnamu 테이블의 열과 행의 가짜코드가 어떤 것인지 인지하여 제거한 다음 합쳐야 개인 정보를 확보할 수 있다.
도 13은 고객이 개인정보를 신규 입력한 경우의 프로세스 사례를 나타낸 것으로 앞에서 설명한 본 발명의 방식을 정리해놓은 도면이다. 고객이 "성명" 데이터를 입력한 경우를 예로서 도시하고 있다.

Claims (12)

  1. 숫자 또는 문자 또는 영상 정보 중 어느 하나인 다수의 암호화 대상 원소(이하, '대상 원소')로 이루어진 암호화 대상을 암호화 하는 방법으로서,
    규칙 생성기에서 생성된 규칙에 의거하여 암호풀 및 암호키 생성기에서 다양한 다수의 암호키들이 포함된 암호의 풀들을 다수 생성하는 단계,
    상기 생성된 암호의 풀들 중 어느 하나의 암호풀 내의 어느 하나의 암호키를 랜덤으로 선택하여 코드 포켓에 투입하는 단계 - 여기서 암호의 풀 내의 한 번 선택된 암호키는 재차 선택되지 않음,
    코드 포켓 내의 암호키들을 상기 각 대상 원소별로 중복되지 않도록 각각 할당하는 단계를 포함하되,
    상기 암호키의 랜덤 선택은 휴리스틱 방식으로 수행되어 랜덤 선택의 규칙성이 존재하지 않도록 하는 것을 특징으로 하는 암호화 방법.
  2. 숫자 또는 문자 또는 영상 정보 중 어느 하나인 다수의 암호화 대상 원소(이하, '대상 원소')로 이루어진 암호화 대상을 암호화 하는 방법으로서,
    규칙 생성기에서 생성된 규칙에 의거하여 암호풀 및 암호키 생성기에서 다양한 다수의 암호키들이 포함된 암호의 풀들을 다수 생성하는 단계,
    상기 생성된 암호의 풀들 중 어느 하나의 암호키를 랜덤으로 선택하여 코드 포켓에 투입하는 단계 - 여기서 암호의 풀 내의 한 번 선택된 암호키는 재차 선택되지 않음,
    코드 포켓 내의 암호키들을 상기 각 대상 원소별로 중복되지 않도록 각각 할당하는 단계를 포함하되,
    상기 암호키의 랜덤 선택은 휴리스틱 방식으로 수행되어 랜덤 선택의 규칙성이 존재하지 않도록 하며,
    상기 대상 원소에 암호키를 랜덤으로 할당하는 것은, 대상 원소의 위치별로 상이한 암호의 풀에 포함된 하나의 암호키를 선택하여 할당하는 것을 특징으로 하는 암호화 방법.
  3. 제1항 또는 제2항에 있어서, 상기 암호화 대상은 상기 다수의 대상 원소로 이루어진 다수의 레코드를 포함하고,
    상기 하나의 대상 원소에 암호키를 랜덤으로 선택하여 할당하는 것은, 상기 레코드별로 상이한 암호의 풀에 포함된 하나의 암호키를 선택하여 할당하는 것을 포함하는 암호화 방법.
  4. 제1항 또는 제2항에 있어서, 상기 암호키는 암호 코드인 것을 특징으로 하는 암호화 방법.
  5. 제1항 또는 제2항에 있어서, 상기 암호키는 암호화 방식인 것을 특징으로 하는 암호화 방법.
  6. 제5항에 있어서, 상기 암호화 방식은 해시 알고리즘인 것을 특징으로 하는 암호화 방법.
  7. 삭제
  8. 제1항 또는 제2항에 있어서, 상기 암호화 대상은 영상 정보이고 상기 대상 원소는 이 영상 정보에서 분할된 다수의 분할 구역이며,
    상기 암호의 풀들 중 임의의 암호의 풀에 포함된 하나의 암호키를 랜덤으로 선택하여 각 분할 구역에 할당하는 것을 특징으로 하는 암호화 방법.
  9. 제1항 또는 제2항에 있어서, 상기 암호화 대상에 가짜코드를 추가하는 것을 추가로 포함하는 암호화 방법.
  10. 제9항에 있어서, 상기 가짜코드의 추가는 상기 하나의 대상 원소에 암호키를 랜덤으로 선택하여 할당하기 전에 수행되는 것을 특징으로 하는 암호화 방법.
  11. 제9항에 있어서, 상기 가짜코드의 추가는 상기 하나의 대상 원소에 암호키를 랜덤으로 선택하여 할당한 후에 수행되는 것을 특징으로 하는 암호화 방법.
  12. 제9항에 있어서, 상기 암호화 대상은 행과 열을 포함하고,
    상기 가짜코드의 추가는 상기 행, 또는 열, 또는 행과 열에 대해서 수행되는 것을 특징으로 하는 암호화 방법.



KR1020150038621A 2015-02-10 2015-03-20 정보의 해킹 및 해독 방지를 위한 암호화 방법 KR101668185B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150020063 2015-02-10
KR1020150020063 2015-02-10

Publications (2)

Publication Number Publication Date
KR20160097983A KR20160097983A (ko) 2016-08-18
KR101668185B1 true KR101668185B1 (ko) 2016-10-21

Family

ID=56874438

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150038621A KR101668185B1 (ko) 2015-02-10 2015-03-20 정보의 해킹 및 해독 방지를 위한 암호화 방법

Country Status (1)

Country Link
KR (1) KR101668185B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011517859A (ja) * 2007-08-06 2011-06-16 モンセーヌ,ベルナール ドゥ 認証、データ転送およびフィッシング対策のためのシステムおよび方法
KR101196675B1 (ko) * 2010-12-22 2012-11-06 대덕위즈주식회사 영상 데이터 보안 방법과 이를 위한 영상획득 장치
KR101447339B1 (ko) * 2009-10-21 2014-10-06 차이나 아이더블유엔콤 씨오., 엘티디 센서 네트워크의 암호키 관리 및 노드 인증 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011517859A (ja) * 2007-08-06 2011-06-16 モンセーヌ,ベルナール ドゥ 認証、データ転送およびフィッシング対策のためのシステムおよび方法
KR101447339B1 (ko) * 2009-10-21 2014-10-06 차이나 아이더블유엔콤 씨오., 엘티디 센서 네트워크의 암호키 관리 및 노드 인증 방법
KR101196675B1 (ko) * 2010-12-22 2012-11-06 대덕위즈주식회사 영상 데이터 보안 방법과 이를 위한 영상획득 장치

Also Published As

Publication number Publication date
KR20160097983A (ko) 2016-08-18

Similar Documents

Publication Publication Date Title
CN106161006B (zh) 一种数字加密算法
US20140281520A1 (en) Secure cloud data sharing
CN106506487A (zh) 一种信息加、解密方法及装置
CN1939028A (zh) 从多个设备存取网络存储器上的保护数据
KR20130039354A (ko) Dbms 및 데이터베이스에서 암호화 방법
JP2016528845A (ja) 身分認証システム、装置、方法及び身分認証請求装置
US10657275B2 (en) Encryption directed database management system and method
Yang et al. Image encryption using the chaotic Josephus matrix
CA3066701A1 (en) Controlling access to data
US11829499B2 (en) Securing PIN information using obfuscation by applying extra security layer
JP7323004B2 (ja) データ抽出システム、データ抽出方法、登録装置及びプログラム
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
US10699021B2 (en) Method and a device for secure storage of at least one element of digital information, and system comprising such device
CN1599313A (zh) 一种公开加密方式的口令动态加密输入方法
CA2913571A1 (en) Multi-platform user authentication device with double and multilaterally blind on-the-fly key generation
WO2009001053A1 (en) Randomisation
US11601291B2 (en) Authentication method and device for matrix pattern authentication
KR100910303B1 (ko) 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법
KR101668185B1 (ko) 정보의 해킹 및 해독 방지를 위한 암호화 방법
KR102391952B1 (ko) 암호화 분산 처리 시스템, 장치 또는 이를 위한 방법
Amma NG et al. A novel scrambled data hiding approach towards securing sensitive data
KR101214502B1 (ko) 데이터 보안 장치
CN111541652B (zh) 一种用于提高秘密信息保管及传递安全性的系统
KR20110057369A (ko) 데이터 암호화 장치 및 그 방법
KR101772203B1 (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