2013-07-30 3 views
0

현재 SSL의 PKI 인프라에 대한 Man-in-the-middle 공격을 완화하기 위해 클라이언트 측 (브라우저)에 디지털 포트리스를 구축하는 프로젝트를 진행 중입니다. SSL 연결에 man-in-the-middle 공격을 가할 수있는 가능성은 다양하지만 PKI 인프라 문제에 초점을 맞추고 시스템 성능을 고려해야합니다.SSL MITM 및 Java 애플릿

연구의 조금이라도을 수행 한 후이 내가이 유효 기간을 확인하고 확인하여 인증서의 유효 기간을 확인하는

  1. 을 달성하기 위해 규정 된 것 같아 다음과 같은 작업을하는 경우 인증서의 일련 번호 CRL 목록에 존재 함
  2. MD5를 인증서 검사에 사용하지 않음
  3. 클라이언트 (브라우저)가 연결되는 서버가 실제 서버인지 확인합니다. URL이나 DNS 조회를 통해 간단히 달성 할 수 있습니까? 왜냐하면 URL과 DNS가 어느 정도 보안이 설정되지 않았기 때문입니다. 나는이 웹 서버 핑거 프린팅을 생각하고있다. 그러나 아직 나는 확인할 저장소가 필요하다. 내가 사용할 수있는 다른 것들은 무엇인가?
  4. 인증서 지문입니다. 인증서의 지문을 조회 할 수있는 신뢰할 수있는 인증서 해시 또는 지문 저장소입니까?

다른 사람이 중간자 공격을 막기 위해 확인해야 할 사항이 있습니까?

브라우저에 임베드 된 자바 애플릿을 사용하여이 작업을 처리하려고하므로 웹 사이트의 로그인 페이지없이 웹 서버에 연결할 수 없다는 것을 알고 있습니다. 문제는 애플릿 내포 된 페이지를 사용하여 서버의 인증서를 얻거나 서버가 인증서를 보낸 후에 웹 사이트의 로그인 페이지를 사용하여 연결하고 SSL 핸드 셰이크를 종료하는 것이 가능한지 테스트 연결을 어떻게 만들 수 있습니까? 애플릿은 인증서 저장소를 검색하여 인증서를 검색하고 인증서를 분석하여 Man-in-the-middle 공격으로부터 보호합니다.

나는 자바 애플릿이 자바 스크립트보다 더 빠르기 때문에 널리 사용되기 때문에 솔루션을 빌드하고 싶습니다. 또한 브라우저 확장은 주로 Java 애플릿의 경우가 아닌 플랫폼에 따라 다릅니다. 이것은 성능 척도 일 수 있습니까 ??

답변

-1

유효 기간을 확인하고 인증서의 일련 번호는 CRL 목록

브라우저는 이미 않는에있는 경우 확인하여 인증서의 유효 기간을 확인하는.

이유를 확인하는 인증서 MD5를 비활성화? 인증서에 MD5 해시가 있으면 확인해야합니다. MITM 공격을 완화시키는 방법은 무엇입니까? 이것은 말이되지 않습니다.

클라이언트 (브라우저)가 연결되는 서버가 실제 서버인지 확인하십시오.

브라우저에서 이미 수행합니다. 그것은 HTTPS 프로토콜에 내장되어 있습니다.

URL 또는 DNS 조회를 통해 간단히 달성 할 수 있습니까? 왜냐하면 URL과 DNS가 어느 정도 보안이 유지되지 않기 때문입니다.

아니요, 아니요, 아니요, 아니요.

나는이 웹 서버 핑거 프린팅 문제를 생각하고 있지만 여전히 확인하려면 저장소가 필요합니다. 그 밖의 무엇을 사용할 수 있습니까?

무엇을 묻는 것은 처음에는 의미가 없습니다.

인증서 지문. 인증서의 지문을 조회 할 수있는 신뢰할 수있는 인증서 해시 또는 지문 저장소입니까?

오류가 발생했습니다. 우회하려고하면 바쁘고 디지털 서명이 이미 완료된 경우 MD5 해시가 발생합니다.

브라우저 내부에서 애플릿을 사용하여 브라우저를 보호하기위한 제안은 의미가 없습니다. 나는 당신에게 비 - 문제, 많은 모순, 어떤 경우에는 의미없는 요구 사항, 그리고 그것을 구현하는 방법에 대한 많은 나쁜 충고가 전해졌다 고 생각합니다.

+0

왜? 인증서에 MD5 해시가 있으면 확인해야합니다. MITM 공격을 완화시키는 방법은 무엇입니까? 이것은 말이되지 않습니다. MD5의 Collision Attacks 공격자는 정확히 동일한 해시 값을 생성 할 수 있으며 나중에 해시 값을 다른 도메인 이름의 인증서에 연결할 수 있습니다. 즉, 공격자는 루트 CA를 가장하여 인증서 발급을 시작할 수 있습니다. 인증서 검사를 위해 SHA2 만 활성화하면됩니다. – ola

+0

브라우저가 이미이를 수행합니다. 그것은 HTTPS 프로토콜에 내장되어 있습니다. 이것이 올바른 경우 SSL 피싱 공격이 가능한 이유는 무엇입니까? 사용자가 "barclay.co.uk"대신 "barclay.co.uk"와 같은 URL을 클릭하는 것을 속일 수 있다면 사용자가 실제로 서버에 연결되어 있다고 생각할 것이므로 시스템을 위반 한 것입니다. 중요한 서버에 연결할 필요가 있습니다. DNS와 URL이 서버의 신원을 확인하기 위해 신뢰할 수 없다는 사실은 알려진 사실입니다. 이유는 내가 웹 서버에 지문을 남겨서 고유 한 ID를 생성하려고하는 이유입니다. – ola

+0

브라우저 내부에서 애플릿을 사용하여 브라우저를 보호하려는 제안은 의미가 없습니다. 나는 당신에게 비 - 문제, 많은 모순, 어떤 경우에는 의미없는 요구 사항, 그리고 그것을 구현하는 방법에 대한 많은 나쁜 충고가 전해졌다 고 생각합니다. 애플릿이 브라우저를 보호하지 않을 것이므로 인증서를받을 때 나열된 모든 작업을 확인합니다. 성능 때문에 Apllet을 사용하려고합니다. 그래서 애플릿을 사용하는 것이 좋은 해결책인지 그리고 확장 기능을 사용하는 것보다 빠르냐고 묻고 있습니다. – ola