암호화

Stupefyee's avatar
Dec 05, 2024
암호화

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

stupefyee