<?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>BenkoBLOG : Security</title><link>http://blogs.msdn.com/benko/archive/tags/Security/default.aspx</link><description>Tags: Security</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Encrypting the Web.config in VB</title><link>http://blogs.msdn.com/benko/archive/2008/04/16/encrypting-the-web-config-in-vb.aspx</link><pubDate>Wed, 16 Apr 2008 20:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8399267</guid><dc:creator>benko</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/benko/comments/8399267.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=8399267</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=8399267</wfw:comment><description>&lt;P&gt;I got a request for how to do the encryption of the web.config but this time in VB, so I thought I'd post it here on the blog as well. The logic is about the same, although I found that in VB I had to add a line to the configuration to save the new settings.&amp;nbsp; The code for this in vb.net (adding to the global.asax file in the "Session_Start" subroutine:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;Sub&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt; Session_Start(&lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; sender &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Object&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; e &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; EventArgs) 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;' Code that runs when a new session is started 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;EncryptSection(&lt;SPAN style="COLOR: #a31515"&gt;"appSettings"&lt;/SPAN&gt;) 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;End&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt; &lt;SPAN style="COLOR: blue"&gt;Sub 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;Private&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt; &lt;SPAN style="COLOR: blue"&gt;Sub&lt;/SPAN&gt; EncryptSection(&lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; sSection &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt;) 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; config &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; Configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Context.Request.ApplicationPath) 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; configSection &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; ConfigurationSection = config.GetSection(sSection) 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; configSection.SectionInformation.IsProtected = &lt;SPAN style="COLOR: blue"&gt;False&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Then 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;configSection.SectionInformation.ProtectSection(&lt;SPAN style="COLOR: #a31515"&gt;"DataProtectionConfigurationProvider"&lt;/SPAN&gt;) 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;config.Save() 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt;End&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: " lucida console?; mso-bidi-font-family: ?Times New Roman?; mso-no-proof: 14.0pt? mso-bidi-font-size: yes;&gt; &lt;SPAN style="COLOR: blue"&gt;Sub 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8399267" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/Code/default.aspx">Code</category><category domain="http://blogs.msdn.com/benko/archive/tags/VB/default.aspx">VB</category><category domain="http://blogs.msdn.com/benko/archive/tags/Security/default.aspx">Security</category></item><item><title>How to encrypt the Web.Config</title><link>http://blogs.msdn.com/benko/archive/2008/04/11/how-to-encrypt-the-web-config.aspx</link><pubDate>Fri, 11 Apr 2008 20:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8381240</guid><dc:creator>benko</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/benko/comments/8381240.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=8381240</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=8381240</wfw:comment><description>&lt;P&gt;In the security session we did I showed in one of the sample how you can encrypt the web.config file by adding code to the global.asax file. The cool part of this is that using this technique you can secure application specific settings like connection strings and other data in the unlikely event that someone is able to get a copy of the configuration file (like by copying it to a thumb drive from the host machine or something similar).&lt;/P&gt;
&lt;P&gt;The basic logic is to create a variable that points to a configuration section, then checking that the section is protected (i.e. encrypted). If it isn't, then call the ProtectSection method to encrypt the contents.&amp;nbsp; The server uses the local DPAPI (Data Protection API) to encrypt the configuration section with a machine specific key, so only that machine can decrypt the contents. The code for this is:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2 width=600 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=598&gt;&lt;SPAN style="FONT-WEIGHT: normal; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; 
&lt;P class=SourceCode&gt;&lt;SPAN style="FONT-WEIGHT: normal; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: ignore"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal" roman?? new times&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #1f497d; mso-themecolor: text2"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #4f81bd; mso-themecolor: accent1"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #1f497d; mso-themecolor: text2"&gt;class&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #4bacc6; mso-themecolor: accent5"&gt;Global&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; : System.Web.HttpApplication &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{ &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #1f497d; mso-themecolor: text2"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #1f497d; mso-themecolor: text2"&gt;void&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; Session_Start(&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #1f497d; mso-themecolor: text2"&gt;object&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; sender, &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #4bacc6; mso-themecolor: accent5"&gt;EventArgs&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; e) &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{ &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&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;EncryptSection("&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #c00000"&gt;appSettings&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;"); &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;} 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=SourceCode&gt;&lt;SPAN style="FONT-WEIGHT: normal; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: ignore"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal" roman?? new times&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #1f497d; mso-themecolor: text2"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #1f497d; mso-themecolor: text2"&gt;void&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; EncryptSection(&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #1f497d; mso-themecolor: text2"&gt;string&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; sSection) &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{ &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&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;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #4bacc6; mso-themecolor: accent5"&gt;Configuration&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; config = System.Web.Configuration &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.WebConfigurationManager &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.OpenWebConfiguration &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&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;&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;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;(Context.Request.ApplicationPath);&lt;/SPAN&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #4bacc6; mso-themecolor: accent5"&gt;&lt;FONT face="Courier New" size=2&gt;ConfigurationSection&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; configSection = &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&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;&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;config.GetSection(sSection); &lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&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;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #002060"&gt;if&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt; (!configSection.SectionInformation.IsProtected) &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&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;BR&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;configSection.SectionInformation.ProtectSection &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;("&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #c00000"&gt;DataProtectionConfigurationProvider&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;"); &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&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;config.Save(); &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&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;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;} 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=SourceCode&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;Happy Coding!&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8381240" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/MSDN+Events/default.aspx">MSDN Events</category><category domain="http://blogs.msdn.com/benko/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/benko/archive/tags/Security/default.aspx">Security</category></item><item><title>MSDN Security Session Links</title><link>http://blogs.msdn.com/benko/archive/2008/01/17/msdn-security-session-links.aspx</link><pubDate>Thu, 17 Jan 2008 10:04:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7140399</guid><dc:creator>benko</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/benko/comments/7140399.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=7140399</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=7140399</wfw:comment><description>&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e72f9411-899e-496c-ac05-4b91ce0e5f29" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MSDN" rel="tag"&gt;MSDN&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;a href="http://msdnevents.com/default.aspx?sid=9"&gt;MSDN Events&lt;/a&gt; is back! It's a new year and this week I'm back on the road delivering MSDN events again. The topics we're covering include ASP.NET Membership, IIS 7.0 and Hacker Tricks...we show how the exploits work and what you can do to prevent them. In the presentation we've got a number of links to more information and to make it easier I'm including those links here for easy access. &lt;/p&gt;  &lt;p&gt;These links include the following: &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;IIS 7.0 - What's new for developers&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.iis.net/articles/view.aspx/IIS7/Explore-IIS7/Getting-Started/Introduction-to-IIS-7-Architecture"&gt;iis.net - Introduction to IIS 7 Architecture&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.iis.net/articles/view.aspx/IIS7/Use-IIS7-Administration-Tools/Using-XML-Configuration/IIS7-Configuration-Reference"&gt;iis.net - IIS7 Configuration Reference&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms734677%28VS.90%29.aspx"&gt;MSDN - Hosting in Windows Process Activation Service&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.iis.net/articles/onepagearticle.ashx/IIS7/Explore-IIS7/Getting-Started/Your-Web-Platform-Security"&gt;iis.net - Your Web Platform Security&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.iis.net/articles/view.aspx/IIS7/Managing-IIS7/Configuring-the-IIS7-Runtime/Configuring-Modules/IIS7-Modules-Overview?Page=5"&gt;iis.net - Configuring the IIS7 Runtime&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://mvolo.com/blogs/serverside/archive/2007/08/15/Developing-IIS7-web-server-features-with-the-.NET-framework.aspx"&gt;Mike Volodarsky Blog -&amp;#160; Developing IIS7 web server features with the .NET framework&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ASP.NET Provider Model&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms972319.aspx"&gt;MSDN - Provider Model Design Pattern and Specification, Part 1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa478948.aspx"&gt;MSDN - Microsoft ASP.NET 2.0 Providers: Introduction&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms178329.aspx"&gt;MSDN - ASP.NET Login Controls Overview&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/yy40ytx0.aspx"&gt;MSDN - Web Site Administration Tool Overview&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/01/ExtremeASPNET/default.aspx"&gt;MSDN Mag - Client-Side Web Service Calls with AJAX Extensions&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/bb384297(VS.90).aspx"&gt;MSDN - Client Application Services&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/MSFTDBProdSamples/release/projectReleases.aspx?releaseid=4004"&gt;AdventureWorksLT Sample Database&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dev.mysql.com/downloads/connector/net/5.0.html"&gt;MySQL Connector - NET 5.1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Security Hacks&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=EFB9C819-53FF-4F82-BFAF-E11625130C25&amp;amp;displaylang=en"&gt;Anti-XSS Library v1.5 Download&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.Fiddler2.com"&gt;www.Fiddler2.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.HelloSecureWorld.com"&gt;www.HelloSecureWorld.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.owasp.org/index.php/Top_10_2007"&gt;Open Source Web Application Project - Top 10 Exploits 2007&lt;/a&gt;&lt;/p&gt; &lt;a href="http://www.acunetix.com/news/paypal.htm"&gt;Exploit: Cross Site Scripting - Paypal&lt;/a&gt;   &lt;p&gt;&lt;a href="http://www.webappsec.org/projects/whid/list_id_2006-3.shtml"&gt;Exploit: SQL Injection - www.ri.gov&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.news.com/2100-1017-984585.html"&gt;Exploit: Cross Site Scripting - FTD&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://news.bbc.co.uk/2/hi/business/3984845.stm"&gt;Exploit: Insecure Direct Object Reference - Cahoots&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://searchsecurity.techtarget.com/originalContent/0,289142,sid14_gci1238554,00.html"&gt;Exploit: Integer Overflow - Apple&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7140399" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/MSDN+Events/default.aspx">MSDN Events</category><category domain="http://blogs.msdn.com/benko/archive/tags/Authentication/default.aspx">Authentication</category><category domain="http://blogs.msdn.com/benko/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/benko/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Some CardSpace resources</title><link>http://blogs.msdn.com/benko/archive/2007/06/18/some-cardspace-resources.aspx</link><pubDate>Mon, 18 Jun 2007 09:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3383386</guid><dc:creator>benko</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/benko/comments/3383386.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=3383386</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=3383386</wfw:comment><description>&lt;P&gt;here's some&amp;nbsp;links about cardspace:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://dotnetslackers.com/articles/security/Microsoft_CardSpace_Using_a_Card.aspx" mce_href="http://dotnetslackers.com/articles/security/Microsoft_CardSpace_Using_a_Card.aspx"&gt;http://dotnetslackers.com/articles/security/Microsoft_CardSpace_Using_a_Card.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://chewedpencil.net/blogs/tomas/archive/tags/CardSpace/default.aspx" mce_href="http://chewedpencil.net/blogs/tomas/archive/tags/CardSpace/default.aspx"&gt;http://chewedpencil.net/blogs/tomas/archive/tags/CardSpace/default.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Managed Cards: &lt;A href="http://cardspace.netfx3.com/files/folders/samples_rc_1/entry5996.aspx" mce_href="http://cardspace.netfx3.com/files/folders/samples_rc_1/entry5996.aspx"&gt;http://cardspace.netfx3.com/files/folders/samples_rc_1/entry5996.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Casadehambone - &lt;A href="http://www.casadehambone.com/Default.aspx#a5052c092-a6b4-4724-9a9e-3502cbcc98a6" mce_href="http://www.casadehambone.com/Default.aspx#a5052c092-a6b4-4724-9a9e-3502cbcc98a6"&gt;http://www.casadehambone.com/Default.aspx#a5052c092-a6b4-4724-9a9e-3502cbcc98a6&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Vitorrio &lt;A href="http://blogs.msdn.com/vbertocci/default.aspx" mce_href="http://blogs.msdn.com/vbertocci/default.aspx"&gt;http://blogs.msdn.com/vbertocci/default.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://self-issued.info/" mce_href="http://self-issued.info/"&gt;http://self-issued.info/&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3383386" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/MSDN+Events/default.aspx">MSDN Events</category><category domain="http://blogs.msdn.com/benko/archive/tags/Security/default.aspx">Security</category></item><item><title>CardSpace resources</title><link>http://blogs.msdn.com/benko/archive/2007/04/26/cardspace-resources.aspx</link><pubDate>Thu, 26 Apr 2007 08:21:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2281367</guid><dc:creator>benko</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/benko/comments/2281367.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=2281367</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=2281367</wfw:comment><description>&lt;p&gt;&lt;img align="left" src="http://www.benkotips.com/blogs/mbenko/042607_0521_CardSpacere1.jpg" alt=""/&gt;I had the opportunity and privilege yesterday to visit Eugene Oregon and present the MSDN event there. This quarter we're covering the 4&lt;sup&gt;th&lt;/sup&gt; pillar of .NET 3.0 – CardSpace (the other 3 are Windows Presentation Foundation, Communication Foundation, and WorkFlow). There were lots of great questions and interest in the topic, with many questions about what it is and how it works. 
&lt;/p&gt;&lt;p&gt;One that struck me that I've asked myself is "How do I use CardSpace with ASP.NET 2.0's Membership provider?" Basically what you need to do is to provide a way to associate the CardSpace card with a user in the system. This can be accomplished by adding to the schema generated by the default SQL Membership Provider in SQL Server (the aspnetdb.mdb file automatically added). We add a table to hold the PPID of the card and the UserId for the specific user, and then alter some stored procedures to work with it. A great resource for this is Kevin Hammond's blog posting of a video that shows this being done. Rather than repeat that here I thought I'd give you the link (and a few more for good measure!)
&lt;/p&gt;&lt;p&gt;    &lt;a href="http://www.casadehambone.com/howtousewindowscardspacewithaspnetformsauthentication.aspx"&gt;http://www.casadehambone.com/howtousewindowscardspacewithaspnetformsauthentication.aspx&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;    &lt;a href="http://cardspace.netfx3.com"&gt;http://cardspace.netfx3.com&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;    &lt;a href="http://identityblog.com"&gt;http://identityblog.com&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;    &lt;a href="http://perpetual-motion.com"&gt;http://perpetual-motion.com&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;Another question is what happens to Passport with the advent of CardSpace? That one is easy, they're different things and fit different purposes. Where Passport is an &lt;span style="text-decoration:underline"&gt;Identity Provider&lt;/span&gt; complete with a data store of lots of identity information; CardSpace is an &lt;span style="text-decoration:underline"&gt;Identity Selector&lt;/span&gt;. That means that CardSpace is a way we can link a card on your machine to a passport account.
&lt;/p&gt;&lt;p&gt;On Thursday I'll be in Portland, so if you happen to be browsing this before then and stop by to say hi, let me know. I'd love to hear from you!
&lt;/p&gt;&lt;p&gt;Happy Coding!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2281367" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/Security/default.aspx">Security</category></item></channel></rss>