Table of Contents

暗号バインディングの謎を解く: Transmit Security のデバイス ID 用 Web 暗号によるセキュリティの強化

デバイス識別 (またはデバイス ID) は、信頼できるデバイスのみが機密情報やサービスにアクセスできるようにする、安全な認証システムの基礎です。このプロセスは、デバイスが「あなたが持っているもの」の要素として機能し、「あなたが知っていること」(パスワード)と「あなたが何者であるか」(生体認証データ)の要素を補完する多要素認証(MFA)に不可欠です。正確なデバイス識別は、不正アクセスを防止し、アカウント乗っ取り (ATO) や全体的な詐欺などのさまざまなセキュリティの脅威から保護するのに役立ちます。

想像してみてください。あなたは夢の旅行の真っ最中で、子供の頃から行ってみたかった国を訪れています。本当に楽しみにしている遠足の費用を支払うために送金する必要があります。しかし、銀行口座にログインしようとすると、アクセスがブロックされていることに気づきます。MFA を有効にした経験豊富なユーザーであるにもかかわらず、悪意のある人物が、銀行がデバイス ID に使用する一部の Cookie を乗っ取って、アカウントをハッキングすることに成功しました。遠出に別れを告げ、資金を取り戻そうとするボットとの長い電話やチャットに直面する準備はできていますか?

このブログ記事では、従来のデバイス識別(Cookie やその他の簡単に不正に操作できるリソースを使用)に代わる堅牢な代替手段である暗号バインディングの基礎について説明します。暗号バインディングの仕組み、その利点、そして Transmit Security の Mosaic を使用して暗号バインディングをシームレスに実装する方法について説明します。Web Crypto の力を活用することで、企業はより安全で信頼性の高いデバイス識別を実現し、総合的なセキュリティ体制を強化できます。

Web Cryptoの説明

上記の夢が悪夢に変わった状況からもわかるように、従来のデバイス識別方法には大きな制限があります。たとえば、デバイス フィンガープリンティングでは、ブラウザーの種類、オペレーティング システム、画面解像度など、デバイスから多数の属性を収集して、一意の識別子を作成します。これらの方法は有用ではありますが、サイバーセキュリティ攻撃の 90% 以上がデータや認証情報の盗難に基づいているため、プライバシーに関する懸念やブラウザ セキュリティの進歩により、これらの方法はますます危険にさらされています。

さらに、最新のブラウザではユーザーのプライバシーを保護するためにアクセスできる情報の量が制限されており、従来のデバイス ID の精度と信頼性が低下しています。この制限は、悪意のある人物によるデバイス属性の偽装の容易さと相まって、安全な認証を保証する従来のデバイス フィンガープリンティングの有効性を損ないます。

これらの課題に対処するために、 Web Cryptography API ( Web Crypto とも呼ばれる) は、最新の Web ブラウザーによって提供される強力なツールセットであり、開発者が Web アプリケーション内で直接暗号化操作を実行できるようにします。その主な目的は、データの暗号化と復号化、暗号キーの生成と管理、デジタル署名の作成をすべてユーザーのブラウザ内で実行できるようにすることで、セキュリティを強化することです。この機能は、外部のライブラリやサーバーに依存せずに強力なセキュリティ対策を実装し、潜在的な攻撃対象領域を減らすために重要です。

Web Crypto をブラウザに統合することで、ブラウザのセキュリティ モデルを活用して、暗号化操作を安全な環境で実行できるようになります。つまり、キーの生成や暗号化などの機密操作はブラウザ自体内で処理されるため、キーが漏洩するリスクが最小限に抑えられ、転送中や保存中にデータが保護された状態が維持されます。Web Crypto は、World Wide Web Consortium (W3C) を通じてこれらの操作を標準化することにより、開発者が安全な Web アプリケーションを構築するための一貫性のある安全なフレームワークを提供します。

高速、安全、信頼性の高い方法で暗号化を実行するために、Web Crypto は次のようなコア機能に基づいています。

  • 暗号化/復号化:読み取り可能なデータを読み取り不可能な形式に、またはその逆の変換を安全に実行し、許可されたユーザーのみが情報にアクセスできるようにします。
  • デジタル署名:データの信頼性と整合性を検証するために使用できる、データに固有の署名を生成します。
  • ハッシュ:入力データを固定サイズの文字列に変換します。これは通常、データの整合性チェックに使用されます。
  • キー生成:暗号化、復号化、署名操作に必要な暗号化キーを作成します。
  • 安全なキー ストレージ:暗号化キーをブラウザー内に安全に保存し、公開や不正アクセスから保護します。

