คีย์สมมาตร (Symmetric Key) คือคีย์เดียวที่ใช้ทั้งการเข้ารหัสและถอดรหัสข้อมูล หมายความว่าต้องใช้คีย์เดียวกับที่ใช้เข้ารหัสในการถอดรหัส การเข้ารหัสแบบสมมาตรมักมีประสิทธิภาพมากกว่าการเข้ารหัสแบบอสมมาตร จึงเหมาะสำหรับการแลกเปลี่ยนข้อมูลปริมาณมาก
การสร้างคีย์ร่วม (Shared Key) โดยใช้เฉพาะอัลกอริทึมการเข้ารหัสแบบสมมาตรอาจซับซ้อน ดังนั้นในบางกรณี จะใช้การเข้ารหัสแบบอสมมาตรเพื่อสร้างคีย์ร่วมระหว่างสองฝ่าย
อัลกอริทึมมาตรฐานการเข้ารหัสข้อมูล (DES - Digital Encryption Standard) เป็นวิธีการเข้ารหัสแบบคีย์สมมาตรที่ใช้กันอย่างแพร่หลายในระบบสมาร์ทการ์ด วิธีนี้ต้องการคีย์เข้ารหัสลับที่จัดเก็บไว้ และอัลกอริทึม DES สาธารณะในแต่ละสมาร์ทการ์ดและอุปกรณ์ยอมรับการ์ด (CAD - Card Acceptor Device) มีขั้นตอนการยืนยันตัวตนด้วยคีย์สมมาตรดังนี้:
- สมาร์ทการ์ดส่งหมายเลขซีเรียลไมโครโปรเซสเซอร์ (I) ไปยัง CAD ซึ่งนำหมายเลขดังกล่าวมารวมกับคีย์หลัก (Master Key - Mk) เพื่อสร้างคีย์ที่หลากหลาย (Diversified Key - K) ของสมาร์ทการ์ด ผู้ออกการ์ดโหลดคีย์ที่หลากหลายเข้าไปในสมาร์ทการ์ดทุกใบระหว่างการเริ่มต้นการทำงาน
- CAD สร้างตัวเลขสุ่ม (R) แล้วเข้ารหัส R เพื่อสร้างค่า Y ที่ส่งเป็นการท้าทาย (Challenge) ไปยังสมาร์ทการ์ด
- สมาร์ทการ์ดถอดรหัส Y สร้างคำตอบ (X) และส่ง X กลับไปยัง CAD
- CAD เปรียบเทียบ R และ X ยอมรับการ์ดหากค่าทั้งสองตรงกัน
อัลกอริทึม Telepass 1
อัลกอริทึม Telepass 1 เป็นอัลกอริทึมที่ใช้สำหรับการยืนยันตัวตนสมาร์ทการ์ด อัลกอริทึมนี้ต้องการคีย์ลับที่หลากหลาย เนื้อหาของคำเฉพาะในหน่วยความจำของสมาร์ทการ์ด และค่าสุ่มภายนอกเพื่อคำนวณคำตอบต่อการท้าทายการยืนยันตัวตน อัลกอริทึม Telepass 1 รองรับฟังก์ชันความลับของข้อมูลในการแจกจ่ายคีย์ และความสมบูรณ์ของข้อมูลผ่านรหัสยืนยันข้อความ (Message Authentication Codes)
การหลากหลายของคีย์ (Key Diversification)
ในระบบคีย์สมมาตร คีย์ลับในแต่ละสมาร์ทการ์ดควรเป็นเอกภาพ เพื่อให้การค้นพบคีย์ไม่ส่งผลกระทบต่อระบบทั้งหมด การหลากหลายของคีย์รองรับคีย์เข้ารหัสที่ไม่ซ้ำกันสำหรับแต่ละสมาร์ทการ์ดระหว่างการทำให้เป็นส่วนตัว (Personalization) ระบบสร้างคีย์ที่หลากหลายจากชุดของคีย์หลักระบบและลักษณะเฉพาะของการ์ดที่ไม่ซ้ำกัน เช่น หมายเลขซีเรียลไมโครโปรเซสเซอร์
CAD จะมีสำเนาของคีย์หลักเพื่อที่จะสามารถสร้างคีย์ที่เปลี่ยนแปลงได้สำหรับแต่ละสมาร์ทการ์ด การถูกโจมตีของคีย์ที่หลากหลายมีผลกระทบน้อยต่อระบบ หากพบการถูกโจมตีและสามารถนำการ์ดออกจากระบบได้ แต่การถูกโจมตีของคีย์หลักอาจมีผลร้ายแรง
การถูกโจมตีของคีย์หลักจะต้องโหลดคีย์ใหม่ให้กับการ์ดทั้งหมด ซึ่งมีค่าใช้จ่ายสูงและก่อให้เกิดความไม่สะดวกต่อผู้ใช้ เพื่อป้องกันการถูกโจมตีของคีย์ CAD อาจมีโมดูลความปลอดภัยพร้อมหน่วยความจำที่ปลอดภัย (เช่น สมาร์ทการ์ด) ที่จัดเก็บคีย์หลักไว้