답변:
이 시스템이 망가 졌다고 느끼는 사람들이 많이 있습니다.
SSL 인증서가 유효하지 않은 경우 브라우저에서 경고 메시지를 표시하는 이유는 다음과 같습니다.
SSL 인프라의 원래 디자인 목적 중 하나는 웹 서버의 인증을 제공하는 것이 었습니다. 기본적으로 www.bank.com으로 이동하면 SSL을 통해 응답하는 웹 서버가 실제로 자신의 은행에 속한다는 것을 증명할 수 있습니다. 이로 인해 침입자가 DNS를 조작하거나 다른 방법을 사용하여 악의적 인 서버가 응답하지 못하게됩니다.
SSL의 "신뢰"는 신뢰할 수있는 제 3 자 (VeriSign 및 Thawte Consulting과 같은 회사)가 인증서에 서명하여 인증서의 소유자가 본인임을 확인했음을 나타냅니다 (이론적으로 IT 관리자를 방문하여). 개인이나 직접 신뢰를 만드는 다른 방법이지만 증거에 따르면 실제로는 다소 느슨하다는 증거가 있습니다. 서명 된 SSL 인증서를 얻는 데 필요한 모든 것은 800 번이며 약간의 연기 기술입니다).
따라서 SSL 인증서를 제공하는 웹 서버에 연결했지만 신뢰할 수있는 제 3자가 서명하지 않은 경우 이론적으로 이는 다른 조직에 속한 서버 인 척하는 사기꾼과 통신하고 있음을 의미 할 수 있습니다. .
실제로, 자체 서명 된 인증서는 일반적으로 서버를 운영하는 조직이 서명 된 인증서에 대해 비용을 지불하지 않기로 선택했거나 (원하는 기능에 따라 비용이 많이들 수 있음) 구성에 대한 기술적 전문 지식이 부족함을 의미합니다 ( 일부 소기업 솔루션은 자체 서명 된 인증서에 대한 원 클릭 메커니즘을 제공하지만 신뢰할 수있는 인증서를 얻으려면 더 많은 기술 단계가 필요합니다.
필자는 개인적으로이 시스템이 손상되었으며 자체 서명 인증서를 사용하여 SSL을 제공하는 서버와 통신하는 것보다 암호화가없는 서버와 통신하는 것이 훨씬 위험하다고 생각합니다. 브라우저가 다음과 같이 작동하지 않는 세 가지 이유가 있습니다.
페이지에서 페이지로 신임 정보 전송은 기본적으로 HTTP POST를 수행합니다. 예를 들어 POST를 통한 검색어 전송과 비교하여 자격 증명을 전송하는 데 특별한 것은 없습니다. 안전하지 않은 페이지에 게시되는 게시물이 경고를 트리거하면 사용자는 무의미한 경고로 공격을받습니다.
보안 채널을 사용하면 프로그래머가 전송을 보호 할 의사가 있음을 나타냅니다. 이 경우 자체 서명 된 인증서 경고를 사용하는 것이 가장 좋습니다.
댓글을 달 수 없으므로 user40350의 올바른 정보를 보완하는이 정보를 게시합니다.
그러나 동일한 브라우저는 보안되지 않은 페이지를 통해 자격 증명을 전송하는 데 아무런 문제가 없습니다.
그것은 사실조차도 사실이 아닙니다. 대부분의 브라우저는 처음 시도 할 때 보안되지 않은 연결을 통해 데이터를 제출 하려고하는 것처럼 경고를 표시 하지만 다시는 표시되지 않도록 끌 수 있습니다.
미로 A는 다음과 같이 썼다.
페이지에서 페이지로 신임 정보 전송은 기본적으로 HTTP POST를 수행합니다. POST를 통한 검색어와 같은 자격 증명을 보내는 것보다 특별한 것은 없습니다.
예를 들어, 비밀번호 필드가 특수한 html 태그이기 때문에 이것은 올바르지 않습니다. 그 외에도 "username"및 "password"와 같은 레이블도 많은 민감성을 배신합니다. 브라우저가 이런 종류의 정보를 고려하는 것이 완벽하게 가능합니다.
https : // 프로토콜로 보안 된 연결은 브라우저에 의해 "보안 됨"으로 표시됩니다. 예를 들어 작은 자물쇠가 표시되거나 URL의 일부가 녹색으로 표시됩니다.
따라서 사용자는 방문하는 페이지가 실제로 자신이 입력 한 URL에서 왔으며 다른 사람이 아니라는 것을 신뢰해야합니다.
https : //를 사용하지 않는 경우 사용자는 입력 한 데이터가 보호되지 않으며 서핑중인 사이트가 게시 될 수 있음을 알아야합니다.
자체 서명 된 인증서는 서핑 한 페이지가 게시되지 않았 음을 다시 한 번 예상하지 않으므로 추가 보안을 제공하지 않습니다.
신뢰할 수있는 (신뢰할 수있는 기관이 서명 한) 인증서와 신뢰할 수없는 인증서를 구분해야합니다. 그렇지 않으면 누군가 상대 서명이없는 자체 서명 인증서를 사용하여 은행을 가장 할 수 있습니다 (예 :).
이 경우 잠재적 위험이 상대적으로 높기 때문에 미묘한 경고보다 직접 대면 경고가 바람직합니다. 사람들은 https 링크를 클릭하고 누군가가 연결을 모니터링하는 중간에 앉아 있다고 생각하지 않을 수도 있습니다. 인증서를 신뢰할 수 없다는 표시가 미묘한 경우 (녹색 아이콘 대신 빨간색 등) 사람들이 쉽게 속일 수있어 SSL의 이점을 제거 할 수 있습니다.
많은 좋은 이유가 나열되어 있습니다. 여기 하나 더 있습니다 :
하나의 보안 웹 페이지가 다른 웹 페이지의 요소를 포함하는 경우를 고려하십시오. 공격자는 외부 웹 페이지에 대한 요청 (예 : 타이밍을보고 먼저 요청해야 함)과 내부 요소에 대한 요청을 탐지 할 수 있습니다. 내부 요소에만 MITM을 삽입하고 자체 서명 된 인증서를 사용하며 페이지의 일부를 제어 할 수 있습니다. SSL을 사용하지만 신뢰할 수있는 인증서를 사용하지 않는 내부 요소에 대해 경고가 표시되지 않으면 외부 페이지의 보안이 손상됩니다.
현실적인 예가 있습니다. 공급 업체이고 'PayPal로 지불'링크가 있다고 가정 해 보겠습니다. 당신은 그것을 클릭하고 알고 있습니다. PayPal (으)로 리디렉션하여 합법적이고 안전한 PayPal 페이지를 받도록합니다. 네트워크를보고 있다면 PayPal의 첫 번째 요청이 될 것입니다. 그리고 곧 곧 비밀번호를 제출하게됩니다. 따라서 본인 submit
의 이메일 주소와 비밀번호가 포함 된 PayPal의 자체 서명 인증서를 대신하여 MITM을 작성합니다 .
내부 페이지의 인증서가 자체 서명 된 경우 경고하지 않으면 외부 페이지의 보안이 어떻게 손상됩니까? 따라서 링크에서 제공되는 자체 서명 인증서에 대해 경고 해야합니다 .
물론 https
수동으로 입력 하면 경고해야합니다. 당신은 그것이 안전하기를 기대하기 때문에.