)]}'
{"security-notes/OSSN-0081":[{"author":{"_account_id":7063,"name":"Robert Clark","email":"hyakuhei@gmail.com","username":"hyakuhei"},"change_message_id":"504f6da370b7e4b18a7815c163fa594d2571200d","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"### Summary ###"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Keystones use of sha512_crypt for password hashing, is insufficient and"},{"line_number":7,"context_line":"provides limited protection against brute-forcing of password hashes."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"### Affected Services / Software ###"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"7f287b81_b5588930","line":6,"range":{"start_line":6,"start_character":0,"end_line":6,"end_character":9},"updated":"2017-08-30 14:47:27.000000000","message":"potentialy something along the lines of \"Versions of Keystone prior to Pike\" so readers don\u0027t have to get down to recommended actions to see if they\u0027re affected?","commit_id":"1e06a9ee2a09a0308d3437f9cca37b4256a4b0b3"},{"author":{"_account_id":17893,"name":"Luke Hinds","email":"lhinds@redhat.com","username":"lhinds"},"change_message_id":"5c7c708bc84b181a6cd587a4963ab4d0ca2d52ca","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"### Summary ###"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Keystones use of sha512_crypt for password hashing, is insufficient and"},{"line_number":7,"context_line":"provides limited protection against brute-forcing of password hashes."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"### Affected Services / Software ###"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"7f287b81_da07c1c9","line":6,"range":{"start_line":6,"start_character":0,"end_line":6,"end_character":9},"in_reply_to":"7f287b81_b5588930","updated":"2017-08-30 15:44:52.000000000","message":"I like it.","commit_id":"1e06a9ee2a09a0308d3437f9cca37b4256a4b0b3"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9c0f8535cec5836e43170cf6bcb1d1480281f761","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"### Discussion ###"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Keystone uses sha512_crypt for password hashing. This is insufficient"},{"line_number":16,"context_line":"and provides limited protection (even with 10,000 rounds) against"},{"line_number":17,"context_line":"brute-forcing of  password hashes (especially with FPGAs and/or GPU"},{"line_number":18,"context_line":"processing)."}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7f287b81_d2d1ab31","line":15,"range":{"start_line":15,"start_character":58,"end_line":15,"end_character":69},"updated":"2017-09-01 17:15:06.000000000","message":"s/insufficient and provides/insufficient, since this algorithm has a low computational cost factor, making it easy to guess many passwords offline in a short period of time.  Specifically, compared to other algorithms with a higher computational cost factor such as bcrypt, scrypt, and pbkdf2_sha512, sha512_crypt provides","commit_id":"1c8dacb404d2a450a9fad593973c1991ed7349b6"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"5438169042410416e5d977fb6ae40ed74942990e","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"### Discussion ###"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Keystone uses sha512_crypt for password hashing. This is insufficient"},{"line_number":16,"context_line":"and provides limited protection (even with 10,000 rounds) against"},{"line_number":17,"context_line":"brute-forcing of  password hashes (especially with FPGAs and/or GPU"},{"line_number":18,"context_line":"processing)."}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7f287b81_523498de","line":15,"range":{"start_line":15,"start_character":58,"end_line":15,"end_character":69},"in_reply_to":"7f287b81_d2d1ab31","updated":"2017-09-01 18:29:51.000000000","message":"Perhaps clearer would be to draw the distinction between using a bare one-way hashing function (NOT recommended by itself for storing and blind comparisons of secret key material) and a proper key-derivation function. Consider citing section 5.1.1.2 \"Memorized Secret Verifiers\" paragraph 13 sentences 2-4 of http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63b.pdf (on page 15):\n\n  Memorized secrets SHALL be salted and hashed using a\n  suitable one-way key derivation function. Key derivation\n  functions take a password, a salt, and a cost factor as\n  inputs then generate a password hash. Their purpose is to\n  make each password guessing trial by an attacker who has\n  obtained a password hash file expensive and therefore the\n  cost of a guessing attack high or prohibitive.","commit_id":"1c8dacb404d2a450a9fad593973c1991ed7349b6"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9c0f8535cec5836e43170cf6bcb1d1480281f761","unresolved":false,"context_lines":[{"line_number":17,"context_line":"brute-forcing of  password hashes (especially with FPGAs and/or GPU"},{"line_number":18,"context_line":"processing)."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The correct mechanism is to use the more secure hashing algorhythms of"},{"line_number":21,"context_line":"bcrypt, scrypt, or pbkdf2_sha512 instead of sha512_crypt."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"### Recommended Actions ###"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7f287b81_39db564f","line":20,"range":{"start_line":20,"start_character":56,"end_line":20,"end_character":67},"updated":"2017-09-01 17:15:06.000000000","message":"s/algorhythms/algorithms/","commit_id":"1c8dacb404d2a450a9fad593973c1991ed7349b6"}]}
