의보기에서 누군가가 제공하는 웹 응용 프로그램을 때 누군가를 연결하 TLS(https)우리의 서비스를 제출한 올바른 인증 데이터를 안전하게 전송할 모든 민감한 데이터를 통해 이선 또는 그것을 할 수 있는 여전히 도청?
이 질문그것은 보안 문제의 주.
읽 Jul29,2011블로그 entry더 자세한 사항이나신의질문입니다.
It's 무엇인지 이해하는 것이 매우 중요 SSL 을 수행하지 않는 않으며,특히 때문에 이것은 매우 일반적인 오해 소스.
-암호화 채널 -적용 무결성 검사 -It 인증을 제공합
그래서,빠른 응답해야 합:"yes,그것은 충분히 안전하게 전송하는 중요한 데이터". 그러나,일이 그렇게 간단하지 않습니다.
-의 최신 버전 SSL 버전 3 거나,더 나은 아직:TLS 도 TLS1.2,은보다 확실히 더 나은 이전 버전입니다. E.g. SSL2 상대적으로 쉽게 결코 더 쉬웠(Man in the middle). 그래서 첫 번째에 의존한 프로토콜 버전입니다. 모두-채널 암호화 및 무결성 확인을 구성할 수 있는 프로토콜,즉,당신이 선택할 수 있는 알고리즘을 사용하여(cipher suite). 분명히 당신이'다시 사용하여 RSA1024/SHA512 당신이'다시는 훨씬 더 좋다...그러나,SSL 을 지원하는 모드 NULL 암호가 암호화에서,단지 포장을 요청하 터널을 통해 SSL 프로토콜입니다. I.e., 보호하지 않습니다. (이것은 구성에서 모두 클라이언트 및 서버 선택한 암호가 일치하는 첫 번째 설정에 따라 구성되기 위해). -인증 SSL 은 두 가지 모드가 있는 서버 인증서만,그리고 상호 인증(클라이언트 인증서). 두 경우 모두에서,보안은 보장에 의해 암호화는 인증서가 확실히 충분히 강하다,그러나 유효성에의 실제적인 인증을만큼 좋은 당신의 유효성 검사:당신은 심지어 귀찮게 확인하는 인증서입니까? 당신은 위의의 유효기간과 같습니다. 신뢰 chain? 누가 그것을 발급? Etc. -이 마지막 포인트 다시 인증에 많은 쉽 웹사응용 프로그램에 있어서,상기 클라이언트에 쉽게 볼 수 있는 서버 인증서,자물쇠 아이콘을 쉽게 볼거리,등등. 웹사서비스,당신은 일반적으로 필요가 있는 명시적 검사에서는 그 유효성(의 선택에 따라 플랫폼). 이 같은 지점이 걸려 그렇게 많은 모바일 애플 리케이션-는 경우에도 응용 프로그램 개발 기억만 사용하 TLS 사이 휴대 전화와 서버는 경우에는't 명시적으로 확인합 인증서는 다음 TLS 가 깨진 것입니다. -하는 동안 몇 가지 주의 이론적 공격에 SSL 암호화,내 셀카의 많음이 여전히 강한 충분한 거의 모든 목적상,그리고 것입니다. -무엇이 실제로 수행과 데이터를 다른 쪽 끝에서? E.g. 는 경우에 그것의 최고 민감한,또는 신용 카드 데이터,당신은 원하지 않는 브라우저에서 캐시거나,역사,etc. -쿠키(그리고 따라서 인증)사이에서 공유할 수 있는 안전한 SSL 채널,그리고 안전하지 않 HTTP 채널면용하여 명시적으로 표시해서는 안 됩"secure"특성이 있습니다.
그래서,짧은 대답은? Yes,SSL수 있안전에 충분하지만,(대부분의 것들과 마찬가지로)에 따라 어떻게 당신이 그것을 사용합니다. :)
거기에 몇 가지 문제점,여기에 중요한 하나되는 인증이 있습니다. 모두 끝나지 확인해야 그들은 바로 사람이나 기관을 방해하 man-in-the-middle attacks. 귀하의 끝에는 것이 중요 당신은 사용하여 SSL 인증서를 신뢰하는 사용자는's 브라우저입니다. 이렇게 함으로써 사용자는's 브라우저는지 확인하실 수 있습 그것은 정말 말하는 올바른 사이트입니다. 연결이 설정되면 확신할 수 있습을 이야기하는 사용자에게 모든 시간이고 연결이 암호화,즉,보안에 대한 도청입니다.
인증에서 다른 방향으로(즉,당신은 이야기는 진짜 사용자)는 일반적으로 처리되는 외부 SSL 프로토콜의 애플리케이션 레벨에서으로,예를 들어,사용자명/암호,openID 거나 일부 다른 형태의 자격 증명입니다.
마지막으로 언급되어야하는 동안 SSL 연결 핸드셰이크는 클라이언트와 서버에 동의Cipher suite하고 클라이언트를 유지"null 암호화"즉,암호화하지 않는 모든 데이터의. 하는 경우 서버에 동의하는 옵션을 연결을 SSL 을 사용하지만,데이터는 암호화 되지 않습니다. 이 문제는 이후 실제 서버의 구현은 일반적으로 제공하지 않습 null 암호화 중 선택할 수 있습니다.
하는 것 외에도 열렬한 나열,SSL 보안 DNS 인프라 지시하는 서버,그리고 어떤 기업 프록시에 통신 경로입니다.
DNS 인프라가 해킹(캐시 중독 등)다음의 공격자 대상 사용자를 많은 공격입니다.
또한 클라이언트가 소프트웨어를 통해 다음과 같Fiddler,또는 회사는 프록시는 소프트웨어할 수 있습 easvdrop 에 SSL 대화입니다.
이것을 완화하기 위해,보면"발행사"SSL 인증서입니다. 면 SSL 연결은 프록시를 통해 다음을 발행인이 되는 프록시합니다. 당신이'다시 가을 통해 직접 연결,당신이 볼 관련된 공개적으로 신뢰할 수 있는 캘리포니아입니다.
[더 많은 정보]
기업 HTTPS 프록시가 뭔가를 관리하는 사이의 연결 웹 브라우저와 프록시(그 IP 주소에서 나타나는 웹서버 로그가). 이 경우 웹 콘텐츠(HTTPS 암호도)해독,그리고 나중에 다시 암호화에는 회사는 프록시 서버에 제공하.
사람에 따라 관리하는 프록시,그리고 어떻게 그것이 로그를 사용이 허용될 수 있습이나 나쁜 일에서 당신의 관점입니다.
는 방법에 대한 자세한 정보는 SSL 차단이 완료되면,이것을 볼link:
면 SSL 프록시 차단 SSL 연결,그것은 선물을 에뮬레이션 서버 인증서를 클라이언트 브라우저입니다. 클라이언트 브라우저 보안 팝업을 최종 사용자 사용 기 때문에 브라우저를 신뢰하지 않는 발행사에 의해 사용되 ProxySG. 이 pop-up 발생하지 않는 경우 발행사 인증서를 사용하여 SSL 프록시 수입으로 신뢰할 수 있는 루트에서 클라이언트 브라우저's 인증서 저장소에 저장됩니다.
The ProxySG 모든 구성 인증서를 사용할 수 있 다운로드 을 통해 관리 콘솔을 포함합니다. 수 묻는 최종 사용자는 다운로드 발행사 인증서는 인터넷을 통해 탐색기 또는 파이어폭스 설치를 신뢰할 수 있는 캘리포니아에서 자신의 브라우저의 선택입니다. 이 을 제거 인증서 팝업에 대한 에뮬레이션 인증서...
일부 회사의 주위에 얻을 인증서 팝업 위에서 언급한 문제를 배포하여 루트 인증서(의 Proxy)서 워크스테이션을 통해 GPO. 지만 이에만 영향을 미치 소프트웨어를 사용하는 Microsoft 인증서 저장소에 저장됩니다. 와 같은 소프트웨어 파이어 폭스 및 Chrome 업데이트해야 합니다.
SSL 에 의존한 인증 기관(CA),기본적으로 어떠한 조직이 될 수 있는 캘리포니아,man-in-the-middle attacks 가 캘리포니아 아직 서명 인증서는 항상 가능하다. 하는 동안 그래서 SSL 은 여전히 거대한 향상되지 않는 암호화에서 모두,그것의 보안 과대평가로 인해 부서진 CA 시스템입니다. 에서는와 관련하여,자체 서명된 인증서는 것만큼 안전는 모든 캘리포니아 서명 인증서,아직 브라우저 마크 그로 의심스러운입니다.
여전히 사람의 가능성-중간자 공격하는 귀하의 경우에는 것에 연결할 때 사용자를 세 번째 파티를 주장하는 사이트 및 다음을 전달하는 요청을 합니다. 물론 사용자가 통지해야의 부족을 SSL 연결 또는 잘못된 인증서 그러나 대부분의 사용자하지 않은 이 켜지고 속으로 자물쇠 favicon.
이것이't 문제가 SSL,그 자체가 알고 있어야 합니다. 라고 가정할 수 있습지할 수 있게 도청에 SSL 연결에 사 귀하의 사이트의 소스 연결이 있습니다. 할 수 있't,그러나,해야 하는 소스의 연결이 정말 사용자.
때문에 SSL 을 지하실은 전송할 데이터가 없음 도청(부터 인증서를 신뢰할 수 있는).
광 문제가 있는 곳에(그리고 얼마나 많)SSL 을 사용하고 있는 당신의 웹 애플리케이션:말하는,예를 들어,당신은 필요 SSL 연결만을 인증하기 위해 사용자가(자'em 보내 그들은 암호화 사용자/통과 쌍 서버)면,다음 다시 보내는 쿠키는 당신이 알고 있어야될 수 있다는 것이 쉽게 가로(같은 경우 사용자가에서 보호되지 않는 무선 연결).
최근 개선하기 드라마에 대한 모든이다.
SSL 을 수행하는 두 가지 기본적인 작업을 인증과 암호화 합니다.
인증에 의해 수행되는 인증 기관(CAs). 브라우저와 함께 목록 SSL 인증서에 대한 서명을 위해 키 CAs. CAs 서명 인증서를 설명하는 공공의 열쇠는 entity. 는 경우,예를 들어,내가 소유 Google.com 에,나는'd 는 것을 증명하는 확인하고,그들은 서명 인증서 일정 기간 동안의 시간입니다. 문제르기까지 함께 캘리포니아 서명 인증서 그들은 안't 등록하십시오. 이 경우 발생할 수 있습니다 누군가가 척의 또 다른 도메인을 획득하는 와일드카드 인증서는 너무 광범위 또는 그냥 평범XKCDs캘리포니아로 뭔가가 발행하는 사악(정가). 우리는'봤어의 인스턴스는 위의 모든 일이지만,그것은 아주 드뭅니다.
는 경우에 대해 인증서트가 제대로 체결하고 가짜 인증에서 신뢰 체인 존재할 때,다음 사이트에 연결 할 수 있습니다(토론에 대한 목적으로)자부하는 인증서 일치합니다. 일반적인 상황에서는 연결이 암호화되어 있습니다. 을 방지하는 사람에게서 읽은 데이터입니다.
SSL 인증서는 매우 복잡,그리고 번호 공격의 존재에 대해 SSL 을 구현입니다. SSL 효과적으로 수행 할 수 있습니에서 저를 방지하고 당신의 트래픽에서 스타벅스 지역을 확인하면 이메일에 GMail. 무엇을 할 수 있't 지 못하게 사용하여 결코 더 쉬웠는 공격 릴레이 내가 모든 것을 당신 SSL 없이고 클라이언트 아'치의 설치를 귀찮게 하는 사실에 대해지기 시작했는 암호화된 세션이 있습니다.
No. 트래픽 분석할 수 있는 여전히 말할 사람이 많습니다.
트래픽 분석은 프로세스의 차단과를 검사하시기 위해서는 추론에서 정보를 본다. 그것도 수행할 수 있다면 메시지는 암호화 및 복호화될 수 없습니다. 일반적으로,큰 수의 메시지는 관찰,또는 차단하고 저장고,더 많은에서 유추할 수 있습니다.
TLS 은 일반적으로 배포되는 비밀을 유지하는 공격해야에 도달하지 않은 높은 수준의 신뢰의 내용에 대한 통신입니다.
정,
공격자는 아마 말할 수 있을 때 깨어 있을 때 잠든 관계없이 프로토콜,그리고 할 수 있는 말이 더 많이의 특성에 따라 프로토콜 당신이'다시 사용합니다.
하는 경우 프로토콜은 매우 간단하다:
는 도청할 수 있는't 데이터를 해독을 결정할 수 있는 단순한의 존재를 원하는 메시지를 화재에 핵무기,하지만 어쩌면에 있지 않습니다.
하는 경우 프로토콜은 더 복잡:
공격할 수 없을 말할 사람은 읽기["전쟁과 평화"vs"아틀라스는 어깨를 으쓱"](http://en.wikipedia.org/wiki/List_of_longest_novels 다)하지만 구별할 수 있는 기반으로 순수한 메시지 크기에,그들은 독서 하나의 전 대 Kafka's55 페이지 소"변성".
SSL 일반적으로 증가를 제공하여 보안:
기본적으로 있는 그냥 두 가지 유형의 SSL 인증서,서버 인증서(항상 관여하는)클라이언트 인증서(선택사항).
이것은 단지 스케치,그리고 많은 ifs,and 고 꾸. 에서 가장 일반적인 시나리오를 기반으로 브라우저 SSL,계획 수 있습 깨진에서 많은 경우 파괴하지 않는 암호화 또는 프로토콜,그러나 단순히 사용자에 의존하는지 잘못된 것은(예를 무시하라고 연결하는 든). 피싱 공격에도 작동 전송하여 사용자가 가짜 SSL 보호되는 사이트,제과 유사한 실제 중 하나 모든 면에서 하지만 URL.
는 SSL 및 사 TLS 은 여전히 매우 유용한 그들은 적어도록 보안 통신,이기는 하지만 지역에 고장이 없습니다.
그것은 안전에 대한 사용자,또는 당신을 위해 안전한가? 가정 man-in-the-middle 공격합니다. 공격자를 관리하는 사용자를 캡처하는's 트래픽,척 당신은 이용자에게 있으며,척 사용자니다. 는 종류의 공격은 일반적으로 하기 때문에 실패 인증서는 사용자에게 옳지 않은 일이기 때문입니다. 예를 들어,침입자에게 사용자가 자체 서명된 인증서 당신의 웹 사이트입니다. 그러나,경우에는 사용자 행위의 바보는,그들이 받아들이는 자체 서명된 인증서입니다. 그래서 지금 공격자를 읽고 수정할 수 있는 모든 트래픽 사용자와 당신과 내가 알기로는 방법은 없을 위해 당신을 감지 이다.
그렇다면 스누핑 및 수정 트래픽을 아파 사용자는's 이 정말 자신들의 잘못하고 자신의 문제입니다. 할 수 있't 완전히 예방하기 때문에 어쨌든는 결코 더 쉬웠을 절단 할 수 있습을 완벽하게 이야기하는 사용자 척할 수 있다는 것이다. 하지만 경우 스누핑 및 수정 트래픽의 상처 당신,당신은 믿지 않는 사용자에게 될 어리석으나,더 나은 사용자를 인증뿐만 아니라(사용자가 인증서가 필요 및 확인할 수 있는 방법으로는 결코 더 쉬웠 수 있't 짜).
짧은 대답은 없다. 더 이상 대답:의 컬렉션에 대한 답변 위의 플러스: 면 우리는 해결합 인증서 man-in-the-middle,즉,전통적인 SSL connectyion somone listning 교통 수 있는 여전히 해독하는 경우 나중에 그들은 그들을 얻은 서버의 비밀을 키(의 생각 NSA 및 국가 안보 문자). 할 수 있는 새로운 옵션이 있습니다 TLS 프로토콜을 사용하 Diffie-Helman 프로토콜을 확신하는 링크를 유지합니다. 다음 사진을 볼 때 나는 액세스 gmail.com Chrome 을 사용.
보 텍스트 RC4_128 와 SHA1 에 대한 메시지 인증 ECDHE_ECDSA. 이것을 읽습니다:
다시 말해,누군가가있는 경우 개인의 키 SSL 서버,메시지가 암호화되었으로 임시 키는 것은 메모리에서 삭제 한 후 곧 사용. 행운 NSA!
@블라디미르는 것은 바로 그 http://en.wikipedia.org/wiki/Forward_secrecy 은 바람직하지만,는 잘못입니다. 서버선택이 ciphersuite 에서 중제공브라우저에 의해. "암호화 RC4_128 와 SHA1 에 대한 메시지 인증"를 사용 하지 않 RC4 128 비트의 암호화 및 HMAC-SHA-1 무결성을 확인합니다. (Ciphersuite 이름에는 SSL/TLS 최근까지 말 SHA 하지만 그들은 의미 SHA-1 고 실제로 HMAC-SHA-1.) "ECDHE_ECDSA 로 키 교환 메커니즘이"는 적용되지 않습하는 개인 메시지,그것은 부분(가장)의 악수를 발생하는 일단의 시작 부분에서 세션:ECDHE 사용하는 타원 곡선의 변 Diffie-Hellman 임시 모드로(플러스 일부 추가적인 단계는지 여기에 중요)을 만들기 세션*사용자를 사용한 암호화 및 HMAC 및 ECDHE 키 교환(만)서명에 의해 타원 곡선의 변형 디지털 서명 알고리즘이 있습니다. (지 않을 수 있는 암호화 아무것도와 직접 DH 또는 ECDH,그들은 단지 키 또는 다른 비밀을 계약입니다.)
지 않은 경우에 SSL 을 사용하여 모든 통신을 가로챌 수 있습니다 쉽게 일의 중요 그렇게 시 패킷 스니퍼(즉,Wireshark). SSL 을 방지하는 모든 패킷 암호화 방법이 없습니다 그래서 무엇을 보내고 있다. 기본적으로 이것은 보호를 위해 사용하는 암호 및 개인에서 콘텐츠를 차단하기. 당신은 분명히 원하지 않는 다른 사람을 읽는 귀하의 개인 이메일을,오른쪽? 으로 Google 검색에서,그들은 단순히 그것을 숨기는 무슨 사람들은 묻습니다. 이 때문에 일부 국가는 너무에 대한 호기심습니다.
는 방법 SSL 보안 증가? 하지 않습니다. 무엇을 조합의 암호화(SSL 키)및 PKI(Public Key Infrastructure)-주로 인증서입니다. 확인,질문에는 방법이었다. 한쪽에서 그것을 보호하는 통신 채널은(보상),에 다른 손으로 그것은 당신 이야기를 합법적인 사업을 인증하는 서버입니다. 그래서 채널은 안전하고 신뢰할 수 있습니다.
꽤 많은 SSL 인증서,거기에 꽤 몇 가지PKI 서비스. 기본적으로 다른 서비스에 필요한 다른 형식의 SSL 인증서입니다. 그래서 거기에 대한 인증서의 코드 서명,e-메일 암호화하고 서명,사람에 대한 즉,서버 인증니다.
을 때 누군가를 연결하는 SSL (https)우리의 서비스를 제출합니다 올바른 인증 데이터 안전하게 전송할 모든 중요한 데이터 이상 줄일 수 있는 은 여전히 도청?
약한 이슬 거의 확실하지 않 SSL 그러나 사용자,일반적으로 속을 연결하는 가짜 중간 사이트 중 하나,웹을 통해 스푸핑/하이퍼링크 스푸핑,나에 의해 제공되는 잘못된 인증 기 브라우 경고 절차를 연결.
그러나 시스템을 설명하는 것이 가장 좋은 방법이 어쨌든있's 다지 많지 않죠 당신은 할 수있는(옆에서 사용자 교육을 SSL 경고 심각할 수 있는 경우).
난 여기 사람들이 이해하지 못하는 질문:
이 있는 경우 안전하지 않은 라인,당신은 성공적인 SSH/SSL 연결을 통해,이 라인 그는 지금 하는 경우 안전하다고 가정하는 라인이"secure"와는 암호화되지 않은 데이터 전달할 수 있습와 함께 암호화된 연결을(예를 들어,일반 시력,안에 있지 않는 암호화된 SSL/SSH Connection).
내가 말할 것입니다. 이 경우에 있는 수동적인 도청이 단순히 무시하는 암호화된 데이터는 저장되는 데이터.
하지만 당신은 확신할 수 없는 활성 도청(결코 더 쉬웠),할 수 있음을 의미하는 안전한 설정이 인증되지 않은 SSL/SSH Connection 와 동일한 근원/목적지로 인증된 라인입니다. 이 제공하는 없는 선택적인 도청하는 결코 더 쉬웠는 특정 커넥터지만,그러나,도청을 알 수 없는 경우가 연결을 인증하는지,그래서 그는 알 수 없다는 연결하는 결코 더 쉬웠을 회피하는 탐지가 있습니다. 이 MITMer 것이라면 그는 결코 더 쉬웠,결코 더 쉬웠 모든 연결을 희망하는 사람들을 클릭해 모든 인증을 대화 상자에 대한 간단합니다.
따라서:연결할 경우 인증을 SSL 서비스에서는 말할 수 있습 123.123.123.123 을 24.24.24.24,할 수도 있습니다 안전하게 연결하는 SSH 클라이언트에서 123.123.123.123 을 24.24.24.24 없이 상호 인증 SSH 지문 제공하는 신뢰할 수 있는 모든 것을 뒤로하고 다른 쪽's NAT 라우터 또는 방화벽입니다.
하지만 경우에도 그게 안전하는 일반적으로 의미있는 작은 위험이 도청이 단순히 임의의 결코 더 쉬웠 연결과 희망이 검출되지 않는,그래서 이미 있기 때문에 인증된 연결 목표 IP,왜 사용하지 않는 인증된 연결을 상호 확인 SSH 지문? 간단한 게시함으로써 올바른 SSH 문에 SSL 보안 웹사이트!
HTTPS TLS/SSL 심지어 최신할 수 있게 도청해 Juniper 장치 설정으로는 결코 더 쉬웠. It's 안전하지 않습니다.