อ่าน 9 นาที
คำตอบเพื่อรีเซ็ต
ข้อความ ตอบรับการรีเซ็ต ( ATR ) เป็นข้อความที่ส่งออกมาโดย สมาร์ทการ์ดแบบ สัมผัส ที่ได้ มาตรฐาน ISO/IEC 7816 หลังจาก รีเซ็ต ชิปของการ์ดด้วยไฟฟ้าโดยใช้เครื่องอ่านการ์ด ข้อความ ATR...
คำตอบเพื่อรีเซ็ต
ข้อความตอบรับการรีเซ็ต ( ATR ) เป็นข้อความที่ส่งออกมาโดยสมาร์ทการ์ดแบบ สัมผัส ที่ได้ มาตรฐาน ISO/IEC 7816หลังจากรีเซ็ตชิปของการ์ดด้วยไฟฟ้าโดยใช้เครื่องอ่านการ์ด ข้อความ ATR จะให้ข้อมูลเกี่ยวกับพารามิเตอร์การสื่อสารที่การ์ดเสนอ รวมถึงลักษณะและสถานะของการ์ดด้วย
โดยทั่วไป ATR มักหมายถึงข้อความที่ได้รับจากสมาร์ทการ์ดในขั้นตอนการสื่อสารเบื้องต้น หรือจากเครื่องอ่านการ์ดที่ใช้ในการเข้าถึงการ์ดนั้น ซึ่งอาจแปลงข้อความของการ์ดให้เป็นรูปแบบคล้าย ATR (เช่น เกิดขึ้นกับเครื่องอ่านการ์ดPC/SC บางรุ่น [ 1 ] [ 2 ]เมื่อเข้าถึง สมาร์ทการ์ด ISO/IEC 14443 )
การมี ATR ปรากฏอยู่ มักถูกใช้เป็นข้อบ่งชี้เบื้องต้นว่าสมาร์ทการ์ดดูเหมือนจะใช้งานได้ และการตรวจสอบเนื้อหาภายในสมาร์ทการ์ดจะเป็นการทดสอบเบื้องต้นว่าเหมาะสมกับการใช้งานหรือไม่
สมาร์ทการ์ดแบบสัมผัสสื่อสารผ่านสัญญาณที่เรียกว่า อินพุต/เอาต์พุต (I/O) ได้ทั้งแบบซิงโครนัส (ส่งและรับบิตข้อมูลตามจังหวะหนึ่งบิตต่อคาบของสัญญาณนาฬิกาที่ส่งไปยังการ์ดผ่านสัญญาณ CLK) หรือ แบบอะซิง โครนัส (แลกเปลี่ยนบิตข้อมูลผ่าน I/O โดยใช้กลไกอื่นในการกำหนดขอบเขตบิต คล้ายกับการสื่อสารแบบอนุกรมอะซิงโครนัส แบบดั้งเดิม ) ทั้งสองโหมดนี้จะเลือกใช้เพียงโหมดเดียวในเซสชันการสื่อสารที่กำหนด และการ์ดส่วนใหญ่ถูกสร้างขึ้นเพื่อรองรับโหมดใดโหมดหนึ่ง สมาร์ทการ์ดแบบสัมผัสที่ใช้ไมโครโปรเซสเซอร์ส่วนใหญ่เป็นแบบอะซิงโครนัส ซึ่งใช้สำหรับโมดูลระบุตัวตนผู้สมัครใช้บริการ (SIM) สำหรับโทรศัพท์มือถือบัตรธนาคารที่มีหน้าสัมผัสที่ตรงตาม ข้อกำหนด EMV การ์ด Javaแบบสัมผัสทั้งหมดและสมาร์ทการ์ดสำหรับโทรทัศน์แบบเสียค่าบริการส่วนการ์ดที่มีหน่วยความจำอย่างเดียวโดยทั่วไปจะเป็นแบบซิงโคร นัส
ATR ในการส่งข้อมูลแบบอะซิงโครนัสและแบบซิงโครนัสมีรูปแบบและเนื้อหาที่แตกต่างกันโดยสิ้นเชิง ATR ในการส่งข้อมูลแบบอะซิงโครนัสได้รับการปรับให้เป็นมาตรฐานอย่างแม่นยำ (เพื่อให้สามารถใช้งานร่วมกันได้ระหว่างการ์ดและเครื่องอ่านจากแหล่งกำเนิดที่แตกต่างกัน) และค่อนข้างซับซ้อนในการวิเคราะห์
สมาร์ทการ์ดบางประเภท (ส่วนใหญ่เป็นแบบอะซิงโครนัส) จะส่งค่า ATR ที่แตกต่างกัน ขึ้นอยู่กับว่าการรีเซ็ตเป็นการรีเซ็ตครั้งแรกนับตั้งแต่เปิดเครื่อง ( Cold ATR ) หรือไม่ ( Warm ATR )
หมายเหตุ: Answer To Reset ไม่ควรสับสนกับ ATtRibute REQuest (ATR_REQ) และ ATtRibute RESponse (ATR_RES) ของNFCซึ่งย่อว่า ATR เช่นกัน[ 3 ] ATR_RES ถ่ายทอดข้อมูลเกี่ยวกับพารามิเตอร์การสื่อสารที่รองรับ เช่นเดียวกับ Answer To Reset แต่โครงสร้างของมันแตกต่างกัน
ATR ในการส่งสัญญาณแบบอะซิงโครนัส
มาตรฐานที่กำหนด ATR ในการส่งข้อมูลแบบอะซิงโครนัสคือ ISO/IEC 7816-3 [ 4 ]มีการใช้ชุดย่อยของข้อกำหนด ATR เต็มรูปแบบสำหรับแอปพลิเคชันสมาร์ทการ์ดบางประเภท เช่น EMV [ 5 ]
รูปแบบทางกายภาพและจังหวะเวลาที่ส่วนต่อประสานการ์ด/เครื่องอ่าน
ในการส่งข้อมูลแบบอะซิงโครนัส ข้อมูล ATR จะถูกส่งจากบัตรไปยังเครื่องอ่านในรูปแบบอักขระ ซึ่งเข้ารหัสเป็นบิตผ่านหน้าสัมผัสที่กำหนดเป็น I/O (C7) โดยมีระยะเวลาบิตโดยประมาณที่เรียกว่าหน่วยเวลาพื้นฐาน (ETU) ซึ่งเท่ากับ 372 รอบของสัญญาณนาฬิกาที่เครื่องอ่านส่งมาทางหน้าสัมผัส CLK (C3) ตลอดช่วงเวลา ATR โดยปกติแล้วสาย I/O จะอยู่ในสถานะ H (แรงดันไฟฟ้าสูงสุดจากสองระดับตรรกะ ) และการเปลี่ยนไปเป็นสถานะ L ซึ่งเรียกว่าขอบนำ (leading edge) จะกำหนดจุดเริ่มต้นของอักขระ ขอบนำของอักขระตัวแรกจะเกิดขึ้นระหว่าง 400 ถึง 40,000 รอบนาฬิกาหลังจากที่เครื่องอ่านเปลี่ยนหน้าสัมผัส RST (C2) จาก L เป็น H
แต่ละอักขระประกอบด้วยบิตเริ่มต้นที่สถานะ L, บิตข้อมูล 8 บิต, บิตพาริตี 1 บิต ตามด้วย (หากไม่มีข้อผิดพลาด) การหน่วงเวลาที่สถานะ H (แรงดันสูงบน I/O) เพื่อให้ขอบนำของอักขระใน ATR มีอย่างน้อย 12 ETU โดยมีเวลาการรอสูงสุดที่กำหนดไว้ WT = 9,600 ETU ตลอด ATR (ข้อกำหนดของ Eurocard MasterCard Visa เพิ่มว่าเครื่องอ่านควรทนต่อ 10,800 ETU ซึ่งมากกว่า 5%) ค่าของไบต์ที่เข้ารหัสโดยอักขระจะถูกกำหนดตามข้อกำหนดที่กำหนดโดยอักขระตัวแรกของ ATR ซึ่งกำหนดให้เป็น TS
จุดสิ้นสุดของ ATR ทางกายภาพระหว่างการ์ดและเครื่องอ่านสามารถกำหนดได้โดยเครื่องอ่านโดยใช้การวิเคราะห์แบบเรียลไทม์ของค่า TS, T0 และ TD i ใดๆ (ดูด้านล่าง) หรือ/และบนพื้นฐานของ WT วิธีการหลังนี้ทำให้เกิดความล่าช้าเพิ่มเติม (ประมาณ 0.8 วินาทีที่ความถี่สัญญาณนาฬิกาสูงสุด 5 MHzที่ใช้งานได้ระหว่าง ATR) EMV (แต่ไม่ใช่ ISO/IEC 7816-3) ยังอนุญาตให้เครื่องอ่านพิจารณาว่า ATR ต้องสิ้นสุดลงหลังจาก 20 160 ETU (ประมาณ 1.5 วินาทีที่ 5 MHz) นับจากขอบนำของ TS
หมายเหตุ: เมื่อสื่อสารในโหมดอะซิงโครนัสกับสมาร์ทการ์ดแบบสัมผัส ISO/IEC 7816-3 โดยใช้อุปกรณ์อินเทอร์เฟซแบบอนุกรมที่ทำงานตามแบบแผนโดยตรง (เช่นUART มาตรฐาน ) สามารถตั้งค่าเป็น 8 บิต, 1 บิตพาริตีคู่, 2 บิตหยุด (บางครั้งอาจต่อรองเป็น 1 ได้ โปรดดู TC 1 ) ในระหว่าง ATR อัตรา Baud ควรเป็น 1/372 ของความถี่สัญญาณนาฬิกาที่การ์ดได้รับ (ซึ่งสอดคล้องกับ ETU 372 รอบสัญญาณนาฬิกา) โดยปกติจะไม่มีข้อผิดพลาดพาริตีหรือข้อผิดพลาดเฟรม ไบต์แรกที่ได้รับคือ'3B'หากการ์ดทำงานตามแบบแผนโดยตรง และ'03'หากการ์ดทำงานตามแบบแผนผกผัน ในกรณีนี้ ขั้วและลำดับของบิตทั้ง 8 บิตของแต่ละไบต์ที่ผ่านอุปกรณ์อินเทอร์เฟซแบบอนุกรมควรกลับด้าน ซึ่งโดยเฉพาะอย่างยิ่งจะเปลี่ยนไบต์แรก'03'เป็น'3F '
หมายเหตุทางประวัติศาสตร์: ข้อกำหนดสำหรับแผงวงจรที่ใช้แหล่งสัญญาณนาฬิกาภายในและค่า ETU คงที่ที่ 1/9,600 วินาทีระหว่าง ATR นั้นมีอยู่ในมาตรฐาน ISO/IEC 7816-3:1989 และถูกลบออกไปตั้งแต่ฉบับปี 1997 เป็นต้นไป
โครงสร้างทั่วไป
กระบวนการ ATR ประกอบด้วยห้าขั้นตอน ได้แก่ อักขระเริ่มต้น TS; ไบต์รูปแบบ T0; ไบต์อินเทอร์เฟซ TA i , TB i , TC i , TD i (เป็นตัวเลือก จำนวนเปลี่ยนแปลงได้); ไบต์ประวัติ T i (เป็นตัวเลือก สูงสุด 15 ไบต์) และไบต์ตรวจสอบ TCK (เป็นตัวเลือก) มีอักขระทั้งหมด 2 ถึง 33 ตัว รวมทั้ง TS ด้วย
| ชื่อ | กำหนด | เข้ารหัส | อยู่ ณ เวลา |
| ทีเอส | ลำดับบิตและขั้ว | (เสมอ) | |
| ที0 | จำนวน Ti ,การมีอยู่ของ TA 1 ..TD 1 | K ใน [0..15] | (เสมอ) |
| TA 1 | ความถี่สัญญาณนาฬิกาสูงสุด ระยะเวลาบิตที่เสนอ | FI ↦ Fi และ f สูงสุด ; ดิ ↦ ดิ | บิตที่ 5 ของ T0 คือ1 |
| ทีบี1 | เลิกใช้แล้ว: ข้อกำหนด V PP | PI1 ↦ P, II ↦ I | บิตที่ 6 ของ T0 คือ1 |
| ทีซี1 | การ์ดต้องการหน่วงเวลาเพิ่มเติมระหว่างไบต์ | N ↦ EGT ↦ GT | บิตที่ 7 ของ T0 คือ1 |
| ทีดี1 | โปรโตคอลการส่งข้อมูลที่นำเสนอครั้งแรก คือการมีอยู่ของ TA 2 ..TD 2 | T ใน [0..14] | บิตที่ 8 ของ T0 คือ1 |
| TA 2 | โปรโตคอลและพารามิเตอร์เฉพาะที่จะใช้หลังจาก ATR | T ใน [0..14] | บิตที่ 5 ของ TD 1คือ1 |
| ทีบี2 | เลิกใช้แล้ว: ข้อกำหนดแรงดันไฟฟ้าที่แม่นยำ ของ V PP | PI2 ↦ P | บิตที่ 6 ของ TD 1คือ1 |
| ทีซี2 | เวลารอสูงสุดสำหรับโปรโตคอล T = 0 | WI ↦ WT | บิตที่ 7 ของ TD 1คือ1 |
| ทีดี2 | โปรโตคอลที่รองรับหรือพารามิเตอร์ที่ครอบคลุมมากขึ้น การมีอยู่ของ TA 3 ..TD 3 | T ใน [0..15] | บิตที่ 8 ของ TD 1คือ1 |
| TA i | สำหรับ T = 1 [#] : ขนาดบล็อกสูงสุดที่การ์ดสามารถรับได้หาก T = 15 [#] : แรงดันไฟฟ้าที่รองรับและโหมดพลังงานต่ำ | IFSC X; Y | บิตที่ 5 ของ TD i -1คือ1 |
| ทีบีไอ | สำหรับ T = 1 [#] : ความล่าช้าสูงสุดระหว่างอักขระถ้า T = 15 [#] : ใช้หน้าสัมผัส SPU C6 | CWI ↦ CWT; BWI ↦ BWT | บิตที่ 6 ของ TD i -1คือ1 |
| ทีซีไอ | สำหรับ T = 1 [#] : ประเภทของรหัสตรวจจับข้อผิดพลาดที่ใช้ | บิตที่ 7 ของ TD i -1คือ1 | |
| ทีดีไอ | โปรโตคอลที่รองรับหรือพารามิเตอร์ทั่วโลกเพิ่มเติม การมีอยู่ของ TA i +1 ..TD i +1 | T ใน [0..15] | บิตที่ 8 ของ TD i -1คือ1 |
| ที1 | รูปแบบของไบต์ทางประวัติศาสตร์ T i | K ≥ 1 | |
| ทีไอ | ไบต์ประวัติที่ระบุลักษณะการทำงาน ตามมาตรฐาน ISO/IEC 7816-4 เมื่อ T 1เป็น'00' , '10'หรือ' 8 X ' | K ≥ i | |
| ทีซีเค | อนุญาตให้ตรวจจับข้อผิดพลาดในการส่งข้อมูลโดยไม่ตั้งใจ( โดยปกติแล้ว ค่า XORของไบต์ T0 กับ TCK จะเป็นศูนย์) | ค่า T ในไบต์ TD iใดๆ จะต้องไม่ใช่ 0 | |
| อาร์เอฟยู | สงวนไว้สำหรับการใช้งานในอนาคต |
[#]ความหมายที่ให้มานั้นถือว่าi > 2 และi -1 เป็น jเพียงตัวเดียวที่มี 1 < j < iซึ่ง TD jจะเข้ารหัสค่า T ที่ระบุไว้ เมื่อ T อยู่ในช่วง [0..14] ความหมายของไบต์จะใช้ได้เฉพาะกับโปรโตคอลที่เกี่ยวข้อง (ไบต์เฉพาะ) เท่านั้น เมื่อ T = 15 ความหมายจะใช้ได้โดยไม่คำนึงถึงโปรโตคอล (ไบต์สากล)
อักขระเริ่มต้น TS นั้นมีอยู่เสมอในทางกายภาพ แต่ถูกยกเว้นจาก Answer-to-Reset ในคำจำกัดความที่กำหนดโดย ISO/IEC 7816-3:2006: ค่าของสตริงไบต์ (ไม่เกิน 32 ไบต์) ที่เข้ารหัสในลำดับของอักขระที่ตามหลังอักขระเริ่มต้น TS ISO/IEC 7816-4:2005 เห็นด้วย[ 6 ]โดยระบุว่า TS เป็นอักขระหรือรูปแบบการซิงโครไนซ์ ไม่ใช่ไบต์ อย่างไรก็ตาม ในทางปฏิบัติ (อย่างน้อยใน PC/SC, EMV, ETSIและCalypso ) ยังคงพิจารณาว่า TS เป็นส่วนหนึ่งของ ATR เช่นเดียวกับใน ISO/IEC 7816-3:1997 และฉบับก่อนหน้า โดยเฉพาะอย่างยิ่ง ATR ที่ส่งคืนโดยเครื่องอ่านการ์ด PC/SC และซอฟต์แวร์สแต็กจะรวม TS เป็นไบต์แรกที่มีค่า'3B'หรือ'3F '
อักขระตัวแรก TS
อักขระเริ่มต้น TS เข้ารหัสข้อกำหนดที่ใช้สำหรับการเข้ารหัส ATR และการสื่อสารเพิ่มเติมจนกว่าจะมีการรีเซ็ตครั้งถัดไป ตามข้อกำหนดโดยตรง [หรือโดยผกผัน] บิตที่มีค่าตรรกะ'1'จะถูกส่งเป็นแรงดันสูง (H) [หรือแรงดันต่ำ (L)] บิตที่มีค่าตรรกะ'0'จะถูกส่งเป็น L [หรือ H] และบิตที่มีค่าน้อยที่สุดของแต่ละไบต์ข้อมูลจะเป็นบิตแรก (หรือบิตสุดท้าย) ในการส่งข้อมูลทางกายภาพโดยการ์ด
ตามธรรมเนียมโดยตรง TS คือ(H) L HHLHHHLL H (H)และเข้ารหัสไบต์'3B '
สำหรับข้อตกลงผกผัน TS คือ(H) L HHLLLLLL H (H)และเข้ารหัสไบต์'3F '
[ (H)แทนสถานะว่าง (High, Mark) ของสาย I/O บิตข้อมูล 8 บิตแสดงด้วยตัวเอียง ]
บิตในไบต์ที่ตามหลัง TS ใน ATR และการสื่อสารเพิ่มเติมจนกว่าจะมีการรีเซ็ตครั้งถัดไป จะถูกกำหนดหมายเลขตั้งแต่ลำดับที่ 1 ถึง 8 จากลำดับต่ำไปสูง และค่าของบิตเหล่านั้นจะถูกบันทึกเป็น0หรือ1โดยไม่คำนึงถึงลำดับเวลาและการแสดงทางไฟฟ้าที่กำหนดโดย TS บิตที่ตามหลังบิตข้อมูล 8 บิตในไบต์เหล่านี้คือบิตพาริตีคู่ ซึ่งหมายความว่าจะมีจำนวน บิต '1' (H หรือ L ตามแบบแผนโดยตรงหรือแบบผกผันที่กำหนดโดย TS) เป็นจำนวนคู่ในบรรดาบิตข้อมูล 8 บิตและบิตพาริตี
นอกจากนี้ TS ยังอนุญาตให้เครื่องอ่านการ์ดตรวจสอบหรือกำหนดค่า ETU ได้ โดยคิดจากหนึ่งในสามของเวลาหน่วงระหว่างการเปลี่ยนสถานะจาก H เป็น L ครั้งแรกและครั้งที่สองใน TS ซึ่งเป็นตัวเลือกเสริม และนิยามหลักของ ETU ใน ATR ของสมาร์ทการ์ดแบบอะซิงโครนัสที่เป็นไปตามมาตรฐาน คือ 372 รอบของสัญญาณนาฬิกาที่การ์ดได้รับ
รูปแบบไบต์ T0
ไบต์รูปแบบ T0 เข้ารหัสไบต์ข้อมูลในอดีตจำนวน K ไบต์ T i ใน 4 บิตล่างสุด (บิต MS ที่ 4 ถึงบิต LS ที่ 1) ในช่วง [0..15]
นอกจากนี้ ยังเข้ารหัสในบิตลำดับสูง 4 บิต เพื่อระบุการมีอยู่ของไบต์อินเทอร์เฟซอื่น ๆ ไม่เกิน 4 ไบต์ ได้แก่ TA 1 (หรือ TB 1 , TC 1 , TD 1 ) ตามลำดับ หากบิตที่ 5 (หรือ 6, 7, 8) ของ T0 เป็น 1
ไบต์อินเทอร์เฟซ TA i , TB i , TC i , TD i
ไบต์อินเทอร์เฟซ TA 1 , TB 1 , TC 1 , TD 1 , TA 2 , TB 2 , TC 2 , TD 2 , TA 3 , TB 3 , ... ล้วนเป็นตัวเลือก และเข้ารหัสพารามิเตอร์การสื่อสารและโปรโตคอลที่การ์ดเสนอให้ใช้
ไบต์อินเทอร์เฟซมีสามประเภท: ไบต์อินเทอร์เฟซ สากลซึ่งใช้ได้กับทุกโปรโตคอล ไบต์อินเทอร์เฟซ เฉพาะซึ่งใช้ได้กับโปรโตคอลเฉพาะ และ ไบต์อินเทอร์เฟซ เชิงโครงสร้างซึ่งแนะนำไบต์อินเทอร์เฟซและโปรโตคอลเพิ่มเติม
อินเทอร์เฟซไบต์ TA 1
ไบต์อินเทอร์เฟซ TA 1หากมีอยู่ จะเป็นค่าส่วนกลาง และเข้ารหัสความถี่สัญญาณนาฬิกาสูงสุด f maxที่การ์ดรองรับ และจำนวนรอบสัญญาณนาฬิกาต่อ ETU ที่แนะนำให้ใช้หลังจาก ATR ซึ่งแสดงเป็นอัตราส่วน Fi/Di ของจำนวนเต็มสองจำนวน เมื่อไม่มี TA 1จะถือว่าค่าเริ่มต้นคือ'11'ซึ่งสอดคล้องกับ f max = 5 MHz, Fi = 372, Di = 1
บิต 4 บิตล่างสุดของ TA 1 (บิต MS ที่ 4 ถึงบิต LS ที่ 1) เข้ารหัส Di ดังนี้:
| บิตที่ 4 ถึงบิตที่ 1 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
| ดิ | อาร์เอฟยู | 1 | 2 | 4 | 8 | 16 | 32 | 64 (#) | 12 | 20 | อาร์เอฟยู | อาร์เอฟยู | อาร์เอฟยู | อาร์เอฟยู | อาร์เอฟยู | อาร์เอฟยู |
(#) ค่านี้เป็น RFU ใน ISO/IEC 7816-3:1997 และเวอร์ชันก่อนหน้า เครื่องอ่านการ์ดหรือไดรเวอร์บางตัวอาจปฏิเสธการ์ดที่ใช้ค่านี้ (หรือ RFU อื่นๆ) อย่างผิดพลาด เครื่องอ่าน PC/SC บางตัว แก้ปัญหาพฤติกรรมของไดรเวอร์ดังกล่าวโดยการล้างบิตแรกของ TA 1เมื่อ 4 บิตล่างสุดเข้ารหัสเป็น 7 และปรับ TCK (ถ้ามี) ตามนั้น เว้นแต่จะได้รับคำสั่งพิเศษ
บิตลำดับสูง 4 บิตของ TA 1 (บิต MS ที่ 8 ถึงบิต LS ที่ 5) เข้ารหัส f maxและ Fi ดังนี้:
| บิตที่ 8 ถึงบิตที่ 5 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
| ไฟ | 372 (*) | 372 | 558 | 744 | 1 116 | 1 488 | 1 860 | อาร์เอฟยู | อาร์เอฟยู | 512 | 768 | 1 024 | 1 536 | 2 048 | อาร์เอฟยู | อาร์เอฟยู |
| f สูงสุด (MHz) | 4 (*) | 5 | 6 | 8 | 12 | 16 | 20 | — | — | 5 | 7.5 | 10 | 15 | 20 | — | — |
(*) หมายเหตุทางประวัติศาสตร์: ใน ISO/IEC 7816-3:1989 ค่านี้ถูกกำหนดให้กับการ์ดที่มีนาฬิกาภายใน โดยไม่มีการกำหนดค่า Fi หรือ f(max)
หมายเหตุ: EMV และ ISO/IEC 7816-3 ฉบับก่อนปี 2006 ยังใช้สัญลักษณ์ DI (หรือ FI) สำหรับ 4 บิตลำดับต่ำ (หรือลำดับสูง) ของ TA 1 ด้วย ดังนั้น DI จึงเข้ารหัส Di และ FI เข้ารหัส Fi และf max
หมายเหตุ: สัญลักษณ์ของ EMV ใช้ D (หรือ F) ในขณะที่ ISO/IEC 7816-3 ใช้ Di (หรือ Fi)
ตัวอย่าง: TA 1 = 'B5' = 10110101ซึ่ง FI คือ1011และ DI คือ0101เข้ารหัส f max = 10 MHz, Fi = 1024, Di = 16 ดังนั้น Fi/Di = 1024/16 = 64 นี่เป็นการกระตุ้นให้เครื่องอ่านการ์ดดำเนินการ (หลังจาก ATR) ขั้นตอนที่จำเป็นเพื่อลด ETU เหลือ 64 รอบสัญญาณนาฬิกาต่อ ETU (จาก 372 ระหว่าง ATR) และเพิ่มความถี่สัญญาณนาฬิกาขึ้นเป็น 10 MHz (จากประมาณ 4 MHz ระหว่าง ATR)
อินเทอร์เฟซไบต์ TB 1
TB 1หากมีอยู่ จะเป็นค่าสากล การใช้งาน TB 1 นั้นไม่เป็นที่นิยมอีกต่อไปแล้วตั้งแต่มาตรฐานฉบับปี 2006 ซึ่งกำหนดว่าการ์ด ไม่ ควรมี TB 1ใน ATR และเครื่องอ่านจะต้องละเว้น TB 1หากมีอยู่ EMV ยังคงกำหนดให้การ์ดต้องมี TB 1 = '00'และนั่นยังคงเป็นแนวปฏิบัติทั่วไป การทำเช่นนั้นเป็นการบ่งชี้อย่างชัดเจนว่าการ์ดไม่ได้ใช้หน้าสัมผัสเฉพาะ C6 เพื่อจ่ายแรงดันไฟฟ้าสำหรับการเขียนโปรแกรม (V PP ) ให้กับการ์ด อย่างไรก็ตาม การ์ดอาจใช้ C6 สำหรับการใช้งานมาตรฐานหรือเฉพาะ (SPU) เช่น การสื่อสารกับส่วนหน้า NFC โดยใช้โปรโตคอล Single Wire Protocol (SWP) ในฝั่งเครื่องอ่าน EMV กำหนดให้สร้าง ATR แบบอุ่นสำหรับการ์ดที่มี TB 1ที่ไม่ใช่'00'ใน ATR แบบเย็นและจัดการ TB 1 ใดๆ ใน ATR แบบอุ่นเสมือนว่าเป็น'00 '
TB 1ก่อนหน้านี้ระบุ (อย่างคร่าวๆ) แรงดันไฟฟ้าในการเขียนโปรแกรม V PPและกระแสไฟฟ้าสูงสุดในการเขียนโปรแกรมที่จำเป็นสำหรับบางการ์ดบนหน้าสัมผัสเฉพาะ C6 ในระหว่างการเขียนโปรแกรม หน่วยความจำ EPROM สมาร์ทการ์ดรุ่นใหม่สร้างแรงดันไฟฟ้าในการเขียนโปรแกรมสำหรับหน่วยความจำ EEPROMหรือFlashภายในเองดังนั้นจึงไม่ใช้ V PPในมาตรฐานฉบับปี 1997 และฉบับก่อนหน้า:
- 5 บิตล่างสุดของ TB 1 (บิตที่ 5 MS ถึงบิตที่ 1 LS) เข้ารหัส PI1; หากไม่มี TB 2 ค่า PI1 = 0 แสดงว่าหน้าสัมผัส C6 (ที่กำหนดให้กับ V PP ) ไม่ได้เชื่อมต่อในการ์ด; ค่า PI1 ในช่วง [5..25] เข้ารหัสค่า V PPในหน่วยโวลต์ (เครื่องอ่านควรใช้แรงดันไฟฟ้านั้นเฉพาะเมื่อการ์ดร้องขอโดยเฉพาะ โดยมีค่าความคลาดเคลื่อน 2.5% สูงสุดไม่เกินกระแสการเขียนโปรแกรมสูงสุด และมิเช่นนั้นให้ปล่อยหน้าสัมผัส C6 ที่ใช้สำหรับ V PP ไว้ ภายใน 5% ของแรงดันไฟฟ้า V CCสูงสุด 20 mA); หากมี TB 2 ค่า TB 2 จะแทนที่ค่าที่แสดงโดย TB 1 ในช่อง PI1 เกี่ยวกับ การเชื่อมต่อหรือแรงดันไฟฟ้า ของ V PP
- บิตสูงสุดของ TB 1 (บิตที่ 8) ถูกสงวนไว้ จะต้องเป็น0และผู้อ่านสามารถละเลยได้
- บิตที่ 6 และ 5 ของ TB 1เข้ารหัสกระแสการเขียนโปรแกรมสูงสุด (โดยสมมติว่าทั้ง TB 1และ TB 2 ไม่ได้ ระบุว่า V PPไม่ได้เชื่อมต่ออยู่ในการ์ด)
| บิตที่ 7 และ 6 | 00 | 01 | 10 | 11 |
| กระแสการตั้งโปรแกรมสูงสุด | 25 มิลลิแอมป์ | 50 มิลลิแอมป์ | RFU (#) | อาร์เอฟยู |
(#) ค่านี้เท่ากับ 100 mA ตามมาตรฐาน ISO/IEC 7816-3:1989
อินเทอร์เฟซไบต์ TC 1
TC 1ถ้ามีอยู่ จะเป็นค่าทั่วโลก และเข้ารหัสค่าจำนวนเต็ม Extra Guard Time (N) ตั้งแต่ 0 ถึง 255 (บิต MS ที่ 8 ถึงบิต LS ที่ 1) มิฉะนั้น N = 0 N กำหนดว่า Guard Time ที่ผู้อ่านต้องใช้จะแตกต่างจากค่าพื้นฐาน 12 ETU มากน้อยเพียงใด (ซึ่งสอดคล้องกับบิตเริ่มต้น 1 บิต บิตข้อมูล 8 บิต บิตพาริตี 1 บิต และบิตหยุด 2 บิต โดยบิตหยุดที่สองอาจใช้สำหรับการบ่งชี้ข้อผิดพลาดโดยผู้รับภายใต้โปรโตคอล T = 0) Guard Time คือความล่าช้าขั้นต่ำระหว่างขอบนำของอักขระก่อนหน้าและขอบนำของอักขระถัดไปที่ส่งมา
ยกเว้นเมื่อ N เท่ากับ 255 เวลาป้องกัน (Guard Time) คือ: GT = 12 ETU + R*N/f โดยที่: – f คือความถี่สัญญาณนาฬิกาที่สร้างโดยตัวอ่าน; – R คือจำนวนรอบสัญญาณนาฬิกาบางค่า ซึ่งอาจเป็น: – ต่อ ETU, R = F/D ถ้า T = 15 ไม่มีอยู่ใน ATR; – กำหนดโดย TA 1 , R = F i /D i (หรือค่าเริ่มต้น) ถ้า T = 15 มีอยู่ใน ATR
N = 255 มีความหมายที่ขึ้นอยู่กับโปรโตคอล: GT = 12 ETU ในระหว่าง PPS (การเลือกโปรโตคอลและพารามิเตอร์) และโปรโตคอล T = 0, GT = 11 ETU ภายใต้โปรโตคอล T = 1 (ซึ่งสอดคล้องกับ 1 บิตเริ่มต้น, 8 บิตข้อมูล, 1 บิตพาริตี และ 1 บิตหยุด; โดยไม่มีการแสดงข้อผิดพลาด)
ยกเว้นในกรณีที่โปรโตคอล T = 1 การ์ดจะส่งข้อมูลโดยมีเวลาป้องกัน (Guard Time) เท่ากับ 12 ETU โดยไม่ขึ้นอยู่กับค่า N ในกรณีที่โปรโตคอล T = 1 เวลาป้องกันที่กำหนดโดย N ก็คือเวลาป้องกันอักขระ (Character Guard Time หรือ CGT) และจะใช้กับทั้งการ์ดและเครื่องอ่านสำหรับอักขระที่ส่งในทิศทางเดียวกัน
หมายเหตุ: ผู้อ่านยังคงต้องปฏิบัติตาม Guard Time GT ที่กำหนดโดย N แม้ว่าข้อกำหนดอื่นๆ จะระบุค่าหน่วงเวลาขั้นต่ำอื่นระหว่างขอบนำของอักขระในทิศทางต่างๆ กันก็ตาม แม้ว่าค่าหน่วงเวลาขั้นต่ำนั้นจะต่ำกว่า GT ก็ตาม
หมายเหตุทางประวัติศาสตร์: ISO/IEC 7816-3:1989 กำหนดไว้เพียงว่า N จะเข้ารหัส EGT เป็นจำนวน ETU ซึ่งเป็นวิธีการที่ใช้ในปัจจุบันเมื่อไม่มี T = 15 ใน ATR ด้วยข้อกำหนดนี้ การ์ดที่อนุญาตให้เจรจาจำนวนรอบสัญญาณนาฬิกาต่อ ETU ที่ลดลงหลังจาก PPS จะต้องอนุญาตให้จำนวนรอบสัญญาณนาฬิกาสำหรับ EGT ลดลงตามสัดส่วนด้วย ซึ่งไม่สอดคล้องกับแรงจูงใจทั่วไปของ EGT: เพื่อคำนึงถึงความล่าช้าก่อนที่การ์ดจะสามารถรับอักขระถัดไปได้ มาตรฐานฉบับปี 1997 ได้แนะนำว่า เมื่อมี T = 15 อยู่ใน ATR N จะเข้ารหัส EGT เป็นจำนวนเท่าของจำนวนรอบสัญญาณนาฬิกาต่อ ETU ที่เข้ารหัสโดย TA 1ทำให้ EGT เป็นอิสระจากจำนวนรอบสัญญาณนาฬิกาต่อ ETU ที่เจรจาได้อย่างมีประสิทธิภาพ ในขณะที่ยังคงความเข้ากันได้กับเครื่องอ่านรุ่นก่อนหน้าอย่างน้อยที่สุดหากพวกเขาไม่ได้เปลี่ยนจำนวนรอบสัญญาณนาฬิกาต่อ ETU
อินเทอร์เฟซไบต์ TD i
อินเทอร์เฟซไบต์ TD iสำหรับi ≥1 หากมีอยู่ จะเป็นโครงสร้าง
TD iเข้ารหัสใน 4 บิตลำดับสูงของมันถึงการมีอยู่ของไบต์อินเทอร์เฟซอื่น ๆ ไม่เกิน 4 ไบต์ ได้แก่ TA i +1 (หรือ TB i +1 , TC i +1 , TD i +1 ) ตามลำดับ หากบิตที่ 5 (หรือ 6, 7, 8) ของTD iเป็น1
TD iเข้ารหัสจำนวนเต็ม T ในช่วง [0..15] ใน 4 บิตล่างสุด (บิต MS ที่ 4 ถึงบิต LS ที่ 1) T = 15 ไม่ถูกต้องใน TD 1และใน TD i อื่นๆ จะกำหนดคุณสมบัติของ TA i +1 TB i +1 TC i +1 TD i +1 (ถ้ามี) เป็นไบต์อินเทอร์เฟซส่วนกลาง ค่าอื่นๆ ของ T บ่งชี้ถึงโปรโตคอลที่การ์ดพร้อมใช้งาน และ TA i +1 TB i +1 TC i +1 TD i +1 (ถ้ามี) เป็นไบต์อินเทอร์เฟซเฉพาะที่ใช้กับโปรโตคอลนั้นเท่านั้น T = 0 คือโปรโตคอลแบบเน้นอักขระ T = 1 คือโปรโตคอลแบบเน้นบล็อก T ในช่วง [3..14] คือ RFU
หมายเหตุทางประวัติศาสตร์: ข้อกำหนดสำหรับการกำหนดคุณสมบัติของไบต์อินเทอร์เฟซแบบไดนามิกให้เป็นแบบโกลบอลโดยใช้ T = 15 นั้นไม่มีอยู่ใน ISO/IEC 7816-3:1989
อินเทอร์เฟซไบต์ TA 2
ไบต์อินเทอร์เฟซ TA 2หากมีอยู่ จะเป็นไบต์ส่วนกลาง และจะถูกตั้งชื่อตามไบต์ โหมดเฉพาะ
การมีอยู่ของคำสั่ง TA 2ที่ผู้อ่านใช้โหมดเฉพาะตามที่กำหนดโดย TA 2และไบต์ส่วนกลางก่อนหน้านี้ แทนที่จะเป็นโหมดที่สามารถเจรจาต่อรองได้ เมื่อ ไม่มี TA 2
TA 2เข้ารหัสจำนวนเต็ม T ใน 4 บิตล่างสุด ซึ่งกำหนดโปรโตคอลที่จำเป็นสำหรับบัตร ตามแบบแผนที่ใช้สำหรับ TD 1 (EMV กำหนดว่าบัตรที่มีค่า T ที่เข้ารหัสใน TA 2ไม่ตรงกับค่า T ใน TD 1จะถูกปฏิเสธ)
บิตที่ 5 จะเป็น0เพื่อเข้ารหัสว่าระยะเวลา ETU ที่ต้องการคือ F i /D iรอบสัญญาณนาฬิกา ตามที่กำหนดโดย TA 1 (หรือค่าเริ่มต้นหากไม่มี) หรือเป็น 1เพื่อระบุว่าระยะเวลา ETU เป็นที่ทราบโดยปริยาย (ตามข้อตกลงบางอย่าง หรือการตั้งค่าของเครื่องอ่าน EMV กำหนดว่าบัตรดังกล่าวจะต้องถูกปฏิเสธ)
บิตที่ 6 และ 7 สงวนไว้สำหรับการใช้งานในอนาคต โดยค่า 0หมายถึงไม่ได้ใช้งาน
บิตที่ 8 จะเป็น1เพื่อระบุว่าการ์ดไม่สามารถเปลี่ยนโหมดการเจรจา/เฉพาะได้ (กล่าวคือ ไม่เสนอการตั้งค่าอื่น) หรือ0เพื่อระบุว่าการ์ดมีความสามารถนั้น (อาจหลังจาก ATR ที่อุ่นเครื่องแล้ว)
หมายเหตุทางประวัติศาสตร์: ในมาตรฐาน ISO/IEC 7816-3:1989 ไม่มีข้อกำหนดสำหรับโหมดเฉพาะ ในขณะนั้น อักขระอินเทอร์เฟซ TA 2ไม่มีชื่อหรือฟังก์ชันเฉพาะ และเป็นแบบเฉพาะ (สำหรับโปรโตคอลที่แนะนำโดย TD 1 ) มาตรฐาน ISO/IEC 7816-3:1997 ได้แนะนำโหมดเฉพาะและไบต์โหมดเฉพาะ พร้อมด้วยหมายเหตุชั่วคราวเพื่อช่วยการ์ดที่มีไบต์โหมดเฉพาะ TA 2ใน ATR ที่ใช้งานกับเครื่องอ่านที่ไม่รองรับโหมดเฉพาะ
อินเทอร์เฟซไบต์ TB 2
TB 2หากมีอยู่ จะเป็นค่าสากล การใช้งาน TB 2 นั้นไม่เป็นที่นิยมอีกต่อไปแล้วตั้งแต่มาตรฐานฉบับปี 2006 ซึ่งกำหนดว่าการ์ด ไม่ ควรมี TB 2ใน ATR และเครื่องอ่านควรละเว้น TB 2หากมีอยู่
ในมาตรฐานฉบับปี 1997 บิต TB 2 (บิตที่ 8 ถึงบิตที่ 1) เข้ารหัส PI2 ซึ่งเมื่ออยู่ในช่วง 50..250 (ค่าอื่นๆ เป็น RFU) จะเข้ารหัส V PPโดยเพิ่มขึ้นทีละ 0.1 V และครอบคลุมการบ่งชี้ที่หยาบกว่าซึ่งกำหนดโดย PI1 ของ TB 1โปรดดูส่วนนั้นสำหรับเหตุผลว่าทำไมสมาร์ทการ์ดสมัยใหม่จึงไม่ใช้ V PPและดังนั้นจึงไม่ใช้TB 2
หมายเหตุทางประวัติศาสตร์: ข้อกำหนดสำหรับ TB 2ไม่ได้มีอยู่ในมาตรฐาน ISO/IEC 7816-3:1989 และถูกนำมาใช้เนื่องจากค่า V PP = 12.5 V กลายเป็นค่าที่นิยมใช้ในเทคโนโลยี EEPROM โดยเข้ามาแทนที่ค่า 25 V และ 21 V
ข้อมูลประวัติศาสตร์ T i
อักขระประวัติศาสตร์ T iสำหรับi ≥1 หากมีอยู่ (ตามที่กำหนดโดย K ที่เข้ารหัสใน T0) โดยทั่วไปจะเก็บข้อมูลเกี่ยวกับผู้สร้างการ์ด ประเภทของการ์ด (ขนาด ฯลฯ) หมายเลขเวอร์ชัน และสถานะของการ์ด
ตรวจสอบไบต์ TCK
ไบต์ ChecK (ถ้ามี) อนุญาตให้ตรวจสอบความถูกต้องของข้อมูลใน ATR ถ้ามีอยู่ TCK จะเป็นผลรวมของการดำเนินการExclusive ORของไบต์ใน ATR ตั้งแต่ T0 (รวมอยู่ด้วย) ถึง TCK (ไม่รวมอยู่ด้วย)
TCK จะปรากฏขึ้นก็ต่อเมื่อ TD i ใดๆ ที่ปรากฏใน ATR เข้ารหัสค่า T ที่ไม่ใช่ 0 เท่านั้น
กฎเกี่ยวกับการมีอยู่ของ TCK นั้นเป็นไปตามมาตรฐาน ISO/IEC 7816-3:1989 มาตรฐาน ISO/IEC 7816-3:1997 และ ISO/IEC 7816-3:2006 ที่ออกมาภายหลังก็เห็นพ้องต้องกัน อย่างน้อยที่สุดในกรณีที่ไม่มี TA 2หรือ TA 2 เข้ารหัส T เดียวกันกับ TD 1 (ซึ่งเป็นข้อกำหนดของ EMV) แนวปฏิบัติทั่วไป (เช่น ในซิมการ์ด) คือการใช้กฎนั้น แม้จะมีข้อกำหนดที่ขัดแย้งกันใน EMV 4.3 เล่ม 1 ส่วนที่ 8.3.4 ที่ระบุว่าATR จะต้องไม่มี TCK หากใช้ T = 0 เท่านั้นโดยให้ตีความข้อกำหนดนั้นตามตัวอักษรราวกับว่าระบุไว้ว่า "หากใช้ T = 0 เท่านั้น "
ATR ในการส่งสัญญาณแบบซิงโครนัส
เอกสารอ้างอิงอย่างเป็นทางการที่กำหนด ATR ในการส่งสัญญาณแบบซิงโครนัสคือมาตรฐานISO/IEC 7816-10 [ 7 ]
ATR เริ่มต้นด้วยส่วนหัวขนาด 32 บิต จัดเรียงเป็น 4 ไบต์ โดยใช้สัญลักษณ์ H1 ถึง H4 H1 เข้ารหัสโปรโตคอล (โดย'00'และ'FF'ถือเป็นค่าที่ไม่ถูกต้อง) และ H2 เข้ารหัสพารามิเตอร์ของโปรโตคอล ส่วนอื่นๆ ยังไม่มีการกำหนดมาตรฐานไว้มากนัก
ลิงก์ภายนอก
- เครื่องมือ วิเคราะห์ ATR สำหรับสมาร์ทการ์ดออนไลน์
- ISO/IEC 7816-1:2011(E)
- ISO/IEC 7816-2:2007(E)
- ISO/IEC 7816-3:2006(E)
- ISO/IEC 7816-4:2020(E)
- ISO/IEC 7816-5:2004(E)
- ISO/IEC 7816-6:2016(E)
- ISO/IEC 7816-7:1999(E)
- ISO/IEC 7816-8:2021(E)
- ISO/IEC 7816-9:2017(E)
- ISO/IEC 7816-10:1999(E)
- ISO/IEC 7816-11:2022(E)
- ISO/IEC 7816-12:2005(E)
- ISO/IEC 7816-13:2007(E)
- ISO/IEC 7816-15:2016(E)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ คำตอบเพื่อรีเซ็ต
ข้อความ ตอบรับการรีเซ็ต ( ATR ) เป็นข้อความที่ส่งออกมาโดย สมาร์ทการ์ดแบบ สัมผัส ที่ได้ มาตรฐาน ISO/IEC 7816 หลังจาก รีเซ็ต ชิปของการ์ดด้วยไฟฟ้าโดยใช้เครื่องอ่านการ์ด ข้อความ ATR...
ATR ในการส่งสัญญาณแบบอะซิงโครนัส
มาตรฐานที่กำหนด ATR ในการส่งข้อมูลแบบอะซิงโครนัสคือ ISO/IEC 7816-3 [ 4 ] มีการใช้ชุดย่อยของข้อกำหนด ATR เต็มรูปแบบสำหรับแอปพลิเคชันสมาร์ทการ์ดบางประเภท เช่น EMV [ 5 ]
รูปแบบทางกายภาพและจังหวะเวลาที่ส่วนต่อประสานการ์ด/เครื่องอ่าน
ในการส่งข้อมูลแบบอะซิงโครนัส ข้อมูล ATR จะถูกส่งจากบัตรไปยังเครื่องอ่านในรูปแบบอักขระ ซึ่งเข้ารหัสเป็นบิตผ่านหน้าสัมผัสที่กำหนดเป็น I/O (C7) โดยมีระยะเวลาบิตโดยประมาณที่เรียกว่าหน่วยเวลาพื้นฐาน (ETU) ซึ่งเท่ากับ 372 รอบของ สัญญาณนาฬิกา...
โครงสร้างทั่วไป
กระบวนการ ATR ประกอบด้วยห้าขั้นตอน ได้แก่ อักขระเริ่มต้น TS; ไบต์รูปแบบ T0; ไบต์อินเทอร์เฟซ TA i , TB i , TC i , TD i (เป็นตัวเลือก จำนวนเปลี่ยนแปลงได้); ไบต์ประวัติ T i (เป็นตัวเลือก สูงสุด 15 ไบต์) และไบต์ตรวจสอบ TCK (เป็นตัวเลือก) มีอักขระทั้งหมด 2 ถึง 33...