Je stocke actuellement le mot de passe de l'utilisateur dans un SecureString
. Ce qui est également gardé dans le cas où la connexion à la base de données se réinitialise.Oracle DB et SecureString
Mon problème est, j'essaye de passer ce mot de passe à un OracleParamater
, mais je ne suis pas sûr s'il le soutient ou pas.
La DLL Oracle.DataAccess
d'Oracle prend-elle en charge SecureString
ou BStr
? Depuis Si je dois le convertir en une chaîne alors cela serait un peu vaincre le but de SecureString
.
--- EDIT
Je sais que SecureString
est de réduire la surface d'attaque en gardant comme quelques exemplaires du mot de passe non crypté autour que possible. Le problème est qu'à un certain moment vous devez déchiffrer le mot de passe pour l'utiliser. Si je pouvais passer un char[]
ou un BStr
ou la chaîne sécurisée elle-même dans un OracleParameter
alors je pourrais l'effacer après le retour de l'appel. Mais si je dois créer une chaîne pour la transmettre à Oracle, alors je viens de créer une nouvelle copie immuable du mot de passe. Donc je ne suis pas vraiment sûr d'avoir beaucoup gagné alors.
SecureString est un -memory "concept ... ADO.NET n'a rien à voir avec ça ... SI vous êtes préoccupé par la sécurité" sur le fil "puis utilisez une connexion cryptée et/ou une approche basée sur des certificats ... – Yahia
Je ne suis pas s'est inquiété de la sécurité "sur le fil" et ce n'était pas l'intention de la question. Je vais ajouter la question pour clarifier – Phyx
ok ... c'est plus clair maintenant ... voir ma réponse ci-dessous ... – Yahia