KR101825378B1 - 암호화 장치 및 방법 - Google Patents

암호화 장치 및 방법 Download PDF

Info

Publication number
KR101825378B1
KR101825378B1 KR1020150148008A KR20150148008A KR101825378B1 KR 101825378 B1 KR101825378 B1 KR 101825378B1 KR 1020150148008 A KR1020150148008 A KR 1020150148008A KR 20150148008 A KR20150148008 A KR 20150148008A KR 101825378 B1 KR101825378 B1 KR 101825378B1
Authority
KR
South Korea
Prior art keywords
key
dynamic
cryptographic
generating
generated
Prior art date
Application number
KR1020150148008A
Other languages
English (en)
Other versions
KR20170047644A (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 삼성에스디에스 주식회사
Priority to KR1020150148008A priority Critical patent/KR101825378B1/ko
Priority to CN201510924794.5A priority patent/CN106612177B/zh
Priority to US14/994,687 priority patent/US10341104B2/en
Publication of KR20170047644A publication Critical patent/KR20170047644A/ko
Application granted granted Critical
Publication of KR101825378B1 publication Critical patent/KR101825378B1/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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
    • H04L63/0457Network 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 wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

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)
  • Computer And Data Communications (AREA)

Abstract

암호화 장치 및 방법이 개시된다. 본 발명의 일 실시예에 따른 암호화 장치는 속성이 상이한 복수의 암호키 각각으로부터 키 테이블을 생성하고, 상기 복수의 암호키에 독립적인 키 독립 테이블을 생성하여, 상기 키 테이블과 상기 키 독립 테이블로 구성된 암호 알고리즘을 생성하는 테이블 생성부 및 상기 키 테이블과 상기 키 독립 테이블을 클라이언트 장치로 전송하는 전송부를 포함한다.

Description

