암호화는 데이터를 외부의 시선으로부터 안전하게 보호하는 핵심 기술 중 하나입니다. 오늘날 AES-128과 AES-B를 비롯한 다양한 종류의 암호화 표준이 있지만, 이 둘의 차이점은 무엇이며 어떤 것이 더 나은가요?
AES 암호화란 무엇인가요?
AES 또는 고급 암호화 표준은 2001년 말에 출시되었으며, 5월에 미국 연방 정부에서 채택했습니다. AES 암호화는 Rijndael이라고도 알려져 있지만, 이는 덜 일반적인 이름입니다.
AES는 대칭 암호화를 사용하므로 동일한 키가 데이터 암호화와 복호화에 사용됩니다. 대칭 암호화 프로세스에서 AES는 고정 길이의 비트 그룹을 사용하는 블록 암호 알고리즘을 사용합니다. 암호화 용어에서 비트는 데이터를 인코딩하는 데 사용되는 키의 길이를 나타냅니다.
AES는 또한 블록 암호 알고리즘을 작동시키기 위해 서로 연결되는 여러 가지 수학 연산을 포함하는 치환-변환 네트워크(SPN)를 사용합니다. 이러한 연산에는 입력 비트를 출력 비트로 대체하는 작업과 비트 셔플링이 포함됩니다. 여기서는 이 프로세스에 대해 자세히 설명하지는 않겠지만, AES 암호화에서 이 프로세스의 역할을 기억해두는 것이 좋습니다.
AES는 또한 초기 키(또는 마스터 키)를 라운드 키라고 하는 여러 개의 개별 키로 확장하는 프로세스인 키 확장을 사용합니다. 이는 보안 무결성을 높이는 데 도움이 될 수 있으며 AES 암호화의 핵심 부분입니다.
DES, 3DES, TEA, Blowfish, RC 등 다양한 종류의 대칭 암호화 표준이 있지만 가장 일반적으로 사용되는 것은 AES입니다.
VPN 제공 업체와 같은 개인 정보 보호 및 보안 서비스에서 “군사급” 암호화를 사용한다고 말할 때, 일반적으로 AES를 말하는 것입니다(하지만 일부 VPN 서비스는 128비트 암호화를 사용하기도 합니다. 예: Zoog의 무료 VPN). 실제로 Apple, Microsoft, Google을 비롯한 수많은 기술 기반 회사가 AES 암호화를 사용합니다. 하지만 왜 그럴까요? AES가 돋보이는 이유는 무엇일까요?
AES 암호화의 핵심 속성은 키 길이입니다. AES 암호화는 모두 동일하지 않습니다. 실제로 AES 암호화에는 세 가지 유형이 있습니다: 128비트, 192비트, 256비트입니다. 192비트 표준은 거의 사용되지 않지만 128비트와 256비트 버전이 훨씬 더 일반적입니다. 어쨌든 키 길이를 선택할 수 있다는 것은 암호화 수단을 선택할 수 있다는 점에서 큰 장점입니다. 또한 AES는 수학적으로 매우 효율적이기 때문에 다른 암호화 표준보다 우위에 있습니다.
AES-128 및 AES-256 암호화의 차이점과 유사점
이미지 출처: Christiaan Colen/ Flickr
AES-128과 AES-256 암호화에는 한 가지 주요 차이점이 있습니다. 전자는 128비트 키를 사용하는 반면 후자는 256비트 키를 사용한다는 점입니다. 이 외에도 여러 가지 작은 차이점이 있습니다.
두 암호화 유형 모두 128비트 블록을 사용하지만, AES-256은 AES-128의 두 배를 사용합니다. 또한 AES-128은 키를 생성하는 데 10라운드의 프로세싱을 사용하는 반면, AES-256은 14라운드를 사용합니다.
전반적으로 AES-128 암호화와 AES-256 암호화는 작동 방식이 매우 유사하며 암호화 알고리즘도 매우 유사합니다. SPN 및 키 확장과 같은 유사한 프로세스를 사용하며 둘 다 대칭입니다.
어떤 AES 암호화 프로토콜이 가장 좋은가요?
여기서 먼저 알아두어야 할 중요한 점은 AES-128과 AES-256 암호화는 모두 크랙된 적이 없다는 것입니다. 이 두 가지 암호화 프로토콜은 모두 매우 안전한 암호화 프로토콜이기 때문에 정부와 사이버 보안 회사에서 사용하고 있습니다.
키 길이가 길기 때문에 AES-256 암호화가 더 우수한 프로토콜이라고 생각하기 쉽지만, 꼭 그렇지만은 않습니다. 예, 암호화 키가 길수록 코딩된 데이터를 해독하기 어렵지만 효율성 등 고려해야 할 다른 요소도 있습니다.
AES-128 암호화와 AES-256 암호화 중 실제로는 전자의 버전이 더 효율적입니다. 즉, 이 암호화 프로토콜은 더 적은 시스템 리소스로 더 빠르게 수행될 수 있습니다. 실제로 N-ABLE 블로그 게시물 에 따르면 AES-256 암호화는 AES보다 시스템 리소스를 40% 더 많이 사용하므로 AES-256 암호화를 사용하면 하드웨어 및 소프트웨어 구성 요소에 더 많은 부담을 주어 장치 배터리가 더 빨리 소모될 수 있습니다.
또한 AES-256은 일반적으로 AES보다 지연 시간이 더 길다 – AES-256의 지연 시간이 매우 길다는 의미는 아니지만, 이 둘 사이에는 주의해야 할 차이점이 있다.
또한 AES-256 암호화는 관련 키 공격에 취약합니다. 관련 키 공격은 공격자가 암호의 동작을 모니터링하여 수많은 키 간의 관계를 강조하여 복호화를 위한 키를 찾는 것입니다. 그러나 관련 키 공격은 현재 전적으로 이론적인 공격이므로 실제 환경에서 수행된 적이 없습니다.
그러나 이러한 요소에도 불구하고 AES-256은 여전히 전반적으로 더 안전한 암호화 프로토콜입니다. 그 이유는 무엇일까요? 간단히 말해, 암호화 키의 길이가 두 배로 길어 크래킹하기가 훨씬 더 어렵습니다. 또한 키 길이가 길어지면 처리 라운드 수가 증가하여 공격 성공 확률도 낮아질 수 있습니다. 따라서 AES-256 암호화는 AES-128에 비해 무차별 암호 대입 공격에 대해 더 탄력적입니다.
두 암호화 표준 모두 이론적으로 해독하는 데 엄청나게 오랜 시간이 걸립니다. IDERA 은 AES-128 암호화를 해독하는 데 10억 년이 걸린다고 보고했고, SCRAMBOX 은 AES-256을 해독하는 데 수조 년이 걸린다고 보고했습니다.
두 옵션 모두 크래킹에 걸리는 시간이 매우 길기 때문에 어떤 옵션을 선택하든 크게 걱정할 필요는 없습니다.
또한, 다양한 AES 암호화 프로토콜은 양자 안전하다고 간주됩니다. 양자 컴퓨팅, 즉 양자 암호화의 부상으로 인해 AES를 포함한 오늘날 최고의 암호화 표준의 무결성에 의문이 제기되었습니다. 그러나 양자 기반 공격이 발생할 경우 AES 암호화 암호가 키 크기를 늘릴 수 있어 저항력이 있다는 사실이 밝혀졌습니다.
그러나 일부에서는 이에 동의하지 않고 양자 암호화가 AES 암호화를 해독할 수 있다고 생각합니다. 양자 암호화가 발전함에 따라 AES가 실제 양자 공격에 얼마나 잘 견딜 수 있는지 확인할 수 있을 것입니다.
결론적으로 AES-128과 AES-256 암호화는 모두 데이터 보안에 충분합니다. AES 암호화는 현재 세 가지 유형 모두 20년 이상 보안을 유지해왔기 때문에 현재로서는 뚫을 수 없습니다. 일반적으로 사람들이 AES-256이 AES-128보다 훨씬 우수하다고 생각하는 이유는 더 긴 키 길이를 사용하기 때문입니다. 그러나 후자는 여전히 매우 안전하므로 어느 쪽을 사용해도 손해를 보지 않습니다.
AES 암호화 표준은 여전히 최고의 선택입니다
AES-128 또는 AES-256 암호화를 사용하든 상관없이 데이터는 적절히 보호됩니다. AES 암호화 표준은 전반적으로 뚫을 수 없으므로 128비트 또는 256비트 암호화를 선택해도 여전히 매우 높은 수준의 보안을 유지할 수 있습니다.