노트북 키보드 위의 타이핑하는 손

SSD 암호화는 무엇이며 어떻게 작동합니까?

배경에 휴대폰을 사용하는 사람이 있는 노트북 옆모습

기업 및 정부에서 개인에 이르기까지, 오늘날 세계 모두가 공유하는 단 한 가지가 있습니다. 바로 중요 개인 및 사적인 정보를 보호하고자 하는 필요성과 바람입니다. 저장하든 전송하든 간에, 데이터 보호는 필수적입니다. 데이터 위반, 해킹, 그리고 노트북/PC의 분실이나 도난으로 인해 발생하는 재무 및 평판에서의 비용은 천문학적일 수 있습니다.

악의적인 해커와 조직적 데이터 위반을 방지하기 위해 미사용 데이터(Data at rest)는 물론 운용 중 데이터(Inflight data) 또한 암호화해야 할 필요가 있습니다. 암호화는 컴퓨터 네트워크 또는 저장 장치에 대한 미승인 액세스가 어떻게든 승인될 경우에 대비해 강화된 보호 계층을 제공합니다. 이런 상황에서, 해커는 데이터에 액세스 권한을 획득할 수 없습니다. 이 글에서는 소프트웨어 기반 암호화, 자체 암호화 드라이브(줄여서 SED) 그리고 SSD 암호화가 어떻게 작동하는 지에 대한 기초적인 설명에 집중합니다.

암호화는 무엇입니까?

쉽게 말하자면, 암호화는 디지털 장치에 입력된 정보를 의미없어 보이는 데이터 블록으로 변환하는 것을 말합니다. 암호화 과정이 정교할수록, 암호화된 데이터의 가독성은 떨어지고 판독할 수 없게 됩니다. 반대로, 복호화는 암호화된 데이터를 원래 형태로 되돌려 다시 읽을 수 있게 합니다. 암호화된 정보는 종종 암호문으로, 암호화되지 않은 데이터는 평문으로 불립니다.

자물쇠가 달린 회로 기판의 디지털 그림.

소프트웨어 대 하드웨어 암호화

소프트웨어 암호화는 다양한 소프트웨어 프로그램을 사용해 데이터를 논리 볼륨에서 암호화합니다. 드라이브가 처음 암호화됐을 때, 고유한 키가 생성되어 컴퓨터 메모리에 저장됩니다. 키는 사용자 암호를 통해 암호화됩니다. 사용자가 암호를 입력하면 키를 해제하고 드라이브의 암호화되지 않은 데이터에 대하여 액세스 권한을 제공합니다. 또한 키의 사본이 드라이브에 생성됩니다. 소프트웨어 암호화는 애플리케이션의 장치 데이터 읽기/쓰기 사이의 중개 역할을 하여, 데이터가 드라이브에 기록될 때는 디스크에 물리적으로 기록하기 전에 키를 사용해 암호화됩니다. 데이터를 드라이브에서 읽을 때는, 프로그램에 제시되기 전에 동일한 키를 이용하여 복호화됩니다.

소프트웨어 암호화는 비용 효율적인 반면, 암호화가 사용된 장치에서만 안전합니다. 해커가 코드나 암호를 알아낼 경우에는 암호화된 데이터가 노출됩니다. 또한, 암호화와 복호화가 프로세서에 의해 수행되기 때문에 전체 시스템이 느려집니다. 소프트웨어 암호화의 또 다른 취약점은 시스템 부팅 중 암호화 키가 컴퓨터 메모리에 저장되어 낮은 수준의 공격 대상이 된다는 것입니다.

자체 암호화 드라이브(SED)는 사용자 데이터를 암호화하는 데 있어 보다 전체론적 접근법인 하드웨어 기반 암호화하드웨어 기반 암호화를 사용합니다. SED는 데이터가 기록되기 전에 암호화하고, NAND 미디어에서 데이터를 직접 읽기 전에 복호화하는 내장 AES 암호화 칩을 갖추고 있습니다. 하드웨어 암호화는 드라이브에 설치된 운영체제와 시스템 BIOS 사이에 위치합니다. 드라이브가 처음 암호화됐을 때, 고유한 키가 생성되어 NAND 플래시에 저장됩니다. 시스템이 처음 부팅되면, 사용자 설정 BIOS가 로딩되고 사용자 암호를 요구할 것입니다. 암호가 입력된 후 드라이브의 내용이 복호화되고 운영체제에 접근하게 되며 사용자 데이터에 대한 액세스 권한이 주어집니다.

