ตรวจจับรูปที่ถูกแก้ไขด้วยลายนิ้วมือ SHA-256

SHA-256 แบบเข้าใจง่าย: ค่าตรงกันพิสูจน์อะไร ค่าไม่ตรงหมายถึงอะไร ทำไมรูปที่ส่งผ่าน WhatsApp หรือ Messenger ไม่เคยตรง และวิธีเปรียบเทียบไฟล์

วิธีที่น่าเชื่อถือที่สุดในการบอกว่าไฟล์รูปถูกเปลี่ยนไปหรือไม่นับจากที่บันทึกครั้งแรก คือการเทียบ ลายนิ้วมือ SHA-256 ของสองไฟล์ ถ้าตรงกันแปลว่าเหมือนกันทุกไบต์ ถ้าไม่ตรงแปลว่าไฟล์เปลี่ยนไปแล้ว แต่ “เปลี่ยน” ไม่ได้แปลว่า “ปลอม” แค่ส่งรูปผ่าน WhatsApp หรือ Messenger ก็ทำให้ค่าไม่ตรงแล้ว บทความนี้อธิบาย SHA-256 แบบเข้าใจง่าย สิ่งที่พิสูจน์ได้และพิสูจน์ไม่ได้ และขั้นตอนที่ใช้ได้จริง

หมายเหตุ: บทความนี้เป็นข้อมูลทั่วไป ไม่ใช่คำแนะนำทางกฎหมาย หลักฐานมีน้ำหนักแค่ไหนในแต่ละกรณีเป็นเรื่องที่หน่วยงานที่เกี่ยวข้องตัดสิน

SHA-256 คืออะไร แบบเข้าใจง่าย

ให้นึกถึง SHA-256 เป็นเครื่องที่สร้าง ลายนิ้วมือให้ไฟล์ ใส่ไฟล์อะไรก็ได้เข้าไป จะเป็นรูป 3 MB หรือวิดีโอ 2 GB ก็จะได้สตริงยาวคงที่ 64 ตัวอักษร ประมาณ 9f2c1a… อัลกอริทึมนี้กำหนดไว้ในมาตรฐาน NIST ของสหรัฐฯ FIPS 180-4 และใช้กันทุกที่ ตั้งแต่ธนาคารไปจนถึงการดาวน์โหลดซอฟต์แวร์

มีคุณสมบัติสำคัญสามข้อ:

  1. ไฟล์เดียวกัน ลายนิ้วมือเดียวกัน คำนวณกี่ครั้งบนคอมพิวเตอร์เครื่องไหนก็ได้สตริงเดียวกัน
  2. เปลี่ยนนิดเดียว ผลต่างไปทั้งหมด เปลี่ยนพิกเซลเดียวหรือลบข้อมูลเมตาบรรทัดเดียว ลายนิ้วมือใหม่ก็ไม่เหลือเค้าเดิม ไม่มีคำว่า “เกือบตรง”
  3. ทางเดียว สร้างรูปกลับจากลายนิ้วมือไม่ได้ และในทางปฏิบัติไม่มีใครจงใจสร้างไฟล์อื่นที่มีลายนิ้วมือเดียวกันได้

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

นั่นหมายความว่า การเก็บตัวอักษร 64 ตัวไว้ตอนที่รูปมาถึงก็พอสำหรับตรวจสอบภายหลังว่าไฟล์ใดคือรูปนั้นพอดีหรือไม่ โดยไม่ต้องเก็บหรือส่งรูปซ้ำ

ค่าตรงกันพิสูจน์อะไร และค่าไม่ตรงบอกอะไร

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

แถวที่สองคือจุดที่คนมักเข้าใจผิด ไฟล์อาจเปลี่ยนจากต้นฉบับได้ด้วยเหตุผลที่ไม่มีพิษภัยมากมาย:

  • แอปแชตบีบอัดรูปซ้ำ WhatsApp, Messenger และแอปอื่นๆ อีกมากย่อและบีบอัดรูปที่ส่งแบบ “รูปภาพ”
  • โซเชียลมีเดีย บีบอัดซ้ำและลบข้อมูลเมตาเมื่อคุณโพสต์
  • แคปหน้าจอ แทนการส่งไฟล์
  • หมุน ครอป หรือปรับความสว่าง แม้เพียงเล็กน้อยในแอปแกลเลอรี
  • แปลงรูปแบบไฟล์ เช่น HEIC เป็น JPEG หรือ “บันทึกเป็น” จากโปรแกรมดูรูป

ดังนั้นเมื่อเห็นค่าไม่ตรง คำถามที่ถูกต้องไม่ใช่ “ของปลอมหรือเปล่า” แต่คือ “ไฟล์นี้ผ่านช่องทางไหนมาบ้าง”

ทำไมรูปที่ส่งผ่าน WhatsApp หรือ Messenger ไม่เคยตรง

เพื่อประหยัดพื้นที่และแบนด์วิดท์ แอปแชตมัก เข้ารหัสรูป JPEG ใหม่: ลดความละเอียด บีบอัดมากขึ้น ลดข้อมูลเมตา ด้วยตาเปล่ารูปดูเหมือนเดิม แต่ไบต์ข้างในต่างกันโดยสิ้นเชิง ค่า SHA-256 จึงต่างกันด้วย

วิธีส่ง มักเก็บไฟล์ต้นฉบับไว้ไหม ผลเทียบ SHA-256
ส่งแบบ “รูปภาพ” ในแอปแชต ไม่ ถูกบีบอัดซ้ำ แทบแน่นอนว่าไม่ตรง
ส่งแบบ “ไฟล์” หรือเอกสารในแอปแชต ส่วนใหญ่ใช่ ส่วนใหญ่ตรง
แนบไฟล์ในอีเมล ส่วนใหญ่ใช่ ส่วนใหญ่ตรง
ดาวน์โหลดต้นฉบับจาก Google Drive หรือ OneDrive ใช่ ตรง
แคปหน้าจอ ไม่ ไม่ตรง

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

ขั้นตอนการเปรียบเทียบที่ใช้ได้จริง

ถ้าคุณเป็นผู้ส่งรูป (ผู้รับเหมา ช่างเทคนิค พนักงานภาคสนาม)

  1. ส่งรูปด่วนทางแชตเพื่ออัปเดตงานประจำวันได้ตามปกติ
  2. สำหรับรูปที่สำคัญ (การตรวจงาน การส่งมอบงาน การเคลมประกัน) ให้ ส่งต้นฉบับด้วย เป็นไฟล์ ทางอีเมล หรือผ่านโฟลเดอร์แชร์
  3. อย่าครอป หมุน หรือแก้ไขก่อนส่งต้นฉบับ
  4. ใส่รหัส SnapID ในข้อความเพื่อให้ผู้รับค้นหาได้เร็ว

ใครก็ยืนยันได้: ทุกรูปมีรหัส SnapID และคิวอาร์โค้ด ผู้รับสแกนได้โดยไม่ต้องมีบัญชี เห็นเวลา พื้นที่ และแฟล็กความสมบูรณ์ และเทียบไฟล์ด้วย SHA-256 ได้

ถ้าคุณเป็นผู้รับรูป (เจ้าของงาน ลูกค้า ผู้จัดการ บริษัทประกัน)

  1. สแกนคิวอาร์โค้ดหรือเปิดหน้ายืนยันจากรหัสบนรูป
  2. ตรวจเวลาถ่าย พื้นที่ และแฟล็กความสมบูรณ์
  3. คลิก เทียบกับไฟล์ของฉัน แล้วเลือกต้นฉบับที่ได้รับ
  4. ตรงกัน: ไฟล์สมบูรณ์ ไม่ตรง: ตรวจว่าผ่านช่องทางที่บีบอัดมาหรือไม่ แล้วขอต้นฉบับ
  5. ถ้าต้นฉบับที่ส่งผ่านช่องทางที่ไม่บีบอัดยังไม่ตรง ให้สอบถามผู้ส่งและดูภาพย่อบนหน้ายืนยันอย่างละเอียด

คำนวณ SHA-256 ด้วยตัวเอง

สำหรับการตรวจเองหรือเก็บบันทึก เครื่องมือที่มีอยู่ในระบบก็เพียงพอ:

  • Windows (Command Prompt): certutil -hashfile photo.jpg SHA256
  • macOS (Terminal): shasum -a 256 photo.jpg
  • Linux: sha256sum photo.jpg

เทียบผลลัพธ์กับสตริงที่ผู้ส่งให้มา ต่างกันแค่ตัวอักษรเดียวก็คือสองไฟล์ที่ต่างกัน

SnapID Mark ใช้ SHA-256 อย่างไร

เมื่ออัปโหลดรูปจาก SnapID Mark เซิร์ฟเวอร์จะเก็บลายนิ้วมือ SHA-256 ของ ทั้งต้นฉบับและรูปที่มีแสตมป์ หน้ายืนยันสาธารณะแสดงลายนิ้วมือพร้อมเวลาถ่ายที่เชื่อถือได้ พื้นที่แบบปัดเศษ และแฟล็กความสมบูรณ์ ปุ่ม “เทียบกับไฟล์ของฉัน” คำนวณ SHA-256 ภายในเบราว์เซอร์ของผู้รับ รูปจึงไม่ถูกอัปโหลด แล้วเทียบกับค่าที่เก็บไว้ หน้านี้ยังอธิบายกรณีแอปแชตบีบอัดซ้ำ เพื่อไม่ให้ผู้รับด่วนสรุป

หน้ายืนยันสาธารณะของรหัส SnapID: Valid SnapID วันที่และเวลาที่ถ่าย พื้นที่ที่ปัดเศษเป็นประมาณ 1 km พร้อมลิงก์แผนที่ เวิร์กสเปซ บัญชี และรายการงาน

รวมกันแล้วได้สามชั้น: เวลาที่เชื่อถือได้ บอกว่าเมื่อไร (ดู เวลาที่เชื่อถือได้เทียบกับเวลาโทรศัพท์) รหัส SnapID และคิวอาร์โค้ด พาไปยังบันทึกอิสระ และ SHA-256 บอกว่าไฟล์ยังสมบูรณ์หรือไม่ ดูเพิ่มเติมที่ ความปลอดภัย หรือลอง เดโมการยืนยัน

โปรดจำไว้ว่านี่เป็นเครื่องมือตรวจสอบทางเทคนิค ไม่ใช่ลายมือชื่อดิจิทัลหรือการประทับเวลาที่ได้รับการรับรอง บทความ รูปประทับเวลาเป็นหลักฐานในเวียดนาม อธิบายด้านนี้ละเอียดกว่า

ถ้าคุณต้องส่งรูปที่ผู้รับตรวจความสมบูรณ์ได้เอง ดาวน์โหลด SnapID Mark แล้วลองเทียบต้นฉบับกับสำเนาที่ส่งผ่านแชต

คำถามที่พบบ่อย

ลายนิ้วมือ SHA-256 เปิดเผยเนื้อหาในรูปไหม

ไม่ สร้างรูปกลับจากตัวอักษร 64 ตัวไม่ได้ การแสดงลายนิ้วมือต่อสาธารณะจึงไม่เปิดเผยรูป

รูปที่ส่งผ่านแอปแชตไม่ตรง แปลว่าปลอมไหม

ไม่ แอปแชตบีบอัดรูปที่ส่งแบบ “รูปภาพ” ซ้ำ ทำให้ไฟล์เปลี่ยนแม้หน้าตาเหมือนเดิม ขอต้นฉบับที่ส่งเป็นไฟล์หรือทางอีเมลแล้วเทียบใหม่

เมื่อเทียบบนหน้ายืนยัน รูปของฉันถูกอัปโหลดไหม

ไม่ เบราว์เซอร์คำนวณลายนิ้วมือบนเครื่องของคุณ และไฟล์รูปไม่ออกจากเครื่องเลย

ค่าตรงกันแปลว่ารูปเป็นของจริงแน่นอนไหม

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

เทียบไฟล์ PDF ที่ส่งออกจากรูปได้ไหม

อย่าใช้ PDF ในการเปรียบเทียบ เพราะรูปใน PDF เป็นไฟล์อื่น ให้เทียบด้วยไฟล์ JPEG ต้นฉบับ