네트워크

73. 암호화 기술 - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2025. 1. 31. 10:52

1. 해독 불가능한 상태로 통신하는 기술

  • 네트워크 통신에 필수적인 기술로 VPN 등 가상 네트워크는 암호화 기술로 구성된다.
  • 암호화 : 데이터를 해독할 수 없는 상태로 변환하는 것
  • 암호화 알고리즘 : 대칭 키 암호화비대칭 키 암호화, 해시 함수를 이용한다.
  • 대칭 키 암호화 : 암호화와 복호화에 동일한 키를 사용하는 방식
  • 비대칭 키 암호화 : 암호화와 복호화에 서로 다른 키(공개 키와 개인 키)를 사용하는 방식
  • 해시 함수 : 임의의 길이의 데이터를 고정된 길이의 해시 값으로 변환하는 함수
  • 코인 채굴 : 코인 채굴 과정에서는 해시 함수의 특성을 활용합니다. 채굴자는 특정 조건을 만족하는 해시 값을 찾기 위해 다수의 시도를 반복합니다. 이 과정은 해시 함수를 "역산"하거나 "해독"하는 것이 아니라, 무작위로 입력 값을 변경하여 목표 해시 값을 만족하는 결과를 찾는 것입니다. 이를 통해 네트워크는 새로운 블록의 유효성을 검증하고, 채굴자에게 보상을 지급
  • 해시 함수의 주요 함수 :
    • SHA-256 (Secure Hash Algorithm 256-bit): 비트코인 등 많은 암호화폐에서 사용됩니다.
    • SHA-3
    • MD5: 현재는 보안 취약으로 인해 주로 학습 목적에 사용됩니다.
    • SHA-1: 충돌 공격으로 인해 현재는 보안 취약으로 간주됩니다.
  • 솔트(Salt) : 해시 함수를 사용할 때 입력 데이터(주로 비밀번호)에 추가되는 임의의 데이터로 레인보우 테이블 공격과 무차별 대입 공격을 방지 합니다.
  • 레인보우 테이블 공격 방지: 레인보우 테이블은 미리 계산된 해시 값 목록을 이용해 해시 값을 역산하여 비밀번호를 추측하는 공격 방식입니다. 솔트를 추가하면 동일한 비밀번호라도 각기 다른 해시 값을 생성하므로 레인보우 테이블의 효용성이 크게 감소합니다.
  • 무차별 대입 공격 방지: 솔트는 각 비밀번호에 고유한 값을 추가하므로, 공격자가 무차별 대입 공격을 수행할 때 각 비밀번호마다 별도로 공격을 시도해야 하므로 시간과 자원이 많이 소모됩니다.
  • 페퍼(Papper) : 페퍼는 솔트와 유사하지만, 일반적으로 애플리케이션 전체에서 동일하게 사용되는 비밀 키입니다.