KR20150139304A - 마스터 키를 보호하기 위한 암호화 장치 및 그 방법 - Google Patents

마스터 키를 보호하기 위한 암호화 장치 및 그 방법 Download PDF

Info

Publication number
KR20150139304A
KR20150139304A KR1020140067735A KR20140067735A KR20150139304A KR 20150139304 A KR20150139304 A KR 20150139304A KR 1020140067735 A KR1020140067735 A KR 1020140067735A KR 20140067735 A KR20140067735 A KR 20140067735A KR 20150139304 A KR20150139304 A KR 20150139304A
Authority
KR
South Korea
Prior art keywords
master key
white
key
box
generating
Prior art date
Application number
KR1020140067735A
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 KR1020140067735A priority Critical patent/KR20150139304A/ko
Publication of KR20150139304A publication Critical patent/KR20150139304A/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Abstract

화이트 박스 암호 기반으로 보호된 마스터 키로부터 세션 키를 생성하는 방법이 개시된다. 이 방법은 화이트 박스 암호 구현에 이용될 블록 암호 알고리즘과 마스터 키를 합성한 합성 함수를 생성하는 과정과, 상기 생성된 합성 함수를 룩업 테이블로 구성하는 과정과, 상기 구성된 룩업 테이블을 화이트 박스 암호 기반의 인코딩 테이블을 이용해 인코딩하는 과정 및 인코딩된 결과를 이용해 세션 키를 생성하는 과정을 포함한다.

Description

