Implementierung einer sicheren, einzigartigen "single-use" - Aktivierung URLs in ASP.NET (C#)

Habe ich ein Szenario Iuno Benutzer von einer Website, die ich am Gebäude müssen die Möglichkeit haben, geben Sie einige grundlegende Informationen in einer Web Form-ohne Anmeldung. Die Website ist entwickelt mit ASP.NET/C# und MSSQL 2005 für Ihre relationalen Daten.

Den Benutzer gesendet werden eine E-Mail von der Website, indem Sie Ihnen einen eindeutigen link, um geben Sie die spezifischen Informationen, die Sie benötigt. Die E-Mail sehr ähnlich zu den Stil der email, die wir alle erhalten bei der Registrierung für sites wie Foren, enthält eine zufällig generierte, eindeutige URL-Parameter insbesondere in Bezug auf einen einzigen Zweck (z.B. überprüfen von E-Mail-Adresse für ein forum).

Meine Fragen sind in Bezug auf die sichere Implementierung dieses Problems. Ich überlegte, mit einer GUID als eindeutige Kennung, bin aber unsicher, seine Auswirkungen auf die security world.

  1. Eine GUID ist ausreichend lang, so dass die Werte nicht leicht zu erraten ist (oder brute-gezwungen, im Laufe der Zeit)?
  2. Ist .NET-GUID-Implementierung ausreichend zufällig in dem Sinne, dass es eine gleiche chance der generation, die die möglichen Werte in dem "key space"?

  3. Wenn Sie eine GUID ist ein akzeptabler Ansatz, sollte die Seite dann umleiten, um die Informationen über URL-rewriting oder indem die Daten in eine datatable mit der GUID als Referenz?

  4. Wird die Verwendung einer URL-rewriting verbergen die wahre Quelle der Daten?

  5. Sollte ich in Betracht ziehen mithilfe der TSQL-SELECT NEWID() als GUID-generator über die .NET-Implementierung?

  6. Bin ich völlig falsch mit meinem Ansatz zu diesem problem?

Vielen Dank,

Carl

InformationsquelleAutor Tyst | 2009-06-02
Schreibe einen Kommentar