자체 암호화 드라이브는 또한 NAND 플래시에 기록되기 전에 데이터를 암호화하고 읽히기 전에 복호화하는 역할을 수행하는 내장 암호화 칩을 사용하여 즉석에서 데이터를 암호화/복호화합니다. 호스트 CPU는 암호화 과정에 관여하지 않으므로 소프트웨어 암호화와 관련된 성능 저하를 감소시킵니다. 시스템 부팅 시 대부분 경우 암호화 키는 SSD 내장 메모리에 저장되어 키 검색의 복잡성을 증가시킴으로서 낮은 수준의 공격에 덜 취약하도록 합니다.
 이 하드웨어 기반 암호화 방법은 사용자에게 보이지 않기 때문에 높은 수준의 데이터 보안성을 제공합니다. 이 암호화 기능은 끌 수 없으며 성능에 영향을 미치지 않습니다.

AES 256비트 하드웨어 기반 암호화

AES(Advance Encryption Standard)는 대칭적 암호화 알고리즘입니다(암호화와 복호화의 키가 동일하다는 의미). AES는 블록 암호이기 때문에, 데이터는 256비트 키로 암호화되기 전 128비트 블록으로 나뉘어집니다. AES 256비트 암호화는 우수한 데이터 보안성을 보장하는 국제 표준이며 미국 정부 등에 인정받았습니다. AES-256 암호화는 기본적으로 해독이 불가능해 이용 가능한 암호화 표준 중 가장 강합니다.

이것이 왜 해독 불가능합니까? AES는 AES-128, AES-192 및 AES-256으로 이뤄져있습니다. 숫자는 각 암호화와 복호화 블록의 키 비트 개수를 나타냅니다. 비트가 더해질 때마다 가능한 키의 수는 두 배가 되며 256비트 암호화는 2의 256승이라는 뜻이 됩니다! 또는 아주 아주 큰 개수의 가능한 키 변형이 있다는 뜻입니다. 더불어, 각 키 비트는 라운드의 수가 다릅니다. (라운드는 평문을 암호문으로 변환하는 과정입니다.) 256비트의 경우 14개의 라운드가 있습니다. 그러니 해커가 14번 뒤섞인 2256 개 비트의 올바른 순서를 알아낼 확률은 아주 낮다고 할 수 있습니다. 이를 위해 필요한 시간 및 연산 능력은 말할 것도 없습니다.

TCG Opal 2.0 소프트웨어 기반 암호화

TCG는 상호 운영 신뢰 컴퓨팅 플랫폼에 대한 하드웨어 기반 신뢰점을 정의하는 국제 산업 표준 그룹입니다. 이 프로토콜은 Symantec™, McAfee™, WinMagic® 등과 같은 TCG Opal 2.0 보안 관리 솔루션을 제공하는 독립 소프트웨어 제공업체를 사용하여 암호화된 SSD를 초기화하고, 인증하며, 관리할 수 있습니다.

요약하자면, 소프트웨어 기반 암호화에도 장점이 있지만, 포괄적이라는 인식과는 다를 수 있습니다. 더욱 견고한 솔루션을 제공하는 하드웨어 기반 암호화와 달리 소프트웨어 암호화는 데이터가 암호화된 후 사용자가 데이터에 액세스해야 할 때 데이터가 복호화되어야 하기 때문에 추가 단계를 거칩니다. 하드웨어 암호화된 SSD는 성능에 영향을 미치지 않으면서 드라이브의 나머지 부분이 최적화됩니다. 애플리케이션에 따라, 데이터를 보호하는 데 어떤 것들이 관여하는지 놀라울 수 있습니다. 모든 암호화가 같은 것은 아니지만 차이점을 이해하는 것은 귀하의 보안이 얼마나 효과적이고 효율적인지 판단하는 데 중요 역할을 하게 될 것입니다.

#KingstonIsWithYou

관련 기사