- เป็น ตัวจัดการรหัสผ่านที่ไม่ต้องมีคลังเก็บรหัสผ่าน (vault) โดยจะนำ รหัสผ่านหลัก + สตริง realm มาผสมกันเพื่อ สร้างรหัสผ่านเดิมซ้ำได้ทันที
- ไม่ว่าจะใช้อุปกรณ์ใด หากป้อนข้อมูลชุดเดิมก็จะสร้างรหัสผ่านเดิมได้เสมอ จึงทำให้ ปัญหาเรื่องการแบ็กอัป การซิงก์ และการต้องเชื่อถือบุคคลที่สามหมดไปตั้งแต่ต้น
- รองรับการสร้างคีย์ได้หลายประเภท ไม่ใช่แค่รหัสผ่านทั่วไป แต่รวมถึง คีย์ ECC/RSA, raw byte stream และไฟล์ seed
- สำหรับกรณีที่ต้องการเอนโทรปีสูง สามารถสร้าง ไฟล์ seed ที่เข้ารหัสแล้ว เพื่อนำไปใช้สร้างคีย์ความแข็งแกร่งสูงได้ด้วย (เข้ารหัสด้วย AES-256-GCM)
- เป็นเครื่องมือแบบ CLI เป็นหลัก โดยสามารถผสม
-p, -r, -t เป็นต้น เพื่อ สร้างซ้ำได้ตั้งแต่รหัสผ่านล็อกอินตาม URL ไปจนถึงคีย์ x25519 และ ed25519
- เอาต์พุตจะถูกส่งไปที่ stdout โดยปริยาย และสามารถบันทึกเป็นไฟล์ได้ด้วยตัวเลือก
-o
- ประเภทเอาต์พุตที่รองรับ
pass: สร้างรหัสผ่านทั่วไป
seed: สร้างไฟล์ seed ที่เข้ารหัส
raw: สร้างสตรีมสุ่มขนาด 32 ไบต์
ec256, ec384, ec521: สร้างคีย์ส่วนตัว ECC
rsa2048, rsa4096: สร้างคีย์ส่วนตัว RSA
x25519, ed25519: สร้างคีย์ ECC ที่อิงกับ Curve25519
- โหมดการทำงาน 2 แบบ
Simple mode: สร้างรหัสผ่านที่อนุมานได้จากรหัสผ่านหลักและสตริง realm เท่านั้น
- แต่ละชุดค่าผสมจะให้ผลลัพธ์เฉพาะของตัวเอง และไม่จำเป็นต้องเก็บข้อมูลแยก
- อย่างไรก็ตาม ระดับความปลอดภัยจะขึ้นอยู่กับความแข็งแกร่งของรหัสผ่านหลัก
Seed file mode: ใช้ ไฟล์ seed เป็นแหล่งเอนโทรปี เพื่อเพิ่มความปลอดภัยให้สูงขึ้น
- ไฟล์ seed ถูกเข้ารหัสด้วย AES-256-GCM จึงสามารถแบ็กอัปไว้บนที่เก็บภายนอก (เช่น Google Drive, Dropbox) ได้อย่างปลอดภัย
- รหัสผ่านหลักใช้เพื่อปกป้องไฟล์ seed เท่านั้น
- เป็น ยูทิลิตี CLI ที่พัฒนาด้วยภาษา Go และติดตั้งได้ด้วยคำสั่ง
go install github.com/cloudflare/gokey/cmd/gokey@latest
- เป็นโอเพนซอร์สที่พัฒนาโดย Cloudflare
7 ความคิดเห็น
https://pashword.app/
ดูคล้ายกับอันนี้มากเลยครับ
ดูเป็นไอเดียที่ดีมากจริง ๆ แต่ดูเหมือนว่าที่บริการอื่น ๆ ต้องมีที่เก็บข้อมูลกันก็ล้วนมีเหตุผลของมันทั้งหมด
ถึงจะใช้ตัวนี้ก็ตาม เวลาที่เว็บบังคับให้เปลี่ยนรหัสผ่านแต่ละครั้ง ก็คงต้องจำข้อมูลอย่างจำนวนครั้งหรือคีย์กันเป็นหลายสิบรายการอยู่ดี...
ถ้าจะบอกว่ารหัสผ่านก็เป็นคีย์ชนิดหนึ่งเหมือนกัน ถ้าใช้ฟังก์ชันอนุมานคีย์ให้เหมาะสม ก็คงไม่ใช่ว่าจะทำไม่ได้
pw = kdf(master_key, site_id, {salt})
แค่ตัดสินใจว่าจะใช้โดเมนเป็น
site_idหรือจะใช้ค่าที่เป็นเอกลักษณ์ของเว็บไซต์นั้นก็พอถ้าเป็นที่ที่น่ารำคาญซึ่งบังคับให้เปลี่ยนทุกเดือน ก็เปลี่ยน
saltทุกครั้งตามนั้นก็ได้งั้นสุดท้ายก็ต้องเก็บ salt แยกตามแต่ละไซต์อยู่ดีไม่ใช่เหรอครับ 555
ถ้าโดเมนเปลี่ยนไปหรือใช้หลายโดเมนก็คงใช้ไม่ได้สินะ..
วิธีแบบนี้ดีกว่าเยอะ
แต่พังหมดก็เพราะเว็บพวกนั้นที่ชอบตั้งกฎจุกจิกให้ใส่อักขระพิเศษกับตัวเลขในรหัสผ่านกี่ตัวบ้าง แล้วบังคับให้เปลี่ยนทุก 3 เดือน
ภัยคุกคามด้านความปลอดภัยที่แท้จริงกลับถูกสร้างโดยคนวางแผนเว็บที่ไม่รู้ด้วยซ้ำว่าความปลอดภัยคืออะไร
อา.... เห็นด้วยเลยว่า “ภัยคุกคามด้านความปลอดภัยที่แท้จริงมักเกิดจากคนวางแผนเว็บที่ไม่รู้ด้วยซ้ำว่าความปลอดภัยคืออะไร”
จู่ ๆ ความทรงจำไม่ดีบางอย่างก็แวบเข้ามาเลย ฮือ