KR20170019679A - 효율적인 화이트박스 암호 기반 암복호화 방법, 및 인증코드 생성 및 검증 방법 - Google Patents

효율적인 화이트박스 암호 기반 암복호화 방법, 및 인증코드 생성 및 검증 방법 Download PDF

Info

Publication number
KR20170019679A
KR20170019679A KR1020150113789A KR20150113789A KR20170019679A KR 20170019679 A KR20170019679 A KR 20170019679A KR 1020150113789 A KR1020150113789 A KR 1020150113789A KR 20150113789 A KR20150113789 A KR 20150113789A KR 20170019679 A KR20170019679 A KR 20170019679A
Authority
KR
South Korea
Prior art keywords
white box
white
authentication code
box implementation
ciphertext
Prior art date
Application number
KR1020150113789A
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 KR1020150113789A priority Critical patent/KR20170019679A/ko
Publication of KR20170019679A publication Critical patent/KR20170019679A/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/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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

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

Abstract

본 발명에서는 효율적으로 구현할 수 있는 화이트 박스 구현 방식에 대한 설계 및 구현 방식을 제시하고, 이를 이용하여 화이트 박스 공격 모델에서 안전하면서도 효율적인 암호화, 복호화 및 인증 코드 생성과 검증 방법 설계 사상을 제시하였다.

Description

