A. 디지털 키 개요
1. 디지털 키란?
디지털 키는 두 장치 간의 정보 흐름, 대용량 고정 데이터 또는 데이터 조각을 암호화하는 데 사용됩니다. 또한 키가 수행하는 작업에 따라 수명은 바뀔 수가 있습니다. 예를 들어, 인증서 서명에 사용되는 키는 10년 이상 유효할 수 있지만 두 장치 간의 세션을 암호화하는 데 사용되는 키는 해당 세션 기간 동안에만 사용됩니다. 키는 일반적으로 비공개 또는 비밀로 유지되지만 공개될 수도 있습니다. 공개 키는 종종 디지털 인증서에 기록됩니다.
2. 디지털 키의 길이와 복잡성
Public Key(공개 키)는 대게 1024비트, 2048비트 이상입니다. 상대적으로 크기가 크기 때문에 공개 키는 다른 키나 데이터 해시와 같은 작은 데이터 조각을 암호화하는 데 사용되는 경우가 많습니다. 많은 양의 데이터를 암호화하려면 시간이 너무 오래 걸립니다. 128비트~256비트 범위의 더 작은 키가 대량 데이터를 암호화하는 데 사용됩니다. 따라서 사용되는 키의 유형이나 크기는 수행되는 암호화 작업 유형에 따라 결정됩니다.
키를 다른 엔터티로 안전하게 전송하기 위해 암호화하는 경우 길이가 긴 키를 사용하는게 좋으며 성능이 중요한 데이터 스트림을 암호화하는 경우 짧은 키를 사용하는게 좋습니다. 키의 길이는 강도에 영향을 주지만 키 강도를 계산할 때 고려해야 할 유일한 요소는 길이뿐 아니라 키의 복잡성도 고려해야 합니다.
예를들어, 길이가 10자인데 10자가 모두 숫자인 비밀번호를 생각해 보세요. 10자리 비밀번호에는 100억 개의 순열이 가능합니다. 이와 대조적으로, 숫자와 대소문자를 결합한 8자리 비밀번호는 218조 개가 넘는 순열을 가지고 있습니다. 길이는 두 글자 더 짧지만 후자의 암호는 전자보다 훨씬 강력합니다.
3. 디지털 키 스트레칭
키 스트레칭은 너무 짧거나 예측 가능한 키나 비밀번호를 강화하는 데 사용되는 방법입니다. 이 프로세스에는 키나 비밀번호를 해싱 알고리즘에 입력하여 향상된 키나 비밀번호를 생성하는 작업이 포함됩니다. 확장 알고리즘의 예로는 비밀번호 기반 키 파생 함수 2(PBKDF2) 및 BCRYPT1이 있습니다.
BCRYPT는 OpenBSD 및 다양한 Linux 배포판에서 키 확장에 사용되는 기본 알고리즘입니다. BCRYPT를 사용하면 128 비트의 솔트값이 추가되기 전에 키나 암호가 여러 번 해시됩니다. 그런 다음 결합된 값이 다시 한 번 해시됩니다.
*솔트 값은 엔트로피를 증가시키기 위해 다른 값에 추가되는 임의의 값입니다.
B. 대칭 알고리즘 개요
대칭 알고리즘은 동일한 키를 사용하여 데이터를 암호화하고 해독하는 데 사용되는 암호입니다.
1. 대칭 알고리즘 유형
1-1. DES
DES는 IBM이 개발하고 1970년대에 국립표준기술연구소(NIST)가 채택한 대칭키 암호입니다. DES는 48비트 키를 사용하여 64비트 블록의 데이터를 암호화합니다.
1-2. 3DES
Triple DES는 평문 데이터를 세 번 암호화하는 데 사용되는 DES 암호입니다.
1-3. IDEA(International Data Encryption Algorithm)
IDEA는 1991년 James Massey와 Xuejia Lai가 개발한 64비트 블록 대칭키 암호입니다. 128비트 대칭키를 사용합니다.
1-4. AES
AES는 128비트, 192비트 또는 256비트 키를 사용하는 128비트 블록 대칭키 암호입니다. 원래는 두 벨기에 발명가의 이름을 따서 리진다엘 알고리즘이라고 불렸지만, 2001년 NIST가 암호화 표준으로 채택하면서 AES로 이름이 바뀌었습니다.
1-5. RC
RC4, RC5 및 RC6는 론 리베스트(Ron Rivest)가 개발한 대칭키 암호이지만, RC4는 RC5 및 RC6와 다른 방식을 사용합니다.
- RC4는 40비트에서 2048비트 키를 사용하는 스트림 암호입니다.
- RC5는 1994년에 개발된 블록 암호입니다. 블록과 키 크기를 설정할 수 있습니다.
- RC6는 128비트 블록 암호로, RC%에서 파생되었으며, AES 알고리즘 경쟁의 요구 사항을 충족하도록 설계되었습니다.
1-6. 블로우피쉬/ 투피시
블로우피쉬는 1993년에 출시된 64비트 블록 대칭 키 암호입니다.
투피시는 128비트 블록 대칭키 암호로 128,192, 256비트 키 크기를 지원하며 1998년에 발표되었습니다. RC6와 마찬가지로 AES 알고리즘 경쟁에서 경쟁자였습니다. 부분적으로 블로우피시에서 파생되었습니다.
2. 대칭 암호화의 장단점
대칭 암호화의 가장 큰 장점은 비대칭 암호화보다 더 빠르게 데이터를 암호화하고 해독할 수 있다는 것입니다. 이는 대칭 키가 비대칭 키보다 짧고 대칭 암호화에서는 동일한 키를 사용하여 암호화하고 해독하기 때문입니다
대칭 암호화는 번호 자물쇠와 유사한 방식으로 작동합니다. Frank, Javier, Nora가 모두 같은 시설에서 일하고 보안실에 접근하려면 열쇠가 필요하다고 상상해 보세요. 그들은 서로 다른 교대로 근무하며 고용주는 열쇠가 건물 밖으로 나가는 것을 허용하지 않습니다. 고용주는 조합 코드를 사용하여 자물쇠 상자에 열쇠를 보관합니다. Frank, Joe, Nora는 모두 키에 액세스하고 키를 보호하기 위해 조합 코드가 필요합니다.
그러나 조합 자물쇠와의 이러한 유사성은 대칭 암호화의 한 가지 단점을 드러냅니다. 암호문을 해독하는 데 사용하는 것과 동일한 키를 일반 텍스트를 암호화 하는 데 사용하므로 데이터를 보호하려면 키를 비밀로 유지해야 합니다
3. 대칭 암호화 작동방식
대칭 암호화를 사용하여 정보를 암호화하기 위해 암호화 애플리케이션은 대칭 키와 암호를 사용하여 일반 텍스트를 암호 텍스트로 변환합니다.
암호문을 복호화하기 위해서는 동일한 대칭키와 암호가 암호문을 평문으로 변환합니다. 하지만 키를 어떻게 안전하게 보낼지에 대한 문제가 남아 있습니다.
C. 비대칭 알고리즘 개요
비대칭 알고리즘은 수학적으로 관련된 키 쌍을 사용하여 암호화 작업에 사용되는 암호입니다.
다음 작업 중 전부 또는 일부를 수행할 수 있습니다.
1. 비대칭 알고리즘 유형
1-1. Diffie-Hellman
Diffie-Hellman 알고리즘은 비밀이나 열쇠를 두 당사자가 안전하게 교환할 수 있는 열쇠 교환 프로토콜입니다. 이 열쇠 교환 방식의 개념은 랄프 머클이 생각해 냈습니다. 1976년 휘트필드 디피와 마틴 헬먼이 알고리즘을 발표했습니다.
1-2. RSA
RSA는 Rivest, Shamir, Adleman의 약자로 암호화, 해독, 서명 및 검증이 가능한 암호입니다
1-3. Elliptic Curve Cryptography (ECC)
ECC는 유한장에 대한 타원 곡선의 대수적 구조에 기초한 비대칭 암호학 접근법입니다. DECC는 다른 형태의 암호학보다 작은 키를 사용합니다
1-4. PGP(Pretty Good Privacy) 및 GPG
PGP는 암호화 및 디지털 서명 목적으로 사용되는 암호입니다. 1991년 필 짐머만(Phil Zimmerman)이 개발한 인기 있는 이메일 암호화 도구입니다. TGPG는 PGP의 오픈 소스 버전입니다
1-5. DSA(Digital Signing Algorithm)
DSA는 디지털 서명 작업에 사용되는 암호로 연방 정보 처리 표준입니다. 1994년 NIST는 디지털 서명 표준(DSS)으로 DSA를 FIPS 186으로 채택했습니다.
2. 비대칭 알고리즘의 특징
키 교환 작업을 통해 두 당사자는 인터넷과 같은 공개 채널을 통해 비밀 또는 키를 안전하게 교환할 수 있습니다. 비대칭 알고리즘 및 암호화는 공개 키 알고리즘 및 암호화라고도 합니다.
향상된 데이터 보안은 비대칭 암호화의 주요 이점입니다. 이는 사용자가 개인 키를 공유할 필요가 없기 때문입니다. 비대칭 암호화는 수학적으로 관련된 키 쌍을 사용합니다. 암호화의 경우 공개 키는 암호화되고 개인 키는 해독됩니다.
비대칭 암호화는 잠금 및 키와 유사합니다. 자물쇠는 물건을 보호하고 올바른 열쇠만이 자물쇠를 열 수 있습니다
비대칭 암호화의 주요 단점은 암호화 프로세스가 대칭 암호화에 비해 매우 느리다는 것입니다. 이는 두 지점 간에 암호화된 데이터를 스트리밍하거나 대량의 데이터를 암호화 및 해독해야 하는 경우 문제가 됩니다. 비대칭 암호화는 속도가 느리기 때문에 이러한 상황에서는 실행 가능하지 않습니다.
3. 비대칭 암호화 작동방식
암호화 프로세스 중에 보낸 사람의 암호화 애플리케이션은 받는 사람의 비대칭 공개 키와 비대칭 암호를 사용하여 일반 텍스트 데이터를 암호 텍스트로 변환합니다.
암호 해독 프로세스 중에 수신자의 암호화 애플리케이션은 개인 암호 해독 키와 보낸 사람이 사용한 것과 동일한 비대칭 암호를 사용하여 암호 텍스트를 일반 텍스트로 변환합니다.
4. 대칭 암호화와 비대칭 암호화
대칭 암호화의 주요 단점은 수신자에게 키를 안전하게 전달한다는 점이며, 비대칭 암호화의 주요 단점은 속도가 느리다는 점입니다. 대칭 암호화와 비대칭 암호화를 결합하면 두 암호화 방식의 단점이 해결됩니다.
대칭 암호화는 대량 데이터를 보호하여 우수한 성능을 보장하는 반면, 작은 데이터 조각인 대칭 키는 수신자의 공개 비대칭 키로 암호화됩니다. 따라서 "키를 수신자에게 안전하게 보내는 방법은 무엇입니까?"라는 질문이 생깁니다.
프로세스가 결합된 시나리오에서 Alice는 암호화된 메시지를 Bob에게 보냅니다.
암호화의 첫 번째 단계에서 Alice의 암호화 애플리케이션은 일회용 대칭 키를 생성하고 대칭 알고리즘과 함께 메시지를 암호화합니다.
두 번째 단계에서 애플리케이션은 Bob의 공개 암호화 키를 검색하고 이 키를 비대칭 알고리즘과 함께 사용하여 대칭 키를 암호화합니다.
마지막 단계에서는 암호화된 메시지와 키가 Bob에게 전송됩니다.
암호 해독의 첫 번째 단계에서 Bob의 암호화 애플리케이션은 Bob의 보안 키 저장소에서 개인 키를 검색합니다. 이 단계에서 Bob은 자격 증명을 제출해야 할 수도 있습니다. 개인 암호 해독 키는 Alice가 사용한 동일한 비대칭 알고리즘과 함께 대칭 키를 해독합니다.
두 번째 단계에서는 Alice가 사용한 것과 동일한 대칭 알고리즘과 함께 대칭 키를 사용하여 대량 데이터를 해독합니다
'Fortinet > FCF - Technical Introduction' 카테고리의 다른 글
Fortinet 자격증 FCF - 해싱 및 디지털 서명 (6) | 2024.09.06 |
---|---|
Fortinet 자격증 FCF - 키와 암호화 알고리즘 (0) | 2024.09.05 |
Fortinet 자격증 FCF - 암호화 및 PKI 모듈 Part 3 (0) | 2024.05.17 |
Fortinet 자격증 FCF - 암호화 및 PKI 모듈 Part 1 (0) | 2024.05.13 |