gparted/po
Mike Fleetwood 04637a3426 Add PasswordRAMStore module (#795617)
Application level requirements for secure password management were set
out in "LUKS password handling, threats and preventative measures" [1].

The requirements are:
1) Passwords are stored in RAM and are not allowed to be paged to swap.
   (However hibernating with GParted still running will write all of RAM
   to swap).
2) Passwords are wiped from RAM when no longer needed.  When each
   password is no longer needed and when GParted closes.
3) Passwords are referenced by unique key.  Recommend using LUKS UUIDs
   as the unique key.
   (Each LUKS password should only ever need to be entered once for each
   execution of GParted.  Therefore the passwords can't be stored in any
   of the existing data structures such as Partitions or LUKS_Info cache
   because all of these are cleared and reloaded on each device
   refresh).

There seems to be two possible implementation methods: use an existing
library to provide secure memory handling, or write our own.
Libgcrypt [2] and libsodium [3] cryptographic libraries both provide
secure memory handling.  (Secure memory is quite simple really, some
virtual memory locked into RAM which is zeroed when no longer needed).
Linking to an encryption library just to provide secure memory seems
like using a sledge hammer to crack a nut.  Also because of requirement
(3) above a module is needed to "own" the pointers to the passwords in
the secure memory.  Managing the secure memory ourselves is probably no
more code that that needed to interface to libgcrypt.  Therefore handle
the secure memory ourselves.

So far the module is only compiled.  It is not used anywhere in GParted.

[1] LUKS password handling, threats and preventative measures
    https://bugzilla.gnome.org/show_bug.cgi?id=627701#c56

[2] libgcrypt general purpose cryptographic library, as used in GNU
    Privacy Guard
    https://gnupg.org/related_software/libgcrypt/

[3] libsodium crypto library
    https://download.libsodium.org/doc/

Bug 795617 - Implement opening and closing of LUKS mappings
2018-04-30 09:10:48 -06:00
..
ChangeLog Add note that ChangeLogs are no longer used 2009-04-19 15:19:15 -06:00
LINGUAS Added Croatian translation 2016-09-22 22:28:30 +00:00
POTFILES.in Add PasswordRAMStore module (#795617) 2018-04-30 09:10:48 -06:00
POTFILES.skip Add required polkit action file (#776437) 2017-09-01 10:14:20 -06:00
ar.po Update Arabic translation 2017-11-01 10:52:35 +02:00
bg.po Updated Bulgarian translation 2012-07-10 21:14:36 +03:00
br.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
bs.po Added Bosnian translation 2015-03-13 23:44:37 +00:00
ca.po Update Catalan translation 2017-08-08 21:35:07 +02:00
ca@valencia.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
cs.po Updated Czech translation 2018-01-28 14:34:26 +01:00
da.po Updated Danish translation 2018-03-10 17:06:10 +01:00
de.po Update German translation 2018-03-10 11:12:29 +00:00
dz.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
el.po Updated Greek translation 2016-04-17 18:39:33 +00:00
en_CA.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
en_GB.po en_GB: Fix keyword list which MUST end with a semicolon 2017-08-11 19:55:09 +02:00
eo.po Add Esperanto translation 2011-05-04 18:49:25 +02:00
es.po Fix Spanish translation header 2018-02-24 00:27:46 +01:00
et.po [l10n] Updated Estonian translation 2010-12-20 15:26:08 +02:00
eu.po Update Basque language 2016-10-16 22:56:35 +02:00
fa.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
fi.po Update Finnish translation 2017-09-01 07:46:53 +00:00
fr.po Updated French translation 2018-03-12 17:47:50 +01:00
gd.po Updated Scottish Gaelic translation 2016-06-11 08:02:16 +00:00
gl.po Updated Galician translations 2014-01-03 02:23:02 +01:00
gu.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
he.po Updated Hebrew translation. 2012-12-28 14:33:58 +02:00
hr.po Update Croatian translation 2018-01-04 18:31:00 +00:00
hu.po Update Hungarian translation 2018-03-04 21:23:13 +00:00
id.po Update Indonesian translation 2018-02-09 09:19:58 +00:00
is.po Update Icelandic translation 2016-10-10 16:42:12 +00:00
it.po Update Italian translation 2018-03-18 16:55:46 +00:00
ja.po l10n: Update Japanese translation 2013-05-08 23:26:38 +09:00
kk.po Update Kazakh translation 2018-03-03 15:56:18 +00:00
ko.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
lt.po Updated Lithuanian translation 2018-03-19 23:35:52 +02:00
lv.po Update Latvian translation 2018-03-19 11:09:43 +00:00
mk.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
ml.po Updated Malayalam Translation 2013-10-21 22:27:22 +05:30
nb.po Updated Norwegian bokmål translation from ProjectX. 2015-09-07 21:59:32 +02:00
ne.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
nl.po Update Dutch translation 2018-03-02 20:05:24 +00:00
nn.po Updated Norwegian Nynorsk translation 2012-10-16 21:08:30 +02:00
oc.po Updated Occitan translation 2016-04-19 17:42:52 +00:00
pa.po Completed Punjabi Translation 2016-06-09 15:12:12 -05:00
pl.po Update Polish translation 2018-01-08 14:39:34 +01:00
pt.po Updated Portuguese translation 2016-07-04 14:01:27 +00:00
pt_BR.po Update Brazilian Portuguese translation 2018-01-06 20:36:15 +00:00
ro.po Update Romanian translation 2018-03-03 13:07:57 +00:00
ru.po Updated Russian translation 2016-04-13 18:19:30 +00:00
rw.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
si.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
sk.po Update Slovak translation 2017-09-30 09:43:54 +00:00
sl.po Updated Slovenian translation 2017-02-14 09:10:57 +01:00
sr.po Updated Serbian translation 2018-02-17 23:57:25 +01:00
sr@latin.po Updated Serbian translation 2018-02-17 23:57:25 +01:00
sv.po Update Swedish translation 2018-03-11 22:21:24 +00:00
te.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
th.po Updated Thai translation 2015-04-07 12:46:02 +07:00
tr.po Update Turkish translation 2017-06-07 12:18:02 +00:00
uk.po Updated Ukrainian translation 2016-10-16 16:17:00 +03:00
vi.po Updated Vietnamese translation 2018-03-13 07:22:26 +07:00
zh_CN.po zh_CN: Fix keyword list which MUST end with a non-localized semicolon 2017-08-11 19:55:09 +02:00
zh_HK.po Add Language headers to po files 2016-07-21 22:35:03 +02:00
zh_TW.po zh_TW: Fix keyword list which MUST end with a non-localized semicolon 2017-08-11 19:55:09 +02:00