2015-02-04 1 views
1

RNGCryptoServiceProvider의 출력이 외부 (쿠키 등)에 노출되어 보안 위험이 있습니까? 잠 재적 인 침입자가 임의의 바이트의 다음 세트가 무엇인지를 아는 것과 같은 귀중한 정보를 수집 할 수 있습니까?ASP.NET : 외부로 RNGCryptoServiceProvider의 출력이 보안 위험에 노출되어 있습니까?

+1

누군가가 암호를 끊을 경우에만. 그러한 공격에 시달리지 않는 것은 PRNG가 암호 보안 (CSPRNG)으로 간주되어야하는 가장 중요한 속성 중 하나입니다. – CodesInChaos

답변

3

RNGCryptoServiceProvider은 추측 할 수없고 "누설"하지 않는 난수 시퀀스를 생성하도록 설계되었습니다. 다음 번 난수를 생성하려면 GetNonZeroBytes 방법을 사용하는 것이 좋습니다.

+0

그래서 출력을보고 엔트로피 또는 다음 바이트 시퀀스에 대한 정보를 수집 할 수 없습니까? 출력을 해싱하기 전에 출력을 해싱해야하는지 묻습니다. 감사! – StefanLundmark

+1

@StefanLundmark, 해시 할 필요가 없습니다. 이 RNG는 정보를 누설하지 않도록 설계되었습니다. –

+0

'GetBytes'를 통해 왜'GetNonZeroBytes'를 사용해야하는지 모르겠습니다. 후자를 사용하고 필요한 경우 Base64로 (URL 안전) 인코딩합니다. – CodesInChaos