대칭키 암호화 (Symmetric Key Encryption)
● 암호화와 복호화에 같은 키를 사용하는 방식
→ 암호화와 복호화 과정이 빠르고, 구현이 간단하다.
→ Why? 단일 키를 사용하기에 암호화와 복호화 과정에서 발생하는 연산 비용이 낮기 때문!
● 대표적인 알고리즘 : AES, DES, 3DES, SEED
● AES(Advanced Encryption Standard, 고급 암호화 표준)
- 128bit, 192bit, 256bit 길이의 키를 지원
- 키가 길수록 보안성이 좋다
- 블록 크기 : 한 번에 처리되는 데이터의 크기
- AES의 블록 크기는 128bit로 고정
● 단점 :
- 키를 안전하게 공유하고 저장해야 하는 어려움이 있다.
→ 유출되면 보안이 취약해짐
- 사용자 수가 증가할수록 관리해야 할 키의 개수가 늘어난다.
비대칭키 암호화 (Asymmetric Key Encryption)
● 암호화와 복호화에 서로 다른 키를 사용하는 방식
- 공개키(Public Key) 개인키(Private Key), 두 가지 Key가 사용된다.
- 공개키(Public Key)는 누구에게나 공개될 수 있고, 개인키(Private Key)는 소유자만 보유
● 공개키(Public Key)로 데이터를 암호화하고,
개인키(Private Key)로만 데이터를 복호화할 수 있기 때문에 보안성이 높다.
● 키 교환이 필요 없기 때문에 안전한 통신 채널에서의 키 분배가 문제가 없다.
● 인증 및 부인 방지 기능을 제공하여 신뢰성이 높다.
● 대표적인 알고리즘 : RSA, ECC(Elliptic CurveCryptography), Diffie-Hellman
● RSA (Rivest Shamir Adleman) → 개발자들의 성으로 지어진 이름
- 데이터 암호화, 복호화뿐만 아니라 전자서명에도 활용
- 소인수분해의 난해함을 기반으로 설계되어 높은 보안성을 제공
● 단점 :
- 계산 속도가 느리고, 더 많은 자원을 소모한다
→ 소인수분해 난해함을 기반으로 설계되었기 때문에 숫자가 커질수록 계산이 느리다.
- 즉, 대량의 데이터를 처리하기에는 비효율적이다.
단점을 보완할 방법은 없을까?
● 대칭키와 비대칭키를 적절하게 섞어서 사용하면 된다!
● RSA로 서로만 알 수 있는 암호키 자체를 하나 만들어서 송수신,
그 후에 속도가 빠른 대칭키 방식으로 암/복호화를 하는 것
=> 이 방법은 SSL (HTTPS)에서 사용되고 있다.
'IT > Network' 카테고리의 다른 글
[Network] Load Balancing (0) | 2025.01.10 |
---|---|
[네트워크] OSI 7계층 - 세션, 표현, 응용 (0) | 2024.12.27 |
[네트워크] OSI 7 계층 - 전송 계층 (1) | 2024.12.20 |
[네트워크] 서브넷 마스크 (0) | 2024.12.17 |
[네트워크] TCP/IP (2) | 2024.12.16 |