บริการเว็บ - ความปลอดภัย
ความปลอดภัยมีความสำคัญต่อบริการเว็บ อย่างไรก็ตามข้อกำหนด 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 ผู้ให้บริการไฟร์วอลล์กำลังพัฒนาเครื่องมือที่ออกแบบมาอย่างชัดเจนเพื่อกรองปริมาณการใช้บริการเว็บ