Git コマンドを自力で再現する

導入
こんにちは!
株式会社BTMでエンジニアをしている島谷です。
突然ですが、パスキー(Passkey)、流行っていますよね。
近年、パスワードに代わる認証方法として多くのサービスで導入されるようになりました。
NTTドコモ[^4]やメルカリ[^5]といったサービスでは既に導入されています。
今回、パスキーについて調査しましたので、その結果を共有していきます。
まず、従来のパスワード認証やFIDO認証の仕組みや、それぞれの課題を説明したうえで、パスキーについて説明します。
本記事内で.git内のファイル直接変更していますが、実際のプロジェクトで直接操作はしないでください。
パスワード認証とは
IDとパスワードでアカウントにログインする一般的な方法ですが、パスワードが盗まれると、誰でもそれを使ってアカウントにログインできてしまいます。
この問題を解決すべく、パスワードレスの認証を提供するFIDO認証が登場しました。
FIDO認証とは
FIDOとは「Fast Identity Online」の略です。
FIDOアライアンスとW3Cが共同で規格化した、公開鍵暗号化方式を用いた、パスワードなしでログインする方法です。[^1]
公開鍵暗号化方式とは、対になる2つの鍵を用意し、片方の鍵でデータを暗号化し、もう一方の鍵で復号化する方法です。
スマートフォンまたはFIDO対応デバイスを使用して、ログイン前に使用者が本人であることを証明します。
事前にサーバへ端末情報を登録しておく必要があります。
- パスワード漏洩リスクを防げる
- フィッシング詐欺対策に有効
- パスワード記憶不要でユーザビリティ向上
サイトに送信されるデータは秘密鍵で暗号化されたログインIDと生体認証であり、盗聴を防ぐことができます。
ただしFIDOクレデンシャルはデバイス保存のため、紛失や機種変更時に再登録が必要です。
そこで登場したのがパスキーです。
パスキーとは
FIDO認証技術を拡張し、クラウド経由でデバイス間同期できるFIDOクレデンシャルを「パスキー」と呼びます。[^2]
Apple製品ならiCloudキーチェーンで同期でき、機種変更後もFIDO認証が継続できます。
全デバイス対応ではないため、対応状況は passkeys.dev/device-support をご確認ください。
GoogleやAppleなど大手が導入を進めており、業界標準化の可能性があります。
AWS IAMの多要素認証(MFA)にパスキー対応
2024年6月、AWSマネジメントコンソールのIAMユーザMFAにパスキーが利用可能になりました。[^3]
さっそく試してみます。
- AWSコンソールにログインし「セキュリティ認証情報」→「MFAデバイスの割り当て」を選択
- 「パスキーまたはセキュリティキー」を選びスマートフォンを指定
- 表示されたQRコードをスマートフォンで読み取って登録
パスキー対応とはいえ、現状パスワードなしログインには未対応です。
おわりに
パスキーの理解が深まりました。セキュリティ強化とユーザビリティ向上を両立するパスキーは今後ますます普及していくでしょう。
開発者としてパスキー対応アプリを実装できるよう、新技術を先取りしていきたいですね!
株式会社BTMではエンジニアの採用をしております。ご興味がある方はぜひコチラをご覧ください。
[^1]: Git – Git オブジェクト
[^2]: FIDO Alliance Passkeys
[^3]: AWS IAM がパスキーをサポート
[^4]: dアカウント「パスキー認証」提供開始
[^5]: メルカリ 生体認証「パスキー」導入
-
SNS
-
投稿日
-
カテゴリー
BTM Useful