1. 단방향 암호화 (Hashing)

- 해싱은 입력값을 고정된 길이의 해시값으로 변환하는 방식이다.
- 일반적으로 해시값만으로 원래 데이터를 복원할 수 없으므로 복호화가 불가능하다.
- 비밀번호 저장, 무결성 검증과 같은 용도로 사용한다.
- 대표 알고리즘으로
SHA-256이 있다.
2. 양방향 암호화
양방향 암호화는 암호화와 복호화가 모두 가능한 방식이다.
1. 대칭키 (Symmetric Key)
- 암호화와 복호화에 같은 키를 사용한다.
- 처리 속도가 빠르다.
- 키를 안전하게 공유해야 한다는 점이 단점이다.
2. 비대칭키 (Asymmetric Key / Public Key)
- 공개키와 개인키 한 쌍을 사용한다.
- 공개키로 암호화하고 개인키로 복호화하는 방식으로 활용할 수 있다.
- 키 공유 문제를 줄일 수 있지만 대칭키보다 연산 비용이 크다.
- 대표 알고리즘으로
RSA,ECDSA가 있다.
3. HTTPS와의 관계
HTTPS는 대칭키와 비대칭키 방식을 함께 사용한다.
- 초기 연결 단계에서는 공개키 기반 방식으로 안전하게 키 교환을 수행한다.
- 실제 데이터 전송 단계에서는 속도가 빠른 대칭키 암호화를 사용한다.
- 따라서 HTTPS는 보안성과 성능을 함께 고려한 구조다.
추가로, 데이터가 Body에 담겨 있다고 해서 자동으로 안전해지는 것은 아니다.
- HTTPS가 적용되지 않으면 전송 구간에서 평문 노출 위험이 있다.
- 로그인 정보나 개인정보를 전송하는 경우 HTTPS 사용이 필수적이다.
핵심 정리
해싱은 복호화가 불가능한 단방향 처리 방식이고, 대칭키와 비대칭키는 복호화가 가능한 양방향 암호화 방식이다.
HTTPS는 두 방식을 결합하여 안전한 통신을 제공한다.