Trust Tag · Proces

Sześć kroków, w których powstaje zaufanie

Od programowania chipu NTAG 424 DNA, przez wpis do blockchain, aż po weryfikację algorytmem AES-128 CMAC i prezentację certyfikatu klientowi.

01

Programowanie tagu

Inicjalizacja chipu NTAG 424 DNA

  • Generowanie unikalnego identyfikatora UID dla każdego egzemplarza.
  • Zapis klucza AES-128 w bezpiecznej, niewydobywalnej pamięci chipu.
  • Inicjalizacja licznika CTR (Counter) na wartość 00000001.
  • Obliczenie pierwszego MAC algorytmem CMAC zgodnym z NIST SP 800-38B.

Przykład danych tagu

UID
0401020304050607
Klucz AES
2b7e151628aed2a6abf7158809cf4f3c
CTR
00000001
MAC
d6a0311fffec7ad91e1edfcd808c70d5
02

Zapis w bazie danych

Bezpieczne powiązanie tagu z produktem

  • UID powiązany z konkretnym egzemplarzem produktu.
  • Zaszyfrowany klucz kryptograficzny AES-128.
  • Metadane produktu — nazwa, model, numer seryjny, partia.
  • Data programowania i bieżący status (aktywny / nieaktywny).

Struktura rekordu

{
  "uid": "0401020304050607",
  "aes_key": "encrypted_key_here",
  "product_info": {
    "name": "Sneakers Model X",
    "model": "SNK-2024",
    "serial": "SN-245-2025-GD"
  },
  "created_at": "2025-06-15T10:30:00Z",
  "status": "active"
}
03

Wpis w blockchain

Niezmienne przypisanie tagu do produktu

  • Hash danych tagu trafia do transakcji w łańcuchu bloków.
  • Trwałe i niemodyfikowalne powiązanie UID z egzemplarzem produktu.
  • Logowanie każdej weryfikacji oraz zmiany statusu.
  • Niezależna weryfikowalność przez każdego uczestnika łańcucha dostaw.

Logowane zdarzenia

  • Programowanie tagu
  • Przypisanie do produktu
  • Każda weryfikacja
  • Zmiana statusu
  • Próby nieautoryzowanego dostępu
04

Skanowanie przez klienta

Odczyt danych z chipu telefonem

  • Klient przybliża telefon do oznaczonego miejsca na produkcie.
  • Telefon odczytuje UID, CTR i MAC bezpośrednio z chipu.
  • iOS i Android automatycznie otwierają URL z parametrami.
  • Klient ląduje na stronie weryfikacji — bez aplikacji i bez logowania.

Adres po skanowaniu

https://dpp.com.pl/trust_tag/verify
  ?uid=0401020304050607
  &ctr=00000001
  &mac=d6a0311fffec7ad91e1edfcd808c70d5
05

Weryfikacja serwerowa

Kryptograficzne sprawdzenie autentyczności

  • Serwer pobiera klucz AES powiązany z danym UID.
  • Wylicza oczekiwany MAC algorytmem CMAC opartym na AES-128.
  • Porównuje wartość wyliczoną z wartością odczytaną z tagu.
  • Sprawdza status tagu w blockchain i loguje próbę weryfikacji.

Algorytm CMAC

MAC = CMAC(AES-128, UID || CTR)

if (MAC == received_MAC) {
  return "AUTHENTIC"
} else {
  return "COUNTERFEIT"
}
06

Wynik + paszport

Jednoznaczna informacja zwrotna dla klienta

  • Klient widzi jasny status: oryginał, podróbka, nieznany lub dezaktywowany.
  • Wraz z wynikiem prezentowany jest Cyfrowy Paszport Produktu.
  • Producent uzyskuje wiarygodne dane analityczne o skanowaniach.
  • Negatywne weryfikacje stanowią sygnał wczesnego ostrzegania.

Możliwe wyniki

  • AutentycznyMAC się zgadza, tag jest oryginalny.
  • PodróbkaMAC niezgodny — próba fałszerstwa.
  • NieznanyUID nie istnieje w bazie danych.
  • DezaktywowanyTag został wyłączony.

Bezpieczeństwo całego łańcucha

Klucz AES nigdy nie opuszcza chipu ani środowiska serwera. Dane logowane w blockchain są niezmienne — niezależnie audytowalne przez każdego uczestnika łańcucha dostaw.

Klucz nie do wydobycia

Chip NTAG 424 DNA przechowuje klucz w pamięci niewyciągalnej. Nawet posiadanie fizycznego tagu nie umożliwia jego sklonowania.

Odporność na replay

Licznik CTR rośnie z każdym odczytem. Przechwycenie zapytania nie pozwala na powtórzenie weryfikacji innym tagiem.