Web Cryptoがデバイス識別のセキュリティを向上させる方法

デバイス ID のコンテキストでは、Web Crypto は公開鍵暗号化を利用して、各デバイスに一意で安全な ID を確立します。ユーザーが初めてサービスにアクセスすると、ブラウザは暗号化キーのペア(公開キーと秘密キー)を生成します。秘密鍵はブラウザの専用ストレージ(モバイル アプリケーションの場合はハードウェアでバックアップされた安全なストレージ)内に安全に保存されるため、デバイス外に漏れることはありません。公開鍵はサーバーに送信され、ユーザーのアカウントにバインドされます。

この公開鍵と秘密鍵のペアは、デバイスのデジタル識別子として機能します。ユーザーが認証または機密操作を実行しようとすると、デバイスは秘密鍵を使用してリクエストに署名し、イベントの信頼性を確保します。署名されたデータは検証のためにサーバーに返され、リクエストが信頼できるデバイスから発信されたことが確認されます。

このデバイス バインディング方法には、従来の手法に比べていくつかの利点があります。秘密鍵はデバイスから出たり送信されたりすることはないため、中間者攻撃 (MIM) やその他の形式の傍受に対して本質的に耐性があります。さらに、識別はデバイス属性ではなく暗号署名に依存しているため、なりすましやその他の一般的なフィンガープリントの問題の影響を受けません。これにより、Web Crypto は、最新の Web アプリケーションにおける安全で信頼性の高いデバイス識別に最適なソリューションになります。

Web Crypto の実践: Mosaic プラットフォームでの暗号バインディング

Transmit Security は、Web Crypto の原則を活用して、安全で信頼性の高いデバイス識別のための暗号バインディングを実装します。このプロセスには、セキュリティと使いやすさの両方を保証する重要な手順が含まれます。

Transmit Security がデバイス ID に暗号バインディングを利用する方法

  1. デバイス上でのキーペアの生成:

ユーザーが初めてデバイスを Mosaic プラットフォームに登録すると、ブラウザは Web Crypto API を使用して作成された公開鍵と秘密鍵で構成される暗号化キー ペアを生成します。秘密鍵はブラウザの永続ストレージに安全に保存され、公開鍵はサーバーに送信されます。

await window.crypto.subtle.generateKey(
   {
     name: algorithm,
     modulusLength: 2048,
     publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
     hash: 'SHA-256',
   },
   false, // setting the private key non-extractable
   usages,
 );
  1. 秘密鍵の安全な保管:

秘密鍵は、ブラウザの専用ストレージ内に、安全でエクスポート不可能な形式で保存されます。これにより、秘密鍵がデバイスから外に出ることはなくなり、悪意のあるエンティティによってアクセスまたは抽出されることがなくなります。

  1. サーバー上のユーザーとの公開キーバインディング:

公開鍵がサーバーに受信されると、ユーザーのアカウントにバインドされます。この関連付けは、将来のやり取りでデバイスを識別するための基礎となります。サーバーは公開鍵のみを保存します。公開鍵は機密情報ではなく、公開されてもセキュリティ上のリスクはありません。

  1. デジタル署名を使用したデバイス検証のためのチャレンジレスポンスメカニズム:

認証中または機密操作中のデバイス検証のために、サーバーはランダムなチャレンジ (一意のデータ文字列) を生成します。このチャレンジはデバイスに送信され、そこで秘密鍵によって署名されます。署名されたチャレンジはサーバーに送り返されます。サーバーは対応する公開鍵を使用して署名を検証します。署名が有効な場合、リクエストが信頼できるデバイスから発信されたことが確認され、その ID が検証されます。

async sign(challenge: string): Promise<ArrayBuffer> {
   const { privateKey } = await extractKeysFromBrowserStorage();
   const encoded = new TextEncoder().encode(challenge);
   const signatureBuffer = await window.crypto.subtle.sign(
     {
       name: 'RSA-PSS',
       saltLength: 32,
     },
     privateKey,
     encoded
   );
   return signatureBuffer;
 }

Transmit Securityの顧客にとってのメリット

