KR20170045861A - 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램 - Google Patents

테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20170045861A
KR20170045861A KR1020150145885A KR20150145885A KR20170045861A KR 20170045861 A KR20170045861 A KR 20170045861A KR 1020150145885 A KR1020150145885 A KR 1020150145885A KR 20150145885 A KR20150145885 A KR 20150145885A KR 20170045861 A KR20170045861 A KR 20170045861A
Authority
KR
South Korea
Prior art keywords
encryption
node
authentication information
unit
authentication
Prior art date
Application number
KR1020150145885A
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 KR1020150145885A priority Critical patent/KR20170045861A/ko
Publication of KR20170045861A publication Critical patent/KR20170045861A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

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

Abstract

본 발명은 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블에서 하나 이상의 단위 테이블을 개별 사용자의 인증 정보를 반영하여 변형 테이블을 생성한 후 저장하거나 배포하고, 상기 암호 테이블을 이용하여 암호화 및 복호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 변형 테이블로부터 상기 단위 테이블을 복원하도록 함으로써, 암호 테이블의 유출에 따른 해킹 가능성을 효과적으로 억제할 수 있는 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.
본 발명은 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 암호화 방법으로서, 제1 노드가 제2 노드로부터 암호 테이블의 발급 요청 메시지를 수신하는 단계 - 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 포함됨; 상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하는 단계; 및 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 상기 제2 노드로 전송하는 단계를 포함하며, 상기 제2 노드에서 상기 암호 테이블을 이용하여 암호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 하나 이상의 변형 테이블로부터 상기 단위 테이블을 복원하는 암호화 방법을 제공한다.

Description

