단일 격리된 dm-crypt 섹터를 해독하는 것이 가능합니까(아마도 OpenSSL을 사용하여)?

단일 격리된 dm-crypt 섹터를 해독하는 것이 가능합니까(아마도 OpenSSL을 사용하여)?

볼륨을 여는 데 필요한 매개변수에 대한 완전한 지식이 있는 경우 dm-crypt해당 볼륨에서 얻은 단일 섹터의 암호를 해독하는 것이 가능합니까 ?

원래 볼륨을 사용할 수 없지만 섹터 번호를 알고 있다고 가정해 보겠습니다.

예를 들어 다음 볼륨은 다음을 사용하여 마운트됩니다 cryptsetup.

$ dmsetup --showkey table myvolume
0 104857600 crypt aes-xts-plain64 95264...aacae 0 254:9 0

dd원본 볼륨에서 섹터 125를 추출한 적이 있다고 가정해 보겠습니다 .

$ dd if=/dev/sda1 of=raw.sector bs=512 skip=125 count=1

위 출력에서 ​​비밀번호는 aes-xts-plain64이고 256비트 키는 95264...aacae(여기서 축약된 주요 예)라는 것을 알 수 있습니다.

독립 실행형( openssl)을 사용하여 암호를 해독할 수 있나요?


아마도 이런 것이 아닐까...

$ openssl enc -d -in raw.sector -aes-128-xts -K 95264...aacae -iv 7D -out plain.sector

주어진 256비트 키가 다음과 같기 때문에 비밀번호는 128비트입니다.둘로 나누어XTS 모드를 통해. 초기화 벡터는 0x7D섹터 번호가 125이기 때문입니다. 하지만 OpenSSL이 XTS( openssl enc -ciphers) 를 지원하지 않는 것 같아서 첫 번째 단계를 넘어갈 수 없었습니다 .

https://github.com/openssl/openssl/blob/master/apps/enc.c#L267:

if (cipher && (EVP_CIPHER_mode(cipher) == EVP_CIPH_XTS_MODE)) {
    BIO_printf(bio_err, "%s XTS ciphers not supported\n", prog);
    goto end;
}

(나는 가지고있다오픈SSL 1.1.0f2017년 5월 25일)


또한 이전 OpenSSL(1.0.2f)을 시도했는데 openssl enc -ciphers목록에 있지만 xts 암호화를 사용하면 -aes-128-xts오류 메시지가 나타납니다.

Ciphers in XTS mode are not supported by the enc utility

관련 정보