{"id":4040,"date":"2017-06-24T17:27:57","date_gmt":"2017-06-24T09:27:57","guid":{"rendered":"http:\/\/www.alfredivy.per.sg\/blogger\/?p=4040"},"modified":"2017-06-24T17:27:57","modified_gmt":"2017-06-24T09:27:57","slug":"microsoft-windows-password-policy","status":"publish","type":"post","link":"https:\/\/www.alfredivy.sg\/blogger\/2017\/06\/microsoft-windows-password-policy\/","title":{"rendered":"Microsoft Windows password policy"},"content":{"rendered":"<p>As part of security policy, the Windows password policy ensures the user&#8217;s password is sufficiently complex and fresh.<\/p>\n<p>Windows by default do not detect the difference between old and new password. It even accepts a password with one character different from the previous. Why? This is due to hashing. All authentication systems hash the password and the hashed copy stored. As long as the hashed copies differ, it will be accepted.<\/p>\n<p>What if you need to increase the complexity of the user passwords to prevent dictionary attacks. For example, repeated characters with high complexity will still be accepted. In this day and age of high-speed computers, brute force dictionary attack makes password cracking very easy. To prevent this, a filter is required.<\/p>\n<p>A password filter can filters out repeated characters. The default high complexity password filter, Passfilt.dll captures the following:<\/p>\n<p>&nbsp;<\/p>\n<table summary=\"table\">\n<tbody>\n<tr>\n<th scope=\"col\">Character categories<\/th>\n<th scope=\"col\">Examples<\/th>\n<\/tr>\n<tr>\n<td data-th=\"Character categories\">Uppercase letters of European languages (A through Z, with diacritic marks, Greek and Cyrillic characters)<\/td>\n<td data-th=\"Examples\">A, B, C, \u2026 Z<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Character categories\">Lowercase letters of European languages (a through z, sharp-s, with diacritic marks, Greek and Cyrillic characters)<\/td>\n<td data-th=\"Examples\">a, b, c, \u2026 z<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Character categories\">Base 10 digits (0 through 9)<\/td>\n<td data-th=\"Examples\">0, 1, 2, \u2026 9<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Character categories\">Non-alphanumeric characters (special characters)<\/td>\n<td data-th=\"Examples\">$,!,%,^,(){}[];:&lt;&gt;?<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Character categories\">Any Unicode character that is categorized as an alphabetic character but is not uppercase or lowercase. This includes Unicode characters from Asian languages.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ms722458(v=vs.8https:\/\/msdn.microsoft.com\/en-us\/library\/ms722458(v=vs.85).aspx5).aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Link<\/a><\/p>\n<p>It is possible to install a third party filter like OpenPasswordFilte to give refined control of the user passwords.<\/p>\n<p><a href=\"https:\/\/github.com\/jephthai\/OpenPasswordFilter\" target=\"_blank\" rel=\"noopener noreferrer\">OpenPasswordFilter<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As part of security policy, the Windows password policy ensures the user&#8217;s password is sufficiently complex and fresh. Windows by default do not detect the difference between old and new password. It even accepts a password with one character different&hellip; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[237,23],"tags":[442],"class_list":["post-4040","post","type-post","status-publish","format-standard","hentry","category-security","category-work","tag-password"],"_links":{"self":[{"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/posts\/4040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/comments?post=4040"}],"version-history":[{"count":2,"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/posts\/4040\/revisions"}],"predecessor-version":[{"id":4051,"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/posts\/4040\/revisions\/4051"}],"wp:attachment":[{"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/media?parent=4040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/categories?post=4040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alfredivy.sg\/blogger\/wp-json\/wp\/v2\/tags?post=4040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}