Mã QR / Mã vạch / An toàn kỹ thuật số
Mã QR hoạt động thế nào: Cấu trúc, cách quét, độ tin cậy và an toàn

Mã QR không phải là một hình ảnh chỉ dẫn đến thông tin được lưu trữ ở nơi khác. Các module đen và sáng mã hóa chính nội dung dữ liệu, cùng với thông tin giúp máy quét định vị, giải mã và phục hồi ký hiệu. Nội dung dữ liệu thường là một URL, nhưng cũng có thể biểu thị văn bản, thông tin liên hệ, cài đặt Wi-Fi hoặc dữ liệu khác mà ứng dụng quét có thể hiểu được.
Mã QR được phát triển bởi DENSO WAVE và được tiêu chuẩn hóa quốc tế theo ISO/IEC 18004. Định dạng Model 2 thường thấy có 40 phiên bản. Phiên bản 1 chứa lưới 21x21 ô. Mỗi phiên bản cao hơn thêm bốn ô mỗi cạnh, đạt 177x177 ở Phiên bản 40.
Các phần bạn có thể thấy
- Mẫu tìm kiếm: ba hình vuông lớn lồng nhau giúp máy quét xác định vị trí mã và định hướng của nó.
- Dải phân cách và vùng yên lặng: khoảng trống sáng ngăn các mẫu tìm kiếm và toàn bộ ký hiệu hòa lẫn với nội dung xung quanh.
- Mẫu thời gian: các ô xen kẽ giúp máy quét xác định khoảng cách lưới.
- Mẫu căn chỉnh: các mục tiêu bổ sung giúp chỉnh sửa phối cảnh và méo hình ở các phiên bản lớn hơn.
- Thông tin định dạng và phiên bản: các ô dự trữ mô tả chi tiết về sửa lỗi và che mặt nạ cần thiết cho việc giải mã.
- Các mô-đun dữ liệu và sửa lỗi: đường dẫn có cấu trúc còn lại lưu trữ phần dữ liệu được mã hóa và thông tin khôi phục.

