HTTP 완벽 가이드13 [HTTP 완벽 가이드] 14장 보안 HTTP 14.5~14.9 디지털 서명디지털 서명은 보통 비대칭 공개키에 의해 생성된다. 요약에 사용자의 개인 키를 매개변수로 하는 서명 함수를 적용하여 메시지와 함께 전송한다. 메시지가 위조된 것이 아닌 것을 확인하고자 공개키를 이용한 역함수를 적용한 후 가지고 있는 버전의 요약과의 일치여부를 판단한다.디지털 인증서디지털 인증서는 신뢰할 수 있는 기관으로부터 보증 받은 사용자나 회사에 대한 정보를 담고 있다. 디지털 인증서는 대상의 이름, 유효 기간, 인증서 발급자, 인증서 발급자의 디지털 서명 등의 기본적인 내용들을 담고 있다. 디지털 인증서에 대한 세계적인 단일 표준은 없지만, X.509라는 표준화된 서식에 대부분의 인증서를 저장하고 있다.HTTPS를 통한 웹 트랜잭션을 시작하게 되면 브라우저는 접속한 서버에서 디지털 인증서.. 2025. 1. 15. [HTTP 완벽 가이드] 14장 보안 HTTP 14.1~14.4 HTTP를 안전하게 만들기HTTPS는 넷스케이프 커뮤니케이션 주식회사에서 개척했으며 모든 주류 브라우저와 서버에서 지원한다. HTTPS를 사용할 경우, 모든 HTTP 요청과 응답 데이터는 네트워크로 보내지기 전에 암호화된다. SSL과 TLS를 이용하여 구현되며 두 가지는 매우 비슷하기 때문에 양쪽 모두를 포함하는 용어로 SSL을 사용한다.디지털 계산의 도래로 복잡한 인코딩과 디코딩이 가능해졌다. 또한 매우 큰 키를 지원하는 것이 가능해져서 단일 암호 알고리즘으로 키의 값마다 다른 수조 개의 가상 암호 알고리즘을 만들어낼 수 있게 되었다.대칭키 암호법대칭키 암호법에서는 인코딩을 할 때 사용하는 키가 디코딩을 할 때 사용하는 키와 같다. 발송자와 수신자 모두 통신을 위해 비밀 키를 똑같이 공유해야 한다. 대.. 2025. 1. 10. [HTTP 완벽 가이드] 13장 다이제스트 인증 다이제스트 인증"절대로 비밀번호를 네트워크를 통해 보내지 않는다."는 특징을 가진 인증 방식이다. 때문에 비밀번호를 절대 평문으로 전송하지 않고 인증 체결을 가로채서 재현하려고 하는 공격 방식 등을 막는다. 클라이언트는 비밀번호를 보내는 대신에 지문 혹은 요약을 보낸다. 서버는 클라이언트가 제공한 요약과 서버가 내부적으로 계산한 요약이 일치하는 경우 클라이언트에게 문서를 제공하게 된다. 요약은 단방향 함수로 동작하며 MD5나 SHA 등을 통해 변환을 진행한다.nonce 사용단방향 요약을 통해 비밀번호 원문을 보내지 않더라도, 재전송 공격을 하게 된다면 마찬가지로 위험할 수 있다. 때문에 서버는 클라이언트에게 난스를 전달하는데, 난스란 대략 1밀리초마다 혹은 인증할 때마다 바뀌는 증표이다. 난스를 비밀번호.. 2025. 1. 10. [HTTP 완벽 가이드] 12장 기본 인증 인증웹 접근 시 HTTP 요청 메시지를 받으면, 서버는 요청을 처리할 때 사용자가 누구인지 파악하기 위한 '인증 요구'를 한다. 그리고 사용자가 인증 정보를 첨부해서 보내고 이 정보가 맞다면 요청을 문제없이 처리하는 과정을 거친다.HTTP에는 기본 인증과 다이제스트 인증이라는 인증 프로토콜이 있다. 그 중 기본 인증은 가장 잘 알려진 HTTP 인증 규약이며, 거의 모든 주요 클라이언트와 서버에 기본 인증이 구현되어 있다. 기본 인증에서 웹 서버는 클라이언트의 요청을 401 상태 코드와 함께 거부하고 사용자 정보를 요구할 수 있다. 클라이언트가 접근하려고 했던 보안 영역을 WWW-Authenticate에 기술해서 인증 요구를 시작한다. 그리고 클라이언트는 사용자 이름과 비밀번호를 Authorization .. 2025. 1. 2. [HTTP 완벽 가이드] 11장 클라이언트 식별과 쿠키 사용자를 식별하는 방법클라이언트의 IP 주소 활용만약 사용자가 확실한 IP 주소를 가지고 있고 그 주소가 바뀌지 않는다면 문제없이 동작하지만, 여러 약점을 가지고 있다. 먼저 사용자 자체를 가리킨다기 보다는 사용하는 컴퓨터를 가리키는 것이기 때문에 여러 사용자가 같은 컴퓨터를 사용한다면 식별이 불가하다. 또한 많은 ISP가 사용자가 로그인했을 때 동적으로 IP 주소를 할당하기 때문에 사용자는 매번 다른 주소를 받게 되어 웹 서버가 사용자를 식별하지 못할 수 있다. 그 외에도 프락시 서버로 인한 경우이거나 실제 IP 주소를 방화벽 뒤로 숨기게 되는 경우 등으로 인해 IP 주소를 활용하는 것이 적절하지 않을 수 있다.사용자 로그인사용자 이름과 비밀번호 인증을 통해 명시적으로 사용자에게 식별을 요청할 수 있다.. 2025. 1. 2. [HTTP 완벽 가이드] 10장 HTTP/2.0 HTTP/2.0의 등장 배경HTTP/1.1에서 병렬 커넥션이나 파이프라인 커넥션이 도입되었지만 성능 개선에 대한 근본적인 해결책이 되지 못했음. 구글에서 2009년 SPDY 프로토콜을 통해 헤더를 압축하거나 하나의 TCP 커넥션에 여러 요청을 동시에 보냄으로써 회전 지연을 줄이고자 했다. 그리고 2012년 SPDY를 기반으로 HTTP/2.0의 초안을 만들게 되었다.HTTP/2.0TCP 커넥션 위에서 동작하며, 스트림을 통해 보내진다. HTTP/2.0은 스트림에 대한 프름 제어와 우선순위 부여 기능을 제공한다. 또한 서버푸시를 도입했는데, 서버가 클라이언트에서 필요하다고 생각하는 리소스라고 판단하는 경우, 클라이언트가 요청을 하지 않더라도 능동적으로 클라이언트에게 리소스를 보내는 것을 의미한다. 그러면서도.. 2025. 1. 2. 이전 1 2 3 다음 반응형