Changeset 55478 in vbox
- Timestamp:
- Apr 28, 2015 12:15:15 PM (9 years ago)
- File:
-
- 1 edited
-
trunk/doc/manual/en_US/user_AdvancedTopics.xml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/manual/en_US/user_AdvancedTopics.xml
r55275 r55478 3728 3728 </sect1> 3729 3729 3730 <sect1 id="diskencryption"> 3731 <title>Encryption of disk images</title> 3732 3733 <para> 3734 Starting with VirtualBox 5.0 it is possible to encrypt the data stored in 3735 hard disk images transparently for the guest. It does not depend on a specific 3736 image format to be used. Images which have the data encrypted are not portable 3737 between VirtualBox and other virtualization software though. 3738 </para> 3739 3740 <para> 3741 VirtualBox uses the AES algorithm in XTS mode and supports 128 or 256 bit 3742 data encryption keys (DEK). 3743 The DEK is stored encrypted in the medium properties and is decrypted during 3744 VM startup by entering a password which was chosen when the image was encrypted. 3745 </para> 3746 3747 <sect2 id="diskencryption-limitations"> 3748 <title>Limitations</title> 3749 3750 <para> 3751 There are some limitations the user needs to be aware of when using this 3752 feature: 3753 </para> 3754 3755 <itemizedlist> 3756 3757 <listitem> 3758 <para>This feature is currently closed source and requires the Oracle extension 3759 pack to be installed to work.</para> 3760 </listitem> 3761 3762 <listitem> 3763 <para>Because encryption works only on the stored user data 3764 it is not possible to check for metadata integrity of the disk image currently. 3765 Attackers might take advantage of this to remove or insert blocks of database 3766 into the image or change certain metadata items such as the disk size.</para> 3767 </listitem> 3768 3769 <listitem> 3770 <para>Exporting appliances which contain encrypted disk images is not 3771 possible because the OVF specification doesn't support this. 3772 All images are therefore decrypted during export.</para> 3773 </listitem> 3774 3775 <listitem> 3776 <para>The DEK is kept in memory while the VM is running to be able to 3777 decrpt data read and encrypt data written by the guest. While this should 3778 be obvious the user needs to be aware of this because an attacker might be able 3779 to extract the key on a compromised host and get access to the data later.</para> 3780 </listitem> 3781 3782 <listitem> 3783 <para>When encrypting or decrypting the images the password is passed unencrypted 3784 via the Main API from the frontend to VBoxSVC. This needs to be kept in mind 3785 especially when using third party frontends which make use of the webservice 3786 where the password might be transmitted unencrypted over the network.</para> 3787 </listitem> 3788 3789 <listitem> 3790 <para>Encrypting images with differencing images is only possible if there 3791 are no branches exisiting. This limitation will be lifted in the future.</para> 3792 </listitem> 3793 3794 </itemizedlist> 3795 3796 </sect2> 3797 3798 <sect2 id="diskencryption-encryption"> 3799 <title>Encrypting disk images</title> 3800 3801 <para> 3802 Encrypting disk images can be done either using the GUI or VBoxManage. 3803 While the GUI is easier to use it works on a per VM basis and encrypts 3804 all disk images attached to the specific VM. 3805 With VBoxManage one can encrypt individual images (including all differencing 3806 images). To encrypt an unencrypted medium with VBoxManage use: 3807 </para> 3808 3809 <screen>VBoxManage encryptmedium "uuid|filename" --newpassword "file|-" --cipher "cipher id" --newpasswordid "id"</screen> 3810 3811 <para> 3812 To supply the encryption password point VBoxManage to the file where the 3813 password is stored or specify <computeroutput>-</computeroutput> to let VBoxManage 3814 ask you for the password on the command line. 3815 </para> 3816 <para> 3817 The cipher parameter specifies the cipher to use for encryption and can be either 3818 <computeroutput>AES-XTS128-PLAIN64</computeroutput> or <computeroutput>AES-XTS256-PLAIN64</computeroutput>. 3819 The specified password identifier can be freely chosen by the user and is 3820 used for correct identification when supplying multiple passwords during 3821 VM startup. 3822 </para> 3823 <para> 3824 If the user uses the same password when encrypting multiple images and also the 3825 same password identifier, the user needs to supply the password only once during 3826 VM startup. 3827 </para> 3828 </sect2> 3829 3830 <sect2 id="diskencryption-startvm"> 3831 <title>Starting a VM with encrypted images</title> 3832 3833 <para> 3834 When a VM is started using the GUI a dialog will open where the user 3835 needs to enter all passwords for all encrypted images attached to the VM. 3836 If another frontend like VBoxHeadless is used the VM will be paused as soon 3837 as the guest tries to access an encrypted disk. 3838 The user needs to provide the passwords through VBoxManage using the following 3839 command: 3840 </para> 3841 3842 <screen>VBoxManage controlvm "uuid|vmname" addencpassword "id" "password" [--removeonsuspend "yes|no"]</screen> 3843 3844 <para> 3845 The <computeroutput>id</computeroutput> parameter must be the same as the password identifier 3846 supplied when encrypting the images. <computeroutput>password</computeroutput> is the password 3847 used when encrypting the images. The user can optionally specify 3848 <computeroutput>--removeonsuspend "yes|no"</computeroutput> to specify whether 3849 to remove the password from VM memory when the VM is suspended. Before the VM can be 3850 resumed the user needs to supply the passwords again. This is useful when 3851 a VM is suspended by a host suspend event and the user doesn't want 3852 that the password remains in memory. 3853 </para> 3854 </sect2> 3855 3856 <sect2 id="diskencryption-decryption"> 3857 <title>Decrypting encrypted images</title> 3858 3859 <para> 3860 In some circumstanes it might be required to decrypt previously encrypted 3861 images. This can be done in the GUI for a complete VM or using VBoxManage 3862 with the following command: 3863 </para> 3864 3865 <screen>VBoxManage encryptmedium "uuid|filename" --oldpassword "file|-"</screen> 3866 3867 <para> 3868 The only required parameter is the password the image was encrypted with. 3869 The options are the same as for encrpting images. 3870 </para> 3871 </sect2> 3872 </sect1> 3873 3730 3874 </chapter>
Note:
See TracChangeset
for help on using the changeset viewer.

