ข้ามไปยังเนื้อหาหลัก

ใช้แฮชของไฟล์เพื่อปรับปรุงความปลอดภัย

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

มีหลายเหตุผลที่คุณอาจต้องการใช้การแฮชไฟล์ เช่น:

  • การตรวจสอบความถูกต้องสมบูรณ์ของข้อมูล

เมื่อมีการถ่ายโอนหรือจัดเก็บไฟล์ ย่อมมีความเสี่ยงที่ข้อมูลจะเสียหายหรือถูกแก้ไขอยู่เสมอ โดยการสร้างค่าแฮชจากเนื้อหาของไฟล์ด้วยอัลกอริทึมการแฮช (เช่น MD5, SHA-1, SHA-256) แอปพลิเคชันสามารถคำนวณแฮชใหม่ในภายหลังและเปรียบเทียบกับแฮชต้นฉบับเพื่อตรวจสอบว่าไฟล์ถูกเปลี่ยนแปลงหรือเสียหายระหว่างการส่งหรือการจัดเก็บหรือไม่

  • การกำจัดข้อมูลซ้ำ

ในบางแอปพลิเคชัน เช่น ระบบจัดเก็บข้อมูลบนคลาวด์หรือระบบสำรองข้อมูล มีการใช้การกำจัดไฟล์ซ้ำเพื่อประหยัดพื้นที่จัดเก็บ การแฮชช่วยให้คุณระบุไฟล์ที่ซ้ำกันได้อย่างมีประสิทธิภาพ แทนที่จะจัดเก็บสำเนาของไฟล์เดียวกันหลายชุด แอปพลิเคชันสามารถใช้แฮชเดียวเพื่อแทนเนื้อหาที่ซ้ำกันได้

  • การจัดการแคช

ในระบบแคช การแฮชไฟล์สามารถใช้เพื่อตรวจสอบได้อย่างรวดเร็วว่าไฟล์ใดไฟล์หนึ่งเคยถูกเข้าถึงมาก่อนและมีอยู่ในแคชหรือไม่ แฮชทำหน้าที่เป็นตัวระบุเฉพาะสำหรับไฟล์ ช่วยให้ดึงข้อมูลได้เร็วขึ้นและลดการถ่ายโอนข้อมูลที่ไม่จำเป็น

  • การทำดัชนีและการค้นหาข้อมูล

ในแอปพลิเคชันขนาดใหญ่ที่ต้องทำดัชนีและค้นหาไฟล์อย่างรวดเร็ว การแฮชไฟล์สามารถใช้สร้างโครงสร้างข้อมูลที่มีประสิทธิภาพ เช่น hash tables ซึ่งช่วยให้ค้นหาและดึงข้อมูลได้อย่างรวดเร็วโดยอิงตามเนื้อหาของไฟล์

  • การตรวจจับมัลแวร์

แอปพลิเคชันแอนติไวรัสและความปลอดภัยใช้การแฮชไฟล์เพื่อระบุมัลแวร์และไวรัสที่รู้จักอยู่แล้ว โดยการเปรียบเทียบแฮชของไฟล์กับฐานข้อมูลของแฮชที่เป็นอันตรายที่รู้จัก แอปพลิเคชันเหล่านี้สามารถระบุได้อย่างรวดเร็วว่าไฟล์นั้นอาจเป็นอันตรายหรือไม่

