HomePhabricator

Use 160-bit TOTP keys rather than 80-bit TOTP keys

Description

Use 160-bit TOTP keys rather than 80-bit TOTP keys

Summary:
See https://hackerone.com/reports/435648. We currently use 80-bit TOTP keys. The RFC suggests 128 as a minimum and recommends 160.

The math suggests that doing the hashing for an 80-bit key is hard (slightly beyond the reach of a highly motivated state actor, today) but there's no reason not to use 160 bits instead to put this completely out of reach.

See some additional discussion on the HackerOne report about enormous key sizes, number of required observations, etc.

Test Plan: Added a new 160-bit TOTP factor to Google Authenticator without issue.

Reviewers: amckinley

Reviewed By: amckinley

Differential Revision: https://secure.phabricator.com/D19792

Details

Provenance
epriestleyAuthored on Nov 7 2018, 5:07 PM
epriestleyPushed on Nov 7 2018, 11:44 PM
Reviewer
amckinley
Differential Revision
D19792: Use 160-bit TOTP keys rather than 80-bit TOTP keys
Parents
rP1f6a4cfffe58: Prevent users from selecting excessively bad passwords based on their username…
Branches
Unknown
Tags
Unknown
Build Status
Buildable 21110
Build 28697: Run Core Tests