2013-08-25 2 views
2

각 Asp.net MVC 응용 프로그램에 대해 정적 또는 동적 키를 사용하여 web.config 파일에서 사용자 요청/응답의 유효성을 검사합니다. 정적 유효성 검사 :Asp.net MVC 응용 프로그램에서 유효성 검사 키 대신 SSL을 사용하는 차이점

<machineKey validationKey="AC7308C5274D969E665AC7BED7A863582B571D97D9ED03B314952BD3DD159CDFC164E2341D44BDE8F0284FA924052817B3D7429433AABC3F53A118BB7B3F9ABB" decryptionKey="1EDB4490EC0074F7FF3099D450D5E92F1D39F577F9799D14033D1B27DB0F7A93B" validation="SHA1" decryption="AES" /> 

반면에 웹 앱 보안을 업그레이드하는 데 SSL (Secure Socket Layer)이라는 도구가 있습니다. SSL에도 부인 방지 메커니즘이 있습니다. 염두에두고

는, 내 질문은 : 그들 사이

존재하는 어떤 차이? 그리고 어떤 유형의 일자리가 그들과 관련이 있습니까? 각 하나는 앱의 어느 부분을 보호 할 것인가? 즉, SSL을 사용하는 대신 MVC ValidationKey를 사용하여 앱에서 확신 할 수 있습니까?

날이다 배플 개념 : 그들은 모두 암호화/암호 해독 있습니다.

답변

4

매우 높은 수준의 대답은 다른 것들을 보호한다는 것입니다. 그들은 상호 보완 적입니다. 보안 ASP.NET 응용 프로그램은 동시에 두 가지를 모두 사용합니다.

SSL은 클라이언트와 서버를 신뢰할 수없는 제 3 자로부터 보호하는 데 사용됩니다. 그것은 인증을 제공합니다. 클라이언트는 그가 말하는 서버의 신원을 압니다. 또한 무결성 보호 기능을 제공합니다. 클라이언트는 실제로 공격자가 아닌 서버에서 가져온 페이지를 알고 있습니다. 그리고 기밀성을 제공합니다. 아무도 체크 아웃 중에 클라이언트가 서버에 보내는 신용 카드 번호를 읽을 수 없습니다.

> 요소는 다른 한편으로는 악의적 인 클라이언트로부터 서버를 보호합니다. 서버가 "levi"라는 로그인 쿠키를 보냈다고 생각하십시오. 쿠키 내용을 "amir"대신 읽도록 변경하면 어떻게됩니까? <machineKey> 암호화 서비스를 사용하면 서버에서 쿠키 및 양식 필드 (예 : __VIEWSTATE)와 같은 정보가 서버 - > 클라이언트 - > 서버에서 라운드 트립 된 경우 클라이언트가 악의적 인 서버에서 페이로드를 변조하지 않았 음을 서버가 확인할 수 있습니다 유행.