¿Hay algún beneficio al usar SecureString en ASP.NET?

Si entiendo correctamente, esto es para mantener el texto plano fuera de la memoria, para que la aplicación esté segura contra ataques esotéricos en la memoria, el montón de basura o la memoria paginada en el disco. SecureString se alimenta de bytes no administrados y consume un byte no administrado a la vez, luego la cadena se borra de la memoria. (¡Corrígeme si me voy!)

En ASP.NET, el secreto se recopila en un formulario web, que se publica en HTTPS. Pero el objeto Solicitud convierte todos los valores de solicitud del formulario en pares de valores de nombre y los coloca en una colección, p. Solicitud ["TxtPassword"], por lo que incluso antes de que pueda obtener la cadena, ya se ha escrito de forma insegura en la memoria. Peor aún, si estaba usando un control, la representación insegura tendrá más cadenas administradas en la propiedad de TextBox.

Para hacer algo con este SecureString, necesito una API que tome cadenas no administradas, por lo que parece que no puedo usar la cadena segura para un parámetro de proceso almacenado o mucho más.

¿Estoy haciendo esto mal o es una tontería tratar de usar SecureString y no filtrar copias de la cadena no segura en la memoria administrada?

Cambiar a OAuth o autenticación de Windows no es una opción.

Respuestas a la pregunta(5)

Su respuesta a la pregunta