การส่งข้อมูลระหว่างกันของเซิร์ฟเวอร์โดยปกตินั้นสามารถถูกดักจับได้ด้วยผู้ไม่หวังดี จึงมีสิ่งหนึ่งที่เข้ามาช่วยแก้ปัญหาด้านนี้ได้บ้างก็คือ "การเข้ารหัสข้อมูล (encoding data)" ด้วยเหตุนี้เองในบล็อคนี้ ผมจึงมาแนะนำการเข้ารหัสในรูปแบบหนึงซึ่งเรียกว่า JWT มันคืออะไรนั้นมาดูกันเลย
JWT ย่อมาจาก JSON Web Token เป็นมาตรฐานเปิด (RFC7519) ที่เข้ามาแก้ปัญหาการส่งข้อมูลระหว่างกันอย่างปลอดภัยโดยที่ถูกออกแบบให้มีขนาดที่กระทัดรัดและเก็บข้อมูลภายในตัวมีหน้าตาเป็นชุดตัวอักษรชุดหนึ่งแบ่ง
เป็น 3 ส่วน
1. Header คือส่วนที่บอกว่าข้อความชุดนี้เข้ารหัสเแบบใดอยู่ หรือมีข้อกำหนดอะไรอยู่บ้าง
1. Header คือส่วนที่บอกว่าข้อความชุดนี้เข้ารหัสเแบบใดอยู่ หรือมีข้อกำหนดอะไรอยู่บ้าง
2. Payload เก็บข้อมูลจริง ๆ เช่น User ID, Roles ของผู้ใช้, E-mail ผู้ใช้เพื่อระบุตัวตน
3. Signature
เป็น digital signed เอาไว้ตรวจสอบว่า token
ถูกสร้างขึ้นมาอย่างถูกต้องเพราะข้อมูลใน payload นั้นสามารถเปลี่ยนแปลงโดยบุคคลที่สามหากมีการเปลี่ยนแปลงข้อมูลขึ้นมาจะทำให้ signature ไม่ตรงกันกับ token ดังกล่าวจะถูกตรวจพบว่าไม่น่าเชื่อถือและไม่นำมาใช้งานในระบบ
จากรูปจะแสดงส่วนประกอบต่างๆของ JWT ประกอบไปด้วยส่วน header เก็บข้อความที่บอกว่าข้อความ ชุดนี้จะถูกเข้ารหัสโดยใช้อัลกอริทึม HS256
ข้อมูลใน payload ประกอบไปด้วย subname
และ admin ส่วน signature คือ secret แม้ payload ที่ส่งระหว่างกันจะถูกเข้ารหัสไว้
payload นั้นก็ยังคงสามารถถอดรหัสได้ดังนั้นการเก็บข้อมูล ใน payload
ควรเก็บข้อมูลที่จำเป็นในการระบุตัวตนเท่านั้นไม่ควรเก็บข้อมูลสำคัญอย่างเช่น
password, รหัสบัตร ATM เป็นต้น
อย่างไรก็ตามการใช้ JWT ในการแลกเปลี่ยนข้อมูลระหว่าง application
กับ server ยังคงมีความปลอดภัยต้อการเข้าใช้งานระบบกล้องวิดีโอวงจรปิดเนื่องจาก
token ดังกล่าวมีเวลาหมดอายุการใช้งาน
ตัวอย่างการเขียนโค้ด การเข้ารหัสแบบ JWT ด้วยภาษา python กับ PyJWT
ก่อนอื่นต้องติดตั้ง package ก่อนนะครับ
The online casino for real money - Kalamba Hotels
ตอบลบWith over a 샌즈카지노 thousand games you 1xbet can enjoy in online casino games, there are countless types of online casinos. And you can enjoy the thrill of kadangpintar gambling