보안Security

이 섹션에는 Windows 10용 보안 UWP(유니버설 Windows 플랫폼) 앱을 빌드하는 방법에 대한 문서가 포함되어 있습니다.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 섹션에는 사용자 로그인 및 ID와 관련된 시나리오에 대한 연습이 포함되어 있습니다.The authentication and user identity section contains walkthroughs for scenarios related to user login and identity. 앱에는 웹 인증 브로커를 사용하는 간단한 SSO(single sign-on)부터 높은 보안 수준의 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전체 연습의 1부에는 기존의 사용자 이름 및 암호 인증 시스템에 대한 대안으로 Microsoft Passport를 사용하는 Windows 10 UWP(유니버설 Windows 플랫폼) 앱을 만드는 방법이 포함되어 있습니다.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 service전체 연습의 2부에는 Windows 10 UWP(유니버설 Windows 플랫폼) 앱에서 기존의 사용자 이름 및 암호 인증 시스템에 대한 대안으로 Microsoft Passport를 사용하는 방법이 포함되어 있습니다.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. 이 문서에서는 동일한 인증서를 사용하여 여러 개의 앱을 인증하는 방법 및 보안 웹 서비스 액세스를 위해 제공된 인증서를 사용자가 가져오는 데 편리한 코드를 제공하는 방법을 보여 줍니다.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 (for example, if the Windows 10 desktop lacks a camera for face authentication or fingerprint reader device, for example).
웹 계정 관리자Web Account Manager이 문서에서는 Windows 10 웹 계정 관리자를 사용하여 AccountsSettingsPane을 표시하고 UWP(유니버설 Windows 플랫폼) 앱을 외부 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 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. 바인딩 ID는 한 대상을 다른 대상에 인증하는 데 가장 많이 사용됩니다.The bound identities are most often used to authenticate one entity to another. 예를 들면, 웹 서버를 사용자에게 인증하거나 사용자를 웹 서버에 인증하는 데 사용됩니다.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 이 정보를 사용하여 앱이 Windows 스토어에 나열될 수 없는 방식으로 암호화를 사용하는지 확인할 수 있습니다.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.