セキュリティSecurity

このセクションには、Windows 10 のユニバーサル Windows プラットフォーム (UWP) アプリをセキュリティで保護されたアプリとしてビルドする方法に関する記事が含まれています。This section contains articles on building secure Universal Windows Platform (UWP) apps for Windows 10.

概要Introduction

Windows または UWP での開発が初めての場合は、最初に「安全な Windows アプリの開発について」をご覧ください。If you're new to Windows or UWP development, start with the Intro to secure Windows app development. この初級レベルの記事では、アプリのセキュリティに関する考慮事項の概要と Windows 10 で使用できるさまざまな機能について説明しています。This introductory-level article provides an overview of security considerations for apps and the various features available in Windows 10.

認証とユーザー IDAuthentication and user identity

認証とユーザー ID に関するセクションには、ユーザーのログインや身元確認に関連するシナリオのためのチュートリアルが記載されています。The authentication and user identity section contains walkthroughs for scenarios related to user login and identity. アプリでは、Web 認証ブローカーを使う簡単なシングル サインオン (SSO) から、高度なセキュリティで保護された 2 要素認証に至るまで、いくつかの方法でユーザー認証を行うことができます。Apps have several options for user authentication, ranging from simple single sign-on (SSO) using Web authentication broker to highly secure two-factor authentication.

トピックTopic説明Description
資格情報保管ボックスCredential lockerこの記事では、アプリで資格情報保管ボックスを使ってユーザーの資格情報を安全に保管し取得する方法、およびユーザーの Microsoft アカウントを使ってデバイス間でこれらの資格情報をローミングする方法について説明します。This article describes how apps can use the Credential Locker to securely store and retrieve user credentials, and roam them between devices with the user's Microsoft account
指紋生体認証 Fingerprint biometrics この記事では、アプリに指紋生体認証を追加する方法について説明します。This article explains how to add fingerprint biometrics to your app. 特定の操作に対してユーザーの同意を得る必要がある場合は、指紋認証の要求を含めると、アプリのセキュリティを高めることができます。Including a request for fingerprint authentication when the user must consent to a particular action increases the security of your app. たとえば、アプリ内購入を承認する前や制限されたリソースにアクセスする前に指紋認証を要求できます。For example, you could require fingerprint authentication before authorizing an in-app purchase, or access to restricted resources. 指紋認証は、Windows.Security.Credentials.UI 名前空間の UserConsentVerifier クラスを使って管理されます。Fingerprint authentication is managed using the UserConsentVerifier class in the Windows.Security.Credentials.UI namespace.
Microsoft Passport と Windows HelloMicrosoft Passport and Windows Helloこの記事では、新しい Windows 10 の Microsoft Passport テクノロジについて説明します。また、開発者がこのテクノロジを実装してアプリやバックエンド サービスを保護する方法についても説明します。This article describes the new Windows 10 Microsoft Passport technology, and discusses how developers can implement this technology to protect their apps and backend services. 従来の資格情報の脅威を軽減するこれらのテクノロジの特定の機能に着目し、Windows 10 ロールアウトに含まれるこれらのテクノロジの設計と展開の方法について説明します。It highlights specific capabilities of these technologies that help mitigate threats from conventional credentials and provides guidance about designing and deploying these technologies as part of your Windows 10 rollout.
Microsoft Passport ログイン アプリの作成Create a Microsoft Passport login app従来のユーザー名とパスワードの認証システムの代わりに Microsoft Passport を使う Windows 10 UWP (ユニバーサル Windows プラットフォーム) アプリの作成方法に関する詳しいチュートリアルのパート 1 です。Part 1 of a complete walkthrough on how to create a Windows 10 UWP (Universal Windows Platform) app that uses Microsoft Passport as an alternative to traditional username and password authentication systems.
Microsoft Passport ログイン サービスの作成Create a Microsoft Passport login serviceWindows 10 UWP (ユニバーサル Windows プラットフォーム) アプリで従来のユーザー名とパスワードの認証システムの代わりに Microsoft Passport を使う方法に関する詳しいチュートリアルのパート 2 です。Part 2 of a complete walkthrough on how to use Microsoft Passport as an alternative to traditional username and password authentication systems in Windows 10 UWP (Universal Windows platform) apps.
スマート カードSmart cardsこのトピックでは、アプリでスマート カードを使ってユーザーをセキュリティで保護されたネットワーク サービスに接続する方法のほか、物理スマート カード リーダーにアクセスする方法、仮想スマート カードの作成方法、スマート カードとの通信方法、ユーザーの認証方法、ユーザーの PIN のリセット方法、スマート カードの取り外しや切断の方法などについて説明します。This topic explains how apps can use smart cards to connect users to secure network services, including how to access physical smart card readers, create virtual smart cards, communicate with smart cards, authenticate users, reset user PINs, and remove or disconnect smart cards.
アプリ間での証明書の共有Share certificates between appsユーザー ID とパスワードの組み合わせよりも安全な認証を必要とする UWP アプリでは、証明書を認証に使うことができます。UWP apps that require secure authentication beyond a user Id and password combination can use certificates for authentication. 証明書認証は、ユーザーの認証時に高レベルの信頼性を提供します。Certificate authentication provides a high level of trust when authenticating a user. 場合によっては、複数のアプリから複数のサービスのグループに対してユーザーを認証することがあります。In some cases, a group of services will want to authenticate a user for multiple apps. この記事では、1 つの証明書を使って複数のアプリを認証する方法と、セキュリティで保護された Web サービスにアクセスするための証明書をユーザーがインポートできる便利なコードを記述する方法について説明します。This article shows how you can authenticate multiple apps using the same certificate, and how you can provide convenient code for a user to import a certificate that was provided to access secured web services.
コンパニオン (IoT) デバイスを使った Windows のロック解除Windows Unlock with companion IoT devicesコンパニオン デバイスは、ユーザー認証のエクスペリエンスを強化するために、Windows 10 のデスクトップと組み合わせて使用できるデバイスです。A companion device is a device that can act in conjunction with your Windows 10 desktop to enhance the user authentication experience. コンパニオン デバイス フレームワークを使用すると、コンパニオン デバイスは、Windows Hello を利用できない場合 (たとえば、Windows 10 のデスクトップに顔認証のカメラまたは指紋リーダーのデバイスがない場合など) でも、Microsoft Passport のための優れたエクスペリエンスを提供できます。Using the Companion Device Framework, a companion device can provide a rich experience for Microsoft Passport even when Windows Hello is not available (e.g., if the Windows 10 desktop lacks a camera for face authentication or fingerprint reader device, for example).
Web アカウント マネージャーWeb Account Managerこの記事では、Windows 10 Web アカウント マネージャー API を使って、AccountsSettingsPane を表示し、ユニバーサル Windows プラットフォーム (UWP) アプリを外部の ID プロバイダー (Microsoft や Facebook など) に接続する方法について説明します。This article describes how to show the AccountsSettingsPane and connect your Universal Windows Platform (UWP) app to external identity providers, like Microsoft or Facebook, using the Windows 10 Web Account Manager APIs. ユーザーの Microsoft アカウントを使用するためにユーザーの許可を求める方法、アクセス トークンを取得する方法、アクセス トークンを使って基本的な操作 (プロファイル データの取得や OneDrive へのファイルのアップロードなど) を実行する方法を学習してください。You'll learn how to request a user's permission to use their Microsoft account, obtain an access token, and use it to perform basic operations (like get profile data or upload files to their OneDrive).
Web 認証ブローカーWeb authentication brokerこの記事では、OpenID や OAuth などの認証プロトコルを使うオンライン ID プロバイダー (Facebook、Twitter、Flickr、Instagram など) にアプリを接続する方法について説明します。This article explains how to connect your app to an online identity provider that uses authentication protocols like OpenID or OAuth, such as Facebook, Twitter, Flickr, Instagram, and so on. AuthenticateAsync メソッドは、要求をオンライン ID プロバイダーに送信し、アプリがアクセスできるプロバイダー リソースを表すアクセス トークンを返します。The AuthenticateAsync method sends a request to the online identity provider and gets back an access token that describes the provider resources to which the app has access.