เหตุการณ์ของ Glasswall Halo

  1. Glasswall Halo API ช่วยให้คุณโต้ตอบแบบเป็นโปรแกรมได้โดยเริ่มต้นคำขอไปยัง endpoint ที่เฉพาะเจาะจงตามประเภทไฟล์:
  • สำหรับไฟล์ไบนารี ให้ใช้ endpoint api/v3/cdr-file.
  • สำหรับไฟล์ที่เข้ารหัสแบบ Base64 ให้ใช้ endpoint api/v3/cdr.
  1. ในแต่ละคำขอ คุณสามารถเลือกขอให้สร้าง file hash ได้ในรูปแบบใดก็ได้จากสามรูปแบบที่แตกต่างกัน: SHA-256, SHA-1 และ MD5.

  2. เมื่อได้รับคำขอแล้ว input hash จะถูกสร้างขึ้น จากนั้น Glasswall Halo จะประมวลผลโดยใช้ Glasswall Embedded Engine เพื่อสร้างใหม่และวิเคราะห์ไฟล์อินพุต.

  3. เมื่อสร้างไฟล์ใหม่สำเร็จแล้ว แพลตฟอร์มจะสร้าง output file hash และทั้ง input hash กับ output hash จะถูกส่งกลับมาใน response header.

  4. หากคำขอล้มเหลว แพลตฟอร์มจะยังคงสร้าง input hash ซึ่งจะถูกส่งกลับมาใน response header.

  5. input file hash และ output file hash ที่สร้างขึ้นเหล่านี้สามารถนำไปใช้ได้หลายรูปแบบภายในแอปพลิเคชันหรือระบบของคุณ เช่น การตรวจสอบความปลอดภัย การประมวลผลเพิ่มเติม หรือการดำเนินการอื่นใดที่จำเป็น.

การยืนยันตัวตน API

Glasswall Halo รองรับการยืนยันตัวตนสองประเภท: **Basic **และ Bearer authentication ก่อนส่งคำขอใด ๆ คุณต้องยืนยันตัวตนโดยใช้รูปแบบที่เหมาะสมตามการกำหนดค่าของคุณ.

Basic

หากระบบของคุณถูกกำหนดค่าให้ใช้ Basic authentication คุณต้องขอ organisation ID และ token จากผู้ดูแลระบบ นำค่าทั้งสองมารวมกันในรูปแบบ <OrganisationId>:<Token> แล้วเข้ารหัสแบบ Base64.

ค่าที่เข้ารหัสแล้วที่ได้ควรถูกรวมไว้ใน request header:

Authorization: Basic ZGVtbzpwQDU1dzByZA==

Bearer

สำหรับ Bearer authentication คุณจะต้องใช้ bearer token ที่ได้รับจาก identity provider ของคุณ.

เมื่อคุณได้รับ token แล้ว ให้รวม token นั้นไว้ใน request header:

Authorization: Bearer ZGVtbzpwQDU1dzByZA==

หมายเหตุ: โปรดตรวจสอบให้แน่ใจว่าคุณใช้วิธีการยืนยันตัวตนที่เหมาะสมตามการกำหนดค่าของระบบของคุณ การใช้การยืนยันตัวตนที่ถูกต้องจะช่วยให้เข้าถึง Glasswall Halo API ได้สำเร็จและป้องกันปัญหาด้านการอนุญาตใดๆ

เรียนรู้เพิ่มเติมเกี่ยวกับการยืนยันตัวตนของ Glasswall Halo

การสร้างคำขอ

เมื่อใช้ Glasswall Halo เพื่อประมวลผลไฟล์ไบนารีหรือไฟล์ที่เข้ารหัสแบบ Base64 คุณสามารถขอให้สร้าง hash ได้หลายประเภท รวมถึง SHA-256, SHA-1 และ MD5 เมื่อส่ง API request คุณสามารถระบุ hash type เหล่านี้ได้ในชุดค่าผสมใดก็ได้ และในการตอบกลับ คุณจะได้รับค่า hash ที่สร้างขึ้นสำหรับทั้งไฟล์อินพุตและไฟล์เอาต์พุตใน response header ซึ่งช่วยให้คุณมั่นใจได้ถึงความสมบูรณ์และความถูกต้องของข้อมูล รวมทั้งช่วยให้จัดการไฟล์ภายในแอปพลิเคชันหรือระบบของคุณได้อย่างมีประสิทธิภาพ.

การประมวลผลไฟล์แบบไบนารี

POST {baseUrl}/api/v3/cdr-file?generate-hash-types=SHA256,SHA1,MD5

การประมวลผลไฟล์ที่เข้ารหัสแบบ Base64

ส่งสตริงที่เข้ารหัสแบบ Base64 ในเนื้อหาคำขอไปยัง endpoint ต่อไปนี้:

POST {baseUrl}/api/v3/cdr?generate-hash-types=SHA256,SHA1,MD5

