<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenText Analytics Database 26.2.x – Hash authentication</title>
    <link>/en/security-and-authentication/client-authentication/hash-authentication/</link>
    <description>Recent content in Hash authentication on OpenText Analytics Database 26.2.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/security-and-authentication/client-authentication/hash-authentication/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Security-and-Authentication: Password hashing algorithm</title>
      <link>/en/security-and-authentication/client-authentication/hash-authentication/password-hashing-algorithm/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/client-authentication/hash-authentication/password-hashing-algorithm/</guid>
      <description>
        
        
        
&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

OpenText strongly recommends that you use SHA-512 for &lt;code&gt;hash&lt;/code&gt; authentication.

&lt;/div&gt;
&lt;p&gt;OpenText™ Analytics Database does not store user passwords for the &lt;code&gt;hash&lt;/code&gt; authentication method. Rather, the database stores a hash of the password. The hashing algorithm is determined by two parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A system-level configuration parameter, &lt;code&gt;SecurityAlgorithm&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER DATABASE DEFAULT SET PARAMETER SecurityAlgorithm = &amp;#39;&lt;span class=&#34;code-variable&#34;&gt;hashing_algorithm&lt;/span&gt;&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A user-level parameter, &lt;code&gt;SECURITY_ALGORITHM&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER USER &lt;span class=&#34;code-variable&#34;&gt;username&lt;/span&gt; SECURITY_ALGORITHM &amp;#39;&lt;span class=&#34;code-variable&#34;&gt;hashing_algorithm&lt;/span&gt;&amp;#39; IDENTIFIED BY &amp;#39;&lt;span class=&#34;code-variable&#34;&gt;new_password&lt;/span&gt;&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The system-level parameter, &lt;code&gt;SecurityAlgorithm&lt;/code&gt;, can have the following values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;SHA512&lt;/code&gt; (default)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;MD5&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The user-level parameter, &lt;code&gt;SECURITY_ALGORITHM&lt;/code&gt;, can have the following values. Values other than &lt;code&gt;NONE&lt;/code&gt; will take priority over the system-level parameter:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;NONE&lt;/code&gt; (default, uses algorithm specified by the system-level parameter &lt;code&gt;SecurityAlgorithm&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;SHA512&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;MD5&lt;/code&gt;&lt;/p&gt;

&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

If user&#39;s password is hashed with MD5, you cannot change their username with &lt;a href=&#34;../../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt;.

&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A user&#39;s &lt;code&gt;EFFECTIVE_SECURITY_ALGORITHM&lt;/code&gt; is determined by a combination of the system-level and user-level parameters. If the user-level parameter is set to &lt;code&gt;NONE&lt;/code&gt;, the effective security algorithm will be that of the system-level parameter. You can override the system-level parameter for a particular user by setting the user-level parameter to a non-&lt;code&gt;NONE&lt;/code&gt; value.&lt;/p&gt;
&lt;p&gt;You can view these parameters and their effects on each user by querying the system table &lt;a href=&#34;../../../../en/sql-reference/system-tables/v-catalog-schema/password-auditor/#&#34;&gt;PASSWORD_AUDITOR&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The following table shows the various combinations of the system-level and user-level parameters and the effective security algorithm for each.&lt;/p&gt;
&lt;p&gt;FIPS mode forces the effective security algorithm to be SHA-512.

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th  colspan=&#34;2&#34; &gt;
Parameter value&lt;/th&gt; 

&lt;th  colspan=&#34;2&#34; &gt;
Effective Security Algorithm&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;th &gt;
System level: SecurityAlgorithm&lt;/th&gt; 

&lt;th &gt;
User-level: SECURITY_ALGORITHM&lt;/th&gt; 

&lt;th &gt;
Algorithm Used&lt;/th&gt; 

&lt;th &gt;
Algorithm Used (FIPS mode)&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;MD5&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;NONE&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
MD5&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;SHA512&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;NONE&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;MD5&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;MD5&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
MD5&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;SHA512&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;MD5&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
MD5&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;MD5&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;SHA512&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;SHA512&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;SHA512&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt; 

