keybase / keybase/client

[Feature request] act as software U2F provider

Open
#24,072 1 comment 3 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

The idea would be to provide an alternative to use hardware keys (such as yubikey) for providing a second factor using FIDO standard. In other words, this would be a soft U2F solution instead of a hardware one. While less secure, for simpler cases it is more convenient than having to take with you (and depend on) your hardware key.
I'm currently using krypt.co which basically does this. It works by installing an extension in your browser which provides the software U2F layer to the browser. This extension communicates via internet to an app on your smartphone where the actual authentication takes place. Thus, your smartphone is your second factor. The problem is that if you loose it, it is the same as loosing your hardware key.
The idea would be to make every device registered in keybase capable of providing this software-based U2F layer. Not sure if this would require a browser extension or if the keybase app can directly present itself as a U2F device to the system. This avoid the need to have your phone around but at the same time allows you to easily revoke a device which you lost.
Maybe this can be even be solved outside the keybase app by calling into keybase's primitive crypto primitives.

Another reference for a software based solution, but for macOS: https://github.com/github/SoftU2F

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no repository files, tests, or entry points. Start by evaluating the browser-extension, Keybase-app, and crypto-primitive integration options described, using krypt.co and SoftU2F as references; a complete result would provide a revocable software U2F factor for registered devices.

Written by the indexing model from the issue text.

Assessment

Domain
authentication, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.