오늘날 데이터의 교환 범위가 광범위해지고 있으며 이 때문에 데이터 탈취와 같은 공격 가능성이 높아졌습니다. AES(Advanced Encryption Standard) 알고리즘 등장 전에는 DES(Data Encryption Standard)라 하는 데이터 암호화 표준이 20년간 사용 되었습니다. 하지만 DES 알고리즘이 무차별 암호 대입 공격에 취약하고 현재의 위협 환경에 적합하지 않다는 것이 입증되면서 2001년, 고급 암호화 표준인 AES가 새로이 발표되었습니다. AES는 현재 전 세계적으로 기업의 민감한 데이터를 보호하기 위해 사용하는 암호화 표준입니다.
이번 블로그에선 1편에 이어서 AES-256의 장점과 사용해야 하는 이유에 대해 설명 드리겠습니다.
AES-128
미 정부가 기밀 정보를 보호하기 위해 사용하는 AES-128 암호화의 경우 일반 텍스트를 128비트의 AES 키 길이를 사용하여 읽을 수 없게 숨깁니다. 총 10번의 변환 라운드를 통해 데이터를 암호화하고, 데이터 블록 크기는 항상 128 비트입니다.
AES-256
AES-256은 256비트 키를 사용하여 일반 텍스트를 암호로 변환합니다. AES-256은 가장 큰 비트의 키 크기를 지원하고 무차별 암호 대입 공격에 거의 뚫리지 않아 널리 사용되는 암호화 기술입니다. 민감한 정보, 통제된 비분류 정보(Controlled Unclassified Information, CUI), 기밀 정보를 보호합니다. AES-256 알고리즘은 암호화 키 없이 복호화하기가 불가능할 정도로 매우 어렵습니다.
AES-128과 AES-256 차이점
암호화하는 데 사용하는 키 크기에 차이가 있습니다. 이름에서 확인할 수 있듯이 각각 128비트, 그리고 256 비트의 키 크기를 사용합니다.
키 크기가 더 클수록 암호화 및 복호화하는데 더 많은 연산 처리 능력이 필요하고 더욱 강력한 보안을 제공됩니다. 하지만 암호화 키 길이가 작다고 AES-128이 AES-256에 비해 해커의 공격에 쉽게 뚫릴 수 있는 암호화 알고리즘이라고 말할 수 없습니다. 무차별 암호 대입 공격으로 128비트 암호화를 복호화하는데 10억 년이 걸리고, DES 키를 1초 만에 복호화할 수 있는 기계가 128비트 AES 키를 복호화하는 데는 149조 년이 소요됩니다. 즉, AES-128은 무차별 암호 대입 공격에 안전하며 키를 복호화하려면 현재로서 구현하지 못하는 엄청난 양의 연산 능력이 필요하다는 겁니다.
똑같이 강력한 보안을 제공해주는 AES-128과 AES-256 두 개의 암호화 방식 중 더 오래 걸리고 많은 연산이 필요한 AES-256을 선택해야 하는 이유는 무엇일까요?
AES-256 작동 방식
AES-256은 데이터를 읽을 수 없는 암호 코드로 변환합니다. AES 알고리즘은 앞선 블로그에서 설명한 것 같이 암호화할 정보를 블록으로 나눈 후 바이트를 치환, 행 이동, 열 혼합 그리고 정보 스크램블링하는 작업이 포함됩니다. 이 작업을 거친 데이터는 암호화 키 없이 읽을 수 없는 임의의 문자 집합이 됩니다. AES-256은 14번의 암호화 라운드를 거쳐 데이터를 인코딩하며, 키 확장 프로세스(첫 번째 키를 이용해 추후 라운드에서 사용할 추가 라운드 키를 생성하는 과정)를 통해 보안이 더욱 강화됩니다. 초기 키는 라운드 키라고 하는 일련의 새로운 키로 이어지고, 여러 번 수정을 통해 라운드 키가 생성됩니다. 이 프로세스는 보안을 강화하여 권한이 없는 사용자가 암호화를 복호화할 수 없게 만듭니다.
암호화의 각 단계는 매우 중요합니다. 라운드 키는 데이터를 복잡하게 만들어 복호화하기 어렵게 만드는 중요한 역할을 하고, 바이트 치환은 비선형적인 방식으로 데이터를 수정합니다. 또한 행 이동과 열 혼합은 훨씬 더 정교한 암호 텍스트를 생성하여 더 강력한 형태의 암호화를 구현합니다. 위 프로세스를 통해 14번의 라운드를 거친 암호문은 암호화 방식 중 가장 길고 강력한 암호문이 되며, 해커가 암호화를 복호화하기 위해 2256개의 다른 조합을 시도해야 합니다.
AES-256이 특별한 이유와 사용해야 하는 4가지 이유
-
무차별 암호 대입으로 깨지지 않는 AES-256
무차별 암호 대입 공격은 해커가 올바른 조합에 도달할 때까지 여러 가지 키 조합을 확인하는 방식입니다. 키 크기가 클수록 암호화를 복호화하기가 더 어려워지며 AES-256을 복호화하려면 많은 양의 연산 처리 성능이 필요합니다.
-
대칭 키 암호화
암호화에는 대칭 키 암호화와 비대칭 키 암호화 두 가지 유형이 있습니다. 대칭 키 암호화는 암호화와 복호화하는데 동일한 키를 사용하는 반면, 비대칭 암호화는 암호화와 복호화에 서로 다른 두 개의 키를 사용합니다. 대칭 키 암호화의 장점은 다음과 같습니다.
- 빠른 처리 속도
- 대용량 데이터 보호에 권장
- 적은 연산 처리 능력으로 실행
-
데이터 유출 방지
보안 침해는 대부분의 기업에 돌이킬 수 없는 손실을 초래하며, 단 한 번의 유출로 수년 동안 쌓아온 평판이 무너질 수 있습니다. AES-256의 적용은 중대 보안 사고가 발생했을 때 피해를 최소화할 수 있는 방법입니다. 권한이 없는 사용자의 접근으로부터 데이터를 보호해 해커가 액세스하지 못하도록 막는 보호막 역할을 합니다. 또한 국내 보안 규정 준수를 하는 동시에 랜섬웨어 공격, 데이터 도난으로부터 조직을 보호할 수 있습니다.
-
미래 지향적인 보안
AES-256은 정교한 공격으로부터 데이터를 보호하기 위한 미래 지향적인 프레임워크이며 양자 저항성이 있다고 알려져 있습니다. 즉, 양자 컴퓨터 연산 처리 능력을 활용한 공격 시 해커가 복호화하는데 비현실적으로 많은 시간이 필요하다는 뜻이며, 이는 해킹될 가능성이 현저히 낮은 암호화 알고리즘임을 뜻합니다.
AES 알고리즘 적용 사례
AES 알고리즘은 오픈소스로 공개되어 있습니다. 그렇기에 보안 전문가들은 암호화 모델의 취약점을 지속적으로 검토하고 있으며, 취약점이 발견되면 즉각적인 조치를 취하고 있습니다.
C, C++, Java, Python과 같이 널리 사용되는 프로그래밍 언어도 AES 라이브러리를 사용하며, VPN 업체들도 데이터베이스를 보호할 목적으로 많이 채택하는 암호화 방법입니다. WhatsApp 같은 인기 애플리케이션은 AES-256을 사용하여 메시지를 암호화하고, Google Cloud도 파일을 보호하는 데 사용하고 있습니다. 또한 AES 명령어는 인텔 및 AMD 프로세서가 탑재된 컴퓨터에는 기본적으로 내장되어 있습니다.
높은 보안 수준에 부응하는 AES 알고리즘
AES 알고리즘은 미국 정부, 금융 회사 등 민감한 데이터를 다루는 조직에서 가장 선호하는 데이터 보호 방법입니다. 그렇기에 보안 시스템이나 솔루션을 도입할 시 AES-암호화를 통해 보호되는지 확인해야 합니다. 앱 보안 솔루션 ‘앱실링’은 AES-256 암호화로 안전하게 애플리케이션 데이터를 보호합니다. 인앱(In-app) 보호 기능을 제공하기에 안전한 앱 서비스 환경 또한 보장합니다. 앱실링을 통해 강력한 액세스 제어, 멀티팩터 인증 등 다양한 보안 조치를 쉽고 빠르게 진행해 보세요.
마무리하며
앱실링은 AES-256을 기반으로 한 암호화와 강력한 화이트 박스 암호화 WBC-LEA를 통해 앱의 소중한 데이터를 안전하게 보호해 주고 있습니다. 미국 정부에서 일급 기밀을 보호할 정도로 안전한 암호화를 통해 자사 앱 및 데이터를 해커의 공격으로부터 안전하게 보호하세요.