왜 모든 것에 HTTPS를 사용하지 않습니까?


126

서버를 설정하고 SSL 인증서를 보유한 경우 구매 / 로그인 대신 전체 사이트에 HTTPS를 사용하지 않는 이유는 무엇입니까? 전체 사이트를 암호화하고 사용자를 완전히 보호하는 것이 더 합리적이라고 생각합니다. 모든 것이 안전하기 때문에 무엇을 보호해야할지 결정하는 등의 문제를 방지 할 수 있으며 사용자에게는 불편하지 않습니다.

사이트의 일부에 이미 HTTPS를 사용하고 있었다면 전체 사이트에 HTTPS를 사용하고 싶지 않은 이유는 무엇입니까?

이것은 관련 질문입니다. 왜 https가 로그인에만 사용됩니까? 답변이 만족스럽지 않습니다. 답변에 따르면 전체 사이트에 https를 적용 할 수 없습니다.


2
금융 서비스 회사가 여전히 http를 사용한다는 것은 놀랍습니다.
Tom Hawtin-tackline

15
@Tom 피싱 메시지를 보내는 일부 사이트가 위조 된 사이트에 https를 사용하기를 원하므로 올바른 피셔에 데이터를 제공하고 있음을 알고 있습니다.
WhirlWind

이 질문을 해주셔서 감사합니다. 나는 성능이었다 가정 한 이성과는 HTTP보다 훨씬 더 악화 될 것이다. 답변을 보면 성능이 크게 나쁘지 않은 것 같습니다.
sundar-복원 모니카

4
나는 당신이 currenlty 11 아래로 투표와 함께 페이지에서 최악의 답변을 선택했다고 생각합니다. 선택한 답변은 보안 및 모범 사례를 완전히 무시합니다.
rook

5
이 질문은 실제로 교육받은 현대적인 답변을받을 가치가 있습니다.
Old Badman Grey

답변:


17

몇 가지 이유를 생각할 수 있습니다.

  • 일부 브라우저는 SSL을 지원하지 않을 수 있습니다.
  • SSL은 성능을 다소 떨어 뜨릴 수 있습니다. 사용자가 큰 공개 파일을 다운로드하는 경우 매번 이러한 파일을 암호화해야하는 시스템 부담이있을 수 있습니다.

137
SSL을 지원하지 않는 브라우저는 무엇입니까?
Malfist

6
lynx의 일부 컴파일은 그것을 지원하지 않습니다. 최신 브라우저 만 지원한다면 괜찮을 것입니다.
WhirlWind

5
나는이를 통해보고되었다 : iweb.tntech.edu/hexb/publications/https-STAR-03122003.pdf를 "서버가 포화되면, 처리량 측면에서 HTTP의 67 % 주위 HTTPS 달성 한의 시스템 성능을 제공합니다."
WhirlWind

16
나는 t buy this explanation. 1) Don2013 년에 SSL을 지원하지 않는 브라우저를 사용하지 않습니다 . 2) Google조차도 지금 SSL을 사용합니다. 3) 올바르게 설정하면 http 트래픽을 올바른 https 링크로 리디렉션 할 수 있습니다.
jfyelle

4
나쁜 대답, 왜 그렇게 manu upvotes? 지구상의 어떤 브라우저가 ssl을 지원하지 않고 사용자가 https 입력을 기억하지 않아도 리디렉션으로 처리 할 수 ​​있습니다.
Sanne

25

다른 이유 (특히 성능 관련) 외에도 HTTPS를 사용할 때 IP 주소 당 하나의 도메인 * 만 호스팅 할 수 있습니다.

서버 HTTP 헤더는 서버가 응답 할 도메인을 서버에 알리기 때문에 단일 서버는 HTTP에서 여러 도메인을 지원할 수 있습니다 .

HTTPS를 사용하면 서버는 초기 TLS 핸드 셰이크 중 (HTTP가 시작되기 전에) 클라이언트에 인증서를 제공해야합니다. 이는 서버 헤더가 아직 전송되지 않았기 때문에 서버가 요청중인 도메인과 응답 할 인증서 (www.foo.com 또는 www.bar.com)를 알 수있는 방법이 없습니다.


