wyklad3 rfid


Systemy automatycznej
identyfikacji w przedsiębiorstwie
(cz.2: RFID i karty elektroniczne)
Adrian KAPCZYCSKI
adriank@polsl.pl
Wprowadzenie
Automatyczna identyfikacja
& oznakowanych towarów
& czyli odczytywanie danych, które pozwalają
jednoznacznie zidentyfikować obiekt
jednoznacznie zidentyfikować obiekt
Kody kreskowe  posiadają szereg zalet, ale
równie\ istotną wadę (komunikacja jednostronna)
Ciekawą alternatywą są identyfikatory radiowe
RFID (ang. Radio Frequency IDentifiers)
Definicja
RFID  system kontroli przepływu towarów
w oparciu o zdalny odczyt i zapis danych z
wykorzystaniem specjalnych układów
elektronicznych przytwierdzonych do
elektronicznych przytwierdzonych do
nadzorowanych przedmiotów
Niekiedy technologia RFID nazywana jest  radiowym
kodem kreskowym
RFID a Kody kreskowe
Oba rozwiązania słu\ą do identyfikacji, odczyt jest
realizowany przez czytnik
Rozwiązanie optyczne vs. rozwiązanie radiowe
RFID oferuje większe mo\liwości
Historia systemów RFID
Lata 40-te XX w. - urządzenia na bazie
wykrywaczy metali
Lata 60-te XX w. - systemy antykradzie\owe
Lata 60-te XX w. - systemy antykradzie\owe
oparte o dekodowanie nalepki z obwodem
rezonansowym lub systemy magneto-akustyczne
wykorzystujące namagnesowane blaszki
Lata 70-te XXw.  identyfikacja radiowa
Budowa systemu
Anteny
Czytnik zawierający nadajnik wysokiej
częstotliwości i dekoder
częstotliwości i dekoder
Transpondery (znaczniki, tagi)
aktywne - wyposa\one we własne zródło zasilania
pasywne (rozm. od 0.4 mm 0.4 mm)
nalepka, \eton, etc.
Rodzaje znaczników
Aktywne
Mają wbudowaną baterię i z niej czerpią energię do
transmisji danych
Du\a odległość odczytu (do 100m)
Du\a odległość odczytu (do 100m)
Wadą jest relatywnie wysoka cena
Pasywne
Czerpią energię z czytnika, działają na zasadzie fali
odbitej
Tanie, o małym zasięgu (do 13m)
Standardy RFID
Tiris, Q5, Icode
Unique (RCP)
125 kHz, 2 kb/s
125 kHz, 2 kb/s
Hitag (Znakowanie zwierząt)
125 kHz, 4 kb/s
Mifare (karty bankowe)
13,56 MHz, 106 kb/s;
Tagi RFID
Tagi RFID
Tagi RFID
Tagi RFID
Tagi RFID
Tagi RFID
Działanie systemu
Czytnik za pomocą nadajnika wytwarza pole
elektromagnetyczne wokół anteny i dekoduje
odpowiedzi znaczników
Znaczniki pasywne zasilane są za pomocą tego
pola - po zgromadzeniu przez kondensator
wystarczającej ilości energii wysyłana jest
odpowiedz
Działanie systemu  cd.
Częstotliwość 125 kHz pozwala na odczyt z
odległości nie większej ni\ 0.5 m,
Częstotliwość 13.56 MHz pozwala na odczyt z
Częstotliwość 13.56 MHz pozwala na odczyt z
odległości ok. 1-3 m
868 do 956 MHz, 2.4 GHz, 5.8 GHz pozwala na
odczyt z odległości ponad 3 m
Działanie systemu  cd.
http://www.hadatap.pl/rfid1.php
Zastosowania
Systemy logistyczne
Kontrola w procesach produkcyjnych
Kontrola stanów magazynowych
Kontrola stanów magazynowych
Przyjęcia i wydania towarów
Biblioteki
Archiwa, itp.
EPC
Elektroniczny Kod Produktu
 kod kreskowy nowej generacji
 radiowy kod kreskowy
