View | Details | Raw Unified | Return to bug 169089 | Differences between
and this patch

Collapse All | Expand All

(-)geli.8 (-74 / +154 lines)
Lines 24-30 Link Here
24
.\"
24
.\"
25
.\" $FreeBSD$
25
.\" $FreeBSD$
26
.\"
26
.\"
27
.Dd April 28, 2012
27
.Dd June 18, 2012
28
.Dt GELI 8
28
.Dt GELI 8
29
.Os
29
.Os
30
.Sh NAME
30
.Sh NAME
Lines 186-199 Link Here
186
or
186
or
187
.Nm HMAC/SHA512 .
187
.Nm HMAC/SHA512 .
188
.It
188
.It
189
Can create a key from a couple of components (user entered passphrase, random
189
Can create a User Key from up to two, piecewise components: a passphrase
190
bits from a file, etc.).
190
entered via prompt or read from one or more passfiles; a keyfile read from
191
one or more files.
191
.It
192
.It
192
Allows encryption of the root partition.
193
Allows encryption of the root partition.
193
The user will be asked for the
194
The user will be asked for the
194
passphrase before the root file system is mounted.
195
passphrase before the root file system is mounted.
195
.It
196
.It
196
The passphrase of the user is strengthened with:
197
Strengthens the passphrase component of the User Key with:
197
.Rs
198
.Rs
198
.%A B. Kaliski
199
.%A B. Kaliski
199
.%T "PKCS #5: Password-Based Cryptography Specification, Version 2.0."
200
.%T "PKCS #5: Password-Based Cryptography Specification, Version 2.0."
Lines 201-207 Link Here
201
.%N 2898
202
.%N 2898
202
.Re
203
.Re
203
.It
204
.It
204
Allows the use of two independent keys (e.g., a
205
Allows the use of two independent User Keys (e.g., a
205
.Qq "user key"
206
.Qq "user key"
206
and a
207
and a
207
.Qq "company key" ) .
208
.Qq "company key" ) .
Lines 210-217 Link Here
210
.Nm
211
.Nm
211
performs simple sector-to-sector encryption.
212
performs simple sector-to-sector encryption.
212
.It
213
.It
213
Allows Master Keys to be backed up and restored,
214
Allows the encrypted Master Key to be backed up and restored,
214
so that if a user has to quickly destroy his keys,
215
so that if a user has to quickly destroy key material,
215
it is possible to get the data back by restoring keys from
216
it is possible to get the data back by restoring keys from
216
backup.
217
backup.
217
.It
218
.It
Lines 219-226 Link Here
219
(so users do not have to remember to detach providers after unmounting
220
(so users do not have to remember to detach providers after unmounting
220
the file systems).
221
the file systems).
221
.It
222
.It
222
Allows attaching a provider with a random, one-time key - useful for swap
223
Allows attaching a provider with a random, one-time Master Key -
223
partitions and temporary file systems.
224
useful for swap partitions and temporary file systems.
224
.It
225
.It
225
Allows verification of data integrity (data authentication).
226
Allows verification of data integrity (data authentication).
226
.It
227
.It
Lines 233-239 Link Here
233
.Bl -tag -width ".Cm configure"
234
.Bl -tag -width ".Cm configure"
234
.It Cm init
235
.It Cm init
235
Initialize the provider which needs to be encrypted.
236
Initialize the provider which needs to be encrypted.
236
Here you can set up the cryptographic algorithm to use, key length, etc.
237
Here you can set up the cryptographic algorithm to use, Data Key length,
238
etc.
237
The last sector of the provider is used to store metadata.
239
The last sector of the provider is used to store metadata.
238
The
240
The
239
.Cm init
241
.Cm init
Lines 289-325 Link Here
289
The default and recommended algorithm is
291
The default and recommended algorithm is
290
.Nm AES-XTS .
292
.Nm AES-XTS .
291
.It Fl i Ar iterations
293
.It Fl i Ar iterations
292
Number of iterations to use with PKCS#5v2.
294
Number of iterations to use with PKCS#5v2 when processing User Key
295
passphrase component.
293
If this option is not specified,
296
If this option is not specified,
294
.Nm
297
.Nm
295
will find the number of iterations which is equal to 2 seconds of crypto work.
298
will find the number of iterations which is equal to 2 seconds of crypto work.
296
If 0 is given, PKCS#5v2 will not be used.
299
If 0 is given, PKCS#5v2 will not be used.
300
PKCS#5v2 processing is performed once, after all parts of the passphrase
301
component have been read.
297
.It Fl J Ar newpassfile
302
.It Fl J Ar newpassfile
298
Specifies a file which contains the passphrase or its part.
303
Specifies a file which contains the passphrase component of the User Key
304
(or part of it).
299
If
305
If
300
.Ar newpassfile
306
.Ar newpassfile
301
is given as -, standard input will be used.
307
is given as -, standard input will be used.
302
Only the first line (excluding new-line character) is taken from the given file.
308
Only the first line (excluding new-line character) is taken from the given file.
303
This argument can be specified multiple times.
309
This argument can be specified multiple times, which has the effect of
310
reassembling a single passphrase split across multiple files.
311
Cannot be combined with the
312
.Fl P
313
option.
304
.It Fl K Ar newkeyfile
314
.It Fl K Ar newkeyfile
305
Specifies a file which contains part of the key.
315
Specifies a file which contains the keyfile component of the User Key
316
(or part of it).
306
If
317
If
307
.Ar newkeyfile
318
.Ar newkeyfile
308
is given as -, standard input will be used.
319
is given as -, standard input will be used.
309
This argument can be specified multiple times.
320
This argument can be specified multiple times, which has the effect of
321
reassembling a single keyfile split across multiple keyfile parts.
310
.It Fl l Ar keylen
322
.It Fl l Ar keylen
311
Key length to use with the given cryptographic algorithm.
323
Data Key length to use with the given cryptographic algorithm.
312
If not given, the default key length for the given algorithm is used, which is:
324
If the length is not specified, the selected algorithm uses its
313
128 for
325
.Em default
314
.Nm AES-XTS ,
326
key length.
315
.Nm AES-CBC ,
327
.Bl -ohang -offset indent
316
.Nm Blowfish-CBC
328
.It Nm AES-XTS
317
and
329
.Em 128 ,
318
.Nm Camellia-CBC
330
256
319
and 192 for
331
.It Nm AES-CBC , Nm Camilla-CBC
320
.Nm 3DES-CBC .
332
.Em 128 ,
333
192,
334
256
335
.It Nm Blowfish-CBC
336
.Em 128
337
+ n * 32, for n=[0..10]
338
.It Nm 3DES-CBC
339
.Em 192
340
.El
321
.It Fl P
341
.It Fl P
322
Do not use passphrase as the key component.
342
Do not use a passphrase as a component of the User Key.
343
Cannot be combined with the
344
.Fl J
345
option.
323
.It Fl s Ar sectorsize
346
.It Fl s Ar sectorsize
324
Change decrypted provider's sector size.
347
Change decrypted provider's sector size.
325
Increasing the sector size allows increased performance,
348
Increasing the sector size allows increased performance,
Lines 337-345 Link Here
337
.El
360
.El
338
.It Cm attach
361
.It Cm attach
339
Attach the given provider.
362
Attach the given provider.
340
The master key will be decrypted using the given
363
The encrypted Master Key will be loaded from the metadata and decrypted
341
passphrase/keyfile and a new GEOM provider will be created using the given
364
using the given passphrase/keyfile and a new GEOM provider will be created
342
provider's name with an
365
using the given provider's name with an
343
.Qq .eli
366
.Qq .eli
344
suffix.
367
suffix.
345
.Pp
368
.Pp
Lines 357-384 Link Here
357
.Cm detach
380
.Cm detach
358
subcommand.
381
subcommand.
359
.It Fl j Ar passfile
382
.It Fl j Ar passfile
360
Specifies a file which contains the passphrase or its part.
383
Specifies a file which contains the passphrase component of the User Key
384
(or part of it).
361
For more information see the description of the
385
For more information see the description of the
362
.Fl J
386
.Fl J
363
option for the
387
option for the
364
.Cm init
388
.Cm init
365
subcommand.
389
subcommand.
366
.It Fl k Ar keyfile
390
.It Fl k Ar keyfile
367
Specifies a file which contains part of the key.
391
Specifies a file which contains the keyfile component of the User Key
392
(or part of it).
368
For more information see the description of the
393
For more information see the description of the
369
.Fl K
394
.Fl K
370
option for the
395
option for the
371
.Cm init
396
.Cm init
372
subcommand.
397
subcommand.
373
.It Fl p
398
.It Fl p
374
Do not use passphrase as the key component.
399
Do not use a passphrase as a component of the User Key.
400
Cannot be combined with the
401
.Fl j
402
option.
375
.It Fl r
403
.It Fl r
376
Attach read-only provider.
404
Attach read-only provider.
377
It will not be opened for writing.
405
It will not be opened for writing.
378
.El
406
.El
379
.It Cm detach
407
.It Cm detach
380
Detach the given providers, which means remove the devfs entry
408
Detach the given providers, which means remove the devfs entry
381
and clear the keys from memory.
409
and clear the Master Key and Data Keys from memory.
382
.Pp
410
.Pp
383
Additional options include:
411
Additional options include:
384
.Bl -tag -width ".Fl f"
412
.Bl -tag -width ".Fl f"
Lines 391-397 Link Here
391
last time even if it was only opened for reading.
419
last time even if it was only opened for reading.
392
.El
420
.El
393
.It Cm onetime
421
.It Cm onetime
394
Attach the given providers with random, one-time keys.
422
Attach the given providers with a random, one-time (ephemeral) Master Key.
395
The command can be used to encrypt swap partitions or temporary file systems.
423
The command can be used to encrypt swap partitions or temporary file systems.
396
.Pp
424
.Pp
397
Additional options include:
425
Additional options include:
Lines 415-421 Link Here
415
.Cm attach
443
.Cm attach
416
subcommand.
444
subcommand.
417
.It Fl l Ar keylen
445
.It Fl l Ar keylen
418
Key length to use with the given cryptographic algorithm.
446
Data Key length to use with the given cryptographic algorithm.
419
For more information, see the description of the
447
For more information, see the description of the
420
.Cm init
448
.Cm init
421
subcommand.
449
subcommand.
Lines 439-453 Link Here
439
Remove the BOOT flag from the given providers.
467
Remove the BOOT flag from the given providers.
440
.El
468
.El
441
.It Cm setkey
469
.It Cm setkey
442
Change or setup (if not yet initialized) selected key.
470
Install a copy of the Master Key into the selected slot, encrypted with
443
There is one master key, which can be encrypted with two independent user keys.
471
a new User Key.
472
If the selected slot is populated, replace the existing copy.
473
A provider has one Master Key, which can be stored in one or both slots,
474
each encrypted with an independent User Key.
444
With the
475
With the
445
.Cm init
476
.Cm init
446
subcommand, only key number 0 is initialized.
477
subcommand, only key number 0 is initialized.
447
The key can always be changed: for an attached provider,
478
The User Key can be changed at any time: for an attached provider,
448
for a detached provider, or on the backup file.
479
for a detached provider, or on the backup file.
449
When a provider is attached, the user does not have to provide
480
When a provider is attached, the user does not have to provide
450
an old passphrase/keyfile.
481
an existing passphrase/keyfile.
451
.Pp
482
.Pp
452
Additional options include:
483
Additional options include:
453
.Bl -tag -width ".Fl J Ar newpassfile"
484
.Bl -tag -width ".Fl J Ar newpassfile"
Lines 458-501 Link Here
458
.Cm setkey
489
.Cm setkey
459
subcommand, only one key has to be defined and this key must be changed.
490
subcommand, only one key has to be defined and this key must be changed.
460
.It Fl j Ar passfile
491
.It Fl j Ar passfile
461
Specifies a file which contains the old passphrase or its part.
492
Specifies a file which contains the passphrase component of a current User Key
493
(or part of it).
462
.It Fl J Ar newpassfile
494
.It Fl J Ar newpassfile
463
Specifies a file which contains the new passphrase or its part.
495
Specifies a file which contains the passphrase component of the new User Key
496
(or part of it).
464
.It Fl k Ar keyfile
497
.It Fl k Ar keyfile
465
Specifies a file which contains part of the old key.
498
Specifies a file which contains the keyfile component of a current User Key
499
(or part of it).
466
.It Fl K Ar newkeyfile
500
.It Fl K Ar newkeyfile
467
Specifies a file which contains part of the new key.
501
Specifies a file which contains the keyfile component of the new User Key
502
(or part of it).
468
.It Fl n Ar keyno
503
.It Fl n Ar keyno
469
Specifies the number of the key to change (could be 0 or 1).
504
Specifies the index number of the Master Key copy to change (could be 0 or 1).
470
If the provider is attached and no key number is given, the key
505
If the provider is attached and no key number is given, the key
471
used for attaching the provider will be changed.
506
used for attaching the provider will be changed.
472
If the provider is detached (or we are operating on a backup file)
507
If the provider is detached (or we are operating on a backup file)
473
and no key number is given, the key decrypted with the passphrase/keyfile
508
and no key number is given, the first Master Key copy to be successfully
474
will be changed.
509
decrypted with the provided User Key passphrase/keyfile will be changed.
475
.It Fl p
510
.It Fl p
476
Do not use passphrase as the old key component.
511
Do not use a passphrase as a component of the current User Key.
512
Cannot be combined with the
513
.Fl j
514
option.
477
.It Fl P
515
.It Fl P
478
Do not use passphrase as the new key component.
516
Do not use a passphrase as a component of the new User Key.
517
Cannot be combined with the
518
.Fl J
519
option.
479
.El
520
.El
480
.It Cm delkey
521
.It Cm delkey
481
Destroy (overwrite with random data) the selected key.
522
Destroy (overwrite with random data) the selected Master Key copy.
482
If one is destroying keys for an attached provider, the provider
523
If one is destroying keys for an attached provider, the provider
483
will not be detached even if all keys are destroyed.
524
will not be detached even if all copies of the Master Key are destroyed.
484
It can even be rescued with the
525
It can even be rescued with the
485
.Cm setkey
526
.Cm setkey
486
subcommand.
527
subcommand because the Master Key is still in memory.
487
.Pp
528
.Pp
488
Additional options include:
529
Additional options include:
489
.Bl -tag -width ".Fl a Ar keyno"
530
.Bl -tag -width ".Fl a Ar keyno"
490
.It Fl a
531
.It Fl a
491
Destroy all keys (does not need
532
Destroy all copies of the Master Key (does not need
492
.Fl f
533
.Fl f
493
option).
534
option).
494
.It Fl f
535
.It Fl f
495
Force key destruction.
536
Force key destruction.
496
This option is needed to destroy the last key.
537
This option is needed to destroy the last copy of the Master Key.
497
.It Fl n Ar keyno
538
.It Fl n Ar keyno
498
Specifies the key number.
539
Specifies the index number of the Master Key copy.
499
If the provider is attached and no key number is given, the key
540
If the provider is attached and no key number is given, the key
500
used for attaching the provider will be destroyed.
541
used for attaching the provider will be destroyed.
501
If provider is detached (or we are operating on a backup file) the key number
542
If provider is detached (or we are operating on a backup file) the key number
Lines 503-510 Link Here
503
.El
544
.El
504
.It Cm kill
545
.It Cm kill
505
This command should be used only in emergency situations.
546
This command should be used only in emergency situations.
506
It will destroy all the keys on a given provider and will detach it forcibly
547
It will destroy all copies of the Master Key on a given provider and will
507
(if it is attached).
548
detach it forcibly (if it is attached).
508
This is absolutely a one-way command - if you do not have a metadata
549
This is absolutely a one-way command - if you do not have a metadata
509
backup, your data is gone for good.
550
backup, your data is gone for good.
510
In case the provider was attached with the
551
In case the provider was attached with the
Lines 542-549 Link Here
542
.El
583
.El
543
.It Cm suspend
584
.It Cm suspend
544
Suspend device by waiting for all inflight requests to finish, clearing all
585
Suspend device by waiting for all inflight requests to finish, clearing all
545
sensitive information (like keys) from kernel memory, and blocking all
586
sensitive information (like the Master Key and Data Keys) from kernel memory,
546
further I/O requests until the
587
and blocking all further I/O requests until the
547
.Cm resume
588
.Cm resume
548
subcommand is executed.
589
subcommand is executed.
549
This functionality is useful for laptops: when one wants to suspend a
590
This functionality is useful for laptops: when one wants to suspend a
Lines 553-560 Link Here
553
the
594
the
554
.Cm suspend
595
.Cm suspend
555
subcommand can be used.
596
subcommand can be used.
556
Any access to the encrypted device will be blocked until the keys are
597
Any access to the encrypted device will be blocked until the Master Key is
557
recovered through the
598
reloaded through the
558
.Cm resume
599
.Cm resume
559
subcommand.
600
subcommand.
560
Thus there is no need to close nor unmount anything.
601
Thus there is no need to close nor unmount anything.
Lines 584-604 Link Here
584
Additional options include:
625
Additional options include:
585
.Bl -tag -width ".Fl j Ar passfile"
626
.Bl -tag -width ".Fl j Ar passfile"
586
.It Fl j Ar passfile
627
.It Fl j Ar passfile
587
Specifies a file which contains the passphrase or its part.
628
Specifies a file which contains the passphrase component of the User Key
629
(or part of it).
588
For more information see the description of the
630
For more information see the description of the
589
.Fl J
631
.Fl J
590
option for the
632
option for the
591
.Cm init
633
.Cm init
592
subcommand.
634
subcommand.
593
.It Fl k Ar keyfile
635
.It Fl k Ar keyfile
594
Specifies a file which contains part of the key.
636
Specifies a file which contains the keyfile component of the User Key
637
(or part of it).
595
For more information see the description of the
638
For more information see the description of the
596
.Fl K
639
.Fl K
597
option for the
640
option for the
598
.Cm init
641
.Cm init
599
subcommand.
642
subcommand.
600
.It Fl p
643
.It Fl p
601
Do not use passphrase as the key component.
644
Do not use a passphrase as a component of the User Key.
645
Cannot be combined with the
646
.Fl j
647
option.
602
.El
648
.El
603
.It Cm resize
649
.It Cm resize
604
Inform
650
Inform
Lines 626-631 Link Here
626
subcommand will print metadata version used by each of them.
672
subcommand will print metadata version used by each of them.
627
.It Cm clear
673
.It Cm clear
628
Clear metadata from the given providers.
674
Clear metadata from the given providers.
675
.Em WARNING :
676
This will erase with zeros the encrypted Master Key copies stored in the
677
metadata.
629
.It Cm dump
678
.It Cm dump
630
Dump metadata stored on the given providers.
679
Dump metadata stored on the given providers.
631
.It Cm list
680
.It Cm list
Lines 647-652 Link Here
647
.It Fl v
696
.It Fl v
648
Be more verbose.
697
Be more verbose.
649
.El
698
.El
699
.Sh KEY SUMMARY
700
.Ss Master Key
701
Upon
702
.Cm init ,
703
the
704
.Nm
705
utility generates a random Master Key for the provider.
706
The Master Key never changes during the lifetime of the provider.
707
Each copy of the provider metadata, active or backed up to a file, can store
708
up to two, independently-encrypted copies of the Master Key.
709
.Ss User Key
710
Each stored copy of the Master Key is encrypted with a User Key, which
711
is generated by the
712
.Nm
713
utility from a passphrase and/or a keyfile.
714
The
715
.Nm
716
utility first reads all parts of the keyfile in the order specified on the
717
command line, then reads all parts of the stored passphrase in the order
718
specified on the command line.
719
If no passphrase parts are specified, the system prompts the user to enter
720
the passphrase.
721
The passphrase is optionally strengthened by PKCS#5v2.
722
The User Key is a digest computed over the concatenated keyfile and passphrase.
723
.Ss Data Key
724
During operation, one or more Data Keys are deterministically derived by
725
the kernel from the Master Key and cached in memory.
726
The number of Data Keys used by a given provider, and the way they are
727
derived, depend on the GELI version and whether the provider is configured to
728
use data authentication.
650
.Sh SYSCTL VARIABLES
729
.Sh SYSCTL VARIABLES
651
The following
730
The following
652
.Xr sysctl 8
731
.Xr sysctl 8
Lines 677-683 Link Here
677
This variable should be set in
756
This variable should be set in
678
.Pa /boot/loader.conf .
757
.Pa /boot/loader.conf .
679
.It Va kern.geom.eli.overwrites : No 5
758
.It Va kern.geom.eli.overwrites : No 5
680
Specifies how many times the Master-Key will be overwritten
759
Specifies how many times the Master Key will be overwritten
681
with random values when it is destroyed.
760
with random values when it is destroyed.
682
After this operation it is filled with zeros.
761
After this operation it is filled with zeros.
683
.It Va kern.geom.eli.visible_passphrase : No 0
762
.It Va kern.geom.eli.visible_passphrase : No 0
Lines 699-716 Link Here
699
crypto requests with one interrupt.
778
crypto requests with one interrupt.
700
The crypto card and the driver has to support this feature.
779
The crypto card and the driver has to support this feature.
701
.It Va kern.geom.eli.key_cache_limit : No 8192
780
.It Va kern.geom.eli.key_cache_limit : No 8192
702
Specifies how many encryption keys to cache.
781
Specifies how many Data Keys to cache.
703
The default limit
782
The default limit
704
(8192 keys) will allow caching of all keys for a 4TB provider with 512 byte
783
(8192 keys) will allow caching of all keys for a 4TB provider with 512 byte
705
sectors and will take around 1MB of memory.
784
sectors and will take around 1MB of memory.
706
.It Va kern.geom.eli.key_cache_hits
785
.It Va kern.geom.eli.key_cache_hits
707
Reports how many times we were looking up a key and it was already in cache.
786
Reports how many times we were looking up a Data Key and it was already in
708
This sysctl is not updated for providers that need less keys than the limit
787
cache.
709
specified in
788
This sysctl is not updated for providers that need fewer Data Keys than
789
the limit specified in
710
.Va kern.geom.eli.key_cache_limit .
790
.Va kern.geom.eli.key_cache_limit .
711
.It Va kern.geom.eli.key_cache_misses
791
.It Va kern.geom.eli.key_cache_misses
712
Reports how many times we were looking up a key and it was not in cache.
792
Reports how many times we were looking up a Data Key and it was not in cache.
713
This sysctl is not updated for providers that need fewer keys than the limit
793
This sysctl is not updated for providers that need fewer Data Keys than the limit
714
specified in
794
specified in
715
.Va kern.geom.eli.key_cache_limit .
795
.Va kern.geom.eli.key_cache_limit .
716
.El
796
.El
Lines 738-744 Link Here
738
# geli detach da2.eli
818
# geli detach da2.eli
739
.Ed
819
.Ed
740
.Pp
820
.Pp
741
Create an encrypted provider, but use two keys:
821
Create an encrypted provider, but use two User Keys:
742
one for your employee and one for you as the company's security officer
822
one for your employee and one for you as the company's security officer
743
(so it's not a tragedy if the employee
823
(so it's not a tragedy if the employee
744
.Qq accidentally
824
.Qq accidentally
Lines 760-766 Link Here
760
# dd if=/dev/random of=/mnt/pendrive/keys/`hostname` bs=64 count=1
840
# dd if=/dev/random of=/mnt/pendrive/keys/`hostname` bs=64 count=1
761
# geli init -P -K /mnt/pendrive/keys/`hostname` /dev/ad0s1e
841
# geli init -P -K /mnt/pendrive/keys/`hostname` /dev/ad0s1e
762
# geli backup /dev/ad0s1e /mnt/pendrive/backups/`hostname`
842
# geli backup /dev/ad0s1e /mnt/pendrive/backups/`hostname`
763
(use key number 0, so the encrypted Master Key will be overwritten by this)
843
(use key number 0, so the encrypted Master Key will be re-encrypted by this)
764
# geli setkey -n 0 -k /mnt/pendrive/keys/`hostname` /dev/ad0s1e
844
# geli setkey -n 0 -k /mnt/pendrive/keys/`hostname` /dev/ad0s1e
765
(allow the user to enter his passphrase)
845
(allow the user to enter his passphrase)
766
Enter new passphrase:
846
Enter new passphrase:
Lines 776-783 Link Here
776
.Pp
856
.Pp
777
The example below shows how to configure two providers which will be attached
857
The example below shows how to configure two providers which will be attached
778
on boot (before the root file system is mounted).
858
on boot (before the root file system is mounted).
779
One of them is using passphrase and three keyfiles and the other is using only a
859
One of them is using passphrase and three keyfile parts and the other is
780
keyfile:
860
using only a keyfile in one part:
781
.Bd -literal -offset indent
861
.Bd -literal -offset indent
782
# dd if=/dev/random of=/dev/da0 bs=1m
862
# dd if=/dev/random of=/dev/da0 bs=1m
783
# dd if=/dev/random of=/boot/keys/da0.key0 bs=32k count=1
863
# dd if=/dev/random of=/boot/keys/da0.key0 bs=32k count=1

Return to bug 169089