ฉันได้มีส่วนร่วมในการอภิปรายเมื่อวันก่อนเกี่ยวกับการใช้การรับรองความถูกต้องแบบแบ็กเอนด์ถึงแบ็คเอนด์ การสื่อสารระหว่างแต่ละแบ็กเอนด์เกิดขึ้นผ่าน โปรโตคอลข้อความ SOAP (XML).
วัตถุประสงค์:
ตรวจสอบสิทธิ์การโทรที่มาจากแบ็กเอนด์ A <> แบ็กเอนด์ B การสื่อสารทั้งหมดสามารถพิจารณาให้ผ่านอุโมงค์ TLS ก่อน
วิธีแก้ปัญหาที่เสนอ:
ผนวก ก ลายเซ็น ในส่วนหัว XML ซึ่งคำนวณโดยใช้เพียงบางส่วนของเนื้อหาคำขอและการประทับเวลา เข้ารหัสด้วย เออีเอส-อีซีบี
ความลับจะถูกแบ่งปันในช่องทางภายนอกและดูแลที่ปลายแต่ละด้าน
ข้อกังวลของฉัน / วิธีแก้ไขของตัวเอง:
จากมุมมองของฉัน ปัญหานี้เรียกร้องให้ก ประเภท MAC การรับรองความถูกต้องที่จะรับประกันความสมบูรณ์ของข้อความและความถูกต้อง
ฉันอยากจะแนะนำให้พวกเขาใช้ HMAC-SHA256 แทน โดยไม่มีการประทับเวลาเพื่อป้องกันการโจมตีซ้ำ และส่งต่อในแบบกำหนดเอง ส่วนหัว XML ซึ่งจะถูกตรวจสอบโดยแต่ละแบ็กเอนด์
ฉันไม่เข้าใจความจำเป็นในการใช้การเข้ารหัสที่นี่ โดยเฉพาะอย่างยิ่งเมื่อพวกเขาไม่ได้เข้ารหัสเนื้อหาคำขอ (การรักษาความลับ) อย่างไรก็ตาม ฉันไม่มีข้อโต้แย้งที่ชัดเจนมากพอ ทำไม ทางออกของพวกเขาคือ ไม่ปลอดภัย/ไม่เหมาะสม
หมายเหตุ: ฉันคิดว่าโหมดการเข้ารหัส ECB อาจมีปัญหาเกี่ยวกับ oracle และโดยทั่วไป CBC จะเป็นที่ต้องการมากกว่า