Mosaic プラットフォームを通じて暗号バインディングを採用すると、金融機関、電子商取引プラットフォーム、その他のエンタープライズ規模から小規模のビジネスまで、大きなメリットが得られます。

  • 合理化された安全なデバイス ID 管理: 暗号化バインディングは、デバイスの登録と検証のための堅牢でスケーラブルなソリューションを提供することで、デバイス ID 管理を簡素化します。組織は、顧客に関連付けられた多数のデバイスを効率的に管理し、各デバイスがそれぞれのユーザーに安全にバインドされることを保証できます。この合理化により、管理上のオーバーヘッドが削減され、機関のセキュリティ体制が強化されます。
  • より強力な MFA 実装: 多要素認証 (MFA) は、安全なアクセス制御の重要なコンポーネントです。Transmit Security は、暗号バインディングを組み込むことで、追加のセキュリティ レイヤーで MFA 実装を強化します。デバイスの検証に暗号化キーを使用すると、認証要素の 1 つが侵害された場合でも、全体的なセキュリティは損なわれません。この堅牢な MFA アプローチは、機密性の高い顧客データや金融取引を扱うプラットフォームにとって特に価値があります。
  • デバイスの再登録を最小限に抑えてユーザー エクスペリエンスを向上: 暗号化バインディングにより、頻繁なデバイスの再登録の必要性が最小限に抑えられ、ユーザー エクスペリエンスが大幅に向上します。デバイスが登録されると、認証の試行ごとにシームレスに検証できるため、セットアップ プロセスを繰り返す手間が省けます。この利便性は、特にユーザー エクスペリエンスが差別化要因となる競争の激しい業界では、顧客満足度と顧客ロイヤルティを維持するために非常に重要です。
  • 市場の主要な規格および認証への準拠: 暗号バインディングの使用は、 GDPRPSD2NISTFFIECPCI DSSなど、セキュリティ強化を目的としたさまざまな規制標準によってサポートされています。

By integrating crypto-binding journeys into their security infrastructure, Transmit Security customers can achieve a higher level of security and operational efficiency. The enhanced device ID management, stronger MFA and improved user experience collectively contribute to a more secure and user-friendly environment for end-users, ultimately supporting the business goals of financial institutions, e-commerce platforms and other enterprises.

Additionally, Mosaic by Transmit Security provides a state-of-the-art, fully programmable CIAM platform that promotes the fusion of customer identity, identity verification and fraud prevention. This innovative approach includes several key components designed to enhance identity management and security across your whole web environment.

Our platform offers advanced Identity Verification capabilities, ensuring that users are who they claim to be. By leveraging a multitude of verification methods, such as document scanning, biometric checks and database cross-references, Transmit Security enables organizations to verify identities quickly and accurately, never falling to fake IDs and deepfake faces. This comprehensive approach helps reduce fraud and streamline the onboarding process for new users.

With Detection and Response, Transmit Security features a robust mechanism to identify and mitigate security threats in real time. Using advanced AI-driven analytics and machine learning, the platform can detect anomalies and suspicious activities, providing immediate alerts and automated responses to potential threats. This proactive, context-aware security measure helps organizations protect their digital assets and maintain the integrity of their user accounts.

Mosaic includes full-stack authentication services designed to deliver secure and frictionless authentication experiences. With support for a wide range of authentication methods such as biometrics, FIDO2, truly passwordless login and multi-factor authentication (MFA). Based on a wide range of parameters such as device ID, origin IP, sensitivity of the operation and user behavior telemetry, Transmit Security is able to provide different authentication methods for each situation, granting robust security while enhancing user convenience.

Finally, we also provide Identity Orchestration capabilities, allowing organizations to design and implement customized identity workflows. This solution integrates various identity services and technologies into a cohesive framework, enabling seamless user experiences and streamlined operations. Identity orchestration supports dynamic policy enforcement, adaptive authentication, and frictionless user journeys, enhancing overall security and user satisfaction, all with a low-code/no-code approach.

Embrace the future of device identification with crypto-binding

Secure device identification is paramount for protecting sensitive information and ensuring trustworthy interactions. The Web Cryptography API plays a crucial role in this process by enabling a robust cryptographic method to uniquely and securely identify devices. This modern approach overcomes the limitations of traditional device identification, providing a more reliable and secure solution.

Transmit Security leverages the power of crypto-binding to offer a secure, user-friendly solution for device identification. By generating and storing cryptographic keys on the device, and associating public keys with user accounts, Transmit Security enhances security while minimizing privacy risks. This approach not only strengthens MFA usage but also simplifies the user experience, reducing the need for frequent device re-registrations.

Learn more about how our platform can enhance your security infrastructure. Explore the comprehensive solutions Transmit Security offers and request a demo to discover how crypto-binding and our other advanced CIAM features can transform your whole customer identity lifecycle.

Authors