마스터 키를 보호하기 위한 암호화 장치 및 그 방법{ENCRYPTION DEVICE AND METHOD FOR PROTECTING A MASTER KEY}
본 발명은 암호화 장치 및 이를 이용한 세션 키 생성 방법에 관한 것으로서, 특히 화이트 박스 암호를 이용하여 화이트 박스 모델하의 공격자로부터 마스터 키(master key)를 보호하고, 이로부터 세션 키(session key)를 생성하는 암호화 장치 및 이를 이용한 세션 키 생성 방법에 관한 것이다.
화이트 박스 모델은 공격자가 실행 중인 프로세스의 모든 자원에 접근이 가능한 환경을 말한다. 예를 들면, 실행중인 프로그램과 관련된 메모리, 레지스터 등에 접근할 수 있고 수정도 가능한 환경을 말한다.
화이트 박스 암호는 암호 알고리즘을 연속된 룩업 테이블로 구성한 후 룩업 테이블을 인코딩 하여, 화이트 박스 공격 모델에서 공격자로부터 중간값을 보호한다. 이때, 인코딩 방식은 비선형 인코딩(non-linear encoding)과 선형 인코딩(linear encoding)의 두 가지 방식으로 이루어진다.
비선형 인코딩은 룩업 테이블의 입력(input)과 출력(output)에 대한 인코딩이고, 선형 인코딩은 key-dependency를 갖는 룩업 테이블의 Mixing bijection에 대한 인코딩이다.
위의 방법을 통하여 화이트 박스 모델에서 중간값이 노출되는 것을 방지할 수 있다. 인코딩을 마친 후 룩업 테이블은 도 1에 도시된 바와 같은 식의 형태가 된다.
도 1에 도시된 식의 결과값은 결국 F-1 X1 ㆍ X2 ㆍ X3 ㆍㆍㆍ Xi ㆍ G 이 되고 중간값의 노출 없이 룩업 테이블(lookup) 만으로 암호화 결과값을 얻어낼 수가 있다. 이때 올바른 값을 얻기 위하여 평문은 F로 인코딩되어야 하고, 최종 암호문은 G- 1를 이용하여 디코딩되어야 한다.
한편, 상술한 화이트 박스 암호를 이용한 서버와 클라이언트 간의 암호화된 통신에서는, 마스터 키와 세션 키가 이용된다.
마스터 키는 모든 세션 키를 생성하고 분배하기 위해 서버와 클라이언트에 의해 사용되는 키 데이터를 말한다. 이러한 마스터 키는 서버와 클라이언트에 안전하게 분배 및 공유된다.
세션 키는 통신 데이터의 암호화를 위해 사용되는 키를 말한다.
마스터 키는 장기간 변동 없이 공유되는 반면, 세션 키는 매 세션마다 새롭게 생성된다.
따라서 암호화된 통신 데이터를 분석하여 세션 키를 알아내도 다음 세션에서는 새로운 세션 키가 생성되기 때문에 마스터 키만 안전하게 보관하면 통신의 기밀성을 유지할 수 있다. 그러나, 아직까지 마스터 키를 안전하게 보관할 수 있는 방안이 제시되고 있지 못하다.
본 발명의 목적은 마스터 키를 안전하게 보관하고, 안전하게 보관된 마스터 키로부터 세션 키를 생성할 수 있는 화이트 박스 암호화 장치 및 이를 이용한 세션 키 생성 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 일면에 따른 화이트 박스 암호 기반으로 보호된 마스터 키로부터 세션 키를 생성하는 방법은, 화이트 박스 암호 구현에 이용될 블록 암호 알고리즘과 마스터 키를 합성한 합성 함수를 생성하는 과정과, 상기 생성된 합성 함수를 룩업 테이블로 구성하는 과정과, 상기 구성된 룩업 테이블을 화이트 박스 암호 기반의 인코딩 테이블을 이용해 인코딩하는 과정 및 인코딩된 결과를 이용해 세션 키를 생성하는 과정을 포함한다.
본 발명에 따르면, 평소 안전하게 보호되는 마스터 키가 복호화된 형태로 메모리에 상주하는 순간 화이트 박스 모델하의 공격자에게 유출될 수 있는 종래의 암호 장치와는 달리 화이트 박스 암호를 이용하여 마스터 키를 보호함으로써, 화이트 박스 공격자의 공격 범위를 매 세션마다 새롭게 생성되는 세션 키로 한정할 수 있다.
도 1은 일반적인 화이트 박스 암호 기술을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 마스터 키를 보호하기 위한 암호화 장치를 보여주는 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 화이트 박스 암호화 방법을 이용한 마스터 키 보호 방법을 보여주는 순서도이다.
마스터 키는 안전하게 보관되어야 한다. 그러나 실제 세션 키를 생성하기 위해서는 일정 시간 동안 메모리에 상주되어야 한다. 이 때, 화이트 박스 모델하의 공격자에게 마스터 키가 그대로 노출될 수 있다는 한계점이 있다.
이러한 한계점을 해소하기 위해, 본 발명은 화이트 박스 암호화 기법을 이용하여 마스터 키를 보호함으로써, 암호 장치가 탈취된 경우에도 마스터 키 유출을 방지하는 방법 및 장치를 제안한다.
이하, 본 발명의 바람직한 실시 예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명은 생략한다.
또한 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
도 2는 본 발명의 일 실시 예에 따른 마스터 키를 보호하기 위한 암호화 장치를 보여주는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 암호화 장치(100)는 마스터 키(Mk)를 안전하게 보호하기 위해 화이트 박스 암호 기법을 이용한다.
구체적으로, 본 발명의 일 실시 예에 따른 화이트 박스 암호화 장치(100)는 화이트 박스 알고리즘을 룩업 테이블로 구성한다. 마스터 키는 구성된 룩업 테이블 내부에 섞은 상태로 숨겨둠으로써, 마스터 키(Mk)의 유추 및 유출을 방지한다.
상세하게는 본 발명의 일 실시 예에 따른 화이트 박스 암호화 장치(100)는 씨드(X)(Seed)와 마스터 키(Mk)를 입력 받는 경우, 화이트 박스 암호 구현에 이용될 블록 암호 알고리즘과 마스터 키(Mk)의 합성 함수로 구성된 룩업 테이블을 T라 가정하면, 구성된 룩업 테이블을 화이트 박스 암호 기반의 인코딩 테이블을 이용해 인코딩한다. 예컨대, 인코딩에 사용될 테이블을 F, G라 하면, 상기 마스터 키(Mk)에 대한 화이트 박스 구현은 F-1 ㆍ T ㆍ G로 나타낼 수 있다.
이렇게 함으로써, 마스터 키(Mk)는 화이트 박스로 보호되고, 화이트 박스로 보호된 마스터 키(Mk)로부터 세션 키(Sk)가 생성된다. 따라서, 암호화 장치(100)의 공격자로부터 그 공격 범위를 세션 키(Sk)로 제한할 수 있다.
안전하게 구현된 화이트 박스의 경우, 테이블 인코딩으로 인하여 화이트 박스 모델하의 공격자는 전수 공격으로 마스터 키를 알아낼 수 없다. 따라서, 암호 장치가 탈취된 경우, 세션 키(Sk)는 유출되지만 마스터 키는 보호될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 화이트 박스 암호화 방법을 이용한 마스터 키 보호 방법을 보여주는 순서도이다.
도 3을 참조하면, 먼저, S310에서, 화이트 박스 암호 구현에 이용될 블록 암호 알고리즘과 마스터 키(Mk)를 합성한 합성 함수를 생성하는 과정이 수행된다.
이어, S320에서, 합성 함수를 룩업 테이블로 구성하고, S330에서 구성된 룩업 테이블을 화이트 박스 암호 기반의 인코딩 테이블을 이용해 인코딩하는 과정이 수행된다.
S330에서, 인코딩된 결과를 이용해 세션 키를 생성하는 과정이 수행된다.
이와 같이, 본 발명에서는 마스터 키(Mk)를 안전하게 보관하는 방법으로 화이트 박스 암호를 이용함으로써, 구현된 화이트 박스의 경우 테이블 인코딩으로 인하여 화이트 박스 모델하의 공격자는 전수 공격으로 마스터 키(Mk)를 알아낼 수 없으며, 때문에, 암호 장치가 탈취된 경우에도, 세션 키(Sk)는 유출되지만 마스터 키(Mk)는 안전하게 보호될 수 있다.
또한, 이상에서는 본 발명의 바람직한 일 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 일 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해해서는 안 될 것이다.

