정보 보호의 목표
- 기밀성 (Confidentiality)
- 인가된 사람/프로세스/시스템 만이 알 필요성에 근거해 시스템에 접근해야 한다는 원칙
- 위협요소 : 도청, 사회공학
- 무결성 (Integrity)
- 정보의 내용이 불법적으로 생성 또는 변경되거나 삭제되지 않도록 보호되어야 하는 성질
- 위협요소 : 논리폭탄, 백도어, 바이러스
- 가용성 (Availability)
- 정당한 사용자가 정보시스템의 데이터나 자원을 필요로 할 때 지체없이 원하는 데이터, 자원에 접근하여 사용할 수 있는 성질
- 위협요소 : Dos, DDos, 지진, 홍수, 화재
- 인증 (Authentication)
- 임의의 정보에 접근할 수 있는 객체의 자격이나 객체의 내용을 검증하는데 사용되는 성질
- 부인방지 (Non-repudiation)
- 행위나 이벤트의 발생을 증명하여 나중에 그런 행위나 이벤트를 부인할 수 없도록 하는 것
📖대칭키
암호화와 복호화에 **같은 암호키(대칭키)**를 사용하는 알고리즘
📎장점
- 구현이 용이
- 데이터를 암호화하기 위한 연산이 빨라 대용량 데이터 암호화에 적합
- 기밀성 제공
📎단점
- 대칭키 전달 과정에서 키 탈취 관리 걱정
- 대칭키 전달 과정에서 사람이 증가할수록 전부 따로 키 교환을 해야 하기 때문에 키 관리가 어려움
- 무결성/인증/부인방지 보장 X
📎대표적인 알고리즘
- SEED : 공인인증서의 암호화 방식
- DES, 3DES, AES, ARIA, ChaCha20
📖비대칭키(공개키)
암호화와 복호화에 서로 다른 암호키를 사용하는 알고리즘
Note
공개키 : 모든 사람이 접근 가능한 키 비밀키 : 각 사용자만이 가지고 있는 키
- 전달할 내용을 상대방의 공개키로 암호화, 전달받은 내용은 자신의 비밀키로 복호화
📎장점
- 키 분배가 필요하지 않음 (공개키는 누구에게나 공개, 개인키는 나만 잘 가지고 있으면 됨)
- 키 관리가 용이
- 기밀성/인증/부인방지 기능 제공
📎단점
- 복잡한 수학으로 이루어져 성능 상 속도가 느림
📎방식
1. 암호 모드 (너만 써야 해!!)
수신자 공개키로 암호화 → 수신자 비밀키로 복호화
- 소량의 메세지 암호화 목적
- 주로 키 교환의 용도로 사용
2. 인증 모드 (내가 암호화 했어!!)
송신자 비밀키로 암호화 → 송신자 공개키로 복호화
- 메세지를 인증(부인 방지)하는 것이 목적
📎대표적인 알고리즘
- Diffie Hellman: 최초의 공개키 알고리즘 (위조에 취약)
- RSA : 대표적 공개키 알고리즘
- DSA : 전자서명 알고리즘 표준
- ECC : 짧은 키로 높은 암호 강도, 빠른 구현 가능 PDA, 스마트폰 등에 사용