- From: Alex Takakuwa <alextaka@uw.edu>
- Date: Fri, 6 Apr 2018 15:33:23 -0700
- To: public-webauthn@w3.org
- Cc: Tadayoshi Kohno <yoshi@cs.washington.edu>, Alexei Czeskis <aczeskis@google.com>, Arnar Birgisson <arnarb@google.com>, Hideo Nishimura <nishimura.hideo@lab.ntt.co.jp>
- Message-ID: <CAEOgND8areBN6xr3kJP_8jz_p6BEKidXS7BBFMK=2VYTDE6LqQ@mail.gmail.com>
I should also note that these ideas have been published in the public domain and aren't protected by IP. On Tue, Apr 3, 2018 at 12:06 PM, Alex Takakuwa <alextaka@uw.edu> wrote: > > > > > > > > > > > > > > > *During the FIDO Plenary in Vancouver, we presented a potential solution > and implementation that allows users to replace/upgrade devices in the > FIDO/WebAuthn ecosystem. We called this Transfer Access > https://www.cs.washington.edu/tr/2017/06/UW-CSE-17-06-01.pdf > <https://www.cs.washington.edu/tr/2017/06/UW-CSE-17-06-01.pdf>. Following > that presentation, FIDO members asked us to include solutions for account > recovery to solve issues related to Device Loss in addition to Device > Upgrade.Currently in the WebAuthn ecosystem, if a user loses a device the > recovery process is quite onerous as the user must manually update settings > at each relying party. Because solutions relying on passwords make > passwords the weakest link, we present three potential solutions to enable > recovery from Device Loss that do not rely on passwords and that vastly > reduce user burden. They are: 1. Copy Private Key Material > (https://homes.cs.washington.edu/~alextaka/overview-copy.pdf > <https://homes.cs.washington.edu/~alextaka/overview-copy.pdf>)2. Online > Recovery Storage > (https://homes.cs.washington.edu/~alextaka/overview-ors.pdf > <https://homes.cs.washington.edu/~alextaka/overview-ors.pdf>)3. Pre-emptive > Syncing (https://homes.cs.washington.edu/~alextaka/overview-psk.pdf > <https://homes.cs.washington.edu/~alextaka/overview-psk.pdf>)We have linked > to slides with quick overviews of each approach, but we discuss the > proposals in more detail below. We have also aggregated information about > our proposals in this doc: > https://docs.google.com/document/d/1tRLbXYLb9Z65QqhOX7v9D-aq_RUODyn5oALpCXj46K8/edit?usp=sharing > <https://docs.google.com/document/d/1tRLbXYLb9Z65QqhOX7v9D-aq_RUODyn5oALpCXj46K8/edit?usp=sharing>For > each of our proposals, our goals were as follows:1. Preserve ALL of the > security and privacy benefits afforded by FIDO/WebAuthn.2. Have minimal > impact on the user experience. (User burden not dependent on the number of > registrations)3. Allow users to choose what kinds of recovery "devices" > they would like to use, and allow the Relying Parties to vet these > solutions via attestations. Possible recovery "devices" should include > hardware keys, traditional authenticators, key-sharding solutions, third > parties, hardware/software.4. Enable Device Replacement/Upgrade for both > primary authenticators and backup "devices".5. Allow for multiple backup > "devices".6. Allow a single backup "device" to back up multiple primary > authenticators.Thanks for reading! We would love to hear your feedback on > these proposals.- Alex Takakuwa In collaboration with Alexei Czeskis > (Google), Arnar Birgisson (Google), Hideo Nishimura (NTT Labs), and > Tadayoshi Kohno (University of Washington)------------------------------* > > > > > > > > > > > > > > > > > > > > > > > *More Detail on Key Copy(overview: > https://homes.cs.washington.edu/~alextaka/overview-copy.pdf > <https://homes.cs.washington.edu/~alextaka/overview-copy.pdf>)This approach > encompassess methods for copying necessary private key material in order to > duplicate private keys on new devices. This could mean copying a wrapping > key or a private seed. A key copy approach benefits from simplicity, as it > does not require any changes from the relying party, though the RP will > likely lose any benefits provided by hardware attestations. Further, users > can use any active key to “activate” a new key.Although copying private key > material violates some of the existing FIDO/WebAuthn guarantees, it may be > possible to implement it securely (see: > http://ieeexplore.ieee.org/document/8311436/ > <http://ieeexplore.ieee.org/document/8311436/>). However, it does come with > tradeoffs: - Revocation is potentially unsolved. We have some potential > workarounds that rely on trusitng the authenticators to update counters, > but revoking access from a single device which may be compromised in the > future is difficult.- Relying Party can’t validate new hardwareMore Detail > on Online Recovery Storage and Pre-emptive Syncing:Each of these two > solutions require a user to manage a backup "device", which the user will > sync with a primary authenticator upon setup of the primary authenticator. > However, note that as opposed to the current protocols, where the user > would have to register a second authenticator manually at each relying > party, in the proposed schemes the user only uses the backup authenticator > once -- to pair it with the primary authenticator. After the initial > syncronization, the user can store the backup "device" (or in the case of a > third party, log out) and will not need that device until the user loses > the primary authenticator and needs to recover. The primary authenticator > will work as a standard FIDO authenticator for future registrations and > authentications. Both solutions require Relying Parties to implement the > Transfer Access Protocol > <https://www.cs.washington.edu/tr/2017/06/UW-CSE-17-06-01.pdf>, which also > allows for Device Replacement/Upgrade.Solution 1 - Utilizing Online > Recovery Storage(overview: > https://homes.cs.washington.edu/~alextaka/overview-ors.pdf > <https://homes.cs.washington.edu/~alextaka/overview-ors.pdf>)Power Point > Slides explaining this solution in more detail: > https://homes.cs.washington.edu/~alextaka/ORS.pdf > <https://homes.cs.washington.edu/~alextaka/ORS.pdf>Summary: This solution > uses some online entity (can be a privately run server or an actual third > party) to store information about registrations and that will help the user > recover. We do NOT need to trust the Online Recovery Storage provider for > any security or privacy properties and the Online Recovery Storage provider > cannot affect the security of FIDO protocols. Further, Relying Parties do > not need to know about the Online Recovery Storage at any point.This > solution has the following caveats: - The Online Recovery Storage must be > available during registrations and recoveries- The Online Recovery Storage > is not necessary for authentications.- Requires authenticators that can > access the internet in some way- Relying Party must implement something > like the Transfer Access Protocol > <https://www.cs.washington.edu/tr/2017/06/UW-CSE-17-06-01.pdf> for chains > of signatures.Solution 2 - Pre-emptively syncing keys:(overview: > https://homes.cs.washington.edu/~alextaka/overview-psk.pdf > <https://homes.cs.washington.edu/~alextaka/overview-psk.pdf>)Power Point > Slides explaining this solution in more detail: > https://homes.cs.washington.edu/~alextaka/PSK.pdf > <https://homes.cs.washington.edu/~alextaka/PSK.pdf>In-depth summary: > https://docs.google.com/document/d/1VtmqeciSGRjRXcrkSq-WjCDz44KdQM-Xt9VR1OU9AsM/edit?usp=sharing > <https://docs.google.com/document/d/1VtmqeciSGRjRXcrkSq-WjCDz44KdQM-Xt9VR1OU9AsM/edit?usp=sharing>Summary: > In the event that we do not want to trust an online recovery storage > provider to be available during registrations and recoveries, we can use a > solution that does not depend on any third party. In this solution, the > backup "device" pre-generates key pairs, stores them, and pre-loads the > public keys onto the primary authenticator. During registration, the > primary authenticator registers as normal, but also automatically registers > one of the recovery public keys as a recovery key. This solution has the > following caveats: - Storage and computation overhead.- Backup Devices and > Primary Authenticators store extra keys. During recovery, the backup device > does not know which of the previously generated keys have been used, so it > needs to perform recoveries for all of them. - Revocation is tricky- The > Backup Device has no information about the usage of its keys. It cannot, > without the Primary Authenticator, revoke access from lost devices for all > accounts. If a user keeps record of all RPs separately, then the Backup > Device can revoke access for all accounts.- Servers must allow for the > registrations of backup keys, which can be done via an optional extension.- > Relying Party must implement something like the Transfer Access Protocol > <https://www.cs.washington.edu/tr/2017/06/UW-CSE-17-06-01.pdf> for chains > of signatures.* >
Received on Friday, 6 April 2018 22:35:36 UTC