keybase / keybase/client

Store password on windows instead of requesting at every boot

Open
#3,501 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

I understand that on linux and osx you can store your keybase password in the keychain. Windows does not really have a comparable equivalent, however it does have the CryptProtectData function, which encrypts data in some way tied to the user's logon credentials, and is accessible from golang. If there's security reasons for this, perhaps a solution could be to prompt the user to enter their windows password again either using CredUIPromptForCredentials or however chrome does it when requesting access to stored website passwords.

Since I read that some form of encryption key is stored in memory, perhaps this could also be used to make that more secure as well? (Unless I'm misunderstanding that comment, which is entirely possible)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the linked CryptProtectData and CredUIPromptForCredentials APIs, the Go access reference, and issue #2048 first. Define and validate a Windows credential-storage approach that avoids prompting at every boot while preserving the required security behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
operating-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.