การพิสูจน์ตัวตนโดยใช้การเข้ารหัสและการถอดรหัสโดยใช้ Public Key Cryptogtaphy
ก่อนที่จะส่งข้อมูล หากผู้ส่งเข้ารหัสข้อมูลด้วย Private Key ของผู้ส่ง ผู้ที่รับข้อมูลสามารถถอดรหัสได้โดยใช้ Public Key ของผู้ส่งเท่านั้น (ไม่สามารถที่จะถอดรหัสโดยใช้ Key อื่น) ดังนั้นผู้รับข้อมูลถึงสามารถที่แน่ใจได้ว่าผู้ส่งข้อมูลเป็นตัวจริง (เนื่องจากเป็นเจ้า Private Key) อย่างไรก็ตามถึงแม้วิธีการนี้จะมีความปลอดภัย แต่ก็มีจุดอ่อนคือ ไม่สามารถสร้างความมั่นใจได้ว่า Private Key ของผู้ส่งที่อยู่กับผู้รับนั้นเป็นของจริงหรือไม่ เพราะมันอาจจะเป็น Private Key ของแฮกเกอร์แต่แอบอ้างว่าเป็น Private Key ของผู้ส่งก็ได้ ปัญหานี้สามารถแก้ไขได้โดยเปลี่ยนมาใช้ลายมือชื่อดิจิตอล (Digital Signature) ซึ่ง Public Key ของผู้ส่งจะได้รับการรับรองโดย CA และนอกจากนั้นหากข้อมูลที่ส่งมีขนาดใหญ่มากจะทำให้ระบบทำงานได้ช้า (เนื่องจากไม่มีการแฮชข้อมูล)
การพิสูจน์ตัวตนโดยใช้ลายมือชื่ออิเล็กทรอนิกส์ (Digital Signature)
การพิสูจน์ตัวตนโดยการใช้ลายมือชื่อดิจิตอล (Digital Signature) เป็นการนำหลักของระบบการเข้ารหัสแบบอสมมาตร (Asymmetric) มาใช้เพื่อการพิสูจน์ตัวตน และมี CA (Certificate Authority) รับรอง Public Key ของผู้ส่ง ส่วนฝั่งผู้รับซึ่งเชื่อถือใน CA อยู่แล้ว (มี Public Key ของ CA ใน Trust Root) ก็สามารถที่จะใช้ Public Key ของ CA เพื่อพิสูจน์ว่า Public Key ของผู้ส่งนั้นเป็นของจริงได้ (สามารถถอดรหัสโดยใช้ Public Key ของ CA ได้แสดงว่าถูกเข้ารหัสด้วย Private Key ของ CA ซึ่งก็แสดงว่า Key นั้นคือของจริง) ระบบของลายเซ็นดิจิตอลสามารถแบ่งเป็นขั้นตอนได้ ดังนี้
1. เมื่อผู้ใช้ต้องการจะส่งข้อมูลไดยังผู้รับ ข้อมูลจะถูกนำไปผ่านแฮชฟังก์ชั่นเสียก่อนได้เมสเซจไดเจสต์ (Message Digest)
2. ผู้ส่งใช้ Private Key ของตนเองเข้ารหัสเมสเซจไดเจสต์ ซึ่งถือว่าผู้ส่งได้สร้าง “ลายเซ็นดิจิตอล” จากนั้นก็
ส่งลายเซ็น ดิจิตอลไปพร้อมกับข้อมูลจริง (ซึ่งข้อมูลจริงอาจจะมีขนาดใหญ่)
3. ผู้รับตรวจสอบว่าข้อมูลถูกส่งมาจากผู้ส่งคนนั้นจริงหรือไม่ โดยการนำข้อมูลมาผ่านแฮชฟังก์ชั่นเพื่อคำนวณหาค่า เมสเซจไดเจสต์ ในขณะเดียวกันก็ถอดรหัสลายมือชื่อดิจิตอลด้วย Public Key ของผู้ส่ง ถ้าสามารถอดรหัสได้ อย่าง ถูกต้องและตรงกันกับเมสเซจไดเจสต์ ก็สามารถยืนยันได้ว่าข้อมูลนั้นถูกส่งมาจากผู้ส่งคนนั้นจริง
การพิสูจน์ตัวตนโดยใช้การถาม-ตอบ
การพิสูจน์ตัวตนโดยใช้การถาม-ตอบ มีการใช้งานมาตั้งแต่สมัยโบราณ ตัวอย่างเช่น ในระหว่างการทำสงคราม ทหารที่มีหน้าที่ยืนเฝ้าประตูเมืองจะต้องมีการสอบถามคนแปลกหน้าก่อนที่จะให้ผ่านเข้ามา เพื่อเป็นการพิสูจน์ว่าเป็นคนในเมืองนั้นจริงหรือไม่ เพราะอาจจะเป็นข้าศึกปลอมตัวเข้ามาก็ได้ หรือในกรณีที่เราสนทนาผ่านอินเตอร์เน็ตกับคนที่เรารู้จัก (เช่น สนทนาผ่านทางโปรแกรม MSN) หากเราสงสัยว่าคู่สนทนาเราไม่ใช่ตัวจริง โดยอาจจะมีผู้อื่นแอบเอารหัสผ่านของคนนั้นมาใช้ เราก็สามารถพิสูจน์ได้ว่าเป็นตัวจริงหรือตัวปลอมโดยตั้งคำถามที่ตัวจริงเท่านั้นที่จะรู้คำตอบ หรืออาจจะต้องตั้งคำถามหลายข้อเพื่อให้แน่ใจ เป็นต้น
โพรโทรคอลในการพิสูจน์ตัวตน
ในระบบเครือข่ายคอมพิวเตอร์จำเป็นที่จะต้องใช้โปรโตคอลในการพิสูจน์ตัวตน โดยแต่ละโปรโตคอลจะถูกนำมาใช้ในสภาวะแวดล้อมที่ต่างกัน ตัวอย่างของโปรโตคอลในการพิสูจน์ตัวตน ได้แก่
Secure Socket Layer (SSL) นิยมนำมาใช้กับ e-commerce เช่น HTTPS หรือการรับเมล์ ผ่าน SSL เป็นต้
Secure Shell (SSH) นำมาใช้เพื่อทดแทนโปรโตคอลเดิมที่ไม่ปลอดภัย เช่น Telne
Internet Security (IPSEC) นำมาใช้เพื่อเพิ่มความปลอดภัยให้กับโปรโตคอล IP เช่น การเชื่อมต่อผ่านทาง VPN
Kerberos เป็นโปรโตคอลที่ใช้ในการตรวจสอบตัวตนของเครื่องแม่ข่าย ซึ่งใช้งานได้ทั้งบนเครือข่าย Linux และ Windows