테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR TABLE LOOK-UP TYPE ENCRYPTION}
본 발명은 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로는 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블에서 하나 이상의 단위 테이블을 개별 사용자의 인증 정보를 반영하여 변형 테이블을 생성한 후 저장하거나 배포하고, 상기 암호 테이블을 이용하여 암호화 및 복호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 변형 테이블로부터 상기 단위 테이블을 복원하도록 함으로써, 암호 테이블의 유출에 따른 해킹 가능성을 효과적으로 억제할 수 있는 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.
통신 기술이 발달하고 통신 서비스가 일반화되면서, 통신 네트워크 상에서 공격자로부터의 시스템 및 사용자의 안전성을 보장하기 위하여 다양한 암호 기술이 사용되고 있다. 암호 기술은 평문(Plain text)를 암호문(Cipher text)로 바꿈으로써 공격자가 상기 평문의 내용을 알 수 없도록 하는 기술이라고 할 수 있으며, 상기 암호화를 위해서 암호 알고리즘과 암호화 키(key)가 사용될 수 있다.
종래에는 주로 상기 암호화 키를 숨겨 공격자가 암호문으로부터 평문을 복호화하지 못하도록 하는 기술들이 활용되었으나, 공격자가 공격 대상의 암호화 키를 획득하는 다양한 기법들이 개발되었고, 나아가 암호화 키의 유출을 완전하게 차단할 수는 없다는 한계가 존재할 수 밖에 없는 바, 암호화 키가 유출될 수 있음을 전제로 하는 암호화 기법이 시도되고 있다.
이와 관련하여, 상기 암호 기술의 하나로서 암호 알고리즘 및/또는 암호화 키를 테이블로 구성하여 동작시키는 테이블 룩업 방식의 암호 기술이 시도되고 있다. 이에 대한 대표적인 예로서 화이트 박스 암호화 기법을 들 수 있는데, 상기 화이트 박스 암호화 기법에서는 암호 알고리즘 및 암호화 키를 암호 테이블로 구성함으로써, 상기 암호 테이블이 공격자에게 노출되더라도 공격자가 상기 테이블로부터 암호화 키를 추출하기 어렵게 하여 공격자의 공격을 방지하게 된다. 도 1에서는 상기 화이트 박스 암호화 기법에 따라 서버가 암호 테이블을 생성하여 사용자의 단말로 전송하는 동작을 설명하고 있다. 화이트 박스 암호화 기법에서 상기 암호 테이블은 통상 앱이나 프로그램과 같이 패키징되거나 별도의 테이블 파일로 데이터베이스 또는 파일 시스템 등에 저장되게 된다.
그러나, 이에 대하여 공격자가 상기 암호 테이블이 저장된 앱이나 프로그램 코드 자체를 획득하거나, 데이터베이스 또는 파일 시스템에 저장된 암호 테이블 자체를 획득하여 암호화 및 복호화에 사용하는 코드 리프트 등의 공격 기법이 시도되고 있어, 화이트 박스 암호화 기법 등 테이블 룩업 방식의 암호 기술을 보완할 수 있는 방안이 요구되고 있으나, 아직 이에 대한 적절한 해법이 제시되지 못하고 있다.
대한민국 특허공개공보 제10-2012-0079639호(2012.07.13. 공개)
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로서, 공격자가 암호 테이블을 획득하더라도 이를 실행하여 암호화를 수행할 수 없도록 하는 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위한 본 발명의 한 측면에 따른 암호화 방법은, 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 암호화 방법으로서, 제1 노드가 제2 노드로부터 암호 테이블의 발급 요청 메시지를 수신하는 단계 - 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 포함됨; 상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하는 단계; 및 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 상기 제2 노드로 전송하는 단계를 포함하며, 상기 제2 노드에서 상기 암호 테이블을 이용하여 암호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 하나 이상의 변형 테이블로부터 상기 단위 테이블을 복원하여야 하는 것을 특징으로 한다.
이때, 상기 변형 테이블은, 상기 단위 테이블에 상기 인증 정보 및 인코딩 함수에 의하여 생성된 값을 적용하여 산출될 수 있다.
또한, 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 해쉬된 값이 포함될 수 있다.
또한, 상기 인증 정보는 상기 제1 노드 및 제2 노드의 임시 저장 메모리 장치에만 저장될 수 있다.
또한, 상기 암호 테이블을 상기 제2 노드로 전송하는 단계에서, 상기 제1 노드는 상기 암호 테이블과 함께 상기 인코딩 함수에 대응하는 디코딩 함수를 함께 전송할 수 있다.
또한, 상기 제2 노드에서 상기 단위 테이블을 복원함에 있어서, 상기 변형 테이블에 상기 인증 정보와 상기 인코딩 함수에 의한 변형치를 복원할 수 있는 역함수를 적용하여 상기 단위 테이블을 복원할 수 있다.
또한, 상기 인증 정보는 상기 제2 노드 사용자의 생체 정보이거나 비밀번호(Password) 일 수 있다.
본 발명의 다른 측면에 따른 인증 방법은, 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 인증 방법으로서, 제1 노드가 제2 노드로부터 암호 테이블의 발급 요청 메시지를 수신하는 단계 - 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 포함됨; 상기 제1 노드가 상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하여 상기 제2 노드로 전송하는 단계; 상기 제1 노드가 상기 제2 노드로부터 인증 요청을 수신하여 상기 제2 노드로 소정의 인증용 코드를 전송하는 단계; 상기 제2 노드로루터 상기 암호 테이블을 사용하여 전자 서명된 인증용 코드를 전송받는 단계; 및 상기 전자 서명된 인증용 코드를 상기 암호 테이블을 이용하여 전자 서명의 무결성 및 상기 인증용 코드를 검증하는 단계를 포함하며, 상기 제1 노드 및 제2 노드에서 상기 암호 테이블을 이용하여 전자 서명을 하거나 전자 서명의 무결성을 검증하기 위해서는 상기 인증 정보를 이용하여 상기 변형 테이블로부터 상기 단위 테이블을 복원하여야 하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따른 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램은 컴퓨터에서 앞서 기재한 암호화 방법 또는 인증 방법에 기재된 각 단계를 실행시키기 위한 컴퓨터 프로그램인 것을 특징으로 한다.
본 발명의 또 다른 측면에 따른 암호화 장치는, 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 암호화 장치로서, 제2 노드로부터 암호 테이블의 발급 요청 메시지를 수신하는 메시지 수신부 - 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 포함됨; 상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하는 암호 테이블 생성부; 및 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 상기 제2 노드로 전송하는 암호 테이블 전송부를 포함하며, 상기 제2 노드에서 상기 암호 테이블을 이용하여 암호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 하나 이상의 변형 테이블로부터 상기 단위 테이블을 복원하여야 하는 것을 특징으로 한다.
본 발명에 따르면, 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블에서 하나 이상의 단위 테이블을 개별 사용자의 인증 정보를 반영하여 변형 테이블을 생성한 후 저장하거나 배포하고, 상기 암호 테이블을 이용하여 암호화 및 복호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 변형 테이블로부터 상기 단위 테이블을 복원하도록 함으로써, 공격자가 암호 테이블을 획득하더라도 이를 실행하여 암호화를 수행할 수 없도록 하는 효과를 가진다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 종래 기술에 따른 테이블 룩업 방식의 암호화 시스템의 구성도를 예시한 것이다.
도 2는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 암호화 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 테이블 룩업 방식의 암호화 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 암호화 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 암호화 방법에서 정상 동작 및 오동작하는 경우의 복호화 과정을 설명하는 도면이다.
도 6는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 암호화 방법에서 복호화 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 방법의 순서도이다.
도 8은 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 장치의 구성도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 이하에서는 특정 실시예들을 첨부된 도면을 기초로 상세히 설명하고자 한다.
이하의 실시예는 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하에서는, 본 발명에 따른 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램의 예시적인 실시 형태들을 첨부된 도면을 참조하여 상세히 설명한다.
먼저, 도 2에서는 본 발명의 일 실시예에 따른 암호화 시스템(100)의 구성을 예시하여 보여주고 있다. 도 2에서 볼 수 있는 바와 같이 본 발명의 일 실시예에 따른 암호화 시스템(100)은 제1 노드(110), 제2 노드(120) 및 통신 네트워크(130)를 포함하여 구성될 수 있다.
이때, 본 발명의 일 실시예에 따른 암호화 시스템(100)은, 통신 네트워크(130) 상의 두 노드(제1 노드(110) 및 제2 노드(120)) 사이에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 암호화 시스템(100)을 구성한다.
보다 구체적으로는, 상기 제1 노드(110)와 제2 노드(120)는 상기 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블에서 하나 이상의 단위 테이블을 개별 사용자의 인증 정보를 반영하여 변형 테이블을 생성하여 암호화 및 복호화를 수행하되, 상기 암호 테이블을 이용하여 암호화 및 복호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 변형 테이블로부터 상기 단위 테이블을 복원하도록 함으로써, 공격자가 상기 암호 테이블을 획득하더라도 상기 암호 테이블을 사용하여 암호화 및 복호화를 수행하는 것을 방지할 수 있게 된다.
상기 제1 노드(110)는 통신 네트워크(130)에 연결되어 상기 제2 노드(120)와 암호화/복호화 작업을 수행할 수 있는 장치일 수 있으며, 보다 구체적으로 상기 제2 노드(120)로 소정의 서비스를 제공할 수 있는 서버이거나, 혹은 상기 제2 노드(120)와 P2P 등을 통하여 연결되어 암호화/복호화 작업을 수행할 수 있는 단말일 수도 있다.
상기 제2 노드(120)는 통신 네트워크(130)에 접속할 수 있는 사용자 단말일 수 있으며, 보다 구체적으로, 상기 제2 노드(120)로서 스마트폰, 태블릿 PC, PDA, 휴대전화 등 다양한 휴대 단말기와 함께, 퍼스널 컴퓨터(PC), 노트북 PC 등 통신 네트워크(130)를 통해 제1 노드(110)와 통신할 수 있는 다양한 종류의 단말 장치가 사용될 수 있다. 나아가, 상기 제2 노드(120)로서 서버 등의 장치가 사용될 수도 있다.
즉, 본 발명에서 상기 제1 노드(110)와 제2 노드(120)로서 사용자 단말 및 서버가 사용될 수 있겠으나, 반드시 이에 한정되어야 하는 것은 아니며, 통신 네트워크(130) 상에서 사용자 단말 간의 연결 혹은 서버 간의 연결 등에도 적용될 수 있음은 자명하다.
상기 통신 네트워크(130)는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 코드분할다중접속(CDMA: Code Division Multiple Access), LTE(Long Term Evolution), 블루투스(Bluetooth), WiFi(Wireless Fidelity) 등의 무선 네트워크 뿐만 아니라, 근거리 네트워크(LAN: Local Area Network), 도시권 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN: Wide Area Network) 등의 다양한 네트워크를 포함할 수 있다. 또한, 네트워크(10)는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 네트워크(10)는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크나 공지의 전화 네트워크 또는 공지의 유무선 텔레비전 네트워크를 적어도 일부로 포함할 수도 있다.
도 3에서는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 암호화 방법의 순서도를 예시하고 있다. 아래에서는 도 3을 참조하여 본 발명의 일 실시예에 따른 암호화 방법을 보다 자세하게 살핀다.
도 3에서 볼 수 있는 바와 같이 본 발명의 일 실시예에 따른 암호화 방법은, 제1 노드(110)가 제2 노드(120)로부터 암호 테이블의 발급 요청 메시지를 수신하는 단계(S310), 상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하는 단계(S320); 및 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 상기 제2 노드(120)로 전송하는 단계(S330)를 포함할 수 있다.
이때, 상기 발급 요청 메시지에는 상기 제2 노드(120)의 인증 정보가 포함될 수 있으며, 특히 상기 제2 노드(120)에서 상기 암호 테이블을 이용하여 암호화/복호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 하나 이상의 변형 테이블로부터 상기 단위 테이블을 복원하도록 함으로써, 공격자가 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 획득하더라도 이를 이용하여 암호화 및 복호화 작업을 적절하게 수행하지 못하도록 억제할 수 있게 된다.
이에 대하여, 도 4에서는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 암호화 방법을 구체적으로 설명하여 주는 도면을 보여주고 있다. 도 4에서 볼 수 있는 바와 같이, 먼저 S310 단계에서 제2 노드(120)는 제1 노드(110)로 암호 테이블의 발급 요청 메시지를 전송하게 된다. 이때, 상기 암호 테이블의 발급 요청 메시지에는 상기 제2 노드(120)를 인증하기 위한 인증 정보가 포함될 수 있다. 상기 인증 정보로서는 상기 제2 노드(120)의 사용자의 지문, 홍체 정보 등의 생체 정보가 사용되거나 상기 제2 노드(120)의 사용자가 입력하는 패스워드(password) 등이 사용될 수 있다.
특히, 상기 인증 정보(S)로서 상기 사용자의 지문, 홍체 정보 등 생체 정보가 사용될 경우, 공격자가 본 발명의 일 실시예에 따른 암호화 방법을 해킹하는 것은 더욱 어려워질 수 있으며, 사용자로서는 보다 간편한 방법으로 보다 높은 보안성을 누릴 수 있게 된다. 나아가, 상기 사용자의 생체 정보와 패스워드 등을 동시에 사용하는 경우, 본 발명의 보안성을 더욱 높아질 수 있다.
또한, 상기 인증 정보(S)는 상기 사용자의 생체 정보, 패스워드 등에 표준 해쉬 함수(Hash function) 등을 적용하여 해쉬된 값일 수 있다. 상기 사용자의 생체 정보, 패스워드 등의 해쉬 값을 사용함으로써, 상기 인증 정보의 데이터 길이를 고정된 값으로 매핑시킬 수 있고, 또한 원정보 값을 숨겨 패스워드 등의 패턴을 유추하거나 예측하기 어렵게 할 수 있게 된다.
다음으로 S320 단계에서는 제1 노드(110)가 상기 암호 테이블을 구성하는 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 하나 이상의 변형 테이블을 도출하고, 이를 포함하는 암호 테이블을 생성하게 된다.
예를 들어, 도 4에서 볼 수 있는 바와 같이 암호 테이블 F가 A, B, C 3개의 단위 테이블을 포함하여 구성되는 경우, 제1 노드(110)는 상기 단위 테이블 중 하나 이상에 상기 인증 정보(S)를 반영하여 변형 테이블을 도출(도 4에서 A로부터 A'을 도출)하게 된다. 이때, 상기 변형 테이블을 도출함에 있어서, 인코딩 함수(도 4에서 E)를 사용하여 변형 테이블을 도출하여 대수적 복잡도를 높여 줌으로써, 공격자가 상기 변형 테이블(A')으로부터 단위 테이블(A)를 복원하는 것을 효과적으로 방지할 수 있게 된다. 즉, 상기 단위 테이블(A)에 상기 인증 정보(S) 및 인코딩 함수(E)에 의하여 생성된 값을 적용함으로써 상기 단위 테이블(A)에 대한 변형 테이블(도 4에서 A'= A·S-1·E)을 산출할 수 있다. 여기서 상기 S-1은 상기 인증 정보(S)의 역함수에 해당한다.
이어서, S330 단계에서는 상기 제1 노드(110)가 하나 이상의 변형 테이블을 포함하는 암호 테이블을 상기 제2 노드(120)로 전송하게 된다. 이때, 상기 제1 노드(110)는 상기 암호 테이블(F'=A'·B·C)과 함께 상기 인코딩 함수(E)에 대응하는 디코딩 함수(E-1)를 함께 전송할 수 있다.
따라서, 상기 제2 노드(120)에서는 하나 이상의 변형 테이블을 포함하는 암호 테이블(F'=A'·B·C)을 전송받아 저장하게 되며, 이와 함께 디코딩 함수(E-1)도 전송받아 저장할 수 있다.
이때, 상기 제1 노드(110) 또는 제2 노드(120)가 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블(F'=A'·B·C)을 사용하여 암호화 또는 복호화를 수행하기 위해서는 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블(F'=A'·B·C)로부터 변형 테이블(A'로부터 복원된 단위 테이블(A)을 포함하는 암호 테이블(F=A·B·C)을 산출하여 암호화 또는 복호화를 수행하여야 하는 것으로 약속된다.
이에 따라, 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블(F'=A'·B·C)로부터 상기 복원된 단위 테이블(A)을 포함하는 암호 테이블(F=A·B·C)을 산출하기 위하여, 상기 인증 정보(S)와 상기 인코딩 함수(S)에 의한 변형치를 복원할 수 있는 값을 적용하여 상기 단위 테이블(A)을 복원하게 된다. 보다 구체적인 예로서, 아래의 수학식 1에서 볼 수 있는 것과 같이, 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블(F'=A'·B·C)에 상기 인증 정보(S)와 상기 인코딩 함수에 대한 디코딩 함수(E-1)를 적용하여 줌으로써, 상기 복원된 단위 테이블(A)을 포함하는 암호 테이블(F=A·B·C)을 산출할 수 있게 된다.
[수학식 1]
Figure pat00001
만약, 공격자가 사용자의 생체 정보 또는 패스워드 등에 의한 인증 정보를 획득하지 못하는 경우, 공격자는 아래의 수학식 2에서 볼 수 있는 바와 같이, 하나 이상의 변형 테이블을 포함하는 암호 테이블(F'=A'·B·C)을 획득하더라도, 이로부터 복원된 단위 테이블(A)을 포함하는 암호 테이블(F=A·B·C)을 복원하기 어렵게 된다.
[수학식 2]
Figure pat00002
(여기서 Y는 공격자가 잘못 알고 있는 인증 정보)
나아가, 본 발명의 일 실시예로서, 상기 인증 정보(S)는 파일 시스템이나 데이터베이스 등에 저장하지 않고 암호화 또는 인증이 필요한 경우에 사용자로부터 입력받는 것이 바람직하며, 상기 제1 노드(110) 및 제2 노드(120)가 반복적으로 상기 인증 정보(S)를 사용하여야 하는 경우에도, 상기 제1 노드(110) 및 제2 노드(120)의 RAM 등 임시 저장 메모리 장치에만 저장하도록 함으로써, 공격자가 쉽게 상기 인증 정보(S)를 획득할 수 없도록 하는 것이 바람직하다.
도 5에서는 본 발명의 테이블 룩업 방식의 암호화 방법에서 정상 동작 및 오동작하는 경우의 복호화 과정을 설명하고 있다. 먼저, 도 5(a)에서 단위 테이블 A는 오퍼레이션(operation) a와 인코딩 t2를 포함하여 구성되고, 단위 테이블 B는 상기 인코딩 t2에 대한 디코딩 t2 -1, 오퍼레이션 b, 인코딩 t3를 포함하여 구성되며, 단위 테이블 C는 상기 인코딩 t3에 대한 디코딩 t3 -1과 오퍼레이션 c를 포함하여 구성된다. 이에 따라, 상기 함수 테이블 F (=A·B·C)는 각 인코딩과 디코딩이 서로 상쇄되면서 F=a·b·c 가 산출되어, 암호화 및 복호화 작업에서 정상적으로 작동하게 된다.
반면, 도 5(b)에서는 변형 테이블을 포함하는 암호 테이블(F'=A'·B·C)의 경우를 보여주고 있는데, 변형된 테이블(A'으로 인하여 인코딩 및 디코딩이 적절하게 상쇄되지 못하여, 암호화 및 복호화 작업에서 정상적으로 작동할 수 없음을 알 수 있다.
이에 대하여, 도 5(c)에서는 변형 테이블(A'에 인증 정보(S)와 상기 인코딩 함수에 대한 디코딩 함수(E-1)를 적용하여 줌으로써, 단위 테이블(A)을 복원할 수 있게 되고, 이에 따라 각 단위 테이블(A, B, C)에서 각 인코딩과 디코딩이 서로 상쇄되면서 F=a·b·c 가 산출되어, 암호화 및 복호화 작업에서 정상적으로 작동하게 된다.
또한, 도 5(d)에서는 공격자가 상기 변형 테이블을 포함하는 암호 테이블(F'=A'·B·C)을 획득하더라도, 상기 인증 정보(S)를 획득하지 못하거나 잘못된 인증 정보(Y)를 획득하는 경우, 인코딩 및 디코딩이 적절하게 상쇄되지 못하여, 암호화 및 복호화 작업에서 정상적으로 작동할 수 없음을 보여주고 있다.
도 6에서는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 암호화 방법에서 복호화 과정을 설명하는 도면을 예시하고 있다. 도 6(a)에서 볼 수 있는 바와 같이, 본 발명의 일 실시예로서 변형 테이블(A')은 오퍼레이션(operation) a와 인증 정보의 역함수(S-1) 및 인코딩(E)로부터 생성될 수 있다. 이에 따라, 상기 변형 테이블(A'로부터 단위 테이블(A)를 복원하기 위한 디코딩 테이블(Decoding A, DA)은 상기 인코딩(E)에 대한 디코딩(E-1)과, 상기 인증 정보(S) 및 인코딩(t2)을 포함하여 구성될 수 있으며, 이에 따라 상기 각 단위 테이블(A, B, C)에서 각 인코딩과 디코딩이 서로 상쇄되면서 F=a·b·c 가 산출될 수 있게 된다.
나아가, 도 6(b)에서 볼 수 있는 바와 같이, 디코딩 테이블(Decoding A, DA)에 정확한 인증 정보(S)가 사용되는 경우에는 입력(in)에 대하여 정확한 출력값 out2가 산출될 수 있으나, 잘못된 인증 정보(Y)가 사용되는 경우에는 엉뚱한 출력값이 산출됨을 알 수 있다.
도 7에서는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 방법의 순서도를 도시하고 있다. 도 7에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 방법은, 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 인증 방법으로서, 제1 노드(110)가 제2 노드(120)로부터 암호 테이블의 발급 요청 메시지를 수신하는 단계(S710), 상기 제1 노드(110)가 상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하여 상기 제2 노드(120)로 전송하는 단계(S720), 상기 제1 노드(110)가 상기 제2 노드(120)로부터 인증 요청을 수신하여 상기 제2 노드(120)로 소정의 인증용 코드를 전송하는 단계(S730), 상기 제2 노드(120)로루터 상기 암호 테이블을 사용하여 전자 서명된 인증용 코드를 전송받는 단계(S740) 및 상기 전자 서명된 인증용 코드를 상기 암호 테이블을 이용하여 전자 서명의 무결성 및 상기 인증용 코드를 검증하는 단계(S750)를 포함할 수 있다.
이때, 이때, 상기 발급 요청 메시지에는 상기 제2 노드(120)의 인증 정보가 포함될 수 있으며, 특히 상기 제1 노드(110)와 제2 노드(120)에서 상기 암호 테이블을 이용하여 인증을 수행하기 위해서는 상기 인증 정보를 이용하여 상기 하나 이상의 변형 테이블로부터 상기 단위 테이블을 복원하도록 함으로써, 공격자가 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 획득하더라도 이를 이용하여 인증 작업을 적절하게 수행하지 못하도록 억제할 수 있게 된다.
이에 대하여, 도 8에서는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 방법을 구체적으로 설명하여 주는 도면을 보여주고 있다. 도 8에서 볼 수 있는 바와 같이, 먼저 제2 노드(120)는 제1 노드(110)로 로그인 요청 메시지를 전송하게 되고, 이에 대하여 상기 제1 노드(110)는 상기 제2 노드(120)로 임시로 발급된 인증용 코드(NONCE)를 전송하게 된다(S730).
또한, 상기 S730 단계에 앞서 혹은 뒤를 이어, 상기 제1 노드(110)는 상기 제2 노드(120)로부터 암호 테이블의 발급 요청 메시지를 수신하고(S710), 상기 제1 노드(110)가 상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하여 상기 제2 노드(120)로 전송할 수 있다(S720). 이때 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 포함될 수 있다.
다음으로, 상기 제2 노드(120)에서는 상기 변형 테이블을 포함하는 암호 테이블을 이용하여 상기 인증용 코드(NONCE)를 전자 서명하게 되고, 이어서 S740 단계에서는 상기 제1 노드(110)가 제2 노드(120)로부터 상기 암호 테이블을 사용하여 전자 서명된 인증용 코드를 전송받게 된다.
또한, S750 단계에서는 상기 제1 노드(110)가 상기 전자 서명된 인증용 코드를 상기 암호 테이블을 이용하여 전자 서명의 무결성 및 상기 인증용 코드를 검증하여, 상기 제2 노드(120)에 대한 인증을 수행하게 된다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 프로그램은 컴파일러에 의해 만들어지는 기계어 코드로 구현된 프로그램뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에서 실행될 수 있는 고급 언어 코드로 구현된 프로그램일 수도 있다.
또한, 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 일체의 저장매체를 포함할 수 있다.
또한, 상기 컴퓨터로서는 퍼스널 컴퓨터(PC)나 노트북 컴퓨터 등에 한정되지 아니하며, 서버, 스마트폰, 태블릿 PC, PDA, 휴대전화 등 중앙처리장치(CPU)를 구비하여 컴퓨터 프로그램을 실행할 수 있는 일체의 정보처리 장치를 포함할 수 있다.
도 9에서는 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 장치(110)의 구성도를 도시하고 있다. 도 9에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 장치(110)는 메시지 수신부(112), 암호 테이블 생성부(114) 및 암호 테이블 전송부(116)를 포함하여 구성될 수 있다.
보다 구체적으로, 본 발명의 일 실시예에 따른 테이블 룩업 방식의 인증 장치(110)는 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 암호화 장치로서, 제2 노드(120)로부터 암호 테이블의 발급 요청 메시지를 수신하는 메시지 수신부(112), 상기 하나 이상의 단위 테이블에 상기 제2 노드(120)의 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하는 암호 테이블 생성부(114) 및 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 상기 제2 노드(120)로 전송하는 암호 테이블 전송부(116)를 포함하여 구성될 수 있다.
이때, 상기 발급 요청 메시지에는 상기 제2 노드(120)의 인증 정보가 포함될 수 있으며, 또한 상기 제2 노드(120)에서 상기 암호 테이블을 이용하여 암호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 하나 이상의 변형 테이블로부터 상기 단위 테이블을 복원하여야 하도록 함으로써, 공격자가 상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 획득하더라도 이를 이용하여 암호화 및 복호화 작업을 적절하게 수행하지 못하도록 억제할 수 있게 된다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 암호화 시스템
110: 제1 노드
112 : 메시지 수신부
114 : 암호 테이블 생성부
116 : 암호 테이블 전송부
120: 제2 노드
130: 통신 네트워크

Claims (10)

  1. 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 암호화 방법에 있어서,
    제1 노드가 제2 노드로부터 암호 테이블의 발급 요청 메시지를 수신하는 단계 - 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 포함됨;
    상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하는 단계; 및
    상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 상기 제2 노드로 전송하는 단계를 포함하며,
    상기 제2 노드에서 상기 암호 테이블을 이용하여 암호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 하나 이상의 변형 테이블로부터 상기 단위 테이블을 복원하여야 하는 것을 특징으로 하는 암호화 방법.
  2. 제1항에 있어서,
    상기 변형 테이블은,
    상기 단위 테이블에 상기 인증 정보 및 인코딩 함수에 의하여 생성된 값을 적용하여 산출되는 것을 특징으로 하는 암호화 방법.
  3. 제1항에 있어서,
    상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 해쉬된 값이 포함되는 것을 특징으로 하는 암호화 방법.
  4. 제1항에 있어서,
    상기 인증 정보는 상기 제1 노드 및 제2 노드의 임시 저장 메모리 장치에만 저장되는 것을 특징으로 하는 암호화 방법.
  5. 제1항에 있어서,
    상기 암호 테이블을 상기 제2 노드로 전송하는 단계에서,
    상기 제1 노드는 상기 암호 테이블과 함께 상기 인코딩 함수에 대응하는 디코딩 함수를 함께 전송하는 것을 특징으로 하는 암호화 방법.
  6. 제1항에 있어서,
    상기 제2 노드에서 상기 단위 테이블을 복원함에 있어서,
    상기 변형 테이블에 상기 인증 정보와 상기 인코딩 함수에 의한 변형치를 복원할 수 있는 역함수를 적용하여 상기 단위 테이블을 복원하는 것을 특징으로 하는 암호화 방법.
  7. 제1항에 있어서,
    상기 인증 정보는 상기 제2 노드 사용자의 생체 정보이거나 비밀번호(Password) 인 것을 특징으로 하는 암호화 방법.
  8. 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 인증 방법에 있어서,
    제1 노드가 제2 노드로부터 암호 테이블의 발급 요청 메시지를 수신하는 단계 - 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 포함됨;
    상기 제1 노드가 상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하여 상기 제2 노드로 전송하는 단계;
    상기 제1 노드가 상기 제2 노드로부터 인증 요청을 수신하여 상기 제2 노드로 소정의 인증용 코드를 전송하는 단계;
    상기 제2 노드로루터 상기 암호 테이블을 사용하여 전자 서명된 인증용 코드를 전송받는 단계; 및
    상기 전자 서명된 인증용 코드를 상기 암호 테이블을 이용하여 전자 서명의 무결성 및 상기 인증용 코드를 검증하는 단계를 포함하며,
    상기 제1 노드 및 제2 노드에서 상기 암호 테이블을 이용하여 전자 서명을 하거나 전자 서명의 무결성을 검증하기 위해서는 상기 인증 정보를 이용하여 상기 변형 테이블로부터 상기 단위 테이블을 복원하여야 하는 것을 특징으로 하는 인증 방법.
  9. 컴퓨터에서 제1항 내지 제8항 중 어느 한 항에 기재된 각 단계를 실행시키기 위한 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  10. 통신망의 두 노드에서 하나 이상의 단위 테이블을 포함하여 구성되는 암호 테이블을 이용하는 암호화 장치에 있어서,
    제2 노드로부터 암호 테이블의 발급 요청 메시지를 수신하는 메시지 수신부 - 상기 발급 요청 메시지에는 상기 제2 노드의 인증 정보가 포함됨;
    상기 하나 이상의 단위 테이블에 상기 인증 정보를 반영하여 도출되는 하나 이상의 변형 테이블을 포함하는 암호 테이블을 생성하는 암호 테이블 생성부; 및
    상기 하나 이상의 변형 테이블을 포함하는 암호 테이블을 상기 제2 노드로 전송하는 암호 테이블 전송부를 포함하며,
    상기 제2 노드에서 상기 암호 테이블을 이용하여 암호화를 수행하기 위해서는 상기 인증 정보를 이용하여 상기 하나 이상의 변형 테이블로부터 상기 단위 테이블을 복원하여야 하는 것을 특징으로 하는 암호화 장치.
KR1020150145885A 2015-10-20 2015-10-20 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램 KR20170045861A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150145885A KR20170045861A (ko) 2015-10-20 2015-10-20 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150145885A KR20170045861A (ko) 2015-10-20 2015-10-20 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20170045861A true KR20170045861A (ko) 2017-04-28

Family

ID=58701923

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150145885A KR20170045861A (ko) 2015-10-20 2015-10-20 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20170045861A (ko)

Similar Documents

Publication Publication Date Title
US10797879B2 (en) Methods and systems to facilitate authentication of a user
US9853816B2 (en) Credential validation
KR101982237B1 (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
US9769654B2 (en) Method of implementing a right over a content
CN111131416B (zh) 业务服务的提供方法和装置、存储介质、电子装置
Chikouche et al. A privacy-preserving code-based authentication protocol for Internet of Things
WO2018220693A1 (ja) 情報処理装置、検証装置、情報処理システム、情報処理方法、及び、記録媒体
CN102404337A (zh) 数据加密方法和装置
CN111859435B (zh) 一种数据安全处理方法及装置
JP6930053B2 (ja) 装置認証キーを利用したデータ暗号化方法およびシステム
JP7323004B2 (ja) データ抽出システム、データ抽出方法、登録装置及びプログラム
WO2018076291A1 (zh) 权限令牌生成方法、***及其设备
US10230532B2 (en) Entity authentication in network
US20170324560A1 (en) Method and Server for Providing Transaction Keys
JP6149749B2 (ja) 情報処理装置、情報処理システム、及びプログラム
US20160148002A1 (en) Key storage apparatus, key storage method and program therefor
Huang et al. Mutual authentications to parties with QR-code applications in mobile systems
Kim et al. Secure and efficient anonymous authentication scheme in global mobility networks
JP6167667B2 (ja) 認証システム、認証方法、認証プログラムおよび認証装置
KR20230139647A (ko) 데이터 암호화 및 복호화 시스템, 방법
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
KR20170045861A (ko) 테이블 룩업 방식의 암호화 방법, 장치 및 컴퓨터 프로그램
EP3035589A1 (en) Security management system for authenticating a token by a service provider server
KR101865703B1 (ko) 키 생성 방법 및 장치, 암호화 장치 및 방법
KR101591323B1 (ko) 데이터 전송이 가능한 단말 장치 및 상기 데이터 전송이 가능한 단말 장치의 부인 방지를 위한 데이터 전송 방법