728x90
반응형
SMALL
1. 대칭키 암호화
정의
- 하나의 "공통된 키"를 사용하여 데이터를 암호화(Encrypt)하고 복호화(Decrypt)하는 방식입니다.
- 암호화와 복호화 과정에서 같은 키를 사용하기 때문에 "대칭"이라고 부릅니다.
특징
- 속도: 암호화와 복호화 속도가 빠름.
- 보안 문제: 키가 노출되면 데이터를 해독할 수 있으므로 키를 안전하게 공유해야 함.
- 사용 사례: 대량의 데이터를 암호화하거나 파일을 보호할 때 사용.
장단점
장점 | 단점 |
---|---|
암호화 속도가 빠름 | 키 공유 과정에서 보안 문제 발생 |
구현이 간단 | 키를 안전하게 관리하기 어렵음 |
대량 데이터 처리에 적합 | 키를 여러 사람과 공유하기 어렵음 |
예시 알고리즘
- AES (Advanced Encryption Standard): 현재 가장 많이 사용되는 안전한 대칭키 암호화 알고리즘.
- DES (Data Encryption Standard): 과거 널리 사용되었으나, 현재는 취약.
- RC4: 과거 사용되던 스트림 암호화 알고리즘.
2. 비대칭키 암호화
정의
"서로 다른 키"
두 개를 사용하는 방식.
- 공개키 (Public Key): 누구나 사용할 수 있는 키로 데이터를 암호화.
- 개인키 (Private Key): 데이터 복호화에만 사용하는 비밀 키.
암호화와 복호화에 사용하는 키가 다르기 때문에 "비대칭"이라고 부릅니다.
특징
- 보안성: 공개키는 자유롭게 배포하고, 개인키는 비밀로 유지하므로 키 공유 과정이 안전함.
- 속도: 대칭키 암호화보다 느림.
- 사용 사례: 데이터 전송, 디지털 서명, 인증서(SSL/TLS) 등에 사용.
장단점
장점 | 단점 |
---|---|
키 공유 문제를 해결 | 암호화와 복호화 속도가 느림 |
높은 보안성 | 복잡한 알고리즘으로 인한 구현 어려움 |
다양한 암호화 시나리오에 적합 | 대량 데이터 처리에 부적합 |
예시 알고리즘
- RSA (Rivest–Shamir–Adleman): 가장 널리 사용되는 비대칭키 알고리즘.
- ECC (Elliptic Curve Cryptography): RSA보다 짧은 키 길이로 높은 보안 제공.
- DSA (Digital Signature Algorithm): 디지털 서명에 사용.
3. 대칭키 vs 비대칭키: 주요 차이점
특성 | 대칭키 암호화 | 비대칭키 암호화 |
---|---|---|
키 사용 | 암호화와 복호화에 동일한 키 사용 | 암호화와 복호화에 서로 다른 키 사용 |
속도 | 빠름 | 느림 |
보안성 | 키 공유가 어렵고, 키가 노출되면 위험 | 키 공유 문제 없음, 더 안전 |
사용 사례 | 파일 암호화, 데이터베이스 암호화 | 데이터 전송, 디지털 서명, 인증서 |
예시 알고리즘 | AES, DES | RSA, ECC, DSA |
4. 용어 설명
용어 | 설명 |
---|---|
암호화 (Encryption) | 데이터를 읽을 수 없도록 변환하는 과정. 보안을 위해 데이터를 암호화함. |
복호화 (Decryption) | 암호화된 데이터를 원래 상태로 되돌리는 과정. 올바른 키가 필요함. |
대칭키 | 암호화와 복호화에 같은 키를 사용하는 방식. 빠르고 간단하지만, 키 공유가 문제. |
비대칭키 | 암호화와 복호화에 다른 키를 사용하는 방식. 공개키는 누구나 볼 수 있고, 개인키는 오직 소유자만 가짐. |
공개키 (Public Key) | 누구나 사용할 수 있는 키. 데이터를 암호화할 수 있으나, 이 데이터를 복호화하려면 개인키가 필요. |
개인키 (Private Key) | 비밀로 유지해야 하는 키. 공개키로 암호화된 데이터를 복호화하거나, 디지털 서명을 만드는데 사용. |
AES | 현재 가장 많이 사용되는 대칭키 암호화 방식. 빠르고 안전. |
RSA | 비대칭키 암호화 알고리즘으로, 안전하지만 속도가 느림. 주로 작은 데이터를 암호화하거나 디지털 서명에 사용. |
디지털 서명 | 데이터가 변조되지 않았음을 보증하기 위해 사용하는 전자 서명. 개인키로 생성하며, 공개키로 검증 가능. |
SSL/TLS | 웹 브라우저와 서버 간 통신을 안전하게 보호하는 프로토콜. (HTTPS에 사용) |
DDoS | 시스템에 과도한 요청을 보내 서비스를 중단시키는 공격. |
5. 예시로 이해하기
대칭키 암호화 예시:
- 상황: 친구에게 비밀 메시지를 보내려 함.
- 방법: 두 사람이 동일한 "비밀번호"를 정하고, 이 비밀번호로 메시지를 암호화 및 복호화.
- 문제: 메시지 이전에 비밀번호를 안전하게 공유하는 것이 어려움.
비대칭키 암호화 예시:
- 상황: 은행에서 안전한 통신으로 송금하려 함.
- 방법: 은행은 공개키를 제공하고, 사용자는 이를 통해 데이터를 암호화. 은행은 자신의 개인키로 복호화.
- 장점: 공개키는 누구나 사용할 수 있으므로 키 공유 문제가 없음.
6. 결론
- 대칭키 암호화는 빠르고 대량 데이터에 적합하지만, 키 관리가 어렵습니다.
- 비대칭키 암호화는 보안성이 높고 키 공유 문제가 없으나, 속도가 느립니다.
- 실제로는 두 방식을 조합하여 사용하는 경우가 많습니다. 예를 들어, 대칭키로 데이터를 암호화하고, 대칭키 자체를 비대칭키로 보호하는 방식(하이브리드 암호화)이 일반적입니다.
반응형
SMALL
'보안' 카테고리의 다른 글
인증(Authentication)과 인가(Authorization)의 차이점 (0) | 2024.12.08 |
---|---|
XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)의 차이점과 방어 방법 (1) | 2024.12.08 |
SSL/TLS의 역할과 동작 방식 (0) | 2024.12.08 |
정보 보안의 3요소 (0) | 2024.12.08 |
SQL Injection과 방지 방법 (0) | 2024.12.05 |