เผยแพร่เมื่อ

วิธีออกแบบการเข้าถึงเว็บ API ที่มีความปลอดภัยสำหรับเว็บไซต์ของคุณ

ผู้เขียน

เมื่อเรายอมให้ผู้ใช้เข้าถึงเว็บ API เราต้องแน่ใจว่าคำขอ API แต่ละครั้งได้รับการยืนยันแล้ว ซึ่งหมายความว่าเราต้องยืนยันว่าผู้ใช้เป็นบุคคลที่ตนเองอ้าง

Image

ในโพสต์นี้ เราจะพิจารณาวิธีการทั่วไปสองวิธีในการรักษาความปลอดภัยการเข้าถึง API:

  1. การยืนยันตัวตนโดยใช้โทเคน

  2. การยืนยันตัวตน HMAC (Hash-based Message Authentication Code)

แผนภาพด้านล่างแสดงวิธีการทำงานของแต่ละวิธี

การยืนยันตัวตนโดยใช้โทเคน

  1. ผู้ใช้ป้อนรหัสผ่านบนไคลเอ็นต์ ซึ่งส่งไปยังเซิร์ฟเวอร์ยืนยันตัวตน

  2. เซิร์ฟเวอร์ยืนยันรหัสผ่านและสร้างโทเคนที่มีเวลาหมดอายุ

  3. ไคลเอ็นต์สามารถใช้โทเคนนี้ใน HTTP Header เพื่อส่งคำขอไปยังเซิร์ฟเวอร์ได้

  4. โทเคนยังคงใช้งานได้จนกว่าจะหมดอายุ ทำให้สามารถเข้าถึงทรัพยากรของเซิร์ฟเวอร์ได้

การยืนยันตัวตน HMAC

  1. เซิร์ฟเวอร์สร้างคู่กุญแจ: กุญแจสาธารณะ (Public APP ID) และกุญแจส่วนตัว (API Key)

  2. ด้านไคลเอ็นต์ สร้างลายเซ็น (HMAC) โดยใช้กุญแจเหล่านี้และคุณสมบัติต่างๆ ที่แสดงในแผนภาพ

  3. ไคลเอ็นต์ส่งคำขอไปยังเซิร์ฟเวอรพร้อมกับลายเซ็น HMAC ใน HTTP Header

  4. เซิร์ฟเวอร์รับคำขอและแยกคุณสมบัติเพื่อสร้างลายเซ็น (HMAC B) โดยใช้ API Key ที่เก็บไว้

  5. เซิร์ฟเวอร์เปรียบเทียบ HMAC A (จากไคลเอ็นต์) และ HMAC B (จากเซิร์ฟเวอร์) หากตรงกัน เซิร์ฟเวอร์จะตอบสนองคำขอ

คำถาม: HMAC รักษาความสมบูรณ์ของข้อมูลได้อย่างไร ทำไมเราจึงรวม "เวลาส่งคำขอ" ใน HMAC

คำตอบ: HMAC รักษาความสมบูรณ์ของข้อมูลโดยการสร้างลายเซ็นเฉพาะตามข้อมูลคำขอและกุญแจ ดังนั้นหากข้อมูลใดๆ ถูกเปลี่ยนแปลง ลายเซ็นจะไม่ตรงกัน การรวม "เวลาส่งคำขอ" ช่วยป้องกันการโจมตีแบบเล่นซ้ำ (คำขอเก่าถูกนำมาใช้ซ้ำ) เนื่องจากลายเซ็นมีผลเฉพาะในเวลาที่กำหนด

โปรดทราบว่าเวอร์ชันภาษาไทยได้รับการช่วยเหลือจาก AI ดังนั้นอาจมีข้อผิดพลาดเล็กน้อย

ผู้เขียน

Ai-Banking-NetworkSecurity (ABN), ABN ASIA ถูกก่อตั้งขึ้นโดยคนที่มีรากฐานลึกในวงการวิชาการ มีประสบการณ์การทำงานในสหรัฐอเมริกา ดัตช์ ฮังการี ญี่ปุ่น เกาหลีใต้ สิงคโปร์ และเวียดนาม ABN Asia เป็นที่เราพบกันของวิทยาลัยและเทคโนโลยี ด้วยโซลูชันขั้นสูงและบริการพัฒนาซอฟต์แวร์ที่มีความสามารถ เราช่วยธุรกิจเติบโตและเข้าสู่ฉากโลก ความมุ่งมั่นของเรา: ด่วนขึ้น ดีขึ้น น่าเชื่อถือมากขึ้น ในกรณีส่วนมาก: ราคาถูกด้วย

หากคุณต้องการบริการ IT การให้คำปรึกษาดิจิทัล โซลูชันซอฟต์แวร์ใช้ได้หรือหากคุณต้องการส่งคำขอข้อเสนอ (RFPs) อย่าลังเลที่จะติดต่อเรา คุณสามารถติดต่อเราได้ที่ [email protected] เราพร้อมช่วยเหลือคุณด้านทุกความต้องการทางเทคโนโลยีของคุณทุกเมื่อ

ABNAsia.org

© ABN ASIA