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

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

ในโพสต์นี้ เราจะพิจารณาวิธีการทั่วไปสองวิธีในการรักษาความปลอดภัยการเข้าถึง API:
การยืนยันตัวตนโดยใช้โทเคน
การยืนยันตัวตน HMAC (Hash-based Message Authentication Code)
แผนภาพด้านล่างแสดงวิธีการทำงานของแต่ละวิธี
การยืนยันตัวตนโดยใช้โทเคน
ผู้ใช้ป้อนรหัสผ่านบนไคลเอ็นต์ ซึ่งส่งไปยังเซิร์ฟเวอร์ยืนยันตัวตน
เซิร์ฟเวอร์ยืนยันรหัสผ่านและสร้างโทเคนที่มีเวลาหมดอายุ
ไคลเอ็นต์สามารถใช้โทเคนนี้ใน HTTP Header เพื่อส่งคำขอไปยังเซิร์ฟเวอร์ได้
โทเคนยังคงใช้งานได้จนกว่าจะหมดอายุ ทำให้สามารถเข้าถึงทรัพยากรของเซิร์ฟเวอร์ได้
การยืนยันตัวตน HMAC
เซิร์ฟเวอร์สร้างคู่กุญแจ: กุญแจสาธารณะ (Public APP ID) และกุญแจส่วนตัว (API Key)
ด้านไคลเอ็นต์ สร้างลายเซ็น (HMAC) โดยใช้กุญแจเหล่านี้และคุณสมบัติต่างๆ ที่แสดงในแผนภาพ
ไคลเอ็นต์ส่งคำขอไปยังเซิร์ฟเวอรพร้อมกับลายเซ็น HMAC ใน HTTP Header
เซิร์ฟเวอร์รับคำขอและแยกคุณสมบัติเพื่อสร้างลายเซ็น (HMAC B) โดยใช้ API Key ที่เก็บไว้
เซิร์ฟเวอร์เปรียบเทียบ HMAC A (จากไคลเอ็นต์) และ HMAC B (จากเซิร์ฟเวอร์) หากตรงกัน เซิร์ฟเวอร์จะตอบสนองคำขอ
คำถาม: HMAC รักษาความสมบูรณ์ของข้อมูลได้อย่างไร ทำไมเราจึงรวม "เวลาส่งคำขอ" ใน HMAC
คำตอบ: HMAC รักษาความสมบูรณ์ของข้อมูลโดยการสร้างลายเซ็นเฉพาะตามข้อมูลคำขอและกุญแจ ดังนั้นหากข้อมูลใดๆ ถูกเปลี่ยนแปลง ลายเซ็นจะไม่ตรงกัน การรวม "เวลาส่งคำขอ" ช่วยป้องกันการโจมตีแบบเล่นซ้ำ (คำขอเก่าถูกนำมาใช้ซ้ำ) เนื่องจากลายเซ็นมีผลเฉพาะในเวลาที่กำหนด
โปรดทราบว่าเวอร์ชันภาษาไทยได้รับการช่วยเหลือจาก AI ดังนั้นอาจมีข้อผิดพลาดเล็กน้อย
ผู้เขียน
Ai-Banking-NetworkSecurity (ABN), ABN ASIA ถูกก่อตั้งขึ้นโดยคนที่มีรากฐานลึกในวงการวิชาการ มีประสบการณ์การทำงานในสหรัฐอเมริกา ดัตช์ ฮังการี ญี่ปุ่น เกาหลีใต้ สิงคโปร์ และเวียดนาม ABN Asia เป็นที่เราพบกันของวิทยาลัยและเทคโนโลยี ด้วยโซลูชันขั้นสูงและบริการพัฒนาซอฟต์แวร์ที่มีความสามารถ เราช่วยธุรกิจเติบโตและเข้าสู่ฉากโลก ความมุ่งมั่นของเรา: ด่วนขึ้น ดีขึ้น น่าเชื่อถือมากขึ้น ในกรณีส่วนมาก: ราคาถูกด้วย
หากคุณต้องการบริการ IT การให้คำปรึกษาดิจิทัล โซลูชันซอฟต์แวร์ใช้ได้หรือหากคุณต้องการส่งคำขอข้อเสนอ (RFPs) อย่าลังเลที่จะติดต่อเรา คุณสามารถติดต่อเราได้ที่ [email protected] เราพร้อมช่วยเหลือคุณด้านทุกความต้องการทางเทคโนโลยีของคุณทุกเมื่อ

© ABN ASIA