คำตอบ
- SRP - รหัสผ่านระยะไกลที่ปลอดภัย - สิ่งนี้เป็นไปตาม Diffie-Hellman แนวคิดก็คือคุณสามารถทำการตรวจสอบรหัสผ่านร่วมกันโดยไม่ต้องถ่ายโอนรหัสผ่านหรือข้อมูลใด ๆ ที่สามารถนำมาใช้เพื่อรับมา แม้ว่ามันจะเป็นความปลอดภัยมากกว่าลวดที่คุณจะยังคงกัญชาและเกลือรหัสผ่านของคุณเป็นเซิร์ฟเวอร์ของคุณต้องไม่เคยเก็บไว้ในข้อความธรรมดา
- ข้อได้เปรียบของ SRP คือเมื่อเสร็จสมบูรณ์แล้วก็จะให้คีย์เข้ารหัสที่ต่อรองกับคุณซึ่งผู้โจมตีจะไม่สามารถอนุมานได้เนื่องจากข้อมูลที่คุณถ่ายโอนนั้น ซึ่งหมายความว่าคุณมีอิสระในการใช้อัลกอริทึมการเข้ารหัสแบบสมมาตร (เช่น AES) เมื่อผู้ใช้รับรองความถูกต้องแล้ว
- สมมติว่าคุณกำลังใช้ UDP ด้วยการใช้งานที่เชื่อถือได้ / สั่งซื้อ (การเชื่อมต่อที่มุ่งเน้น) ที่ด้านบนของมัน: เข้ารหัส playload UDP ทั้งหมด - รวมถึง 'หมายเลขลำดับแพ็กเก็ต' ของคุณ หากระบบของคุณได้รับการออกแบบอย่างถูกต้องระบบจะปฏิเสธข้อความที่เล่นซ้ำโดยอัตโนมัติและผู้บุกรุกจะไม่สามารถเปลี่ยนหมายเลขลำดับของแพ็คเก็ตได้เนื่องจากมีการเข้ารหัส (ดังนั้นการเล่นซ้ำจึงเป็นไปได้ - แต่มันจะถูกเพิกเฉยโดยอัตโนมัติ)
ความคิด
การพิสูจน์ตัวตนของคุณควรปลอดภัยหรือไม่ อย่างแน่นอน อย่าประนีประนอมในเรื่องความปลอดภัยเมื่อมีคำถามเกี่ยวกับรหัสผ่าน ดังนั้นคุณควรจะพิจารณากระสุนแรกในคำตอบของฉัน
ข้อมูลของคุณควรปลอดภัยหรือไม่ เฉพาะในกรณีที่เป็นการซื้อในเกม / การทำธุรกรรมขนาดเล็ก - และทำไมไม่ใช้สิ่งที่ทดลองและเป็นจริงเช่น HTTPS การเข้ารหัสทราฟฟิกเกมของคุณไม่น่าจะเป็นทางออกที่ทำงานได้ด้วยเหตุผลดังต่อไปนี้:
- มันเป็นความหวาดระแวงที่สมบูรณ์
- มันจะเพิ่มโอเวอร์เฮดเวลาของ CPU บนเซิร์ฟเวอร์ของคุณเว้นแต่คุณจะซื้อโมดูลการเข้ารหัสฮาร์ดแวร์ (แพง)
- ไม่สำคัญว่าคุณจะให้ความปลอดภัยแก่ข้อมูลของคุณผ่านสายมากน้อยเพียงใดใครบางคนสามารถขโมยกระบวนการไคลเอนต์และสกัดกั้นข้อความสักครู่ก่อนที่พวกเขาจะถูกเข้ารหัสและส่ง นี้ไม่ได้เป็นเพียงความเป็นไปได้ แต่เพียบไปได้มากขึ้นในขณะที่มันเป็นอย่างมากง่ายต่อการฉีดรหัสเมื่อเทียบกับแพ็คเก็ตที่ขัดขวาง หากคุณกำลังทำสิ่งนี้เพื่อป้องกันการโกงคุณเสียเวลาและเสียสละอย่างเต็มที่
- ในแง่ของการรักษาความปลอดภัยของรหัสผ่านไม่มีสิ่งใดที่คุณสามารถทำได้เกี่ยวกับระบบที่ถูกแย่งชิงลูกค้าได้กลายเป็นศัตรู Dongizz ของ Blizzards WoW ได้รับการออกแบบมาเพื่อจัดการกับสิ่งนี้ - แต่ฉันไม่แน่ใจว่าปลอดภัยแค่ไหน (โดยเฉพาะถ้าคุณเสียบปลั๊กทิ้งไว้)
กรุณาถ้าคุณกำลังเข้ารหัสเพื่อป้องกันการโกงละทิ้งมัน คุณกำลังจะเกิดขึ้นในระยะสั้น - ฉันให้ข้อมูลแก่คุณในกรณีที่คุณไม่ได้ โปรดจำไว้ว่าคุณสามารถเลือกที่จะเข้ารหัสแพ็กเก็ตด้วยไบต์แรกในแพคเก็ตที่เป็นและตัวบ่งชี้ว่าส่วนที่เหลือจะถูกเข้ารหัสหรือไม่: แม้ว่าอีกครั้งฉันจะติดกับ HTTPS หากคุณต้องการทำสิ่งต่าง ๆ เช่นธุรกรรมบัตรเครดิต HTTPS ออกแบบโดยผู้เชี่ยวชาญ - ไม่เหมือนกับที่คุณหรือฉันออกแบบ
จากทั้งหมดที่กล่าวมา Blizzard ทำการเข้ารหัสปริมาณการใช้งาน WoW ของพวกเขา เหตุผลหลักที่ทำให้เกิดปัญหานี้เนื่องจากมีคนที่น่าจะเป็นมือสมัครเล่นที่สมบูรณ์ตัดสินใจว่าพวกเขาจะลองใช้อัลกอริทึมการเข้ารหัสที่บ้าน นี้แพนออกมาได้ดีจริงๆ แม้ว่าคุณจะใช้อัลกอริทึมมาตรฐานอุตสาหกรรมมีโอกาสที่ดีที่ใครบางคนจะทำวิศวกรรมย้อนกลับรหัสของคุณและจำลองมัน - เมื่อลูกค้าป้อนรหัสผ่านของพวกเขาจะไม่มีการบอกว่ามีการเชื่อมต่อระบบที่ไม่สนับสนุน