서명되지 않은 SSL 인증서가 SSL 인증서가없는 것보다 더 나쁜 이유는 무엇입니까?


19

서명되지 않거나 자체 서명 된 SSL 인증서가있는 사이트를 보면 브라우저에 경고가 표시됩니다. 그러나 동일한 브라우저는 보안되지 않은 페이지를 통해 자격 증명을 전송하는 데 아무런 문제가 없습니다.

자체 서명 인증서가 인증서가없는 것보다 더 나쁜 이유는 무엇입니까?

답변:


16

이 시스템이 망가 졌다고 느끼는 사람들이 많이 있습니다.

SSL 인증서가 유효하지 않은 경우 브라우저에서 경고 메시지를 표시하는 이유는 다음과 같습니다.

SSL 인프라의 원래 디자인 목적 중 하나는 웹 서버의 인증을 제공하는 것이 었습니다. 기본적으로 www.bank.com으로 이동하면 SSL을 통해 응답하는 웹 서버가 실제로 자신의 은행에 속한다는 것을 증명할 수 있습니다. 이로 인해 침입자가 DNS를 조작하거나 다른 방법을 사용하여 악의적 인 서버가 응답하지 못하게됩니다.

SSL의 "신뢰"는 신뢰할 수있는 제 3 자 (VeriSign 및 Thawte Consulting과 같은 회사)가 인증서에 서명하여 인증서의 소유자가 본인임을 확인했음을 나타냅니다 (이론적으로 IT 관리자를 방문하여). 개인이나 직접 신뢰를 만드는 다른 방법이지만 증거에 따르면 실제로는 다소 느슨하다는 증거가 있습니다. 서명 된 SSL 인증서를 얻는 데 필요한 모든 것은 800 번이며 약간의 연기 기술입니다).

따라서 SSL 인증서를 제공하는 웹 서버에 연결했지만 신뢰할 수있는 제 3자가 서명하지 않은 경우 이론적으로 이는 다른 조직에 속한 서버 인 척하는 사기꾼과 통신하고 있음을 의미 할 수 있습니다. .


실제로, 자체 서명 된 인증서는 일반적으로 서버를 운영하는 조직이 서명 된 인증서에 대해 비용을 지불하지 않기로 선택했거나 (원하는 기능에 따라 비용이 많이들 수 있음) 구성에 대한 기술적 전문 지식이 부족함을 의미합니다 ( 일부 소기업 솔루션은 자체 서명 된 인증서에 대한 원 클릭 메커니즘을 제공하지만 신뢰할 수있는 인증서를 얻으려면 더 많은 기술 단계가 필요합니다.

필자는 개인적으로이 시스템이 손상되었으며 자체 서명 인증서를 사용하여 SSL을 제공하는 서버와 통신하는 것보다 암호화가없는 서버와 통신하는 것이 훨씬 위험하다고 생각합니다. 브라우저가 다음과 같이 작동하지 않는 세 가지 이유가 있습니다.

  1. 암호화되지 않은 통신은 인터넷의 표준이므로 브라우저에서 암호화를 제공하지 않는 웹 사이트를보기 위해 경고를 클릭하게되면 신속하게 화가 나고 경고를 비활성화 할 수 있습니다.
  2. 클라이언트에 대한 심각한 경고 때문에 프로덕션 웹 사이트에서 자체 서명 된 인증서를 보는 것은 비정상입니다. 이것은 자체 영속 시스템을 확립합니다. 자체 서명 된 인증서는 드물기 때문에 의심스럽고 의심스러워서 드물습니다.
  3. 이것은 냉소적으로 들리지만 SSL 인증서 서명 ( 기침 Verisign 기침 )으로 많은 돈을 벌고있는 회사가 있으므로 백서 ( "길고 지루한 광고"를 의미하는 IT 용어) 및 기타 출판물을 사용합니다 서명되지 않은 인증서가 위험하다는 생각을 강요합니다.

5
자체 서명이 아닌 CA 서명 인증서로 얻는 신뢰 체인이 없으면 연결하는 서버가 누구인지를 확인할 방법이 없습니다. 자체 서명 된 인증서는 사용자가 전송하는 데이터가 자신이 말하는 대상에 도달하고 있는지 확인할 수있는 수단을 제공하지 않는다는 점에서 위험합니다. 사람들은 안전한 거래를 할 때 "https"를 찾는 법을 배우기 시작했습니다. 따라서 SSL 인증서의 주요 이점 중 하나를 잃어 버리기 때문에 유효하지 않거나 자체 서명 된 인증서에 대해 큰 경고를받는 것은 100 % 보증됩니다.
MDMarra

나는 '파산'이라고 말하지 않을 것입니다. Firefox Certificate Patrol 애드온은 기본 인증서보다 올바른 인증서 구현 및 신뢰 관리에 훨씬 가깝습니다. 그러나 신뢰 네트워크를 완전히 무시하는 것보다 기본값이 더 좋습니다.
Slartibartfast

4
@MarkM-내 느낌은 인증이 SSL의 주요 이점으로 간주되어서는 안된다는 것입니다. 백업 할 데이터가 없지만 암호화되지 않은 연결을 통해 전송 된 데이터로 인해 훨씬 ​​더 많은 보안 사고가 발생한다고 생각합니다. 페이스 북 로그인은 MitM 또는 임 포스터 공격보다 암호화되지 않기 때문에 구현하기가 훨씬 더 복잡합니다. 내가 지적했듯이 SSL에서 암호화를 통한 인증에 중점을 둔 것은 바로 이러한 상황을 만드는 것입니다.
jcrawfordor

1
@MarkM-합법적 인 문제인 명백한 오버 헤드가 있지만 서명되지 않은 인증서를 사용하면 CA에 스트레스를주지 않습니다. 특히 CA가 자체 서명 된 인증서에 사용되지 않기 때문입니다. 또한 충분한 권한을 가진 조직의 경우 걱정할 필요가 없습니다. 이제 Google은 Gmail 및 기타 서비스에 대해 기본적으로 https로 설정합니다. 인증하지 않으면 SSL의 유용성이 저하된다는 점을 이해합니다. 현재 모델이 제대로 설계되지 않았습니다. 실제로 필요한 것은 표준 암호화 프로토콜과보다 안전한 사용을위한 인증 프로토콜입니다.
닌클

5
내 요점과 NRHinkle의 중요성이 더 크다는 것은 암호화와 인증을 별도의 목표로 고려하여 개별적으로 달성 할 수 있어야한다는 것입니다. 다음은 SSL 시스템의 기본적인 결함입니다. 1) 암호화 및 인증이 불가피하게 첨부 된 것으로 간주합니다. 하나를 달성하려면 다른 하나를 달성해야합니다. 하나만 제공하는 것은 '의심스러운'것입니다. 2) 제한된 수의 주로 영리 CA에서 인증을 받아야합니다. 일반적으로 CA는 매우 비싸거나 (Verisign 등) 매우 그늘이 있습니다 (NameCheap 등)
jcrawfordor