Sieć EPC Global
Identyfikacja poprzez częstotliwość radiową
Internet (produkt zaopatrzony w znacznik jest widoczny
w całym łańcuchu dostaw na bie\ąco)
Zastosowania  przykład 1 (hurtownia)
Zastosowania  przykład 2 (park rozrywki)
Automatyczna lokalizacja wielu obiektów (w
ruchu) na du\ym obszarze
Najmłodsi goście legolandu dostają opaskę na
nadgarstek, w której zamontowana jest aktywna etykieta
RFID
Rodzice zostawiają numer swojego telefonu
komórkowego i otrzymują mapkę parku z siatką dzielącą
jego obszar na kwadraty 10 m x 10 m
Zastosowania  przykład 3 (muzeum)
Bezpieczeństwo eksponatów
Urządzenie nie mo\e przeszkadzać zwiedzającym
Mo\liwość przeprowadzania  automatycznego audytu
Ka\da etykieta emituje sygnał co 15 sekund
Etykiety mają własne zasilanie wystarczające na 5 lat
Alarm podnoszony jest natychmiast, gdy sygnał
z którejkolwiek etykiety nie zostanie zarejestrowany
Zastosowania  przykład 4 (szpital)
Lokalizacja obiektu
"Kiedyś, gdy pracowałem w laboratoriach naszego
instytutu, nikt nie mógł odnalezć swojego fartuchawśród
całej masy podobnych
całej masy podobnych
 Na długiej ladzie rozło\one są papierowe torby z
