Score:1

การเพิ่ม checksum หรือ CRC พิเศษในแพ็กเก็ต TCP ซ้ำซ้อนหรือไม่ เพื่อให้ผู้รับตรวจสอบว่าข้อมูลนั้นเหมือนกันกับข้อมูลที่ส่งหรือไม่

ธง cn

เนื่องจาก TCP มี checksum และ TCP/IP stack จะตรวจพบแพ็กเก็ตที่เสียหาย การเพิ่ม พิเศษ checksum หรือ CRC ในแพ็กเก็ต TCP เพื่อให้ผู้รับตรวจสอบได้ว่าข้อมูลตรงกับที่ส่งหรือไม่

บางคนคิดเกี่ยวกับคำถามนี้:

1. เป็นเรื่องปกติมากที่จะมีค่า sha256 เพื่อตรวจสอบความสอดคล้องกันเมื่อดาวน์โหลดไฟล์จากอินเทอร์เน็ต

2. ผลรวมการตรวจสอบที่มีอยู่ในแพ็กเก็ต TCP สามารถตรวจจับแพ็กเก็ตที่เสียหายได้ในกรณีส่วนใหญ่

3. โปรโตคอล Modbus สำหรับ TCP ทิ้ง CRC ซึ่งใช้โดยโปรโตคอล Modubs สำหรับซีเรียล เนื่องจากมีการตรวจสอบในแพ็กเก็ต TCP อยู่แล้ว

ตอนนี้ฉันสับสนมาก ใครช่วยอธิบายคำถามนี้ได้บ้าง

เพิ่ม: หลังจาก googled จริงๆ แล้วไม่ใช่คำถามใหม่ แต่คำตอบยังไม่ชัดเจน มีสองเสียงที่ตรงกันข้ามเกี่ยวกับคำถามนี้

สำหรับรายละเอียด โปรดดูสิ่งเหล่านี้:

การตรวจสอบ CRC เสร็จสิ้นโดยอัตโนมัติบน Tcp/Ip หรือไม่

เป็นไปได้ไหมที่แพ็กเก็ตที่ส่งโดยใช้ TCP จะมาถึงพร้อมกับข้อมูลที่แตกต่างกัน

us flag
การตรวจสอบที่มีอยู่จะตรวจพบข้อผิดพลาดส่วนใหญ่ HMAC น่าจะเป็นแนวทางที่ดีกว่า หากคุณกังวลเกี่ยวกับการดัดแปลงข้อมูล
John avatar
cn flag
@Jasen เหตุใด HMAC จึงไม่ใช่การตรวจสอบ CRC หรือ BSD
us flag
hmac มีความปลอดภัยด้วยการเข้ารหัส - ดังนั้นหากคุณกังวลว่าเมี้ยนที่อยู่ตรงกลางจะยุ่งกับข้อความของคุณ HMAC จะป้องกันสิ่งนั้น
Score:2
ธง br

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

ไม่สามารถใช้ CRC สำหรับความต้านทานการงัดแงะได้ เนื่องจากสามารถคำนวณใหม่ได้เล็กน้อยหลังจากแก้ไขข้อมูล

การตรวจสอบ TCP นั้นง่ายกว่า CRC ดังนั้นการมีอยู่ของมันจึงมีรูปแบบที่เป็นทางการมากขึ้นในทุกวันนี้โปรโตคอลระดับลิงก์ส่วนใหญ่มีเช็คซัมหรือโค้ดแก้ไขข้อผิดพลาดของตัวเอง ดังนั้นข้อผิดพลาดบิตจึงไม่น่าเป็นไปได้ แต่เคยเป็นเรื่องปกติในลิงก์ RS-232

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

John avatar
cn flag
ขอบคุณสำหรับคำชี้แจงของคุณ "ไม่สามารถใช้ CRC สำหรับความต้านทานการงัดแงะได้ เนื่องจากสามารถคำนวณใหม่ได้เล็กน้อยหลังจากแก้ไขข้อมูล" เหตุใดจึงไม่สามารถคำนวณ SHA checksum ใหม่เล็กน้อยหลังจากแก้ไขข้อมูล
br flag
@John ขออภัย นั่นเป็นวิธีที่ผิด เป็นไปได้ที่จะคำนวณข้อมูลที่ตรงกับ CRC เฉพาะ แต่ไม่สามารถคำนวณข้อมูลที่ตรงกับผลรวม SHA เฉพาะได้
John avatar
cn flag
***เนื่องจาก*** **ความน่าจะเป็น** ของ **การชนกัน** สำหรับ CRC นั้น **สูงกว่า SHA มาก มาก** ฉันคิดแบบนี้ได้ไหม ฉันถูกไหม?
br flag
@John โดยทั่วไปแล้ว CRC จะสั้นกว่า แต่ CRC ที่มี 256 บิตจะยังไม่สามารถพิสูจน์การงัดแงะได้ เนื่องจากอัลกอริทึมสามารถย้อนกลับได้
Michael Hampton avatar
cz flag
@John โปรโตคอลระดับลิงก์คืออีเทอร์เน็ตซึ่งมี CRC แบบ 32 บิตอยู่แล้ว
John avatar
cn flag
@SimonRichter อย่างที่คุณบอกว่าการตรวจสอบ TCP นั้นง่ายกว่า CRC ดังนั้นการมีอยู่ของมันจึงมีรูปแบบที่เป็นทางการมากขึ้นในทุกวันนี้ ในขณะที่โปรโตคอล Modbus สำหรับ TCP ทิ้งส่วน CRC ซึ่งใช้โดยโปรโตคอล Modubs สำหรับอนุกรมเนื่องจากมี เป็น checksum ในแพ็กเก็ต TCP อยู่แล้ว คิดยังไงกับมัน?

โพสต์คำตอบ

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