6

페이지에서 페이지로 신임 정보 전송은 기본적으로 HTTP POST를 수행합니다. 예를 들어 POST를 통한 검색어 전송과 비교하여 자격 증명을 전송하는 데 특별한 것은 없습니다. 안전하지 않은 페이지에 게시되는 게시물이 경고를 트리거하면 사용자는 무의미한 경고로 공격을받습니다.

보안 채널을 사용하면 프로그래머가 전송을 보호 할 의사가 있음을 나타냅니다. 이 경우 자체 서명 된 인증서 경고를 사용하는 것이 가장 좋습니다.


충분히 공평 해
dag729

사실, 적어도 이전 버전의 Netscape Navigator 암호화되지 않은 모든 POST에 대해 경고를 표시했습니다. 물론, 모든 사람들이 5 분 후에 그들을 비활성화 시켰습니다. 그래서 나는 그들이 그것을 꺼내는 이유를 추측합니다.
sleske

4

댓글을 달 수 없으므로 user40350의 올바른 정보를 보완하는이 정보를 게시합니다.

그러나 동일한 브라우저는 보안되지 않은 페이지를 통해 자격 증명을 전송하는 데 아무런 문제가 없습니다.

그것은 사실조차도 사실이 아닙니다. 대부분의 브라우저는 처음 시도 할 때 보안되지 않은 연결을 통해 데이터를 제출 하려고하는 것처럼 경고를 표시 하지만 다시는 표시되지 않도록 끌 수 있습니다.

미로 A는 다음과 같이 썼다.

페이지에서 페이지로 신임 정보 전송은 기본적으로 HTTP POST를 수행합니다. POST를 통한 검색어와 같은 자격 증명을 보내는 것보다 특별한 것은 없습니다.

예를 들어, 비밀번호 필드가 특수한 html 태그이기 때문에 이것은 올바르지 않습니다. 그 외에도 "username"및 "password"와 같은 레이블도 많은 민감성을 배신합니다. 브라우저가 이런 종류의 정보를 고려하는 것이 완벽하게 가능합니다.


3

https : // 프로토콜로 보안 된 연결은 브라우저에 의해 "보안 됨"으로 표시됩니다. 예를 들어 작은 자물쇠가 표시되거나 URL의 일부가 녹색으로 표시됩니다.

따라서 사용자는 방문하는 페이지가 실제로 자신이 입력 한 URL에서 왔으며 다른 사람이 아니라는 것을 신뢰해야합니다.

https : //를 사용하지 않는 경우 사용자는 입력 한 데이터가 보호되지 않으며 서핑중인 사이트가 게시 될 수 있음을 알아야합니다.