fartuchami, pakowanymi po 6 sztuk. Przychodzę po
fartuch, przesuwam swój identyfikator przed czytnikiem i
wciskam przycisk "szukaj". Czytnik jest podwieszony do
szyny więc przesuwa się i sygnalizuje gdy znajdzie się
nad moim fartuchem. Całość trwa sekundy
Dlaczego stosować RFID ?
Mo\liwość odczytu/zapisu wielu etykiet
Odczyt/zapis nie wymaga widoczności etykiety
Mo\liwość modyfikacji wpisów na etykiecie
Mo\liwość modyfikacji wpisów na etykiecie
Działanie w  trudnych warunkach zewnętrznych
Szybka transmisja (szyfrowanych) danych
Minimalizacja błędów przy kolekcjonowaniu danych
Karty elektroniczne (smart cards)
Charakteryzują się wbudowanym układem
scalonym, który posiada elementy słu\ące do
transmisji danych, przechowywania danych oraz
przetwarzania danych
przetwarzania danych
Przekazywanie danych mo\e następować
Stykowo
Bezstykowo (pole elektromagnetyczne)
Karty elektroniczne (smart cards)
Cechy karty elektronicznej
Pamięć (RAM, ROM, EEPROM)
Pamięć (RAM, ROM, EEPROM)
Dostęp przez interfejs szeregowy
Logika zabezpieczająca
Obróbka danych w środowisku karty
Z pamięcią lub mikroprocesorowe (8-bit lub 16-bit)
Karty elektroniczne (przykład)
Środowisko BasicCard
http://www.basiccard.com/
Czytniki kart
CyberMouse
Microsoft PC/SC compatible smart
card reader/writer
Czytniki kart Balance reader
Algorytmy
klucza publicznego
Opis Klucz
Nazwa
RSA Rivest-Shamir-Adleman algorithm 1024 bits
EC-167 Elliptic Curve Cryptography over the field GF(2167 ) 167 bits
EC-161 Elliptic Curve Cryptography over the field GF(2168 ) 161 bits
symetryczne
symetryczne
Opis Klucz
Nazwa
EAX Encryption with Authentication for Transfer (using AES) 128/192/
256 bits
OMAC One-Key CBC-MAC (using AES) 128/192/
256 bits
AES Advanced Encryption Standard 128/192/
256 bits
DES Data Encryption Standard 56/112 bits
SG-LFSR Shrinking Generator  Linear Feedback Shift Register 64 bits
IDEA International Data Encryption Algorithm 128 bits
Inne
Funkcjeskrótu
Opis
Nazwa
SHA-1 Secure Hash Algorithm, revision 1
SHA-1 Secure Hash Algorithm, revision 1
Protokoły komunikacyjne
Opis
Nazwa
T=0 Byte-level transmission protocol (GSM, French Bank Card)
T=1 Block-level transmission protocol (Geldkarte Germany)
Komunikacja ze światem zewnętrznym
Dwukierunkowy kontakt wejścia-wyjścia
Komunikacja odbywa się:
Szeregowo, z prędkością 9600 bodów
Zgodnie z protokołem polecenie-odpowiedz
Zgodnie z protokołem polecenie-odpowiedz
command-response protocol
standard ISO: 7816-3 oraz 7816-4
Przebieg komunikacji
Terminal Czytnik Karta procesorowa
Terminal Czytnik Karta procesorowa
resetuj kartę
odpowiedz na reset
polecenie
odpowiedz
polecenie
odpowiedz
itd...
Przebieg komunikacji
Reset karty inicjuje połączenie
Nawiązanie połączenia
Sygnał ATR (answer to reset)
karta ustawia się w tryb oczekiwania na polecenia
jest stroną pasywną
Polecenie - wydawane przez terminal
Karta wykonuje i zwraca odpowiedz
Środowisko kart inteligentnych
Ukrywa przed programistą zagadnienia związane
z protokołem wymiany danych
Kod programu napisany w języku ZC Basic
Po skompilowaniu przechowywany w pamięci EEPROM
Po skompilowaniu przechowywany w pamięci EEPROM
Kompilacja do tzw. P-Kodu,
Język wirtualnej maszyny
niezale\ny od maszyny (wyglądający jak kod maszynowy)
P-Kod przesyłany do karty
Wykonywany przez interpreter
Pamięć
RAM zawiera
Bie\ące dane
Dane stałe
Katalogowy system plików*
Wywołanie polecenia dla karty
Zdefiniowanie polecenia w programie karty
i zaprogramowanie go jak zwykłej procedury
Przypisanie jednoznacznego dwubajtowego
Przypisanie jednoznacznego dwubajtowego
identyfikatora dla polecenia
Wywołanie polecenia z wnętrza programu
terminalowego
Wywołanie polecenia dla karty (P)
Program karty:
Eeprom CustomerCredits ' deklaracja stałej
Command &H20 &H01 GetCustomerCredits (Credits)
Credits = CustomerCredits
Credits = CustomerCredits
End Command
Program terminala:
Const swCommandOK = &H9000
Declare Command &H20 &H01 GetCustomerCredits (Credits)
Status = GetCustomerCredits (Credits)
If Status <> swCommandOK Then GoTo CancelTransaction
Kod powrotu z polecenia
Zdefiniowany jako &H9000
Poprawne wykonanie polecenia
Automatycznie zwracany do miejsca wywołania
Konieczność sprawdzenia jego wartości
Konieczność sprawdzenia jego wartości
Błędy wnoszone przez polecenie
Błędy komunikacji
np. wyjęcie karty z czytnika z czasie trwania sesji
Własności BasicCard
Niska cena
darmowe oprogramowanie
niska cena samych kart
Bezpieczeństwo
wbudowane algorytmy szyfrowania
zastosowanie generatora kluczy kryptograficznych
Zgodność z normami ISO
Własności BasicCard
Aatwość programowania
wystarczy znajomość języka Basic
polecenie dla karty jest definiowane jak zwykła funkcja
system plików na karcie Enhanced
system plików na karcie Enhanced
przypomina DOS-owy system plików
wykorzystanie szyfrowania sprowadza się do włączenia lub
wyłączenia odpowiedniej opcji
Własności Enhanced BasicCard
EC-161 - Elliptic Curve Criptography
SHA-1 - Secure Hash algorithm
IDEA - International Data Encryption Algorithm
DES - Data Encryption Standard
AES - Advanced Encryption Standard
Pakiet programowy
WZCBASIC - kompilator języka ZC Basic
WZCDOS - interpreter P-Kodu, uruchamiający program
ZC Basic w oknie DOS-owym
uruchamia program terminala i jednocześnie mo\e uruchomić
uruchamia program terminala i jednocześnie mo\e uruchomić
program karty
z symulatora lub z rzeczywistej BasicCard
WCBLOAD - ładuje P-Kod do karty
Pakiet programowy
KEYGEN - program generujący
klucze kryptograficzne
wielomiany względnie pierwsze
WBCKEYS - program umo\liwiający przesłanie kluczy do
WBCKEYS - program umo\liwiający przesłanie kluczy do
karty
Struktura programu BasicCard
Kod inicjujący
Definicje procedur
podprogramy
funkcje
polecenia
Sekcje definicji plików
Przykład polecenia  kod błędu
Eeprom Balance As Long
Const InsufficientCredit = &H6F0
Command &H80 &H20 DebitAccount (Amount As Long)
If Balance < Amount Then
If Balance < Amount Then
SW1SW2 = InsufficientCredit
Else
Balance = Balance - Amount
End If
End Command
Dostęp do systemu plików
w karcie Enhanced BasicCard
Z wnętrza BasicCard
mo\liwość ochrony za pomocą haseł, kluczy kryptograficznych
Z poziomu programu terminalowego
nazwa napędu - @:
Terminal -
pliki programu terminalowego
Pliki wykonywalne (*.EXE)
działają w środowisku DOS
brak mo\liwości komunikacji z symulatorem BasicCard
przy wywołaniu polecenia dla karty musi być ona obecna w czytniku
przy wywołaniu polecenia dla karty musi być ona obecna w czytniku
brak mo\liwości samomodyfikacji
nie mo\na u\ywać wyra\eń typu write eeprom
parametry wejściowe - dostępne w predefiniowanej tablicy Param$
Terminal -
pliki programu terminalowego
Pliki obrazu (image files, *.IMG)
większa elastyczność
uruchamialne przez interpreter P-Kodu
mo\liwe jednoczesne uruchomienie programu terminala
mo\liwe jednoczesne uruchomienie programu terminala
i programu karty
mo\liwość komunikacji z symulatorem BasicCard
mo\na stosować dane stałe - typu eeprom
Pliki debugger a (*.DBG)
struktura jak plików obrazu
dołączone informacje dla debugger a - ZCDD
Struktura programu terminalowego
W skład programu terminalowego wchodzą:
procedura główna
definicje procedur - funkcje i podprogramy
deklaracje poleceń
Deklaracje poleceń
Declare Command &H80 &H10 GetCustomerName (Name$)
Declare Command &H80 &H20 DebitAccount (Amount As Long)
Declare Command &H80 &H30 ChangeBalance (NewBalance As
Long)
Wywoływanie komend jest takie jak wywoływanie funkcji:
Wywoływanie komend jest takie jak wywoływanie funkcji:
Status = GetCustomerName (Name$)
If Status <> &H9000 Then
Print "GetCustomerName: Status = &H"; Hex$ (Status)
GoTo Retry
End If
Deklaracje poleceń
Zawsze powinno nastąpić sprawdzenie wartości powrotu
nawet gdy polecenie nie wnosi błędu błąd mo\e wyniknąć z problemów
w czasie komunikacji
usunięcie karty z czytnika w czasie odczytu
Mo\na u\yć predefiniowanych zmiennych SW1, SW2, oraz SW1SW2,
przechowują bajty stanu ostatnio wywołanego polecenia:
przechowują bajty stanu ostatnio wywołanego polecenia:
Call GetCustomerName (Name$)
If SW1SW2 <> &H9000 Then
Print "GetCustomerName: Status = &H"; Hex$ (SW1SW2)
GoTo Retry
End If
Program na karcie (P)
Deklaracje
Eeprom UserPassword$ As String = "1234"
Public Authed As Byte = 0
Private Pwd As String
Komendy
Command &H23 &H04 Logout()
Authed = 0
User = 0
End Command
Command &H21 &H02 Login(Username$ As String, Password$ As String )
Command &H22 &H03 Password(Username$ As String, Password$ As String )
Program terminala
Print "Podaj nowe haslo: "
' wczytaj nowe haslo uzytkownika
Private Pwd1$ : Line Input Pwd1$
Call Password("user1",Pwd1$)
Call Password("user1",Pwd1$)
Print Pwd1$
Line Input Pwd2$
Call Calculator (Expression$) : Call CheckSW1SW2()
Print "Wynik = " + Expression$
Call Logout()
Pytania
Dziękuję


Wyszukiwarka

Podobne podstrony:
Sieci komputerowe wyklady dr Furtak
Wykład 05 Opadanie i fluidyzacja
WYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznej
mo3 wykladyJJ
ZARZĄDZANIE WARTOŚCIĄ PRZEDSIĘBIORSTWA Z DNIA 26 MARZEC 2011 WYKŁAD NR 3
Wyklad 2 PNOP 08 9 zaoczne
Wyklad studport 8
Kryptografia wyklad
Budownictwo Ogolne II zaoczne wyklad 13 ppoz
wyklad09
Sporzadzanie rachunku przepływów pienieżnych wykład 1 i 2
fcs wyklad 5
Wyklad08 Zaopatrz wWode

więcej podobnych podstron