암호화 장치 및 방법{APPARATUS AND METHOD FOR ENCRYPTION}
본 발명의 실시예들은 암호화 기술과 관련된다.
기존 테이블 기반 화이트박스 구현 방식은 단일 속성 암호키만을 사용하여 구현되었다. 이로 인하여 화이트박스 구현물 전체를 전송해야 하므로, 전송량 조절에 어려움이 많았다.
또한, 화이트 박스 구현물 전체 배포로 인하여 구현물 전체가 항상 단말 내 존재하여 단말 분실 등으로 인한 비인가 사용자의 암호기능 사용 및 구현물 전체 유출 등의 취약점이 존재하였다.
한국공개특허 제10-2012-0030335호 (2012.03.28)
본 발명의 실시예들은 암호화 장치 및 방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 암호화 장치는, 속성이 상이한 복수의 암호키 각각으로부터 키 테이블을 생성하고, 상기 복수의 암호키에 독립적인 키 독립 테이블을 생성하여, 상기 키 테이블과 상기 키 독립 테이블로 구성된 암호 알고리즘을 생성하는 테이블 생성부 및 상기 키 테이블과 상기 키 독립 테이블을 클라이언트 장치로 전송하는 전송부를 포함한다.
상기 키 테이블은, 갱신이 요구되지 않는 정적 암호키로부터 생성된 정적 키 테이블 및 주기적 또는 비 주기적으로 갱신이 요구되는 동적 암호키로부터 생성되며 상기 동적 암호키의 갱신에 따라 변경되는 동적 키 테이블을 포함할 수 있다.
상기 전송부는, 키 테이블의 생성을 위해 사용된 암호키의 속성에 기초하여 각 암호키로부터 생성된 키 테이블의 전송 시점을 달리하여 전송할 수 있다.
상기 테이블 생성부는, 키 테이블의 생성을 위해 사용된 암호키의 속성에 기초하여 각 암호키로부터 상이한 크기의 키 테이블을 생성할 수 있다.
상기 테이블 생성부는, 상기 동적 암호키가 갱신된 경우, 갱신된 동적 암호키로부터 동적 키 테이블을 생성하여, 상기 암호 알고리즘에 포함된 복수의 키 테이블 중 갱신 전 동적 암호키로부터 생성된 동적 키 테이블을 상기 갱신된 동적 암호키로부터 생성된 동적 키 테이블로 변경할 수 있다.
상기 전송부는, 상기 변경된 동적 암호키로부터 생성된 동적 키 테이블을 상기 클라이언트 장치로 전송할 수 있다..
상기 테이블 생성부는, 상기 클라이언트 단말 또는 상기 클라이언트 단말의 사용자에 따라 상기 복수의 암호키 각각으로부터 생성된 키 테이블 각각의 적용 위치를 달리하여 상기 암호 알고리즘을 생성할 수 있다.
본 발명의 일 실시예에 따른 암호화 방법은, 속성이 상이한 복수의 암호키 각각으로부터 키 테이블을 생성하는 단계, 상기 복수의 암호키에 독립적인 키 독립 테이블을 생성하는 단계, 상기 키 테이블과 상기 키 독립 테이블로 구성된 암호 알고리즘을 생성하는 단계 및 상기 키 테이블과 상기 키 독립 테이블을 클라이언트 장치로 전송하는 단계를 포함한다.
상기 키 테이블은, 갱신이 요구되지 않는 정적 암호키로부터 생성된 정적 키 테이블 및 주기적 또는 비 주기적으로 갱신이 요구되는 동적 암호키로부터 생성되며 상기 동적 암호키의 갱신에 따라 변경되는 동적 키 테이블을 포함할 수 있다.
상기 전송하는 단계는, 키 테이블의 생성을 위해 사용된 암호키의 속성에 기초하여 각 암호키로부터 생성된 키 테이블의 전송 시점을 달리하여 전송할 수 있다.
상기 키 테이블을 생성하는 단계는, 키 테이블의 생성을 위해 사용된 암호키의 속성에 기초하여 각 암호키로부터 상이한 크기의 키 테이블을 생성할 수 있다.
상기 암호화 방법은, 상기 동적 암호키가 갱신된 경우, 갱신된 동적 암호키로부터 동적 키 테이블을 생성하는 단계 및 상기 암호 알고리즘에 포함된 복수의 키 테이블 중 갱신 전 동적 암호키로부터 생성된 동적 키 테이블을 상기 갱신된 동적 암호키로부터 생성된 동적 키 테이블로 변경하는 단계를 더 포함할 수 있다.
상기 암호화 방법은, 상기 변경된 동적 암호키로부터 생성된 동적 키 테이블을 상기 클라이언트 장치로 전송하는 단계를 더 포함할 수 있다.
상기 암호 알고리즘을 생성하는 단계는, 상기 클라이언트 단말 또는 상기 클라이언트 단말의 사용자에 따라 상기 복수의 암호키 각각으로부터 생성된 키 테이블 각각의 적용 위치를 달리하여 상기 암호 알고리즘을 생성할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램은, 하드웨어와 결합되어, 속성이 상이한 복수의 암호키 각각으로부터 키 테이블을 생성하는 단계, 상기 복수의 암호키에 독립적인 키 독립 테이블을 생성하는 단계, 상기 키 테이블과 상기 키 독립 테이블로 구성된 암호 알고리즘을 생성하는 단계 및 상기 키 테이블과 상기 키 독립 테이블을 클라이언트 장치로 전송하는 단계를 실행시킨다.
본 발명의 실시예들에 따르면, 다양한 속성의 키들을 이용하여, 속성에 따라 상이한 키 테이블들을 구현하고, 키 갱신 시 키 테이블을 선택적으로 전송할 수 있도록 함으로써, 키 테이블의 전송의 효율성을 향상시킬 수 있다.
나아가, 클라이언트 단말 내에 암호화 알고리즘의 전체 구현물이 존재하지 않게 되어, 공격자에 의한 전체 구현물 유출을 원천적으로 차단할 수 있으므로, 안전성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 암호화 장치의 구성도
도 2는 키 테이블 구성의 예시도
도 3은 본 발명의 일 실시예에 따른 암호화 방법의 순서도
도 4는 본 발명의 일 실시예에 따른 동적 키 테이블 갱신 절차를 나타낸 순서도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, “포함” 또는 “구비”와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 암호화 장치의 구성도이다.
도 1을 참고하면, 암호화 장치(110)는 본 발명의 일 실시예에 따른 암호화 장치(100)는 테이블 생성부(110) 및 전송부(130)를 포함한다.
암호화 장치(100)는 예를 들어, DRM(Digital Rights Management) 서버, 웹 서버 등과 같이 클라이언트 단말로 암호화된 컨텐츠 내지는 서비스를 제공하기 위한 장치의 일 구성으로 구현될 수 있다.
테이블 생성부(110)는 키 테이블과 키 독립 테이블을 생성하여, 생성된 키 테이블과 키 독립 테이블로 구성된 화이트 박스 암호 알고리즘을 생성한다.
이때, 키 테이블과 키 독립 테이블은 화이트 박스 암호 알고리즘에서 암호화/복호화 연산을 위해 사용되는 룩업(Look-up) 테이블을 의미한다.
또한, 키 테이블은 암호키로부터 직접 생성된 룩업 테이블을 의미하며, 키 독립 테이블은 암호키로부터 생성되지 않은 룩업 테이블을 의미한다.
한편, 테이블 생성부(110)는 복수의 암호키 각각으로부터 키 테이블을 생성할 수 있으며, 이때, 복수의 암호키 각각은 상이한 속성을 가질 수 있다.
구체적으로, 각각의 키 테이블 생성을 위해 이용되는 암호키는 예를 들어, 특정 사용자 그룹에 속하는 사용자에게 할당된 그룹 암호키, 특정 사용자에 할당된 개인 키, 특정 단말에 할당된 단말 인증키, 통신 세션마다 생성되는 세션 키, 컨텐츠 암호 키, 데이터 암호 키, 메시지 인증용 키 등을 포함할 수 있다. 그러나, 테이블 생성부(110)에서 키 테이블 생성을 위해 사용되는 암호키의 속성은 상술한 예에 한정되는 것은 아니며, 암호화 장치(100)가 적용되는 서비스 환경에 따라 상술한 예 외에도 다양한 속성의 암호키가 사용될 수 있다.
한편, 각각의 암호키로부터 생성되는 키 테이블들은 도 2에 도시된 예와 같이 정적 키 테이블과 동적 키 테이블로 구분될 수 있다.
이때, 정적 키 테이블은 갱신이 요구되지 않는 정적 암호키로부터 생성된 키 테이블을 의미하며, 동적 키 테이블은 주기적 또는 비 주기적으로 갱신이 요구되는 동적 암호키로부터 생성된 키 테이블을 의미한다.
구체적으로, 정적 암호키는 예를 들어, 단말 인증 키, 그룹 키 등과 같이 서비스 또는 단말과 동일한 수명을 가지는 암호키를 의미한다.
또한, 동적 암호키는 세션 키, 컨텐츠 암호 키, 데이터 암호 키, 메시지 인증용 키 등과 같이 주기적 또는 비 주기적으로 갱신되는 암호키를 의미한다.
한편, 본 발명의 일 실시예에 따르면, 키 테이블 생성부(110)는 키 테이블 생성을 위해 사용되는 암호키의 속성에 따라 각 암호키로부터 생성되는 키 테이블의 크기를 달리하여 생성할 수 있다.
예를 들어, 키 테이블 생성부(110)는 세션 키와 같이 상대적으로 짧은 주기로 갱신되는 동적 암호키로부터 생성되는 동적 키 테이블을 정적 암호키나 긴 주기로 갱신되는 동적 암호키로부터 생성되는 동적 키 테이블 보다 작은 크기로 생성할 수 있다. 이에 따라, 후술할 바와 같이 동적 암호키 갱신에 따라 클라이언트 단말로 전송하여야 할 동적 키 테이블의 전송량을 유연하게 조절할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 키 테이블 생성부(110)는 클라이언트 단말 또는 클라이언트 단말의 사용자에 따라 생성되는 화이트 박스 암호 알고리즘 내에서 속성별 키 테이블의 적용 위치를 달리할 수 있다.
한편, 테이블 생성부(110)에서 생성된 정적 키 테이블은 정적 암호키로부터 생성되므로, 최초 생성 이후 변경되지 않으나, 동적 키 테이블의 경우, 해당 키 테이블 생성을 위해 사용된 동적 암호키가 변경될 때마다 변경될 필요가 있다.
따라서, 본 발명의 일 실시예에 따르면, 테이블 생성부(110)는 동적 키 테이블 생성을 위해 사용된 동적 암호키가 갱신된 경우, 갱신된 동적 암호키로부터 새로운 동적 키 테이블을 생성하여 갱신 전 동적 암호키로부터 생성된 동적 키 테이블을 생성된 새로운 동적 키 테이블로 변경할 수 있다.
전송부(130)는 테이블 생성부(110)에서 생성된 키 테이블들과 키 독립 테이블들을 클라이언트 단말로 전송한다.
이때, 본 발명의 일 실시예에 따르면, 전송부(130)는 키 테이블 생성을 위해 사용된 암호키의 속성에 따라 키 테이블들의 전송 시점을 달리하여 전송할 수 있다.
예를 들어, 전송부(130)는 클라이언트 단말의 배포 시 내지는 서비스 제공을 위한 애플리케이션 제공 시 정적 키 테이블을 클라이언트 단말로 전송한 이후, 암호화된 데이터 전송 시 암호화를 위해 사용된 동적 키 테이블을 암호화된 데이터와 함께 클라이언트 단말로 전송할 수 있다.
또 다른 예로, 전송부(130)는 클라이언트 단말의 배포 시 내지는 서비스 제공을 위한 애플리케이션 제공 시 정적 키 테이블과 동적 키 테이블 중 상대적으로 긴 갱신 주기를 가지는 암호키로부터 생성된 동적 키 테이블을 클라이언트 단말로 전송한 이후, 나머지 동적 키 테이블은 해당 동적 키 테이블을 이용하여 암호화된 데이터 전송 시 암호화된 데이터와 함께 클라이언트 단말로 전송할 수 있다.
한편, 전송부(130)에 의한 키 테이블 전송 방식은 상술한 예에 한정되는 것은 아니며, 상술한 예 외에도 생성된 화이트 박스 암호 알고리즘이 적용되는 시스템의 암호키 정책, 통신 환경, 전송량, 화이트 박스 암호 알고리즘 구현의 효율성 등에 따라 다양한 방식으로 이루어질 수 있다.
한편, 본 발명의 일 실시예에 따르면, 전송부(130)는 테이블 생성부(110)에 의해 생성된 동적 키 테이블을 클라이언트로 전송한 이후, 전송된 동적 키 테이블이 갱신된 경우, 갱신된 동적 키 테이블을 클라이언트 단말로 전송하여 클라이언트 단말에서 기 전송된 동적 키 테이블이 갱신되도록 할 수 있다.
한편, 일 실시예에서, 도 1에 도시된 키 테이블 생성부(110) 및 전송부(130)는 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 하나 이상의 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 예시적인 실시예에 따라 동작하도록 할 수 있다. 예를 들어, 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
도 3은 본 발명의 일 실시예에 따른 암호화 방법의 순서도이다.
도 3을 참조하면, 암호화 장치(100)는 상이한 속성을 가지는 복수의 암호키 각각으로부터 키 테이블을 생성한다(310).
이때, 생성되는 키 테이블은 갱신이 요구되지 않는 정적 암호키로부터 생성된 정적 키 테이블 및 주기적 또는 비 주기적으로 갱신되는 동적 암호키로부터 생성된 동적 키 테이블을 포함할 수 있다.
한편, 본 발명의 일 실시예에 따르면, 암호화 장치(100)는 키 테이블 생성을 위해 사용되는 암호키의 속성에 따라 각 암호키로부터 생성되는 키 테이블의 크기를 달리하여 생성할 수 있다. 예를 들어, 키 테이블 생성부(110)는, 예를 들어, 세션 키와 같이 상대적으로 짧은 주기로 갱신되는 동적 암호키로부터 생성되는 동적 키 테이블을 정적 암호키나 긴 주기로 갱신되는 동적 암호키로부터 생성되는 동적 키 테이블 보다 작은 크기로 생성할 수 있다.
이후, 암호화 장치(100)는 키 테이블 생성을 위해 사용된 암호키에 독립적인 키 독립 테이블을 생성한다(320).
이후, 암호화 장치(100)는 생성된 키 테이블과 키 독립 테이블로 구성된 화이트 박스 암호 알고리즘을 생성한다(330).
이때, 본 발명의 일 실시예에 따르면, 암호화 장치(100)는 클라이언트 단말, 클라이언트 단말의 사용자 또는 서비스 이용자에 따라 생성되는 화이트 박스 암호 알고리즘 내에서 속성별 키 테이블의 적용 위치를 달리할 수 있다.
이후, 암호화 장치(100)는 생성된 키 테이블과 키 독립 테이블을 클라이언트 장치로 제공한다(340).
이때, 암호화 장치(100)는 키 테이블 생성을 위해 사용된 암호키의 속성에 따라 생성된 키 테이블의 전송 시점을 달리하여 클라이언트 장치로 전송할 수 있다.
도 4는 본 발명의 일 실시예에 따른 동적 키 테이블 갱신 절차를 나타낸 순서도이다.
도 4를 참조하면, 암호화 장치(100)는 동적 키 테이블 생성에 사용된 동적 키가 갱신된 경우(410), 갱신된 동적 키로부터 동적 키 테이블을 생성한다(420).
이후, 암호화 장치(100)는 화이트 박스 암호 알고리즘에 포함된 동적 키 테이블 중 갱신 전 동적 키로부터 생성된 동적 키 테이블을 갱신된 동적 키로부터 생성된 동적 키 테이블로 변경한다(430).
이후, 암호화 장치(100)는 갱신된 동적 키로부터 생성된 동적 키 테이블을 클라이언트 장치로 전송한다(440).
한편, 도 3 및 도 4에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 암호화 장치
110: 테이블 생성부
130: 전송부
210: 키 테이블
211: 동적 키 테이블
212: 동적 키 테이블
220: 키 독립 테이블

Claims (15)

  1. 속성이 상이한 복수의 암호키 각각으로부터 키 테이블을 생성하고, 상기 복수의 암호키에 독립적인 키 독립 테이블을 생성하여, 상기 키 테이블과 상기 키 독립 테이블로 구성된 암호 알고리즘을 생성하는 테이블 생성부; 및
    상기 키 테이블과 상기 키 독립 테이블을 클라이언트 장치로 전송하는 전송부를 포함하고,
    상기 테이블 생성부는, 상기 클라이언트 장치 또는 상기 클라이언트 장치의 사용자에 따라 상기 복수의 암호키 각각으로부터 생성된 키 테이블 각각의 적용 위치를 달리하여 상기 암호 알고리즘을 생성하는 암호화 장치.
  2. 청구항 1에 있어서,
    상기 키 테이블은, 갱신이 요구되지 않는 정적 암호키로부터 생성된 정적 키 테이블 및 주기적 또는 비 주기적으로 갱신이 요구되는 동적 암호키로부터 생성되며 상기 동적 암호키의 갱신에 따라 변경되는 동적 키 테이블을 포함하는 암호화 장치.
  3. 청구항 1에 있어서,
    상기 전송부는, 키 테이블의 생성을 위해 사용된 암호키의 속성에 기초하여 각 암호키로부터 생성된 키 테이블의 전송 시점을 달리하여 전송하는 암호화 장치.
  4. 청구항 1에 있어서,
    상기 테이블 생성부는, 키 테이블의 생성을 위해 사용된 암호키의 속성에 기초하여 각 암호키로부터 상이한 크기의 키 테이블을 생성하는 암호화 장치.
  5. 청구항 2에 있어서,
    상기 테이블 생성부는, 상기 동적 암호키가 갱신된 경우, 갱신된 동적 암호키로부터 동적 키 테이블을 생성하여, 상기 암호 알고리즘에 포함된 복수의 키 테이블 중 갱신 전 동적 암호키로부터 생성된 동적 키 테이블을 상기 갱신된 동적 암호키로부터 생성된 동적 키 테이블로 변경하는 암호화 장치.
  6. 청구항 5에 있어서,
    상기 전송부는, 상기 변경된 동적 암호키로부터 생성된 동적 키 테이블을 상기 클라이언트 장치로 전송하는 암호화 장치.
  7. 삭제
  8. 속성이 상이한 복수의 암호키 각각으로부터 키 테이블을 생성하는 단계;
    상기 복수의 암호키에 독립적인 키 독립 테이블을 생성하는 단계;
    상기 키 테이블과 상기 키 독립 테이블로 구성된 암호 알고리즘을 생성하는 단계; 및
    상기 키 테이블과 상기 키 독립 테이블을 클라이언트 장치로 전송하는 단계를 포함하고,
    상기 암호 알고리즘을 생성하는 단계는, 상기 클라이언트 장치 또는 상기 클라이언트 장치의 사용자에 따라 상기 복수의 암호키 각각으로부터 생성된 키 테이블 각각의 적용 위치를 달리하여 상기 암호 알고리즘을 생성하는 암호화 방법.
  9. 청구항 8에 있어서,
    상기 키 테이블은, 갱신이 요구되지 않는 정적 암호키로부터 생성된 정적 키 테이블 및 주기적 또는 비 주기적으로 갱신이 요구되는 동적 암호키로부터 생성되며 상기 동적 암호키의 갱신에 따라 변경되는 동적 키 테이블을 포함하는 암호화 방법.
  10. 청구항 8에 있어서,
    상기 전송하는 단계는, 키 테이블의 생성을 위해 사용된 암호키의 속성에 기초하여 각 암호키로부터 생성된 키 테이블의 전송 시점을 달리하여 전송하는 암호화 방법.
  11. 청구항 8에 있어서,
    상기 키 테이블을 생성하는 단계는, 키 테이블의 생성을 위해 사용된 암호키의 속성에 기초하여 각 암호키로부터 상이한 크기의 키 테이블을 생성하는 암호화 방법.
  12. 청구항 9에 있어서,
    상기 동적 암호키가 갱신된 경우, 갱신된 동적 암호키로부터 동적 키 테이블을 생성하는 단계; 및
    상기 암호 알고리즘에 포함된 복수의 키 테이블 중 갱신 전 동적 암호키로부터 생성된 동적 키 테이블을 상기 갱신된 동적 암호키로부터 생성된 동적 키 테이블로 변경하는 단계를 더 포함하는 암호화 방법.
  13. 청구항 12에 있어서,
    상기 변경된 동적 암호키로부터 생성된 동적 키 테이블을 상기 클라이언트 장치로 전송하는 단계를 더 포함하는 암호화 방법.
  14. 삭제
  15. 하드웨어와 결합되어
    속성이 상이한 복수의 암호키 각각으로부터 키 테이블을 생성하는 단계;
    상기 복수의 암호키에 독립적인 키 독립 테이블을 생성하는 단계;
    상기 키 테이블과 상기 키 독립 테이블로 구성된 암호 알고리즘을 생성하되, 클라이언트 장치 또는 상기 클라이언트 장치의 사용자에 따라 상기 복수의 암호키 각각으로부터 생성된 키 테이블 각각의 적용 위치를 달리하여 상기 암호 알고리즘을 생성하는 단계; 및
    상기 키 테이블과 상기 키 독립 테이블을 클라이언트 장치로 전송하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020150148008A 2015-10-23 2015-10-23 암호화 장치 및 방법 KR101825378B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150148008A KR101825378B1 (ko) 2015-10-23 2015-10-23 암호화 장치 및 방법
