pgpfan:tpp
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
pgpfan:tpp [2022/01/03 19:28] – Typo. Fluff up EFAIL. b.walzer | pgpfan:tpp [2024/05/02 13:39] (current) – We have a reference now b.walzer | ||
---|---|---|---|
Line 17: | Line 17: | ||
The entire rant is basically about how OpenPGP is old and therefore bad and how new things, sometimes only vaguely defined, are good. So let's address this first. | The entire rant is basically about how OpenPGP is old and therefore bad and how new things, sometimes only vaguely defined, are good. So let's address this first. | ||
- | If someone while trying to sell you some high security mechanical system told you that the system had remained unbreached for the last 20 years you would take that as a compelling argument. You would be unlikely to demand a newer design. Normally old designs that have stood the test of time are valued. Cryptography is based on mathematical/ | + | If someone, while trying to sell you some high security mechanical system, told you that the system had remained unbreached for the last 20 years you would take that as a compelling argument. You would be unlikely to demand a newer design. Normally old designs that have stood the test of time are valued. Cryptography is based on mathematical/ |
So the rant is contending something that goes against conventional expectations. Normally that would require some evidence and/or a good argument. The rant provides neither. | So the rant is contending something that goes against conventional expectations. Normally that would require some evidence and/or a good argument. The rant provides neither. | ||
Line 37: | Line 37: | ||
>There are at least 8 different ways of encoding the length of a packet, depending on whether you’re using “new” or “old” format packets. | >There are at least 8 different ways of encoding the length of a packet, depending on whether you’re using “new” or “old” format packets. | ||
- | This is true in a narrow technical sense but is misleading. | + | This is true in a narrow technical sense but is misleading. |
- | number of bytes used for length. The new format uses a simple length extension based on the bit patterns of the first byte. This is a common technique. UTF-8 | + | |
does the same sort of thing but no one is claiming that there are 6 (4) different UTF-8 representations. | does the same sort of thing but no one is claiming that there are 6 (4) different UTF-8 representations. | ||
>The “new format” packets have variable-length lengths, like BER (try to write a PGP implementation and you may wish for the sweet release of ASN.1). | >The “new format” packets have variable-length lengths, like BER (try to write a PGP implementation and you may wish for the sweet release of ASN.1). | ||
- | For part of my working life I had to implement low level protocols from specifications of various kinds. If I had of encountered the OpenPGP packet structure I would of considered implementing to be a relatively good time. The reader is invited to experience the overwhelming complexity of the OpenPGP packet structure. It is defined in [[https:// | + | For part of my working life I had to implement low level protocols from specifications of various kinds. If I had of encountered the OpenPGP packet structure I would have considered implementing to be a relatively good time. The reader is invited to experience the overwhelming complexity of the OpenPGP packet structure. It is defined in [[https:// |
>The most recent keyserver attack happened because GnuPG accidentally went quadratic in parsing keys, which also follow this deranged format. | >The most recent keyserver attack happened because GnuPG accidentally went quadratic in parsing keys, which also follow this deranged format. | ||
Line 104: | Line 103: | ||
>The PGP MDC can be stripped off messages –– it was encoded in such a way that you can simply chop off the last 22 bytes of the ciphertext to do that. | >The PGP MDC can be stripped off messages –– it was encoded in such a way that you can simply chop off the last 22 bytes of the ciphertext to do that. | ||
- | This is true. It just means that a missing | + | Well, sure, you could do that. An implementation would probably |
>To retain backwards compatibility with insecure older messages, PGP introduced a new packet type to signal that the MDC needs to be validated; if you use the wrong type, the MDC doesn’t get checked. | >To retain backwards compatibility with insecure older messages, PGP introduced a new packet type to signal that the MDC needs to be validated; if you use the wrong type, the MDC doesn’t get checked. | ||
- | That's just a different implication of the fact that MDCs can be stripped. | + | An application |
>Even if you do, the new SEIP packet format is close enough to the insecure SE format that you can potentially trick readers into downgrading; | >Even if you do, the new SEIP packet format is close enough to the insecure SE format that you can potentially trick readers into downgrading; | ||
- | Which would mean that the MDC was not mandatory where required. Yet another implication | + | We have a problem here. The juxtaposition |
- | + | ||
- | The author again mentions | + | |
>Trevor Perrin worked the SEIP out to 16 whole bits of security. | >Trevor Perrin worked the SEIP out to 16 whole bits of security. | ||
- | If you read the linked mailing list thread you will discover | + | This was wrong, but it was not Trevor Perrin' |
- | anything to seriously worry about:" | + | |
>And, finally, even if everything goes right, the reference PGP implementation will (wait for it) release unauthenticated plaintext to callers, even if the MDC doesn’t match. | >And, finally, even if everything goes right, the reference PGP implementation will (wait for it) release unauthenticated plaintext to callers, even if the MDC doesn’t match. | ||
Line 148: | Line 144: | ||
>//No Forward Secrecy// | >//No Forward Secrecy// | ||
- | Reduced to the essence; | + | Reduced to the essence; forward secrecy is where you delete the encryption key protecting some encrypted data to prevent that key from falling into the possession of an attacker that already has that encrypted data. There is nothing preventing any system from doing that, even something based on the OpenPGP standard. For a practical demonstration see: [[pgpfan: |
>Forward secrecy means that if you lose your key to an attacker today, they still can’t go back and read yesterday’s messages; ... | >Forward secrecy means that if you lose your key to an attacker today, they still can’t go back and read yesterday’s messages; ... | ||
Line 168: | Line 164: | ||
| Messages Saved on Phone | Revealed | | Messages Saved on Phone | Revealed | ||
- | So the encrypted email actually ends up providing a better result for the user. That is because it is possible to lock up the encryption | + | So the encrypted email actually ends up providing a better result for the user. That is because it is possible to lock up the secret |
+ | |||
+ | Please see the [[pgpfan: | ||
>// | >// | ||
- | This section compares apples to oranges to kumquats. Categorizing the different things here would be tedious. Let' | + | This section compares apples to oranges to kumquats. Categorizing the different things here would be so tedious |
>// | >// |
pgpfan/tpp.1641238083.txt.gz · Last modified: 2022/01/03 19:28 by b.walzer