คู่มือคำสั่งสมาร์ตการ์ด ISO 7816-4

August 18, 2024 1073 ความคิดเห็น

ดาวน์โหลด  ISO 7816-4 Standard



ภาพนี้แสดงให้เห็นถึง ISO 7816-4 Smart บัตร Command Guide ของการสแกนแบบไม่สัมผัสสำหรับการใช้งานด้าน Standards & Protocols



ISO 7816-4 กำหนดอะไร

ISO 7816-4 เป็นส่วนที่ใช้งานได้จริงที่สุดส่วนหนึ่งในตระกูล ISO/IEC 7816 เนื่องจากอธิบายถึงวิธีการที่อุปกรณ์อินเทอร์เฟซและบัตรวงจรรวมแลกเปลี่ยนคำสั่งและคำตอบระดับแอปพลิเคชัน ขณะที่ ISO 7816-3 เน้นที่สัญญาณไฟฟ้าและโปรโตคอลการส่งข้อมูล ISO 7816-4 ทำงานอยู่เหนือชั้นนั้นขึ้นไป โดยให้ภาษาคำสั่งร่วมสำหรับแอปพลิเคชันบนบัตร ครอบคลุมการเลือกไฟล์ การเข้าถึงข้อมูลแบบไบนารี การจัดการเรกคอร์ด การรองรับการพิสูจน์ตัวตน การส่งข้อความแบบปลอดภัย และการรายงานสถานะคำตอบ

มาตรฐานนี้มีความสำคัญสำหรับบัตรสมาร์ทการ์ดแบบสัมผัสที่ใช้ในงานidentification การธนาคาร การควบคุมการเข้าถึง การขนส่ง สุขภาพ การสะสมแต้ม และโครงการข้อมูลรับรองที่ปลอดภัย สำหรับผู้ผลิต ผู้รวมระบบ และนักพัฒนาซอฟต์แวร์ มาตรฐานนี้ช่วยลดความคลุมเครือระหว่างบัตร เครื่องอ่าน และแอปพลิเคชัน บัตรอาจยังมีตรรกะเฉพาะของผู้ผลิต แต่ ISO 7816-4 ให้กรอบการทำงานร่วมกันเพื่อให้คำสั่งสามารถจัดโครงสร้าง ตีความ และทดสอบได้อย่างคาดเดาได้

โครงสร้างข้อความ APDU

หน่วยการสื่อสารหลักใน ISO 7816-4 คือ APDU หรือ Application Protocol Data Unit โดยทั่วไปคำสั่ง APDU ประกอบด้วยเฮดเดอร์ขนาด 4 ไบต์ซึ่งประกอบด้วย CLA, INS, P1 และ P2 โดย CLA ระบุคลาสของคำสั่งและอาจมีข้อมูลเกี่ยวกับลอจิคัลแชนเนลหรือการส่งข้อความแบบปลอดภัย INS ระบุคำสั่ง ขณะที่ P1 และ P2 ให้พารามิเตอร์ ขึ้นอยู่กับกรณีของคำสั่ง เนื้อความอาจมี Lc ฟิลด์ข้อมูล และ Le ด้วย

Lc บอกบัตรว่ามีข้อมูลกี่ไบต์ในฟิลด์ข้อมูลของคำสั่ง Le บอกบัตรว่าจำนวนไบต์สูงสุดที่คาดหวังในคำตอบคือเท่าใด ISO 7816-4 อธิบายกรณีของคำสั่งตั้งแต่ที่ไม่มีการแลกเปลี่ยนข้อมูลไปจนถึงคำสั่งที่ทั้งส่งข้อมูลและขอข้อมูลกลับ คำตอบ APDU ประกอบด้วยฟิลด์ข้อมูลแบบเลือกได้ตามด้วยไบต์สถานะบังคับสองไบต์ คือ SW1 และ SW2 ซึ่งบอกเทอร์มินัลว่าการประมวลผลสำเร็จ ล้มเหลว หรือต้องดำเนินการเพิ่มเติม

การจัดระเบียบไฟล์เชิงตรรกะ

ISO 7816-4 กำหนดโมเดลไฟล์เชิงตรรกะที่มองเห็นได้จากอินเทอร์เฟซของบัตร จุดเริ่มต้นคือ Master File หรือ MF ภายใต้ MF นั้น Dedicated Files หรือ DFs สามารถจัดกลุ่มแอปพลิเคชันหรือสภาพแวดล้อมข้อมูลได้ Elementary Files หรือ EFs ใช้เก็บข้อมูลจริง EF บางรายการเป็นแบบโปร่งใสและเข้าถึงด้วยออฟเซต ขณะที่ EF แบบอิงเรกคอร์ดเข้าถึงด้วยหมายเลขเรกคอร์ดหรือตัวระบุเรกคอร์ด