Cách một máy quét đọc ký hiệu
- Camera chụp một hình ảnh và tìm các mẫu góc có độ tương phản cao.
- Máy quét ước lượng hướng, phối cảnh, kích thước mô-đun và các ranh giới của lưới.
- Nó lấy mẫu các mô-đun sáng và tối, sau đó đọc thông tin định dạng và phiên bản.
- Mặt nạ được đảo ngược và các mã từ được tái tạo theo thứ tự được chỉ định.
- Sửa lỗi cố gắng khôi phục các mã từ bị hỏng hoặc không đọc được.
- Các đoạn dữ liệu được giải mã thành văn bản hoặc phần dữ liệu khác để ứng dụng diễn giải.
Máy quét cần hình học sạch sẽ hơn là trang trí hình ảnh. Thay đổi kích thước hình QR với làm mịn có thể làm mờ các cạnh mô-đun. Kéo giãn nó sẽ biến các ô vuông thành hình chữ nhật. Đặt logo, chữ hoặc mẫu lên các mô-đun sẽ loại bỏ dữ liệu và buộc hệ thống sửa lỗi phải bù đắp. Một thiết kế có thể quét được trên một điện thoại dưới ánh sáng lý tưởng nhưng lại thất bại trên thiết bị khác, kích thước in, góc hoặc bề mặt khác.
Sửa lỗi rất hữu ích, nhưng không phải là phép màu
Mã QR cung cấp bốn cấp độ sửa lỗi tiêu chuẩn: L, M, Q và H. DENSO WAVE mô tả mức phục hồi xấp xỉ 7, 15, 25 và 30 phần trăm tổng số từ mã. Sử dụng mức sửa lỗi cao hơn sẽ tốn nhiều không gian hơn, điều này có thể làm biểu tượng trở nên đặc hơn hoặc cần một phiên bản lớn hơn để chứa cùng một lượng dữ liệu.
Những tỷ lệ phần trăm đó không có nghĩa là bạn có thể che phủ cùng một phần bất cứ nơi nào bạn muốn. Tổn hại đối với các mẫu tìm kiếm, mờ nặng, độ tương phản thấp, biến dạng hoặc vùng yên tĩnh bị thiếu có thể ngăn máy quét định vị lưới hoàn toàn. Khả năng phục hồi cũng phụ thuộc vào cách tổn hại được phân bố. Hãy kiểm tra kết quả in ấn hoặc hiển thị cuối cùng, không chỉ tập tin gốc.
Tại sao Mã QR lại trở nên lớn hơn hoặc đặc hơn
Dung lượng phụ thuộc vào phiên bản, mức độ sửa lỗi và chế độ dữ liệu. Dữ liệu số có thể được mã hóa gọn hơn so với các byte tùy ý. Một URL ngắn thường tạo ra ký hiệu đơn giản hơn so với một URL dài chứa đầy các tham số theo dõi. Thêm nhiều dữ liệu hơn hoặc chọn mức sửa lỗi mạnh hơn có thể làm mã chuyển sang phiên bản lớn hơn với nhiều module hơn.
DENSO WAVE liệt kê số ký tự số tối đa lý thuyết là 7.089 cho Mô hình 2 Phiên bản 40 ở mức sửa lỗi thấp nhất. Giới hạn đó không phải là mục tiêu thực tế cho việc quét bằng điện thoại. Một gói dữ liệu nhỏ gọn, kích thước module vật lý phù hợp, độ tương phản cao, và vùng im bốn module thường hữu ích hơn là cố tối đa hóa dung lượng.
Cách tạo mã QR đáng tin cậy
- Sử dụng gói dữ liệu chính xác ngắn nhất mà bạn kiểm soát. Loại bỏ các tham số theo dõi không cần thiết khi chúng không bắt buộc.
- Giữ các module tối trên nền sáng, đơn giản với độ tương phản mạnh.
- Duy trì một vùng yên tĩnh rộng ít nhất bốn module xung quanh mã QR chuẩn.
- Thay đổi kích thước bằng phương pháp lân cận hoặc đầu ra vector để các cạnh module giữ được hình vuông và sắc nét.
- Không kéo giãn ký hiệu hoặc đặt đồ họa lên các mẫu cấu trúc.
- Kiểm tra kích thước hiển thị hoặc in cuối cùng với nhiều thiết bị, khoảng cách, góc nhìn và điều kiện ánh sáng khác nhau.
Bạn có thể sử dụng trình tạo mã QR PetexSpace cho các dữ liệu thông dụng, sau đó xác minh kết quả với trình đọc mã QR. Việc đọc lại tệp xuất của chính bạn giúp phát hiện các vấn đề về cắt ngắn, định dạng và quét trước khi chia sẻ mã.

Một lần quét là dữ liệu, không phải tín hiệu tin cậy
Mã QR có thể ẩn một điểm đến khỏi tầm nhìn thông thường. Trước khi mở một liên kết đã giải mã, hãy kiểm tra tên miền và tìm các lỗi chính tả, tên miền phụ bất ngờ, hoặc điểm đến khác với những gì biển hiệu hoặc tin nhắn đã hứa. Hãy cẩn trọng khi một mã yêu cầu thông tin đăng nhập, thanh toán, cài đặt ứng dụng, quyền truy cập thiết bị hoặc hành động gấp.
- Ưu tiên sử dụng chế độ xem trước của camera tích hợp sẵn hoặc một ứng dụng đọc mã hiển thị điểm đến đã giải mã trước khi mở nó.
- Đừng cho rằng mã in ra là đáng tin cậy chỉ vì biển hiệu xung quanh trông chuyên nghiệp. Một miếng dán có thể che mã gốc.
- Nếu điểm đến yêu cầu bạn đăng nhập, hãy mở dịch vụ đã biết một cách độc lập khi có thể.
- Hãy đối xử với các tệp tải xuống và các lời nhắc cấu hình với cùng mức độ cảnh giác như các liên kết nhận được qua email hoặc tin nhắn.
Ý tưởng cốt yếu
Ba mẫu ở góc giúp máy quét tìm lưới. Cấu trúc còn lại cho nó biết cách đọc và sửa payload. Mã tin cậy bảo toàn hình học, độ tương phản, kích thước module, và vùng yên tĩnh. Quét an toàn thêm một bước nữa: kiểm tra những gì đã được giải mã trước khi tin vào nơi nó dẫn tới.
Tham khảo chính
DENSO WAVE: Đặc điểm và cấu trúc mã QR. DENSO WAVE: Sửa lỗi. DENSO WAVE: Vùng yên tĩnh cần thiết.