AES-XTS 블록 사이퍼 모드는 Kingston IronKey 하드웨어 암호화 USB 및 외장 SSD 드라이브에 사용됩니다

XTS - 최고의 암호화를 위한 열쇠

가장 안전한 USB 드라이브 암호화를 위해서는 인증서 이상의 것이 필요합니다. Kingston IronKey™ 하드웨어 암호화 USB 및 외장 SSD 드라이브는 XTS 블록 사이퍼 모드를 활용한 256비트 AES 암호화가 특징입니다. XTS는 CBC 및 ECB와 같은 다른 블록 사이퍼 모드에 비해 더 강력한 데이터 보호 기능을 제공합니다.

다음은 처음부터 데이터 보호 장치로 설계된 IronKey 드라이브의 보안 이점에 대해 자세히 설명합니다.

전체 디스크 암호화 AES 블록 사이퍼 작동 모드

AES(Advanced Encryption Standard)는 128비트 데이터 블록을 암호화하는 블록 사이퍼입니다. 128비트가 넘는 데이터를 암호화하기 위해 AES는 블록 사이퍼 모드를 사용합니다. 여러가지 AES 블록 사이퍼 모드가 있으며 이는 AES 사양의 일부입니다. 간단한 블록 사이퍼 모드는 ECB(Electronic Code Book)입니다. CBC(Cipher Block Chaining)는 ECB의 보안 취약점을 다루며 휴대용 암호화 플래시 드라이브에 가장 흔히 사용되는 사이퍼 모드입니다.
 
 XTS는 가장 새로운 모드로, ECB와 CBC보다 더욱 강력한 데이터 보호를 제공합니다. 아래에는 이러한 블록 사이퍼 모드가 간략히 설명되어 있습니다.

ECB(Electronic Code Book). 이 사이퍼 모드는 128비트 데이터 블록 각각에 AES 암호화 절차를 단순히 반복합니다. 그림 1에 ECB 모드를 이용한 데이터 암호화가 설명되어 있습니다. 각 블록은 암호화 키가 동일한 AES를 사용하여 독립적으로 암호화됩니다. 복호화의 경우 절차가 반대로 진행됩니다. ECB를 사용하면 일반 텍스트로 불리는 암호화되지 않은 동일한 데이터 블록이 동일한 방식으로 암호화되며 동일한 암호화된 데이터 블록을 생성합니다(사이퍼 텍스트). 이 사이퍼 모드는 데이터 패턴을 잘 숨기지 못하므로 이상적이지는 않습니다. 그림 2에는 이 사이퍼 모드의 주요 보안 취약점을 설명하는 사례가 나와 있습니다.

Figure 1, ECB

ECB(Electronic Code Book)
그림 1

왼쪽에 암호화되지 않은 이미지가 있습니다. 오른쪽에 있는 이미지는 CBC나 XTS와 같은 다른 암호화 모드를 사용했을 때의 사이퍼 텍스트의 모습을 보여줍니다. 가운데 이미지는 ECB 관련 취약점을 명확히 보여줍니다. 암호화 블록 내의 동일한 이미지 픽셀 패턴이 동일한 사이퍼 블록을 생성하는 방식으로 암호화되기 때문에 원본 이미지가 완전히 암호화되지 않았습니다.

동일한 데이터 블록은 동일한 사이퍼 텍스트를 생성하는 방식으로 암호화하면 안 된다는 사실은 분명합니다. 결과적으로 ECB 블록 사이퍼 모드는 보안성이 약한 것으로 여겨지며 사용이 권장되지 않습니다.

Original Image Encrypted using ECB mode Encrypted using other mode

원본 이미지

ECB 모드를 사용하여 암호화

다른 모드를 사용하여 암호화

그림 2

CBC(Cipher Block Chaining). 논의한 바와 같이 ECB의 주요 취약점은 동일한 데이터 블록이 사이퍼 텍스트를 생성하는 방식으로 암호화된 결과입니다. 목표는 각 블록을 동일한 암호화 키를 사용하여 암호화하는 동시에, 2개 이상의 블록에 일반 텍스트가 동일하더라도 다른 사이퍼 텍스트가 생성되는 암호화 방식을 달성하는 것입니다. CBC는 이러한 결과를 얻기 위해 만들어졌습니다. 그림 3은 CBC 사이퍼 모드를 설명해 줍니다.