* 각주 : 기술적으로 여러 도메인을 다른 포트에서 호스팅하는 경우 여러 도메인을 호스팅 할 수 있지만 일반적으로 옵션은 아닙니다. SSL 인증서에 와일드 카드가있는 경우 여러 도메인을 호스트 할 수도 있습니다. 예를 들어 인증서 * .example.com을 사용하여 foo.example.com과 bar.example.com을 모두 호스팅 할 수 있습니다.


5
와일드 카드 SSL 인증서가 없어서이 문제를 해결할 수 있습니까?
Rob

각주는 답변과 모순됩니다 : / 와일드 카드 인증서를 사용하고 모든 도메인을 호스팅 할 수 있습니다. en.wikipedia.org/wiki/Wildcard_certificate
lucascaro

23
이 문제는 오늘날 모든 주요 브라우저에서 지원되는 서버 이름 표시로 오랫동안 해결되었습니다. en.wikipedia.org/wiki/Server_Name_Indication
tia

모든 웹 서버를 지원하지 제외시켰다 @tia
meffect

2
@meffect ...하지만 apache2, nginx, lighttpd 및 nodejs를 포함하여 많은 작업이 수행됩니다. 또한 개발자는 HTTPS 터널링에 사용할 리버스 프록시를 선택할 수 있습니다. "클라이언트가 지원하지 않는다"고 말하는 것은 개발자가 제어 할 수없고 설명해야하는 것이기 때문에 사실이라면 유효합니다. 그러나 "일부 서버는이를 지원하지 않는다"는 말은 설명 할 필요가 없기 때문에 크게 관련이 없습니다. 특히 모든 주류 서버 실제로 지원하는 경우.
Parthian Shot

13

SSL / TLS는 거의 자주 사용되지 않습니다. 전체 세션에 HTTPS를 사용해야합니다 . HTTP를 통해 세션 ID를 보낼 수 없습니다. 로그인에 https 만 사용하는 경우 2010 년 "A3 : 인증 및 세션 관리 손상"에 대한 OWASP Top 10을 명백히 위반 한 것입니다 .


이것은 너무 넓은 가정 일 수 있습니다. 단일 https 로그인 작업을 통해 세션 상태를 http 및 https에 대해 별도로 관리 할 수없는 이유는 없습니다. 그것은 가치보다 더 많은 일을하고 보안 관련 버그를 불러 일으킬 수 있지만 자동으로 명확한 위반을 구성하지는 않습니다.
아인슈타인

@ 아인슈타인은 OWASP A3를 읽어보십시오. 인증 된 세션의 쿠키가있는 공격자는 사용자 이름 / 암호가 필요하지 않습니다.
rook

사이트는 혼합 https / http를 제공합니다. https 로그인은 별도의 낮고 높은 보안 세션 토큰을 제공합니다. http 세션에만 지정된 낮은 보안 토큰은 높은 보안이 필요한 작업에는 작동하지 않습니다. 필자가 읽은 OWASP A3은 보안 수준이 낮은 전송을 통해 높은 수준의 보안 액세스 가능성에 대한 기본적인 문제를 조명하고 있습니다.
아인슈타인

@Einstein 그렇다면 세션 ID가 웹 브라우저를 인증하는 데 사용된다는 데 동의하지 않습니까? 이 공격 패턴을 고려하십시오. xss 공격 document.cookie에서는 공격자가이를 사용하여 인증 할 수 있도록 가치를 얻으려고 합니다. 이 값은 https를 중지하는 트래픽을 스니핑하여 얻을 수도 있습니다. 당신의 요점이 무엇인지 정확히 모르겠습니다.
rook

시나리오에서 시스템이 단일 세션으로 두 개의 별도 세션을 작성하여 https 세션없이 두 프로토콜을 모두 사용할 수 있고 https 세션 쿠키에 의해 노출 된 관련 자원을 허용하는 경우 http의 세션 ID는 https로 보호 된 자원에 대해 가치가 없습니다. 예를 들어, http 세션은보고 목적으로 공용 자원에 대한 액세스 또는 공용 메시지 보드에 대한 액세스를 식별하는 데 사용될 수 있지만 보안 자원에는 유효하지 않습니다.
아인슈타인

12

등록 된 우편을 통해 모든 달팽이 우편 게시물을 변조 방지용 불투명 봉투에 보내지 않겠습니까? 우체국의 누군가는 항상 개인적으로 양육권을 가지므로 아무도 메일을 스누핑하지 않도록 확신 할 수 있습니다. 대답은 일부 메일은 비용이 들지만 대부분의 메일은 그렇지 않다는 것입니다. 누군가 "내가 감옥에서 나왔다"라고 읽는 사람은 신경 쓰지 않습니다. 삼촌 조에게 엽서.

