ตรวจสอบว่า luks slot มีวลีรหัสผ่านอยู่


15

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

#cryptsetup luksDump /dev/sda2
LUKS header information for /dev/sda2

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha256
Payload offset: 4096
MK bits:        256
MK digest:      xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
MK salt:        xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
                xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
MK iterations:  371000
UUID:           28c39f66-dcc3-4488-bd54-11ba239f7e68

Key Slot 0: ENABLED
        Iterations:             2968115
        Salt:                   xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
                                xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
        Key material offset:    8
        AF stripes:             4000
Key Slot 1: ENABLED
        Iterations:             2968115
        Salt:                   xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
                                xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
        Key material offset:    264
        AF stripes:             4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

2
ปรากฎว่าluksKillSlotขอข้อความรหัสผ่านจากช่องอื่นดังนั้นจึงไม่มีความเสี่ยงในการทำลายคีย์สุดท้ายที่คุณมี อย่างไรก็ตามฉันเชื่อว่าคำถามเดิมยังคงใช้ได้
Huckle

คำตอบ:


14

ในขณะที่คุณค้นพบคุณสามารถใช้cryptsetup luksDumpเพื่อดูว่าช่องใส่กุญแจใดมีกุญแจ

คุณสามารถตรวจสอบวลีรหัสผ่านสำหรับช่องเฉพาะด้วย

cryptsetup luksOpen --test-passphrase --key-slot 0 /dev/sda2 && echo correct

สิ่งนี้จะสำเร็จถ้าคุณป้อนวลีรหัสผ่านที่ถูกต้องสำหรับคีย์สล็อต 0 และล้มเหลวเป็นอย่างอื่น (รวมถึงถ้าข้อความรหัสผ่านถูกต้องสำหรับช่องเสียบคีย์อื่น ๆ )

หากคุณลืมข้อความรหัสผ่านหนึ่งในนั้นคุณจะสามารถค้นหาได้ว่าช่องไหนอยู่ในช่องนั้นและถ้าคุณลืมข้อความรหัสผ่านสองรายการคุณจะไม่สามารถบอกได้ว่าช่องไหน (มิฉะนั้นแฮชข้อความรหัสผ่านจะถูกทำลาย)

หากต้องการลบข้อความรหัสผ่านที่คุณลืมคุณสามารถเรียกใช้cryptsetup luksKillSlot /dev/sda2 0และป้อนข้อความรหัสผ่านที่คุณจำได้อย่างปลอดภัย เช็ดช่องเสียบที่สำคัญcryptsetupต้องใช้รหัสผ่านสำหรับช่องเสียบกุญแจที่แตกต่างกันอย่างน้อยเมื่อมันไม่ได้ทำงานในโหมดแบทช์ (เช่นไม่มี--batch-mode, --key-file=-หรือตัวเลือกที่เทียบเท่า)


6

วิธีที่ง่ายกว่า (ตอนนี้?) คือการใช้คำสั่งพร้อม--verboseตัวเลือก แต่ไม่ต้องระบุคำสั่ง--key-slot:

# cryptsetup --verbose open --test-passphrase /dev/sda2
Enter passphrase for /dev/sda2: 
Key slot 4 unlocked.

มันจะตรวจสอบช่องที่ถูกต้องให้คุณโดยอัตโนมัติโดยที่คุณไม่ต้องวนหาช่องที่ดี :)

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