Implementando URLs de ativação únicos e seguros de uso único no ASP.NET (C #)

Tenho um cenário no qual os usuários de um site que estou construindo precisam da capacidade de inserir algumas informações básicas em um formulário da Web sem precisar fazer logon. O site está sendo desenvolvido com o ASP.NET/C# e está usando o MSSQL 2005 para seus dados relacionais.

Os usuários receberão um email do site, fornecendo a eles um link exclusivo para inserir as informações específicas necessárias. O e-mail será muito semelhante ao estilo de e-mail que todos recebemos ao se registrar em sites como fóruns, contendo um parâmetro de URL exclusivo gerado aleatoriamente e especificamente relacionado a uma única finalidade (como verificar um endereço de e-mail para um fórum).

Minhas consultas estão relacionadas à implementação segura desse problema. Eu estava pensando em usar um GUID como identificador exclusivo, mas não tenho certeza de suas implicações no mundo da seguranç

Um GUID é suficientemente longo para que os valores não possam ser facilmente adivinhados (ou brutais ao longo do tempo)?

implementação GUID do .NET é suficientemente aleatória no sentido de que há uma chance igual de geração de todos os valores possíveis no "espaço chave"?

Se usar um GUID é uma abordagem aceitável, o site deve redirecionar para as informações via reescrita de URL ou associando as informações em uma tabela de dados ao GUID como referência?

O uso de uma reescrita de URL oculta a verdadeira fonte dos dados?

Deve considerar o uso do SELECT NEWID () do TSQL como gerador de GUID na implementação do .NET?

Estou completamente errado com a minha abordagem para este problema?

Muito Obrigado

Carl

questionAnswers(12)

yourAnswerToTheQuestion