<?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/"
	>

<channel>
	<title>security level &#8211; privacyID3A</title>
	<atom:link href="https://www.privacyidea.org/tag/security-level/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.privacyidea.org</link>
	<description>flexible, Open Source Multi Factor Authentication (2FA)</description>
	<lastBuildDate>Wed, 20 Jan 2016 11:22:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.5</generator>

<image>
	<url>https://www.privacyidea.org/wp-content/uploads/2016/06/cropped-only-logo-white-background-32x32.png</url>
	<title>security level &#8211; privacyID3A</title>
	<link>https://www.privacyidea.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Choose required Security Level with privacyIDEA</title>
		<link>https://www.privacyidea.org/choose-required-security-level-with-privacyidea/</link>
					<comments>https://www.privacyidea.org/choose-required-security-level-with-privacyidea/#respond</comments>
		
		<dc:creator><![CDATA[Cornelius Kölbel]]></dc:creator>
		<pubDate>Wed, 20 Jan 2016 11:22:09 +0000</pubDate>
				<category><![CDATA[opinions]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Google Authenticator]]></category>
		<category><![CDATA[security level]]></category>
		<category><![CDATA[SMS OTP]]></category>
		<category><![CDATA[Token Types]]></category>
		<category><![CDATA[Yubikey]]></category>
		<guid isPermaLink="false">https://www.privacyidea.org/?p=852</guid>

					<description><![CDATA[With SMS OTP a one time password is sent to a mobile phone. The user is supposed to enter this one time password in addition to his static password. This way, the authenticating party thinks to verify, that the user is in the possession of the mobile phone. This is a cheap way to establish [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>With SMS OTP a one time password is sent to a mobile phone. The user is supposed to enter this one time password in addition to his static password. This way, the authenticating party thinks to verify, that the user is in the possession of the mobile phone.</p>
<p>This is a cheap way to establish two-factor authentication with something you know and something you have.</p>
<h2>Several attack vectors for Two-Factor Authentication with SMS OTP</h2>
<figure id="attachment_856" aria-describedby="caption-attachment-856" style="width: 300px" class="wp-caption alignright"><a href="https://www.privacyidea.org/wp-content/uploads/2016/01/mobile-phone-991494_640.jpg" rel="attachment wp-att-856"><img fetchpriority="high" decoding="async" class="size-medium wp-image-856" src="https://www.privacyidea.org/wp-content/uploads/2016/01/mobile-phone-991494_640-300x167.jpg" alt="Your OTP on the mobile is vulnarable." width="300" height="167" srcset="https://www.privacyidea.org/wp-content/uploads/2016/01/mobile-phone-991494_640-300x167.jpg 300w, https://www.privacyidea.org/wp-content/uploads/2016/01/mobile-phone-991494_640.jpg 640w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-856" class="wp-caption-text">Your OTP on the mobile is vulnarable.</figcaption></figure>
<p>But lateley there are again some news about the vularability of OTP values sent via SMS. There are different attack vectors. In one scenario <a href="http://mobilemarketingmagazine.com/97087-2/" target="_blank">the attacker can reroute or &#8220;steal&#8221; the SIM card by doing social engineering at the telephone provider</a>. In another scenario <a href="http://www.businessinsider.de/malware-discovered-that-defeats-two-factor-authentication-symantec-2016-1" target="_blank">a malicious software is installed on the smartphone, that can sniff the OTP value</a>.</p>
<p>Yes, privacyIDEA also supports sending OTP values via SMS and privacyIDEA is also vulnarable to these attacks &#8211; since it is the basic concept that lacks the necessary security.</p>
<h2>Security is shades of grey &#8212; or white</h2>
<figure id="attachment_855" aria-describedby="caption-attachment-855" style="width: 300px" class="wp-caption alignleft"><a href="https://www.privacyidea.org/wp-content/uploads/2016/01/mixing-desk-351478_640.jpg" rel="attachment wp-att-855"><img decoding="async" class="size-medium wp-image-855" src="https://www.privacyidea.org/wp-content/uploads/2016/01/mixing-desk-351478_640-300x199.jpg" alt="Security is shades of grey. Some volume between 0 and 99%." width="300" height="199" srcset="https://www.privacyidea.org/wp-content/uploads/2016/01/mixing-desk-351478_640-300x199.jpg 300w, https://www.privacyidea.org/wp-content/uploads/2016/01/mixing-desk-351478_640.jpg 640w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-855" class="wp-caption-text">Security is shades of grey. Some volume between 0 and 99%.</figcaption></figure>
<p>But you might have heard that &#8220;there is no 100% security&#8221;. And that &#8220;security is a process&#8221;. And now I add to these idioms &#8220;Security is Shades of Grey&#8221;.</p>
<p>You gain security by using a password on your account to lock the desktop. But are you secure? You gain further security by adding a second factor during authentication. But is your data secure, now? You gain further security by encrypting the harddisk (a.k.a. your data) of your desktop. But is it secure?</p>
<p>Yes, it is good to use a password. You should not use none.</p>
<p>And yes, it is goot to use SMS OTP. It is better than to not use it. In certain cases it might be OK to use SMS OTP being aware of the possible risks.</p>
<p>But there are further steps or other possiblities to increase security.</p>
<h2>Choice of Security Level</h2>
<p>With privacyIDEA you have the choice, which security level you are going to use. And this may even depend on the application and the client.</p>
<p>You may use <a href="https://www.privacyidea.org/about/features/">SMS OTP, Email OTP, Smartphone Apps like the Google Authenticator, hardware key fobs and seedable tokens</a> like the <a href="https://www.privacyidea.org/privacyidea-admin-client-for-yubikey-mass-enrollment/">Yubikey</a>. Using privacyIDEA&#8217;s policy definitions, <a href="https://www.privacyidea.org/enforcing-security-policies-security-levels-with-different-otp-token-types/">you can define which token type is allowed to be used for authentication at which application</a>. This way you can accept the risk of using e.g. SMS OTP for low security applications and hardware devices like the yubikey for applications requiring higher confidentiality.</p>
<p>See the <a href="http://privacyidea.readthedocs.org/en/latest/policies/index.html" target="_blank">online documentation on policies</a> for more information or come to the <a href="https://groups.google.com/forum/#!forum/privacyidea" target="_blank">Google Group mailing list</a>.</p>
<p>If you require any <a href="https://netknights.it/en" target="_blank">professional assistance you may contact the maintainer of privacyIDEA</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.privacyidea.org/choose-required-security-level-with-privacyidea/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Enforcing security policies: Security Levels with different OTP token types</title>
		<link>https://www.privacyidea.org/enforcing-security-policies-security-levels-with-different-otp-token-types/</link>
					<comments>https://www.privacyidea.org/enforcing-security-policies-security-levels-with-different-otp-token-types/#respond</comments>
		
		<dc:creator><![CDATA[Cornelius Kölbel]]></dc:creator>
		<pubDate>Mon, 07 Jul 2014 16:08:28 +0000</pubDate>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Google Authenticator]]></category>
		<category><![CDATA[mass enrollment]]></category>
		<category><![CDATA[security level]]></category>
		<category><![CDATA[server farm]]></category>
		<category><![CDATA[Yubikey]]></category>
		<guid isPermaLink="false">https://www.privacyidea.org/?p=262</guid>

					<description><![CDATA[There are some good howtos around, so that you may already have secured your SSH login to your single server using Google Authenticator as described here. Or did you set up a Yubico validation server and configured Yubikey authentication for a bunch of hosts via RADIUS? Today I will show you, how you can setup [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There are some good howtos around, so that you may already have secured your SSH login to your single server using Google Authenticator as described <a href="http://www.blackmoreops.com/2014/06/26/securing-ssh-two-factor-authentication-using-google-authenticator/" target="_blank">here.</a> Or did you set up a Yubico validation server and configured Yubikey authentication for a <a href="http://www.andybotting.com/using-the-yubikey-for-two-factor-authentication-on-linux" target="_blank">bunch of hosts</a> via RADIUS?</p>
<p>Today I will show you, how you can setup a scenario, where users can authenticate with Yubikey and/or Google Authenticator and you can define centrally, for which server the users need a Yubikey to authenticate and for which other server a Google Authenticator would be sufficient. Thus you can enforce security levels, meaning servers carrying more sensitive data can only be accessed with a hardware device like the Yubikey while others are ok to be accessed with a software token like the Google Authenticator.</p>
<h2>Unique user, two tokens, many machines</h2>
<p>You should already have read about <a href="http://www.howtoforge.com/how-to-enroll-and-use-a-yubikey-with-pivacyidea" target="_blank">enrolling yubikeys</a> and how to use privacyIDEA for  <a href="http://www.howtoforge.com/manage-two-factor-authentication-in-your-serverfarm-with-privacyidea" target="_blank">two factor authentication to your server farm</a>. So I assume, that you have a running installation.</p>
<p>You should have enrolled two tokens to the user root as depicted below:</p>
<figure id="attachment_264" aria-describedby="caption-attachment-264" style="width: 300px" class="wp-caption alignnone"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/two-otp-tokens.png"><img decoding="async" class="wp-image-264 size-medium" src="https://www.privacyidea.org/wp-content/uploads/2014/07/two-otp-tokens-300x170.png" alt="two-otp-tokens" width="300" height="170" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/two-otp-tokens-300x170.png 300w, https://www.privacyidea.org/wp-content/uploads/2014/07/two-otp-tokens.png 923w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-264" class="wp-caption-text">One user with two tokens of different type</figcaption></figure>
<p>The user root has a Google Authenticator (serial OATH&#8230;, OTP PIN &#8220;google&#8221;) and a Yubikey (serial UBOM&#8230;, OTP PIN &#8220;yubi&#8221;) token.</p>
<p>Both tokens can be used to authenticate from all configured clients. From localhost (172.16.200.41):</p>
<pre><strong>[root@centos6 ~]#</strong> echo "User-Name=root, Password=google977398" | radclient -sx localhost auth testing123
Sending Access-Request of id 167 to 127.0.0.1 port 1812
 User-Name = "root"
 Password = "google977398"
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=167, length=48
 Reply-Message = "privacyIDEA access granted"
Total approved auths: 1
 Total denied auths: 0
 Total lost auths: 0
</pre>
<pre>[root@centos6 ~]# echo "User-Name=root, Password=yubi899739" | radclient -sx localhost auth testing123
Sending Access-Request of id 100 to 127.0.0.1 port 1812
 User-Name = "root"
 Password = "yubi899739"
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=100, length=48
 Reply-Message = "privacyIDEA access granted"
Total approved auths: 1
 Total denied auths: 0
 Total lost auths: 0</pre>
<p>Or from a remote host (172.16.200.106):</p>
<pre><strong>cornelius@puckel</strong> ~ % echo "User-Name=root, Password=google308786" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 11 to 172.16.200.41 port 1812
    User-Name = "root"
    Password = "google308786"
rad_recv: Access-Accept packet from host 172.16.200.41 port 1812, id=11, length=48
    Reply-Message = "privacyIDEA access granted"

       Total approved auths:  1
       Total denied auths:  0
       Total lost auths:  0</pre>
<pre>cornelius@puckel ~ % echo "User-Name=root, Password=yubi867011" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 47 to 172.16.200.41 port 1812
    User-Name = "root"
    Password = "yubi867011"
rad_recv: Access-Accept packet from host 172.16.200.41 port 1812, id=47, length=48
    Reply-Message = "privacyIDEA access granted"

       Total approved auths:  1
       Total denied auths:  0
       Total lost auths:  0
</pre>
<h2>The idea</h2>
<p>The idea is to allow access on the machine 172.16.200.106 only with yubikeys. This is the machine that carries tons of sensitive data and we do not want users to authenticate with their Google Authenticator.</p>
<h2>The host with the higher security level</h2>
<p>To accomplish this privacyIDEA provides a special <a href="https://privacyidea.org/doc/1.1/policies/authorization.html#serial" target="_blank">authorization policy</a> that will only grant access, if the the authentication was performed with the correct token.</p>
<p>So lets configure a policy:</p>
<figure id="attachment_272" aria-describedby="caption-attachment-272" style="width: 500px" class="wp-caption alignnone"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive.png"><img loading="lazy" decoding="async" class="wp-image-272" src="https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive-300x159.png" alt="sensitive" width="500" height="266" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive-300x159.png 300w, https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive-1024x544.png 1024w, https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive.png 1025w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a><figcaption id="caption-attachment-272" class="wp-caption-text">A policy restricting the access to the system to Yubikey token types.</figcaption></figure>
<figure id="attachment_274" aria-describedby="caption-attachment-274" style="width: 284px" class="wp-caption alignright"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/system-config.png"><img loading="lazy" decoding="async" class="wp-image-274 size-medium" src="https://www.privacyidea.org/wp-content/uploads/2014/07/system-config-284x300.png" alt="system-config" width="284" height="300" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/system-config-284x300.png 284w, https://www.privacyidea.org/wp-content/uploads/2014/07/system-config.png 608w" sizes="auto, (max-width: 284px) 100vw, 284px" /></a><figcaption id="caption-attachment-274" class="wp-caption-text">Override the client interformation</figcaption></figure>
<p>This policy tells the system, that if the client 172.16.200.106 issues an authentication request, it should only be approved, if the serial number of the authenticating token contains the string &#8220;UBOM&#8221;.</p>
<p><strong>Note: </strong>As we are using RADIUS the client 172.16.200.106 issues a radius request to the RADIUS server 172.16.200.41 and the RADIUS server issues the request to the privacyIDEA server 172.16.200.41/127.0.01. Thus the request that arrives at the privacyIDEA server will always be issued by the RADIUS server. So we need to allow the RADIUS server to overwrite the client information &#8211; thus the RADIUS server will tell the privacyIDEA server, what the calling RADIUS client was.</p>
<p>We can set this in the <strong>system config</strong>.</p>
<p>We set the localhost and the eth0 IP of the RADIUS server in a comma seperated list: <strong>127.0.0.1, 172.16.200.41</strong>.</p>
<p>The yubikey now can successfully authenticate at the sensitive host:</p>
<pre><strong>cornelius@puckel</strong> ~ % echo "User-Name=root, Password=yubi773998" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 88 to 172.16.200.41 port 1812
 User-Name = "root"
 Password = "yubi773998"
rad_recv: Access-Accept packet from host 172.16.200.41 port 1812, id=88, length=48
 Reply-Message = "privacyIDEA access granted"
<strong> Total approved auths: 1</strong>
 Total denied auths: 0
 Total lost auths: 0</pre>
<p>while the Google Authenticator fails to do so:</p>
<pre><strong>cornelius@puckel</strong> ~ % echo "User-Name=root, Password=google850707" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 24 to 172.16.200.41 port 1812
 User-Name = "root"
 Password = "google850707"
rad_recv: Access-Reject packet from host 172.16.200.41 port 1812, id=24, length=55
 Reply-Message = "privacyIDEA server denied access!"
 Total approved auths: 0
<strong> Total denied auths: 1</strong>
 Total lost auths: 0</pre>
<p>We can see this in the privacyIDEA audit log:</p>
<figure id="attachment_277" aria-describedby="caption-attachment-277" style="width: 300px" class="wp-caption alignnone"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail.png"><img loading="lazy" decoding="async" class="wp-image-277 size-medium" src="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail-300x34.png" alt="Google Authenticator fails to authenticate on the server 172.16.200.106 with the sensitive data." width="300" height="34" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail-300x34.png 300w, https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail-1024x116.png 1024w, https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail.png 1296w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-277" class="wp-caption-text">Google Authenticator fails to authenticate on the server 172.16.200.106 with the sensitive data.</figcaption></figure>
<h2>Google Authenticator is still good for default servers</h2>
<p>But we can still use the Google Authenticator for the default server with lower security level:</p>
<pre>[root@centos6 ~]# echo "User-Name=root, Password=google069728" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 162 to 172.16.200.41 port 1812
    User-Name = "root"
    Password = "google069728"
rad_recv: Access-Accept packet from host 172.16.200.41 port 1812, id=162, length=48
    Reply-Message = "privacyIDEA access granted"

       Total approved auths:  1
         Total denied auths:  0
           Total lost auths:  0</pre>
<p>We can check this in the audit log, again:</p>
<figure id="attachment_279" aria-describedby="caption-attachment-279" style="width: 300px" class="wp-caption alignnone"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success.png"><img loading="lazy" decoding="async" class="wp-image-279 size-medium" src="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success-300x31.png" alt="Successfull authenticate on low security server 172.16.200.41" width="300" height="31" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success-300x31.png 300w, https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success-1024x106.png 1024w, https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success.png 1154w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-279" class="wp-caption-text">Successfull authenticate on low security server 172.16.200.41</figcaption></figure>
<p>&nbsp;</p>
<h2>Conclusion</h2>
<p>privacyIDEA can be used to enroll many different authenticators to your users and mange these devices centrally.</p>
<p>In a second step you can decide <strong>who</strong> authenticates <strong>where</strong> with <strong>which</strong> device without bothering to reenroll any device.</p>
<p>Thus you can enforce your security policies easily. Additionally the audit log keeps track of all events that do not comply to your security policy.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.privacyidea.org/enforcing-security-policies-security-levels-with-different-otp-token-types/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