&lt;td &gt;
SHA-512&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: Configuring hash authentication</title>
      <link>/en/security-and-authentication/client-authentication/hash-authentication/configuring-hash-authentication/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/client-authentication/hash-authentication/configuring-hash-authentication/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;code&gt;hash&lt;/code&gt; authentication method allows users to authenticate with a password.&lt;/p&gt;
&lt;p&gt;OpenText™ Analytics Database stores hashes (SHA-512 &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/hash-authentication/password-hashing-algorithm/&#34;&gt;by default&lt;/a&gt;) of passwords and not the passwords themselves. For details, see &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/hash-authentication/password-hashing-algorithm/#&#34;&gt;Password hashing algorithm&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../en/sql-reference/statements/create-statements/create-authentication/&#34;&gt;Create an authentication record&lt;/a&gt; with the &lt;code&gt;hash&lt;/code&gt; method. Authentication records are automatically enabled after creation. For example, to create the authentication record &lt;code&gt;v_hash&lt;/code&gt; for users that log in from the IP address 192.0.2.0/24:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE AUTHENTICATION v_hash METHOD &amp;#39;hash&amp;#39; HOST &amp;#39;192.0.2.0/24&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Associate the &lt;code&gt;v_hash&lt;/code&gt; authentication method with the desired users or roles, using a GRANT statement:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; GRANT AUTHENTICATION v_hash to &lt;span class=&#34;code-variable&#34;&gt;user1&lt;/span&gt;, &lt;span class=&#34;code-variable&#34;&gt;user2&lt;/span&gt;, ...;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: Passwords</title>
      <link>/en/security-and-authentication/client-authentication/hash-authentication/passwords/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/client-authentication/hash-authentication/passwords/</guid>
      <description>
        
        
        &lt;p&gt;Assign a password to a user to allow that user to connect to the database using password authentication. When the user supplies the correct password a connection to the database occurs.&lt;/p&gt;
&lt;p&gt;OpenText™ Analytics Database hashes passwords according to each user&#39;s &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/hash-authentication/password-hashing-algorithm/&#34;&gt;EFFECTIVE_SECURITY_ALGORITHM&lt;/a&gt;. However, the transmission of the hashed password from the client to the database is in plaintext. Thus, it is possible for a &amp;quot;man-in-the-middle&amp;quot; attack to intercept the plaintext password from the client.&lt;/p&gt;
&lt;p&gt;Configuring &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/hash-authentication/#&#34;&gt;Hash authentication&lt;/a&gt; ensures secure login using passwords.&lt;/p&gt;
&lt;h2 id=&#34;about-password-creation-and-modification&#34;&gt;About password creation and modification&lt;/h2&gt;
&lt;p&gt;You must be a &lt;a class=&#34;glosslink&#34; href=&#34;../../../../en/glossary/db-superuser/&#34; title=&#34;&#34;&gt;superuser&lt;/a&gt; to create passwords for user accounts using the &lt;a href=&#34;../../../../en/sql-reference/statements/create-statements/create-user/#&#34;&gt;CREATE USER&lt;/a&gt; statement. A superuser can set any user account&#39;s password.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;To add a password, use the &lt;a href=&#34;../../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt; statement.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To change a password, use &lt;a href=&#34;../../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt; or the vsql meta-command &lt;code&gt;\password&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Users can also change their own passwords.&lt;/p&gt;
&lt;p&gt;To make password authentication more effective, it is recommended that you enforce password policies that control how often users are forced to change passwords and the required content of a password. You set these policies using &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/hash-authentication/passwords/profiles/#&#34;&gt;Profiles&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;default-password-authentication&#34;&gt;Default password authentication&lt;/h2&gt;
&lt;p&gt;When you have not specified any authentication methods, the database defaults to using password authentication for user accounts that have passwords.&lt;/p&gt;
&lt;p&gt;If you create authentication methods, even for remote hosts, password authentication is disabled. In such cases, you must explicitly enable password authentication. The following commands create the local_pwd authentication method and make it the default for all users. When you create an authentication method, the database enables it automatically:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE AUTHENTICATION local_pwd METHOD hash&amp;#39; LOCAL;
=&amp;gt; GRANT AUTHENTICATION local_pwd To Public;
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
  </channel>
</rss>
