3 ก.พ. 2023 เวลา 02:28 • ไอที & แก็ดเจ็ต

Certificate Pinning

Certificate Pinning เป็นคำที่ใช้เรียกการ Pin หรือปัก Cert ไว้กับแอปมือถือ ถ้า Cert ผิดไปจากที่ปักไว้ จะไม่ยอมให้ใช้งาน
เล่าพื้นฐานหน่อย คือการเชื่อมต่อผ่านช่องทางเว็บหรือ API มันก็จะมีอยู่ 2 อันหลักๆ คือ HTTP กับ HTTPS ซึ่งก็คือไม่มีการเข้ารหัสกับเข้ารหัสอย่างที่รู้ๆกัน
ตัว HTTPS ที่มีการเข้ารหัสใน มันก็จะใช้ กุญแจ ในการเข้ารหัส กุญแจนั้นเรียกอีกอย่างเป็นทางการหน่อยว่า Certificate หรือใบรับรอง เข้ารหัสจากต้นทางไปแกะที่ปลายทาง ระหว่างทางก็อ่านไม่ออก
ปกติเวลาเราเข้าเว็บ มันก็จะไปตรวจสอบว่าใบรับรองที่ใช้เนี่ย มันถูกต้องน่าเชื่อถือไหม โดยการไปถามจากคนอื่นต่ออีกทีนึง คนอื่นที่มันไปถามเนี่ยชื่อว่า CA : Certificate Authority คือเป็นคนที่มีอำนาจออกใบรับรองได้
ถ้าไปถามแล้ว เออ ใบรับรองนี้ CA บอกว่าถูกต้อง เชื่อถือได้ ก็ใช้งานได้ตามปกติ
แต่ถ้าถามแล้ว CA บอกไม่รู้จักใบรับรองนี้ในสารบบ ปลอมมา หรือไม่ได้รับรอง ตัวเว็บบราวเซอร์จะไม่ยอมให้ใช้งานหน้าเว็บนั้น ถ้าอยากเข้าจริงๆมันก็เข้าได้แหละ แต่จะมีคำเตือนแดงๆว่าเว็บไม่ปลอดภัย
แอปมือถือก็เช่นกัน ถ้าพบว่า Cert ไม่ปลอดภัยมันก็ไม่ยอมให้ใช้งาน
ทีนี้ว่าถ้าหากคนโจมตีเนี่ย เขาทำด้วยประการใดๆก็ตาม ให้เว็บบราวเซอร์มันเชื่อถือตัวใบ Cert ปลอมๆ ที่เขาทำขึ้นมานี่ได้ มันก็เป็นความเสี่ยงว่าเขาสามารถใช้ Cert หรือกุญแจเนี่ย เข้าถึงข้อมูลที่ส่งผ่านเขาได้หมดเลย ข้อมูลส่วนตัว รหัสผ่าน เลขบัตร ถ้าส่งมาอ่านได้หมด
ก็เลยมี Cert Pinning เกิดขึ้นมา คือให้เว็บหรือแอปจำไว้เลยว่า Cert ที่ถูกต้องเนี่ย ต้องใบนี่เท่านั้น เอาใบอื่นมาฉันไม่รับ
มันก็ง่ายๆ เช่นนี้แล
ข้อต้องระวังหน่อยคือว่าถ้าใบ Cert (ที่ก็ถูกต้องแหละ) มีการเปลี่ยนแปลง หมดอายุ ออกใหม่ ก็จะทำให้เว็บหรือแอปนั้นใช้งานไม่ได้ ต้อง Pin ใบใหม่ ถึงใช้งานได้
ปล. แอปมือถือมีแน่นอน แต่แอปคุ้นๆว่าเว็บก็มี Cert Pinning เหมือนกัน concept คล้ายๆกันเนี่ยแหละ

ดูเพิ่มเติมในซีรีส์

โฆษณา