.NET Framework가 SHA1 또는 다른 알고리즘을 사용하여 ViewState를 암호화한다고 들었습니다. 그래서 내가 SHA1 암호화 및 해독 알고리즘을 내가 ViewState를 무단으로 변경할 수 있다는 것을 알고 있다면 그 알고리즘을 이해하고 해독 알고리즘을 개발하면 악의적 인 사용자가 SHA1 암호화 알고리즘을 연구하여 의미있는 viewstate를 열 것입니까? 또는 SHA1 또는 다른 알고리즘은 암호화 및 암호 해독에 임의의 트릭을 사용합니까?ASP.net ViewState 암호화 및 해독
답변
암호화는 키를 의미합니다. 이 키는 서버에 보관되며 클라이언트가 볼 수없는 다른 보안 문제는 없습니다. 그 열쇠를 알지 못하면 암호화 된 viewstate를 볼 수 없으며 훨씬 적은 변경도 가능합니다.
암호화가 없어도 서버는 viewstate의 해시와 서버 만 알고있는 키를 생성하도록 지시 할 수 있습니다. 이 키를 알지 못하면 여전히 viewstate를 읽을 수는 있지만 많은 노력을 기울이지 않고도 편집 할 수는 없습니다.
이제 프레임 워크가 사용하는 암호화 또는 해시 알고리즘이 무엇이든 손쉽게 변조 할 수있는 가능성이 있습니다. 하지만 그랬다면 똑같은 알고리즘이 수십 곳의 다른 장소에서 사용될 것이기 때문에 꽤 빨리 들어봤을 것입니다. (모든 사람들이 사용하는 유명한 잘 알려진 알고리즘이 있습니다.)
짧은 버전 : 만약 당신이 변조를 막으려한다면, ASP.net에 내장 된 것들은 적절하게 구성되면 꽤 잘 작동 할 것입니다.
인코딩과 암호화의 차이점은 무엇입니까? – ishagoel
@ishagoel : 인코딩에는 키가 포함되지 않고 쉽게 되돌릴 수 있도록 설계되었습니다 (Base64는 인코딩의 예이며 모든 사용자가 디코딩하여 볼 수 있습니다). 암호화가 아니라 그렇게 많이 사용하십시오. 올바른 키를 가지고 있다면 되돌릴 수 있습니다. 암호화 해싱은 완전히 다른 것입니다. 뒤집을 수 없도록 설계되었습니다 *. 해시로 할 수있는 대부분의 작업은 만든 데이터를 가져 와서 원래 사용했던 것과 동일한 소금을 사용하여 다시 해시 한 다음 이미 가지고있는 해시와 비교합니다. 소금을 사용하면 조작을 막기 위해 잘 작동합니다. – cHao
@well 설명! 고마워. 네 대답을 받아 들였어. 좋은 하루 보내라. – ishagoel
- 1. asp.net viewstate 암호화 문제
- 2. 암호화 및 암호 해독
- 3. 안드로이드 - 암호화 및 해독
- 4. 암호화 및 암호 해독
- 5. PHP 암호화 및 VB.net 해독
- 6. ASP에서 AES256 암호화 및 해독
- 7. 표준 암호화 해독
- 8. ViewState ASP.Net의 암호화
- 9. ASP.net Viewstate 및 포트
- 10. 모바일 및 .net webservices에서 암호화 및 해독
- 11. iPhone에서 암호화 ASP.NET APP에서 암호 해독
- 12. X509Certificate 암호화/해독
- 13. "classic"ASP 및 ASP.NET 2.0의 데이터 암호화/해독
- 14. RSA 암호화 - 암호 해독
- 15. Web.config 암호화/암호 해독
- 16. 암호화/암호 해독 시도
- 17. AES로 암호화/해독
- 18. 레일에서의 암호화/암호 해독
- 19. Sqlite 파일 암호화 및 암호 해독
- 20. iOS의 쿠키 암호화 및 암호 해독
- 21. J2ME에서 파일 암호화 및 암호 해독
- 22. ActionScript3 및 Java 암호화/암호 해독
- 23. J2ME - mp3 파일의 암호화 및 암호 해독
- 24. RSA 암호화 및 긴 메시지의 암호 해독
- 25. 이진 파일의 암호화 및 암호 해독 문제
- 26. 자바 스크립트 및 PHP 암호화/암호 해독
- 27. DataTable 개체의 암호화 및 암호 해독
- 28. ActionScript3에서 암호화 및 asp.net에서 해독 C#
- 29. C# 파일 암호화 및 암호 해독 문제
- 30. 아이폰에서 암호화 및 PHP에서 암호 해독
SHA1은 해시 알고리즘입니다. 대부분의 경우, viewstate가 변경되지 않았는지 확인하는 데 사용될 수 있습니다 (심지어 해시에 일부 서버 측 문자열이 해시에 포함 된 경우에만). – cHao