암호화는 무료가 아니며 항상 도움이되는 것은 아닙니다.

쇼핑, 뱅킹 등과 같은 세션이 HTTPS를 사용하여 종료되는 경우 전체 세션을 가능한 빨리 HTTPS로 만들지 않을 이유가 없습니다.

내 의견은 HTTPS는 요청 또는 응답이 중간 스누핑으로부터 보호되어야하기 때문에 불가피하게 필요할 때만 사용해야한다는 것입니다. 예를 들어 Yahoo! 홈페이지. 로그인 한 경우에도 대부분의 상호 작용은 HTTP를 통해 이루어집니다. HTTPS를 통해 인증하고 신원을 증명하는 쿠키를 얻으므로 뉴스 기사를 읽는 데 HTTPS가 필요하지 않습니다.


롤 !!! 큰! 나는 "당신이 감옥에서 나왔다"봉투를 열어 불량 우체부 내기 그의 바지를 조금 놀라게하고 완벽하게
다시 봉합

19
등기 우편이 더 대신 300 % 이상 1 %를 비용, 내가 모든 것을 위해 사용합니다.
solublefish

3
You authenticate over HTTPS and get cookies that prove your identity, so you don't need HTTPS to read news stories.세션 인증을 처리하는 올바른 방법이 아닙니다. 쿠키는 SECURE 플래그로 설정해야합니다. 그러나 그 끔찍한 보안 조언을 무시하고 ... 몇 가지 이유로 귀하의 메일 유추는 실제로 정확하지 않습니다. 일반적으로 익스플로잇을 반품 메일에 주입하거나 누군가를 불의로 다른 사람에게 사칭하거나 "세션 만료"메시지를 반송 메일에 삽입하여 Yahoo! 그리고 그들의 은행.
Parthian Shot

무엇보다도 암호 재사용 및 세션 수정은 달팽이 메일에서 문제가되지 않습니다.
Parthian Shot

좋은 지적이지만, 2010 년 토론에 2016 년 분석을 적용하고 있습니다.
David M

12

시스템로드 외에 가장 큰 이유는 이름 기반 가상 호스팅을 중단하기 때문입니다. SSL을 사용하면 하나의 사이트-하나의 IP 주소입니다. 이것은 꽤 비싸고 관리하기가 어렵습니다.


+1 그 구글 앱 엔진은 사용자 정의 도메인에 HTTPS를 지원하지 않는 이유 이유. TLS-SNI가 더 널리 지원되기를 기다리는 중입니다.
Sripathi Krishnan

1
SSL 종료 하드웨어를 사용하여이를 다시 얻을 수 있습니다. 그리고 만약 시스템 부하가 문제라면 (많은 사람들을위한 것입니다!) 하드웨어 SSL은 어쨌든 갈 수 있습니다.
Jason

동일한 인증서에 여러 도메인이있을 수 있다는 점만 다릅니다.
lucascaro

10
전혀 사실이 아닙니다. (더 이상은 아닙니다.)
Parthian Shot

7
게시물의 정보가 더 이상 사용되지 않기 때문에 다운 보팅 SNI는 이제 모든 주요 브라우저에서 지원됩니다.
Martin Törnwall

5

대기 시간이 긴 링크의 경우 초기 TLS 핸드 셰이크는 인증서 체인 (중간 인증서 전송 포함)의 유효성을 검사하고 암호 제품군에 동의하며 세션을 설정하기 위해 추가 왕복이 필요합니다. 세션이 설정되면 후속 요청은 왕복 횟수를 줄이기 위해 세션 캐싱을 사용할 수 있지만이 경우에도 일반 HTTP 연결에 필요한 것보다 더 많은 왕복이 있습니다. 암호화 작업이 무료 왕복 이었음에도 불구하고 특히 사이트가 http 파이프 라이닝을 활용하지 않는 경우 느린 네트워크 링크에서는 눈에 띄지 않을 수 있습니다. 네트워크의 잘 연결된 세그먼트 내의 광대역 사용자에게는 이것이 문제가되지 않습니다. 국제적으로 비즈니스를 수행하는 경우 https가 눈에 띄게 지연 될 수 있습니다.

