4
วิธีเข้ารหัสไบต์โดยใช้ TPM (Trusted Platform Module)
ฉันจะเข้ารหัสไบต์โดยใช้โมดูล TPM ของเครื่องได้อย่างไร CryptProtectData Windows มี API ที่เรียบง่าย (ค่อนข้าง) เพื่อเข้ารหัส blob โดยใช้CryptProtectDataAPI ซึ่งเราสามารถรวมฟังก์ชันที่ใช้งานง่าย: public Byte[] ProtectBytes(Byte[] plaintext) { //... } รายละเอียดProtectBytesมีความสำคัญน้อยกว่าแนวคิดที่คุณสามารถใช้ได้อย่างง่ายดาย: นี่คือไบต์ที่ฉันต้องการเข้ารหัสโดยคีย์ลับที่อยู่ในไฟล์ System คืนหยดที่เข้ารหัสให้ฉัน หยดที่ส่งคืนเป็นโครงสร้างเอกสารที่ไม่มีเอกสารซึ่งมีทุกอย่างที่จำเป็นในการถอดรหัสและส่งคืนข้อมูลต้นฉบับ (อัลกอริทึมแฮชอัลกอริทึมการเข้ารหัสเกลือลายเซ็น HMAC ฯลฯ ) เพื่อความสมบูรณ์นี่คือตัวอย่างการใช้งานรหัสเทียมProtectBytesที่ใช้Crypt APIเพื่อป้องกันไบต์: public Byte[] ProtectBytes(Byte[] plaintext) { //Setup our n-byte plaintext blob DATA_BLOB dataIn; dataIn.cbData = plaintext.Length; dataIn.pbData = Addr(plaintext[0]); DATA_BLOB …