Claims (1)

  1. 화이트 박스 암호 기반으로 보호된 마스터 키로부터 세션 키를 생성하는 방법에 있어서,
    화이트 박스 암호 구현에 이용될 블록 암호 알고리즘과 마스터 키를 합성한 합성 함수를 생성하는 과정;
    상기 생성된 합성 함수를 룩업 테이블로 구성하는 과정;
    상기 구성된 룩업 테이블을 화이트 박스 암호 기반의 인코딩 테이블을 이용해 인코딩하는 과정; 및
    인코딩된 결과를 이용해 세션 키를 생성하는 과정
    을 포함하는 화이트 박스 암호 기반으로 마스터 키를 보호하는 방법.
KR1020140067735A 2014-06-03 2014-06-03 마스터 키를 보호하기 위한 암호화 장치 및 그 방법 KR20150139304A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140067735A KR20150139304A (ko) 2014-06-03 2014-06-03 마스터 키를 보호하기 위한 암호화 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140067735A KR20150139304A (ko) 2014-06-03 2014-06-03 마스터 키를 보호하기 위한 암호화 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20150139304A true KR20150139304A (ko) 2015-12-11

Family

ID=55020491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140067735A KR20150139304A (ko) 2014-06-03 2014-06-03 마스터 키를 보호하기 위한 암호화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20150139304A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190020988A (ko) * 2017-08-22 2019-03-05 국민대학교산학협력단 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치
US11251944B2 (en) 2020-02-21 2022-02-15 Nutanix, Inc. Secure storage and usage of cryptography keys

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190020988A (ko) * 2017-08-22 2019-03-05 국민대학교산학협력단 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치
US11251944B2 (en) 2020-02-21 2022-02-15 Nutanix, Inc. Secure storage and usage of cryptography keys

Similar Documents

Publication Publication Date Title
EP2829010B1 (en) Updating key information
US9973334B2 (en) Homomorphically-created symmetric key
Barker et al. Recommendation for cryptographic key generation
JP6017501B2 (ja) 暗号システム
US9515818B2 (en) Multi-block cryptographic operation
KR20100069610A (ko) 연쇄화된 암호화 모드를 위한 방법 및 디바이스
US9774443B2 (en) Computing key-schedules of the AES for use in white boxes
US20100111298A1 (en) Block cipher decryption apparatus and method
RU2666281C2 (ru) Электронное устройство блочного шифрования, подходящее для обфускации
US11153068B2 (en) Encryption device, encryption method, decryption device and decryption method
US20060023875A1 (en) Enhanced stream cipher combining function
KR20120079639A (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
CN108123794A (zh) 白盒密钥的生成方法和加密方法、装置及系统
CN105406969A (zh) 数据加密装置及方法
US8699702B2 (en) Securing cryptographic process keys using internal structures
KR20170097509A (ko) 화이트 박스 암호화 기반의 연산 방법 및 그 방법을 수행하는 보안 단말
WO2016067524A1 (ja) 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム
KR101095386B1 (ko) 이산화된 카오스 함수를 이용한 암호 시스템
KR20190020988A (ko) 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치
KR101914453B1 (ko) 암호화 장치 및 방법
KR101695361B1 (ko) 페어링 연산 및 비밀키를 이용한 술어 암호화 방법
KR20150139304A (ko) 마스터 키를 보호하기 위한 암호화 장치 및 그 방법
CN104320248A (zh) 一种系统间密钥同步的方法及系统
KR101971001B1 (ko) 화이트박스 암호가 적용된 블록 암호 기반의 난수 생성 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application