LUKS 비밀번호가 작동하지 않습니다

LUKS 비밀번호가 작동하지 않습니다

어느 날 컴퓨터를 켰을 때 홈 섹션 /dev/sda7의 비밀번호가 작동하지 않았습니다(올바른 비밀번호를 썼다고 147% 확신합니다)! 세 번의 시도 끝에 강제 종료를 통해 컴퓨터를 다시 시작한 후 동일한 비밀번호를 입력해 보았습니다. 그건 소용없어요. 그런 다음 기본 부팅 "Boot Arch" 대신 "Boot Arch with Linux linux"를 선택했습니다. 이것은 나에게 도움이 됩니다. 나는 컴퓨터를 끄고 하루 종일 일했다. 하지만 이 트릭은 다음 부팅 시에는 도움이 되지 않았습니다. "Boot Arch with Linux linux (initramfs Fallback)"도 선택합니다(부팅 옵션은 3개뿐입니다). 그런 다음 Ubuntu LiveUSB에서 부팅하기로 결정했습니다. sudo cryptsetup luksOpen /dev/sda7 home설명하다:No key available with this passphrase.

나는 처형을 시도 sudo cryptsetup --verbose repair /dev/sda7했다 No known problems detected for LUKS header.. 공식 cryptsetup 도구를 컴파일하고 실행했습니다.https://gitlab.com/cryptsetup/cryptsetup/tree/master/misc/keyslot_checker키 홈을 확인하는 데 사용됩니다. 중요한 슬롯(예: luksDump)에 대해 동일한 정보가 표시됩니다.

$ sudo cryptsetup
LUKS header information for /dev/sda7

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha256
Payload offset: 4096
MK bits:        256
MK digest:      fc 18 49 fe 3a 4e d4 11 b9 6f 0c c7 1d 54 0a 8d 44 01 86 36 
MK salt:        5e 59 c8 fc f2 a9 10 b9 bf 7c 68 4b e4 a5 8e 00 
                5a f9 c7 66 f9 5b 02 ff e7 59 e4 fd 43 f2 dc b5 
MK iterations:  249500
UUID:           cc2f71c3-f0d9-4642-bf59-87bff4f60b54

Key Slot 0: ENABLED
    Iterations:             1996099
    Salt:                   3e 60 e7 14 02 95 89 c0 c2 bf 8d 61 bb 99 13 aa 
                            9d 9a c4 7d d4 41 78 ee 76 b0 48 b4 ed b0 ff a8 
    Key material offset:    8
    AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

모든 것이 괜찮은 것 같습니다. 헤더와 마찬가지로 모든 파티션이 손상되지 않았습니다. 왜 비밀번호가 맞지 않는지 모르겠습니다. 내가 말할 수 있는 것은 매일 시스템을 완전히 업그레이드하고 있다는 것뿐입니다(Sudo pacman -Syyu를 통해). 언젠가는 업그레이드로 인해 이런 결과가 나올 수도 있습니다.

답변1

LUKS 헤더에 손상이 있는 경우(1바이트 이상) 복구가 거의 불가능합니다.

LUKS 헤더에는 키 자료의 체크섬이 없으므로 어떤 식으로든 손상되면 cryptsetup luksDump평소와 동일하게 보이지만 비밀번호는 더 이상 작동하지 않습니다. 비밀번호를 유효하게 만들 수 없는 경우 비밀번호가 손상될 가능성도 배제할 수 없습니다.

hexdump(수동 방법 Keyway Checker)를 사용하여 확인할 수 있습니다.

hexdump -C -n 132096 foobar.img | less

00000000  4c 55 4b 53 ba be 00 01  61 65 73 00 00 00 00 00  |LUKS....aes.....|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  78 74 73 2d 70 6c 61 69  |........xts-plai|
... 0x00000->0x01000 should be mixed text, zero and random ...
00001000  9f 27 7a 46 8b c7 0e 09  00 82 2d 66 a7 4b b7 76  |.'zF......-f.K.v|
00001010  7a 01 ed 65 91 d0 96 af  3c f1 85 0d 64 48 81 e7  |z..e....<...dH..|
00001020  3a 00 0d d1 23 e0 95 d2  8e 42 34 4d e2 74 c4 d6  |:...#....B4M.t..|
... 0x01000->0x20400 should be 128K of random only ...
000203d0  b6 04 f6 34 08 64 10 3f  4e b7 c4 21 e6 d8 da 56  |...4.d.?N..!...V|
000203e0  0e eb 53 ce d2 a6 94 f0  92 7b 11 4b c1 96 9f 17  |..S......{.K....|
000203f0  94 88 b4 cd 36 a5 e1 b2  e9 ba 27 f3 85 7d cb 3f  |....6.....'..}.?|
00020400

첫 번째 부분은 luksDump표시된 내용이며 일부만 무작위입니다. 범위 00001000..00020400는 핵심 자료입니다 Key Slot 0. 임의의 부분이 0으로 처리되거나 무작위성이 명백히 부족한 경우(야생적인 일반 텍스트 문자열이 나타나는 경우) 헤더가 손상된 것입니다.

US 레이아웃을 사용하지 않는 경우 일반적으로 사용하는 레이아웃과 함께 해당 레이아웃을 사용해 보세요. 키보드 레이아웃 문제는 암호 문구가 작동하지 않는 일반적인 이유이기도 합니다. 이 경우 현재 활성화된 레이아웃에 관계없이 LUKS가 암호를 허용하도록 동일한 암호를 여러 번(각 레이아웃에 하나씩) 추가하는 것이 도움이 됩니다.

관련 정보