Closed Uenoowl closed 3 years ago
Applying the first two patch of #190 and run with --printPasswordHash
, I can confirm that hashed passwords are different between Windows and Linux. Using the Windows hashed password with -n -x
can unlock my driver in Linux.
What are they differences when you do a query? I'm guessing the serial number is different. It is probably a difference in the way windows and Linux handle the USB adapter you are using. If that's the case I have no idea what would fix it.
The first line of the query outputs are different:
Windows:\\.\PhysicalDrive1 USB ST2000LM010-1RA174 SDM1 WDZPAAZY
Linux:/dev/sdb SAS BUP Ultra Touch 0004 Seagate
I don't exactly know the meaning of each item. But it seems neither of them contains the serial number printed on the hdd.
The first line of the query string is supposed to read like this: Device ID,interface type, drive ID string,microcode ID,serial number. The password hashing algorithm uses the serial number as the salt for the hash, so when using that USB adapter the only way I can think of to maintain cross OS compatibility is to use the no hash flag.
Thanks for your explanation😃
External hdd: Seagate Ultra Touch HDD 2TB encrypted by Seagate Toolkit, I think it comply with the TCG OPAL 2.00 standard.
Windows: Windows 10 Home
Linux: openSUSE Tumbleweed
sedutil: Both download from https://github.com/Drive-Trust-Alliance/sedutil/wiki/Executable-Distributions
I am using following commands to unlock my Seagate Ultra Touch HDD:
It works perfectly under Windows, while under Linux it gives me an "NOT_AUTHORIZED".
I compared the output using
-vvvvv
and found that the Linux's one is something like this:The bolded lines are different from Windows' one, and the hexDump is different from Windows.
I wonder if the hashed password is different between Windows and Linux due to some reasons, but I don't know how to check it.