잠재적으로 훨씬 더 많은 메모리가 필요한 세션 상태의 서버 유지 관리 및 데이터 암호화 작업과 같은 추가 고려 사항이 있습니다. 모든 소규모 사이트는 실제 서버 성능과 오늘날의 하드웨어 비용에 대해 걱정할 필요가 없습니다. 모든 대규모 사이트는 비슷한 기능을 제공하기 위해 CPU / w AES 오프로드 또는 애드온 카드를 쉽게 제공 할 수 있습니다.

시간이 지남에 따라 하드웨어와 네트워크의 기능이 향상됨에 따라 이러한 모든 문제가 점점 더 문제가되지 않고 있습니다. 대부분의 경우 오늘날 나는 실질적인 차이가 의심됩니다.

https 트래픽 (중간 콘텐츠 필터 등)에 대한 관리 제한과 같은 운영상의 고려 사항이있을 수 있으며 일부 회사 또는 정부 규정이있을 수 있습니다. 일부 회사 환경에서는 정보 유출을 방지하기 위해 경계에서 데이터 암호 해독이 필요합니다. https 트랜잭션에서 메시지를 주입 할 수없는 핫스팟 및 유사한 웹 기반 액세스 시스템과의 간섭. 하루가 끝나면 기본적으로 https를 사용하지 않는 이유는 매우 작을 것입니다.


4

https는 일반적인 http보다 리소스가 부족합니다.

서버와 클라이언트 모두에서 더 많은 것을 요구합니다.


3

전체 세션이 암호화되면 프록시 수준 (예 : ISP)에서 이미지 및 js와 같은 정적 리소스에 대해 캐싱을 사용할 수 없습니다.


SSL 종료 프록시를 사용하거나 HTTPS 가능 CDN을 사용하는 경우는 예외입니다.
Parthian Shot

3

어디에서나 HTTPS를 사용해야하지만 다음과 같은 내용이 손실됩니다.

  1. BREACH 및 CRIME 공격으로 인해 SSL을 통한 SSL 압축 또는 SSL을 통한 HTTP 압축을 사용해서는 안됩니다. 응답에 세션 또는 csrf 식별자가 포함 된 경우 압축이 없습니다. 쿠키없는 도메인에 정적 리소스 (이미지, js, css)를 넣고 압축을 사용하여이를 완화 할 수 있습니다. HTML 축소를 사용할 수도 있습니다.

  2. SNI를 사용하지 않는 한 SSL 인증서 1 개, IP 주소 1 개 (일부 Android, 블랙 베리 6 등)는 모든 브라우저에서 작동하지 않습니다.

  3. SSL을 통해 제공되지 않는 외부 콘텐츠를 페이지에 호스팅해서는 안됩니다.

  4. 브라우저가 HTTP 페이지로 이동하면 아웃 바운드 HTTP Referer 헤더를 잃게되는데 이는 문제가 될 수도 있고 아닐 수도 있습니다.


0

명백한 이유는 성능입니다. 모든 데이터는 전송 전에 서버에 의해 암호화 된 다음 수신시 클라이언트에 의해 해독되어야합니다. 민감한 데이터가없는 경우 시간 낭비입니다. 캐시되는 사이트의 양에도 영향을 줄 수 있습니다.

또한 모든 주소 https://가 익숙하지 않고 사용 하는 경우 최종 사용자에게 혼란을 줄 수 http://있습니다. 또한이 답변을 참조하십시오 :

js 파일을 포함 할 때 항상 https를 사용하지 않는 이유는 무엇입니까?


9
왜 사용자를 혼란스럽게할까요? 실제로 얼마나 많은 사람들이 uri 프로토콜을 봅니까?
Malfist

10 년 후 오늘 https가 더 일반적이며 http가 혼동 될 것입니다.
madprops

0

https는 서버가 클라이언트 요청 및 응답을 암호화하고 해독해야합니다. 서버가 많은 클라이언트를 지원하는 경우 성능에 영향을 미칩니다. 그렇기 때문에 대부분의 최신 https 구현은 비밀번호 인증으로 만 제한됩니다. 그러나 컴퓨팅 성능이 향상됨에 따라 모든 Gmail에서 전체 사이트에 SSL을 사용한 후에 변경 될 수 있습니다.


0