자체 서명 된 인증서는 서핑 한 페이지가 게시되지 않았 음을 다시 한 번 예상하지 않으므로 추가 보안을 제공하지 않습니다.


1

신뢰할 수있는 (신뢰할 수있는 기관이 서명 한) 인증서와 신뢰할 수없는 인증서를 구분해야합니다. 그렇지 않으면 누군가 상대 서명이없는 자체 서명 인증서를 사용하여 은행을 가장 할 수 있습니다 (예 :).

이 경우 잠재적 위험이 상대적으로 높기 때문에 미묘한 경고보다 직접 대면 경고가 바람직합니다. 사람들은 https 링크를 클릭하고 누군가가 연결을 모니터링하는 중간에 앉아 있다고 생각하지 않을 수도 있습니다. 인증서를 신뢰할 수 없다는 표시가 미묘한 경우 (녹색 아이콘 대신 빨간색 등) 사람들이 쉽게 속일 수있어 SSL의 이점을 제거 할 수 있습니다.


사용자의 컴퓨터에 액세스하여 인증서를 수정하면 은행을 가장하는 것이 쉽지 않습니까? 사용자의 컴퓨터가 변경되지 않으면 웹 브라우저는 웹 페이지의 URL을 수정하여 은행이라고 주장 할 수 없습니다. 매우 유사한 URL을 얻는 경우 해당 웹 사이트에 대한 인증서를 계속 얻을 수 있으며 사용자는 웹 페이지에 서명 한 사람을 신경 쓰지 않으며 https임을 확인하고 URL이 은행의 URL ...
Dmitry

SSL의 이점은 웹 사이트가 자신이 누구라고 생각하는지 신뢰하지 않습니다 (타사 응용 프로그램이 인증서를 변경하거나 은행이 해킹 당할 수 있기 때문에 불가능 함). 오히려 귀하와 사이트가 생각하는 사람 사이의 의사 소통은 오직 귀하와 두 사람 사이의 의사 소통이며, 그 누구도 그 의사 소통을 이해할 수 없다는 것을 신뢰하십시오. 인증서를 가지고 있지 않다는 것은 당신이 누구와 이야기하든 상관없이 자기 서명 인증서를 갖는 것보다 나쁩니다. 중요한 것은 다른 사람이 당신이 말하는 것을 가로 챌 수 없다는 것입니다.
Dmitry

사용자 이외에도 Verisign이 누구이며 왜 신뢰해야하는지 알고 있습니까? 자신이 보낸 정보를 잘못 사용하여 인증서 소유자에게 책임을 부여하는 것보다 인증서를 판매하는 것에 대한 관심이 있습니까?
Dmitry

0

많은 좋은 이유가 나열되어 있습니다. 여기 하나 더 있습니다 :

하나의 보안 웹 페이지가 다른 웹 페이지의 요소를 포함하는 경우를 고려하십시오. 공격자는 외부 웹 페이지에 대한 요청 (예 : 타이밍을보고 먼저 요청해야 함)과 내부 요소에 대한 요청을 탐지 할 수 있습니다. 내부 요소에만 MITM을 삽입하고 자체 서명 된 인증서를 사용하며 페이지의 일부를 제어 할 수 있습니다. SSL을 사용하지만 신뢰할 수있는 인증서를 사용하지 않는 내부 요소에 대해 경고가 표시되지 않으면 외부 페이지의 보안이 손상됩니다.

현실적인 예가 있습니다. 공급 업체이고 'PayPal로 지불'링크가 있다고 가정 해 보겠습니다. 당신은 그것을 클릭하고 알고 있습니다. PayPal (으)로 리디렉션하여 합법적이고 안전한 PayPal 페이지를 받도록합니다. 네트워크를보고 있다면 PayPal의 첫 번째 요청이 될 것입니다. 그리고 곧 곧 비밀번호를 제출하게됩니다. 따라서 본인 submit의 이메일 주소와 비밀번호가 포함 된 PayPal의 자체 서명 인증서를 대신하여 MITM을 작성합니다 .

내부 페이지의 인증서가 자체 서명 된 경우 경고하지 않으면 외부 페이지의 보안이 어떻게 손상됩니까? 따라서 링크에서 제공되는 자체 서명 인증서에 대해 경고 해야합니다 .

물론 https수동으로 입력 하면 경고해야합니다. 당신은 그것이 안전하기를 기대하기 때문에.


-1

https : // 웹 사이트에서 중간 공격에있는 사람이 실행될 때 경고는 일반 사용자에게 잘못된 내용 일뿐 입니다. 따라서 HTTPS 보안에서 매우 중요한 부분입니다.

좋은 질문은 부분적으로 안전하지 않은 암호화가 HTTP를 통한 예가 아닌 이유입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.