문제

나머지를 통해 통신할 클라이언트/서버 앱을 개발 중입니다.일부 사용자 정의 요청 데이터는 요청 헤더에 저장됩니다.요청을 보내는 서버와 수신 서버 모두 SSL 인증서를 가지고 있습니다. 헤더가 암호화됩니까, 아니면 콘텐츠만 암호화됩니까?

도움이 되었습니까?

해결책

SSL은 클라이언트에서 서버로, 그리고 그 반대로 전체 통신 경로를 암호화합니다. 따라서 헤더도 암호화됩니다.

그건 그렇고, 네트워크 애플리케이션을 개발하고 데이터 보안에 관심이 있다면 최소한 Niels Ferguson과 Bruce Schneier가 쓴 Practical Cryptography와 같은 책을 읽어야 하며, 아마도 웹 애플리케이션 보안에 더 초점을 맞춘 책을 더 읽는 것이 좋을 것입니다. 아이디어.제가 관찰한 바가 있다면(개인적인 비판을 의미하는 것은 아닙니다) 귀하의 질문은 매우 기본적인 웹 보안 기술에 대한 근본적인 이해가 부족하다는 것을 의미하며 이는 결코 좋은 징조가 아닙니다.

또한 암호화된 것으로 가정된 데이터가 실제로 암호화되었는지 확인하는 것도 결코 나쁜 생각이 아닙니다.네트워크 분석기를 사용하여 유선 트래픽을 모니터링하고 암호화되지 않은 상태로 전송되는 민감한 정보를 감시할 수 있습니다.저는 이전에 Wireshark를 사용하여 이 작업을 수행한 적이 있습니다. 결과는 때로는 놀라울 수 있습니다.

다른 팁

SSL 터널에서 통신하는 한 서버와 클라이언트 간에 전송되는 모든 내용은 암호화됩니다.암호화는 데이터를 보내거나 받기 전에 수행됩니다.

헤더와 콘텐츠가 모두 암호화됩니다.

REST가 별개의 프로토콜이라고 생각하는 것 같습니다.

REST는 프로토콜이 아닙니다.HTTP 기반 애플리케이션을 위한 디자인 스타일입니다.

따라서 HTTP 애플리케이션을 작성하는 것입니다.헤더가 암호화되어 있나요?예, 일반 HTTP 대신 HTTPS(SSL을 통한 HTTP) 프로토콜을 사용하는 경우 가능합니다.

양측에 인증서를 갖는 것은 귀하의 질문과 직접적인 관련이 없습니다.인증에는 SSL 인증서가 사용됩니다.이는 DNS 캐시 중독을 사용하여 가능한 중간자 공격을 탐지하는 데 도움이 됩니다.

인증서가 있는 것만으로는 충분하지 않으므로 해당 도메인이나 가상 호스트에 대한 연결을 암호화하도록(즉, 인증서를 사용하려면) 웹 서버를 구성해야 합니다.또한 단일 인증서만 필요하다고 생각하며 요청에 대한 응답은 계속 암호화됩니다.

그리고 그렇습니다. HTTP 헤더는 데이터뿐만 아니라 암호화됩니다.

SSL..또는 HTTPS(HTTP over SSL)는 SSL을 통해 모든 HTTP 콘텐츠를 전송하며, HTTP 콘텐츠와 헤더는 실제로 동일하므로 헤더도 암호화됩니다.GET 및 POST 데이터가 HTTP 헤더를 통해 전송되는 것을 보면 데이터를 안전하게 전송할 때 응답 코드나 콘텐츠가 암호화되는 것을 원하지 않을 때만 의미가 있습니다.

SSL을 사용할 때 헤더가 본문과 함께 실제로 암호화된다는 다른 대답은 정확합니다.하지만 쿼리 매개변수를 포함할 수 있는 URL은 다음과 같습니다. 절대 암호화되었습니다.따라서 URL 쿼리 매개변수에 민감한 정보를 입력하지 않도록 주의하세요.

업데이트: @blowdart가 아래에서 지적했듯이 이것은 잘못된 것입니다.아래 댓글을 참조하세요.

아니다 모든 것 암호화되었습니다:요청 쿼리 문자열은 암호화되지 않습니다.저를 믿으세요. 저는 다음과 같은 요청을 본 적이 있습니다.

https://mydomain.com/authenticate?user=username&password=MyStrongPasswordSentInTheClear

쿼리 문자열에 민감한 데이터를 매개변수로 넣지 마세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top