WhirlWind의 응답 외에도 SSL 인증서의 비용 및 적용 가능성, 액세스 문제 (클라이언트가 SSL 포트를 통해 통신 할 수없는 경우도 있음) 등을 고려해야합니다.

SSL을 사용한다고해서 보안이 보장되는 것은 아닙니다. 이러한 유형의 보호는 마법의 총알에 의존하기보다는 애플리케이션 아키텍처에 내장되어야합니다.


2
사용자가 이미 사이트의 일부를 보호하고 있기 때문에 인증서 비용은 다소 부담이됩니다.
futureelite7

2
@ futureelite7 좋은 지적이지만, 앞으로이 주제를 연구하고있는 다른 사람들과 관련이있을 것입니다.
3Dave

기능주의는 안보의 적입니다. 내 자신의 물건에있는 대부분의 약점은 나 자신이나 전임자가 제품 계획에 수용 한 잘못 권고 된 기능에 뿌리를두고 있습니다. 보안 취약점으로 인해 기능을 시작한다고해서 처음에는 기능을 거부하는 것보다 더 인기가있는 것은 아닙니다. 인기는 중요하지 않지만 슬프게도 할 수 있습니다. 귀하의 신발에서 보안되지 않은 사용자를 얼마나 많이 처리하고 싶은지 또는 암호화를 사용할 수없는 사용자에게도 응용 프로그램이 적합한 지 여부를 묻습니다 (뱅킹, 정치, 행동).
Jason

0

회사의 한 프로젝트에서 SSL 메시지가 차지하는 대역폭이 일반 메시지보다 훨씬 더 크다는 것을 알게되었습니다. 나는 누군가가 그것이 12 배나 많은 데이터라고 말했다. 나는 이것을 직접 확인하지 않았으며 매우 높게 들리지만 각 페이지에 헤더가 추가되어 있고 대부분의 페이지에 적은 양의 내용이 있으면 그다지 멀지 않을 수 있습니다.

즉, http와 https 사이를 오가며 번거롭고 어떤 페이지가 나에게 많은 노력을 기울이고 있는지 추적하는 번거 로움이 있습니다. 나는 단지 한 번만 그것들을 혼합 한 사이트를 만들려고 시도했고 우리는 잘못된 프로토콜을 첨부 한 Javascript로 생성 된 팝업 창과 같은 복잡한 것들과 그와 같은 것들에 의해 넘어 졌을 때 계획을 포기하게되었습니다. 우리는 전체 사이트를 https 덜 문제로 만드는 것으로 끝났습니다. 로그인 화면과 지불 화면이 보호되어야하고 간단한 페이지 인 간단한 경우에는 믹스 앤 매치에 큰 도움이되지 않습니다.

나는 클라이언트가 해독 해야하는 부담에 대해 크게 걱정하지 않을 것입니다. 일반적으로 클라이언트는 데이터 처리에 걸리는 시간보다 데이터가 전송 될 때까지 더 많은 시간을 소비합니다. 사용자가 일상적으로 기가비트 / 초 인터넷 연결을 할 때까지 클라이언트 처리 능력은 관련이 없을 것입니다. 서버가 페이지를 암호화하기 위해 필요한 CPU 전원은 다른 문제입니다. 수백 또는 수천 명의 사용자를 유지하지 못하는 문제가있을 수 있습니다.


1
최악의 경우에도 추가 대역폭은 작습니다.
James K. Polk 대통령

0

다른 작은 점 (아마도 누군가가 확인할 수 있음), 사용자가 텍스트 상자와 같은 양식 항목에 데이터를 입력 한 다음 어떤 이유로 인해 페이지를 새로 고치거나 서버가 잠시 동안 중단되면 사용자가 입력 한 데이터가 손실됩니다. HTTPS이지만 HTTP를 사용하여 유지됩니다.

참고 : 이것이 브라우저마다 고유한지 확실하지 않지만 Firefox 브라우저에서 발생합니다.


0

IIS 8.0이 포함 된 Windows Server 2012는 이제 IIS의 여러 SSL 웹 응용 프로그램을 하나의 IP 주소에서 호스팅 할 수있는 서버 이름 표시 인 SNI를 제공합니다.


1
그것은 그 질문과 어떤 관련이 있습니까? 흥미로운 기능이지만 관련성은 보이지 않습니다.
user1618143
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.