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

<channel>
	<title>OTP via Authenticator Apps - Inero Software - Software Consulting</title>
	<atom:link href="https://inero-software.com/tag/otp-via-authenticator-apps/feed/" rel="self" type="application/rss+xml" />
	<link>https://inero-software.com/tag/otp-via-authenticator-apps/</link>
	<description>We unleash innovations using cutting-edge technologies, modern design and AI</description>
	<lastBuildDate>Wed, 06 Nov 2024 07:29:04 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://inero-software.com/wp-content/uploads/2018/11/inero-logo-favicon.png</url>
	<title>OTP via Authenticator Apps - Inero Software - Software Consulting</title>
	<link>https://inero-software.com/tag/otp-via-authenticator-apps/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">153509928</site>	<item>
		<title>Step-by-Step Guide to Enabling Multi-Factor Authentication (MFA) in Keycloak</title>
		<link>https://inero-software.com/multi-factor-authentication-in-keycloak/</link>
		
		<dc:creator><![CDATA[Marceli Formela]]></dc:creator>
		<pubDate>Wed, 05 Jun 2024 09:51:42 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[Keycloak]]></category>
		<category><![CDATA[Email-based OTP]]></category>
		<category><![CDATA[keycloak]]></category>
		<category><![CDATA[MFA]]></category>
		<category><![CDATA[Multi-Factor Authentication]]></category>
		<category><![CDATA[OTP]]></category>
		<category><![CDATA[OTP via Authenticator Apps]]></category>
		<category><![CDATA[push notifications]]></category>
		<category><![CDATA[SMS-based OTP]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=5794</guid>

					<description><![CDATA[<p>Artykuł <a href="https://inero-software.com/multi-factor-authentication-in-keycloak/">Step-by-Step Guide to Enabling Multi-Factor Authentication (MFA) in Keycloak</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="row"><div class="col-sm-1"></div><div class="col-sm-10">
<p><span style="font-weight: 400;">In today&#8217;s digital age, the importance of securing online resources has never been greater. As these threats continue to evolve, the traditional method of relying on passwords has proven insufficient in protecting sensitive information. This escalation underscored the necessity for more sophisticated security measures, leading to the widespread adoption of Multi-Factor-Authentication (MFA). In this blog post, we will explore still growing online threats and how MFA serves as a defense mechanism for our applications.</span></p>
<h3><b>What is MFA?</b></h3>
<p><span style="font-weight: 400;">Multi-Factor Authentication (MFA) enhances the security of your applications by requiring users to provide multiple forms of identification before granting access. Of course, tools like Keycloak support MFA and allow administrators to configure it with ease. This guide offers a detailed, step-by-step procedure to enable MFA in Keycloak, ensuring that your user authentication processes are more secure.</span></p>
<p><span style="font-weight: 400;">MFA is designed to protect users against the vulnerabilities associated with single-factor authentication, where a user only needs to provide one form of authentication, typically a password. MFA adds layers of security by requiring users to present multiple pieces of evidence (factors) that confirm their identity.</span></p>
<p><span style="font-weight: 400;">Authentication factor user in MFA are typically categorized into three types:</span></p>
<ol>
<li><span style="font-weight: 400;">     </span><span style="font-weight: 400;">Knowledge Factors (something you know)</span></li>
</ol>
<ul>
<li style="list-style-type: none;">
<ul>
<li><span style="font-weight: 400;">         </span><span style="font-weight: 400;">Passwords</span></li>
<li><span style="font-weight: 400;">         </span><span style="font-weight: 400;">PINs</span></li>
<li><span style="font-weight: 400;">         </span><span style="font-weight: 400;">Security questions</span></li>
</ul>
</li>
</ul>
<ol start="2">
<li><span style="font-weight: 400;">     </span><span style="font-weight: 400;">Possession Factors (something you have)</span></li>
</ol>
<ul>
<li style="list-style-type: none;">
<ul>
<li><span style="font-weight: 400;">         </span><span style="font-weight: 400;">OTP (One-Time Password) generated by an authenticator app</span></li>
<li><span style="font-weight: 400;">         </span><span style="font-weight: 400;">SMS codes</span></li>
<li><span style="font-weight: 400;">         </span><span style="font-weight: 400;">Email codes</span></li>
<li><span style="font-weight: 400;">         </span><span style="font-weight: 400;">Hardware tokens</span></li>
</ul>
</li>
</ul>
<ol start="3">
<li><span style="font-weight: 400;">     </span><span style="font-weight: 400;">Inherence Factors (something you are)</span></li>
</ol>
<ul>
<li style="list-style-type: none;">
<ul>
<li><span style="font-weight: 400;">         </span><span style="font-weight: 400;">Biometric verification (facial recognition, fingerprint etc.)</span></li>
</ul>
</li>
</ul>
<p><a href="https://inero-software.com/contact-inero-software-rd-software-house/"><img fetchpriority="high" decoding="async" data-attachment-id="5832" data-permalink="https://inero-software.com/multi-factor-authentication-in-keycloak/2-6/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/2-2.png" data-orig-size="1200,100" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="2" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/2-2-300x25.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/2-2-1030x86.png" tabindex="0" role="button" class="alignnone wp-image-5832 size-full" src="https://inero-software.com/wp-content/uploads/2024/06/2-2.png" alt="" width="1200" height="100" srcset="https://inero-software.com/wp-content/uploads/2024/06/2-2.png 1200w, https://inero-software.com/wp-content/uploads/2024/06/2-2-300x25.png 300w, https://inero-software.com/wp-content/uploads/2024/06/2-2-1030x86.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/2-2-768x64.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<p><span style="font-weight: 400;">The first step is always initial authentication, when the user enters username and password (so called knowledge factor). After the initial authentication, the user is prompted to provide a second form of authentication and this could be an OTP sent to the phone, a biometric scan, or another form of possession/inherence factor. If both factors are successfully verified, the user is granted access to the application. Now let’s take a look at a few example types of authentication and their pros/cons.</span></p>
<h4 style="padding-left: 40px;"><b>Email-based OTP</b></h4>
<p style="padding-left: 80px;"><span style="font-weight: 400;">In this method, a temporary code is sent to the user’s registered email address, which they must enter to complete the login process. Users receive the OTP directly in the email and it does not require to install or configure any additional apps. But we should remember that email accounts can be compromised, and intercepted emails could be a significant security risk.</span></p>
<h4 style="padding-left: 40px;"><b>SMS-based OTP</b></h4>
<p style="padding-left: 80px;"><span style="font-weight: 400;">Receiving an OTP via SMS is straightforward and familiar to most users, also requiring no additional app installation. It should work on any mobile phone, making it accessible to a broader range of users. But they can be also vulnerable to interception and SIM swapping attacks, making them less secure compared to other methods. SMS delivery can also be delayed or even fail due to network issues. We’ll take a closer look at its pros and cons in the next post which covers custom authenticator development.</span></p>
<h4 style="padding-left: 40px;"><b>Push notifications</b></h4>
<p style="padding-left: 80px;"><span style="font-weight: 400;">Push notifications involve sending a real-time alert to a user’s registered mobile device, asking them to approve or deny an authentication attempt. Users are instantly notified of any login attempts, allowing them to quickly respond to any unauthorized access attempts. They also do not need to enter a one-time password (OTP), which simplified the authentication process. This method of course requires an active internet connection. But remember that infected devices could potentially compromise the security of this feature and that users basically need to be educated about recognizing legitimate push notifications to avoid accidental approvals of attack attempts.</span></p>
<h4 style="padding-left: 40px;"><b>OTP via Authenticator Apps</b></h4>
<p style="padding-left: 80px;"><span style="font-weight: 400;">OTPs generated by authenticators like Google are highly secure as they are time-based and difficult to predict. They can generate OTPs without an internet connection, making them reliable even when users are offline. In this case, users need to have access to their mobile device to generate the OTP and initial setup very often requires scanning a QR code and configuring authenticator app, which might be challenging for non-technical users.</span></p>
<p><a href="https://inero-software.com/best-keycloak-practices/"><img decoding="async" data-attachment-id="5833" data-permalink="https://inero-software.com/multi-factor-authentication-in-keycloak/4-4/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/4-2.png" data-orig-size="1200,100" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="4" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/4-2-300x25.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/4-2-1030x86.png" tabindex="0" role="button" class="alignnone wp-image-5833 size-full" src="https://inero-software.com/wp-content/uploads/2024/06/4-2.png" alt="" width="1200" height="100" srcset="https://inero-software.com/wp-content/uploads/2024/06/4-2.png 1200w, https://inero-software.com/wp-content/uploads/2024/06/4-2-300x25.png 300w, https://inero-software.com/wp-content/uploads/2024/06/4-2-1030x86.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/4-2-768x64.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<h3><b>How to configure OTP (via mobile authenticator) in Keycloak</b></h3>
<p><span style="font-weight: 400;">Now we can go to the Keycloak console and try to set up some basic OTP in our realm. Before attempting to enable MFA in Keycloak, ensure you have a running instance of Keycloak, administrative access to the server, and a basic understanding of realm, client, user management concepts from previous posts.</span></p>
<h4><b>Step 1: OTP Policy</b></h4>
<p><span style="font-weight: 400;">From the side menu select the realm where you want to enable MFA. In the realm settings, navigate to the Authentication section and select the OTP Policy tab. Configure settings according to your security requirements. You can select default values that are provided by the server.</span></p>
<p><img decoding="async" data-attachment-id="5797" data-permalink="https://inero-software.com/multi-factor-authentication-in-keycloak/2-4/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/2.png" data-orig-size="1920,1080" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="2" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/2-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/2-1030x579.png" tabindex="0" role="button" class="wp-image-5797 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/06/2-300x169.png" alt="" width="703" height="396" srcset="https://inero-software.com/wp-content/uploads/2024/06/2-300x169.png 300w, https://inero-software.com/wp-content/uploads/2024/06/2-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/2-768x432.png 768w, https://inero-software.com/wp-content/uploads/2024/06/2-1536x864.png 1536w, https://inero-software.com/wp-content/uploads/2024/06/2-533x300.png 533w, https://inero-software.com/wp-content/uploads/2024/06/2.png 1920w" sizes="(max-width: 703px) 100vw, 703px" /></p>
<h4><b>Step 2: Required actions</b></h4>
<p><span style="font-weight: 400;">In the Authentication settings, go to the Required Actions tab. Now you can activate OTP as default action for every new user.</span></p>
<p><img loading="lazy" decoding="async" data-attachment-id="5796" data-permalink="https://inero-software.com/multi-factor-authentication-in-keycloak/1-3/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/1.png" data-orig-size="1920,1080" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="1" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/1-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/1-1030x579.png" tabindex="0" role="button" class="wp-image-5796 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/06/1-300x169.png" alt="" width="701" height="395" srcset="https://inero-software.com/wp-content/uploads/2024/06/1-300x169.png 300w, https://inero-software.com/wp-content/uploads/2024/06/1-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/1-768x432.png 768w, https://inero-software.com/wp-content/uploads/2024/06/1-1536x864.png 1536w, https://inero-software.com/wp-content/uploads/2024/06/1-533x300.png 533w, https://inero-software.com/wp-content/uploads/2024/06/1.png 1920w" sizes="(max-width: 701px) 100vw, 701px" /></p>
<p><img loading="lazy" decoding="async" data-attachment-id="5798" data-permalink="https://inero-software.com/multi-factor-authentication-in-keycloak/3-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/3.png" data-orig-size="1920,1080" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="3" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/3-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/3-1030x579.png" tabindex="0" role="button" class="wp-image-5798 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/06/3-300x169.png" alt="" width="701" height="395" srcset="https://inero-software.com/wp-content/uploads/2024/06/3-300x169.png 300w, https://inero-software.com/wp-content/uploads/2024/06/3-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/3-768x432.png 768w, https://inero-software.com/wp-content/uploads/2024/06/3-1536x864.png 1536w, https://inero-software.com/wp-content/uploads/2024/06/3-533x300.png 533w, https://inero-software.com/wp-content/uploads/2024/06/3.png 1920w" sizes="(max-width: 701px) 100vw, 701px" /></p>
<p><span style="font-weight: 400;">Therefore, we have already configured MFA and each newly registered user will have to use it. Of course, this configuration could be modified through in-the-app account settings so that users only use MFA if they specifically request it.</span></p>
<p><img loading="lazy" decoding="async" data-attachment-id="5799" data-permalink="https://inero-software.com/multi-factor-authentication-in-keycloak/4-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/4.png" data-orig-size="1920,1080" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="4" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/4-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/4-1030x579.png" tabindex="0" role="button" class="wp-image-5799 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/06/4-300x169.png" alt="" width="701" height="395" srcset="https://inero-software.com/wp-content/uploads/2024/06/4-300x169.png 300w, https://inero-software.com/wp-content/uploads/2024/06/4-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/4-768x432.png 768w, https://inero-software.com/wp-content/uploads/2024/06/4-1536x864.png 1536w, https://inero-software.com/wp-content/uploads/2024/06/4-533x300.png 533w, https://inero-software.com/wp-content/uploads/2024/06/4.png 1920w" sizes="(max-width: 701px) 100vw, 701px" /></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">As we can see, MFA is a powerful tool for protecting sensitive information and enhancing the security of web applications. By requiring multiple forms of verification, it makes it significantly harder for unauthorized users to access accounts and systems, mitigating risks associated with password-only authentication. Implementing this mechanism is surely helping organizations comply with regulations and protect against still-evolving web threats.</span></p>
<p><span style="font-weight: 400;">In the next article, we will take a closer look at a custom SMS authenticator for Keycloak, exploring its pros and cons.</span></p>
<p></p></div><div class="col-sm-1"></div></div>
<p>Artykuł <a href="https://inero-software.com/multi-factor-authentication-in-keycloak/">Step-by-Step Guide to Enabling Multi-Factor Authentication (MFA) in Keycloak</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5794</post-id>	</item>
	</channel>
</rss>
