암호학(cryptography, cryptology)은 정보 보호를 위한 언어학적 및 수학적 방법론을 연구하는 학문입니다. 암호학은 수학을 기반으로 하여 컴퓨터와 통신 등 다양한 학문 분야와 협력하여 연구 및 개발이 이루어지고 있습니다.
초기 암호는 주로 군사나 외교적 목적에서 메시지 보안에 집중하여 사용되었습니다. 그러나 오늘날 암호학은 메시지 보안 외에도 인증과 전자 서명 등을 포함하며, 우리의 일상에서 필수적인 분야로 자리 잡았습니다. 현금 지급기의 사용, 컴퓨터 비밀번호, 전자상거래 등의 안전성은 모두 현대 암호 기술에 의해 보장되고 있습니다.
현대 암호학은 크게 암호 시스템, 암호 분석, 인증 및 전자 서명을 주요 분야로 포함하고 있습니다.
용어 의미
암호학에서 보호해야 할 메시지는 평문(plaintext)이라고 하며, 이를 암호학적 방법으로 변환한 결과를 암호문( ciphertext)이라고 합니다. 평문을 암호문으로 변환하는 과정은 암호화(encryption)라 부르고, 암호문을 다시 평문으로 변환하는 과정을 복호화(decryption)라고 합니다.
암호학이 제공하는 주요 목표는 다음과 같습니다:
- 기밀성(Confidentiality): 허가받지 않은 사용자가 정보에 접근하지 못하도록 보호.
- 무결성(Integrity): 허가받지 않은 사용자가 정보를 변경하지 못하도록 방지.
- 가용성(Availability): 서비스가 부적절하게 중단되지 않도록 보장.
- 부인봉쇄(Non-repudiation): 메시지 송수신자가 그 행위를 부인할 수 없도록 보장.
역사
암호학의 기원은 수천 년 전으로 거슬러 올라가며, 최근 수십 년에 걸쳐 급격히 발전해왔습니다. 역사상 가장 오래된 암호 중 하나는 율리우스 카이사르가 사용한 대입 암호로, 고대 그리스에서는 스키테일 암호체계가 사용되었습니다. 이러한 초기 암호화 기술은 고전 암호학이라고 불리며, 당시에는 암호화 방법에 큰 변화가 없었습니다.
고전 암호학은 20세기 초에 이르러 변화를 맞이했습니다. 대표적인 예로는 독일군의 에니그마(Enigma, '수수께끼'라는 뜻)가 사용한 회전륜 암호기가 있습니다. 이후 전자 기술과 컴퓨터가 발달하면서 전통적인 암호화 방식은 더 이상 사서통신에 적합하지 않게 되었습니다. 암호학은 암호분석학과 함께 발전했으며, 암호 해독법은 역사에 큰 영향을 미쳤습니다. 예를 들어, 치머만 전보의 해독은 미국이 1차 세계대전에 참전하게 된 계기가 되었고, 연합군이 나치의 암호를 해독한 것은 2차 세계대전의 기간을 단축시키는 데 기여했습니다.
20세기부터 1970년대 이전까지 암호학의 대부분은 정부의 기밀 영역에 속해 있었으나, 공개키 암호화와 공개 표준키 체제가 등장하면서 암호학은 대중에게 널리 알려지게 되었습니다.
대칭키 암호 시스템과 공개키 암호 시스템
대칭키 암호 시스템은 암호화에 사용하는 키와 복호화에 사용하는 키가 동일한 암호 시스템을 의미합니다. 이 시스템의 안전성은 키의 길이와 키 관리의 안전성에 크게 의존하며, 암호문 작성자와 수신자가 동일한 키를 비밀리에 공유해야 하기 때문에 폐쇄적인 사용자 그룹에 적합합니다. 예를 들어, 냉전 시절 워싱턴과 모스크바 사이의 핫라인에 사용된 OTP(One-Time Pad)는 대칭키 암호 시스템의 예입니다.
암호화 및 복호화 과정
1. 엘리스가 밥에게 암호문을 보내는 기본 과정에서는, 엘리스와 밥이 같은 키를 공유하고 있어야 합니다.
2. 엘리스는 이 키를 사용해 메시지를 암호화하며, 밥은 동일한 키로 메시지를 복호화합니다.
3. 보통 복호화 과정은 암호화 과정의 역순입니다.
4. 암호화와 복호화에 사용되는 키가 서로 다르더라도, 한 키로부터 다른 키를 쉽게 유도할 수 있는 경우는 여전히 대칭키 암호 시스템으로 분류됩니다.
대칭키 암호 시스템의 문제점
대칭키 암호 시스템은 알고리즘이 상대적으로 단순한 장점이 있지만, 키 관리에 어려움이 따릅니다. 시스템에 n명이 가입한 경우, 사용자들 간에 매번 서로 다른 키를 공유해야 하므로, 총 n(n-1)/2개의 키가 필요합니다. 또한, 각 사용자는 n-1개의 키를 관리해야 하는 부담이 있습니다. 이러한 문제는 키 관리가 용이한 공개키 암호 시스템이 등장하는 계기가 되었습니다.
대칭키 암호 시스템의 종류
대칭키 암호 시스템의 안전성은 키의 길이와 밀접한 관련이 있으며, 키가 길수록 안전성이 높습니다. 하지만 키가 너무 길어지면 관리가 어려워지는 단점이 있습니다.
대표적인 대칭키 암호화 알고리즘:
- DES (Data Encryption Standard)
- AES (Advanced Encryption Standard)
- ARIA
- Twofish
- SEED
대칭키 암호 시스템의 주요 약점은 키 관리의 어려움입니다. 사용자 간에 각각 다른 키를 관리해야 하기 때문에, 사용자가 관리해야 할 키의 수가 급증하게 됩니다. 이를 해결하기 위해 등장한 것이 공개키 암호 시스템입니다.
공개키 암호 시스템
공개키 암호 시스템에서는 각 사용자가 두 개의 키를 부여받습니다:
1. 공개키 (Public Key): 모든 사람에게 공개됩니다.
2. 비밀키 (Private Key): 사용자가 비밀리에 관리합니다.
공개키 암호 시스템은 각 사용자가 비밀키만 관리하면 되므로, 키 관리의 복잡성이 대폭 감소합니다. 대신 공개키 관리 시스템이 필요하며, 이 시스템을 통해 사용자는 다른 사람의 공개키를 자유롭게 열람할 수 있습니다.
공개키 암호 시스템은 수학적 연산에 기반하고 있어, 암호화 및 복호화 과정에 여러 단계의 연산이 필요합니다. 이러한 특성으로 인해, 대칭키 암호 시스템에 비해 속도가 느린 단점이 있습니다.
암호화 및 복호화 과정
1. 엘리스는 밥에게 암호문을 보낼 때, 밥의 공개키를 사용하여 암호화합니다.
2. 밥은 자신의 비밀키로 이를 복호화하여 엘리스가 보낸 메시지를 확인할 수 있습니다.
3. 중요한 점은 공개키만으로는 복호화가 불가능하다는 것이며, 엘리스조차 자신의 암호문을 복호화할 수 없습니다.
또한, 공개키 암호 시스템에서는 비밀키로 암호화하고 공개키로 복호화하는 것도 가능합니다. 이 방법은 전자서명에서 주로 사용되며, 공개키에 맞는 비밀키 소유자를 확인할 수 있게 해줍니다. 이런 특성 때문에 비대칭 암호 시스템이라고도 불립니다.
공개키와 비밀키의 관계
공개키와 비밀키는 수학적 연관을 가지고 있으며, 이는 암호화와 복호화를 가능하게 합니다. 이 둘은 마치 두 조각으로 나뉜 퍼즐과 같으며, 하나가 공개되면 나머지 조각이 완전히 드러날 수 있습니다. 따라서 공개된 키를 통해 비밀키가 유추되지 않도록 수학적 복잡성이 중요한 역할을 합니다.
공개키 암호 시스템의 종류
대표적인 공개키 암호 시스템은 다음과 같습니다:
- RSA: 가장 널리 사용되는 공개키 암호화 알고리즘.
- ElGamal: 안전한 공개키 암호화 방식 중 하나.
- 타원 곡선 암호: 더 짧은 키로 높은 보안을 제공하는 알고리즘.
- 배낭 암호: 과거에 사용되었던 암호화 방식.
양자암호
양자암호는 기존 암호 시스템의 보안 문제를 해결할 수 있는 차세대 암호 기술입니다. 특히 양자키 분배(QKD)를 통해, 안전한 키 분배 문제를 해결할 수 있는 도구로 주목받고 있습니다.
기존 암호 시스템의 한계
일반적인 공개키 암호 시스템의 안전성은 일방적인 수학적 문제에 기반합니다. 예를 들어, RSA의 안전성은 두 소수의 곱을 쉽게 구할 수 있지만, 소인수분해를 통해 그 소수들을 역으로 찾는 것은 매우 어렵다는 점에 의존합니다. 그러나 만약 이러한 수학적 문제가 해결된다면, 해당 암호 시스템의 안전성도 깨질 수 있습니다.
이에 대한 해결책으로 등장한 암호 방식 중 하나가 One Time Password(OTP)입니다. OTP는 이론적으로 매우 안전하지만, 대칭키 암호 시스템으로 키 생성과 분배에 있어 복잡한 문제를 안고 있습니다. 이를 해결하기 위해 등장한 것이 양자암호입니다.
양자암호의 안전성
양자암호의 안전성은 불확정성 원리에 근거합니다. 양자암호는 양자채널과 고전적 통신수단(인터넷, 전화 등)을 동시에 사용하여 키 분배를 수행합니다. 고전적 통신수단을 통한 정보 교환은 노출되더라도 문제가 없지만, 양자채널을 통한 정보 교환은 보안이 필수적입니다.
만약 불법적인 사용자가 양자채널에서 정보를 측정하려고 시도하면, 불확정성 원리에 따라 그 측정 자체가 시스템에 영향을 미쳐 키 분배의 오류가 발생합니다. 이를 통해 합법적인 사용자들은 공격을 감지할 수 있습니다. 그러나 양자암호도 완벽하지 않으며, 중간자 공격이나 FPB 공격에 취약한 것으로 알려져 있습니다. 다만, 이러한 공격은 물리적 수단과 고가 장비가 필요하다는 전제가 있어 현실적으로는 큰 위협이 되지 않습니다.
키 분배 프로토콜
대표적인 양자키 분배 프로토콜은 BB84입니다. 이 프로토콜은 1984년 Charles H. Bennett와 Gilles Brassard에 의해 개발되었습니다. BB84는 광자 편광을 이용하여 키 분배를 수행하는데, 광자의 편광 상태를 수직, 수평, 그리고 두 대각선으로 나누어 디지털 신호를 나타냅니다. 다만, 광자 편광은 노이즈에 취약하기 때문에 실제 구현보다는 이론적 이해를 돕는 데 주로 사용됩니다. 실제 구현에서는 위상차를 이용한 방법이 더 많이 사용되며, Mach-Zehnder 간섭계를 활용해 이를 구현합니다.
양자암호의 종류
- BB84: 양자키 분배 프로토콜로, 광자의 편광을 이용.
- E91: 아스페(Aspet)의 실험을 기반으로 한 양자암호 시스템.
양자암호는 미래의 정보 보안을 위한 중요한 기술로 자리 잡고 있으며, 현재도 활발하게 연구되고 있습니다.
암호학
2024. 9. 11. 23:28
반응형
반응형