{"id":1109,"date":"2016-07-27T23:11:38","date_gmt":"2016-07-27T23:11:38","guid":{"rendered":"http:\/\/blog.paranoidprofessor.com\/?p=1109"},"modified":"2017-07-27T16:15:40","modified_gmt":"2017-07-27T16:15:40","slug":"safe-computing-strengthening-passwords","status":"publish","type":"post","link":"https:\/\/blog.paranoidprofessor.com\/index.php\/2016\/07\/27\/safe-computing-strengthening-passwords\/","title":{"rendered":"safe computing &#8211; strengthening passwords"},"content":{"rendered":"<p>A password is simply a method of verifying who you are.\u00a0 When a good password is selected it is both easy to remember but not easy to guess.\u00a0 It should contain both upper and lower case letters, numbers and if possible a couple of symbols and should be suitably long.<\/p>\n<p>Yet, even a well chosen password won&#8217;t help you if the system you are connecting to is, well, stupidly written.\u00a0 I suspect that there are a lot of methods to prevent a brute force attack &#8211; that is to test every possible character combination in an attempt to guess the correct password.<\/p>\n<p>If no special precautions are taken, how quickly could we force a hypothetical password.\u00a0 If our password is six characters long and is uppercase letters, lowercase letters and numbers how many combinations can we have?<\/p>\n<p>26 upper case<br \/>\n26 lower case<br \/>\n10 digits<\/p>\n<p>62 * 62 * 62 * 62 * 62 * 62 = 56,800,235,584<\/p>\n<p>If we can try ten thousand passwords a second, it would take 94,667 minutes or approximately sixty six days to crack the password.\u00a0 This would make it impractical to attempt to sneak into the boss&#8217;s office and hack his computer, but if the system doesn&#8217;t have any safeguards it is within the realm of possibility, especially if the system you are attempting to connect to is on the Internet.<\/p>\n<table style=\"height: 329px;\" border=\"0\" width=\"563\" cellspacing=\"0\">\n<colgroup width=\"140\"><\/colgroup>\n<colgroup span=\"2\" width=\"85\"><\/colgroup>\n<tbody>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">combinations<\/span><\/td>\n<td align=\"right\">56800235584<\/td>\n<td align=\"right\">56800235584<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">guesses per second<\/span><\/td>\n<td align=\"right\">1<\/td>\n<td align=\"right\">10000<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">seconds<\/span><\/td>\n<td align=\"right\">56800235584<\/td>\n<td align=\"right\">5680024<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">\u00a0<\/span><\/td>\n<td align=\"left\"><\/td>\n<td align=\"left\"><\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">min<\/span><\/td>\n<td align=\"right\">946670593<\/td>\n<td align=\"right\">94667<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">hours<\/span><\/td>\n<td align=\"right\">15777843<\/td>\n<td align=\"right\">1578<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">days<\/span><\/td>\n<td align=\"right\">657410<\/td>\n<td align=\"right\">66<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">years<\/span><\/td>\n<td align=\"right\">1801<\/td>\n<td align=\"right\">0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><span style=\"font-family: Liberation Serif;\">centuries<\/span><\/td>\n<td align=\"right\">18<\/td>\n<td align=\"right\">0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If we can try ten thousand passwords a second, it would take 94,667 minutes or approximately sixty six days to crack the password.\u00a0 This would make it impractical to attempt to sneak into the boss&#8217;s office and hack his computer, but if the system doesn&#8217;t have any safeguards it is within the realm of possibility, especially if the system you are attempting to connect to is on the Internet.<\/p>\n<p>Two months is a long time but perhaps the naughty person gets lucky or uses a more clever method for guessing the passwords this could be shorted considerably.<\/p>\n<p>This could be defeated by adding any one of a few different methods to defeat this.<\/p>\n<ul>\n<li>only accept one password per second<\/li>\n<li>have a second password<\/li>\n<li>lock the account after a limited amount of time<\/li>\n<li>temporarily suspend account after a number of incorrect attempts<\/li>\n<li>increase the delay between password login with each incorrect attempt<\/li>\n<\/ul>\n<p>If the first choice were implemented the amount of time to go through the entire list of passwords would increase from sixty six days to 1800 years.\u00a0 Yet, it is possible that the user would pick a poor password that is easy to guess.<\/p>\n<p>Adding a strong second password, would help to secure the system but we cannot guarantee that the user will select a strong password.\u00a0 It is actually just as likely that the second password they select is identical to the first.<\/p>\n<p>A better solution is to give the user a strong second password, and to ensure that this password is changed often we should generate it ourselves.\u00a0 This both easy and possible by using a security token.<\/p>\n<p><a href=\"http:\/\/blog.paranoidprofessor.com\/wp-content\/uploads\/2016\/01\/token.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-456 aligncenter\" src=\"http:\/\/blog.paranoidprofessor.com\/wp-content\/uploads\/2016\/01\/token-300x161.jpg\" alt=\"token\" width=\"378\" height=\"203\" srcset=\"https:\/\/blog.paranoidprofessor.com\/wp-content\/uploads\/2016\/01\/token-300x161.jpg 300w, https:\/\/blog.paranoidprofessor.com\/wp-content\/uploads\/2016\/01\/token-1024x549.jpg 1024w, https:\/\/blog.paranoidprofessor.com\/wp-content\/uploads\/2016\/01\/token.jpg 1177w\" sizes=\"(max-width: 378px) 100vw, 378px\" \/><\/a>A token is a small hard ware device to generate a random six digit password.\u00a0 This device is registered with the company server and the random password is only valid for two minutes.<\/p>\n<p>This type of security is pretty commonly used by companies to their employees to provide secure access to their networks over insecure networks such as the Internet.\u00a0 Private companies and their employees are not the only ones to use such devices.\u00a0 These devices can be used as a part of creating secure vpn connections or to provide solid proof of the identity of the user.<\/p>\n<p>Quite a few companies make these types of arrangements with their customers, especially where either money or identity is at stake.\u00a0 A few organizations that provide two factor authentication are as follows.<\/p>\n<p><a href=\"http:\/\/www.wired.com\/2015\/11\/amazon-two-step-authentication\/\">Amazon<\/a><br \/>\n<a href=\"http:\/\/pages.ebay.com\/securitykey\/faq.html\">Paypal<\/a><br \/>\n<a href=\"https:\/\/www.facebook.com\/notes\/facebook-engineering\/introducing-login-approvals\/10150172618258920\/\">Facebook<\/a><br \/>\n<a href=\"https:\/\/www.dropbox.com\/en\/help\/363\">Dropbox<\/a><br \/>\n<a href=\"https:\/\/blog.twitter.com\/2013\/getting-started-with-login-verification\">Twitter<\/a><\/p>\n<p>Yet, with the magic that is the smart phone it is possible to actually replace this security device with a small application that runs on the phone.\u00a0 Thus the phone itself can be used to create the six digit security code for the two factor authentication.<\/p>\n<p>Generating the code using either a security token or on your phone is one method for two factor authentication but there is another slight variant.\u00a0 This second method involves also entering a six digit code but rather than generating the code, it is received via sms to the cell phone.<\/p>\n<p>You cannot guarantee what level of quality the security for all the systems that you connect to but if you do have a chance to increase your personal level of security you should take it.<\/p>\n<p>I hope to write up more information about two factor authentication in the near future.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A password is simply a method of verifying who you are.\u00a0 When a good password is selected it is both easy to remember but not easy to guess.\u00a0 It should contain both upper and lower case letters, numbers and if &hellip; <a href=\"https:\/\/blog.paranoidprofessor.com\/index.php\/2016\/07\/27\/safe-computing-strengthening-passwords\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[89],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/posts\/1109"}],"collection":[{"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/comments?post=1109"}],"version-history":[{"count":3,"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/posts\/1109\/revisions"}],"predecessor-version":[{"id":1112,"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/posts\/1109\/revisions\/1112"}],"wp:attachment":[{"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/media?parent=1109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/categories?post=1109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.paranoidprofessor.com\/index.php\/wp-json\/wp\/v2\/tags?post=1109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}