มีการปฏิบัติที่ปฏิบัติตามในโลกการรักษาความปลอดภัยทางไซเบอร์มาเป็นเวลานาน - "การเปลี่ยนแปลงหรือวิวัฒนาการอย่างต่อเนื่องเป็นวิธีเดียวที่จะทำให้แอปพลิเคชันปลอดภัยตลอดไป"
ในอดีต การตรวจสอบความถูกต้องระหว่างองค์ประกอบเป็นเรื่องยุ่งยากสำหรับแอปพลิเคชันจำนวนมาก แอปจำเป็นต้องตรวจสอบตัวเองกับมิดเดิลแวร์และส่วนประกอบส่วนหลังที่แตกต่างกันใน API ของระบบคลาวด์เพื่อเข้าถึง อย่างไรก็ตาม การตรวจสอบสิทธิ์แอปพลิเคชันใน Web API เป็นกระบวนการที่จำเป็น
กลไกที่มีอยู่สำหรับการตรวจสอบความถูกต้องคือการเข้าสู่ระบบแอปพลิเคชันแบบคงที่ แต่วิธีนี้มีปัญหาด้านความปลอดภัย:–
- ข้อมูลรับรองการเข้าสู่ระบบจะได้รับการอัปเดตเป็นระยะๆ
- ลดความสามารถของบริษัทในการตรวจสอบและบันทึกกิจกรรมของแอปพลิเคชัน
อ่านเพิ่มเติม: DevSecOps:ได้ไหม ช่วยในการรักษาความปลอดภัยแอปพลิเคชันและซอฟต์แวร์ของเราหรือไม่
TLS Mutual Authentication
อย่างไรก็ตาม วิธีที่ดีที่สุดวิธีหนึ่งในการช่วยรักษาความปลอดภัย API ของ Cloud คือการแนะนำการตรวจสอบความถูกต้องร่วมกันของ TLS (Transport Layer Security) เมื่อส่วนประกอบหรือกระบวนการสื่อสารกัน
ให้เราสมมติว่าส่วนประกอบ RESTful API ใช้เทคนิคการพิสูจน์ตัวตนร่วมกันของ TLS แล้ว ขอให้แอปพลิเคชันแสดงการรับรองลูกค้าเพื่อตรวจสอบตัวเอง จึงสามารถช่วยในการปรับปรุงกลยุทธ์โครงสร้างพื้นฐานด้านความปลอดภัยของแอปพลิเคชันได้
ปัญหาเกี่ยวกับกระบวนการดั้งเดิม
กิจกรรมในกระบวนการปกติถูกจัดประเภทไว้ด้วยกันภายใต้ ID ผู้ใช้เดียวตามส่วนประกอบส่วนหลัง การจัดหมวดหมู่นี้ทำให้ยากต่อการค้นหากิจกรรมผ่านข้อมูลกิจกรรมทั้งหมดที่เกี่ยวข้องกับแอปพลิเคชัน สถานการณ์จะเลวร้ายลงเมื่อคุณไม่พบเหตุการณ์ระหว่างการโจมตีทางไซเบอร์ ผู้เชี่ยวชาญด้านความปลอดภัยไม่สามารถแยกความแตกต่างระหว่างแอปพลิเคชันที่ไม่เป็นอันตรายและเป็นอันตรายได้ ปัญหานี้เป็นที่แพร่หลายตั้งแต่ทศวรรษที่ผ่านมาและยังไม่ได้รับการแก้ไข
สำหรับ RESTful APIs พวกเขายังคงต้องตรวจสอบความถูกต้องซึ่งกันและกัน และพวกเขาเพียงแค่ใช้วิธีการแบบ HTTP-aware เพื่อดำเนินการตรวจสอบสิทธิ์ ตัวอย่างเช่น ค่าที่ซ่อนอยู่จะถูกรวมเข้ากับส่วนหัวของคำขอ HTTP เพื่อตรวจสอบความถูกต้องของผู้ขอ กระบวนการนี้เรียกว่าการพิสูจน์ตัวตนพื้นฐานของ HTTP มันถูกนำไปใช้โดยไม่คำนึงถึงความจริงที่ว่าแอพพลิเคชั่นคลาวด์อยู่ในคลาวด์หรือในองค์กร ไม่ว่าคุณจะใช้ PaaS หรือ IaaS การตรวจสอบสิทธิ์ระหว่างองค์ประกอบก็ยังเป็นปัญหาที่ไม่ได้รับการแก้ไข
วิธี TLS ช่วย
โดยพื้นฐานแล้ว คุณต้องใช้ประโยชน์จากคุณลักษณะของ TLS เพื่อปรับปรุงกลไกการตรวจสอบสิทธิ์ที่คุณนำไปใช้ ในกรณีที่ไม่ได้ใช้ TLS สำหรับการท่องเว็บ TLS จะสนับสนุนการตรวจสอบความถูกต้องร่วมกันระหว่างเพียร์ที่ทำธุรกรรมระหว่างกัน
เซิร์ฟเวอร์ตรวจสอบสิทธิ์ผู้ร้องขอเช่นเดียวกับเบราว์เซอร์ตรวจสอบเว็บไซต์ระยะไกล โปรโตคอล HTTP ถูกใช้เป็นการขนส่งสำหรับ cloud APIs แต่เรายังคงอนุญาตให้มีการตรวจสอบความถูกต้องร่วมกันระหว่างส่วนประกอบต่างๆ ในการรับรองความถูกต้องร่วมกันของ TLS เราสามารถจำกัดพารามิเตอร์ของใบรับรองที่ยอมรับได้โดยเฉพาะ หมายความว่าแอปพลิเคชันระบบคลาวด์จำเป็นต้องแสดงใบรับรองหรือหมายเลขซีเรียลเฉพาะและแม้กระทั่งจากผู้ออกใบรับรองเฉพาะ นอกจากนี้ คุณสามารถรวมวิธี TLS กับค่าคงที่ที่ซ่อนอยู่หรือรหัสผ่านได้ แม้ว่าการนำวิธีการตรวจสอบความถูกต้องร่วมกันของ TLS ไปใช้ในระบบคลาวด์จะมีการพึ่งพาบางอย่าง โดยหลักแล้ว API ของระบบคลาวด์ควรปรับแต่งได้เพื่อตั้งค่าการตรวจสอบสิทธิ์ร่วมกันของ TLS หมายความว่าคุณควรมีสภาพแวดล้อม IaaS เพื่อให้คุณสามารถแก้ไขการกำหนดค่าได้ มิฉะนั้น ควรเป็นสภาพแวดล้อม PaaS ที่คุณได้รับอนุญาตให้เปิดการทำงานนี้ คุณสามารถยกตัวอย่างของผู้เชี่ยวชาญระบบคลาวด์ เช่น AWS และ Microsoft Azure
ข้อดีของการพิสูจน์ตัวตนแบบรวม TLS
มีประโยชน์ที่น่าทึ่งบางประการที่คุณสามารถเพลิดเพลินได้ในขณะที่ใช้การตรวจสอบความถูกต้องร่วมกันของ TLS ข้อได้เปรียบที่โดดเด่นที่สุดประการหนึ่งของการตรวจสอบความถูกต้องร่วมกันของ TLS คือไม่ต้องยุ่งยากกับการรักษารหัสผ่านหรือค่าที่เป็นความลับ การใช้และการจัดการรหัสผ่านหรือค่าคงที่ที่ซ่อนอยู่นั้นเป็นงานที่ยุ่งยาก เนื่องจากมีกระบวนการต่างๆ เช่น การแก้ไขรหัสผ่านเป็นระยะ การตรวจสอบการใช้งาน การสร้างรหัสผ่านที่ซับซ้อน การประกันการป้องกัน ฯลฯ อย่างไรก็ตาม การตรวจสอบความถูกต้องร่วมกันของ TLS ช่วยลดความยุ่งยากเพิ่มเติมในการดูแลรหัสผ่าน แม้ว่ารหัสผ่านจะใช้ไม่กี่ครั้งในขณะที่เปิดใช้วิธีการตรวจสอบสิทธิ์ แต่ TLS ก็สามารถลดบทบาทของรหัสผ่านได้ในระยะยาว
นอกจากนั้น การตรวจสอบความถูกต้องร่วมกันของ TLS ยังใช้การรับรองและคีย์ส่วนตัวที่พกพาได้น้อยกว่ารหัสผ่าน ดังนั้น แม้ว่าการรับรองและคีย์ส่วนตัวอาจถูกบุกรุกได้เช่นเดียวกับหน่วยงานดิจิทัลอื่นๆ แต่ก็ยังเพิ่มระดับความยากสำหรับแฮกเกอร์ อย่างน้อยก็ในแง่ของการขนส่งในขณะที่แฮ็กเกอร์ต้องการปลอมตัวเป็นผู้เรียก API ระยะไกล
สำหรับการตรวจสอบแอปพลิเคชันที่เกี่ยวข้อง TLS จะเก็บบันทึกส่วนประกอบหรือแอปพลิเคชันที่ทำให้คำขอ API มีความชัดเจนมากขึ้น รหัสผ่านเป็นกระบวนการที่ซับซ้อน
อ่านเพิ่มเติม: การรักษาความปลอดภัยทางไซเบอร์กำลังดีขึ้นหรือแย่ลงไหม
ข้อเสียของการตรวจสอบสิทธิ์ร่วม TLS
มีข้อเสียเล็กน้อยในขณะที่คุณใช้การพิสูจน์ตัวตนร่วมกันของ TLS อย่างไรก็ตาม ไม่มีใครควรกีดกันคุณใช้เทคนิคนี้
ควรคำนึงถึงข้อเสียต่อไปนี้เพื่อปรับปรุงวิธีการ:–
ก่อนอื่นใบรับรองจะหมดอายุ ดังนั้น เราควรจำไว้ว่าให้ออกใบรับรองใหม่ก่อนที่จะหมดอายุ ในกรณีที่คุณลืมออกใบรับรองใหม่ ผลลัพธ์อาจเป็นหายนะเนื่องจากเป็นการยากที่จะแก้ไขปัญหา ตรวจสอบให้แน่ใจว่าคุณติดตามวันหมดอายุของใบรับรองเสมอเพื่อแทนที่ใบรับรองที่หมดอายุในเชิงรุก
การตรวจสอบความถูกต้องร่วมกันของ TLS เป็นวิธีที่สร้างสรรค์ในการปรับปรุงความปลอดภัยสำหรับ API ของระบบคลาวด์ อย่างน้อย การตรวจสอบความถูกต้องร่วมกันของ TLS สามารถช่วยผู้เชี่ยวชาญด้านความปลอดภัยในการประเมินความปลอดภัยของแอปพลิเคชันบนคลาวด์ได้