การจัดระเบียบนี้มีความสำคัญเนื่องจากแอปพลิเคชันสมาร์ทการ์ดจำนวนมากไม่ใช่บล็อกหน่วยความจำธรรมดา แต่อาจมีหลายแอปพลิเคชัน ออบเจ็กต์ข้อมูลส่วนบุคคล ออบเจ็กต์ความปลอดภัย เรกคอร์ดการใช้งาน หรือพื้นที่ที่ผู้ออกบัตรควบคุม คำสั่ง SELECT FILE ช่วยให้แอปพลิเคชันฝั่งเครื่องอ่านเลือกไฟล์ตามตัวระบุไฟล์ พาธ หรือชื่อ DF ได้ หลังจากเลือกแล้ว คำสั่งอย่าง READ BINARY, READ RECORD, UPDATE BINARY หรือ UPDATE RECORD สามารถดำเนินการกับข้อมูลตามกฎการเข้าถึงของบัตรได้

ออบเจ็กต์ข้อมูล การเข้ารหัส TLV และ FCI

ISO 7816-4 ยังอธิบายว่าข้อมูลสามารถแสดงได้อย่างไรที่อินเทอร์เฟซของบัตร TLV หมายถึง แท็ก, Length และ Value แท็กระบุออบเจ็กต์ ความยาวบอกว่ามีข้อมูลตามมากี่ไบต์ และค่าคือข้อมูลนั้น มาตรฐานนี้อ้างถึงโครงสร้าง BER-TLV, COMPACT-TLV และ SIMPLE-TLV ตามบริบท วิธีนี้ช่วยให้บัตรส่งคืนข้อมูลที่มีโครงสร้างได้โดยไม่บังคับให้ทุกแอปพลิเคชันต้องตีความไบต์ดิบในรูปแบบตายตัวเดียวกัน

File Control Information หรือที่มักเรียกว่า FCI ให้ข้อมูลเกี่ยวกับไฟล์ที่เลือกแก่เทอร์มินัล ซึ่งอาจรวมถึงตัวอธิบายไฟล์ ตัวระบุไฟล์ ข้อมูลขนาดไฟล์ ชื่อ DF ข้อมูลเฉพาะของผู้ผลิต และแอตทริบิวต์ความปลอดภัย ในโครงการจริง การเข้าใจ FCI ช่วยให้วิศวกรยืนยันว่าได้เลือกแอปพลิเคชันหรือไฟล์ที่ถูกต้องก่อนออกคำสั่งอ่าน เขียน หรือพิสูจน์ตัวตน

สถาปัตยกรรมความปลอดภัยและการส่งข้อความแบบปลอดภัย

ISO 7816-4 ไม่ได้กำหนดอัลกอริทึมการเข้ารหัสสากลเพียงหนึ่งเดียวสำหรับทุกบัตร แต่กำหนดว่าสถานะความปลอดภัย แอตทริบิวต์ความปลอดภัย คำสั่งที่เกี่ยวข้องกับการพิสูจน์ตัวตน และการส่งข้อความแบบปลอดภัยสามารถแสดงและใช้งานได้อย่างไร บัตรอาจต้องใช้รหัสผ่าน PIN การพิสูจน์ตัวตนด้วยคีย์ หรือการส่งข้อความแบบปลอดภัยก่อนอนุญาตให้เข้าถึงไฟล์หรือคำสั่ง คำสั่งที่จัดรูปแบบถูกต้องอาจยังถูกปฏิเสธได้หากยังไม่ถึงสถานะความปลอดภัยที่ต้องการ

คำสั่งอย่าง VERIFY, GET CHALLENGE, INTERNAL AUTHENTICATE และ EXTERNAL AUTHENTICATE รองรับขั้นตอนความปลอดภัยที่พบบ่อย การส่งข้อความแบบปลอดภัยสามารถปกป้องข้อมูลคำสั่งและคำตอบด้วยกลไกสำหรับความสมบูรณ์ การพิสูจน์ตัวตน และความลับ ขึ้นอยู่กับการนำไปใช้ สำหรับการปรับแต่งบัตร การควบคุมการเข้าถึง และการออกข้อมูลรับรอง กฎเหล่านี้ช่วยแยกการดำเนินการกับข้อมูลสาธารณะออกจากการดำเนินการที่ได้รับการป้องกัน

เหตุใด ISO 7816-4 จึงสำคัญในโครงการบัตรและเครื่องอ่าน

สำหรับโรงงานผลิตบัตร ISO 7816-4 ไม่ใช่เพียงเอกสารอ้างอิงโปรโตคอลเท่านั้น แต่มีผลต่อวิธีปรับแต่งแอปพลิเคชัน วิธีเขียนสคริปต์ทดสอบ วิธีตรวจสอบความเข้ากันได้ของเครื่องอ่าน และวิธีที่ระบบของลูกค้าสื่อสารกับบัตรที่ออกให้ เมื่อผลิต บัตร IC แบบสัมผัสวิศวกรมักต้องยืนยันโครงสร้างไฟล์ พฤติกรรม APDU การแมปสถานะเวิร์ด และเงื่อนไขการเข้าถึงก่อนการผลิตจำนวนมาก

ตรรกะเดียวกันนี้มีประโยชน์เมื่อชิปแบบสัมผัสถูกฝังในข้อมูลรับรองแบบพิมพ์ บัตรสมาชิก หรือสื่อระบุตัวตนที่ปลอดภัย โครงการที่ใช้ บัตร PVC กับโมดูล IC แบบสัมผัสจำเป็นต้องมีการจัดการคำสั่งที่เสถียรระหว่างชิปบัตรและเทอร์มินัล ซัพพลายเออร์เครื่องอ่านและผู้รวมระบบยังต้องตรวจสอบว่า เครื่องอ่านบัตรแบบสองอินเทอร์เฟซ ของตนจัดการการแลกเปลี่ยน APDU ไฟล์ที่เลือก ความยาวคำตอบ และสถานะเวิร์ดได้อย่างถูกต้องในทุกแอปพลิเคชัน

การทบทวน ISO 7816-4 ในทางปฏิบัติควรมองทั้งสองด้านของระบบ ด้านบัตร ต้องจัดทำเอกสารลำดับชั้นไฟล์ คำสั่งที่รองรับ ข้อกำหนดด้านความปลอดภัย และสถานะเวิร์ดที่คาดหวัง ด้านเครื่องอ่าน แอปพลิเคชันควรสร้าง APDU ที่ถูกต้อง จัดการความยาวที่รองรับ แยกวิเคราะห์ข้อมูล TLV อย่างถูกต้อง และตอบสนองต่อสถานะเวิร์ดอย่างเหมาะสม เช่น สำเร็จ ความยาวผิด สถานะความปลอดภัยไม่เป็นไปตามเงื่อนไข หรือไม่พบไฟล์

คำสั่ง ISO 7816-4 ที่พบบ่อย

คำสั่งหลายรายการปรากฏบ่อยในงานสมาร์ทการ์ดจริง SELECT FILE ใช้เลือกแอปพลิเคชันหรือไฟล์ที่จะทำงานด้วย READ BINARY และ UPDATE BINARY ใช้กับไฟล์แบบโปร่งใส READ RECORD, APPEND RECORD และ UPDATE RECORD ใช้กับไฟล์แบบอิงเรกคอร์ด GET DATA และ PUT DATA จัดการออบเจ็กต์ข้อมูล VERIFY มักเกี่ยวข้องกับการตรวจสอบ PIN หรือรหัสผ่าน GET CHALLENGE และคำสั่งพิสูจน์ตัวตนรองรับขั้นตอนการเข้ารหัส MANAGE CHANNEL ใช้เมื่อลอจิคัลแชนเนลอนุญาตให้รักษาหลายเซสชันไว้พร้อมกัน

คำถามที่พบบ่อย

ISO 7816-4 ใช้ทำอะไร

ISO 7816-4 ใช้กำหนดว่าสมาร์ทการ์ดและเทอร์มินัลแลกเปลี่ยนคำสั่งและคำตอบระหว่างอุตสาหกรรมอย่างไร ครอบคลุมโครงสร้าง APDU การจัดระเบียบไฟล์ การเข้าถึงข้อมูล ไบต์สถานะ แนวคิดการส่งข้อความแบบปลอดภัย และบริการที่ไม่ขึ้นกับแอปพลิเคชัน เป็นรากฐานสำหรับระบบสมาร์ทการ์ดแบบสัมผัสหลายระบบที่ต้องการการสื่อสารที่เชื่อถือได้ระหว่างชิปบัตรและซอฟต์แวร์เครื่องอ่าน

ISO 7816-4 ใช้กับสมาร์ทการ์ดแบบสัมผัสเท่านั้นหรือไม่

