2014-02-25 2 views
0

SSL에 대해 거의 알지 못하므로 HTTPS로 마이그레이션하기 전에 몇 가지 질문이 있습니다.HTTP에서 HTTPS로 이동할 때 고려해야 할 사항

그래서 많은 독서를하고 있었고 지금은 공공 및 개인 키 교환을 이해하고 있습니다. 클라이언트와 서버는 비대칭 키를 교환하므로 대칭 키를 가질 수 있습니다. 사용자가 자신의 사용자 이름과 암호를 제공하고 자격 증명을 확인하다

  1. 일단 내가 세션에서 해당 사용자를 저장합니다 : 여기

    몇 가지 질문입니다. Context.Session["user"]. 이후의 모든 페이지에서이 페이지를 렌더링하기 위해 Context.Session["user"]이 null이 아닌지 확인합니다. 이게 안전할까요?

  2. 클라이언트는 웹 브라우저뿐만 아니라 콘솔 응용 프로그램도 아닙니다. 요청을 할 때마다 콘솔 애플리케이션이 키를 교환하지 못하게하려면 어떻게해야합니까? https를 통해 일부 페이지에 액세스하지 못하도록하고 http를 통해 액세스 할 수 없게하는 방법이 있습니까?

  3. 저는 키 교환을 기다려야하는 모든 요청에 ​​대해 세션을 유지해야합니다. 사용자가 세션 대신 데이터베이스에 로그인하면 저장하는 것이 좋지 않습니까?

답변

1

올바른 방법으로 microsoft asp.net을 사용하면 SSL은 매우 투명합니다. 또한 SSL에 자체 서명 된 인증서를 사용하지 마십시오. 좋은 생각이 아닙니다. 또한 일부 WCF 서비스는 SSL 사용을 위해 재구성해야합니다.

  1. 대신 쿠키의 세션에서 사용자 정보를 저장하는 가장 좋은 생각이 아니다. 그러나 그것은 어떤 방식 으로든 잘 작동합니다. 그것은 SSL에서도 올바르게 작동합니다.

  2. 콘솔 응용 프로그램을 기반으로합니다. 루트 (또는 서버) 인증서가 신뢰할 수있는 루트 목록에 있고 콘솔 응용 프로그램이 .NET으로 작성되고 WebRequest 또는 WCF를 사용하는 경우 아무런 문제가 없습니다. 또한 ServicePointManager.ServerCertificateValidationCallback = delegate {return true;로 모든 인증서를 수락 할 수 있습니다. }; 그러나 응용 프로그램에서 소켓 또는 이와 유사한 것을 사용하는 경우에는 문제가 발생할 수 있습니다.

  3. 키 교환의 매우 빠르고 투명한 프로세스입니다. 여분에 대해 걱정하지 마십시오.

어쨌든 당신은 어떤 다른 장소에서만 및 HTTPS에 대한 신뢰 지역의 HTTP에 액세스 할 수 있도록 IIS 및 응용 프로그램을 구성 할 수 있습니다.

1

부분 답 :

  1. 예. 마스터 페이지를 사용할 경우 마스터 페이지에서 확인을 수행하여 확인을 잊지 않도록 할 수 있습니다.

  2. SecuritySwitch을 사용하여 특정 페이지의 http와 https 사이를 쉽게 전환 할 수 있습니다. 지금까지 내 테스트에서 완벽하게 작동했습니다.

관련 문제