Re: geli authentication algo and newfs weirdness

2008-12-07 Thread Vinny

Vinny wrote:

Hello Everyone,

I've been reading up on geli and decided I wanted to
use data authentication.  This involves the -a switch
on the geli init command.  Here's what I've found:

= No authentication (the disk size is correct @ 152G):

the/root{143}~# geli init  da1
Enter new passphrase:
Reenter new passphrase:
the/root{144}~# geli attach da1
Enter passphrase:

the/root{147}~# newfs -N /dev/da1.eli
/dev/da1.eli: 152627.8MB (312581804 sectors) block size 16384, fragment 
size 2048

using 831 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
 160, 376512, 752864, ...

the/root{148}~# newfs  /dev/da1.eli
/dev/da1.eli: 152627.8MB (312581804 sectors) block size 16384, fragment 
size 2048

using 831 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
 160, 376512, 752864, 1129216, ...

= With hmac/sha256 (or any other) authentication
(small disk size 76G) :

the/root{156}~# geli init -a hmac/sha256 /dev/da1
Enter new passphrase:
Reenter new passphrase:
the/root{157}~#
the/root{157}~# geli attach da1
Enter passphrase:

the/root{159}~# newfs -N /dev/da1.eli
/dev/da1.eli: 76313.9MB (156290900 sectors) block size 16384, fragment 
size 2048

using 416 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
 160, 376512, 752864, ...

the/root{163}~# newfs  /dev/da1.eli
/dev/da1.eli: 76313.9MB (156290900 sectors) block size 16384, fragment 
size 2048

using 416 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
newfs: can't read old UFS1 superblock: read error from block device: 
Invalid argument


the/root{110}~# geli dump -v da1
Metadata on da1:
 magic: GEOM::ELI
   version: 3
 flags: 0x10
 ealgo: AES-CBC
keylen: 128
 aalgo: HMAC/SHA256
  provsize: 160041885696
sectorsize: 512
  keys: 0x01
iterations: 67988
  Salt: c708

=

Anyone know what I've done wrong?  Is data authentication working?

Thanks!
Vinny




The eventual solution came from Richard Farr.  A few messages
later and here are the results:

I Wrote;

 Hello Richard and Thanks!  Sorry for my late reply.

 Richard Farr wrote:
 Hi Vinny,

 I had this problem as well when trying to initialize a disk with GELI
 and create slices/partitions/fs.

 I believe the problem is caused because the sectors of the newly
 created GELI device still have whatever data was in them from before
 the geli init command.  Therefore, this data will not have the
 correct mac inside of the sector.  It looks like newfs attempts to
 read from some of these unitialized sectors - causing a mac
 verification failure and a read error.  In order to fix this, simply
 attach the geli device and then use dd to write to all sectors of the
 device to update them with a correct mac:

 dd if=/dev/random of=/dev/da1.eli bs=8M

 Once this is done newfs should work like a charm.


 Indeed, the results follow, but I'd like to thank you
 for the solution.  I had habitually used dd on
 the raw device before running geli init.  That is,

 dd if=/dev/random of=/dev/da2 bs=1m

 Then I'd init it.  Didn't occur to me that doing
 that on the da2.eli device would solve the newfs
 problem.

 The results:

 the/root{120}~# geli init -a hmac/sha256 /dev/da2
 Enter new passphrase:
 Reenter new passphrase:
 the/root{121}~# geli attach da2
 Enter passphrase:

 the/root{122}~# newfs -N /dev/da2.eli
 /dev/da2.eli: 977.0MB (2000876 sectors) block size 16384, fragment 
size 2048

  using 6 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
 super-block backups (for fsck -b #) at:
   160, 376512, 752864, 1129216, 1505568, 1881920

 the/root{123}~# newfs  /dev/da2.eli
 /dev/da2.eli: 977.0MB (2000876 sectors) block size 16384, fragment 
size 2048

  using 6 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
 newfs: can't read old UFS1 superblock: read error from block device:
 Invalid argument



 the/root{124}~# dd if=/dev/random of=/dev/da2.eli bs=1m
 load: 1.15  cmd: dd 96350 [physwr] 0.00u 30.56s 9% 1668k
 747+0 records in
 746+0 records out
 782237696 bytes transferred in 322.992946 secs (2421841 bytes/sec)
 dd: /dev/da2.eli: short write on character device
 dd: /dev/da2.eli: end of device
 977+0 records in
 976+1 records out
 1024450048 bytes transferred in 422.242968 secs (2426210 bytes/sec)


 the/root{125}~# newfs -N /dev/da2.eli
 /dev/da2.eli: 977.0MB (2000876 sectors) block size 16384, fragment 
size 2048

  using 6 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
 super-block backups (for fsck -b #) at:
   160, 376512, 752864, 1129216, 1505568, 1881920

 the/root{126}~# newfs /dev/da2.eli
 /dev/da2.eli: 977.0MB (2000876 sectors) block size 16384, fragment 
size 2048

  using 6 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
 super-block backups (for fsck -b #) at:
   160, 376512, 752864, 1129216, 1505568, 1881920

 Success!

 Vinny


Re: geli authentication algo and newfs weirdness

2008-09-20 Thread Wojciech Puchar

the/root{156}~# geli init -a hmac/sha256 /dev/da1
Enter new passphrase:
Reenter new passphrase:
the/root{157}~#
the/root{157}~# geli attach da1
Enter passphrase:


check what is default (and possibly minimum) sector size for hmac/sha256

fragment size of UFS can't be less
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]



Re: geli authentication algo and newfs weirdness

2008-09-20 Thread Vinny

Wojciech Puchar wrote:

the/root{156}~# geli init -a hmac/sha256 /dev/da1
Enter new passphrase:
Reenter new passphrase:
the/root{157}~#
the/root{157}~# geli attach da1
Enter passphrase:


check what is default (and possibly minimum) sector size for hmac/sha256

fragment size of UFS can't be less
___


From the geli dump output I supplied, it looks like the
sector size is 512.

the/root{110}~# geli dump -v da1
Metadata on da1:
[...]
 aalgo: HMAC/SHA256
  provsize: 160041885696
sectorsize: 512

newfs is using a fragment size of 2048, it also only sees
half of the disk--76G instead of 152G

the/root{163}~# newfs  /dev/da1.eli
/dev/da1.eli: 76313.9MB (156290900 sectors) block size 16384, fragment 
size 2048

using 416 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
newfs: can't read old UFS1 superblock: read error from block device: 
Invalid argument


Any other ideas?  Without the authentication, geli
provider sector size is 4096.

Should I specify a fragment size of 512 with newfs -f 512?

Thanks for your help.
Vinny
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]