KR20110067417A - 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 - Google Patents
데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 Download PDFInfo
- Publication number
- KR20110067417A KR20110067417A KR1020090124003A KR20090124003A KR20110067417A KR 20110067417 A KR20110067417 A KR 20110067417A KR 1020090124003 A KR1020090124003 A KR 1020090124003A KR 20090124003 A KR20090124003 A KR 20090124003A KR 20110067417 A KR20110067417 A KR 20110067417A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- segments
- encrypted data
- encrypted
- dummy
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Abstract
입력 데이터를 암호화하여 제 1 암호화 데이터를 생성하고, 제 1 암호화 데이터를 복수 개의 세그먼트들로 분할한 후 세그먼트들 및 더미 데이터를 조합하여 제 2 암호화 데이터를 생성하는 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치가 개시된다.
암호화, 복호화, 세그먼트
Description
본 발명은 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치에 관한 것이다.
디바이스간에 데이터를 전송할 때, 그 전송되는 데이터를 보호하기 위한 암호화 기술들이 널리 이용되고 있다.
첫 번째 방법은, 대칭키 암호화 방식으로서 A 장치가 보안키를 가지고 있는 경우에, A 장치가 B 장치에게 그 보안키를 전송한 후에 A 장치와 B 장치간에 그 보안키를 이용하여 암호화된 데이터들을 송수신하는 방식이다.
두 번째 방법은, PIN 암호화 방식으로 AP(Access Point)가 고유의 PIN(Personal Identification Number)을 가지고 있는 경우에 사용자가 그 AP에 접속하려는 무선 단말기에 그 AP의 PIN을 입력함으로써, AP와 무선 단말기간에 그 PIN을 이용하여 암호화된 데이터들을 송수신하는 방식이다.
상기의 목적을 달성하기 위한 본 발명의 하나의 특징은, 데이터를 암호화하는 방법에 있어서, 입력 데이터를 암호화하여 제 1 암호화 데이터를 생성하는 단계; 상기 제 1 암호화 데이터를 복수 개의 세그먼트들로 분할하는 단계; 및 상기 세그먼트들 및 더미 데이터를 조합하여 제 2 암호화 데이터를 생성하는 단계를 포함하는 것이다.
상기 제 2 암호화 데이터는, 상기 세그먼트들 사이에 상기 더미 데이터가 위치할 수 있다.
상기 세그먼트들에 관한 정보가 포함된 분할 정보 및 상기 제 2 암호화 데이터내의 상기 세그먼트들의 위치 정보가 포함된 조합 정보 중 적어도 하나를 생성하는 것을 특징으로 할 수 있다.
상기 제 2 암호화 데이터를 생성하는 단계는, 상기 세그먼트들의 배치 순서를 변경하는 단계를 포함할 수 있다.
상기 입력 데이터의 무결성을 확인하기 위한 검증 데이터를 생성하는 단계를 더 포함하고, 상기 제 2 암호화 데이터를 생성하는 단계는, 상기 세그먼트들, 상기 더미 데이터 및 상기 검증 데이터를 조합하는 단계를 포함할 수 있다.
상기 검증 데이터를 생성하는 단계는, 상기 검증 데이터의 소정 영역에 위치한 데이터를 추출하는 단계를 포함하고, 상기 조합하는 단계는, 상기 세그먼트들, 상기 더미 데이터 및 상기 추출된 데이터를 조합하는 단계를 포함할 수 있다.
상기 더미 데이터는, 상기 입력된 데이터와 동일한 크기일 수 있다.
본 발명의 다른 실시예가 갖는 하나의 특징은, 제 1 암호화 데이터를 분할하여 생성된 복수 개의 세그먼트들과 더미 데이터를 조합하여 생성된 제 2 암호화 데이터를 획득하는 단계; 상기 제 2 암호화 데이터로부터 상기 세그먼트들을 추출하는 단계; 상기 세그먼트들을 조합하여, 상기 제 1 암호화 데이터를 생성하는 단계; 및
상기 제 1 암호화 데이터를 복호화하는 단계를 포함하는 것이다.
상기 제 2 암호화 데이터는, 상기 세그먼트들 사이에 상기 더미 데이터가 위치할 수 있다.
상기 제 1 암호화 데이터를 생성하는 단계는, 상기 부분들의 배치 순서를 결정하는 단계를 포함할 수 있다.
상기 제 2 암호화 데이터는, 데이터의 무결성을 확인하기 위한 검증 데이터가 더 조합되며, 상기 제 1 암호화 데이터를 복호화하는 단계는, 상기 제 2 암호화데이터로부터, 상기 검증 데이터를 추출하는 단계; 및 상기 검증 데이터에 기초하여 상기 제 1 암호화 데이터의 무결성을 확인하는 단계를 포함할 수 있다.
상기 더미 데이터는, 상기 제 1 암호화 데이터와 동일한 크기일 수 있다.
본 발명의 다른 실시예가 갖는 하나의 특징은, 데이터를 암호화하는 장치에 있어서, 데이터를 암호화하여 제 1 암호화 데이터를 생성하는 제 1 생성부; 상기 제 1 암호화 데이터를 복수 개의 부분들로 분할하는 분할부; 및 상기 분할된 부분들 및 더미 데이터를 조합하여 제 2 암호화 데이터를 생성하는 제 2 생성부를 포함하는 것이다.
본 발명의 다른 실시예가 갖는 하나의 특징은, 데이터를 복호화하는 장치에 있어서, 제 1 암호화 데이터를 구성하는 복수 개의 분할된 부분들과 더미 데이터를 조합하여 생성된 제 2 암호화 데이터를 획득하는 획득부; 상기 제 2 암호화 데이터로부터 상기 분할된 부분들을 추출하는 추출부; 상기 분할된 부분들을 재조합하여, 상기 제 1 암호화 데이터를 생성하는 생성부; 및 상기 제 1 암호화 데이터를 복호화하는 복호화부를 포함하는 것이다.
이하에서는 첨부된 도면을 참고하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 데이터 암호화 장치(100)에 관한 블록도를 나타낸다.
본 발명의 일 실시예에 따른 데이터 암호화 장치(100)는 제 1 생성부(110), 분할부(120) 및 제 2 생성부(130)를 포함한다.
제 1 생성부(110)는 입력 데이터를 암호화하여 제 1 암호화 데이터를 생성한다. 이하에서는 설명의 편의를 위하여 제 1 생성부(110)가 제 1 암호화 데이터를 생성할 때 사용하는 암호화 키를 제 1 암호화 키로 명명한다. 제 1 암호화 키의 종류는 실시 예에 따라서 다양할 수 있다. 일 예로, 제 1 암호화 키는 하드웨어 마스터 키(hardware master key), 디바이스 유니크 키(device unique key) 및 소프트웨어 키(software key) 중 적어도 하나일 수 있다.
하드웨어 마스터 키는 디바이스의 종류마다 고유한 키이다. 따라서, 제조사, 모델 및 버전이 동일한 디바이스는 동일한 하드웨어 마스터 키를 가질 수 있다.
디바이스 유니크 키는 디바이스 마다 고유한 키이다. 따라서, 제조사와 모델이 동일한 디바이스들도 상이한 디바이스 유니크 키를 갖는다.
소프트웨어 키는 디바이스 내에서 구동되는 소프트웨어 마다 고유한 키이다.
분할부(120)는 제 1 암호화 데이터를 복수 개의 세그먼트들로 분할한다. 세그먼트들의 개수 및 세그먼트들의 크기는 실시 예에 따라서 다양할 수 있다. 일 예로, 분할부(120)는 제 1 암호화 데이터를 두 개의 세그먼트들로 분할할 수 있다. 이 때, 세그먼트들의 크기가 모두 동일할 수도 있으나, 세그먼트들의 크기가 상이할 수도 있다.
제 2 생성부(130)는 세그먼트들 및 더미 데이터를 조합하여 제 2 암호화 데이터를 생성한다. 더미 데이터는 제 1 암호화 데이터의 복호화와는 무관한 데이터로써 권한이 없는 자에게 입력 데이터(또는 제 1 암호화 데이터)가 노출되는 것을 방지하기 위한 데이터이다. 더미 데이터를 생성하는 방식에는 특별한 제한이 없으며 랜덤 값을 더미 데이터로써 사용할 수 있다. 특히, 권한이 없는 자가 입력 데이터를 획득하기 어렵게 하기 위하여 주기적으로 더미 데이터를 변경할 수 있다. 더미 데이터의 크기에는 특별한 제한이 없으며 제 1 암호화 데이터와 동일한 크기일 수 있다.
제 2 생성부(130)는 권한이 없는 자가 입력 데이터를 획득하기 어렵도록 세그먼트들 및 더미 데이터를 조합하는 것이 바람직하다.
설명의 편의를 위하여 제 1 암호화 데이터가 'AB'이며, 제 1 암호화 데이터 내의 첫 번째 세그먼트를 'A', 제 1 암호화 데이터내의 두 번째 세그먼트를 'B', 더미 데이터를 'C'라고 가정해보자.
제 2 생성부(130)는 세그먼트들 사이에 더미 데이터가 위치하도록 할 수 있다. 이경우, 제 2 암호화 데이터는 'ACB'가 될 것이다. 제 2 암호화 데이터내에서 세그먼트들이 비연속적으로 위치하게 되므로 권한이 없는 자가 입력 데이터를 획득하기가 어려워진다.
제 2 생성부(130)는 세그먼트들의 배치 순서를 변경할 수 있다. 즉, 제 1 암호화 데이터내의 첫 번째 세그먼트가 제 2 암호화 데이터내의 두번째 세그먼트가 되고, 제 1 암호화 데이터내의 두 번째 세그먼트가 제 2 암호화 데이터내의 첫 번째 세그먼트가 되도록 한다. 이 경우, 제 2 암호화 데이터는 'BCA'가 될 것이다. 이 경우, 제 2 암호화 데이터내에서 세그먼트들이 비순차적으로 위치하게 되므로 권한이 없는자가 입력 데이터를 획득하는 것이 더더욱 어려워진다.
제 2 생성부(130)는 복수 개의 세그먼트들과 복수 개의 더미 데이터들을 조합하여 제 2 암호화 데이터를 생성할 수 있다. 특히, 하나의 더미 데이터를 복수 개의 세그먼트들로 분할한 후, 더미 데이터에 대한 세그먼트들과 제 1 암호화 데이터에 대한 세그먼트들을 조합하여 제 2 암호화 데이터를 생성할 수 있다.
데이터 암호화 장치(100)는 전송부(미도시)를 더 포함할 수 있다.
전송부(미도시)는 제 2 암호화 데이터를 데이터 복호화 장치에 전송한다. 만일, 데이터 암호화 장치(100)와 데이터 복호화 장치 간에 제 1 암호화 데이터의 분할 방식과 조합 방식이 약속되어 있지 않은 경우라면, 전송부(미도시)가 분할 정보 및 조합 정보 중 적어도 하나를 데이터 복호화 장치에 전송할 수 있다. 분할 정보는 제 1 암호화 데이터를 분할한 방식에 관한 정보로써 세그먼트의 개수 및 세그먼트의 크기와 같은 세그먼트에 관한 정보가 포함되며, 조합 정보는 세그먼트들과 더미 데이터를 조합한 방식에 관한 정보로써 제 2 암호화 데이터내에서의 세그먼트들의 위치 정보가 포함될 수 있다.
도 2는 본 발명의 다른 실시예에 따른 데이터 암호화 장치(200)에 관한 블록도를 나타낸다.
본 발명의 다른 실시예에 따른 데이터 암호화 장치(200)에 관한 블록도는 제 1 생성부(210), 분할부(220), 제 2 생성부(230) 및 제 3 생성부(240)를 포함한다.
제 1 생성부(210)는 제 1 암호화 키(201)를 이용하여 입력 데이터(203)를 암호화함으로써 제 1 암호화 데이터(204)를 생성한다. 제 1 암호화 데이터(204)는 분할부(220) 및 제 3 생성부(240)로 전송된다.
분할부(220)는 제 1 암호화 데이터(204)를 복수 개의 세그먼트들로 분할하며, 세그먼트들은 제 2 생성부(230)로 전송된다.
제 3 생성부(240)는 복호화된 제 1 암호화 데이터(204) 또는 입력 데이터(203)가 변조되었는지를 판단하기 위한 검증 데이터를 생성한다. 제 3 생성부(240)는 무결성 검증 알고리즘을 통하여 입력 데이터 또는 제 1 암호화 데이터의 무결성을 검증하기 위한 검증 데이터를 생성한다. 제 3 생성부(240)는 CMAC(Cipher-based MAC), KHMAC(keyed-Hash Message Authentication Code), HMAC(Hash Message Authentication Code) 및 SHA(Secure Hash Algorithm) 중 적어 도 하나를 무결성 검증 알고리즘으로써 사용할 수 있다. 그러나, 이는 일 예에 불과한 것이며 데이터가 변조되었는지를 확인할 수 있는 어떠한 무결성 검증 알고리즘도 사용될 수 있다.
도 2에서는 제 1 암호화 데이터(204)가 제 3 생성부(240)로 입력된다. 따라서, 제 3 생성부(240)에서 생성된 검증 데이터(206)는 제 1 암호화 데이터(240)의 무결성을 검증하는데 사용될 것이다. 그러나, 입력 데이터(203)가 제 3 생성부(240)로 입력되는 경우에는, 제 3 생성부(240)에서 생성된 검증 데이터가 입력 데이터(203)의 무결성을 검증하는데 사용될 것이다.
제 3 생성부(240)는 제 2 암호화 키(202)를 이용하여 검증 데이터(206)를 생성한다. 제 2 암호화 키는 상술한 하드웨어 마스터 키(hardware master key), 디바이스 유니크 키(device unique key) 및 소프트웨어 키(software key) 중 적어도 하나일 수 있다. 특히, 제 2 암호화 키(202)는 제 1 암호화 키(201)와 동일할 수도 있으나 제 1 암호화 키(201)가 상이할 수도 있다.
제 3 생성부(240)는 검증 데이터(206)를 제 2 생성부(230)에 전송한다. 제 3 생성부(240)는 검증 데이터(206) 전체를 제 2 생성부(230)로 전송할 수도 있으나, 검증 데이터(206)의 일부만을 전송할 수도 있다. 제 3 생성부(240)에서 생성된 검증 데이터(206)가 16Byte의 크기라고 가정할 때, 제 3 생성부(240)는 검증 데이터의 하위 4Byte만을 제 2 생성부(230)로 전송할 수 있다.
제 2 생성부(230)는 세그먼트들(205), 더미 데이터(207) 및 검증 데이터(206)를 조합하여 제 2 암호화 데이터(208)를 생성한다. 이 때, 세그먼트들(205) 사이에 더미 데이터(207) 또는 검증 데이터(206)를 배치함으로써 세그먼트들(205)이 제 2 암호화 데이터(208)내에서 비연속적으로 배치되도록 할 수 있다. 또한, 제 2 생성부(230)는 세그먼트들(205)의 배치 순서를 변경함으로써 세그먼트들(205)이 제 2 암호화 데이터(208)내에서 비순차적으로 배열되도록 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 데이터 복호화 장치(300)에 관한 블록도를 나타낸다.
본 발명의 일 실시예에 따른 데이터 복호화 장치(300)는 획득부(310), 추출부(320), 생성부(330) 및 복호화부(340)를 포함한다.
획득부(310)는 제 2 암호화 데이터를 획득한다. 획득부(310)는 유선 또는 무선 네트워크를 통하여 제 2 암호화 데이터를 획득하거나, 데이터가 저장되는 저장 공간으로부터 제 2 암호화 데이터를 독출할 수 있다. 제 2 암호화 데이터는 제 1 암호화 데이터를 분할하여 생성된 복수 개의 세그먼트들과 더미 데이터가 조합되어 생성된 것이다.
제 2 암호화 데이터는 세그먼트들 사이에 더미 데이터가 위치하는 형태일 수 있다. 이 경우, 세그먼트들이 제 2 암호화 데이터 내에서 비연속적으로 위치하므로 데이터가 노출될 위험이 적어진다. 또한, 제 1 암호화 데이터 내에서의 세그먼트들의 배치 순서와 제 2 암호화 데이터내에서의 세그먼트들의 배치 순서가 다를 수 있다. 이 경우, 세그먼트들의 제 2 암호화 데이터 내에서 비순차적으로 위치하므로 데이터가 노출될 위험이 적어진다.
추출부(320)는 제 2 암호화 데이터로부터 세그먼트들만을 선택적으로 추출한 다. 추출부(320)는 제 1 암호화 데이터가 어떻게 분할되었는지에 관한 정보인 분할 정보와 세그먼트들과 더미 데이터가 어떤 규칙으로 조합되었는지에 관한 정보인 조합 정보 중 적어도 하나에 기초하여 제 2 암호화 데이터로부터 세그먼트들을 추출한다. 분할 정보에는 세그먼트들의 개수 정보 및 세그먼트들의 크기 정보가 포함될 수 있으며, 조합 정보에는 세그먼트들, 더미 데이터 및 검증 데이터의 위치 정보가 포함될 수 있다.
데이터 암호화 장치(100,200) 및 데이터 복호화 장치(300)가 분할 방식이나 조합 방식을 사전에 약속한 경우에는 데이터 암호화 장치(100,200)가 분할 정보 및 조합 정보를 전송할 필요가 없다. 그러나, 데이터 암호화 장치(100,200) 및 데이터 복호화 장치(300)가 분할 방식이나 조합 방식을 사전에 약속하지 않은 경우에는 데이터 암호화 장치(100,200)가 분할 정보 및 조합 정보를 전송하여야 할 것이다.
생성부(330)는 세그먼트들을 조합하여 제 1 암호화 데이터를 생성한다. 생성부(330)는 조합 정보에 기초하여 세그먼트들을 조합할 수 있다.
복호화부(340)는 제 1 암호화 데이터를 복호화한다. 복호화부(340)는 무결성 검증부(342)를 포함할 수 있다. 무결성 검증부(342)는 복호화된 데이터 또는 제 1 암호화 데이터가 변조되었는지 여부를 판단한다.
무결성 검증부(342)는 제 2 암호화 데이터로부터 검증 데이터를 추출한다. 이하에서는 설명의 편의를 위하여 제 2 암호화 데이터로부터 추출된 검증 데이터를 제 1 검증 데이터로 명명한다. 실시 예에 따라서는 추출부(320)가 제 2 암호화 데이터로부터 검증 데이터를 추출하여 무결성 검증부(342)에 전송할 수 있다.
무결성 검증부(342)는 데이터 암호화 장치(100)가 사용한 무결성 검증 알고리즘에 따라 검증 데이터를 생성한다. 이하에서는 설명의 편의를 위하여 무결성 검증부(342)가 무결성 검증 알고리즘에 따라 생성한 검증 데이터를 제 2 검증 데이터로 명명한다. 무결성 검증부(342)는 제 1 검증 데이터와 제 2 검증 데이터를 비교하여 데이터의 무결성을 판단한다. 구체적으로, 제 1 검증 데이터와 제 2 검증 데이터가 상이하면 데이터가 변조된 것이므로 복호화 된 데이터를 폐기한다. 반면, 제 1 검증 데이터와 제 2 검증 데이터가 동일하면 데이터가 변조되지 않은 것이므로 복호화된 데이터를 사용한다.
데이터 암호화 장치(100,200)는 무결성 검증 알고리즘을 통하여 생성된 검증 데이터의 전부를 세그먼트들과 조합하여 제 2 암호화 데이터를 생성할 수도 있으나, 검증 데이터의 일부만을 추출하고, 추출된 부분과 세그먼트들을 조합하여 제 2 암호화 데이터를 생성할 수도 있다. 전자의 경우 무결성 검증부(342)는 제 2 검증 데이터 전체와 제 1 검증 데이터를 비교할 것이며, 후자의 경우 무결성 검증부(342)는 제 2 검증 데이터로부터 일부 데이터를 추출한 후 추출된 데이터와 제 1 검증 데이터를 비교할 것이다.
도 4는 본 발명의 일 실시예에 따른 데이터 암호화 장치(410) 및 데이터 복호화 장치(420)가 포함된 시스템(400)에 관한 일 예를 나타낸다.
데이터 암호화 장치(410)는 제 1 암호화 키(K1)(603)를 이용하여 입력 데이터(401)를 암호화함으로써 제 1 암호화 데이터(411)를 생성한다. 또한, 데이터 암호화 장치(410)는 제 2 암호화 키(K2)(404)를 이용하여 입력 데이터를 검증하기 위 한 검증 데이터(413)를 생성한다. 데이터 암호화 장치(410)는 제 1 암호화 데이터를 복수 개의 세그멘트들로 분할한 후 세그먼트들, 더미 데이터(412) 및 검증 데이터(413)를 조합하여 제 2 암호화 데이터(420)를 생성한다. 실시 예에 따라서는, 데이터 암호화 장치(410)가 더미 데이터(412) 및 검증 데이터(413)들을 분할하고 분할된 데이터들을 이용하여 제 2 암호화 데이터(420)를 생성할 수 있다.
데이터 암호화 장치(410)는 분할 정보(414), 조합 정보(415) 및 제 2 암호화 데이터(416)를 데이터 복호화 장치(420)에 전송한다. 분할 정보(414)는 제 1 암호화 데이터(411), 더미 데이터(412) 및 검증 데이터(413)의 분할 방식에 관한 정보로써 세그먼트들의 개수 정보 및 세그먼트들의 크기 정보가 포함될 수 있다. 조합 정보(415)는 제 1 암호화 데이터(411), 더미 데이터(412) 및 검증 데이터(414)가 어떤 방식으로 조합되었는지에 관한 정보로써 제 1 암호화 데이터(411), 더미 데이터(412) 및 검증 데이터(414)의 배치 정보가 포함될 수 있다. 도 4에서는 데이터 암호화 장치(410)가 분할 정보(414) 및 조합 정보(415)를 제 2 암호화 데이터(416)과 함께 전송하는 것으로 가정하였으나, 데이터 암호화 장치(410) 및 데이터 복호화 장치(420)가 분할 방식 및 조합 방식을 사전에 약속한 경우에는 데이터 암호화 장치(410)가 제 2 암호화 데이터(416)만을 전송하면 충분하다.
데이터 복호화 장치(420)는 제 2 암호화 데이터(416), 분할 정보(414) 및 조합 정보(415)를 수신한다.
제 2 암호화 데이터(416)가 수신되면, 데이터 복호화 장치(420)는 분할 정보(414) 및 조합 정보(415)에 기초하여 제 2 암호화 데이터(416)내에서 세그먼트들 과 검증 데이터(423)를 추출한다. 제 2 암호화 데이터(416)는 추출된 세그먼트들을 결합하여 제 1 암호화 데이터(421)를 생성한다.
제 1 암호화 데이터가 복원되면, 데이터 복호화 장치(420)는 제 1 암호화 키(403)를 이용하여 출력 데이터(401)를 생성한다. 데이터 복호화 장치(420)는 제 2 암호화 키(404)를 이용하여 검증 데이터를 생성하고, 생성된 검증 데이터와 제 2 암호화로부터 추출된 검증 데이터(423)를 비교하여 출력 데이터(402)의 무결성을 검증한다.
도 5는 본 발명의 일 실시예에 따른 데이터 암호화 장치(100, 200)에서의 데이터 암호화 과정을 나타낸다.
입력 데이터(501)가 데이터 암호화 장치(100, 200)로 입력된다.
데이터 암호화 장치(100, 200)는 암호화 키 'K1'을 이용하여 입력 데이터(501)를 암호화한다. 이하에서는 암호화 키 'K1'을 이용하여 암호화 된 데이터를 E(K1, P)(532)로 명명한다. 도 5에서 E(K1, P)(532)의 크기는 '16Byte'이다.
데이터 암호화 장치(100)는 암호화 키 'K2'를 이용하여 검증 데이터인 CMAC(522)를 생성한다. 도 5에서, CMAC(522)의 크기는 '16Byte'이다. 데이터 암호화 장치(100)는 CMAC(522) 중 하위 '4Byte'를 추출한다. 도 5에서 CMAC(522)의 하위 '4Byte' 데이터는 MAC(536)으로 명명된다.
데이터 암호화 장치(100, 200)는 E(K1, P)(532)를 E1(K1,P)(541)과 E2(K1,P)(542)로 분할하고, 더미 데이터(534)를 제 1 더미 데이터(543)과 제 2 더미 데이터(544)로 분할하고, MAC(536)을 제 1 MAC(545) 및 제 2 MAC(546)으로 분할 한다. 도 5에서는 E(K1, P)(532), 더미 데이터(534) 및 MAC(536)를 동일한 크기로 분할하였으나, 실시 예에 따라서는 다른 크기로 분할할 수도 있다.
따라서, E1(K1,P)(541), E2(K1,P)(542), 제 1 더미 데이터(543) 및 제 2 더미 데이터(544)의 크기는 '8Byte'이며, 제 1 MAC(545) 및 제 2 MAC(546)의 크기는 '2Byte'이다.
데이터 암호화 장치(100)는 E1(K1,P)(541), E2(K1,P)(542), 제 1 더미 데이터(543), 제 2 더미 데이터(544), 제 1 MAC(545) 및 제 2 MAC(546)를 조합하여 제 2 암호화 데이터(550)를 생성한다. 이 때, E1(K1,P)(541) 및 E2(K1,P)(542) 사이에 제 1 더미 데이터(543), 제 2 더미 데이터(544), 제 1 MAC(545) 및 제 2 MAC(546) 중 하나가 배치되도록 함으로써 E1(K1,P)(541) 및 E2(K1,P)(542)가 비연속적으로 배치되도록 한다.
다른 실시 예에서는 E1(K1,P)(541)가 제 2 암호화 데이터(550)의 하위 비트에 배치되고, E2(K1,P)(542)가 제 2 암호화 데이터(550)의 상위 비트에 배치되도록 함으로써 E1(K1,P)(541) 및 E2(K1,P)(542)가 비순차적으로 배치되도록 할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 데이터 복호화 장치(300)에서의 데이터 복호화 과정을 나타낸다.
데이터 복호화 장치(300)는 제 2 암호화 데이터(600)를 획득한다.
제 2 암호화 데이터(600)내의 E1(K1,P)(601) 및 E2(K1,P)(602)는 제 1 암호화 데이터인 E(K1,P)(532)를 분할하여 생성된 것이고, 제 1 더미 데이터(603)와 제 2 더미 데이터(604)는 더미 데이터(534)를 분할하여 생성된 것이며, 제 1 MAC(603) 및 제 2 MAC(606)은 MAC(536)를 분할하여 생성된 것이다.
데이터 복호화 장치(300)는 분할 정보 및 조합 정보에 기초하여 제 2 암호화 데이터(600)내에서 E1(K1,P)(601) 및 E2(K1,P)(602)를 추출하고, E1(K1,P)(601) 및 E2(K1,P)(602)를 이용하여 제 1 암호화 데이터인 E(K1,P)(532)를 생성한다.
데이터 복호화 장치(300)는 암호화 키 'K1'을 이용하여 E(K1,P)(532)를 복호화함으로써 입력 데이터(620)를 생성한다.
데이터 복호화 장치(300)는 암호화 키 'K2'를 이용하여 CMAC(640)를 생성한다. 이 때, 생성된 CMAC(640)의 크기는 '16Byte'로써 데이터 복호화 장치(300)는 CMAC(640)의 하위 '4Byte'만을 추출한다. 도 6에서는 CMAC(640)로부터 추출된 하위 '4Byte'가 제 3 MAC(650)이다.
데이터 복호화 장치(300)는 분할 정보 및 조합 정보에 기초하여 제 2 암호화 데이터(600)내에서 제 1 MAC(603) 및 제 2 MAC(606)를 추출한다. 이 후, 제 1 MAC(603) 및 제 2 MAC(606)를 결합하여 MAC(536)을 획득하고, MAC(536)과 제 3 MAC(650)를 비교하여 출력 데이터(620)의 무결성을 검증한다.
도 7은 본 발명의 일 실시예에 따른 데이터 암호화 방법에 관한 흐름도를 나타낸다.
단계 s710에서는, 데이터를 암호화하여 제 1 암호화 데이터를 생성한다.
단계 s720에서는, 제 1 암호화 데이터를 복수 개의 세그먼트들로 분할한다.
단계 s730에서는, 세그먼트들 및 더미 데이터를 조합하여 제 2 암호화 데이 터를 생성한다. 이 때, 세그먼트들 사이에 더미 데이터가 위치하도록 제 2 암호화 데이터 생성함으로써, 세그먼트들이 제 2 암호화 데이터내에서 비연속적으로 배치되도록 할 수 있다. 또한, 세그먼트들이 제 2 암호화 데이터에 배치되는 순서를 변경함으로써 세그먼트들이 제 2 암호화 데이터내에서 비순차적으로 배치되도록 할 수 있다.
제 2 암호화 데이터에는 검증 데이터가 더 포함될 수 있다. 검증 데이터는 입력 데이터 또는 제 1 암호화 데이터의 무결성을 체크하기 위한 데이터로써 전체가 제 2 암호화 데이터에 포함되거나, 검증 데이터의 일부만이 제 2 암호화 데이터에 포함될 수 있다.
도 8은 본 발명의 일 실시예에 따른 데이터 복호화 방법에 관한 흐름도를 나타낸다.
단계 s810에서는, 제 2 암호화 데이터를 획득한다. 제 2 암호화 데이터는 제 1 암호화 데이터를 분할하여 생성된 복수개의 세그먼트들과 더미 데이터가 조합되어 있다. 실시 예에 따라서는, 복호화된 데이터의 무결성을 검증하기 위한 검증 데이터가 제 2 암호화 데이터에 더 포함될 수 있다.
단계 s820에서는, 제 2 암호화 데이터로부터 세그먼트들을 추출한다. 이 때, 제 1 암호화 데이터의 분할 방식을 나타내는 정보인 분할 정보와 세그먼트들 및 더미 데이터의 조합 방식을 나타내는 조합 정보 중 적어도 하나를 이용하여 제 2 암호화 데이터로부터 세그먼트를 추출할 수 있다.
단계 s820에서는, 제 2 암호화 데이터로부터 검증 데이터를 더 추출할 수 있 다.
단계 s830에서는, 세그먼트들을 조합하여 제 1 암호화 데이터를 생성한다.
단계 s840에서는, 제 1 암호화 데이터를 복호화한다. 실시 예에 따라서는 추출된 검증 데이트를 이용하여 복호화된 데이터의 무결성을 검증할 수도 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터 암호화 장치(100)에 관한 블록도를 나타낸다.
도 2는 본 발명의 다른 실시예에 따른 데이터 암호화 장치(200)에 관한 블록도를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 데이터 복호화 장치(300)에 관한 블록도를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 데이터 암호화 장치(410) 및 데이터 복호화 장치(420)가 포함된 시스템(400)에 관한 일 예를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 데이터 암호화 장치(100, 200)에서의 데이터 암호화 과정을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 데이터 복호화 장치(300)에서의 데이터 복호화 과정을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 데이터 암호화 방법에 관한 흐름도를 나타낸다.
도 8은 본 발명의 일 실시예에 따른 데이터 복호화 방법에 관한 흐름도를 나타낸다.
Claims (17)
- 데이터를 암호화하는 방법에 있어서,입력 데이터를 암호화하여 제 1 암호화 데이터를 생성하는 단계;상기 제 1 암호화 데이터를 복수 개의 세그먼트들로 분할하는 단계; 및상기 세그먼트들 및 더미 데이터를 조합하여 제 2 암호화 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 암호화 방법.
- 제 1 항에 있어서, 상기 제 2 암호화 데이터는,상기 세그먼트들 사이에 상기 더미 데이터가 위치하는 것을 특징으로 하는 데이터 암호화 방법.
- 제 1항에 있어서,상기 세그먼트들에 관한 정보가 포함된 분할 정보 및 상기 제 2 암호화 데이터내의 상기 세그먼트들의 위치 정보를 포함하는 조합 정보 중 적어도 하나를 생성하는 것을 특징으로 하는 데이터 암호화 방법.
- 제 1항에 있어서, 상기 제 2 암호화 데이터를 생성하는 단계는,상기 세그먼트들의 배치 순서를 변경하는 단계를 포함하는 것을 특징으로 하는 데이터 암호화 방법.
- 제 1항에 있어서,상기 입력 데이터의 무결성을 확인하기 위한 검증 데이터를 생성하는 단계를 더 포함하고,상기 제 2 암호화 데이터를 생성하는 단계는,상기 세그먼트들, 상기 더미 데이터 및 상기 검증 데이터를 조합하는 단계를 포함하는 것을 특징으로 하는 데이터 암호화 방법.
- 제 5항에 있어서,상기 검증 데이터를 생성하는 단계는, 상기 검증 데이터의 소정 영역에 위치한 데이터를 추출하는 단계를 포함하고,상기 조합하는 단계는, 상기 세그먼트들, 상기 더미 데이터 및 상기 추출된 데이터를 조합하는 단계를 포함하는 것을 특징으로 하는 데이터 암호화 방법.
- 제 1항에 있어서, 상기 더미 데이터는,상기 입력된 데이터와 동일한 크기인 것을 특징으로 하는 데이터 암호화 방법.
- 데이터를 복호화 하는 방법에 있어서,제 1 암호화 데이터를 분할하여 생성된 복수 개의 세그먼트들과 더미 데이터 가 조합되어 생성된 제 2 암호화 데이터를 획득하는 단계;상기 제 2 암호화 데이터로부터 상기 세그먼트들을 추출하는 단계;상기 세그먼트들을 조합하여, 상기 제 1 암호화 데이터를 생성하는 단계; 및상기 제 1 암호화 데이터를 복호화하는 단계를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
- 제 8 항에 있어서, 상기 제 2 암호화 데이터는,상기 세그먼트들 사이에 상기 더미 데이터가 위치하는 것을 특징으로 하는 데이터 복호화 방법.
- 제 8항에 있어서, 상기 획득하는 단계는,상기 세그먼트들에 관한 정보가 포함된 분할 정보 및 상기 제 2 암호화 데이터내의 상기 세그먼트들의 위치 정보가 포함된 조합 정보 중 적어도 하나를 획득하는 단계를 더 포함하는 것을 특징으로 하는 데이터 복호화 방법.
- 제 10항에 있어서, 상기 제 1 암호화 데이터를 생성하는 단계는,상기 분할 정보 및 상기 조합 정보 중 적어도 하나에 기초하여, 상기 세그먼트들의 배치 순서를 결정하는 단계를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
- 제 8항에 있어서,상기 제 2 암호화 데이터는, 데이터의 무결성을 확인하기 위한 검증 데이터를 포함하며,상기 제 1 암호화 데이터를 복호화하는 단계는,상기 제 2 암호화 데이터로부터, 상기 검증 데이터를 추출하는 단계; 및상기 검증 데이터에 기초하여 상기 제 1 암호화 데이터의 무결성을 확인하는 단계를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
- 제 8항에 있어서, 상기 더미 데이터는,상기 제 1 암호화 데이터와 동일한 크기인 것을 특징으로 하는 데이터 복호화 방법.
- 데이터를 암호화하는 장치에 있어서,입력 데이터를 암호화하여 제 1 암호화 데이터를 생성하는 제 1 생성부;상기 제 1 암호화 데이터를 복수 개의 세그먼트들로 분할하는 분할부; 및상기 세그먼트들 및 더미 데이터를 조합하여 제 2 암호화 데이터를 생성하는 제 2 생성부를 포함하는 것을 특징으로 하는 데이터 암호화 장치.
- 데이터를 복호화하는 장치에 있어서,제 1 암호화 데이터를 분할하여 생성된 복수 개의 세그먼트들과 더미 데이터 가 조합되어 생성된 제 2 암호화 데이터를 획득하는 획득부;상기 제 2 암호화 데이터로부터 상기 세그먼트들을 추출하는 추출부;상기 세그먼트들을 조합하여, 상기 제 1 암호화 데이터를 생성하는 생성부; 및상기 제 1 암호화 데이터를 복호화하는 복호화부를 포함하는 것을 특징으로 하는 데이터 복호화 장치.
- 데이터를 암호화하는 방법에 있어서,입력 데이터를 암호화하여 제 1 암호화 데이터를 생성하는 단계;상기 제 1 암호화 데이터를 복수 개의 세그먼트들로 분할하는 단계; 및상기 세그먼트들 및 더미 데이터를 조합하여 제 2 암호화 데이터를 생성하는 단계를 포함하는 데이터 암호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
- 제 1 암호화 데이터를 분할하여 생성된 복수 개의 세그먼트들과 더미 데이터를 조합하여 생성된 제 2 암호화 데이터를 획득하는 단계;상기 제 2 암호화 데이터로부터 상기 세그먼트들을 추출하는 단계;상기 세그먼트들을 조합하여, 상기 제 1 암호화 데이터를 생성하는 단계; 및상기 제 1 암호화 데이터를 복호화하는 단계를 포함하는 데이터 복호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090124003A KR20110067417A (ko) | 2009-12-14 | 2009-12-14 | 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 |
US12/784,062 US20110142227A1 (en) | 2009-12-14 | 2010-05-20 | Method and apparatus for encoding data and method and apparatus for decoding data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090124003A KR20110067417A (ko) | 2009-12-14 | 2009-12-14 | 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110067417A true KR20110067417A (ko) | 2011-06-22 |
Family
ID=44142925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090124003A KR20110067417A (ko) | 2009-12-14 | 2009-12-14 | 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110142227A1 (ko) |
KR (1) | KR20110067417A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101320680B1 (ko) * | 2011-10-26 | 2013-11-21 | (주)유성글로벌 | 소프트웨어의 무결성 검사 장치 및 방법 |
KR101483171B1 (ko) * | 2013-07-01 | 2015-01-16 | 주식회사 잉카인터넷 | 메모리 데이터 보호 시스템 및 방법 |
KR101699176B1 (ko) * | 2015-09-22 | 2017-01-23 | 전북대학교산학협력단 | Hdfs 데이터 암호화 및 복호화 방법 |
KR20170122529A (ko) * | 2016-04-27 | 2017-11-06 | 주식회사 포도트리 | 원본 이미지를 암호화하는 서버, 단말 및 컴퓨팅 장치 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013044305A1 (en) * | 2011-09-30 | 2013-04-04 | Cocoon Data Holdings Limited | Method and system for securing data |
CN104021318B (zh) * | 2013-03-01 | 2018-04-13 | 北京大学 | 防重放攻击装置和防重放攻击方法 |
JP2017518712A (ja) | 2014-03-14 | 2017-07-06 | ロウェム インコーポレイテッド | 秘密データ管理方法及び装置、並びに保安認証方法及びシステム |
CN107147616B (zh) * | 2017-03-31 | 2019-09-10 | 武汉斗鱼网络科技有限公司 | 数据加密方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681610B (zh) * | 2007-06-12 | 2013-01-02 | 夏普株式会社 | 液晶面板驱动装置、液晶显示装置、液晶显示装置的驱动方法及电视接收机 |
WO2009028857A2 (en) * | 2007-08-24 | 2009-03-05 | Lg Electronics Inc. | Digital broadcasting system and method of processing data in digital broadcasting system |
-
2009
- 2009-12-14 KR KR1020090124003A patent/KR20110067417A/ko not_active Application Discontinuation
-
2010
- 2010-05-20 US US12/784,062 patent/US20110142227A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101320680B1 (ko) * | 2011-10-26 | 2013-11-21 | (주)유성글로벌 | 소프트웨어의 무결성 검사 장치 및 방법 |
KR101483171B1 (ko) * | 2013-07-01 | 2015-01-16 | 주식회사 잉카인터넷 | 메모리 데이터 보호 시스템 및 방법 |
KR101699176B1 (ko) * | 2015-09-22 | 2017-01-23 | 전북대학교산학협력단 | Hdfs 데이터 암호화 및 복호화 방법 |
KR20170122529A (ko) * | 2016-04-27 | 2017-11-06 | 주식회사 포도트리 | 원본 이미지를 암호화하는 서버, 단말 및 컴퓨팅 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20110142227A1 (en) | 2011-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101366243B1 (ko) | 인증을 통한 데이터 전송 방법 및 그 장치 | |
KR101520617B1 (ko) | 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 | |
CN110519260B (zh) | 一种信息处理方法及信息处理装置 | |
US8874936B2 (en) | Terminal device, verification device, key distribution device, content playback method, key distribution method, and recording medium | |
KR20110067417A (ko) | 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 | |
US9311487B2 (en) | Tampering monitoring system, management device, protection control module, and detection module | |
US20110222691A1 (en) | Recording system, playback system, key distribution server, recording device, recording medium device, playback device, recording method, and playback method | |
KR20150035971A (ko) | 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 프로토콜 | |
CN102024123B (zh) | 一种云计算中虚拟机镜像导入方法及装置 | |
CN103067170B (zh) | 一种基于ext2文件系统的加密方法 | |
US20170085543A1 (en) | Apparatus and method for exchanging encryption key | |
CN104868996A (zh) | 一种数据加密解密方法、装置以及终端 | |
KR101103403B1 (ko) | 향상된 보안성을 갖는 데이터 관리 시스템의 제어방법 | |
US20190140819A1 (en) | System and method for mekle puzzles symeteric key establishment and generation of lamport merkle signatures | |
US10503915B2 (en) | Encrypted text verification system, method and recording medium | |
JP2003304235A (ja) | 無線通信装置、およびプログラム・ダウンロード方法、並びにコンピュータ・プログラム | |
CN111614621A (zh) | 物联网通信方法和系统 | |
US10484182B2 (en) | Encrypted text verification system, method, and recording medium | |
KR101424972B1 (ko) | 모바일 카드를 이용한 컨텐츠 사용 방법, 호스트 장치, 및모바일 카드 | |
CN103605919A (zh) | 软件认证文件生成方法和装置、软件认证方法和装置 | |
JP6167667B2 (ja) | 認証システム、認証方法、認証プログラムおよび認証装置 | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
KR20130109560A (ko) | 모바일 디바이스의 데이터베이스 암호화 방법 | |
KR20180069425A (ko) | 세션키를 이용한 생체 인증 방법 및 이를 실행하는 사용자 단말과 검증 서버 | |
CN111866554B (zh) | 多媒体安全播放方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |