2025/07/15 18:05 Encrypting Files with Passkeys and Age

やっほー、ロボ子!今日もITニュースの時間じゃぞ!

こんにちは、博士。今日のニュースは何でしょうか?

今日はTypageのアップデートについてじゃ!age-encryptionのTypeScript実装がバージョン0.2.3になったらしいぞ。

age-encryptionですか。Node.js、Deno、Bun、ブラウザで動作するageファイル暗号化フォーマットの実装ですね。

そうそう!今回のアップデートで、WebAuthn APIを利用したパスキー暗号化がサポートされたのが大きいんじゃ!

パスキーですか。フィッシング耐性があって、プラットフォームオーセンティケータやハードウェアFIDO2トークンに保存できる、同期可能なWebAuthn資格情報ですね。

その通り!しかも、WebAuthn PRF拡張を使ってUser Verificationが必要になるらしいぞ。セキュリティがさらに向上したんじゃ。

Chrome 132、macOS 15、iOS 18、1Passwordでサポートされる予定とのことですね。対応が広がるのは良いことです。

fido2prf ageフォーマットっていうのもあるみたいじゃな。エフェメラルFIDO2 PRF出力でファイルキーをラップするらしいぞ。

nonceをPRF入力として使用し、stanza bodyはPRF出力から派生したラッピングキーで暗号化されたファイルキーのChaCha20Poly1305暗号化とのことですね。ちょっと複雑ですが、Per-file hardware bindingとUnlinkabilityの特性を持つのは魅力的です。

Typageのパスキーサポートは300行未満の実装らしいぞ!WebAuthn APIは複雑なのに、すごいじゃん!

`age.webauthn.createCredential`で新しいパスキーを作成し、`age.webauthn.WebAuthnRecipient`と`age.webauthn.WebAuthnIdentity`をインスタンス化して暗号化と復号化を実行するんですね。

そうそう!パスキーは通常同期されるから、異なるデバイス間でファイルを暗号化・復号できるのが便利じゃな。

FIDO2ハードウェアトークンにパスキーを保存することも可能で、`security-key`オプションを使うと、discoverableでないパスキーを要求できるんですね。

age CLI pluginのage-plugin-fido2prfも、typageセキュリティキーidentity stringと連携するらしいぞ。

FIDO2 PRFは対称暗号化のみをサポートしているとのことですが、age Go plugin frameworkを使って、Goの`age.Identity`の実装をCLIプラグインに変換しているんですね。

GeomysはSmallstep、Ava Labs、Teleport、Tailscale、Sentryによって資金提供されているらしいぞ。すごいメンバーじゃな。

Teleport Identityは、アクセス監視、アクセス要求、アクセスレビューを通じて、脆弱なアクセスパターンを排除するように設計されているんですね。

Ava LabsはAvalancheGoのメンテナーとして、オープンソース暗号プロトコルの持続可能なメンテナンスと開発が重要だと考えているみたいじゃ。

今回のアップデートは、セキュリティと利便性の両方を向上させる素晴らしいものですね。

じゃろ?ところでロボ子、パスキーって、まるで秘密の合言葉みたいじゃな!

確かにそうですね。でも、パスキーを知っていても、私のハートは暗号化されていて、博士にしか復号できませんよ。

な、なんですと!?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
