inblog logo
|
goho
    개념/기술

    암호화

    gov's avatar
    gov
    Dec 04, 2024
    암호화
    Contents
    1. 단방향 암호화 (Hashing)2. 양방향 암호화 (Encryption)3. 암호화 기술 활용4. OAuth 2.0
    💡
    데이터의 기밀성, 무결성, 인증(Confidentiality, Integrity, Authentication, CIA)을 보장하기 위해 데이터를 변환하는 기술.
    주요 기술 - 단방향, 양방향 암호화
    목차
    1. 단방향 암호화 (Hashing)2. 양방향 암호화 (Encryption)2.1 대칭키 암호화 (Symmetric Encryption)2.2 비대칭키 암호화 (Asymmetric Encryption)3. 암호화 기술 활용3.1 전자 서명3.2 WT (JSON Web Token)4. OAuth 2.0특징장점단점

    1. 단방향 암호화 (Hashing)

    데이터를 고정된 길이의 해시 값으로 변환하며, 복호화 불가능. 주로 데이터 무결성 검증이나 비밀번호 저장에 사용
    • 알고리즘 예시
      • SHA-512: 512비트 길이의 해시를 생성하는 알고리즘.
      • HMAC: 해시와 키(key)를 결합한 메시지 인증 코드. 무결성과 인증 보장.
    • 응용 사례
      • 전자 서명: 데이터가 변조되지 않았음을 보장하기 위해 사용.
      • JWT (JSON Web Token)
        • JSON 형태로 사용자 정보를 담은 토큰.
        • 민감하지 않은 사용자 정보를 포함하며, 서명(해시)을 통해 무결성을 검증.
     

    2. 양방향 암호화 (Encryption)

    데이터를 암호화(Encryption) 및 복호화(Decryption) 가능. 주로 통신에서 데이터의 기밀성 보장에 사용

    2.1 대칭키 암호화 (Symmetric Encryption)

    • 하나의 공통 키를 사용해 암호화와 복호화를 수행.
    • 장점: 속도가 빠르고 구현이 간단함.
    • 단점: 키를 안전하게 전달해야 하는 문제가 있음.(예: AES, DES)

    2.2 비대칭키 암호화 (Asymmetric Encryption)

    • 공개키(Public Key)와 개인키(Private Key) 쌍을 사용.
    • 공개키로 암호화하면 개인키로 복호화 가능하며, 개인키로 암호화하면 공개키로 복호화 가능.
    • 장점: 키 전달 문제 해결.
    • 단점: 대칭키에 비해 속도가 느림.(예: RSA, ECC)
     

    3. 암호화 기술 활용

    3.1 전자 서명

    • 자신의 개인키로 데이터를 암호화하여 서명 생성.
    • 수신자는 서명자의 공개키로 복호화해 데이터 무결성 및 서명자 확인 가능.

    3.2 WT (JSON Web Token)

    • 로그인 인증 등에 사용되는 토큰.
    • 사용자 정보를 JSON 형태로 담아 인코딩한 후, 서명(단방향 해시)을 추가하여 생성.
    • 구성
        1. Header: 서명 알고리즘 정보.
        1. Payload: 사용자 정보(민감하지 않은 데이터).
        1. Signature: Header와 Payload를 해시 알고리즘으로 서명.
     

    4. OAuth 2.0

    OAuth 2.0은 권한 부여를 위한 인증 프로토콜로, 토큰을 사용해 인증 정보를 관리.

    특징

    1. 토큰에 사용자 정보 저장: 민감하지 않은 정보와 인증 정보를 포함.
    1. RSA 기반 비대칭 암호화를 사용하여 토큰의 무결성과 신뢰성 보장.

    장점

    • 사용자 비밀번호를 제3자에게 노출하지 않고 인증 가능.
    • RESTful API 기반 인증에 적합.

    단점

    • 토큰에 정보가 포함되므로 유출 시 보안 문제가 발생 가능.
    • 이를 해결하기 위해 리프레시 토큰(Refresh Token)과 액세스 토큰(Access Token)을 두 번 사용하여 보안 강화.
    Share article

    goho

    RSS·Powered by Inblog