CN201510924794.5A CN106612177B (zh) 2015-10-23 2015-12-14 加密装置以及方法
US14/994,687 US10341104B2 (en) 2015-10-23 2016-01-13 Encrytion apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150148008A KR101825378B1 (ko) 2015-10-23 2015-10-23 암호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170047644A KR20170047644A (ko) 2017-05-08
KR101825378B1 true KR101825378B1 (ko) 2018-02-06

Family

ID=58559285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150148008A KR101825378B1 (ko) 2015-10-23 2015-10-23 암호화 장치 및 방법

Country Status (3)

Country Link
US (1) US10341104B2 (ko)
KR (1) KR101825378B1 (ko)
CN (1) CN106612177B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107809313A (zh) * 2017-10-31 2018-03-16 北京三未信安科技发展有限公司 一种白盒密码运算方法及***
CN108183796A (zh) * 2017-12-29 2018-06-19 北京梆梆安全科技有限公司 利用白盒库文件和白盒密钥文件进行加解密的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120179919A1 (en) * 2011-01-10 2012-07-12 Apple Inc. Securing implementation of a cryptographic process having fixed or dynamic keys

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008142612A2 (en) * 2007-05-22 2008-11-27 Koninklijke Philips Electronics N.V. Updating cryptographic key data
US8094816B2 (en) * 2008-10-21 2012-01-10 Apple Inc. System and method for stream/block cipher with internal random states
KR20120042469A (ko) * 2010-10-25 2012-05-03 한국전자통신연구원 부가 정보와 암호키 결합을 이용한 콘텐츠 보호 장치 및 그 방법
KR101744748B1 (ko) 2011-01-05 2017-06-09 한국전자통신연구원 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120179919A1 (en) * 2011-01-10 2012-07-12 Apple Inc. Securing implementation of a cryptographic process having fixed or dynamic keys

