Unix หยุดเก็บรหัสผ่านเป็นข้อความที่ชัดเจนเมื่อใด


37

เมื่อไหร่ที่ยูนิกซ์ย้ายจากการเก็บรหัสผ่านแบบข้อความที่ชัดเจนใน passwd? นอกจากนี้ไฟล์เงาถูกนำมาใช้เมื่อใด


คุณค้นหาอะไรเหรอ?
Ken Sharp

คำตอบ:


62

สำหรับช่วงประวัติศาสตร์ของการจัดเก็บรหัสผ่าน Unix, โรเบิร์ตมอร์ริสอ่านและเคน ธ อมป์สันรหัสรักษาความปลอดภัย: กรณีประวัติศาสตร์ พวกเขาอธิบายว่าทำไมระบบ Unix รุ่นแรกจึงได้รับคุณสมบัติส่วนใหญ่ที่ยังคงเห็นอยู่ในปัจจุบันว่าเป็นคุณสมบัติที่สำคัญของการจัดเก็บรหัสผ่าน (แต่ทำได้ดีกว่า)

  • ระบบ Unix แรกเก็บรหัสผ่านเป็นข้อความธรรมดา Unix Third Edition แนะนำcryptฟังก์ชั่นที่แฮชรหัสผ่าน มันอธิบายว่า "การเข้ารหัส" แทนที่จะเป็น "การแฮช" เพราะคำศัพท์การเข้ารหัสสมัยใหม่ยังไม่ได้รับการจัดตั้งขึ้นและมันใช้อัลกอริทึมการเข้ารหัสแม้ว่าจะเป็นวิธีที่แปลกใหม่ แทนที่จะเข้ารหัสรหัสผ่านด้วยกุญแจซึ่งจะไม่สำคัญในการยกเลิกเมื่อคุณมีคีย์ (ซึ่งจะต้องถูกเก็บไว้ในระบบ) พวกเขาใช้รหัสผ่านเป็นกุญแจสำคัญ
  • เมื่อยูนิกซ์เปลี่ยนจากรหัสก่อนหน้านี้เป็นDES ที่ทันสมัยแล้วมันก็ช้าลงด้วยการทำซ้ำ DES หลายครั้ง ฉันไม่รู้แน่ชัดว่าเกิดอะไรขึ้น: V6? V7?
  • การแฮ็กรหัสผ่านเพียงเล็กน้อยนั้นมีความเสี่ยงต่อการถูกโจมตีหลายเป้าหมาย: แฮชรหัสผ่านที่พบบ่อยที่สุดทั้งหมดและทุกครั้งและดูในตารางรหัสผ่านเพื่อจับคู่ รวมถึงเกลือในกลไกการแปลงซึ่งแต่ละบัญชีมีเกลือที่ไม่ซ้ำกันเอาชนะการคำนวณเบื้องต้นนี้ ยูนิกซ์ได้รับเกลือในเจ็ดฉบับในปี 1979
  • Unix ยังได้รับกฎความซับซ้อนของรหัสผ่านเช่นความยาวขั้นต่ำในปี 1970

/etc/passwdแต่เดิมกัญชารหัสผ่านไม่ถูกในแฟ้มที่สาธารณชนสามารถอ่านได้ การวางแฮชในไฟล์แยกต่างหาก/etc/shadowที่มีเพียงระบบ (และผู้ดูแลระบบ) เท่านั้นที่สามารถเข้าถึงได้เป็นหนึ่งในนวัตกรรมมากมายที่มาจาก Sun โดยเริ่มจาก SunOS 4 ในช่วงกลางทศวรรษ 1980 มันแพร่กระจายออกไปเรื่อย ๆ ไปยัง Unix รุ่นอื่น ๆ (บางส่วนผ่านชุดเงาของบุคคลที่สามซึ่งยังคงใช้สืบทอดบน Linux ในปัจจุบัน) และไม่สามารถใช้งานได้ทุกที่จนถึงช่วงกลางทศวรรษที่ 1990

ในช่วงหลายปีที่ผ่านมามีการปรับปรุงอัลกอริทึมการแปลงแป้นพิมพ์ การกระโดดที่ยิ่งใหญ่ที่สุดคืออัลกอริธึมที่อิงกับ MD5 ของ Poul-Henning Kampในปี 1994 ซึ่งแทนที่อัลกอริธึม DES ตามด้วยการออกแบบที่ดีกว่า มันลบข้อ จำกัด ถึง 8 อักขระรหัสผ่านและอักขระเกลือ 2 ตัวและเพิ่มความเชื่องช้า ดูการพัฒนาของ IEEE ด้วยซอฟต์แวร์โอเพ่นซอร์สม.ค. - ก.พ. พ.ศ. 2547 7-8 อัลกอริธึมที่ใช้ SHA-2 ซึ่งเป็นมาตรฐานแบบพฤตินัยทุกวันนี้มีพื้นฐานมาจากหลักการเดียวกัน แต่ด้วยการออกแบบภายในที่ดีขึ้นเล็กน้อยและที่สำคัญที่สุดคือปัจจัยความช้าที่กำหนดค่าได้


