All Projects → Angelelz → Winhellounlock

Angelelz / Winhellounlock

Licence: mit
KeePass 2 plugin to automatically unlock databases with Windows Hello

Projects that are alternatives of or similar to Winhellounlock

Keepassbrowserimporter
KeePass 2.x plugin which imports credentials from various browsers.
Stars: ✭ 139 (+127.87%)
Mutual labels:  plugin, keepass
Keepasswinhello
Quick unlock with Windows Hello for KeePass 2
Stars: ✭ 162 (+165.57%)
Mutual labels:  plugin, keepass
Keepass Yet Another Favicon Downloader
Yet Another Favicon Downloader for KeePass 2.x
Stars: ✭ 354 (+480.33%)
Mutual labels:  plugin, keepass
Modio Unity
Unity Plugin for integrating mod.io - a modding API for game developers
Stars: ✭ 53 (-13.11%)
Mutual labels:  plugin
Mapit
An easy way to embed google maps in your site.
Stars: ✭ 54 (-11.48%)
Mutual labels:  plugin
Serverauth
An advanced authentication plugin for PocketMine-MP
Stars: ✭ 58 (-4.92%)
Mutual labels:  plugin
Krystal
🐱‍🏍 TiddlyWiki5 plugin - Horizontal Story River
Stars: ✭ 60 (-1.64%)
Mutual labels:  plugin
Activity Tracker
Plugin for IntelliJ IDEs to track and record user activity
Stars: ✭ 52 (-14.75%)
Mutual labels:  plugin
Fileuploaderplugin
Simple cross platform plugin to upload files.
Stars: ✭ 59 (-3.28%)
Mutual labels:  plugin
Matlab Editor Plugin
Extends features for the matlab editor, Bookmarks, FileStructure, Clipboard stack
Stars: ✭ 58 (-4.92%)
Mutual labels:  plugin
Doxyit
Notepad++ plugin for Doxygen commenting
Stars: ✭ 56 (-8.2%)
Mutual labels:  plugin
Craco Alias
A craco plugin for automatic aliases generation for Webpack and Jest
Stars: ✭ 56 (-8.2%)
Mutual labels:  plugin
Chartjs Plugin Rough
Chart.js plugin to create charts with a hand-drawn, sketchy, appearance
Stars: ✭ 59 (-3.28%)
Mutual labels:  plugin
Vim Crates
Handle Cargo dependencies like a Rustavimean.
Stars: ✭ 54 (-11.48%)
Mutual labels:  plugin
Vue Ts Plugin
Typescript Language Service Plugin for Vue
Stars: ✭ 59 (-3.28%)
Mutual labels:  plugin
Unityplugin Avprovideo
AVPro Video is a multi-platform Unity plugin for advanced video playback
Stars: ✭ 53 (-13.11%)
Mutual labels:  plugin
Killy
🎮 🆓 Play TiDB in Minecraft! Created by @gaocegege @codeworm96 @hawkingrei in Go Hack 2017
Stars: ✭ 59 (-3.28%)
Mutual labels:  plugin
Telegram Anti Revoke
Telegram anti-revoke plugin - Telegram 防撤回插件
Stars: ✭ 1,084 (+1677.05%)
Mutual labels:  plugin
Framework7 Plugin 3d Panels
Framework7 plugin to add 3d effect for side panels
Stars: ✭ 56 (-8.2%)
Mutual labels:  plugin
Fish Docker Compose
Fish shell completions for docker-compose
Stars: ✭ 58 (-4.92%)
Mutual labels:  plugin

WinHelloUnlock: Unlock KeePass 2 Databases with Windows Hello

Latest release GitHub issues Github All Releases License

This plugin for KeePass 2 password manager is intended to conveniently Unlock your database using biometrics with Windows Hello technology.

This plugin is heavily based on KeePassWinHello and KeePassQuickUnlock. I am not a programmer, so I copied most of the code from them, but implemented a different way of storing the MasterKey data to allow plugin functionality, even after rebooting your computer, using Password Vault, Password Credentials and Key Credentials from Windows UWP APIs.

Disclaimer

I tried my best to not compromise security! Please, take a look at the code and tell me what could be better. Having said that, we know nothing about Windows Hello internals, and how secure it actually is. By using this plugin, you are putting your trust in my implementation of Windows Hello technology (that you can check on the code), and Windows Hello robustness itself (that you cannot check).

Usage

With this plugin you may:

Unlock your database using Biometric via Windows Hello. Even after completely closing KeePass or rebooting your PC.

Systems Requirements

This plugin relies on Windows Hello API and its requirements.

Tested on HP Spectre x360 with KeePass 2.42.1.

How to Install

Place WinHelloUnlock.dll into Plugins folder in your KeePass installation (by default is C:\Program Files (x86)\KeePass Password Safe 2).

Setup

After installation, open your database and unlock it using your composite key. Unlocking with any combination of Password/KeyFile/WindowsUserAccount is supported. Secure Desktop is supported.

When your database is unlocked, you will be asked if you want to set up WinHelloUnlock. If you cancel this dialog, the plugin will disable itself for this database and you will need to manually enable it in the options menu.

A Windows Hello prompt will be shown to cryptographically sign and encrypt your Master Key data.

You should receive a confirmation after a successful set up.

Options

The plugin integrates itself into the KeePass settings dialog.

Available settings:

  • Enable or disable the plugin for this particular database. If you disable it, you will not be asked to set WinHelloUnlock every time you unlock your database.
  • Re-lock databases after unlocking them to perform an AutoType.
  • Create or delete WinHelloUnlock data for this particular database.

Notes

No sensitive information including master passwords for databases are stored by the plugin in a plain text. A database key is encrypted and decrypted using Windows Hello API in order to unlock the database. KeePass Composite Key data is Encrypted with a Cryptographic Key signed with a Windows Hello Key Credential and saved as a Password Credential to a Password Vault. To decrypt this data, you need to:

  • Have access to the Password Vault
  • Have access to the Cryptographic Key
  • Be able to Cryptographically sign the Cryptographic Key with Windows Hello

So basically, you need to have access to the data, the hardware and the biometrics (or pin).

As I said, I'm not a programmer, so any criticism will be well received. Feel free to commit any change or PR.

Credits

WinHelloUnlock vs KeePassWinHello

By the time this plugin was created, KeePassWinHello did not have to option to remain active after Keepass is completly closed, so that was the main reason for it to be crated in the first place. I think they were working on that option, but I could not help them beacuse I did not understand most of their code (Way too advanced implementation for a beginner like me). I think they save the MasterKey info in memory, but WinHelloUnlock saves it encrypted to a Windows Password Credential.

WinHelloUnlock does not implement a way for the credential to expire (like KeePassWinHello do), but implements a way for the credential to be deleted by the user.

Donations?

Donations

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].