3

I am using tcplay to work with a Truecrypt volume with a 4 GB hidden volume located at the final gigabyte. When I mount either the normal volume or the hidden volume, they mount just fine. However, when I mount the normal volume with hidden volume protection (option --protect-hidden, or in short form, -e), this is what I get:

[root@oc2222167007 /media]# tcplay -m truecrypt2 -e -d /dev/loop0
Passphrase: <password of external volume>
Passphrase for hidden volume: <password of hidden volume>
All ok!
[root@oc2222167007 /media]# parted -l | grep -B1 -A5 truecrypt

Error: /dev/mapper/truecrypt2: unrecognised disk label
<output ommited>

When I mount the filesystem with -e, it won't pick it up...

[root@oc2222167007 /media]# cryptsetup remove truecrypt2
[root@oc2222167007 /media]# tcplay -m truecrypt2 -d /dev/loop0
Passphrase: <password of external volume>
All ok!
[root@oc2222167007 /media]# parted -l | grep -B1 -A5 truecrypt
Model: Linux device-mapper (crypt) (dm)
Disk /dev/mapper/truecrypt2: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  4295MB  4295MB  ext4

...but if I mount the external volume just like that, it works fine.

What's happening?

1

2 Answers 2

1

Having kinda the same issue, I'm unable to mount the outer volume protected-hidden, but I can mount as unprotected fine, but I can easily screw my hidden data because of that.

if I try to mount it protected I get this error from mount:

mount: wrong fs type, bad option, bad superblock on /dev/mapper/tmp.000,
   missing codepage or helper program, or other error
   In some cases useful info is found in syslog - try
   dmesg | tail  or so

Seems it doesn't recognize the original filesystem and won't let me mount, even if I define filesystem type in the mount command.

However, there is one workaround I found for this, right after you map the device protected with tcplay I used mkfs to create a filesystem, after that it mounted fine and the hidden volume stays intact.

But there's a problem with this approach, let's say you create a 10Mb container, with 6Mb hidden volume, if you create a filesystem after enabling hidden volume protection you will get a 4Mb volume, and this will show as 4Mb even if you mount the outer volume, it should show the 10Mb, so we would have a problem with plausible deniability, what's the use of having a hidden volume if you can't hide the used space for hidden volume

0

Since you can mount both the out and the hidden volumes correctly, you must have made the correspondent filesystems already. The problem may results from that you used the wrong file-type for the outer volume.

Here is the information about the setup of truecrypt volumes:

https://help.ubuntu.com/community/TruecryptHiddenVolume

which declares that the out filesystem should be made as "fat" (command mkfs.vfat).

Solution:

Backup the files. Mount the out volume without hidden-protection and use mkfs.vfat, then mount and make filesystem for the hidden volume. Then the hidden-protection issue will be solved without compromising the secret of the hidden volume.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .