엄밀히 말하면 "중간에 사람"공격이 여전히 실행될 수 있습니다. 가장 큰 문제는 그것이 최종 사용자에게 투명 할 것인지 아닌지 여부입니다.
중간에있는 사람이 여전히 초기 SSL 핸드 셰이크를 가로 채고 자체 SSL 인증서를 반환 할 수 있습니다. 인증서는 올바른 도메인 이름 등일 수 있지만 식별 기능은 신뢰할 수있는 출처, 즉 CA (Certificate Authority)에서 서명하지 않는 것이 좋습니다. 애플리케이션이이를 인식하고 통신을 중지하면 문제가되지 않습니다. 반면에 응용 프로그램이 신뢰할 수있는 CA의 진위 여부를 확인하지 않으면 해커와 세션을 협상하여 트래픽을 확인하고 검사 한 다음 실제 서버로 보내 처리 할 수 있습니다. 실제 서버의 모든 응답은 해커에게도 표시됩니다.
해커가 신뢰할 수있는 CA의 키로 사기성 인증서에 서명 할 수있는 경우 해커가 멈추지 않습니다. 드문 경우이지만 CA가 손상 될 수 있습니다.
웹 브라우저의 경우 이러한 공격은 사용자에게 "멈추다, 뭔가 생기다"라는 메시지를 표시합니다.이 메시지는 이후 버전의 브라우저에서 훨씬 더 명확하게 나타납니다. 그래도 최종 사용자는 신뢰할 수없는 인증서를 받아 들여 사실상 해커의 도청을 허용 할 수 있습니다. 애플리케이션 (또는 iOS 자체)에서 허용하는 경우 사용자를 가능한 많이 교육하는 것 외에도 할 수있는 일은 거의 없습니다.
요약하면 응용 프로그램이 대상 서버와 SSL 채널을 협상하고 반환 된 인증서가 신뢰할 수있는 기관 (사용자에게 묻지 않음)에 의해 서명되었는지 확인하는 경우 확인해야합니다. GET/POST 동사와 그 이후의 헤더를 포함한 모든 HTTP 트래픽은 암호화됩니다. 경고의 단어가 두 가지 더 있습니다.
- 장치 (이 경우 아이폰 OS)의 신뢰 당국 당신은 기본 통신을위한 보안 암호를 사용합니다 ("루트 CA의")
- 파일 보호하기 위해 매우 조심해야하는 이유입니다. 중요하지 않은 데이터 (개인 정보가 아님)의 경우 RC4가 좋고 빠를 가능성이 큽니다. 개인용 (예 : 은행)의 경우 최대한 강력하게 수행하십시오. 내가 기본값이 아니라면 AES-256을 권하고 싶습니다.
흥미로운 대답이지만 2014 년 11 월로 RC4를 더 이상 사용하지 않아야합니다. – Corni