Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Card Technology Internals Handbook

Từ NFC tag đến EMV & CCCD — đọc thẳng từ mã nguồn. Một cuốn sách from-the-source của loạt RumitX: hiểu sâu công nghệ đứng sau thẻ ngân hàng, thẻ chạm (contactless) và con chip CCCD (Căn cước công dân) — bằng cách đọc mã nguồn Java thật, có thể chạy, trích dẫn chính xác theo file:line.

Cuốn sách viết bằng tiếng Việt, giữ nguyên keyword tiếng Anh (APDU, TLV, ISO 7816, EMV, SW1/SW2, BAC/PACE, NDEF…) — vì đó là ngôn ngữ của spec, dịch ra chỉ làm bạn khó tra cứu hơn.


Cuốn sách này dành cho ai

Cho kỹ sư đã biết lập trình (Java/Kotlin là lợi thế) và muốn hiểu bản chất một chiếc thẻ khi nó được "quẹt": chuyện gì xảy ra giữa reader và card, tại sao có APDU, TLV, AID, AFL, vì sao thẻ ngân hàng và chip CCCD lại "cùng họ" dù dùng cho hai việc khác nhau.

Nếu bạn từng làm việc với POS Android (đọc thẻ EMV/Napas, quét QR) hay với luồng đọc CCCD, các khái niệm ở đây sẽ nối thẳng vào công việc thật của bạn — sách có vài callout 🔌 bắc cầu tới đó, nhưng không ép: trọng tâm là học công nghệ cho vững.

Không cần phần cứng đặc biệt: hầu hết lab chạy được với một điện thoại Android có NFC, hoặc chỉ cần đọc-hiểu mã nguồn trong các clone được pin.


Grounding — các repo được pin (multi-repo)

Không có một repo "chuẩn" nào phủ hết công nghệ thẻ, nên cuốn sách neo vào nhiều repo Java nhỏ, dễ đọc. Mọi trích dẫn file:line đều verify được ở đúng SHA dưới đây (đọc kèm trong learning/):

Vai trò Repo Pin (tag @ SHA)
Spine chính — EMV over NFC, ISO 7816 APDU, TLV, EMV tags, transaction core devnied/EMV-NFC-Paycard-Enrollment parent-3.1.0 @ f636879f193a
e-ID (Android usage) — đọc chip ICAO-9303 trên Android tananaev/passport-reader v3.4 @ a52ff1a0c46e
e-ID (internals) — BAC/PACE, Secure Messaging, DG/SOD E3V3A/JMRTD master @ 594420577615
QR — EMVCo Merchant-Presented-Mode (= VietQR / Napas QR) mvallim/emv-qrcode v0.1.5 @ fdfa8d0e9126

⚠️ Nói thẳng về phần đóng: kernel của Napas (switch nội địa) và applet trên chip CCCD là closed-source, do nhà nước/nhà phát hành kiểm soát. Cuốn sách dạy phần chuẩn mở tương đương: EMV cho thanh toán, và ICAO 9303 (MRTD) cho chip CCCD — về mặt kỹ thuật đây là mô tả đúng.


Cách học (mỗi chương một hình dạng cố định)

  1. Vì sao quan trọng — vấn đề mà tầng này giải quyết.
  2. Mental model + sơ đồ ASCII — một bức tranh để giữ trong đầu.
  3. Đọc mã nguồn có dẫn đường — trích dẫn file:line chính xác vào clone.
  4. Lab — lệnh/thao tác cụ thể bạn tự chạy, có kết quả kỳ vọng, ghi lại vào labs/labN-*.md.
  5. Checkpoint — 4–6 câu hỏi tự kiểm; câu nào lung lay thì quay lại đọc mục tương ứng.
  6. Next — liên kết sang chương kế (đôi khi kèm callout 🔌 nối với công việc thật của bạn).

Độ sâu dồn vào chương 03 (flagship) — lõi TLV + EMV tag + luồng giao dịch. Các chương khác xoay quanh nó.


Chương trình học

# Chương Tầng
00 Environment & Java / NFC Refresher Foundation
01 Mental Model & the Card Stack Foundation
02 The APDU Lifecycle & ISO 7816-4 Foundation
03 TLV, EMV Tags & the Transaction Core Flagship
04 The Card & NFC Zoo Core
05 Payment Schemes: EMV & Napas Core
06 QR & Tokenization Application
07 e-ID: the Vietnamese CCCD Chip Application
08 Capstone & Staying Current Mastery

Nhịp gợi ý: 1 chương / buổi (~60–90 phút), riêng chương 03 nên chia 2 buổi. Cả cuốn ~2 tuần nếu làm đủ lab.


Progress checklist

  • 00 — Môi trường sẵn sàng: đã clone + pin 4 repo, đọc được UID một NFC tag.
  • 01 — Vẽ lại được card stack và trace một lần chạm thẻ từ đầu đến cuối.
  • 02 — Giải thích được một APDU (CLA INS P1 P2 Lc Data Le) và SW1/SW2; gửi được SELECT thô.
  • 03 — ★ Đọc được BER-TLV, tra được EMV tag, mô tả được SELECT PPSE → GPO → AFL → READ RECORD.
  • 04 — Phân biệt được NFC Type 1–4, MIFARE, và vị trí của thẻ ngân hàng & CCCD.
  • 05 — Giải thích được EMV kernel, contactless, và Napas nằm ở đâu trong bức tranh.
  • 06 — Decode được một chuỗi VietQR (EMVCo MPM).
  • 07 — Mô tả được BAC/PACE, Secure Messaging, DG1/DG2/SOD của chip CCCD.
  • 08 — Đọc được một spec/PR thật không cần trợ giúp; biết cách re-pin.

Bố cục thư mục

card-book/
├── README.md              # trang này
├── 00..08-*.md            # 9 chương
├── labs/                  # ghi chú lab + một artifact nhỏ chạy được
├── reference/glossary.md  # bảng thuật ngữ + "Key files" (chỉ mục nguồn multi-repo)
├── diagrams/              # (placeholder)
└── site_src/build_site.py # bộ dựng site tĩnh của RumitX

Dựng site đọc offline (11 trang + handbook.html một-file):

python3 site_src/build_site.py

A RumitX publication · rumitx.com · từ NFC tag đến EMV & CCCD.

About

Card Technology Internals Handbook — a RumitX from-the-source study guide: NFC · EMV · Napas · CCCD, grounded in readable Java source. Vietnamese, English keywords preserved.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages