ใช้แฮชของไฟล์เพื่อปรับปรุงความปลอดภัย
การแฮชไฟล์เป็นเทคนิคที่ใช้ในแอปพลิเคชันด้วยหลายเหตุผล โดยหลักเพื่อให้มั่นใจถึงความถูกต้องสมบูรณ์ของข้อมูล ความปลอดภัย และประสิทธิภาพ
มีหลายเหตุผลที่คุณอาจต้องการใช้การแฮชไฟล์ เช่น:
- การตรวจสอบความถูกต้องสมบูรณ์ของข้อมูล
เมื่อมีการถ่ายโอนหรือจัดเก็บไฟล์ ย่อมมีความเสี่ยงที่ข้อมูลจะเสียหายหรือถูกแก้ไขอยู่เสมอ โดยการสร้างค่าแฮชจากเนื้อหาของไฟล์ด้วยอัลกอริทึมการแฮช (เช่น MD5, SHA-1, SHA-256) แอปพลิเคชันสามารถคำนวณแฮชใหม่ในภายหลังและเปรียบเทียบกับแฮชต้นฉบับเพื่อตรวจสอบว่าไฟล์ถูกเปลี่ยนแปลงหรือเสียหายระหว่างการส่งหรือการจัดเก็บหรือไม่
- การกำจัดข้อมูลซ้ำ
ในบางแอปพลิเคชัน เช่น ระบบจัดเก็บข้อมูลบนคลาวด์หรือระบบสำรองข้อมูล มีการใช้การกำจัดไฟล์ซ้ำเพื่อประหยัดพื้นที่จัดเก็บ การแฮชช่วยให้คุณระบุไฟล์ที่ซ้ำกันได้อย่างมีประสิทธิภาพ แทนที่จะจัดเก็บสำเนาของไฟล์เดียวกันหลายชุด แอปพลิเคชันสามารถใช้แฮชเดียวเพื่อแทนเนื้อหาที่ซ้ำกันได้
- การจัดการแคช
ในระบบแคช การแฮชไฟล์สามารถใช้เพื่อตรวจสอบได้อย่างรวดเร็วว่าไฟล์ใดไฟล์หนึ่งเคยถูกเข้าถึงมาก่อนและมีอยู่ในแคชหรือไม่ แฮชทำหน้าที่เป็นตัวระบุเฉพาะสำหรับไฟล์ ช่วยให้ดึงข้อมูลได้เร็วขึ้นและลดการถ่ายโอนข้อมูลที่ไม่จำเป็น
- การทำดัชนีและการค้นหาข้อมูล
ในแอปพลิเคชันขนาดใหญ่ที่ต้องทำดัชนีและค้นหาไฟล์อย่างรวดเร็ว การแฮชไฟล์สามารถใช้สร้างโครงสร้างข้อมูลที่มีประสิทธิภาพ เช่น hash tables ซึ่งช่วยให้ค้นหาและดึงข้อมูลได้อย่างรวดเร็วโดยอิงตามเนื้อหาของไฟล์
- การตรวจจับมัลแวร์
แอปพลิเคชันแอนติไวรัสและความปลอดภัยใช้การแฮชไฟล์เพื่อระบุมัลแวร์และไวรัสที่รู้จักอยู่แล้ว โดยการเปรียบเทียบแฮชของไฟล์กับฐานข้อมูลของแฮชที่เป็นอันตรายที่รู้จัก แอปพลิเคชันเหล่านี้สามารถระบุได้อย่างรวดเร็วว่าไฟล์นั้นอาจเป็นอันตรายหรือไม่
เหตุการณ์ของ Glasswall Halo
- Glasswall Halo API ช่วยให้คุณโต้ตอบแบบเป็นโปรแกรมได้โดยเริ่มต้นคำขอไปยัง endpoint ที่เฉพาะเจาะจงตามประเภทไฟล์:
- สำหรับไฟล์ไบนารี ให้ใช้ endpoint
api/v3/cdr-file. - สำหรับไฟล์ที่เข้ารหัสแบบ Base64 ให้ใช้ endpoint
api/v3/cdr.
-
ในแต่ละคำขอ คุณสามารถเลือกขอให้สร้าง file hash ได้ในรูปแบบใดก็ได้จากสามรูปแบบที่แตกต่างกัน: SHA-256, SHA-1 และ MD5.
-
เมื่อได้รับคำขอแล้ว input hash จะถูกสร้างขึ้น จากนั้น Glasswall Halo จะประมวลผลโดยใช้ Glasswall Embedded Engine เพื่อสร้างใหม่และวิเคราะห์ไฟล์อินพุต.
-
เมื่อสร้างไฟล์ใหม่สำเร็จแล้ว แพลตฟอร์มจะสร้าง output file hash และทั้ง input hash กับ output hash จะถูกส่งกลับมาใน response header.
-
หากคำขอล้มเหลว แพลตฟอร์มจะยังคงสร้าง input hash ซึ่งจะถูกส่งกลับมาใน response header.
-
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 ด้วยตนเอง โปรดดู คู่มือเริ่มต้นอย่างรวดเร็ว ของเรา