olastor / age-plugin-fido2-hmac Goto Github PK
View Code? Open in Web Editor NEWAge plugin to encrypt files with fido2 tokens using the hmac-secret extension and non-discoverable credentials.
License: MIT License
Age plugin to encrypt files with fido2 tokens using the hmac-secret extension and non-discoverable credentials.
License: MIT License
Find a way to simulate a fido2 token somehow so that automatic e2e testing can be done.
Hi,
Thanks for this great plugin. I was happily using the previous version on my M2 Mac. I first tried to use the new version by downloading from the releases page but got a format error with both the Darwin assets. Next, I tried to build but got an error 'openssl/ec.h not found'. I have mediocre skills and will probably need to spend many hours on this. Can you pl. check?
Is it possible to implement a caching mechanism for the PIN so it doesn't require you to enter it every time if you are decrypting files in bulk?
The current design requires the fido2 token to be present for every operation, which is a big inconvenience. This is because the symmetric key (the HMAC challenge response) is directly used as the encryption key.
One way to solve this would be to use the symmetric key as a seed to generate an asymmetric key pair, and use the public key as the recipient. I chose to keep it simple and not do it because this exceeded my knowledge and the amount of complexity I was comfortable dealing with. However, if there's a well defined and secure way of deriving keypairs from 32 random bytes, the spec could in the future be changed to use that instead (while still keeping backwards compatibility to the current format).
Hi again,
Attempting to decrypt files encrypted with multiple public keys throws the error:
age: error: fido2-hmac plugin: Decrypting multiple stanzas not supported
Both a regular age private key and the age-se-plugin (remko/age-se-plugin) decrypt multiple stanzas just fine.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.