Data_Protection_API
[Wikipedia|▼Menu]

DPAPI (英語: Data Protection Application Programming Interface、データ保護API) はシンプルな暗号化APIで、Windows 2000およびそれ以降のWindowsオペレーティングシステムに組み込みコンポーネントとして搭載されている。データ保護APIは様々な種類のデータについて対称暗号化(共通鍵暗号)を可能にする。Windowsオペレーティングシステムでの実際の主な用途は、非対称秘密鍵の対称暗号化を実施することで、ユーザーまたはシステムの機密情報をエントロピーの重要な寄与として扱うことである。

ほぼ全ての暗号システムにとって最も困難な試みは「鍵(キー)の管理」、特にどうやって復号鍵を安全に格納するかということである。もし鍵が平文で格納されているなら、他のユーザーは暗号化データのアクセスに使う鍵へ容易にアクセスできてしまう。もし鍵を暗号化するなら、他の鍵が必要になる、といったことなど。DPAPIはユーザーのログオン機密、あるいはシステム暗号化に関してシステムのドメイン認証機密から対称鍵を生成し、ソフトウェア開発者に暗号化手順を提供する。

DPAPI鍵は %APPDATA%\Microsoft\Protect\{SID} に記憶されているユーザーのRSA鍵を暗号化するのに使われる。SIDはそのユーザーのセキュリティ識別子である。DPAPI鍵はユーザーの秘密鍵を保護するマスター鍵として同じファイルに格納される。それは通常64バイトのランダムなデータである。

2010年にエリー・バーステイン (Elie Bursztein) とジーン・マイケル・ピコッド (Jean-Michel Picod) は ⇒Black Hat DC 2010において Reversing DPAPI and Stealing Windows Secrets Offline というタイトルでその仕組みの分析についてプレゼンテーションを行った。その発表によると、バーステインとピコッドがリリースしたDPAPlckはDPAPIで暗号化されたデータのオフライン復号を可能にする。2012年にPasscape SoftwareはブログでDPAPIの内部ロジックについてより詳細な記事を掲載し、完全なDPAPIオフライン復号・解析ツールを公表した[1]。これは先に挙げたものと異なり、いくつかの古いWindowsのバグ(例えば、Windows 2000 DPAPIの鍵を所有者のログオンパスワードを知ること無く復号できる)を利用していて、Windows 8 DPAPIデータ構造と完全に互換性がある。Windows 8ではマイクロソフトはDPAPIの処理ロジックを変更した。現在、使用されているユーザーのマスター鍵を復号するために複数のユーザー鍵が暗号鍵の生成に使われ、単一のDPAPIバッファを復号する。
セキュリティ特性

DPAPIはそれ自身ではデータを格納せず、単純に平文を受け取って暗号文を返す(またはその逆を行う)役割のみを持つ。

DPAPIのセキュリティはWindowsオペレーティングシステムのマスター鍵やRSA秘密鍵を解読から守る能力に依る。多くの攻撃シナリオでは、エンドユーザーの資格情報のセキュリティ度合いに依る。メインの暗号化・復号キーはユーザーパスワードからPBKDF2ファンクションによって作られる[2]。特に大規模なオブジェクトのバイナリデータはソルト(ハッシュ化に用いる追加のデータ)やユーザー入力による外部のパスワードを必要とする方法によって暗号化されることがある。

デリゲートアクセスはCOM+オブジェクトの使用を通してのみキーが与えられる。これはIISウェブサーバーでDPAPIを使用することを可能にする。
マイクロソフト製ソフトウェアでのDPAPI使用例

全てのマイクロソフト製品に共通して実装されているわけではないものの、マイクロソフト製品でのDPAPIの利用はWindowsのバージョンを経る毎に増えている。しかし、旧来のマイクロソフトやサードパーティー製メーカーの多くのアプリケーションは独自の保護機構を使うものが多かった。例えば、Internet Explorer 4.0-6.0、Outlook ExpressMSN Explorerは旧来の保護ストレージ(Protected Storage ; PStore)APIでパスワードなどの認証情報を格納している。Internet Explorer 7になってDPAPIを使ってユーザー認証情報を格納するようになった。[3]

Windows 8の画像パスワード、PIN、指紋情報

Windows 2000以降の暗号化ファイルシステム (Encrypting File System ; EFS)

SQL Server 透過データ暗号化 (Transparent Data Encryption : TDE) サービスマスター鍵暗号化

Internet Explorer 7

WindowsメールおよびWindows Live メール

IISにおけるSSL/TLS

Windows 2000およびそれ以降のEAP/TLS(VPN認証)とIEEE 802.1XWi-Fi認証)

Windows XP以降のユーザー名とパスワードの保管(資格管理マネージャー)

.NET Framework 2.0以降のSystem.Security.Cryptography.ProtectedDataクラス

Microsoft.Owin (Katana) Cookie認証(自己ホスト時)[4]

脚注^ “ ⇒DPAPI Secrets. Security analysis and data recovery in DPAPI (Part 1)”. Passcape Software (2012年12月3日). 2016年7月3日閲覧。
^ “ ⇒Windows Password Recovery - DPAPI Master Key analysis”. 2013年5月6日閲覧。
^ Mikhael Felker (2006年12月8日). “ ⇒Password Management Concerns with IE and Firefox, part one”. SecurityFocus.com, Symantec.com. 2010年3月28日閲覧。
^ “ ⇒CookieAuthenticationOptions.TicketDataFormat Property (Microsoft.Owin.Security.Cookies)”. 2015年1月15日閲覧。

外部リンク

DPAPI (データ保護 API) のトラブルシューティング - MSDN


ASP.NET と Enterprise Services から DPAPI (ユーザー ストア) を使用する方法 - MSDN

Windows Data Protection API (DPAPI) white paper by NAI Labs

Data encryption with DPAPI

Use DPAPI to encrypt and decrypt data

System.Security.Cryptography.ProtectedData in .NET Framework 2.0 and later

Discussion of the use of MS BackupKey Remote Protocol by DPAPI to protect user secrets










マイクロソフトのAPIとフレームワーク
グラフィック

Desktop Window Manager

Direct2D

Direct3D (拡張)

GDI / GDI+

WPF

Silverlight

WinUI

Windows Color System

Windows Image Acquisition

Windows Imaging Component

オーディオ

DirectMusic

DirectSound

DirectX plugin

XACT

Speech API

マルチメディア

DirectX (Media Objects

Video Acceleration)

DirectInput

DirectPlay

DirectShow

Image Mastering API

Managed DirectX

Media Foundation

XNA

Windows Media

Video for Windows

ウェブ

MSHTML

EdgeHTML

RSS Platform

JScript

VBScript

BHO

XDR

SideBar Gadgets

データアクセス

Data Access Components

Extensible Storage Engine

ADO.NET

ADO.NET Entity Framework

Sync Framework

Jet Engine

MSXML

OLE DB

OPC

ネットワーク

Winsock (LSP)

Winsock Kernel

Filtering Platform

Network Driver Interface Specification

Windows Rally

BITS

P2P API

MSMQ

MS MPI

コミュニケーション

Messaging API

Telephony API

WCF

管理

Win32 console

Windows Script Host

WMI

PowerShell

Task Scheduler

Offline Files

Shadow Copy

Windows Installer

Error Reporting


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:16 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef