Skip to content

Commit 89df8a3

Browse files
committed
Update TLS coverage to 1.3
1 parent 63ebad5 commit 89df8a3

File tree

5 files changed

+227
-134
lines changed

5 files changed

+227
-134
lines changed

crypto.rst

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,8 @@ recomputed code to the code received in the message.
598598

599599
Computing a hashed message authentication code (HMAC).
600600

601+
.. this appears to be out of date, see https://en.wikipedia.org/wiki/HMAC#Design_principles
602+
601603
One way to implement the approach just described is to apply a cryptographic hash (such as
602604
SHA-3) to the concatenation of the plaintext message and the
603605
secret value, as illustrated in :numref:`Figure %s
@@ -624,13 +626,13 @@ In recent years, the idea of using a single algorithm to support both
624626
authentication and encryption has gained support for reasons of
625627
performance and simplicity of implementation. This is referred to as
626628
*authenticated encryption* or *authenticated encryption with
627-
associated data*. The latter term allows for some data fields
628-
(e.g., packet headers) to be transmitted as plaintext—these are the
629-
associated data—while the rest
630-
of the message is encrypted, and the whole thing, headers included, is
631-
authenticated. We won't go into details here, but there is now a set of
632-
integrated algorithms that produce both ciphertext and authentication
633-
codes using a combination of ciphers and hash functions.
629+
associated data*. The latter term allows for some data fields (e.g.,
630+
packet headers) to be transmitted as plaintext—these are the
631+
associated data—while the rest of the message is encrypted, and the
632+
whole thing, headers included, is authenticated. We won't go into
633+
details here, but there is now a set of integrated algorithms that
634+
produce both ciphertext and authentication codes using a combination
635+
of ciphers and hash functions.
634636

635637
If you want to get a deeper understanding of the principles of ciphers
636638
and hash functions, among other cryptographic concepts, we recommend the following book.

figures/SecurityFigs.pptx

2 Bytes
Binary file not shown.

figures/TLS-handshake.png

-7.57 KB
Loading

systems.rst

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -373,9 +373,11 @@ end-users to authenticate themselves with public key cryptography, but
373373
if you need to authenticate yourself to, say, your bank, it's
374374
overwhelmingly the case today that you will use some combination of
375375
user name (maybe an account number or an email address) and a
376-
password. Encryption (using TLS) prevents your password from being
377-
seen by eavesdroppers when it is sent to the bank's site, but we
378-
normally don't use public key cryptography to authenticate users.
376+
password. Perhaps another factor such as a one-time code sent to your
377+
phone will also be used. Encryption (using TLS) prevents your password
378+
from being seen by eavesdroppers when it is sent to the bank's site,
379+
but currently there is little deployment of public key cryptography
380+
for the authentication of users.
379381

380382
Password-based authentication had proven enormously problematic, with
381383
passwords frequently being compromised by a variety of attacks. If a
@@ -393,11 +395,11 @@ to the expected one, on a site that mimics the visual style of the
393395
legitimate web site.
394396

395397
A range of efforts have been under way for many years to reduce the
396-
reliance on passwords and to drive adoption of public key
397-
cryptography. The most visible recent development has been the
398-
appearance of *passkeys*, which, as the name suggests, are a form of
399-
user authentication that replaces passwords with public key-based
400-
authentication.
398+
reliance on passwords and to drive adoption of public key cryptography
399+
for end-user authentication. The most visible recent development has
400+
been the appearance of *passkeys*, which, as the name suggests, are a
401+
form of user authentication that replaces passwords with public
402+
key-based authentication.
401403

402404
.. can add a figure here
403405
@@ -436,6 +438,13 @@ coming from the correct web site using the standard authentication
436438
methods of TLS. A fraudulent web site will fail this check, so the
437439
user will not try to authenticate to the site.
438440

441+
Of course, if passkeys are to be effective as a phishing-prevention
442+
tool, they need to *replace* passwords, not just supplement them. If
443+
passwords remain available as an alternative, it seems safe to assume
444+
that attackers will keep using that option to breach user
445+
accounts. This is one of the problems that needs to be addressed in
446+
the deployment of passkeys.
447+
439448

440449
The WebAuthn spec allows for considerable implementation flexibility,
441450
but there are two broad categories of passkey implementation. One
@@ -460,7 +469,7 @@ password manager and then is made available to the user across
460469
different devices (laptops, mobile phones, etc.) when they need the
461470
passkey.
462471

463-
Both approaches have their strengths and weaknesses. Hardware tokens
472+
There are strengths and weaknesses for each approach. Hardware tokens
464473
make phishing attacks almost impossible, since the only way to get
465474
access to the user's credential is to have physical access to the
466475
key. A password manager, on the other hand, is a piece of software

0 commit comments

Comments
 (0)