Mã QR chống giả: kết hợp mã riêng với nhật ký quét

Mã QR chống giả: kết hợp mã riêng với nhật ký quét
Mã QR chống giả: kết hợp mã riêng với nhật ký quét

Làm sao biết một tem bị sao chép khi hình QR trên bản thật và bản in lại giống hệt nhau? Câu hỏi xuất hiện tại hãng mỹ phẩm An Lành sau khi mã của hộp serum số AL26-01842 được quét ở Bình Dương lúc 9:14, rồi xuất hiện tại Hà Nội lúc 16:38 cùng ngày. Trang cũ chỉ hiện thông tin sản phẩm nên cả hai người mua đều thấy một màn hình màu xanh.

Đội kỹ thuật đổi sang mô hình mỗi tem một mã riêng, có chữ ký và nhật ký lượt quét. Hệ thống không vội kết luận hàng giả từ một tín hiệu. Nó ghi thời gian, vùng ước lượng, serial, thiết bị và nhịp lặp để tạo cảnh báo cho bộ phận kiểm soát xem lại.

Bước 1: Chọn dữ liệu riêng cho từng tem

Bước 1: Chọn dữ liệu riêng cho từng tem
Bước 1: Chọn dữ liệu riêng cho từng tem

An Lành bắt đầu với lô SR2608 gồm 12.000 hộp serum. Mỗi hộp nhận một serial từ SR2608-000001 đến SR2608-012000. Serial in bằng chữ dưới mã để nhân viên hỗ trợ còn đọc được khi tem xước hoặc camera không lấy nét.

Bản ghi của một tem có sáu trường: mã sản phẩm, mã lô, serial, ngày phát hành, trạng thái và phiên bản khóa. Trạng thái ban đầu là ISSUED. Khi xưởng báo tem hỏng, bản ghi chuyển sang VOID và không được ghép lại cho hộp khác.

URL mẫu là check.anlanh.vn/s/SR2608-001842?t=8F3KQ9. Phần sau /s/ xác định tem, còn t là chữ ký rút gọn do máy chủ phát hành. Nếu ai đổi serial mà giữ nguyên t, bước xác minh sẽ trả về sai chữ ký.

Nhóm không đưa tên khách, số điện thoại hoặc vị trí vào mã. Những dữ liệu đó không cần cho việc nhận diện tem và làm chuỗi dài thêm. Hồ sơ sản phẩm được lấy từ mã sản phẩm trên máy chủ sau khi serial hợp lệ.

Trước khi sang bước kế, kỹ sư xuất 100 bản ghi thử. Một script tìm serial trùng, chữ ký rỗng, lô sai và URL vượt giới hạn nội bộ. Ba dòng bị lặp do file Excel sao chép được loại rồi phát hành lại bằng serial mới.

Bước 2: Ký URL và đặt quy tắc xác minh

Bước 2: Ký URL và đặt quy tắc xác minh
Bước 2: Ký URL và đặt quy tắc xác minh

Dịch vụ phát hành ghép serial, mã lô và phiên bản khóa rồi tính HMAC-SHA256 bằng khóa bí mật. HMAC là mã xác thực có khóa; máy chủ có thể tính lại để kiểm dữ liệu đã bị sửa hay chưa. Khóa nằm trong kho bí mật của hệ thống, không gửi cho xưởng in.

Khi nhận lượt quét, máy chủ thực hiện bốn kiểm tra theo thứ tự. Nó kiểm cấu trúc URL, tính lại chữ ký, đọc trạng thái serial rồi tìm hồ sơ lô. Thứ tự này chặn chuỗi lỗi sớm và tránh truy vấn dữ liệu sản phẩm khi mã đã sai.

  1. URL thiếu serial hoặc chữ ký được trả về trang hướng dẫn nhập mã chữ.
  2. Chữ ký lệch nhận trạng thái INVALID_SIGNATURE.
  3. Serial VOID nhận cảnh báo tem đã hủy.
  4. Serial hợp lệ được ghi lượt quét trước khi mở hồ sơ sản phẩm.

