FormsAuthentication 쿠키를 해독하고 싶지만 다른 컴퓨터 키를 사용하여 암호화되었을 수 있습니다. 난 3 기계 키를 말하고 그들 중 하나가 작동하는지 확인 하자고 연속적으로 암호 해독을 시도 할 수 싶습니다. FormsAuthentication.Decrypt()가 암호화 된 쿠키뿐만 아니라 사용할 컴퓨터 키도 수락하지만이를 수행 할 방법은 없습니다 (컴퓨터 키는 항상 구성 파일에서 검색됩니다). 내가하려는 일을 성취 할 수있는 방법이 있습니까?FormsAuthentication.Decrypt()로 MachineKey를 명시 적으로 지정하는 방법
0
A
답변
1
machineKey > 요소에 여러 개의 키를 지정할 방법이 없습니다. 그러나 암호화 배경이있는 경우 키 순환을 허용하는 자체 DataProtector를 구현할 수 있습니다. 자세한 내용은 http://blogs.msdn.com/b/webdev/archive/2012/10/23/cryptographic-improvements-in-asp-net-4-5-pt-2.aspx (DataProtector 소개 참조)을 참조하십시오.
경고 : 자신의 DataProtector를 작성하는 것은 매우 진보 된 시나리오이며 보안 배경이 있고 암호화 원시 작업에 익숙한 경우에만 시도해야합니다. 사이트 보안을 약화시킬 수있는 미묘한 버그를 도입하는 것은 매우 쉽습니다.
답변 해 주셔서 감사합니다. 이 기능은 .NET 4.5에서만 사용할 수 있으며 현재 .NET 4로 고정되어 있습니다. 위험을 제한하기 위해 키 회전을 구현할 수 있지만 여전히 암호화 작업에 대한 프레임 워크를 호출 할 수있는 몇 가지 트릭을 조사했습니다. . 예를 들어, 나는 자신의 web.config (및 자신의 컴퓨터 키)를 사용하여 다른 웹 서비스를 호출하고 일반적인 "FormsAuthentications.Decrypt"를 호출하여이 "암호 해독"기능을 구현할 수 있습니다. 그러나 이것은 조금 지나치게 길어 보입니다. . – user957479