AW: AW: Break backwards compatibility already: it’s time. Ignore the haters. I trust you.

2018-05-22 Thread Fiedler Roman
> Von: Gnupg-users [mailto:gnupg-users-boun...@gnupg.org] Im Auftrag von
> 
> On 22/05/18 10:44, Fiedler Roman wrote:
> > Such a tool might then e.g. be used on a MitM message reencryption
> > gateway: the old machines still send messages with old
> > (deprecated/legacy options), they are transformed by "gpg-archive":
> > The full data (old message, old decrypt report, reencrypted
> > plaintext) go to the auditing storages, the reencrypted plaintext to
> > the standard (before MitM) receiver (who does not need to support
> > legacy/deprecated from now on anymore).
> 
> I don't think we should be encouraging the automated or transparent use
> of legacy crypto upgrades, particularly in an online setting such as a
> mail gateway. All this does is launder the obviously-dangerous bad
> ciphertext into an apparently-safe new ciphertext.

Agreed, but I did not mean "e-mail" when writing "message". "Message" would 
more some encoded data block from a remote device, that has to be pushed to a 
central system from time to time, e.g. for auditing. Thus the gateway exactly 
knows the sender's key (usually it is only one for all systems with the same 
security level/in the same security zone) and re-encrypts it with a single key 
also known to the recipient. Usually the recipient has all the trusted keys 
hardcoded.

For "e-mail" type messages, as you noted, a transparent re-encryption would be 
more risk than benefit in many cases. Still, it might be useful for 
semi-automated migration scenarios, e.g.

* User clicks on a very old e-mail message

* Gnupg fails decrypting it, referring to the migration tool and asking for 
confirmation

* The migration tool migrates/replaces that single message if the user wants 
that. For e-mail, creating a mime-tree might come in handy, e.g.

- plaintext message (reencrypted)

- decryption/migration protocol (encrypted)

- old message (full old mime structure, also encrypted but without decrypting 
it first - thus providing data at rest protection while still preserving all 
the old structures for traceability)
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users


Re: AW: Break backwards compatibility already: it’s time. Ignore the haters. I trust you.

2018-05-22 Thread Andrew Gallagher
On 22/05/18 10:44, Fiedler Roman wrote:
> Such a tool might then e.g. be used on a MitM message reencryption
> gateway: the old machines still send messages with old
> (deprecated/legacy options), they are transformed by "gpg-archive":
> The full data (old message, old decrypt report, reencrypted
> plaintext) go to the auditing storages, the reencrypted plaintext to
> the standard (before MitM) receiver (who does not need to support
> legacy/deprecated from now on anymore).

I don't think we should be encouraging the automated or transparent use
of legacy crypto upgrades, particularly in an online setting such as a
mail gateway. All this does is launder the obviously-dangerous bad
ciphertext into an apparently-safe new ciphertext.

-- 
Andrew Gallagher



signature.asc
Description: OpenPGP digital signature
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users


AW: Break backwards compatibility already: it’s time. Ignore the haters. I trust you.

2018-05-22 Thread Fiedler Roman
Hello list,

I failed to decide, which message would be the best to reply to, so I took one 
with a title, rational humanists could be proud of. Ignoring the title, many of 
the messages had valid arguments for both sides. From my point of view the main 
difference seems to be, what is believed to be valid use cases and hence 
requirements for GnuPG. As I do not know of any requirements engineering 
documentation for GnuPG (also did not search for it yet), I just skimmed over 
the various use cases, that would be affected by fully dropping legacy support 
from GnuPG in the hardest way (both en/decrypt).

Foreword: The arguments from below are ONLY from the mostly fully automated, 
non-mail, gnupg use-cases I currently have and their implications on backward 
compatibility. Those use cases might not be representative for automated 
use-cases or not worth to be considered in gnupg future. If they are not 
regarded important for gnupg , that would also be OK for me. It is all just 
about making the decision if gnupg will be the preferred encryption tool for 
the next 5-10yrs in our setups.


To stick to logics, here are my assumptions for reasoning:

* A:LegacyBad: Legacy support is more a security risk than a usability benefit, 
so it should be removed (or at least disabled) in the current version.

* A:LateAdoptersPay: The burden on migrating legacy systems should be mostly on 
the side of those owning them - their lifecycle strategy decision was to 
minimize their costs, this should also have included a prediction, where 
software development/features/availability will move to. If done wrong, it is 
their fault.

* A:MigrationPathes GnuPG on the other side has to provide simple and clear 
data/function migration pathes, so that long term users have trust in gnupg to 
be a solution for longer time.

* A:NonStdBenefits: Non-standard use case support (e.g. non-mail) is a benefit 
for both parties: gnupg software gets also non-standard testing (thus 
security-relevant bugs might be discovered, that would not show up in standard 
use case) while other party can use software that is 80% fit to their purpose, 
so that system integration can be done much faster.

* A:MachineTurnaround: Turn-around time of server software is about 5yrs, not 
all machines are migrated at once. So there will be a transition phase, where 
legacy and non-legacy systems will have to work together.

* A:NoArchiveReencrypt: Full reading and reencryption of old tape archives 
(some that have to be stored/copied for 20yrs+) is not an option, both 
regarding efforts plus auditing support.

* A:LateAdopterIsolate: As legacy software might not be able to tackle modern 
threats, that part of threat mitigation has to be dealt with by the operator, 
meaning: while gpg1.4 might have been suitable to decrypt in online (networked) 
setups back then, a backward compatibility setting might do that only in a 
state of the art 2018 64bit OS-release virtual machine with GnuPG running in an 
old i386, unprivileged, minimal,  fully hardened LXC-container.

* A:AttackSurface: While in desktop setups, more complex gnupg might not be the 
largest part of attack surface, the size of the gnupg-attack surface might be 
relevant in hardened, automated setups. If gnupg cannot be run in a simple, 
auditable, automatable minimal configuration, this will also affect trust in 
the future usability of gnupg.


Considering all those assumptions, I would hope that following strategy would 
be somewhere in the direction of the optimal point for splitting costs between 
legacy operators and development (hopefully both for mail and automation):

* Have 3 categories of features to ease long-term planning, both for dev and 
users (mail and automation):

"recent": those just work

"deprecated": not insecure, but something considered to be removed over the 
next 5-10 years. They can be enabled by "--deprecated" without any known, 
current security risks.

"legacy": In an ideal world, they would not even be in the main code line.

Having those levels would ease coordination of migration pathes between devs 
and users within timeline as required for [A:MachineTurnaround]. As soon as one 
of your tools requires "--deprecated", you should start prioritizing/handling 
that with your devops team.


* While running a mixed setup [A:MachineTurnaround], [A:MigrationPathes] should 
be available, to reduce the amount of data produced with "deprecated" (or even 
"legacy" features) while obsolescence is already dawning.

As the producing systems might not be changed without breaking warranty while 
[A:MachineTurnaround] is not over yet, but operators may already have increased 
costs according to [A:LateAdoptersPay], GnuPG tool support for migration of 
data in use therefore would be nice. This should be quite easy to use to tackle 
"deprected" features (also to motivate users to migrate in steps). For "legacy" 
the effort on integration might be much higher, which is OK. This could go