บริการเว็บ - ความปลอดภัย

ความปลอดภัยมีความสำคัญต่อบริการเว็บ อย่างไรก็ตามข้อกำหนด XML-RPC และ SOAP ไม่ได้ระบุข้อกำหนดด้านความปลอดภัยหรือการรับรองความถูกต้องอย่างชัดเจน

มีปัญหาด้านความปลอดภัยเฉพาะสามประการกับบริการบนเว็บ -

  • Confidentiality
  • Authentication
  • ความปลอดภัยของเครือข่าย

การรักษาความลับ

หากไคลเอนต์ส่งคำขอ XML ไปยังเซิร์ฟเวอร์เราจะมั่นใจได้หรือไม่ว่าการสื่อสารนั้นยังคงเป็นความลับ

คำตอบอยู่ที่นี่ -

  • XML-RPC และ SOAP ทำงานบน HTTP เป็นหลัก
  • HTTP รองรับ Secure Sockets Layer (SSL)
  • การสื่อสารสามารถเข้ารหัสผ่าน SSL
  • SSL เป็นเทคโนโลยีที่ได้รับการพิสูจน์แล้วและถูกนำไปใช้อย่างกว้างขวาง

บริการบนเว็บเดียวอาจประกอบด้วยกลุ่มแอปพลิเคชัน ตัวอย่างเช่นบริการขนาดใหญ่หนึ่งบริการอาจรวมบริการของแอปพลิเคชันอื่น ๆ อีกสามบริการเข้าด้วยกัน ในกรณีนี้ SSL ไม่เพียงพอ ข้อความจะต้องได้รับการเข้ารหัสที่แต่ละโหนดตามเส้นทางบริการและแต่ละโหนดแสดงถึงลิงก์ที่อ่อนแอในห่วงโซ่ ขณะนี้ยังไม่มีวิธีแก้ปัญหาที่ตกลงกันไว้ แต่วิธีแก้ปัญหาที่มีแนวโน้มอย่างหนึ่งคือมาตรฐานการเข้ารหัส W3C XML มาตรฐานนี้จัดเตรียมกรอบสำหรับการเข้ารหัสและถอดรหัสเอกสาร XML ทั้งหมดหรือเพียงบางส่วนของเอกสาร XML สามารถตรวจสอบได้ที่www.w3.org/Encryption

การรับรองความถูกต้อง

หากลูกค้าเชื่อมต่อกับบริการบนเว็บเราจะระบุตัวผู้ใช้ได้อย่างไร? ผู้ใช้ได้รับอนุญาตให้ใช้บริการหรือไม่?

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

  • HTTP มีการสนับสนุนในตัวสำหรับการพิสูจน์ตัวตนขั้นพื้นฐานและไดเจสต์ดังนั้นจึงสามารถป้องกันบริการในลักษณะเดียวกับที่เอกสาร HTML ได้รับการปกป้องในปัจจุบัน

  • SOAP Digital Signature (SOAP-DSIG) ใช้ประโยชน์จากการเข้ารหัสคีย์สาธารณะเพื่อเซ็นชื่อข้อความ SOAP แบบดิจิทัล ช่วยให้ไคลเอนต์หรือเซิร์ฟเวอร์ตรวจสอบตัวตนของอีกฝ่ายได้ ตรวจสอบที่www.w3.org/TR/SOAP-dsig

  • องค์กรเพื่อความก้าวหน้าของมาตรฐานข้อมูลที่มีโครงสร้าง (OASIS) กำลังดำเนินการเกี่ยวกับ Security Assertion Markup Language (SAML)

ความปลอดภัยของเครือข่าย

ขณะนี้ยังไม่มีคำตอบง่ายๆสำหรับปัญหานี้และเป็นประเด็นที่มีการถกเถียงกันมาก ในตอนนี้หากคุณตั้งใจกรองข้อความ SOAP หรือ XML-RPC อย่างแท้จริงความเป็นไปได้อย่างหนึ่งคือการกรองคำขอ HTTP POST ทั้งหมดที่ตั้งค่าประเภทเนื้อหาเป็นข้อความ / xml

อีกทางเลือกหนึ่งคือการกรองแอตทริบิวต์ส่วนหัว SOAPAction HTTP ผู้ให้บริการไฟร์วอลล์กำลังพัฒนาเครื่องมือที่ออกแบบมาอย่างชัดเจนเพื่อกรองปริมาณการใช้บริการเว็บ