RFID Guardian Use-Animal

From RFID Wiki

It is estimated that some fifty million house pets around the world have RFID tags implanted in their bodies, to facilitate return to their owners should they become lost. The standard for animal identification is ISO 11784 and 11785. The first standard specifies the RFID code for use with animals and the second standard deals with activation of a transponder and the transfer of stored transponder information to a transceiver.


The animal identification system works as follows:


Pet owners bring their pets to a veterinarian, who plants a microchip under the skin of the pet. The microchip contains a unique identification number within biocompatible material. The microchip is the size of a grain of rice (approximately 12mm), and cannot be seen in the pet once it has been implanted. If the animal gets lost and is brought to a shelter, the clerk can use a reader to retrieve the tag ID from the RFID tag and use it to search for relevant information in a large database. If this search succeeds, the clerk will contact the owners of this animal. If the pet is not registered, the database will provide the name of the veterinarian who injected the microchip and the veterinarian will provide the owner's latest information.


The details for retrieving information from the tag between applications. For example AVID (one of the largest vendors for pet ID in USA) encrypts the data in its pet ID tags. If a lost pet implanted with such an encrypted AVID tag is brought to a shelter or vet, most readers will read the tag's encrypted ID number but won't be able to decrypt it unless the reader has a special algorithm. This forces the shelter or vet to contact AVID to get it decrypted before they can look it up in an AVID-operated database to locate the pet's owner


UML Object Model


Image:Animal.png


UML Sequence Model


Image:Uml_seq_animal.png


Sample ACL

###################
# Animal rules
###################
context trusted;

# By default, we leave RFID traffic alone
rule P15693 ACCEPT
{
    context = *;
    role = *;
    tags = *;
    query = { command = *; };
};

# Deny others to read my pets ID
rule P15693 DENY
{
    context = *;
    role = *;
    tags = @MY_TAGS;
    query = { command = *; };
};

# Allow pet service to read
rule P15693 ACCEPT
{
    context = trusted;
    role = LEGAL_READER;
    tags = @MY_TAGS;
    query = { command = *; };
};