Also Published As

Publication number Publication date
KR20170047644A (ko) 2017-05-08
CN106612177A (zh) 2017-05-03
US20170118021A1 (en) 2017-04-27
US10341104B2 (en) 2019-07-02
CN106612177B (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
Awan et al. Secure framework enhancing AES algorithm in cloud computing
CN109067528B (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
JP2016513840A (ja) データセキュリティを保護するための方法、サーバ、ホスト、およびシステム
US20220407701A1 (en) Processing of requests to control information stored at multiple servers
CN105516157A (zh) 基于独立加密的网络信息安全输入***和方法
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
CN102571329A (zh) 密码密钥管理
US20140325212A1 (en) Distribution of encrypted information in multiple locations
CN111064701A (zh) 一种共享数据安全访问控制方法、装置、设备、介质
US11783091B2 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
KR101825378B1 (ko) 암호화 장치 및 방법
KR101329084B1 (ko) 무중단 암호통신을 위한 암복호 통신 방법 및 장치
KR102096637B1 (ko) 블록체인에서 정보 조회 시간의 기록을 위한 분산 원장 장치
JP2009187140A (ja) アクセス制御装置、アクセス制御方法およびプログラム
CN104462994A (zh) 一种数据加密及解密操作方法
CN103391187A (zh) 一种云存储安全控制的方法
US11722295B2 (en) Methods, apparatus, and articles of manufacture to securely audit communications
KR102526114B1 (ko) 암호화 및 복호화를 위한 장치 및 방법
KR102096639B1 (ko) Uuid를 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치
KR101944741B1 (ko) 암호화 장치 및 방법
KR20110127789A (ko) Synk 데이터베이스 암호화 시스템 및 그 방법
KR101106101B1 (ko) 환경속성 정보를 이용한 데이터 열람장치 및 데이터 열람방법
KR101865703B1 (ko) 키 생성 방법 및 장치, 암호화 장치 및 방법
KR20200131688A (ko) 비밀키 생성 장치 및 방법, 연산키 생성 장치 및 방법
KR20150139304A (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