<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Security is not a eight letter word</title><link>http://blogs.technet.com/gauravphoenix/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/gauravphoenix" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>[rant] SSL=Security</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/0Nj108c2us0/rant-ssl-security.aspx</link><pubDate>Thu, 17 Jul 2008 17:10:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3090239</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/3090239.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=3090239</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=3090239</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;lt;rant&amp;gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;When in the world people will understand SSL is just one aspect of security. Are we still living in 90s? &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;This is a tax filing season in India. And being onsite I want to file it online. And ALL of the web sites I visit they assure me my data is safe because they use SSL. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Most of the successful reported attacks compromise app layer. Even after so much of noise in media about app security, why people don’t put – “Secured by WAF” or “Security Reviewed by XYZ” on websites- that would give me more hope. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;lt;/rant&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3090239" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/Bad/default.aspx">Bad</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/SSL/default.aspx">SSL</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2008/07/17/rant-ssl-security.aspx</feedburner:origLink></item><item><title>Forgot password security design </title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/3pPyvQWHtyE/forgot-password-security-design.aspx</link><pubDate>Sat, 16 Feb 2008 08:35:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3038177</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/3038177.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=3038177</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=3038177</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT face=Calibri size=3&gt;To err is human. To forget is even more human&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Let’s delve into some of the design considerations. Your comments are greatly appreciated. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;FONT face=Calibri size=3&gt;Pre-Canned Questions or User Defined Questions ?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; TEXT-INDENT: 0.5in"&gt;&lt;FONT face=Calibri size=3&gt;My colleague Rocky &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/rockyh/archive/2007/12/04/questions-about-questions.aspx"&gt;&lt;FONT face=Calibri color=#800080 size=3&gt;blogged&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; about it. A must read! &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Never send password by email. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT face=Calibri size=3&gt;Internet is ugly..lots of sniffers running, email servers getting hacked etc. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Never display current password on screen. Even though if you set no caching, some proxy server might not honor it. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Generate a temporary password when user successfully answers question(s). Needless to say, generated password should be a strong one. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;When temporary password is used, force user to change it when she logins in first with temporary password&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Use POST &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt 1in"&gt;&lt;FONT face=Calibri size=3&gt;Consider this: if the URL of forgot password page which shows password when user successfully answers questions looks like- &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt 1in"&gt;&lt;FONT face=Calibri size=3&gt;www. Domain.com/forgotpassword.aspx?challenge=X&amp;amp;response=Y&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;FONT face=Calibri size=3&gt;Now imagine if there is some ad displayed on same page and user clicks on it what goes in referrer header of http? It’s the URL of originating page and in our case its having challenge and response in URL? You don’t want other domains to know your user’s passwords, right?&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Verify it’s a human who is requesting password on his/her alternate email address. Use Human Interaction Proofs (HIPs) like CAPTCHA for same.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;7.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Though I won’t recommend sending links to alternate email address to reset password, if absolutely necessary, force the link to expire in few minutes, say 15 minutes. &lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;a.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;The reset password link should be nonce- one time use only. &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3038177" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/Bad/default.aspx">Bad</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/tips/default.aspx">tips</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/threats/default.aspx">threats</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/password/default.aspx">password</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2008/02/16/forgot-password-security-design.aspx</feedburner:origLink></item><item><title>Security Summit 2007</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/fCH4_iiyRLo/security-summit-2007.aspx</link><pubDate>Thu, 15 Nov 2007 03:31:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2568687</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2568687.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2568687</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2568687</wfw:comment><description>&lt;P&gt;I&amp;nbsp;will be speaking at &lt;A href="http://www.microsoft.com/india/security/ss-dev.aspx"&gt;http://www.microsoft.com/india/security/ss-dev.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Drop me a mail if you want to meet me in person at Chennai and/or Kolkatta. &lt;/P&gt;
&lt;P&gt;&lt;A href="mailto:Gaurav.Kumar@youknowwhat.com"&gt;Gaurav.Kumar@&lt;EM&gt;youknowwhat.com&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;&lt;A href="mailto:Gaurav.Kumar@youknowwhat.com"&gt;&lt;EM&gt;&lt;/EM&gt;&lt;/A&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2568687" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/General/default.aspx">General</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/11/15/security-summit-2007.aspx</feedburner:origLink></item><item><title>CryptAcquireContext with CRYPT_SILENT flag</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/p4QL193JE8w/cryptacquirecontext-with-crypt-silent-flag.aspx</link><pubDate>Tue, 30 Oct 2007 23:33:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2291362</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2291362.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2291362</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2291362</wfw:comment><description>&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;font face="Verdana"&gt;I tried to open a file. I got accessed denied error. No problem, lemme check ACL and finally the “effective permission”. Oh! I have full access. Hmmm…..What could be wrong? OK, lemme see if the file is encrypted. Yes, it is. Do I have corresponding certificate? Yes, the thumbprint matches with the certificate available in my user store. So, what the heck could be wrong?&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;font face="Verdana"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;font face="Verdana"&gt;I spent hours debugging the problem.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Here is what was happening-&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;font face="Verdana"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;font face="Verdana"&gt;I had exported the EFS certificate and while importing back, I had enabled strong private key protection. This option makes will give you a warning or ask a password whenever private key is accessed by any application. Since EFS runs as service, it could not give the prompt and I was denied access to the file.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;font face="Verdana"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;font face="Verdana"&gt;Moral of the story-&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;font face="Verdana"&gt;If you have an application that needs to access private key of a certificate, take into consideration that private key might have been protected by password. This is very important for applications which run in services mode and call &lt;a href="http://msdn2.microsoft.com/en-us/library/aa379886.aspx" class="" target="_blank" mce_href="http://msdn2.microsoft.com/en-us/library/aa379886.aspx"&gt;CryptAcquireContext&lt;/a&gt; CRYPT_SILENT flag..&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2291362" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/tips/default.aspx">tips</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/efs/default.aspx">efs</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/10/31/cryptacquirecontext-with-crypt-silent-flag.aspx</feedburner:origLink></item><item><title>SQL sevrer Lock table and Hollywood business</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/rOD2VY-SULw/sql-sevrer-lock-table-and-hollywood-business.aspx</link><pubDate>Thu, 25 Oct 2007 22:44:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2252889</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2252889.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2252889</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2252889</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Could there be a security risk by &lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/Lock_(database)" mce_href="http://en.wikipedia.org/wiki/Lock_(database)"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;locking&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; a database table? Even if there is a risk, could it impact Hollywood? &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Consider this. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Suppose you are running a website which provides movie tickets (Or DVD rental) booking service. As new movies are released, the demand is high, and things move quite fast. You may be having just 10 seats vacant and there are 100s of users trying to book seats. Normally you will confirm booking only when payment has been done AND seats are available. What if you charge the customer and latter on find out seats are not available. In situations where the commodity you are providing changes very frequently you have two options.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Lock the database&lt;/B&gt; table for lets say 5 minutes and let user complete the transaction. If time has elapsed and user has not completed the request (payment), you can release the lock and make the resource (like movie tickets) available for other users. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0cm 0cm 10pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Deny the request&lt;/B&gt; and tell user that when she initiated the request and till the time payment was processed, the available quantity/price has changed. Based on the business, you can take decision. If movie tickets have a constant price, you can confirm the seats based on new availability.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is being assumed that time taken to process payment is negligible. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;While the first option provides more usability and less security, second option provides more security and less usability. Security folks, stop yawning:) &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Now let discuss what the security vulnerability in first option is. An attacker could easily automate ticket booking request and lock the resources forever. In case you are thinking of blocking automated requests based on IP address, attacker could use freely accessible proxies to make request. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Note that in the second option I said that &lt;I style="mso-bidi-font-style: normal"&gt;It is being assumed that time taken to process payment is negligible.&lt;/I&gt; Actually, one could still attack this with more frequent requests. Even if you are locking the data base table for few seconds, one could send large number of requests from different proxies. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Finally, lets discuss what is the best way to handle this vulnerability proactively. Other techniques like validating the card are reactive and more complex to implement.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;HIP. Yea, Human Interaction Proof like Captchas. I agree that these images are quite annoying sometimes but they are definitely less annoying than getting to know you could have seen the latest hollywood movie if you had a better luck. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;This brings us to the conclusion that Captchas needs to be used whenever automated requests from end users can impact your business. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Note that we have taken the example of movie tickets booking web application. The vulnerability discussed above can be used against most of the ecommerce web applications. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2252889" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/General/default.aspx">General</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/tips/default.aspx">tips</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/threats/default.aspx">threats</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/10/25/sql-sevrer-lock-table-and-hollywood-business.aspx</feedburner:origLink></item><item><title>IIS authentication methods</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/75EcXxngHCA/iis-authentication-methods.aspx</link><pubDate>Mon, 22 Oct 2007 00:34:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2224756</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2224756.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2224756</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2224756</wfw:comment><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;No, this is not yet another tutorial on how to use IIS authentications methods. This post is about how to find out "effective" authentication method. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Q: In the pic below, what will be the authentication method used by IIS?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;&lt;IMG src="http://blogs.technet.com/photos/gauravphoenix/images/2224617/original.aspx" mce_src="http://blogs.technet.com/photos/gauravphoenix/images/2224617/original.aspx"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial; mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;If&amp;nbsp;you took more than 2 seconds to answer this,&amp;nbsp;you need to read this post. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Notice that anonymous access is selected with Integrated, Digest and Basic authentication. So which one is finally used by IIS?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Here is how to find out-&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;1. First of all, if anonymous option is selected, no form of authentication takes place. So, it’s always Anonymous vs. rest of the others authentication. It’s evident that in above case, anonymous access will be used. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Now, let’s&amp;nbsp;talk about other form of authentications. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;2. If .NET passport authentication is&amp;nbsp;selected,&amp;nbsp;it&amp;nbsp;takes precedence over integrated,&amp;nbsp;digest and basic authentication. You can&amp;nbsp;experiment&amp;nbsp;by&amp;nbsp;selecting .NET passport authentication, as&amp;nbsp;soon as you select it,&amp;nbsp;other authentications options (integrated, digest and basic) will be grayed&amp;nbsp;out. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Remember that first point is still valid, if anonymous access is chosen with .NET passport authentication, anonymous access will be used not passport authentication&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;3. Now we are left with 3 options- Integrated, Digest and Basic. Here, integrated authentication will be given precedence. So, if all three Digest, basic and integrated authentication methods are selected, only the&amp;nbsp;integrated auth will work. &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;4. Last but not the least, between digest and basic auth, Digest auth is given precedence. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;The&amp;nbsp;best&amp;nbsp;way to remember all this is to keep following order in mind-&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Anonymous&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;.NET Passport&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;3.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Integrated&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;4.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Digest&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;5.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Basic&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;The&amp;nbsp;one on the top is given preference.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Lets spice it up a bit.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;What happens when you select Anonymous option with&amp;nbsp;Integrated Authentication AND asp.net web.config file demands that Windows authentication should take place&amp;nbsp;(and access&amp;nbsp;denied to anonymous users)&amp;nbsp;This is what happens under the hood-&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;1. IE sends non authenticated request to IIS&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;2. IIS passes it on to ASP.NET&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;3. ASP.NET demands Windows authentication &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;4. IIS asks IE to use Windows authentication&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;So,&amp;nbsp;effectively&amp;nbsp;integrated&amp;nbsp;authentication will be used.&amp;nbsp;But the precedence&amp;nbsp;order&amp;nbsp;given above&amp;nbsp;is still valid. First, anonymous access will be used and latter on it is up to the &amp;nbsp;asp.net web.config to demand whatever authentication.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Note that in this post it is assumed that IE and IIS are used as web browser and web respectively. In general, the authentication method is negotiated. More or less, above given order holds true in most cases.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Wishing you a happy secure coding,&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Gaurav.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2224756" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/authentication/default.aspx">authentication</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/iis/default.aspx">iis</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/10/22/iis-authentication-methods.aspx</feedburner:origLink></item><item><title>Unnecessary authentication part II</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/g3f_6RFC8tI/unnecessary-authentication-part-ii.aspx</link><pubDate>Mon, 15 Oct 2007 23:13:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2179626</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2179626.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2179626</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2179626</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-IN"&gt;Here is another example. I stumbled upon this website (see attached&amp;nbsp;pic)&amp;nbsp;which was asking me username, password AND HIP (captcha image)&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-IN"&gt;I hadn’t made any wrong password attempts and also checked it from my home connection. I just don’t understand why would one need HIP when no brute force attempt has been detected.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-IN"&gt;Usability vs Security is a tough call, but asking for HIP unnecessary isn’t smart. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face="Comic Sans MS"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2179626" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/authentication/default.aspx">authentication</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/10/16/unnecessary-authentication-part-ii.aspx</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/gauravphoenix/~5/6uy7BVgvIEI/2179626.ashx" length="7349" type="image/jpeg" /><feedburner:origEnclosureLink>http://blogs.technet.com/gauravphoenix/attachment/2179626.ashx</feedburner:origEnclosureLink></item><item><title>DPAPI entropy tip and importance of obfuscation </title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/Q3TP6hzV5tQ/dpapi-entropy-tip-and-importance-of-obfuscation.aspx</link><pubDate>Wed, 10 Oct 2007 17:02:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2184217</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2184217.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2184217</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2184217</wfw:comment><description>&lt;P&gt;Have you ever wondered why CryptProtectData function asks for "Optional Entropy"?&lt;/P&gt;
&lt;P&gt;Entropy&amp;nbsp;in crypto&amp;nbsp;world is&amp;nbsp;defined as "randomness". Though is quite difficult for a computer to generate true random value, in this context of DPAPI one can choose a random string oneself and use it in the CryptProtectData function. &lt;BR&gt;Though the official definition of CryptProtectData funtion says its optional value and one can provide NULL to the function, it has its own security value. &lt;BR&gt;Consider this:&lt;BR&gt;You application encrypts the data using "user store" and you do NOT provide entropy to CryptProtectData function. &lt;BR&gt;What if some other application (malware?) running under same credential decrypts the data? What is stopping a malware to do it? &lt;BR&gt;It's actually the entropy. Always use a strong, hard to guess entropy to prevent other applications sneaking at your data. &lt;/P&gt;
&lt;P&gt;Now the fun begins.&lt;/P&gt;
&lt;P&gt;What is stopping a malware to use reflection to get the entropy value? &lt;BR&gt;The answer is obfuscation. It makes it hard for other applications to look at entropy value and thereby protecting the data encrypted using DPAPI. &lt;/P&gt;
&lt;P&gt;Moral of the story:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Always provide entropy to CryptProtectData when using user store to encrypt the data. Do not supply NULL&lt;/LI&gt;
&lt;LI&gt;Use obfuscation&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Happy secure coding,&amp;nbsp;&lt;BR&gt;Gaurav&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2184217" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/dpapi/default.aspx">dpapi</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/tips/default.aspx">tips</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/10/10/dpapi-entropy-tip-and-importance-of-obfuscation.aspx</feedburner:origLink></item><item><title>Unnecessary authentication</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/W_L8bdrr7oo/unnecessary-authentication.aspx</link><pubDate>Wed, 03 Oct 2007 15:13:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2101477</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2101477.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2101477</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2101477</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-IN"&gt;After a long time I called up my share broker customer support. They are India’s one of the best and biggest broker. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-IN"&gt;I was greeted with an automated message “please dial your customer id”. I did. And then “please enter your PIN”. I did. And then comes the automated message – “this service is available only between 10AM -6PM”&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-IN"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-IN"&gt;Bulldung. If they service is not available why ask for user id and PIN. Why increase attack surface &lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;unnecessarily?&lt;/SPAN&gt;?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-IN"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-IN; mso-ansi-language: EN-IN; mso-bidi-language: AR-SA"&gt;As I said, security is not just eight letter word. It’s a state of mind.&lt;/SPAN&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2101477" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/authentication/default.aspx">authentication</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/10/03/unnecessary-authentication.aspx</feedburner:origLink></item><item><title>RMS myth</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/K9P-8uNAve8/rms-myth.aspx</link><pubDate>Mon, 17 Sep 2007 14:01:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1975523</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/1975523.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=1975523</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=1975523</wfw:comment><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;A few weeks back I got a link to a software which enables the options disabled by &lt;A class="" title="RMS overview" href="http://www.microsoft.com/windowsserver2003/evaluation/overview/technologies/rmenterprise.mspx" target=_blank mce_href="http://www.microsoft.com/windowsserver2003/evaluation/overview/technologies/rmenterprise.mspx"&gt;RMS&lt;/A&gt;. So its like if I get one RMSed email which has "do not reply all" set, I can run software which will enable the reply all button on my outlook bar. And hence, RMS got hacked. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Bulldung.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;RMS is supposed to prevent &lt;B style="mso-bidi-font-weight: normal"&gt;inadvertent&lt;/B&gt; leakage of data. Running a software that enables the control disabled by RMS is surely wilful bypassing the barricade erected by RMS.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1975523" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/RMS/default.aspx">RMS</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/09/17/rms-myth.aspx</feedburner:origLink></item><item><title>gethash() is not security function </title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/LoqCfz8ZnjI/gethash-is-not-security-function.aspx</link><pubDate>Sun, 09 Sep 2007 00:32:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2246171</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2246171.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2246171</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2246171</wfw:comment><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Consider &lt;A href="http://msdn2.microsoft.com/en-us/library/system.collections.hashtable.gethash.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/system.collections.hashtable.gethash.aspx"&gt;&lt;STRONG&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;getHash&lt;/SPAN&gt;&lt;/STRONG&gt;()&lt;/A&gt; function. Going by the name, one could think of it as some sort of "hashing" in cryptography word. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Let me warn you, its NOT a function to be used for data integrity assurance. It is NOT a security related function. I stumbled upon this function while I was doing a code review and was shocked to know it was being used to take security related decision. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;here is moral of the&amp;nbsp;short story-&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;use cryptographic hash functions like SHA-256 and don't go by name of functions like gethash()&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2246171" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/hash/default.aspx">hash</category><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/code+review/default.aspx">code review</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/09/09/gethash-is-not-security-function.aspx</feedburner:origLink></item><item><title>when not to use DPAPI</title><link>http://feedproxy.google.com/~r/gauravphoenix/~3/ylH-hf9gbio/when-not-to-use-dpapi.aspx</link><pubDate>Fri, 27 Apr 2007 15:20:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2147767</guid><dc:creator>gauravphoenix</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/gauravphoenix/comments/2147767.aspx</comments><wfw:commentRss>http://blogs.technet.com/gauravphoenix/commentrss.aspx?PostID=2147767</wfw:commentRss><wfw:comment>http://blogs.technet.com/gauravphoenix/rsscomments.aspx?PostID=2147767</wfw:comment><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms995355.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/ms995355.aspx"&gt;DPAPI&lt;/A&gt; is great. only when used in appropriate scenario. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Consider this,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;You encrypt data using DPAPI and latter move ( not copy)&amp;nbsp;the data to the other machine. Now you try to decrypt the data on other machine and it fails. Okay, you change the password&amp;nbsp;to the one on first machine. Still it doesn’t work. It wont work. its not designed to be that way. &lt;B style="mso-bidi-font-weight: normal"&gt;It will work only if the new machine is part of same domain and roaming profile is enabled&lt;/B&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US"&gt;To cut the story short, DPAPI is designed to encrypt Connection Strings and similar security settings. It is not meant for general purpose data encryption&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2147767" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/gauravphoenix/archive/tags/dpapi/default.aspx">dpapi</category><feedburner:origLink>http://blogs.technet.com/gauravphoenix/archive/2007/04/27/when-not-to-use-dpapi.aspx</feedburner:origLink></item></channel></rss>
