|
From: | Stefan Berger |
Subject: | Re: [Qemu-devel] blobstore disk format (was Re: Design of the blobstore) |
Date: | Wed, 28 Sep 2011 15:19:45 -0400 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110621 Fedora/3.1.11-1.fc14 Lightning/1.0b3pre Thunderbird/3.1.11 |
On 09/28/2011 11:50 AM, Daniel P. Berrange wrote:
Hm, this brings me back to the previous problem of the ordering of things that ended up being problematic:On Wed, Sep 28, 2011 at 11:48:19AM -0400, Stefan Berger wrote:On 09/22/2011 02:37 AM, Michael S. Tsirkin wrote:I'm guessing that if we find a correct ber structure in the file, this most likely means the key is correct.[I still would add at least a CRC32 (or maybe even a SHA1) for detection of corruption of the ASN.1 encoded blob without having to hunt the data through a ASN.1 decoder.] If we now say that data should be encryptable even if QCoW2 wasn't used, then is a command line option -nvram id=<driveid>,key=<hex key>,... something we should support to make the key applicable to the whole NVRAM?Try to avoid requiring secret keys to be set on the command line... At least allow setting them via a monitor command
In the case of encrypted QCoW2 the monitor queries for the password when the use types 'c' for continue. That happens *after* device's 'init' function was called and also *after* their 'reset' handler was invoked, so not being able to decrypt encrypted state blobs and not being able to feed devices with their persistent state even until the 'reset' handler was invoked. The password comes quite late.
The monitor reacts to key typing, which in turn is handled in the main_loop() in vl.c.
So, the solution could be that each NVRAM client also registers its reset handler (along with the DeviceState pointer). Each NVRAM client would have to be written in such a way that it ignores previous failed attempts to read its state due to the key coming so late and once the NVRAM has the key it invokes the reset handlers again, which now trigger the reading of the state in the NVRAM that now can be decrypted. Does this sound 'sane' or more like a 'hack' ?
Stefan
Daniel
[Prev in Thread] | Current Thread | [Next in Thread] |