C# PasswordVault在多大程度上保护和隔离数据?
我正在考虑使用在我的Windows应用商店应用程序中存储敏感数据 我已经做了一些基本的研究,研究这个课程提供的保护。我编写了两个示例应用程序,第一个将一些数据写入vault,第二个尝试获取这些数据 看起来,即使第二个应用程序使用与第一个应用程序相同的密钥来保存数据;第二个应用程序无法检索该数据。这很好 有人知道PasswordVault是如何将数据隔离到一个应用程序的吗?要让另一个应用程序获得我的应用程序的密码保险库数据,它必须模拟我的应用程序的sid吗 为清楚起见: App1可以做到这一点C# PasswordVault在多大程度上保护和隔离数据?,c#,.net,security,passwordvault,C#,.net,Security,Passwordvault,我正在考虑使用在我的Windows应用商店应用程序中存储敏感数据 我已经做了一些基本的研究,研究这个课程提供的保护。我编写了两个示例应用程序,第一个将一些数据写入vault,第二个尝试获取这些数据 看起来,即使第二个应用程序使用与第一个应用程序相同的密钥来保存数据;第二个应用程序无法检索该数据。这很好 有人知道PasswordVault是如何将数据隔离到一个应用程序的吗?要让另一个应用程序获得我的应用程序的密码保险库数据,它必须模拟我的应用程序的sid吗 为清楚起见: App1可以做到这一点
const string VAULT_RESOURCE = "App1 Credentials";
var vault = new PasswordVault();
vault.Add(new PasswordCredential(VAULT_RESOURCE, "Foo", "Bar"));
var vault = new PasswordVault();
const string VAULT_RESOURCE = "App1 Credentials";
try
{
var creds = vault.FindAllByResource(VAULT_RESOURCE).FirstOrDefault();
if (creds != null)
{
UserName = creds.UserName;
Password.Text = vault.Retrieve(VAULT_RESOURCE, "Foo").Password;
}
}
catch (COMException)
{
// this exception likely means that no credentials have been stored
}
App2可以做到这一点
const string VAULT_RESOURCE = "App1 Credentials";
var vault = new PasswordVault();
vault.Add(new PasswordCredential(VAULT_RESOURCE, "Foo", "Bar"));
var vault = new PasswordVault();
const string VAULT_RESOURCE = "App1 Credentials";
try
{
var creds = vault.FindAllByResource(VAULT_RESOURCE).FirstOrDefault();
if (creds != null)
{
UserName = creds.UserName;
Password.Text = vault.Retrieve(VAULT_RESOURCE, "Foo").Password;
}
}
catch (COMException)
{
// this exception likely means that no credentials have been stored
}
现在App2接收到一个异常,指示不存在这样的凭证。这很好。我想了解的是,App2需要在多大程度上掌握App1存储的数据 vault中的元素与创建它们的应用程序相关联,因此无法从app2读取app1 vault。查一下Gonzix谢谢,我之前看过那个博客或类似的博客。如果这真的是不可能的,那么就这样发布吧,我会相信你回答了我的问题。没有什么能保护你免于糟糕的编码。。。如果您想知道安全性有多高,请查看Bill Sempf在2013 blackhat上的这篇文章。几个月前,我在cbus参加了Bill的演讲。绝对是好东西,也是我见过的最好的谈话之一。