暗号化Cryptography

暗号化についてのセクションでは、より複雑な暗号化に関するトピックが説明されています。The cryptography section contains information on more complex, cryptographic related topics.

トピックTopic 説明Description
証明書の概要Intro to certificates この記事では、アプリでの証明書の利用について説明します。This article discusses the use of certificates in apps. デジタル証明書は、公開キーを個人、コンピューター、組織にバインドするために、公開キーの暗号化で使われます。Digital certificates are used in public key cryptography to bind a public key to a person, computer, or organization. バインドされた識別情報は、あるエンティティを別のエンティティに対して認証する際に最も頻繁に使われます。The bound identities are most often used to authenticate one entity to another. たとえば、証明書は、Web サーバーをユーザーに対して、また、ユーザーを Web サーバーに対して認証するためによく使われます。For example, certificates are often used to authenticate a web server to a user and a user to a web server. 証明書要求を作成し、発行された証明書をインストールまたはインポートすることができます。You can create certificate requests and install or import issued certificates. また、証明書階層で証明書を登録することもできます。You can also enroll a certificate in a certificate hierarchy.
暗号化キーCryptographic keys この記事では、標準のキー派生関数を使ってキーを派生させる方法、および対称キーと非対称キーを使ってコンテンツを暗号化する方法について説明します。This article shows how to use standard key derivation functions to derive keys and how to encrypt content using symmetric and asymmetric keys.
データ保護Data protection この記事では、Windows.Security.Cryptography.DataProtection 名前空間の DataProtectionProvider クラスを使って、UWP アプリでデジタル データの暗号化と暗号化解除を行う方法について説明します。This article explains how to use the DataProtectionProvider class in the Windows.Security.Cryptography.DataProtection namespace to encrypt and decrypt digital data in a UWP app.
MAC、ハッシュ、および署名MACs, hashes, and signatures この記事では、メッセージ認証コード (MAC)、ハッシュ、署名をアプリで使って、メッセージの改ざんを検出する方法について説明します。This article discusses how message authentication codes (MACs), hashes, and signatures can be used in apps to detect message tampering.
暗号化に関する輸出制限の順守Export restrictions on cryptography アプリでの暗号化が、登録されない可能性がある方法で使われていないかどうかを判断する場合に、この情報を利用してください。Use this info to determine if your app uses cryptography in a way that might prevent it from being listed in the .
一般的な暗号化タスクCommon cryptography tasks これらの記事では、乱数の生成、バッファーの比較、文字列とバイナリ データの間の変換、バイト配列間のコピー、データのエンコードとデコードなど、一般的な暗号化タスクのコード例が示されています。These articles provide example code for common cryptography tasks, such as creating random numbers, comparing buffers, converting between strings and binary data, copying to and from byte arrays, and encoding and decoding data.