รูปแบบเนื้อหาคำขอ

เนื้อความของคำขอควรอยู่ในรูปแบบ JSON และมีฟิลด์ base64 ที่มีสตริงของไฟล์ซึ่งเข้ารหัสแบบ Base64 และฟิลด์ filename ที่ระบุชื่อไฟล์ต้นฉบับ (รวมถึงนามสกุลไฟล์ที่เหมาะสม)

{
"Base64": "string",
"fileName": "filename.pdf",
}

หมายเหตุ

  • แทนที่ {baseurl} ด้วย base URL จริงของ Glasswall Halo API
  • ควรส่ง auth header ที่ถูกต้องมาพร้อมกับแต่ละ request
  • การตั้งค่า generate-hash-types เป็นรายการค่าแฮชที่คั่นด้วยเครื่องหมายจุลภาคใน URL ช่วยให้มั่นใจได้ว่าจะมีการสร้างแฮชที่ถูกต้องและส่งกลับมาในการตอบกลับ
  • สำหรับการประมวลผลไฟล์ไบนารี ให้ใช้ multipart form post ส่วนสำหรับการประมวลผลไฟล์ที่เข้ารหัสแบบ Base64 ให้ระบุเนื้อหาไฟล์ใน JSON request body พร้อมชื่อไฟล์ที่เหมาะสม

การจัดการการตอบกลับ

หากคุณส่งคำขอไปยัง Glasswall Halo API สำเร็จ ระบบจะส่งคืนรหัสสถานะ 201 หากคุณได้ร้องขอให้สร้างและส่งคืนแฮชใด ๆ ทั้งแฮชของข้อมูลนำเข้าและข้อมูลส่งออกจะพร้อมใช้งานในส่วนหัวของการตอบกลับ หากการตอบกลับไม่สำเร็จ ระบบจะส่งคืนเฉพาะค่าแฮชของข้อมูลนำเข้าเท่านั้น

คุณสามารถระบุค่าแฮชได้ด้วยคีย์ส่วนหัวต่อไปนี้:

สำหรับ SHA-256:

  • แฮชของไฟล์นำเข้า: x-hash-sha256-input
  • แฮชของไฟล์ส่งออก: x-hash-sha256-output

สำหรับ SHA-1:

  • แฮชของไฟล์นำเข้า: x-hash-sha1-input
  • แฮชของไฟล์ส่งออก: x-hash-sha1-output

สำหรับ MD5:

  • แฮชของไฟล์นำเข้า: x-hash-md5-input
  • แฮชของไฟล์ส่งออก: x-hash-md5-output

ตัวอย่าง

access-control-allow-origin: * 
access-control-expose-headers: *
content-disposition: attachment; filename=18402777-7826-457f-bc02-6446611495e6.zip; filename*=UTF-8''18402777-7826-457f-bc02-6446611495e6.zip
content-length: 288843
content-type: application/octet-stream
date: Fri,21 Jul 2023 12:42:15 GMT
strict-transport-security: max-age=31536000; includeSubDomains
x-applied-policy: service-dynamic
x-file-size: 301189
x-filetype: pdf
x-hash-md5-input: AF5EB421F8AFC69AC4178ACF747E618C
x-hash-md5-output: 8018FC4F37AB858442F354430203CEB4
x-hash-sha1-input: 9C714CAC1F82A450728F3C046CEFEFAF0BBD2C07
x-hash-sha1-output: 058991F3A252F0A4FD0E7F8B3178D3F15494099B
x-hash-sha256-input: 5F83AB533252C00AD1C60A0EFC016BF273497F3179FD6CE642AD8A4857148B8D
x-hash-sha256-output: 9D5D88F073D74160828F92E9E8DADAC5712706C65D49448D9ABA91D8FDC6FC28
x-processing-id: 18402777-7826-457f-bc02-6446611495e6
x-processing-status: rebuilt

สรุป

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

เริ่มต้นอย่างรวดเร็ว

หากต้องการทดลองใช้ Glasswall Halo ด้วยตนเอง โปรดดู คู่มือเริ่มต้นอย่างรวดเร็ว ของเรา