ISO 7816 มีความเกี่ยวข้องหลักกับบัตรวงจรรวมแบบสัมผัส และ ISO 7816-4 อยู่ในตระกูลนั้น อย่างไรก็ตาม การสื่อสารแบบ APDU ก็เป็นที่คุ้นเคยในสภาพแวดล้อมสมาร์ทการ์ดและ secure element ที่กว้างขึ้นหลายแห่ง วิศวกรยังคงต้องยืนยันอินเทอร์เฟซทางกายภาพและชั้นการส่งข้อมูลแยกต่างหาก เนื่องจาก ISO 7816-4 เน้นที่การจัดระเบียบคำสั่งและคำตอบมากกว่ารายละเอียดของเสาอากาศ วิทยุ หรือไฟฟ้า

APDU ใน ISO 7816-4 คืออะไร

APDU คือ Application Protocol Data Unit คำสั่ง APDU นำคำสั่งจากอุปกรณ์อินเทอร์เฟซไปยังบัตร ขณะที่คำตอบ APDU นำข้อมูลที่ส่งคืนและไบต์สถานะจากบัตรกลับไปยังอุปกรณ์อินเทอร์เฟซ APDU เป็นศูนย์กลางของการเลือกไฟล์ การอ่านข้อมูล การอัปเดตข้อมูล การตรวจสอบเงื่อนไขความปลอดภัย และการจัดการขั้นตอนของแอปพลิเคชันบนบัตร

SW1 และ SW2 หมายถึงอะไร

SW1 และ SW2 คือไบต์สถานะสองไบต์ที่ส่วนท้ายของคำตอบ APDU โดยอธิบายผลลัพธ์ของการประมวลผลคำสั่ง ตัวอย่างเช่น อาจบ่งชี้ว่าดำเนินการสำเร็จ ความยาวผิด ไม่พบไฟล์ คำสั่งไม่รองรับ หรือสถานะความปลอดภัยไม่เป็นไปตามเงื่อนไข การจัดการไบต์เหล่านี้อย่างถูกต้องเป็นสิ่งจำเป็นสำหรับซอฟต์แวร์เครื่องอ่านที่แข็งแกร่งและการทดสอบการผลิต

ISO 7816-4 จัดการไฟล์บนบัตรอย่างไร

มาตรฐานนี้อธิบายลำดับชั้นเชิงตรรกะที่ประกอบด้วย Master File, Dedicated Files แบบเลือกได้ และ Elementary Files โดย Elementary Files อาจเป็นแบบโปร่งใสหรือแบบอิงเรกคอร์ด เทอร์มินัลมักเลือกไฟล์ก่อนแล้วจึงดำเนินการกับไฟล์ เช่น อ่านข้อมูลไบนารี อ่านเรกคอร์ด อัปเดตข้อมูล หรือดึงข้อมูลควบคุมไฟล์ ขึ้นอยู่กับคำสั่งและสิทธิ์ที่รองรับ

ISO 7816-4 กำหนดอัลกอริทึมการเข้ารหัสหรือไม่

ไม่ ISO 7816-4 กำหนดโครงสร้างคำสั่ง แนวคิดสถานะความปลอดภัย รูปแบบการส่งข้อความแบบปลอดภัย และการรองรับคำสั่งที่เกี่ยวข้องกับการพิสูจน์ตัวตน แต่ไม่ได้ระบุอัลกอริทึมการเข้ารหัสเฉพาะเจาะจงหนึ่งเดียวสำหรับทุกบัตร อัลกอริทึมจริง วิธีการจัดการคีย์ และนโยบายของแอปพลิเคชันมักถูกกำหนดโดยระบบปฏิบัติการของบัตร ข้อกำหนดของผู้ออกบัตร หรือโปรไฟล์ความปลอดภัยของโครงการ

เหตุใด ISO 7816-4 จึงสำคัญต่อการผลิตบัตร

ช่วยให้ผู้ผลิตและผู้รวมระบบตรวจสอบว่าผลิตภัณฑ์บัตรมีพฤติกรรมที่คาดเดาได้ระหว่างการปรับแต่ง การทดสอบเครื่องอ่าน และการติดตั้งระบบ หากการเลือกไฟล์ การจัดการความยาว APDU ไบต์สถานะ และเงื่อนไขความปลอดภัยไม่สอดคล้องกัน แม้บัตรที่ถูกต้องทางกายภาพก็อาจล้มเหลวในเทอร์มินัลของลูกค้าได้ ISO 7816-4 ให้เอกสารอ้างอิงทางเทคนิคร่วมสำหรับการแก้ไขปัญหาและการทดสอบการยอมรับ

รหัสยืนยัน