อนึ่งเกลือเป็นสิ่งที่ถูกเข้ารหัส
โจชัว

สำหรับผู้ที่ไม่มีผู้ชม Postscript ฉันพบสำเนา PDF ของ Morris & Thompson paper ที่นี่
grahamj42

8

ฉันยังไม่มีแหล่งที่มาหลัก แต่ตามโพสต์ TrustedSec นี้ (เน้นการเน้น):

ระบบก่อนหน้านี้เก็บรหัสผ่านเป็นข้อความธรรมดา แต่ในที่สุดก็ถูกแทนที่ด้วยรูปแบบการจัดเก็บรหัสผ่านที่ปลอดภัยยิ่งขึ้น Robert Morris พัฒนาฝังศพใต้ถุนโบสถ์โดยใช้เครื่องเข้ารหัส m-209 และปรากฏในเวอร์ชัน 3 Unixแม้ว่า Crypt ไม่ได้ใช้ในการเก็บรหัสผ่านจนกระทั่งรุ่นที่ 6 ของ Unix (1974)

ตามแหล่งที่มาหลายเวอร์ชัน 3 ยูนิกซ์ได้รับการปล่อยตัวในเดือนกุมภาพันธ์ 1973

จากกระดาษต้นฉบับของ Thompson และ Morrisเราสามารถยืนยันได้ว่าการใช้พื้นที่เก็บข้อมูลแบบธรรมดานั้นถูกใช้ในครั้งแรก:

ระบบ UNIX ถูกนำมาใช้ครั้งแรกด้วยไฟล์รหัสผ่านที่มีรหัสผ่านจริงของผู้ใช้ทั้งหมดและด้วยเหตุนี้ไฟล์รหัสผ่านจึงต้องได้รับการปกป้องอย่างมากจากการอ่านหรือเขียน

/ etc / shadow ปรากฏใน UNIX หลายสาขาดังที่ระบุไว้ในคำตอบอื่น ๆ


6

อ้างอิงถึงประวัติศาสตร์ส่วนในวิกิพีเดียของpasswdหน้า

Password shadowing ปรากฏขึ้นครั้งแรกในระบบ Unix โดยมีการพัฒนา SunOS ในช่วงกลางทศวรรษ 1980, [10] System V Release 3.2 ในปี 1988 และ BSD4.3 Reno ในปี 1990 แต่ผู้ขายที่เคยทำพอร์ตจาก UNIX รุ่นก่อนหน้านี้ คุณสมบัติการสร้างรหัสผ่านใหม่ในรุ่นของพวกเขาปล่อยให้ผู้ใช้ระบบเหล่านั้นสัมผัสกับการโจมตีไฟล์รหัสผ่าน

ผู้ดูแลระบบอาจจัดให้มีการจัดเก็บรหัสผ่านในฐานข้อมูลกระจายเช่น NIS และ LDAP มากกว่าในไฟล์ในแต่ละระบบที่เชื่อมต่อ ในกรณีของ NIS กลไกรหัสผ่านเงามักจะยังคงใช้บนเซิร์ฟเวอร์ NIS ในกลไกแบบกระจายอื่น ๆ ปัญหาของการเข้าถึงคอมโพเนนต์การพิสูจน์ตัวตนผู้ใช้ที่หลากหลายถูกจัดการโดยกลไกความปลอดภัยของที่เก็บข้อมูลพื้นฐาน

ในปี 1987 ผู้แต่งชุดเงารหัสผ่านดั้งเดิม Julie Haugh ประสบปัญหาคอมพิวเตอร์หยุดชะงักและเขียนรุ่น Shadow Suite ครั้งแรกซึ่งมีคำสั่งเข้าสู่ระบบรหัสผ่านและคำสั่ง su รีลีสดั้งเดิมที่เขียนขึ้นสำหรับระบบปฏิบัติการ SCO Xenix ได้เข้าสู่แพลตฟอร์มอื่นได้อย่างรวดเร็ว Shadow Suite ถูกย้ายไปยัง Linux ในปี 1992 หนึ่งปีหลังจากการประกาศโครงการ Linux ดั้งเดิมและรวมอยู่ในการเผยแพร่ก่อนหน้านี้จำนวนมากและยังคงรวมอยู่ในการเผยแพร่ Linux ปัจจุบันจำนวนมาก


5
ที่เก็บข้อมูลรหัสผ่านที่ไม่ใช่เงา! = ที่จัดเก็บข้อความธรรมดาที่ไม่มีการแฮช
rackandboneman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.