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

เริ่มจากไบต์ที่ตั้งใจ ไม่ใช่จากคำร้องเรียน

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

คำนวณแฮชด้วยอัลกอริทึมที่ปลายทั้งสองรันได้ และจดว่าใช้อันไหน การเปรียบเทียบระหว่าง SHA-256 กับ MD5 ไม่ใช่การเปรียบเทียบ และการเปรียบเทียบระหว่างไฟล์สองไฟล์ที่บังเอิญชื่อเดียวกันก็ไม่ใช่การเปรียบเทียบเช่นกัน

PS> Get-FileHash -LiteralPath "C:\uploads\report.csv" -Algorithm SHA256
Hash                                                        Path
----                                                        ----
9F2C...                                                      C:\uploads\report.csv

เอกสารอ้างอิง Get-FileHash ของ Microsoft อธิบายคำสั่งและพารามิเตอร์อัลกอริทึมของคำสั่งนั้น ซึ่งเป็นส่วนที่ผู้คนข้ามไปเมื่อการเปรียบเทียบให้ผลลัพธ์ที่ไม่ตรงกันอย่างไม่มีความหมาย

หนึ่งแฮชต่อขั้นตอน อัลกอริทึมเดียวกัน

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

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

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

แยกความล้มเหลวในการถ่ายโอนออกจากการแปลง

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

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

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

ลองเส้นทางที่สองโดยไม่เปลี่ยนทุกอย่าง

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

รักษาการเปรียบเทียบให้ซื่อตรงทั้งสองทิศทาง แฮชบอกคุณว่าสองจุดเห็นตรงกันหรือไม่ตรงกันเกี่ยวกับเนื้อหา แต่ไม่ได้บอกว่าฝั่งใดน่าเชื่อถือ ดังนั้นเก็บค่าที่คาดไว้และการตรวจสอบไว้ภายในแบบจำลองความเชื่อถือที่คุณพึ่งพาจริง

ปิดท้ายด้วยประโยคเฉพาะเจาะจงในตั๋ว: การถ่ายโอนหยุดก่อนกำหนด แอปพลิเคชันแปลงวัตถุ ที่จัดเก็บเปลี่ยนมัน หรือไบต์ตรงกันและการอ่านคือความล้มเหลว แต่ละกรณีมีเจ้าของต่างกัน และไม่มีกรณีใดเป็น VPN โดยค่าเริ่มต้น

บทความที่เกี่ยวข้อง