Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2015 20:17:08 -0800
From:      Gleb Kurtsou <gleb@freebsd.org>
To:        rozhuk.im@gmail.com
Cc:        freebsd-hackers@freebsd.org, freebsd-geom@FreeBSD.org, 'Adam Nowacki' <nowakpl@platinum.linux.pl>
Subject:   Re: ChaCha8/12/20 and GEOM ELI tests
Message-ID:  <20150114041708.GA3189@reks>
In-Reply-To: <54b5d299.4914980a.61cd.43a6@mx.google.com>
References:  <54b33bfa.e31b980a.3e5d.ffffc823@mx.google.com> <54B4AE55.9090205@platinum.linux.pl> <54b5d299.4914980a.61cd.43a6@mx.google.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On (14/01/2015 05:21), rozhuk.im@gmail.com wrote:
> > Maybe faster but a stream cipher is unusable for disk encryption - iv
> > is derived from sector number and doesn't change. Being able to write a
> > known plaintext and read resulting ciphertext allows you to recover the
> > cipher stream and decrypt any past or future data stored on that
> > sector.
> 
> Depends on the capabilities of the attacker.
> 
> To be able to continuously read encrypted sectors for data collection
> is too much.

I disagree. It's the most basic attack scenario. Assuming attacker was
able to get access to encrypted disk once, odds are high it may happen
again.


> Ability to read encrypted sectors has a transmission network, for example when the container=disk is stored somewhere in the cloud.
> 
> In many cases, the attacker gets Encrypted disk along with other equipment, often in the off state.
> Without encryption keys and the ability to write / read through the GELI.
> 
> I do not see any weaknesses stream ciphers in cases when the attacker is not able to access the disk when it is mounted in the GEOM GELI.
> 
> Another possibility is the use of ChaCha (without XTS) - encryption
> swap file: there every time a new key is generated, besides the speed
> is particularly important.

Stream cipher (or similarly functioning block cipher mode) should not be
used for disk encryption. IMHO swap encryption hardly justifies adding
insecure encryption mode to geli. Fast swap is certainly nice to have,
but rather remains a snake oil, system will remain trashed due to
swapping no matter how fast swap is.


> These aspects of the application must necessarily be reflected in the documentation.
> 
> 
> There are objections to add ChaCha and XChaCha (without XTS) in GEOM GELI?

I strongly object.

Having XTS mode for a stream cipher in the first place looks really fishy.. 

Originally encryption is defined as:
T = AES-ENC(key2, i) (*) alpha_j
PP = P (*) T
CC = AES-ENC(key1, PP)
C = CC (*) T

In stream cipher case:
T = CHACHA(key2, state2) (*) i (*) alpha_j
PP = P (*) T
CC = CHACHA(key1, state1) (*) PP
C = CC (*) T

CC = CHACHA(key1, state1) (*) P (*) T
C = CC (*) T

C = CHACHA(key1, state1) (*) P

It doesn't depend on i, j or key2. state1 should be the same as well.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150114041708.GA3189>