본문 바로가기
웹 개발

암호화

by heosj 2024. 5. 22.

보안의 3요소

기밀성; Confidentiality

  • 데이터가 암호화 되어 있지 않은 경우, 전송되는 데이터는 중간에 탈취될 수 있다
  • 데이터를 보호해주기 위한 웹 보안으로 정보가 탈취되지 않도록 하는 것이 기밀성이다

무결성; Integrite

  • 데이터 전송 중간에 가로채 데이터를 조작, 변조하는 것을 중간자 공격이라고 한다
  • 데이터가 목적지로 가는 중에 조작되지 않도록 하는 웹 보안으로 데이터가 조작되지 않았다는 것을 증비하는 것이 무결성이다

인증; Authentication

  • 신원을 확인한 뒤, 원하는 사람에게만 정보에 접근할 수 있도록 해야하는데, 그 방법을 인증이라고 한다

암호화

  • 특정 방법을 통해 정보를 암호문으로 변경하는 작업
  • 어떤 문자를 어떤 규칙으로 암호화할 것인지의 방법을 암호화 알고리즘이라고 한다

단방향 암호화

  • 평문을 암호화하는 것은 가능하지만, 복호화하는 것은 불가능한 암호화 기법이다
  • 암호화된 내용을 확인하면 안되는 경우 단방향 암호화가 사용된다
  • 주로 해시 함수를 사용하며 SHA256 알고리즘의 사용이 권장된다

양방향 암호화

  • 평문을 암호화하고, 복호화 하는 것이 가능한 암호화 기법이다
대칭키(비공개키) 방식
  • 암호화와 복호화에 사용하는 키가 동일하다
  • 키가 외부에 노출되면 모든 데이터는 기밀성을 잃게 되므로 주의해야 한다
  • AES 방식이 대표적이다
비대칭키(공개키) 방식
  • 암호화와 복호화에 사용하는 키가 다르다
  • 키쌍이 A, B라고 한다면 A로 암호화한 암호문은 B로만 복호화할 수 있다
  • 공개키(클라이언트)-개인키(서버)의 쌍을 가진다
  • RSA 방식이 대표적이다
  • 대칭키 방식에 비해 속도가 느리다

'웹 개발' 카테고리의 다른 글

HTTP와 HTTPS  (0) 2024.05.22
TCP와 UDP  (0) 2024.05.22
HTTP와 TCP/IP  (0) 2024.05.22
HTTP 개념  (0) 2024.05.22
DNS  (0) 2024.05.22