証明書ベースのスマートカードは、20年以上にわたって、多要素認証の最も信頼され、実績のある実装の1つでした。しかし問題が1つありました。一般的なクレジットカードの形をしたスマートカードは、ハードウェアとソフトウェアを別途用意しないとモバイルデバイスではうまく機能しませんでした。
現在、スマートカードには財布に収まるクレジットカードサイズから、キーチェーンに収まるハードウェアセキュリティキーまで、さまざまなフォームファクタがあります。Yubicoのセキュリティキーの携帯性とマルチプロトコルのサポートにより、Personal Identity Verification(PIV)対応のYubiKeyを証明書ベースのスマートカードとして、サポート対象のiOSデバイスで使用できるようになりました。
iOS 14.2以降、Appleはスマートカードをネイティブでサポートし、PIV互換のスマートカードをハードウェアリーダーやソフトウェアを別途用意しなくてもiPhoneと通信できるようにしています。YubiKey 5シリーズのキーは、ハードウェアベースのセキュリティと携帯型のクレデンシャルを提供し、PIV規格をサポートし、あらゆるAppleデバイスとLightningコネクタで物理的に、またはNFCでワイヤレスに通信できるため、iOSのスマートカードとして適しています。
最近、米国行政管理予算局(OMB)も、フィッシング対策MFAを採用するためのセキュリティ要件を満たすよう連邦機関に要求するメモを発表しました。スマートカードはこの要件を満たしており、これには、政府機関や規制対象の業界が最高のAuthenticator Assurance Level 3(AAL3)要件を満たすことができるYubiKey 5 FIPS シリーズもその一つです。この投稿では、スマートカードの概要、YubiKeyをスマートカードとして使用する際の機能と利点、およびYubiKeyがiOS上のYubico Authenticatorアプリと通信して、クライアントの証明書ベースの認証、メールへの署名、あらゆるiOSデバイスでのメッセージとドキュメントの復号化などのユースケースをサポートする方法を確認できます。
スマートカードとは
一般的なスマートカードは、さまざまなサイズと形状(キーからカードまで)を持つ物理デバイスであり、セキュアエレメントが埋め込まれたコンピュータチップを備えています。セキュアエレメントにより、情報を安全に保存、取得、送信することができます。これらのスマートカードの最も一般的なタイプには、銀行のATMカード、eパスポート、グローバルIDカードがあります。
PIVスマートカード
この投稿の目的として、NISTのPIV規格に準拠したPersonal Identity Verification(PIV)スマートカードに焦点を当てています。PIV対応のスマートカードでは、すべての電子通信、データ保存、データ検索がより安全に、より良く保護されることが保証されています。
PIVスマートカードは、本人確認、物理的アクセス、および安全なコンピューターネットワークおよびシステムへの認証アクセスのために米国軍の全員に発行されるCommon Access Card(CAC)として最も一般的に使用されています(2018年以降)。
スマートカードとしてのYubiKey
YubiKeyは、強力な二要素、多要素、およびパスワードレスの認証器としてよく知られています。多くの人には知られていませんが、 PIV-互換の スマート カードでもあります。すべてのYubiKey 5シリーズのキーは、PIVインターフェースに基づいたスマートカード機能を備えています。これはYubiKeyが本人確認、物理的アクセス、および安全なコンピューターネットワークとシステムへの認証アクセスのための(PIV互換のCACと)同じ暗号化機能を備えていることを意味します。
派生PIVクレデンシャル
米国政府は20年以上にわたってスマートカードを発行してきましたが、何を変え、なぜ今行ったのでしょうか?iOSデバイスがスマートカードと通信する方法に対して行った最近のAppleの変更に加えて、NISTガイドラインは、派生PIVクレデンシャルの承認された使用を通じて、モバイルデバイス経由の電子認証の使いやすさも大幅に改善しました。
派生PIVクレデンシャルの承認とは、これらのクレデンシャルと関連する秘密鍵をFIPS Series YubiKeyのPIV互換のセキュアエレメントにプロビジョニングできるようになったことを意味します。したがって、派生PIVクレデンシャルに対応する秘密鍵は、政府発行のPIVクレジットカードの方式に加えて、代替のフォームファクタの暗号化モジュールに格納することもできます。
YubiKeyの利点
YubiKeyをスマートカードとして使用する利点は、携帯性、フォームファクターの小型化、およびカードリーダーやソフトウェアを別途必要とせずに、Lightningコネクタおよび非接触(NFC)インターフェイスを介してiOSデバイスと通信できることです。
YubiKeyのPIV互換のスマートカードモジュール内では、個別のスロットにさまざまなユースケースに対する複数のデジタル証明書を保存できます。YubiKeyのスマートカードモジュールの各PIVスロットは、付随する秘密鍵とともにX.509証明書を保持できます。
派生PIVクレデンシャルの所有者、またはNISTの保証レベルが必要な人の場合、YubiKey FIPSシリーズのキーはPIV準拠のFIPS 140-2で検証済みのスマートカードであり、NIST SP800-63Bガイダンスにおける最高のAuthenticator Assurance Level 3(AAL3)を達成する要件を満たしています。
Yubico Authenticator
Yubico Authenticator for iOSは、モバイルユーザーとデスクトップユーザー向けにセキュリティレイヤーを追加する認証アプリです。Yubico Authenticatorアプリは、当初、二要素認証の形式として1回限りのパスコード用にYubiKeyのOATH-TOTPモジュールと連動するように設計されました。
バージョン1.6以降、iOS用のYubico Authenticatorアプリを使用することで、YubiKeyスマートカードをLightningコネクタまたはNFCを介してPIVモジュール上のX.509証明書と通信できるようになりました。
iOSでYubiKeyをスマートカードとして使用する場合、Yubico Authenticatorアプリは次の2つの機能を提供する重要なツールとなります。
1つ目は、YubiKeyで証明書の公開部分を抽出し、それをiOSキーチェーンに格納するための直感的なユーザー操作を可能とする機能です。これにより、Safariブラウザ、メールアプリ、その他のサードパーティのアプリなど、ネイティブアプリで証明書を利用できるようになります。
認証システムアプリの2つ目の機能は、認証、署名、または復号化中にLightningまたはNFCを介してYubiKeyと通信することです。これは、認証中に秘密鍵との連携を可能とするPIV PINを入力する二要素部分です。
Yubico Authenticatorアプリが必要な理由
認証アプリには証明書がデバイスにインストールされているかのように、スマートカード上のデジタル証明書と通信するための新しいApple APIが組み込まれています。iOSデバイスとネイティブアプリは、認証またはその他の暗号化操作に使用できる証明書への参照を探します。
これがどのように機能するかを見てみましょう。
すべての仕組み
iOSのスマートカードとしてのYubiKeyと、Yubico Authenticatorアプリとの連携について理解が深まったところで、これらすべてがどのように機能するかを実演してみましょう。
公共部門と民間部門の両方でリモートワークが爆発的に増加し、攻撃対象領域が拡大し続けているため、安全なモバイル認証を提供するためのニーズと要件が高まっています。これらの変化するニーズと要件に対処するために、開発者はユーザー名とパスワードでの認証から二要素認証(2FA)に移行しています。その中でも、ハードウェアベースの強力な2FAソリューションが必要です。
リモートで作業していて、どのデバイスや場所からでも企業のリソースに安全にアクセスする必要があるとします。ユーザー名とパスワード、およびSMSを介した2FAを使用してWebサイトに認証する代わりに、企業リソースにアクセスするためのPIV証明書を含むYubiKeyが提供されます。このシナリオでは、スマートカードとしてのYubiKeyは、所有しているもの(証明書を保護するハードウェアベースのセキュリティキー)と把握していること(YubiKeyのPIVクレデンシャルを保護するために必要なPINコード)を提供することにより、強力な2FAの要件を満たします。
このシナリオを実証するために、一般に公開されているX.509証明書、PIV互換のYubiKey、YubiKey Managerデスクトップツール、およびiOSデバイス上のYubico Authenticatorアプリを使用します。これらのツールとクレデンシャルを使用して、強力な2FA要件を満たす、単純な証明書ベースの認証シナリオを実行します。badSSL.comからダウンロード可能な証明書を使用し、それをYubiKeyに配置し、Safariブラウザを介して証明書で保護されているWebサイトにアクセスして認証を行うため、自宅で試すことができます。
ビデオに示されているこのプロセス全体は、Yubicoの Smart Card on iOS ガイドでより詳細に説明されています。
デモに示されているように、YubiKeyをiOS上のスマートカード機能として使用するには、次のものが必要です(すべての前提条件については、こちらのYubicoガイドで説明されています):
- iOS/iPadOS 14.2以降を搭載したApple iPhoneまたはiPad(Lightningコネクタのみ)
- YubiKey 5シリーズ のキー(5Ci、5C NFC、または5 NFC)
- Yubico Authenticator iOSアプリ(v.1.6以降)
- YubiKey Manager GUIまたはCLIツール。MacOS、Windows、またはLinux用をダウンロード
- PIV認証が可能なX.509スマートカード証明書
次に起こること
証明書とスマートカードは、デスクトップ用のさまざまなハードウェアおよびソフトウェアソリューションを通じて何十年も前から存在しています。モバイルに大きくシフトした現在では、iOSデバイスとYubiKeyを所有している人なら誰でもこれらの実証済みの強力な暗号化テクノロジーにアクセスできるようになっています。
iOSで最新のPIV互換のスマートカードを統合したことと、更新された派生クレデンシャル要件がFIPS 140-2で検証済みのYubiKeyによって満たされたことにより、多くのユースケースが明らかになりました。