1. 단방향 암호화
정의
- 부호화만 가능하고 복호화 불가능.
- 데이터를 고유한 형태로 변환하여 검증에 사용.
- 잠금만 가능, 해제 불가.
주요 알고리즘
- SHA256, SHA512
- 뒤의 숫자는 비트(bit) 길이를 의미.
- HMAC (Hash-based Message Authentication Code)
- 해시와 키를 조합해 데이터 무결성을 보장.
사용 예시
- 전자 서명: 데이터 무결성을 확인하기 위해 사용.
- 비밀번호 저장: 원본 비밀번호 대신 해시 값만 저장.
2. 양방향 암호화
정의
- 데이터를 암호화하고 복호화가 가능한 방식.
- 잠금과 해제가 모두 가능.
2-1. 대칭키 암호화
- 특징:
- 암호화와 복호화에 동일한 키 사용.
- 키 전달 과정에서 보안 위협이 있을 수 있음.
- 장점:
- 속도가 빠르고 구현이 간단.
- 단점:
- 키 관리가 어려움.
- 사용 예시:
- 개인 파일 암호화.
- 로컬 데이터 보호.
2-2. 비대칭키 암호화 (CIA 원칙 기반)
- 특징:
- 공개키와 개인키 두 개의 키 사용.
- 공개키로 암호화 → 개인키로 복호화.
- 개인키로 서명 → 공개키로 검증.
- 암호화와 인증(전자 서명)에 모두 활용 가능.
- 장점:
- 키 전달 문제가 없음.
- 높은 보안성.
- 단점:
- 대칭키에 비해 속도가 느림.
- 주요 알고리즘:
- RSA (Rivest-Shamir-Adleman): 비대칭키 암호화의 대표적 알고리즘.
3. OAuth (인증 및 권한 부여)
- 정의:
- 사용자의 자원에 대한 접근을 **제3자(중계인)**에게 위임하는 프로토콜.
- 예: 소셜 로그인을 통해 애플리케이션 인증.
- 특징:
- 비대칭키 암호화 원리를 사용.
- 접근 토큰을 발급받아 리소스 서버에 접근.
Share article