Đội đặt giới hạn 30 yêu cầu mỗi phút cho một địa chỉ mạng để giảm việc dò serial hàng loạt. Các lượt vượt ngưỡng vẫn vào nhật ký bảo mật nhưng không trả chi tiết lô. Màn hình khách chỉ dùng câu dễ hiểu và mã hỗ trợ ngắn.

Bước 3: Tạo mã QR chống giả trên một mẫu chuẩn

Bước 3: Tạo mã QR chống giả trên một mẫu chuẩn
Bước 3: Tạo mã QR chống giả trên một mẫu chuẩn

Designer lấy URL của serial thử 000001 và mở tạo mã QR trên mona.media bằng trình duyệt. Công cụ cho tạo miễn phí, tải PNG hoặc SVG, gắn logo và có VietQR cho đầu việc nhận tiền. Mẫu tem chọn SVG để các ô giữ cạnh sắc khi dàn trang.

Mã có cạnh 18 mm trên tem vỡ 25 x 30 mm, vùng trắng 2 mm mỗi phía. Logo An Lành không đặt vào giữa vì diện tích in nhỏ. Tên thương hiệu và serial nằm ngoài vùng quét, dùng mực đen trên nền bạc mờ.

Lúc tạo mã QR chống giả, nhóm thử mức sửa lỗi M và Q. Mức Q tạo lưới dày hơn với URL hiện có, còn mức M vẫn đọc sau khi tem bị xước nhẹ ở góc. Họ chọn M dựa trên 60 lượt quét mẫu, không dựa vào hình xem trước.

SVG được mở trong Adobe Illustrator ở tỷ lệ 100%. Designer khóa lớp mã, tắt tùy chọn làm tròn góc và không đặt hiệu ứng bóng. Bản PDF/X-4 xuất ra được bộ phận kỹ thuật kiểm lại URL trước khi duyệt.

Một tờ in kỹ thuật gồm 20 tem được dán lên hộp giấy phủ màng mờ. iPhone XR, Samsung A15 và Xiaomi Redmi Note 11 quét ở khoảng cách 12 đến 25 cm. Mỗi máy thử dưới đèn trắng, gần cửa kính và trong phòng kho.

Bước 4: Sinh lô 12.000 mã rồi kiểm khâu in

Sau khi mẫu đạt, dịch vụ xuất CSV với 12.000 URL đã ký. Bộ sinh mã theo lô tạo từng SVG và đặt tên bằng serial.

Trước khi gửi xưởng, script giải mã lại toàn bộ ảnh và so kết quả với CSV nguồn. Báo cáo cần đủ 12.000 URL, không trùng serial và không có file trắng. Mã nào đọc sai bị dừng khỏi lệnh in thay vì tự bỏ qua.

Cuộn tem rộng 105 mm, chia ba hàng. Cứ 500 tem, xưởng in một dấu kiểm soát ở mép cuộn và quét ba vị trí đầu, giữa, cuối đoạn. Số cuộn, giờ máy chạy và người vận hành được ghi vào biên bản.

Trong lần chạy đầu, hàng thứ ba bị dịch 1,4 mm khiến serial chữ của 86 tem không khớp hình. Cuộn được cách ly, các serial liên quan chuyển sang VOID và 86 serial thay thế được phát hành. Tem lỗi bị nghiền theo biên bản, không quay lại kho vật tư.

Khi tạo mã QR chống giả theo số lượng lớn, file duyệt một mã chỉ xác nhận bố cục. Bài kiểm giải mã toàn lô mới xác nhận dữ liệu. Hai kết quả cần được ký riêng trước khi tem chuyển tới dây chuyền đóng hộp.

Bước 5: Ghi nhật ký và phát hiện hai tỉnh trong một ngày

Mỗi lượt quét hợp lệ tạo một dòng gồm serial, thời gian máy chủ, vùng ước lượng từ IP, loại thiết bị, kết quả chữ ký và mã phiên. Hệ thống không đòi quyền GPS từ khách. Vị trí cấp tỉnh chỉ là tín hiệu sàng lọc, có thể sai khi người dùng bật VPN hoặc đi qua mạng di động.

