<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Security and Identity in the Cloud</title>
	<atom:link href="http://cloudidentityblog.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cloudidentityblog.com</link>
	<description>Cloud Identity and Cloud Security</description>
	<lastBuildDate>Thu, 16 May 2013 23:27:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='cloudidentityblog.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/4ea19592f22ec467e1b389711e479a8f?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Security and Identity in the Cloud</title>
		<link>http://cloudidentityblog.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://cloudidentityblog.com/osd.xml" title="Security and Identity in the Cloud" />
	<atom:link rel='hub' href='http://cloudidentityblog.com/?pushpress=hub'/>
		<item>
		<title>13 Shades of Claims Based Authentication</title>
		<link>http://cloudidentityblog.com/2013/05/16/13-shades-of-claims-based-authentication/</link>
		<comments>http://cloudidentityblog.com/2013/05/16/13-shades-of-claims-based-authentication/#comments</comments>
		<pubDate>Thu, 16 May 2013 23:27:30 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[AD FS]]></category>
		<category><![CDATA[Cloud Security]]></category>
		<category><![CDATA[Federation]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[UAG]]></category>
		<category><![CDATA[ADFS]]></category>
		<category><![CDATA[Claims]]></category>
		<category><![CDATA[Claims Based Authentication]]></category>
		<category><![CDATA[HRD]]></category>
		<category><![CDATA[IdP]]></category>
		<category><![CDATA[RP]]></category>
		<category><![CDATA[STS]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=508</guid>
		<description><![CDATA[With this post I’m going to kick off a series of posts that will cover different topologies in which claims based authentication can be used. We are all familiar with the classic model where the client accesses the application and &#8230; <a href="http://cloudidentityblog.com/2013/05/16/13-shades-of-claims-based-authentication/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=508&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>With this post I’m going to kick off a series of posts that will cover different topologies in which claims based authentication can be used. We are all familiar with the classic model where the client accesses the application and get redirected to the STS for obtaining the security token. The simplest configuration would have this STS to act both as Resource Provider STS and Identity Provider STS. The next is classic configuration with federation with trusted Identity provider organization. There are many more options on how it all can be configured, all really depends on the specific customer requirements. So I want to try and explorer multiple topologies and record a short demonstration for each of them so you can see what is possible and potentially how it can be done. </p>
<p>Here is what I have currently in mind:</p>
<ol>
<li>Client – Application – RP – IDP</li>
<li>Client – Application – RP – RP – IDP</li>
<li>Client – Application – RP – RP – RP – IDP</li>
<li>Introduce Proxy components in the above topologies</li>
<li>Introduce multiple IDPs in the above topologies</li>
<li>Introduce different authentication mechanisms in the above topologies (Integrated, FBA, Certificate, PhoneFactor)</li>
<li>Introduce mechanisms to provide automated HRD discovery</li>
<li>Introduce IDP initiated sign on</li>
<li>Introduce UAG as reverse proxy in the middle</li>
<li>Introduce Azure Active Directory as IDP</li>
<li>Introduce Azure ACS as middle tier to get authentication via Social identities (Microsoft, Facebook, Yahoo, Google)</li>
</ol>
<p>As I work on these scenarios I might drop some of them and I might decide to explorer some other topologies that I have not thought about yet. If you have ideas of what would be interesting to explore then let me know and I might try to get it on my agenda.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/508/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/508/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=508&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2013/05/16/13-shades-of-claims-based-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft Forefront UAG Mobile Configuration Starter</title>
		<link>http://cloudidentityblog.com/2013/03/05/microsoft-forefront-uag-mobile-configuration-starter/</link>
		<comments>http://cloudidentityblog.com/2013/03/05/microsoft-forefront-uag-mobile-configuration-starter/#comments</comments>
		<pubDate>Tue, 05 Mar 2013 20:24:11 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[External Publications]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[UAG]]></category>
		<category><![CDATA[Packt]]></category>
		<category><![CDATA[Packt Publishing]]></category>
		<category><![CDATA[UAG 2010]]></category>
		<category><![CDATA[UAG Mobile]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=503</guid>
		<description><![CDATA[Once in a while I get a request from the Packt Publishing to review one of their new publications. Recently they published a new book Microsoft Forefront UAG Mobile Configuration Starter and asked me to take a look&#160; and see &#8230; <a href="http://cloudidentityblog.com/2013/03/05/microsoft-forefront-uag-mobile-configuration-starter/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=503&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Once in a while I get a request from the <a href="http://www.packtpub.com/">Packt Publishing</a> to review one of their new publications. Recently they published a new book <a href="http://www.packtpub.com/microsoft-forefront-uag-mobile-configuration-starter/book">Microsoft Forefront UAG Mobile Configuration Starter</a> and asked me to take a look&nbsp; and see what I think. The title of the book has one important word – Starter, and I think that this&nbsp; book is a great starter for anyone who is not very familiar with UAG and wishes to use it as application publishing solution to clients with mobile devices. The book&nbsp; provides detailed steps by step instructions on how to configure UAG to publish SharePoint site and Exchange ActiveSync to mobile user population and provide some basic steps on configuration of Windows Phone 7.5 to access SharePoint and use built in Office apps.&nbsp; Probably the most interesting parts of the book are closer to the end when it starts to cover common application publishing scenarios, security and customization, but since this is a Configuration Starter, it only covers these areas at very high level and the majority of the book is devoted to the step by step instructions with a lot of screen shots, which are very useful if you are not familiar with the product.&nbsp;&nbsp; </p>
<p>So overall, if you have a requirement to publish applications to mobile devices and would like to use Microsoft UAG 2010 as reverse publishing solution then you will find this book very useful with initial implementation and evaluation of the product and it has a good number of references to other resources to get additional and more advanced information. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/503/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=503&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2013/03/05/microsoft-forefront-uag-mobile-configuration-starter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>
	</item>
		<item>
		<title>UAG SP3</title>
		<link>http://cloudidentityblog.com/2013/02/25/uag-sp3/</link>
		<comments>http://cloudidentityblog.com/2013/02/25/uag-sp3/#comments</comments>
		<pubDate>Mon, 25 Feb 2013 15:04:08 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[UAG]]></category>
		<category><![CDATA[Service Pack]]></category>
		<category><![CDATA[UAG 2010]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=502</guid>
		<description><![CDATA[In case you have not seen this, Microsoft released SP3 for UAG 2010. Check out what’s new and download it here. You have to install SP2 before installing SP3, these service packs are no cumulative.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=502&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In case you have not seen this, Microsoft released SP3 for UAG 2010. Check out <a href="http://technet.microsoft.com/library/jj906310.aspx">what’s new</a> and <a href="http://www.microsoft.com/en-us/download/details.aspx?id=36788">download it here</a>. </p>
<p>You have to install SP2 before installing SP3, these service packs are no cumulative. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/502/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=502&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2013/02/25/uag-sp3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>
	</item>
		<item>
		<title>Mitigating Pass-the-Hash</title>
		<link>http://cloudidentityblog.com/2013/01/22/mitigating-pass-the-hash/</link>
		<comments>http://cloudidentityblog.com/2013/01/22/mitigating-pass-the-hash/#comments</comments>
		<pubDate>Tue, 22 Jan 2013 17:18:52 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[Cloud Security]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[White Paper]]></category>
		<category><![CDATA[Pass-the-Hash]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=501</guid>
		<description><![CDATA[If you are in the business of securing IT environments then make sure to read the following blog post and referenced white paper. http://blogs.technet.com/b/security/archive/2012/12/11/new-guidance-to-mitigate-determined-adversaries-favorite-attack-pass-the-hash.aspx<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=501&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>If you are in the business of securing IT environments then make sure to read the following blog post and referenced white paper. </p>
<p><a href="http://blogs.technet.com/b/security/archive/2012/12/11/new-guidance-to-mitigate-determined-adversaries-favorite-attack-pass-the-hash.aspx">http://blogs.technet.com/b/security/archive/2012/12/11/new-guidance-to-mitigate-determined-adversaries-favorite-attack-pass-the-hash.aspx</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/501/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/501/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=501&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2013/01/22/mitigating-pass-the-hash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>
	</item>
		<item>
		<title>Custom HomeRealmDiscovery Page with AD FS 2.0</title>
		<link>http://cloudidentityblog.com/2012/09/18/custom-homerealmdiscovery-page-with-ad-fs-2-0/</link>
		<comments>http://cloudidentityblog.com/2012/09/18/custom-homerealmdiscovery-page-with-ad-fs-2-0/#comments</comments>
		<pubDate>Wed, 19 Sep 2012 03:53:45 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[AD FS]]></category>
		<category><![CDATA[Cloud Security]]></category>
		<category><![CDATA[Federation]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[ADFS]]></category>
		<category><![CDATA[Home Realm Discovery]]></category>
		<category><![CDATA[HomeRealmDiscovery]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[SAML]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=499</guid>
		<description><![CDATA[Recently I decided to dissect the structure of the default pages in AD FS 2.0 and see what can be done with creating slightly different look from its default look. I wanted to see what files control what areas in &#8230; <a href="http://cloudidentityblog.com/2012/09/18/custom-homerealmdiscovery-page-with-ad-fs-2-0/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=499&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Recently I decided to dissect the structure of the default pages in AD FS 2.0 and see what can be done with creating slightly different look from its default look. I wanted to see what files control what areas in the UI and what can be done with minimum code changes.
<p>I started working with one of the most common pages accessed in large implementation – the Home Realm Discovery page. As you probably know, the default look of this page is like this:
<p><a href="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image002.jpg"><img title="clip_image002" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0 0 2px;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002" src="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image002_thumb.jpg?w=506&#038;h=177" width="506" height="177"></a>
<p>As part of this exercise I wanted to make it look like this:
<p><a href="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image004.jpg"><img title="clip_image004" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0 0 2px;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image004" src="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image004_thumb.jpg?w=509&#038;h=335" width="509" height="335"></a>
<p>The main page that is accessed to present Home Realm Discovery is HomeRealmDiscovery.aspx. So the first step I took a look at it to see what it is doing and if it using any other support pages. As I suspected, the site is designed to use different files for HTML, C# and CSS code. It also has special language files that contain all the configurable text strings in the UI. Some configuration is done via web.config file. Overall, to move from the default UI to my customized UI I had to modify six files and introduce two graphic files.
<p>The following files have control over the Home Realm Discovery:
<ul>
<li>Inetpub\adfs\ls\web.config</li>
<li>Inetpub\adfs\ls \HomeRealmDiscovery.aspx</li>
<li>Inetpub\adfs\ls \HomeRealmDiscovery.aspx.cs</li>
<li>Inetpub\adfs\ls\App_GlobalResources\CommonResources.resx</li>
<li>Inetpub\adfs\ls\App_GlobalResources\CommonResources.en.resx (and many other language files, if you need to present it in those languages)</li>
<li>Inetpub\adfs\ls\MasterPages\StyleSheet.css</li>
<li>Inetpub\adfs\ls\MasterPages\MasterPage.master</li>
<li>Inetpub\adfs\ls\MasterPages\MasterPage.master.cs</li>
</ul>
<p>Files with .CS extension contain C# code and I did not change them. All the logic associated with proper functionality of the AD FS for presenting the target IdPs, and other AD FS related functionality is done via those pages, but they are not controlling the UI for the Home Realm Discovery page.
<p>On the following diagram I’ll point out what area in the Home Realm Discovery page is controlled by what configuration file.
<p><a href="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image006.jpg"><img title="clip_image006" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0 0 2px;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image006" src="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image006_thumb.jpg?w=497&#038;h=182" width="497" height="182"></a>
<p>1. The background. It is controlled via StyleSheet.css. To modify it you’ll need to modify background-image: in BODY section. By default it is using url(../App_Themes/Default/header_background.png) image. You can replace this with another image of your liking to show in the background. Image can introduce nice color change with shades and such, but you can also just specify the solid color via the tag.
<p>2. Header. The text for the header comes from the CommonResouces files. How it is viewed is controlled by the StyleSheet.css and MasterPage.master files. I replaced the default “Sign In” text with “Contoso Federation Services”, changes style sheet to reflect different font color and its size, tags in style sheet were also used to fine tune its placement. I also had to move its location in the MasterPage.master file so it would appear to the right of the logo, and not above it.
<p>3. STS Title. The title you see here comes from the AD FS Federation Service name you define on the AD FS Properties. The same name you see in the drop down list when you need to select your target IdP. The placement code for STS Title is controlled in MasterPage.master and via style sheet. I removed STS Title from the final page. I had to do this by introducing a new code in the style sheet and replacing the class definition in the MasterPage.master with new style that hides it.
<p>4. The text shown inside the main area comes from the CommonResouces files. The code that defines its placement is controlled via HomeRealmDiscovery.aspx file. You’d need to introduce new sections in it with new Label Text ID and create corresponding Label Text entries in the corresponding CommonResouces files.
<p>5. Text in the button is controlled via CommonResouces files. Its placement can be controlled via HomeRealmDiscovery.aspx file and visual elements via style sheet.
<p>6. The border is controlled via style sheet. Elements like its sickness, colour, how wide etc
<p>7. Optional Logo can be introduced by specifying it via web.config file. Its placement on the page is controlled via the MasterPage.master file and style sheet.
<p>Easy! Right?
<p>OK, so if you like to see more details, here is a bit more on the each change to get from default look to my custom look.
<p>1. Background. Modify StyleSheet.css from this:<br />
<blockquote>
<p>body
<p>{
<p>background-color: #ffffff;
<p>color:#222222;
<p>font-size: 0.8em;
<p>font-weight: normal;
<p>font-family: &#8220;Segoe UI&#8221;, Verdana, Tahoma, Arial, sans-serif;
<p>margin: 0px;
<p>background-repeat: repeat-x;
<p>background-image: url(../App_Themes/Default/header_background.png);
<p>}</p>
</blockquote>
<p>To this:<br />
<blockquote>
<p>body
<p>{
<p>background-color: #ffffff;
<p>color:#222222;
<p>font-size: 0.8em;
<p>font-weight: normal;
<p>font-family: &#8220;Segoe UI&#8221;, Verdana, Tahoma, Arial, sans-serif;
<p>margin: 0px;
<p>background-repeat: repeat-x;
<p>background-image: url(../App_Themes/Default/custombackground.gif);
<p>}</p>
</blockquote>
<p>2. Header. First, in MasterPage.master move the following code<br />
<blockquote>
<p>&lt;div class=&#8221;Header&#8221;&gt;
<p>&lt;asp:Label ID=&#8221;PageTitleLabel&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:Label&gt;
<p>&lt;/div&gt;</p>
</blockquote>
<p>From being in front of the<br />
<blockquote>
<p>&lt;%
<p>string logoPath =
<p>System.Web.Configuration.WebConfigurationManager.AppSettings[ "logo" ];
<p>if( !String.IsNullOrEmpty( logoPath ) )
<p>{
<p>%&gt;
<p>&lt;div class=&#8221;GroupXLargeMargin&#8221;&gt;
<p>&lt;img src=&#8221;&lt;%= logoPath %&gt;&#8221; alt=&#8221;logo&#8221; /&gt;
<p>&lt;/div&gt;
<p>&lt;%
<p>}
<p>%&gt;</p>
</blockquote>
<p>To be behind it, so it looks like this:<br />
<blockquote>
<p>&lt;%
<p>string logoPath =
<p>System.Web.Configuration.WebConfigurationManager.AppSettings[ "logo" ];
<p>if( !String.IsNullOrEmpty( logoPath ) )
<p>{
<p>%&gt;
<p>&lt;div class=&#8221;GroupXLargeMargin&#8221;&gt;
<p>&lt;img src=&#8221;&lt;%= logoPath %&gt;&#8221; alt=&#8221;logo&#8221; /&gt;
<p>&lt;/div&gt;
<p>&lt;%
<p>}
<p>%&gt;
<p>&lt;div class=&#8221;Header&#8221;&gt;
<p>&lt;asp:Label ID=&#8221;PageTitleLabel&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:Label&gt;
<p>&lt;/div&gt;</p>
</blockquote>
<p>Second, update StyleSheet.css Header to look like this:<br />
<blockquote>
<p>.Header
<p>{
<p>color: #000000;
<p>padding: 8px 0 5px 0;
<p>margin-bottom: 1px;
<p>font-size: 200%;
<p>font-weight:bold;
<p>position:relative;
<p>left:184px;
<p>top:-95px;
<p>}</p>
</blockquote>
<p>And finally, replace “Sign In” text in both CommonResouces files for HomeRealmDiscovery text label to be “Contoso Federation Services”.
<p>3. STS Title. To hide it you can do the following:
<p>a. In MasterPage.master page change the following code<br />
<blockquote>
<p>&lt;div class=&#8221;TextSizeXLarge&#8221;&gt;
<p>&lt;asp:Label ID=&#8221;STSLabel&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:Label&gt;
<p>&lt;/div&gt;</p>
</blockquote>
<p>To look like this:<br />
<blockquote>
<p>&lt;div class=&#8221;STSTitleNotVisible&#8221;&gt;
<p>&lt;asp:Label ID=&#8221;STSLabel&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:Label&gt;
<p>&lt;/div&gt;</p>
</blockquote>
<p>b. In StyleSheet.css create new code for STSTitleNotVisible to be this:<br />
<blockquote>
<p>.STSTitleNotVisible
<p>{
<p>visibility:hidden;
<p>}</p>
</blockquote>
<p>4. To introduce new text in the main section update HomeRealmDiscovery.aspx file with new Label Texts and introduce that text to the CommonResouces files.
<p>a. In HomeRealmDiscovery.aspx make &lt;asp:Content section to look like this:<br />
<blockquote>
<p>&lt;asp:Content ID=&#8221;Content1&#8243; ContentPlaceHolderID=&#8221;ContentPlaceHolder1&#8243; Runat=&#8221;Server&#8221;&gt;
<p>&lt;div class=&#8221;GroupXLargeMargin&#8221;&gt;
<p>&lt;asp:Label Text=&#8221;&lt;%$ Resources:CommonResources, HomeRealmSelectionText%&gt;&#8221; runat=&#8221;server&#8221; /&gt;
<p>&lt;/div&gt;
<p>&lt;div class=&#8221;GroupXLargeMargin&#8221;&gt;
<p>&lt;asp:Label Text=&#8221;&lt;%$ Resources:CommonResources, HomeRealmSelectionTextTwo%&gt;&#8221; runat=&#8221;server&#8221; /&gt;
<p>&lt;/div&gt;
<p>&lt;div class=&#8221;GroupXXLargeMargin&#8221;&gt;
<p>&lt;asp:DropDownList ID=&#8221;PassiveIdentityProvidersDropDownList&#8221; DataTextField=&#8221;Name&#8221; DataValueField=&#8221;Id&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:DropDownList&gt;
<p>&lt;asp:Button runat=&#8221;server&#8221; ID=&#8221;PassiveSignInButton&#8221; Text=&#8221;&lt;%$ Resources:CommonResources, HomeRealmSignInButtonText%&gt;&#8221; EnableViewState=&#8221;False&#8221;
<p>OnClick=&#8221;PassiveSignInButton_Click&#8221; CssClass=&#8221;Resizable&#8221;/&gt;
<p>&lt;/div&gt;
<p>&lt;div class=&#8221;GroupXLargeMargin&#8221;&gt;
<p>&lt;asp:Label Text=&#8221;&lt;%$ Resources:CommonResources, HomeRealmSelectionTextThree%&gt;&#8221; runat=&#8221;server&#8221; /&gt;
<p>&lt;a href=&#8221;mailto:Helpdesk@contoso.com?subject=FEDERATION&#8221;&gt;Helpdesk@contoso.com&lt;/a&gt;
<p>&lt;asp:Label Text=&#8221;&lt;%$ Resources:CommonResources, HomeRealmSelectionTextThreeHalf%&gt;&#8221; runat=&#8221;server&#8221; /&gt;
<p>&lt;/div&gt;
<p>&lt;div class=&#8221;GroupXLargeMargin&#8221;&gt;
<p>&lt;asp:Label Text=&#8221;&lt;%$ Resources:CommonResources, HomeRealmSelectionTextFour%&gt;&#8221; runat=&#8221;server&#8221; /&gt;
<p>&lt;/div&gt;
<p>&lt;/asp:Content&gt;</p>
</blockquote>
<p>b. Add the following to the CommonResouces files:<br />
<blockquote>
<p>&lt;data name=&#8221;HomeRealmSelectionTextTwo&#8221; xml:space=&#8221;preserve&#8221;&gt;
<p>&lt;value&gt;NOTE: The following Identity Providers will let you into the application.&lt;/value&gt;
<p>&lt;/data&gt;
<p>&lt;data name=&#8221;HomeRealmSelectionTextThree&#8221; xml:space=&#8221;preserve&#8221;&gt;
<p>&lt;value&gt;If your Organization is not listed, please send an e-mail to the contact at &lt;/value&gt;
<p>&lt;/data&gt;
<p>&lt;data name=&#8221;HomeRealmSelectionTextThreeHalf&#8221; xml:space=&#8221;preserve&#8221;&gt;
<p>&lt;value&gt;and express your interest of your Organization becoming a member of the Federation Framework, and include the name of the application that you are trying to access in your e-mail.&lt;/value&gt;
<p>&lt;/data&gt;
<p>&lt;data name=&#8221;HomeRealmSelectionTextFour&#8221; xml:space=&#8221;preserve&#8221;&gt;
<p>&lt;value&gt;If you believe that you have arrived at this page by accident, please close your web browser and try accessing the application webpage URL again in a new browser session.&lt;/value&gt;
<p>&lt;/data&gt;</p>
</blockquote>
<p>5. The button is moved to be at the same level as the drop down list. This is controlled by removing &lt;div&gt; tags that surround the button code in the HomeRealmDiscovery.aspx.
<p>6. To control the border just change the style sheet .MainActionContainer with this details:<br />
<blockquote>
<p>.MainActionContainer
<p>{
<p>padding: 5px 20px 5px 20px;
<p>border: solid 3px #003300;
<p>min-height: 150px;
<p>position:relative;
<p>top:-30px;
<p>}</p>
</blockquote>
<p>7. Finally, to add the logo do the following:
<p>a. Modify web.config file by uncommenting code that specifies the name of the logo file and then place your logo file in the root folder of AD FS (Inetpub\adfs\ls\)
<p>b. In MasterPage.master change the following code<br />
<blockquote>
<p>&lt;div class=&#8221;GroupXLargeMargin&#8221;&gt;
<p>&lt;img src=&#8221;&lt;%= logoPath %&gt;&#8221; alt=&#8221;logo&#8221; /&gt;
<p>&lt;/div&gt;</p>
</blockquote>
<p>To look like this:<br />
<blockquote>
<p>&lt;div class=&#8221;CustomLogo&#8221;&gt;
<p>&lt;img src=&#8221;&lt;%= logoPath %&gt;&#8221; alt=&#8221;logo&#8221; /&gt;
<p>&lt;/div&gt;</p>
</blockquote>
<p>c. And finally, add new code to the StyleSheet.css:<br />
<blockquote>
<p>.CustomLogo
<p>{
<p>margin-top:25px;
<p>}</p>
</blockquote>
<p>After doing all these changes, the default looking page
<p><a href="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image007.jpg"><img title="clip_image007" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0 0 2px;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image007" src="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image007_thumb.jpg?w=502&#038;h=176" width="502" height="176"></a>
<p>Will look like this:
<p><a href="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image008.jpg"><img title="clip_image008" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0 0 2px;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image008" src="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image008_thumb.jpg?w=501&#038;h=330" width="501" height="330"></a>
<p>Easy, Breezy, Cover…. Hmm, page.
<p>Till next time!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/499/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/499/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=499&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2012/09/18/custom-homerealmdiscovery-page-with-ad-fs-2-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image002_thumb.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image004_thumb.jpg" medium="image">
			<media:title type="html">clip_image004</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image006_thumb.jpg" medium="image">
			<media:title type="html">clip_image006</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image007_thumb.jpg" medium="image">
			<media:title type="html">clip_image007</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/09/clip_image008_thumb.jpg" medium="image">
			<media:title type="html">clip_image008</media:title>
		</media:content>
	</item>
		<item>
		<title>Chaining Multiple STS</title>
		<link>http://cloudidentityblog.com/2012/08/18/chaining-multiple-sts/</link>
		<comments>http://cloudidentityblog.com/2012/08/18/chaining-multiple-sts/#comments</comments>
		<pubDate>Sat, 18 Aug 2012 15:33:04 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[AD FS]]></category>
		<category><![CDATA[Cloud Security]]></category>
		<category><![CDATA[Federation]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[ADFS]]></category>
		<category><![CDATA[Claims]]></category>
		<category><![CDATA[Claims Based Authentication]]></category>
		<category><![CDATA[ICAM]]></category>
		<category><![CDATA[SSO]]></category>
		<category><![CDATA[STS]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=487</guid>
		<description><![CDATA[A few month ago I learned something about claims based authentication that I thought was not possible. Ever since starting working on federation solutions, and learning about it via training courses, reading white papers, specifications and presentations the following two &#8230; <a href="http://cloudidentityblog.com/2012/08/18/chaining-multiple-sts/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=487&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>A few month ago I learned something about claims based authentication that I thought was not possible.</p>
<p>Ever since starting working on federation solutions, and learning about it via training courses, reading white papers, specifications and presentations the following two topologies were always shown or discussed. The first one is where company has its own STS and their applications configured with this STS. The second solution extends on the first one by federation between two STSs, where one STS is acting as RP and the second is acting as IdP. I have never seen any specs or designs that would show more than two STSs in a chain, ie something like this RP-RP-IdP. So for some time I was assuming that protocols that make it all happen (WS-Fed, SAML etc) are designed to work in specific model RP-IdP and would not go beyond this one-one relationship. While this works for majority of the real world situations, in some cases it does not satisfy the complex requirements where chaining of the multiple STSs is required. Well, I thought that it was not possible till a few month ago. I had to design complex federation architecture and this perceived limitation was giving me a lot of headache. So, obviously I did some research and talked to a few people who also specializes in federation solutions and to my great surprise I learned that there is no limitation with protocols and that it is just fine to setup multiple STSs in a chain of trusts. I wish that I learned it prior from someone else’s design or spec paper, clearly stating that it is fine to do this and it will work. Needless to say, we were able to configure our architecture and satisfy customer requirements without additional overhead and keep it very streamlined.</p>
<p>A few days ago I was rebuilding my lab and decided to configure it to illustrate chaining of multiple STSs and show it here. So if anyone else didn’t decipher it in spec papers or other design, and is thinking that chaining is not possible, that it is in fact possible and works just fine. You can use it in your designs if it is a requirement.</p>
<p>In my lab I configured the following to illustrate this configuration: </p>
<ul>
<li>IdP STS (DC, AD FS 2.0), it has the following FS URL: fs1.contoso.com
<li>RP STS (AD FS 2.0), this is a middle STS, with FS URL: fs2.contoso.com
<li>RP STS (AD FS 2.0), this is the STS with target relying party application. FS URL: fs1.external.com
<li>Relying Party (Sample WIF SDK app). This is a workgroup server configured with fs1.external.com as its STS. Application URL <a href="https://myclaims.external.com/myclaims" rel="nofollow">https://myclaims.external.com/myclaims</a>
<li>Workstation that will access the application. I have HTTPWatch installed on this PC to show all traffic passive request traffic between the browser and the target systems.</li>
</ul>
<p>Figure 1 shows my lab configuration:</p>
<p><a href="http://cloudidentityblog.files.wordpress.com/2012/08/image.png"><img title="Figure 1" style="border-top:0;border-right:0;background-image:none;border-bottom:0;float:none;padding-top:0;padding-left:0;margin:0 auto 2px;border-left:0;display:block;padding-right:0;" border="0" alt="Figure 1" src="http://cloudidentityblog.files.wordpress.com/2012/08/image_thumb.png?w=491&#038;h=174" width="491" height="174"></a></p>
<p align="center">Figure 1: Chaining multiple STS </p>
<p>Figure 2 shows the HTTPWatch traffic captured on the client PC. As you can see in steps 1 to 10, the browser steps through all parties in the authentication process and authenticates me into the application. It is fairly self explanatory, but if you have questions then let me know if you need any explanation on what happens here.</p>
<p><a href="http://cloudidentityblog.files.wordpress.com/2012/08/image1.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;float:none;padding-top:0;padding-left:0;margin:0 auto 2px;border-left:0;display:block;padding-right:0;" border="0" alt="image" src="http://cloudidentityblog.files.wordpress.com/2012/08/image_thumb1.png?w=504&#038;h=187" width="504" height="187"></a></p>
<p align="center">Figure 2: HTTPWatch capture of the Passive Request traffic with multiple chained STS (click on it to see it large)</p>
<p>Finally, you might ask why would anyone need to chain STS in such way. To answer it I’ll have to write another blog post. So stay tuned, I might do that in the next month or so.</p>
<p>Thanks, Dmitrii</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/487/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=487&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2012/08/18/chaining-multiple-sts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/08/image_thumb.png" medium="image">
			<media:title type="html">Figure 1</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/08/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Authentication Assurance and Claims Based Authentication</title>
		<link>http://cloudidentityblog.com/2012/06/27/authentication-assurance-and-claims-based-authentication-2/</link>
		<comments>http://cloudidentityblog.com/2012/06/27/authentication-assurance-and-claims-based-authentication-2/#comments</comments>
		<pubDate>Wed, 27 Jun 2012 17:52:23 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[AD FS]]></category>
		<category><![CDATA[Cloud Security]]></category>
		<category><![CDATA[Federation]]></category>
		<category><![CDATA[PKI]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Authentication Mechanism Assurance]]></category>
		<category><![CDATA[Certficate Policy]]></category>
		<category><![CDATA[Certificate Templates]]></category>
		<category><![CDATA[Issuance Policy]]></category>
		<category><![CDATA[OID]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=481</guid>
		<description><![CDATA[Authentication Mechanism Assurance is described in the following Microsoft publication: http://technet.microsoft.com/en-us/library/dd378897(v=WS.10).aspx. In this post I want to dig a bit more into different configuration options, show how it works and provide example of how it can be configured with AD &#8230; <a href="http://cloudidentityblog.com/2012/06/27/authentication-assurance-and-claims-based-authentication-2/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=481&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Authentication Mechanism Assurance is described in the following Microsoft publication: <a href="http://technet.microsoft.com/en-us/library/dd378897(v=WS.10).aspx">http://technet.microsoft.com/en-us/library/dd378897(v=WS.10).aspx</a>. </p>
<p>In this post I want to dig a bit more into different configuration options, show how it works and provide example of how it can be configured with AD FS 2. </p>
<p>Authentication Mechanism Assurance is a new feature in Windows 2008 R2 AD DS configured at 2008 R2 Functional level, it provides an ability to assure that user is authenticated with specific type of certificate. Usually it is used to assure that user is authenticated with a specific type of smart card into AD DS. This assurance can then be passed on to applications which will make authorization decision on what user can or cannot do in it. It is very important feature in environments where specific regulations require to provide assurance of Smart Card authentication. </p>
<p>AD DS configured to use Authentication Mechanism Assurance is capable to identify users who used specific type of Smart Cards for authentication and dynamically populate their Kerberos tickets with security group associated with those specific Smart Cards. The linkage between Smart Card and AD DS is done via the OID populated in Certificate Policy certificate extension. Let’s take a quick look at how it works. The following diagram shows a basic flow of authentication to claims based application which can take advantage of the authentication assurance claim. In our example Contoso has Smart Cards with X.X.XX.XXX.X.X.X.X OID populated in Certificate Policy certificate extension. AD DS is configured to link X.X.XX.XXX.X.X.X.X OID with “Smart Card X Authenticated” security group. </p>
<p>In step 1, user authenticates to their desktop by providing Smart Card and PIN number. During authentication process AD DS detects that user authenticates with Smart Card (it is done by finding X.X.XX.XXX.X.X.X.X OID in the user certs) and builds Kerberos ticket. AD DS will include “Smart Card X Authenticated” security group SID in the Kerberos ticket. </p>
<p>In step 2, user tries to access claims based application which will redirect the browser to its trusted STS. </p>
<p>In step 3 and 4 user will be authenticated to the STS. STS will examine user group membership and because user’s Kerberos ticket contains “Smart Card X Authenticated” SID it will issue special claim type indicating that user was authenticated to AD DS with their Smart Card. </p>
<p>This token will be passed to the application. In step 5, application will have a choice to provide different logic for users who authenticated to AD DS with a Smart Card or without. Simple enough.</p>
<p>&nbsp;<a href="http://cloudidentityblog.files.wordpress.com/2012/06/authnmechanismassurance.png"><img title="AuthNMechanismAssurance" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0 0 2px;border-left:0;display:inline;padding-right:0;" border="0" alt="AuthNMechanismAssurance" src="http://cloudidentityblog.files.wordpress.com/2012/06/authnmechanismassurance_thumb.png?w=491&#038;h=399" width="491" height="399"></a></p>
<p>Let’s take a look how it all can be configured. I’m not going to repeat some of the steps described in the before mentioned Microsoft publication. I’ll refer to it when necessary. </p>
<p>The first step in configuring Authentication Mechanism Assurance is to create proper Issuance Policy in AD DS. The OID in AD DS Issuance Policy must match the OID in Certificate Policy on the Authentication certificate on the Smart Card. It will look something like this on the certificate: </p>
<p>[1]Certificate Policy: </p>
<p>Policy Identifier=X.XX.XXX.X.XXX.X.X.X.X.XX </p>
<p>More likely your AD DS will not have this OID and you’ll need to create one. Fortunately it is easy to do: </p>
<ol>
<li>Open Certificate Template management console.
<li>Open any v2 certificate template.
<li>Click on Extensions Tab, Click on “Issuance Policies” and then click Edit.
<li>Click on Add, then click on New.
<li>In the Name field type: <b>Smart Card AuthN Cert</b>
<li>In the object identifier field type: X.XX.XXX.X.XXX.X.X.X.X.XX (where XXX – is the OID from the cert on Smart Card)
<li>Click OK
<li>Do not save changes to the certificate template. Exit Certificate Management Console. </li>
</ol>
<p>At this point you are ready to link appropriate security group to the Certificate Issuance policy. Create <b>get-IssuancePolicy.ps1</b> and <b>set-IssuancePolicyToGroupLink.ps1</b> files as described in Microsoft article. Run the first one to see if there are policies already in place. Run the second to make the linkage. </p>
<p>To display run this: <b>.\get-IssuancePolicy.ps1 –LinkedToGroup:All</b> </p>
<p>To create new policy: <b>.\set-IssuancePolicyToGroupLink.ps1 –IssuancePolicyName &#8220;Smart Card AuthN Cert&#8221; –groupOU &#8220;Auth Mech Assurance&#8221; –groupName &#8220;Smart Card Authenticated&#8221;</b> </p>
<p>To see new policy:<b> </b><b>.\get-IssuancePolicy.ps1 –LinkedToGroup:All</b> </p>
<p>So far, so good. We configured Authentication Mechanism Assurance. To verify that it actually working logon to AD DS with Smart Card, open command prompt and type <b>whoami /groups</b>. It will list all the groups that you belong, one of them will be <b>Smart Card Authenticated</b>. Logon with UserID/pwd and you’ll not be member of that group. </p>
<p>The next step is really making some use out of this information. Applications must be designed to take advantage of this information and make authorization decisions based on level of assurance we provide to it. Perfect candidates for it are claims based applications. We can generate a claim type, for example lets name it “LOA”, which stands for Level of Assurance, and assign different value to it. If user used userID/pwd, we assign 2 to LOA, if user used Smart Card then LOA will have 3. Application will decide what to do base on those values in LOA claim type. </p>
<p>Next, we are going to create LOA claim type in AD FS 2 and pass it to the application. I’ll discuss it in the next post.</p>
<p>Thanks for stopping by. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/481/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=481&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2012/06/27/authentication-assurance-and-claims-based-authentication-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/06/authnmechanismassurance_thumb.png" medium="image">
			<media:title type="html">AuthNMechanismAssurance</media:title>
		</media:content>
	</item>
		<item>
		<title>Authentication Assurance and Claims Based Authentication</title>
		<link>http://cloudidentityblog.com/2012/06/27/authentication-assurance-and-claims-based-authentication/</link>
		<comments>http://cloudidentityblog.com/2012/06/27/authentication-assurance-and-claims-based-authentication/#comments</comments>
		<pubDate>Wed, 27 Jun 2012 17:31:27 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[AD FS]]></category>
		<category><![CDATA[Federation]]></category>
		<category><![CDATA[PKI]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Authentication Mechanism Assurance]]></category>
		<category><![CDATA[Certficate Policy]]></category>
		<category><![CDATA[Certificate Templates]]></category>
		<category><![CDATA[Issuance Policy]]></category>
		<category><![CDATA[OID]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=477</guid>
		<description><![CDATA[Authentication Mechanism Assurance is described in the following Microsoft publication: http://technet.microsoft.com/en-us/library/dd378897(v=WS.10).aspx. In this post I want to dig a bit more into different configuration options, show how it works and provide example of how it can be configured with AD &#8230; <a href="http://cloudidentityblog.com/2012/06/27/authentication-assurance-and-claims-based-authentication/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=477&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Authentication Mechanism Assurance is described in the following Microsoft publication: <a href="http://technet.microsoft.com/en-us/library/dd378897(v=WS.10).aspx">http://technet.microsoft.com/en-us/library/dd378897(v=WS.10).aspx</a>.
<p>In this post I want to dig a bit more into different configuration options, show how it works and provide example of how it can be configured with AD FS 2.
<p>Authentication Mechanism Assurance is a new feature in Windows 2008 R2 AD DS configured at 2008 R2 Functional level, it provides an ability to assure that user is authenticated with specific type of certificate. Usually it is used to assure that user is authenticated with a specific type of smart card into AD DS. This assurance can then be passed on to applications which will make authorization decision on what user can or cannot do in it. It is very important feature in environments where specific regulations require to provide assurance of Smart Card authentication.
<p>AD DS configured to use Authentication Mechanism Assurance is capable to identify users who used specific type of Smart Cards for authentication and dynamically populate their Kerberos tickets with security group associated with those specific Smart Cards. The linkage between Smart Card and AD DS is done via the OID populated in Certificate Policy certificate extension. Let’s take a quick look at how it works. The following diagram shows a basic flow of authentication to claims based application which can take advantage of the authentication assurance claim. In our example Contoso has Smart Cards with X.X.XX.XXX.X.X.X.X OID populated in Certificate Policy certificate extension. AD DS is configured to link X.X.XX.XXX.X.X.X.X OID with “Smart Card X Authenticated” security group.
<p>In step 1, user authenticates to their desktop by providing Smart Card and PIN number. During authentication process AD DS detects that user authenticates with Smart Card (it is done by finding X.X.XX.XXX.X.X.X.X OID in the user certs) and builds Kerberos ticket. AD DS will include “Smart Card X Authenticated” security group SID in the Kerberos ticket.
<p>In step 2, user tries to access claims based application which will redirect the browser to its trusted STS.
<p>In step 3 and 4 user will be authenticated to the STS. STS will examine user group membership and because user’s Kerberos ticket contains “Smart Card X Authenticated” SID it will issue special claim type indicating that user was authenticated to AD DS with their Smart Card.
<p>This token will be passed to the application. In step 5, application will have a choice to provide different logic for users who authenticated to AD DS with a Smart Card or without. Simple enough.
<p><a href="http://cloudidentityblog.files.wordpress.com/2012/06/clip_image002.png"><img title="" style="margin:0 0 2px;display:inline;" alt="" src="http://cloudidentityblog.files.wordpress.com/2012/06/clip_image002_thumb.png?w=494&#038;h=404" width="494" height="404"></a>
<p>Let’s take a look how it all can be configured. I’m not going to repeat some of the steps described in the before mentioned Microsoft publication. I’ll refer to it when necessary.
<p>The first step in configuring Authentication Mechanism Assurance is to create proper Issuance Policy in AD DS. The OID in AD DS Issuance Policy must match the OID in Certificate Policy on the Authentication certificate on the Smart Card. It will look something like this on the certificate:
<p>[1]Certificate Policy:
<p>Policy Identifier=X.XX.XXX.X.XXX.X.X.X.X.XX
<p>More likely your AD DS will not have this OID and you’ll need to create one. Fortunately it is easy to do:
<ol>
<li>Open Certificate Template management console.
<li>Open any v2 certificate template.
<li>Click on Extensions Tab, Click on “Issuance Policies” and then click Edit.
<li>Click on Add, then click on New.
<li>In the Name field type: <b>Smart Card AuthN Cert</b>
<li>In the object identifier field type: X.XX.XXX.X.XXX.X.X.X.X.XX (where XXX – is the OID from the cert on Smart Card)
<li>Click OK
<li>Do not save changes to the certificate template. Exit Certificate Management Console.</li>
</ol>
<p>At this point you are ready to link appropriate security group to the Certificate Issuance policy. Create <b>get-IssuancePolicy.ps1</b> and <b>set-IssuancePolicyToGroupLink.ps1</b> files as described in Microsoft article. Run the first one to see if there are policies already in place. Run the second to make the linkage.
<p>To display run this: <b>.\get-IssuancePolicy.ps1 –LinkedToGroup:All</b>
<p>To create new policy: <b>.\set-IssuancePolicyToGroupLink.ps1 –IssuancePolicyName &#8220;Smart Card AuthN Cert&#8221; –groupOU &#8220;Auth Mech Assurance&#8221; –groupName &#8220;Smart Card Authenticated&#8221;</b>
<p>To see new policy:<b> </b><b>.\get-IssuancePolicy.ps1 –LinkedToGroup:All</b>
<p>So far, so good. We configured Authentication Mechanism Assurance. To verify that it actually working logon to AD DS with Smart Card, open command prompt and type <b>whoami /groups</b>. It will list all the groups that you belong, one of them will be <b>Smart Card Authenticated</b>. Logon with UserID/pwd and you’ll not be member of that group.
<p>The next step is really making some use out of this information. Applications must be designed to take advantage of this information and make authorization decisions based on level of assurance we provide to it. Perfect candidates for it are claims based applications. We can generate a claim type, for example lets name it “LOA”, which stands for Level of Assurance, and assign different value to it. If user used userID/pwd, we assign 2 to LOA, if user used Smart Card then LOA will have 3. Application will decide what to do base on those values in LOA claim type.
<p>Next, we are going to create LOA claim type in AD FS 2 and pass it to the application. I’ll discuss it in the next post.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/477/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/477/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=477&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2012/06/27/authentication-assurance-and-claims-based-authentication/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>

		<media:content url="http://cloudidentityblog.files.wordpress.com/2012/06/clip_image002_thumb.png" medium="image" />
	</item>
		<item>
		<title>New UAG Book &#8211; Mastering Microsoft Forefront UAG 2010 Customization</title>
		<link>http://cloudidentityblog.com/2012/03/27/new-uag-book-mastering-microsoft-forefront-uag-2010-customization/</link>
		<comments>http://cloudidentityblog.com/2012/03/27/new-uag-book-mastering-microsoft-forefront-uag-2010-customization/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 13:03:57 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[External Publications]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[UAG]]></category>
		<category><![CDATA[UAG 2010]]></category>
		<category><![CDATA[UAG Custom Portal]]></category>
		<category><![CDATA[UAG Customization]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=472</guid>
		<description><![CDATA[My last few posts were dedicated to customization of the look and feel of the UAG 2010 Logon/Logoff and Portal experience. I had to figure out a lot of it on my own without any type of documentation. Well, there &#8230; <a href="http://cloudidentityblog.com/2012/03/27/new-uag-book-mastering-microsoft-forefront-uag-2010-customization/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=472&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>My last few posts were dedicated to customization of the look and feel of the UAG 2010 Logon/Logoff and Portal experience. I had to figure out a lot of it on my own without any type of documentation. Well, there is a good news, PACKT Publishing just released a new book on how to customize UAG implementation. It is written by the same folks who wrote a must have book on UAG Administration, and published from the same publisher. If you are doing any work with UAG 2010 then both of these books should be in your library! </p>
<p>I just had a chance to read through the new book. It covers a lot of different topics and shows how to customize UAG installation, and at the same time keep it in supported condition.</p>
<p>You can check it out at the publisher web site <a title="http://www.packtpub.com/mastering-microsoft-forefront-uag-2010-customization/book" href="http://www.packtpub.com/mastering-microsoft-forefront-uag-2010-customization/book">http://www.packtpub.com/mastering-microsoft-forefront-uag-2010-customization/book</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/472/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=472&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2012/03/27/new-uag-book-mastering-microsoft-forefront-uag-2010-customization/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>
	</item>
		<item>
		<title>UAG 2010 Custom Logon and Logoff Pages</title>
		<link>http://cloudidentityblog.com/2012/01/22/uag-2010-custom-logon-and-logoff-pages/</link>
		<comments>http://cloudidentityblog.com/2012/01/22/uag-2010-custom-logon-and-logoff-pages/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 00:11:41 +0000</pubDate>
		<dc:creator>Dmitrii</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[UAG]]></category>
		<category><![CDATA[White Paper]]></category>
		<category><![CDATA[UAG 2010]]></category>
		<category><![CDATA[UAG Custom Portal]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[PortlalHomePage]]></category>
		<category><![CDATA[CustomUpdate]]></category>
		<category><![CDATA[EN-US.XML]]></category>
		<category><![CDATA[Logout.Sitemap]]></category>
		<category><![CDATA[Web.Sitemap]]></category>
		<category><![CDATA[Office.css]]></category>
		<category><![CDATA[Template.css]]></category>
		<category><![CDATA[InternalSite]]></category>
		<category><![CDATA[Logon]]></category>
		<category><![CDATA[Logoff]]></category>

		<guid isPermaLink="false">https://cloudidentityblog.wordpress.com/?p=470</guid>
		<description><![CDATA[Ever needed to modify UAG 2010 default Logon/Logoff pages to something a bit more custom? I did on one of my recent projects. See it for more details on full width page on my blog at&#160; http://cloudidentityblog.com/white-papers/uag-2010-custom-logon-and-logoff-pages/ Thanks,Dmitrii<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=470&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Ever needed to modify UAG 2010 default Logon/Logoff pages to something a bit more custom? I did on one of my recent projects.
<p>See it for more details on full width page on my blog at&nbsp; <a title="http://cloudidentityblog.com/white-papers/uag-2010-custom-logon-and-logoff-pages/" href="http://cloudidentityblog.com/white-papers/uag-2010-custom-logon-and-logoff-pages/">http://cloudidentityblog.com/white-papers/uag-2010-custom-logon-and-logoff-pages/</a>
<p>Thanks,<br />Dmitrii</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cloudidentityblog.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cloudidentityblog.wordpress.com/470/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cloudidentityblog.com&#038;blog=19316248&#038;post=470&#038;subd=cloudidentityblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cloudidentityblog.com/2012/01/22/uag-2010-custom-logon-and-logoff-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6431ee0ed5ab3598d5db8ef627285997?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sillymonkeyphoto</media:title>
		</media:content>
	</item>
	</channel>
</rss>
