กลับไปหน้าบทความ

อ่าน 3 นาที

API การปกป้องข้อมูล

อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันการป้องกันข้อมูล ( DPAPI ) เป็นอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเค ชันการเข้ารหัสแบบง่าย ที่มีให้เป็นส่วนประกอบในตัวในระบบปฏิบัติการWindows...

API การปกป้องข้อมูล

อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันการป้องกันข้อมูล ( DPAPI ) เป็นอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเค ชันการเข้ารหัสแบบง่าย ที่มีให้เป็นส่วนประกอบในตัวในระบบปฏิบัติการWindows 2000และเวอร์ชันต่อมาของMicrosoft Windowsในทางทฤษฎี Data Protection API สามารถเปิดใช้งานการเข้ารหัสแบบสมมาตรของข้อมูลทุกประเภท ในทางปฏิบัติ การใช้งานหลักในระบบปฏิบัติการ Windows คือการเข้ารหัสแบบสมมาตรของคีย์ส่วนตัวแบบอสมมาตร โดยใช้ความลับของผู้ใช้หรือระบบเป็นส่วนประกอบสำคัญของเอนโทรปี การวิเคราะห์โดยละเอียดเกี่ยวกับการทำงานภายในของ DPAPI ได้รับการตีพิมพ์ในปี 2011 โดยBursztein et al. [ 1 ]

สำหรับระบบเข้ารหัส เกือบทั้งหมด หนึ่งในความท้าทายที่ยากที่สุดคือ " การจัดการคีย์ " – โดยเฉพาะอย่างยิ่งวิธีการจัดเก็บคีย์ถอดรหัสอย่างปลอดภัย หากคีย์ถูกจัดเก็บในรูปแบบข้อความธรรมดาผู้ใช้ทุกคนที่สามารถเข้าถึงคีย์ได้ก็จะสามารถเข้าถึงข้อมูลที่เข้ารหัสได้ หากต้องการเข้ารหัสคีย์ ก็จำเป็นต้องใช้คีย์อื่น และเป็นเช่นนี้เรื่อยไป DPAPI อนุญาตให้นักพัฒนาเข้ารหัสคีย์โดยใช้คีย์สมมาตรที่ได้มาจากรหัสลับการเข้าสู่ระบบของผู้ใช้ หรือในกรณีของการเข้ารหัสระบบ โดยใช้รหัสลับการตรวจสอบสิทธิ์โดเมนของระบบ

คีย์ DPAPI ที่ใช้ในการเข้ารหัส คีย์ RSA ของผู้ใช้ จะถูกจัดเก็บไว้ใน%APPDATA%\Microsoft\Protect\{SID}ไดเร็กทอรีที่ {SID} คือตัวระบุความปลอดภัยของผู้ใช้นั้น คีย์ DPAPI จะถูกจัดเก็บไว้ในไฟล์เดียวกันกับคีย์หลักที่ใช้ปกป้องคีย์ส่วนตัวของผู้ใช้ โดยปกติจะมีขนาด 64 ไบต์ เป็นข้อมูลสุ่ม

คุณสมบัติด้านความปลอดภัย

DPAPI ไม่ได้จัดเก็บข้อมูลถาวรใดๆ ไว้กับตัวเอง แต่จะรับข้อความธรรมดาและส่งคืนข้อความที่เข้ารหัส แล้ว (หรือในทางกลับกัน)

การรักษาความปลอดภัยของ DPAPI อาศัยความสามารถของระบบปฏิบัติการ Windows ในการปกป้องคีย์หลักและ คีย์ส่วนตัว RSAจากการถูกบุกรุก ซึ่งในสถานการณ์การโจมตีส่วนใหญ่นั้นขึ้นอยู่กับความปลอดภัยของข้อมูลประจำตัวของผู้ใช้ปลายทางเป็นอย่างมาก คีย์การเข้ารหัส/ถอดรหัสหลักจะถูกสร้างขึ้นจากรหัสผ่านของผู้ใช้โดยฟังก์ชันPBKDF2 [ 2 ]วัตถุไบนารีขนาดใหญ่ที่มีข้อมูลเฉพาะสามารถเข้ารหัสได้ในลักษณะที่ เพิ่ม เกลือและ/หรือต้องใช้รหัสผ่านที่ผู้ใช้ป้อนจากภายนอก (หรือที่เรียกว่า "การป้องกันคีย์ที่แข็งแกร่ง") การใช้เกลือเป็นตัวเลือกต่อการใช้งาน – กล่าวคืออยู่ภายใต้การควบคุมของนักพัฒนาแอปพลิเคชัน – และผู้ใช้ปลายทางหรือผู้ดูแลระบบไม่สามารถควบคุมได้

สามารถมอบสิทธิ์การเข้าถึงให้กับคีย์ต่างๆ ได้โดยใช้COM+ object ซึ่งจะช่วยให้เว็บเซิร์ฟเวอร์IIS สามารถใช้ DPAPI ได้

คีย์สำรองข้อมูล Active Directory

เมื่อคอมพิวเตอร์เป็นสมาชิกของโดเมน DPAPI จะมีกลไกสำรองข้อมูลเพื่ออนุญาตให้ยกเลิกการป้องกันข้อมูลในกรณีที่ผู้ใช้ลืมรหัสผ่าน ซึ่งเรียกว่า "Credential Roaming" เมื่อติดตั้งโดเมนใหม่บนตัวควบคุมโดเมน จะมีการสร้างคู่คีย์สาธารณะและคีย์ส่วนตัวขึ้นมา ซึ่งเชื่อมโยงกับ DPAPI เมื่อมีการสร้างมาสเตอร์คีย์บนเวิร์กสเตชันไคลเอ็นต์ ไคลเอ็นต์จะสื่อสารผ่านการ เรียก RPC ที่ได้รับการตรวจสอบสิทธิ์ กับตัวควบคุมโดเมนเพื่อดึงสำเนาคีย์สาธารณะของโดเมน ไคลเอ็นต์จะเข้ารหัสมาสเตอร์คีย์ด้วยคีย์สาธารณะของตัวควบคุมโดเมน สุดท้าย ไคลเอ็นต์จะจัดเก็บมาสเตอร์คีย์สำรองใหม่นี้ไว้ในไดเร็กทอรี AppData เช่นเดียวกับการจัดเก็บมาสเตอร์คีย์แบบดั้งเดิม

การใช้งาน DPAPI โดยซอฟต์แวร์ของ Microsoft

แม้ว่าจะไม่ได้นำมาใช้ในผลิตภัณฑ์ของ Microsoft ทุกตัว แต่การใช้ DPAPI ในผลิตภัณฑ์ของ Microsoft ก็เพิ่มขึ้นในแต่ละเวอร์ชันของ Windows อย่างไรก็ตาม แอปพลิเคชันจำนวนมากจาก Microsoft และนักพัฒนาบุคคลที่สามยังคงนิยมใช้วิธีการป้องกันของตนเอง หรือเพิ่งเปลี่ยนมาใช้ DPAPI เมื่อไม่นานมานี้ ตัวอย่างเช่นInternet Explorerเวอร์ชัน 4.0–6.0, Outlook ExpressและMSN Explorerใช้ API Protected Storage (PStore) รุ่นเก่าในการจัดเก็บข้อมูลประจำตัวที่บันทึกไว้ เช่น รหัสผ่าน เป็นต้น ปัจจุบัน Internet Explorer 7ปกป้องข้อมูลประจำตัวผู้ใช้ที่บันทึกไว้โดยใช้ DPAPI [ 3 ]

  • "Le fonctionnement de DPAPI สำหรับ Processus Thief" (ในภาษาฝรั่งเศส) 20-10-2022. เก็บถาวรจากต้นฉบับเมื่อ 2022-10-20
  • เอกสารไวท์เปเปอร์เกี่ยวกับ Windows Data Protection API (DPAPI) โดย NAI Labs
  • การเข้ารหัสข้อมูลด้วย DPAPI เก็บถาวรเมื่อวันที่ 18 มีนาคม 2008 ที่Wayback Machine
  • วิธีใช้งาน DPAPI (User Store) จาก ASP.NET 1.1 ร่วมกับ Enterprise Services
  • System.Security.Cryptography.ProtectedData ใน .NET Framework 2.0 และเวอร์ชันที่ใหม่กว่า
  • การอภิปรายเกี่ยวกับการใช้โปรโตคอล MS BackupKey Remote Protocol โดย DPAPI เพื่อปกป้องข้อมูลลับของผู้ใช้
  • Windows Store
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Data_Protection_API&oldid=1319625828 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ API การปกป้องข้อมูล

อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันการป้องกันข้อมูล ( DPAPI ) เป็นอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเค ชันการเข้ารหัสแบบง่าย ที่มีให้เป็นส่วนประกอบในตัวในระบบปฏิบัติการWindows...

คุณสมบัติด้านความปลอดภัย

DPAPI ไม่ได้จัดเก็บข้อมูลถาวรใดๆ ไว้กับตัวเอง แต่จะรับ ข้อความธรรมดา และส่งคืน ข้อความที่เข้ารหัส แล้ว (หรือในทางกลับกัน)

คีย์สำรองข้อมูล Active Directory

เมื่อคอมพิวเตอร์เป็นสมาชิกของโดเมน DPAPI จะมีกลไกสำรองข้อมูลเพื่ออนุญาตให้ยกเลิกการป้องกันข้อมูลในกรณีที่ผู้ใช้ลืมรหัสผ่าน ซึ่งเรียกว่า "Credential Roaming" เมื่อติดตั้งโดเมนใหม่บนตัวควบคุมโดเมน จะมีการสร้างคู่คีย์สาธารณะและคีย์ส่วนตัวขึ้นมา ซึ่งเชื่อมโยงกับ...

การใช้งาน DPAPI โดยซอฟต์แวร์ของ Microsoft

แม้ว่าจะไม่ได้นำมาใช้ในผลิตภัณฑ์ของ Microsoft ทุกตัว แต่การใช้ DPAPI ในผลิตภัณฑ์ของ Microsoft ก็เพิ่มขึ้นในแต่ละเวอร์ชันของ Windows อย่างไรก็ตาม แอปพลิเคชันจำนวนมากจาก Microsoft และนักพัฒนาบุคคลที่สามยังคงนิยมใช้วิธีการป้องกันของตนเอง หรือเพิ่งเปลี่ยนมาใช้...