Quy tắc đầu tiên tìm cùng serial ở hai tỉnh cách xa trong 24 giờ. Với SR2608-001842, khoảng cách Bình Dương và Hà Nội vượt ngưỡng 300 km, thời gian cách nhau 7 giờ 24 phút. Hệ thống tạo cảnh báo GEO_24H và đưa cả hai lượt vào cùng hồ sơ.

Quy tắc thứ hai theo dõi tần suất. Một tem có hơn 15 lượt quét từ năm thiết bị trong một giờ nhận nhãn BURST_SCAN. Quy tắc thứ ba tìm serial xuất hiện trước ngày lô được giao tới đại lý, dấu hiệu file hoặc tem đã rời quy trình sớm.

Tín hiệu Ngưỡng thử nghiệm Cách xử lý đầu
Hai tỉnh trong 24 giờ Cách nhau trên 300 km Kiểm đại lý và ảnh hộp
Quét dồn Trên 15 lượt/giờ So thiết bị, mạng và kênh bán
Quét trước phân phối Sớm hơn ngày giao Khóa tem, rà kho

Một cảnh báo chưa tự đổi trang khách sang “hàng giả”. Bộ phận kiểm soát xem ảnh, hóa đơn, nơi mua và lịch phân phối trước. Nếu bằng chứng đủ, serial chuyển sang REVIEW hoặc BLOCKED; các lượt quét sau nhận hướng dẫn liên hệ.

Nhật ký giữ cả quyết định của người xử lý. Hồ sơ ghi ai mở cảnh báo, ghi chú gì, khi nào đổi trạng thái và bằng chứng nào được đính kèm. Đây là phần giúp nhóm xem lại trường hợp báo nhầm do VPN hoặc đại lý chuyển hàng giữa tỉnh.

Bước 6: Chạy thử, phản hồi cảnh báo và đo kết quả

An Lành thử trên 600 hộp phân cho ba đại lý ở TP.HCM, Bình Dương và Đồng Nai. Nhân viên chủ động quét 60 tem ở kho, tại quầy và sau khi giao khách. Sau bảy ngày, hệ thống ghi 214 lượt hợp lệ, hai cảnh báo vị trí và một cảnh báo quét dồn.

Cảnh báo đầu do nhân viên dùng VPN đặt máy chủ Hà Nội, được đóng với lý do FALSE_POSITIVE. Cảnh báo thứ hai là tem Bình Dương được chụp gửi cho người mua ở Hà Nội; đại lý xác nhận đã gửi ảnh tư vấn. Cảnh báo quét dồn đến từ bài kiểm nội bộ chưa gắn cờ test.

Nhóm thêm danh sách tài khoản kiểm thử và trường source=test để lượt nội bộ không làm bẩn báo cáo. Ngưỡng vị trí vẫn giữ 300 km nhưng giao diện hiển thị độ tin cậy của vùng IP. Nhân viên được yêu cầu gọi đại lý trước khi khóa serial.

Kịch bản phản hồi có ba mức. REVIEW giữ trang thông tin và thêm lời nhắn đang kiểm; BLOCKED dừng trang sản phẩm, yêu cầu gửi ảnh; CLEARED đóng cảnh báo và giữ lý do. Mỗi mức có người được quyền duyệt, tránh một tài khoản tự khóa hàng loạt.

Sau đợt thử, đội phát hành 12.000 tem với dashboard theo lô và đại lý. Báo cáo tuần đếm serial đã quét, cảnh báo mở, thời gian xử lý và tỷ lệ báo nhầm. Nếu một đại lý có nhiều tem xuất hiện ở tỉnh ngoài vùng bán, kiểm soát thị trường nhận danh sách để làm việc.

Tạo mã QR chống giả đem lại dữ liệu khi mỗi tem có serial riêng và máy chủ giữ được lịch sử quét. Hình in vẫn có thể bị chụp, nên chữ ký, quy tắc vị trí, tần suất và quy trình xác minh cần đi cùng nhau. Với hồ sơ đủ dấu, An Lành biết phải kiểm tem nào, hỏi đại lý nào và dựa vào lượt quét cụ thể nào.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Loading...