Part of the interface design to the SQLite Encryption Extension makes
it possible for an application to accidentally supply weak keys.  This
only happens if the keying interface is misused.  Though to be fair,
the documentation could be clearer about how to avoid misusing the
interface.

If an application does misuse the keying interface and supplies a weak
key, then SEE offers no warning.  The database appears to be fully
encrypted.  But an attacker will be able to easily guess the
encryption key.

I will publish patches to SEE in about two weeks that better document
how to avoid misusing the keying interface and perhaps also to provide
feedback (errors) in the case where the keying interface is misused in
a way that results in weak keys.

In the meantime, if you are an SEE licensee and are concerned that you
might be using weak keys in your application, you can contact me
privately (via email to drh at sqlite.org or by phone at +1.704.948.4565)
to learn more about the problem and how you can mitigate the problem
before it is disclosed.

Note that the details of the problem will only be disclosed to other
SEE licensees and not to the general public.

-- 
D. Richard Hipp
drh at sqlite.org

Reply via email to