<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Managed DPAPI Part II: ProtectedMemory</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx</link><description>Last week (ok, really two weeks ago ....), I wrote about using DPAPI with Whidbey. (You can find that post here: Managed DPAPI Part I: ProtectedData ). In addition to the ProtectedData class, Whidbey will also expose DPAPI through the ProtectedMemory</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Managed DPAPI Part II: ProtectedMemory</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#133694</link><pubDate>Tue, 18 May 2004 01:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:133694</guid><dc:creator>Michael Giagnocavo</dc:creator><description>Does windows make a lot of use of this? A concern I have that I see no end-user workaround is: What if an attacker shuts off my machine by pulling the power, and then steals the machine? Will they be able to gain access to any of the DPAPI protected things (since the pagefile won't be cleared like it is on a nice shutdown)?&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Managed DPAPI Part II: ProtectedMemory</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#133749</link><pubDate>Tue, 18 May 2004 02:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:133749</guid><dc:creator>Shawn</dc:creator><description>I'm not sure how much Windows uses CryptProtectMemory internally, Michael Howard's blog might be a better place to find that out (&lt;a target="_new" href="http://blogs.msdn.com/michael_howard"&gt;http://blogs.msdn.com/michael_howard&lt;/a&gt;).  As to your other concern, that threat is mitigated by the fact that data protected by CryptProtectMemory (and hence ProtectedMemory), cannot be decrypted across boots of Windows.  The reason for this is that the base key is regenerated every time Windows boots up.  Even if the attacker could get the encrypted data out of the swap file, they'd be unable to use CryptUnprotectMemory to decrypt it.  They would also be unable to fool your app into calling CryptUnprotectMemory to decrypt the data.</description></item><item><title>Making Strings More Secure</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#143458</link><pubDate>Fri, 28 May 2004 03:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:143458</guid><dc:creator>.Net Security Blog</dc:creator><description /></item><item><title>SecureString, Ahhh something new in Whidbey !!!</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#175970</link><pubDate>Thu, 08 Jul 2004 06:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:175970</guid><dc:creator>Vinod Kumar's Blog</dc:creator><description /></item><item><title>Data Protection API (DPAPI)</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#207310</link><pubDate>Tue, 03 Aug 2004 23:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:207310</guid><dc:creator>Rule's Roost</dc:creator><description /></item><item><title>Data Protection API (DPAPI)</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#207315</link><pubDate>Tue, 03 Aug 2004 23:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:207315</guid><dc:creator>Rule's Roost</dc:creator><description /></item><item><title>Authentication in web services with HttpWebRequest</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#572431</link><pubDate>Mon, 10 Apr 2006 15:43:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:572431</guid><dc:creator>Buck Hodges</dc:creator><description>Hatteras has three tiers: client, middle, and data.&amp;amp;amp;nbsp; The middle tier is an ASP.NET web service on...</description></item><item><title>.NET 2.0 posts</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#755392</link><pubDate>Fri, 15 Sep 2006 09:14:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:755392</guid><dc:creator>Nam, Seungho's Blog</dc:creator><description>Anoymous method&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.theserverside.net/tt/articles/showarticle.tss?id=AnonymousMethods"&gt;http://www.theserverside.net/tt/articles/showarticle.tss?id=AnonymousMethods&lt;/a&gt;&lt;br&gt;Generic...</description></item><item><title>Securing Connection string</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#917255</link><pubDate>Wed, 01 Nov 2006 09:52:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:917255</guid><dc:creator>Nam, Seungho's Blog</dc:creator><description>&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://msdn2.microsoft.com/en-us/library/aa302406.aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa302406.aspx&lt;/a&gt; &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.asp"&gt;http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.asp&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Managed DPAPI Part II: ProtectedMemory</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#1602914</link><pubDate>Mon, 05 Feb 2007 12:19:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1602914</guid><dc:creator>Kurt</dc:creator><description>&lt;p&gt;I use WindowsIdentity.Impersonate() to log on as a different user and protect data.&lt;/p&gt;
&lt;p&gt;And ProtectedData.Protect() raises CryptographicException &amp;quot;The system can not find the file specified&amp;quot;. What can that mean?&lt;/p&gt;
&lt;p&gt;Same protection code is used when crypting by current user, and that goes ok.&lt;/p&gt;</description></item><item><title>re: Managed DPAPI Part II: ProtectedMemory</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#1728741</link><pubDate>Tue, 20 Feb 2007 22:23:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1728741</guid><dc:creator>shawnfa</dc:creator><description>&lt;p&gt;Hi Kurt,&lt;/p&gt;
&lt;p&gt;DPAPI stores information in the user's profile, so in order to use it when you've impersonated another user you'll need to ensure that their entire profile is loaded. &amp;nbsp;You can do this by calling LoadUserProfile after you've called LogonUser.&lt;/p&gt;
&lt;p&gt;-Shawn&lt;/p&gt;
</description></item><item><title>re: Managed DPAPI Part II: ProtectedMemory</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#2389680</link><pubDate>Thu, 03 May 2007 11:04:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2389680</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;I get the same error as Kurt when I use Impersonate() on a web page (C#):&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.Context.Request.LogonUserIdentity.Impersonate();&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Convert.ToBase64String(ProtectedData.Protect(Encoding.UTF8.GetBytes(unencrypted), null, DataProtectionScope.CurrentUser));&lt;/p&gt;
&lt;p&gt;If this problem is caused by the same issue as Kurt, how can I load the user profile from the web page&lt;/p&gt;</description></item><item><title>re: Managed DPAPI Part II: ProtectedMemory</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#2466421</link><pubDate>Mon, 07 May 2007 21:32:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2466421</guid><dc:creator>shawnfa</dc:creator><description>&lt;p&gt;Hi Kevin,&lt;/p&gt;
&lt;p&gt;You can use the LoadUserProfile API to force the user's profile to be loaded.&lt;/p&gt;
&lt;p&gt;-Shawn&lt;/p&gt;
</description></item><item><title>SecureString in NET v1.1</title><link>http://blogs.msdn.com/shawnfa/archive/2004/05/17/133650.aspx#9564580</link><pubDate>Thu, 23 Apr 2009 14:50:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9564580</guid><dc:creator>Hernan de Lahitte's blog</dc:creator><description>&lt;p&gt;Every time you need to store sensitive data your first thought use to be encryption. You probably gather&lt;/p&gt;
</description></item></channel></rss>