128비트 초기화 벡터(initialization vector)가 생성되어 섹터 내 첫 번째 블록의 일반 텍스트와 결합됩니다. 이 데이터는 배타적 논리합(XOR) 함수를 사용하여 결합됩니다. 이후 128비트 데이터가 AES 암호화 알고리즘으로 암호화되고 매체에 저장됩니다. 결과로 얻은 사이퍼 텍스트는 다음 블록으로 전달되고 해당 블록의 일반 텍스트와 결합, 암호화, 저장됩니다. 이 연결 절차가 섹터 내 각 블록에 반복됩니다. 이 절차를 통해 동일한 데이터 블록으로 완전히 다른 사이퍼 텍스트가 생성됩니다. 결과적으로 CBC는 ECB보다 훨씬 안전하며 대부분의 보안 응용 프로그램에 적합한 것으로 여겨집니다. CBC는 많은 암호화 플래시 드라이브에 널리 사용됩니다.

Figure 3, Cipher Block Chaining (CBC) - Encryption

Cipher Block Chaining (CBC) - Encryption
그림 3

AES-XTS 블록 사이퍼 모드. 원래 IEEE Std 1619-2007로 지정되었던 NIST는 2010년에 AES 블록 사이퍼 모드 목록에 XTS를 추가했습니다. XTS는 최신 블록 사이퍼 모드이며 IronKey 드라이브에서 사용하는 사이퍼 모드입니다. 이 모드는 CBC 등 다른 이용 가능한 블록 사이퍼 모드에 대한 더욱 강력한 대안으로서 개발되었습니다. 이 모드는 다른 모드의 취약점을 이용하는 데 사용될 수 있는 더욱 정교한 일부 사이드 채널 공격과 관련한 잠재적인 취약점을 제거합니다. 그림 4는 XTS 모드의 간략한 블록 다이어그램입니다.

XTS는 두 개의 AES 키를 사용합니다. 한 키는 AES 블록 암호화를 수행하는 데 사용되며 다른 한 키는 "소수변경값(Tweak Value)"이라고 알려진 데이터를 암호화하는 데 사용됩니다. 이 암호호된 소수변경값은 이후 갈루아 다항 함수(Galois polynomial function, GF) 및 XOR, 그리고 각 블록의 일반 텍스트와 사이퍼 텍스트를 모두 사용하여 추가로 변경됩니다. GF 함수는 추가적인 확산을 제공하며 동일한 데이터 블록이 동일한 사이퍼 텍스트를 생성하지 않도록 보장합니다. 이를 통해 초기화 벡터나 연결을 사용하지 않고도 주어진 동일한 일반 텍스트로 각 블록이 고유한 사이퍼 텍스트를 생성한다는 목표를 달성합니다. 실제로 텍스트는 거의(완전히는 아님) 두 개의 독립적인 키로 이중 암호화됩니다. 데이터 복호화는 이 절차를 반대로 진행하여 이루어집니다. 각 블록이 독립적이며 연결이 없기 때문에 저장된 사이퍼 데이터가 손상되어 손실되어도 해당 특정 블록의 데이터만 복구 불가능한 상태가 됩니다. 연결 모드에서는 이러한 오류가 복호화 시 다른 블록으로 퍼질 수 있습니다.

Figure 4, ECB(Electronic Code Book) - 암호화

그림 4

결론

AES-XTS는 Kingston IronKey 하드웨어 암호화 드라이브에 시중의 다른 제품보다 더 뛰어난 데이터 보안을 제공합니다. 모든 보안 기능은 온보드 보안 프로세서 영역에 포함되어 있으며 고급 보안성 및 휴대성을 제공합니다.

또한 이 장치는 복잡한 암호 보호 기능을 적용하고 지정된 횟수만큼 잘못된 암호를 시도하면 드라이브를 잠그고 최종적으로 드라이브의 데이터를 암호화하여 삭제합니다. 장치들은 견고한 방수 케이스에 포장되어 궁극의 데이터 보안성 및 보호 장치를 제공합니다. 최고 수준의 데이터 보호가 필요한 고객을 위해 일부 IronKey 드라이브는 최신 FIPS 140-3 레벨 3 인증을 획득하여 가장 중요한 데이터에 대해 군사급 보안을 제공합니다. IronKey 기업용 및 군사 등급 암호화 드라이브에는 3~5년의 보증 기간과 무료 기술 지원이 제공됩니다.