효율적인 화이트박스 암호 기반 암복호화 방법, 및 인증코드 생성 및 검증 방법{EFFICIENT WHITE-BOX BASED ENCRYPTION-DECRYPTION METHOD AND TAG GENERATION AND VERIFICATION METHOD}
본 발명은 화이트 박스 암호를 이용한 효율적인 암호화 및 복호화 방법, 인증 코드 생성 및 검증 방법에 대한 것이다.
화이트박스 모델은 블랙박스 모델과 달리 공격자가 암호 연산 내부 상태 정보를 얻을 수 있는 경우를 고려한다. 즉, 기존의 비밀 키가 메모리에 그대로 올라가는 구현 방식에서는 공격자가 메모리에 접근할 경우 상기 비밀 키가 노출되어 안전성을 장담할 수 없게 된다.
이러한 이유로 화이트박스 구현 방법에 대한 연구가 진행이 활발히 진행이 되고 있으나, 대부분의 화이트박스 구현 방식이 사이즈가 큰 테이블을 이용하는데다가 효율성이 떨어지는 이유로 효율성이 중시되는 환경에서 화이트박스 구현 방법에 대한 한계가 존재하였다.
최근에서는 운영모드 차원에서 화이트박스 구현 방식을 제안하였는데, 이는 처음 일부 연산만을 화이트 박스를 적용하여 하고 대부분의 암호 연산에는 화이트 박스를 적용하지 않는 방식이다. 즉 상기 암호 연산을 수행하는 과정은 공격자에게 모두 알려질 수도 있다는 공격 모델 하에서 설계되었다.
그러나, 상기 제안한 방식에서는 암호문에 대한 변조 유무 파악을 하지 않는 데다가 암호 연산 과정이 공격자에게 노출될 수 있는 상황에서는 암호문 변조가 쉽게 가능하게 되어, 정상적인 사용자가 악의적으로 보낸 콘텐츠를 인증 과정을 거치지 않고서 실행시킬 수 있는 위험을 안고 있다.
인증 코드 생성 및 검증을 화이트 박스 공격 모델에서 어떻게 안전하게 수행할 것인가에 대해 해결책을 제시하고자 한다.
인증 코드 생성 및 검증하는 과정 부분을 암호화에 사용되지 않는, 즉 암호화 과정을 통해서 얻어지지 않는, 비밀 키를 이용하여 화이트박스 구현을 적용하여 상기 과제를 해결한다.
상술한 바와 같이 본 발명을 통해 화이트 박스 공격 모델 하에서 안전하면서도 효율적으로 암호화, 복호화, 및 인증 코드 생성 및 검증을 수행할 수 있다.
도 1은 일반적인 화이트박스 암호를 이용한 암호화 방식을 소개하는 도식도이다.
도 2는 도 1의 예로, 암호화 과정에 PCBC 암호 모드를 사용한 예를 보여주는 도식도이다.
도 3은 본 발명의 방식을 보여주는 도면으로, 인증 코드 Tag를 화이트박스 구현 방식으로 생성해야 함을 보여주는 도식도이다.
도 4는 도 3에서 제시한 본 발명의 예를 보여주는 도식도이다.
도 5는 도 3에서 제시한 본 발명의 예를 보여주는 도식도이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
최근에 효율적인 화이트박스 암호화 방식을 제안하였는데, 도 1은 일반적인 방식을 보여준다.
도 1을 보면, 첫번째 데이트 블록 또는 초기값 IV에 화이트박스 암호화를 이용하여 출력 값 Output 1을 생성하고, 나머지 데이타 블록에 대해서는 화이트 박스 구현 방식을 적용하지 않고 데이타 암호화를 수행하여 출력 값 Outputs를 생성한다. 상기 데이타 암호화를 수행 과정은 화이트 박스 공격 모델에서는 공격자에게 모두 노출된다는 것을 가정하므로 상기 공격자는 임의의 평문에 대해 올바른 암호문 생성이 가능하게 된다. 즉, 위조 공격으로 인한 콘텐츠에 대한 무결성을 보장할 수 없게 됨을 뜻한다.
구체적으로 도 2에서는 일반적으로 제시된 방법을 보여주고 있다. 도 2를 보면, 초기값 IV에 화이트 박스 암호화를 적용하여 Output 0을 생성하고, 나머지 Ouput 들은 화이트박스 구현 방식이 적용되지 않은 블록암호 AES와 키 K1을 이용하여 데이타 암화화를 통해 생성하게 된다. 이때, 화이트 박스 공격 모델에서는 Encoding를 수행하는 동안 IV와 K1이 공격자에 노출되어 동일한 IV와 K1을 이용하여 임의의 입력 값들에 대한 올바른 출력값들 (또는 암호문)을 생성할 수 있게 되어 쉽게 위조 공격이 가능하게 된다.
일반적으로 제시한 방법의 한계는 암호문에 무결성을 어떻게 제공할 것인가에 대한 해결책을 제시하지 않고 있다는 데에 있다.
본 발명에서는 암호문에 대한 무결성을 제공하기 위해, 데이타 암호화 과정에서 노출된 정보로부터 얻어지기 어려운 비밀 키를 이용하여 화이트 박스 구현 방식으로 인증 코드 Tag를 생성해야 함을 제시하고자 한다.
구체적으로 도 3을 보면, 인증 코드 생성시 화이트 박스 구현 방식으로 설계 및 구현되어 져야 함을 보여준다. 이는 데이타 암호화 과정 동안 내부 상태 값이 화이트 박스 공격자에게 노출된다고 할지라도, 인증 코드 Tag를 생성하는 부분이 화이트 박스 구현 방식으로 설계되어 지기에 암호문에 대한 무결성을 제공하게 된다.
본 방식의 구체적인 예는 도 4와 도 5에서 보여주고 있다. 도 4와 도 5를 보면, 암호문에 화이트박스 구현 방식이 적용된 MAC 알고리즘을 적용하는 경우를 보여주고 있다.
도 4와 도 5에서는 전체 암호문에 대해 화이트박스 MAC 알고리즘을 적용하는 방식을 보여주고 있으나, 암호문 부분 블록마다 화이트박스 MAC 알고리즘을 적용하여 암호문 부분에 대해 무결성을 검증할 수 있다.
도 4와 도 5에서는 암호문에 화이트박스 MAC을 적용하는 방법을 제시하고 있는데, 데이타 자체에 화이트박스 MAC을 적용하는 방식에도 사용될 수 있다. 구체적으로 OCB 암호인증모드의 경우에는 데이타에 XOR 연산을 적용하여 나중에 Tag를 생성하는 과정을 적용하고 있는데, 이처럼 암호 인증 부분에서 Tag가 적용되는 부분에 데이타 암호화와 관련없는 신규 키를 적용하여 화이트박스 구현을 적용함으로 암호문에 대한 무결성을 제공할 수 있다. 즉, 본 발명의 핵심은 데이타 암호화 과정과 달리 Tag 생성시 화이트박스 구현 방식을 적용해야 함을 보여준다.
상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명에서 보인 것처럼, Tag 생성시 화이트 박스 공격에 안전하도록 설계 및 구현해야 메시지에 대한 무결성을 제공할 수 있게 된다. 생성시 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
IV: 초기값

Claims (7)

  1. 암호 연산 장치의 암호 연산 방법에 있어서:
    화이트 박스 구현 적용 없이 암호화를 수행하는 단계; 및
    화이트 박스 구현 방식을 이용하여 메시지 인증 코드를 생성하는 단계를 포함하는 암호 연산 방법.
  2. 제 1 항에 있어서,
    화이트 박스 구현으로 여러 개의 메시지 인증 코드를 생성하는 과정을 포함하는 암호 연산 방법.
  3. 제 1 항에 있어서,
    암호화 수행 이전에 화이트박스 구현으로 메시지 인증 코드를 먼저 수행하는 과정을 포함하는 암호 연산 방법.
  4. 제 1 항에 있어서,
    화이트박스 구현으로 암호문에 대한 인증 코드를 생성하는 암호 연산 방법을 포함하는 암호 연산 방법.
  5. 제 1 항에 있어서,
    화이트 박스 구현으로 여러 블록 단위의 암호문에 대한 검증 과정을 수행하는 단계를 포함하는 암호 연산 방법.
  6. 제 1 항에 있어서,
    일부 암호문 블록에 변조가 있는 경우, 상기 인증 코드를 생성하는 단계를 이용하여 복호화를 중단하는 단계를 더 포함하는 암호 연산 방법.
  7. 제 1 항에 있어서,
    변조가 있는 암호문 블록을 제외한 나머지 검증을 통과한 암호문 블록들만 상기 인증 코드를 생성하는 단계를 이용하여 복호화를 수행하는 단계를 더 포함하는 암호 연산 방법.
KR1020150113789A 2015-08-12 2015-08-12 효율적인 화이트박스 암호 기반 암복호화 방법, 및 인증코드 생성 및 검증 방법 KR20170019679A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150113789A KR20170019679A (ko) 2015-08-12 2015-08-12 효율적인 화이트박스 암호 기반 암복호화 방법, 및 인증코드 생성 및 검증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150113789A KR20170019679A (ko) 2015-08-12 2015-08-12 효율적인 화이트박스 암호 기반 암복호화 방법, 및 인증코드 생성 및 검증 방법

Publications (1)

Publication Number Publication Date
KR20170019679A true KR20170019679A (ko) 2017-02-22

Family

ID=58314708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150113789A KR20170019679A (ko) 2015-08-12 2015-08-12 효율적인 화이트박스 암호 기반 암복호화 방법, 및 인증코드 생성 및 검증 방법

Country Status (1)

Country Link
KR (1) KR20170019679A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190016285A (ko) * 2017-08-08 2019-02-18 국민대학교산학협력단 컴퓨터 실행 가능한 화이트박스 암호화 운영모드 제어 방법 및 장치
KR102626974B1 (ko) 2023-08-24 2024-01-19 쿤텍 주식회사 화이트박스 암호의 비밀키 보호를 위한 방법 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190016285A (ko) * 2017-08-08 2019-02-18 국민대학교산학협력단 컴퓨터 실행 가능한 화이트박스 암호화 운영모드 제어 방법 및 장치
KR102626974B1 (ko) 2023-08-24 2024-01-19 쿤텍 주식회사 화이트박스 암호의 비밀키 보호를 위한 방법 및 시스템

Similar Documents

Publication Publication Date Title
CN103795534A (zh) 基于口令的认证方法及用于执行该方法的装置
CN105184181B (zh) 文件的加密方法、解密方法及装置
CN102509034B (zh) 一种软件许可控制装置的软件许可控制方法
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN105406969A (zh) 数据加密装置及方法
CN106059752B (zh) 一种基于扩张密文的白盒密码加解密方法
CN105812146A (zh) 一种基于md5的双向加密数据保护方法
CN106878322B (zh) 一种基于属性的定长密文与密钥的加密、解密方法
CN111314050B (zh) 一种加解密方法及装置
CN104396182A (zh) 加密数据的方法
CN111884814B (zh) 一种用于智能终端防伪造的方法和系统
CN102694650B (zh) 一种基于身份加密的密钥生成方法
CN105095695A (zh) 经由白箱实现的不正确功能行为实现授权
CN105262586B (zh) 汽车防盗设备的密钥分配方法及装置
CN103746805A (zh) 外部认证密钥的生成方法和系统
CN103942500A (zh) 基于噪声的哈希密文再加密方法及再加密后的解密方法
CN105871858A (zh) 一种保证数据安全的方法及系统
WO2015166701A1 (ja) 暗号化方法、プログラム、および、システム
KR20170019679A (ko) 효율적인 화이트박스 암호 기반 암복호화 방법, 및 인증코드 생성 및 검증 방법
CN101877849A (zh) 无线模块与外部设备之间通讯的方法
CN115499118A (zh) 报文密钥生成、文件加密、解密方法、装置、设备和介质
CN105117666A (zh) 一种集成电路ip配置参数加密、解密方法及装置
CN106059748A (zh) 一种基于块安全再生码的轻量级数据安全存储方法
KR20150103394A (ko) 암호화 시스템 및 그것의 암호 통신 방법
CN111314079B (zh) 一种加解密方法、装置