## DH, Metamask, Passkeys and AA silur@polkachampionship --- First there was "New directions in cryptography". Then.... nothing happened? :thinking_face: --- ## 3 (ab)used ways to authenticate - Something you know (a password) - Something you have (a chipcard) - Something you are (a biometric feature) Some usecases enforce all of them --- Even though public-key encryption enjoyed huge popularity in academy and critical infrastructure... Security to this day is still mostly passwords (something you know) --- ### The Dunning–Kruger effect of passwords ![image](https://hackmd.io/_uploads/Bk_DC6KrT.png =x200) - I use different passwords everywhere -> `Password123, Password124` - I Obfuscate my passwords (using only every second character) - I use random passwords but with meaning! (`1_10v1_my_c47`) --- ## On password managers ![image](https://hackmd.io/_uploads/rys1yCtBa.png =x300) --- ## On offline password managers Nobody uses offline password managers :man-shrugging: <small>...except a few neckbeard geek hackers like me</small> --- ## Biometry - A user has 92 online accounts on average for daily use - We realized it's too much so we started putting fingerprint scanners and faceid into phones - Which you still can't use on websites - Cannot change (linkability issues) - Leaks (privacy issues) --- ## Hardware tokens - Expensive - Loss results in complete service lockout --- The only infrastucture where authentiction was approached the right way from the start is web3! --- ## Pros (excerpt :D) - Signing time-bound challenges is the way Diffie and Hellman made for us in 1976 - Revocation lists solve leakage automatically (naive broadcast encryption TLS works this way) - Multiparty key-agreements, even ephemeral (see zCash) --- ## Cons - Private keys still leak - Especially if they are derived from the same seed - There exist bad plaintext you should never sign - Crypto operations still take place on untrusted EE --- ## WebauthN and Passkeys - FIDO alliance, recognizing these downsides created webauthn in order to delete passwords once and for all - This is currently how yubikeys work (mostly) - Textbook webauhtn is already supported by major providers such as crypto exchanges --- - A step further FIDO put yubikey in your phone - The "private key" is derived/unlocked by your fingerprint/faceId - You can login to a website the same way you unlock your device - Google and Apple is already enforcing this on you without your knowledge :) --- ## Ledgers and Trezors ![image](https://hackmd.io/_uploads/Hk9VrCYHa.png =x400) - always worked the same way - yet users and experts criticize crypto for the lost funds --- ## On account abstraction - AA existed way before the current craze - Just in many different ways - ERC4337 only standardized it --- ## Major AA usecases - On-chain subscription - Easy Role delegation - Social recovery - AUTOMATION - Custodial wallet with blockchain as the custody --- - EOAs initiate a UserOp with a... digital signature - That "bundlers" bundle together (think a second layer of miners) - And forward to an entrypoint in your name Does this auth process ring a bell? --- ## Mixing Passkeys into your AA wallet - One device for both google and your DeFi - Both uses standard ECDSA (AA wallets doesn't have to authorize only ETH way) - Social recovery still possible with a lost wallet - Doesn't leak your biometric features - Inexpensive (ARM trustzone comes with your device) --- ... it comes with your device? :thinking_face: - Current passkey implementations do not have a threat model for compromised devices - Even with ARM Trustzone in the picture - Malware doesn't have to hack the SE, only get your biometric data - The SE is not the only way to get your private key - YOU ARE --- ## Ledgers for Passkeys? - Comes with the same issues as ledger itself - Expensive - Ledger Live has no offline mode :warning: - EAL5 does not resist sophisticated SC and FA attacks --- ## Proposal ![image](https://www.javacardsdk.com/wp-content/uploads/2016/08/JAVA-CARD.jpg =x300) - CC EAL6+ - Inexpensive - Supports a variety of cryptographic algos - Multi-interface - Passkeys + AA --- Spare a momment to validate? https://tinyurl.com/2th7wtjd ![image](https://hackmd.io/_uploads/rkvzsAYra.png) --- Thanks for your attention! https://silur.dev https://www.linkedin.com/in/silur @silur@infosec.exchange
{"description":"type: slide","title":"type: slide","contributors":"[{\"id\":\"f4d4af67-750e-4c99-b33e-c04b6d99a6c6\",\"add\":4684,\"del\":221}]"}
    157 views