UTILIZAÇÃO DE NEAR-FIELD COMMUNICATION EM DISPOSITIVOS MÓVEIS

131
UNIVERSIDADE PRESBITERIANA MACKENZIE ROGER TADEU DOS SANTOS UTILIZAÇÃO DE NEAR-FIELD COMMUNICATION EM DISPOSITIVOS MÓVEIS São Paulo 2012

description

O objetivo deste trabalho é o estudo da tecnologia Near-Field Communication para construção de uma aplicação para dispositivos móveis com funcionalidades relativas a pagamentos de tarifas de sistemas de transportes. Um sistema será desenvolvido para dar suporte à utilização de dispositivos móveis, tags e um leitor NFC. Este sistema será construído com uma arquitetura de integração entre os dispositivos NFC utilizados e utilizará os modos de operação peer-to-peer e leitura/escrita da tecnologia NFC. A aplicação será apoiada por um dispositivo móvel com a plataforma Android, através da utilização de sua API para NFC, por um leitor NFC conectado a um computador e por tags NFC. Ao final deste estudo será feita uma análise de implantação da solução fornecida e das vantagens e desvantagens do emprego desta tecnologia.

Transcript of UTILIZAÇÃO DE NEAR-FIELD COMMUNICATION EM DISPOSITIVOS MÓVEIS

  • UNIVERSIDADE PRESBITERIANA MACKENZIE

    ROGER TADEU DOS SANTOS

    UTILIZAO DE NEAR-FIELD COMMUNICATION EM DISPOSITIVOS MVEIS

    So Paulo 2012

  • ROGER TADEU DOS SANTOS

    UTILIZAO DE NEAR-FIELD COMMUNICATION EM DISPOSITIVOS MVEIS

    Trabalho de Concluso de Curso de Ps

    Graduao apresentado Universidade

    Presbiteriana Mackenzie como requisito

    parcial para a obteno do ttulo de

    Especialista em Projeto e Desenvolvimento de Sistemas

    ORIENTADOR: Prof. Dr. Ismar Frango Silveira

    So Paulo

    2012

  • ROGER TADEU DOS SANTOS

    UTILIZAO DE NEAR-FIELD COMMUNICATION EM DISPOSITIVOS MVEIS

    Trabalho de Concluso de Curso de Ps

    Graduao apresentado Universidade

    Presbiteriana Mackenzie como requisito

    parcial para a obteno do ttulo de

    Especialista em Projeto e Desenvolvimento de Sistemas

    Aprovada em 01 de novembro de 2012.

    BANCA EXAMINADORA

    _____________________________________________ Prof. Dr. Ismar Frango Silveira

    Universidade Presbiteriana Mackenzie

    _____________________________________________ Profa. Ms. Ana Cludia Rossi

    Universidade Presbiteriana Mackenzie

  • minha famlia, pelo constante incentivo e

    apoio; a meus amigos, pela confiana na

    realizao deste trabalho.

  • AGRADECIMENTOS

    Ao Dr. Ismar Frango Silveira, minha eterna gratido, por ter sido professor e orientador

    que, com sua competncia, me fez concluir esta empreitada.

    Ms. Ana Cludia Rossi, pelo constante acompanhamento do desenvolvimento deste

    trabalho.

    Ao Adrian Stabiszewski, pelo suporte prestado na utilizao de suas bibliotecas e apoio

    no desenvolvimento deste trabalho.

    Ao Michael Rafael Ruiz, pelo suporte ao desenvolvimento de software para leitores

    NFC da ACS.

    Ao Luiz Carlos Cotrim Guimares Junior, pelo apoio ao desenvolvimento do framework

    para o SQLite da plataforma Android.

    Ao Paulo Henrique Martins, grande amigo, pelo incentivo realizao deste trabalho.

  • RESUMO

    O objetivo deste trabalho o estudo da tecnologia Near-Field Communication para

    construo de uma aplicao para dispositivos mveis com funcionalidades relativas a

    pagamentos de tarifas de sistemas de transportes. Um sistema ser desenvolvido para

    dar suporte utilizao de dispositivos mveis, tags e um leitor NFC. Este sistema ser

    construdo com uma arquitetura de integrao entre os dispositivos NFC utilizados e

    utilizar os modos de operao peer-to-peer e leitura/escrita da tecnologia NFC. A

    aplicao ser apoiada por um dispositivo mvel com a plataforma Android, atravs da

    utilizao de sua API para NFC, por um leitor NFC conectado a um computador e por

    tags NFC. Ao final deste estudo ser feita uma anlise de implantao da soluo

    fornecida e das vantagens e desvantagens do emprego desta tecnologia.

    Palavras-chave: Near-Field Communication, NFC, contactless, dispositivos mveis,

    Android

  • ABSTRACT

    The goal of this work is the study of Near-Field Communication technology to build an

    application for mobile devices supporting payments of transport systems tariffs. A

    system will be developed to support the use of mobile devices, tags and a NFC reader.

    This system will be built with an integration architecture between the devices used and

    will use peer-to-peer and read/write operating modes of NFC. The application will be

    supported by a mobile device based on the Android platform by using its API for NFC,

    a NFC reader connected to a computer and NFC tags. By the end of this study an

    analysis will be in order to evaluate the deployment of the solution provided and the

    advantages and disadvantages of the use of this technology.

    Keywords: Near-Field Communication, NFC, contactless, mobile devices, Android

  • LISTA DE ILUSTRAES

    Figura 1 - O smbolo da tecnologia NFC, conhecido como N-mark .............................. 17

    Figura 2 - Google Wallet: um servio de pagamento eletrnico com NFC .................... 19

    Figura 3 - Comparao de distncia e taxa de transferncia das tecnologias wireless 29

    Figura 4 - Arquitetura de um dispositivo mvel com NFC ............................................. 34

    Figura 5 - Diferena entre a arquitetura NFC de dispositivos mveis seguros e no

    seguros ......................................................................................................................... 35

    Figura 6 - Dispositivos com arquiteturas NFC seguras ................................................. 36

    Figura 7 - Pilha de protocolos do modo leitura/escrita .................................................. 41

    Figura 8 - Representao de uma mensagem NDEF ................................................... 43

    Figura 9 - Representao de um registro NDEF ........................................................... 45

    Figura 10 - Pilha de protocolos do modo peer-to-peer .................................................. 49

    Figura 11 - Pilha de protocolos do modo emulao de cartes .................................... 54

    Figura 12 - Arquitetura da plataforma Android .............................................................. 65

    Figura 13 - Ciclo de vida de uma atividade do Android ................................................. 70

    Figura 14 - Funcionamento do mecanismo de despacho de mensagens ..................... 80

    Figura 15 - Dispositivos NFC utilizados para o desenvolvimento .................................. 81

    Figura 16 - Estrutura de um comando APDU ................................................................ 83

    Figura 17 - Estrutura de uma resposta para um comando APDU ................................. 84

    Figura 18 - Diagrama de casos de uso do sistema ....................................................... 88

    Figura 19 - Diagrama de implantao do sistema ......................................................... 90

    Figura 20 - Diagrama de atividades do caso de uso Solicitar Pagamento .................. 91

    Figura 21 - Tela gerada pelo Android para permitir o envio da mensagem NDEF ........ 94

    Figura 22 - Abas da tela principal da aplicao ............................................................. 95

    Figura 23 - Tela de configurao de conta de usurio .................................................. 96

    Figura 24 - Tela de compra de crditos ......................................................................... 97

    Figura 25 - Tela de configurao da aplicao ............................................................. 98

    Figura 26 - Tela gerada a partir dos dados fornecidos pelo GPS do dispositivo ........... 99

  • Figura 27 - Log de estabelecimento de conexo SNEP para envio de mensagem NDEF

    .................................................................................................................................... 101

    Figura 28 - Diagrama de componentes do sistema ..................................................... 104

    Figura 29 - Pilha de protocolos para o modo peer-to-peer do sistema de pagamentos

    .................................................................................................................................... 105

    Figura 30 - Formato de uma mensagem de pagamento ............................................. 106

    Figura 31 - Diagrama de classes do pacote org.mackenzie.protocol .......................... 108

    Figura 32 - Diagrama de clases do pacote org.mackenzie.crypto ............................... 111

    Figura 33 - Diagrama de classes do pacote org.nfc.mackenzie.context ..................... 112

    Figura 34 - Diagrama de classes do pacote org.nfc.mackenzie.backend ................... 114

    Figura 35 - Diagrama de classes da camada de acesso aos dados ........................... 116

    Figura 36 - Diagrama de classes da camada de regras de negcio ........................... 117

    Figura 37 - Diagrama de classes da camada de apresentao .................................. 118

  • LISTA DE ABREVIATURAS

    AES Advanced Encryption Standard ARR Android Application Record APDU Application Protocol Data Unit ABM Asynchronous Balanced Mode CSMA Carrier Sense Multiple Access ECDH Elliptic Curve Diffie-Hellman ECMA European Computer Manufacturers Association ETSI European Telecommunications Standards Institute XML eXtensible Markup Language GPS Global Positioning System GSM Global System for Mobile Communications HDLC High-Level Data Link Control HC Host Controller HCI Host Controller Interface HCP Host Controller Protocol IEC International Electrotechnical Comission ISO International Organization of Standardization IP Internet Protocol JIS Japanese Industrial Standards JCE Java Criptography Extension LLCP Logical Link Layer Protocol NDK Native Development Kit NPP NDEF Push Protocol NFC Near Field Communication NFCIP Near Field Communication Interface and Protocol NFC Near-Field Communication NFC CLF NFC Contactless Front-end NDEF NFC Data Exchange Format NFC HAL NFC Hardware Abstraction Layer NFC-WI NFC Wired Interface ORM Object Relational Mapping OHA Open Handset Alliance OTA Over The Air PC/SC Personal Computer/Smart Card PCD Proximity Coupling Device PICC Proximity Integrated Circuit Card QR Code Quick Response Code RFID Radio Frequency Identification RF Radiofrequncia

  • RTD Record Type Definition SMC Secure Memory Card SE Security Element SDP Service Discovery Protocol SNEP Simple NDEF Exchange Protocol SWP Single Wire Protocol SIM Subscriber Identity Module TNF Type Name Format UICC Universal Integrated Circuit Card VCD Vicinity Coupling Device VPN Virtual Private Network

  • SUMRIO

    1. INTRODUO ............................................................................................. 15 2. NFC .............................................................................................................. 17 2.1. HISTRICO ................................................................................................. 20 2.2. PADRONIZAO ........................................................................................ 22 2.2.1. NFCIP-1 ....................................................................................................... 24

    2.2.2. NFCIP-2 ....................................................................................................... 25

    2.2.3. NFC-SEC ..................................................................................................... 26

    2.2.4. ISO/IEC 14443 ............................................................................................. 26

    2.3. COMPARAO COM OUTRAS TECNOLOGIAS ...................................... 28 2.4. TIPOS DE DISPOSITIVOS .......................................................................... 30 2.4.1. Classificao dos dispositivos ...................................................................... 31

    2.5. ARQUITETURA ........................................................................................... 33 2.5.1. Security Element .......................................................................................... 34

    2.5.2. Interface NFC ............................................................................................... 37

    2.5.3. Interface entre SE e NFC Controller ............................................................. 37

    2.5.4. Host Controller e HCI ................................................................................... 39

    2.6. MODOS DE OPERAO ............................................................................ 39 2.6.1. Leitura/Escrita .............................................................................................. 40

    2.6.1.1. Tags Suportadas .......................................................................................... 41

    2.6.1.2. NDEF............................................................................................................ 42

    2.6.2. Peer-to-peer ................................................................................................. 48

    2.6.2.1. Logical Link Control Protocol ........................................................................ 49

    2.6.2.2. Simple NDEF Exchange Protocol ................................................................. 51

    2.6.2.3. NDEF Push Protocol .................................................................................... 52

    2.6.3. Emulao de cartes .................................................................................... 53

    2.7. SEGURANA .............................................................................................. 55 2.8. FRAMEWORKS NFC................................................................................... 57 2.8.1. Open NFC .................................................................................................... 58

    2.8.2. LibNFC ......................................................................................................... 59

    3. DESENVOLVIMENTO PARA DISPOSITIVOS MVEIS ............................. 60

  • 3.1. PLATAFORMA ANDROID ........................................................................... 62 3.1.1. Open Handset Alliance ................................................................................. 63

    3.1.2. Arquitetura .................................................................................................... 64

    3.1.2.1. Linux Kernel ................................................................................................. 65

    3.1.2.2. Bibliotecas nativas ........................................................................................ 66

    3.1.2.3. Android Runtime ........................................................................................... 67

    3.1.2.4. Framework de aplicao .............................................................................. 68

    3.1.2.5. Aplicaes e widgets .................................................................................... 68

    3.1.3. Ciclo de vida da aplicao ............................................................................ 69

    3.1.4. Blocos de Construo .................................................................................. 74

    3.1.5. Recursos ...................................................................................................... 75

    3.1.6. Segurana .................................................................................................... 75

    3.1.7. Suporte ao NFC ........................................................................................... 76

    3.1.7.1. Sistema de despacho de mensagens .......................................................... 78

    4. DESENVOLVIMENTO DA APLICAO ..................................................... 81 4.1. AMBIENTE ................................................................................................... 81 4.1.1. Leitor NFC .................................................................................................... 82

    4.1.1.1. Comunicao ............................................................................................... 83

    4.1.2. Dispositivo mvel ......................................................................................... 84

    4.1.3. Tags ............................................................................................................. 85

    4.1.4. Bibliotecas .................................................................................................... 86

    4.2. O SISTEMA .................................................................................................. 88 4.2.1. A aplicao do dispositivo mvel .................................................................. 92

    4.2.2. A aplicao do leitor NFC ............................................................................. 99

    4.3. DESENVOLVIMENTO ............................................................................... 101 4.3.1. O protocolo de comunicao ...................................................................... 104

    4.3.2. Apresentao dos pacotes ......................................................................... 108

    4.3.2.1. Pacote org.mackenzie.protocol .................................................................. 108

    4.3.2.2. Pacote org.mackenzie.crypto ..................................................................... 110

    4.3.2.3. Pacote org.nfc.mackenzie.context .............................................................. 112

    4.3.2.4. Pacote org.nfc.mackenzie.backend ............................................................ 113

  • 4.3.2.5. Pacote org.nfc.mackenzie .......................................................................... 115

    5. CONCLUSO E TRABALHOS FUTUROS ............................................... 120 6. REFERNCIAS .......................................................................................... 122

  • 15

    1. INTRODUO

    Os dispositivos mveis esto cada vez mais presentes e com maior poder de

    processamento. Os mais avanados j possuem um poder de processamento

    semelhante ao de alguns computadores modernos, utilizam processadores de vrios

    ncleos, processadores grficos dedicados e tambm possuem um grande espao de

    armazenamento. Grande parte destes dispositivos possui sensores e outros elementos

    para controle do aparelho que tambm podem ser utilizados para melhor interao do

    usurio com o dispositivo, como por exemplo, sensor de proximidade, luminosidade,

    acelermetro, giroscpio, Global Positioning System (GPS) e Near-Field

    Communication (NFC). Existem aplicativos desenvolvidos para tais plataformas que

    baseiam suas funcionalidades em um ou mais destes recursos para fornecer uma

    experincia ainda melhor para o usurio.

    Dentre todos estes recursos disponveis em dispositivos mveis, o NFC tem grande

    destaque e est ganhando importncia nos ltimos anos, no s entre pesquisadores,

    mas no mercado de fabricantes de dispositivos mveis tambm, pois empresas que

    so referncias na rea de tecnologia, como o Google, possuem dispositivos ou

    sistemas com suporte a este recurso. No final de 2010, o Google lanou seu primeiro

    aparelho com suporte a NFC, o Galaxy Nexus. Alm disso, o Google j lanou

    aplicativos que utilizam este recurso.

    NFC uma tecnologia de comunicao sem fio de curto alcance que possibilita a troca

    de informaes entre dois dispositivos de maneira simples e intuitiva. Os usurios de

    dispositivos com NFC precisam apenas aproximar seus aparelhos de outros

    dispositivos com o mesmo recurso para que seja iniciada a comunicao. Esta

    praticidade proporciona a criao de diversas aplicaes. Atravs da tecnologia NFC

    possvel substituir algumas tarefas do cotidiano de um usurio pela utilizao de

    dispositivos mveis com a tecnologia NFC. Por exemplo, o ato de realizar o pagamento

    da tarifa de um transporte coletivo atravs de um smartcard contactless pode ser

    substitudo com a utilizao de um dispositivo mvel atravs do mesmo gesto de

    aproximao de dispositivo.

  • 16

    Baseada no recurso NFC, uma aplicao para dispositivos mveis ser desenvolvida e

    permitir pagamentos de tarifas associadas utilizao de meios de transporte

    coletivos, como nibus ou trens. De maneira complementar, para comunicao com o

    dispositivo mvel, ser desenvolvida outra aplicao com a utilizao de um leitor NFC

    que representar uma catraca do meio de transporte. Um sistema com suporte

    tecnologia NFC para realizao de pagamentos consequentemente utilizar mais de

    um tipo de dispositivo em sua arquitetura, at porque o NFC compatvel com algumas

    tecnologias de smartcards contactless. Esta caracterstica proporciona suporte s

    infraestruturas de sistemas baseados em pagamentos com smartcards contactless ao

    mesmo tempo em que a tecnologia NFC introduzida. Portanto, este ambiente

    abrigar um sistema com uma arquitetura heterognea por parte dos dispositivos

    utilizados, mas homognea quanto ao meio de comunicao.

    Este trabalho resultar em um sistema com uma arquitetura de integrao entre

    dispositivos com suporte a tecnologia NFC. Uma aplicao ser construda com base

    na plataforma Android para dispositivos mveis, atravs da utilizao de sua API para

    NFC. O leitor NFC estar conectado a um computador pessoal e tambm ter uma

    aplicao de apoio utilizao do dispositivo mvel como forma de pagamento. Apesar

    de integrar elementos como internet, servios de autenticao e tags NFC, este

    trabalho no tem como objetivo estud-los especificamente. Estes elementos sero

    utilizados apenas para analisar a viabilidade de sua utilizao na aplicao e seu

    impacto na arquitetura do sistema.

    Parte do desafio em desenvolver um sistema com base na tecnologia NFC est na

    escassez de livros sobre o assunto. Como a especificao da tecnologia NFC est em

    constante evoluo e o aumento de sua popularidade algo relativamente recente,

    existem poucas publicaes sobre o assunto. Entretanto, h interesse de diversas

    empresas do setor e uma ampla quantidade de estudos sobre o assunto.

    Ao final deste estudo ser feita uma anlise de implantao da soluo desenvolvida

    em transportes coletivos e das vantagens e desvantagens do emprego desta

    tecnologia.

  • 17

    2. NFC

    O NFC, tambm chamado de comunicao por campo de proximidade, uma

    tecnologia de comunicao sem fio e sem contato de curto alcance, que possibilita a

    troca de informaes entre dois dispositivos. Basta que haja uma aproximao de dois

    dispositivos NFC para que seja iniciada a comunicao.

    Figura 1 - O smbolo da tecnologia NFC, conhecido como N-mark

    A comunicao NFC envolve sempre dois dispositivos e a transferncia de dados entre

    eles bidirecional, em uma distncia que vai de 0 cm at 10 cm, dependendo dos

    dispositivos utilizados (COSKUN, 2012). Atua na faixa dos 13.56 MHz, frequncia que

    livre de restries na maior parte do mundo, com taxas de transferncias que variam

    de 106 a 424 kbit/s (COSKUN, 2012). Suas principais utilidades so a transmisso de

    uma pequena quantidade de dados e a iniciao de uma conexo secundria. Essas

    caractersticas podem ser utilizadas como ponto de partida para uma srie de outras

    aplicaes, o que torna o uso da tecnologia NFC muito diversificado.

    A tecnologia NFC funciona de maneira intuitiva: dois dispositivos NFC iniciam uma

    comunicao imediatamente aps terem sido aproximados, sem a necessidade de um

    toque fsico ocorrer. Essa aproximao o ponto de partida para qualquer

    comunicao NFC e a caracterstica mais importante da tecnologia. A ideia principal

    de uso de NFC, embora existam diferentes modos de operao, consiste em ter uma

    aplicao em um dispositivo mvel, que ao ser aproximado de outro dispositivo NFC

    que tenha a informao necessria para o processamento da aplicao, a mesma seja

    automaticamente inicializada e realize o processamento automtico da informao

  • 18

    recebida sem que haja interao do usurio com o dispositivo mvel. O usurio pode

    aproximar o dispositivo mvel a outros dispositivos como tags NFC, leitores NFC ou at

    mesmo outros dispositivos mveis NFC, e com base apenas nesta ao, obter o

    resultado esperado, como realizar um pagamento por exemplo.

    Esta praticidade proporciona a criao de diversas aplicaes, pois atravs do NFC,

    uma interao especial entre o ser humano e o computador estabelecida. Esta

    interao recebe o nome de computao ubqua. Segundo (COSKUN, 2012), o NFC

    um dos caminhos para se atingir a computao ubqua.

    Como esta tecnologia proporciona uma comunicao em pequenas distncias, o risco

    de uma interceptao dos dados sendo transferidos, apesar de existir, relativamente

    pequeno porque o dispositivo interceptador precisaria estar posicionado dentro do

    alcance do outro dispositivo. Seu principal uso tende a ser em aplicaes que utilizem

    informaes confidenciais, como pagamento atravs de dispositivos mveis, porm,

    medida que novas aplicaes so desenvolvidas, novas interaes com esta tecnologia

    podem ser estabelecidas. J possvel encontrar jogos que a utilizem, como o Angry

    Birds produzido pela Rovio. De fato, o uso de um dispositivo NFC em um ambiente

    habilitado para esta tecnologia pode facilitar vrias tarefas do cotidiano do usurio,

    como por exemplo:

    Baixar contedo multimdia de um cartaz ou pster;

    Trocar contatos entre telefones;

    Efetuar pagamento em meios de transporte, bilheterias, entre outros;

    Imprimir um documento em uma impressora compatvel;

    Parear dispositivos Bluetooth;

  • 19

    Figura 2 - Google Wallet: um servio de pagamento eletrnico com NFC

    Do ponto de vista tcnico, o NFC pode ser visto como extenso da tecnologia Radio

    Frequency Identification (RFID). O RFID tambm uma tecnologia de comunicao

    sem contato, que combina um pequeno chip de identificao com um leitor em um

    nico dispositivo e pode ter um alcance de muitos metros de distncia, desde que se

    tenha uma fonte de energia externa, o que torna seu uso bastante diferenciado.

    O NFC utiliza o conceito fsico de campo de induo magntica para fazer com que

    dois dispositivos se comuniquem. Um dos principais objetivos desta tecnologia fazer

    com que os benefcios da comunicao sem fio do RFID sejam estendidos s tarefas

    do cotidiano do usurio, substituindo e buscando simplificar diversas interaes com o

    meio fsico. Mesmo com o RFID sendo amplamente utilizado, principalmente em

    tarefas como deteco ou rastreio de produtos, a introduo do NFC prope diversas

    maneiras diferentes de utilizao por causa da distncia menor e pela possibilidade de

    haver inteligncia e poder de processamento nos dois lados da comunicao.

    Dispositivos NFC tambm podem substituir alguns tipos de smartcards que so

    amplamente utilizados por sistemas de transporte, por exemplo. Alm disso, capaz

    de prover segurana quanto transmisso e armazenamento de dados, conforme

    especificao da tecnologia.

  • 20

    O NFC tambm pode ser utilizado em conjunto com outros protocolos para selecionar

    dispositivos e automatizar os processos de configurao. Por exemplo, os parmetros

    para estabelecimento de conexo com uma rede wireless podem ser transmitidos

    atravs da comunicao com outro dispositivo NFC, como uma tag NFC. A

    configurao de uma rede wireless normalmente exige uma interao razovel do

    usurio, como busca de rede adequada e configurao de usurio e senha, e o uso da

    tecnologia NFC permite que essa interao seja simplificada para uma simples

    aproximao de dispositivos. Outro fator importante que o tempo gasto para

    estabelecimento de conexo menor que 0,1s, ou seja, extremamente baixo em

    comparao com o protocolo de comunicao Bluetooth, que pode atingir at 6s

    (ATOJI, 2010).

    2.1. HISTRICO

    O NFC pode ser compreendido como uma extenso da tecnologia RFID que tambm

    capaz de interagir com interfaces baseadas em smartcards. Em resumo, o NFC herda

    um pouco do conceito de cada uma destas tecnologias, que sero brevemente

    apresentadas a seguir. Quanto ao RFID, pode-se entender que o cdigo de barras foi

    seu precursor enquanto o carto magntico foi o precursor dos smartcards (COSKUN,

    2012).

    O cdigo de barras nada mais do que uma representao visual de dados relativos

    ao objeto em que ele est associado. Esta informao interpretada por leitores de

    cdigos de barras e transferida para computadores, que a processam ou enviam para

    outros dispositivos e sistemas. Inicialmente os cdigos de barras possuam apenas

    uma dimenso, e eram representados por listras verticais paralelas que variaram sua

    largura e espaamento. Em seguida, evoluiu para cdigos de barras bidimensionais,

    como o Quick Response Code (QR Code), e passou a ter a capacidade de armazenar

    mais informaes.

    O RFID por sua vez, uma tecnologia que usa comunicao atravs de ondas de rdio

    para trocar dados entre um leitor e uma tag RFID. A transmisso de dados resultado

    das ondas eletromagnticas, cuja distncia varia de acordo com a frequncia e o

    campo magntico. Suas tags so pequenos circuitos que podem conter aplicaes ou

  • 21

    dados. Nesta tecnologia existem tags passivas e ativas. As passivas tm um circuito

    integrado e uma antena, mas no tem fonte prpria de energia e podem se comunicar

    apenas atravs de um campo eletromagntico, em uma distncia que pode chegar at

    alguns metros. As ativas tem sua prpria fonte de energia e podem atingir distncias

    maiores. So consideradas mais confiveis pelo fato de poderem manter uma sesso

    de comunicao com energia prpria. O uso da tecnologia RFID est mais relacionado

    s aplicaes de controle de estoque, pedgios, transporte e at mesmo rastreio de

    animais.

    O carto magntico um carto que contm um espao para armazenamento de

    informao em pequenas partculas magnticas ligadas a uma resina. Os dados so

    lidos quando o carto deslizado pela interface de um dispositivo de leitura magntica.

    A informao presente no carto gravada no momento de sua confeco e nunca

    mais sobrescrita. Cartes bancrios so os maiores exemplos de uso desta

    tecnologia.

    J os smartcards contm um circuito integrado com memria embutida, e geralmente

    possuem um micro controlador para segurana. Podem ser divididos em trs grupos:

    de contato, contactless (sem contato) e hbrido. Um smartcard de contato se comunica

    com um leitor de cartes atravs de contato fsico direto e o leitor que prov a energia

    necessria para o funcionamento do carto. No caso dos smartcards contactless, a

    comunicao ocorre quando o carto aproximado do dispositivo de leitura. Este leitor

    emite um campo eletromagntico que serve como fonte de energia para o

    funcionamento do carto. J um smartcard hbrido suporta os dois modos de

    funcionamento anteriores, podendo variar o nvel de segurana requerido para algum

    deles.

    Com um breve conhecimento destas tecnologias possvel identificar diversas

    caractersticas que foram aproveitadas no NFC. Dispositivos NFC tambm podem ter

    fonte prpria de energia, assim como as tags RFID, e podem ter um chip dedicado para

    segurana em sua arquitetura, como nos smartcards. Tanto na tecnologia RFID quanto

    em smartcards contactless, existe o conceito de comunicao por proximidade,

    presente em NFC. O NFC utiliza a mesma frequncia do RFID, que de 13.56MHz

  • 22

    com uma taxa de transferncia de dados de 106, 212 ou 424 kbit/s, que limita seu uso

    para transferncia de informaes pequenas. Existem diferentes modos de

    funcionamento para comunicao entre dispositivos mveis, tags e leitores compatveis

    com NFC. Entretanto, as aplicaes desenvolvidas para NFC tendem a ter propsitos

    diferentes por causa da caracterstica da distncia, que curta e principalmente, por

    causa do suporte comunicao peer-to-peer.

    2.2. PADRONIZAO

    A tecnologia NFC foi desenvolvida pela Philips em conjunto com a Sony, no final de

    2002, com a finalidade de estabelecer um padro para a comunicao do tipo

    contactless. O termo contactless utilizado para designar a comunicao que ocorre

    pela proximidade de dois dispositivos sem que haja algum toque fsico.

    O final de 2002 representa o incio da padronizao da tecnologia, pois foi nesta data

    que a European Computer Manufacturers Association (ECMA) adotou a tecnologia

    como um padro. Ao final do ano seguinte, em dezembro de 2003, foi a vez da

    International Organization of Standardization (ISO) e da International Electrotechnical

    Comission (IEC) adotarem a tecnologia como um padro. Alm destas, a European

    Telecommunications Standards Institute (ETSI) tambm reconhece o NFC. Para

    promover a tecnologia, as empresas Nokia, Philips e Sony fundaram o NFC Forum em

    2004.

    O NFC o resultado da juno de vrias outras tecnologias (COSKUN, 2012).

    Smartcards, dispositivos mveis, leitores de carto, comunicao de curto alcance,

    segurana de comunicao, transaes e sistemas de pagamento esto entre as

    motivaes para o surgimento do NFC. De fato, a tecnologia NFC depende de muitas

    destas tecnologias para existir e por este motivo que diversas organizaes

    diferentes esto envolvidas direta ou indiretamente na padronizao e na evoluo do

    NFC.

    Estas organizaes so responsveis por estabelecerem os padres de suas

    respectivas tecnologias e o resultado da juno de todas essas tecnologias serve para

    definir uma viso comum para o uso do NFC, de maneira segura e funcional. Estes

  • 23

    diversos padres devem ser interoperveis para que se estabelea um ecossistema

    NFC com sucesso. Dentre estas organizaes, podemos destacar:

    NFC Forum: a principal aliana utilizada para especificar os padres NFC.

    Promove o uso da tecnologia NFC atravs da definio de especificaes que

    garantem a interoperabilidade entre dispositivos e servios. Atravs deste frum

    j foram especificados os modos de operao peer-to-peer e leitura/escrita. Para

    o modo leitura/escrita, definiram as especificaes Record Type Definition (RTD)

    e NFC Data Exchange Format (NDEF) enquanto para o modo peer-to-peer

    definiram a especificao Logical Link Control Protocol (LLCP). Tambm

    definiram o smbolo da tecnologia NFC, para que seja imediatamente

    reconhecida pelas pessoas;

    GlobalPlatform: uma associao sem fins lucrativos que identifica, desenvolve

    e publica especificaes que facilitam o desenvolvimento de aplicaes

    interoperveis e seguras e o gerenciamento de mltiplas aplicaes embutidas

    em smartcards seguros;

    GSM Association: uma associao de operadoras de celular e empresas

    relativas ao ramo que oferecem suporte padronizao, desenvolvimento e

    promoo da tecnologia Global System for Mobile Communications (GSM).

    Representa os interesses destas empresas e tem o objetivo de direcionar o

    crescimento da indstria de comunicao mvel;

    ISO/IEC: ISO a maior organizao para definio de padres no mundo. Como

    uma organizao no governamental, estabelece a ponte entre os interesses

    pblicos e privados. Em conjunto com a IEC, que prepara as especificaes

    relativas eletrnicos, fornecem as especificaes do NFC;

    ECMA International: uma organizao sem fins lucrativos para padronizao

    de sistemas de informaes e comunicaes. Publica relatrios tcnicos e

    realiza estudos sobre dispositivos mveis e NFC;

    ETSI e ETSI Smart Card Platform: uma organizao sem fins lucrativos que

    produz padres para tecnologias de informaes e comunicaes, incluindo

    telefonia mvel e fixa, rdio e internet. Gerencia a especificao do carto

  • 24

    Subscriber Identity Module (SIM) e poderia permitir que cartes SIM

    contivessem aplicaes NFC;

    Java Community Process (JCP): responsvel pelo desenvolvimento da

    tecnologia Java, que por sua vez, forte candidata para as aplicaes NFC;

    Open Mobile Alliance (OMA): desenvolve padres abertos para a indstria de

    telefonia mvel;

    3rd Generation Partnership Project (3GPP): uma colaborao entre grupos de

    telecomunicaes para criar uma nova gerao da especificao para

    dispositivos mveis. Suas especificaes so baseadas nos avanos da

    tecnologia GSM;

    EMVCo: seu objetivo prover interoperabilidade entre smartcards e terminais de

    leitura em nvel global, independentemente do fabricante, instituio financeira

    ou emissor do carto.

    Vrios padres j foram definidos para a comunicao entre dois dispositivos NFC,

    dentre eles o Near Field Communication Interface and Protocol (NFCIP), que contm

    as especificaes mais importantes da tecnologia. Estes padres definem, na camada

    fsica da arquitetura NFC, os modos de comunicao do campo eletromagntico e

    outras questes tcnicas associadas.

    O NFCIP subdividido em dois padres: o NFCIP-1 e o NFCIP-2. Os dispositivos NFC

    precisam atender essas especificaes para serem compatveis com o padro

    internacional para interoperabilidade com smartcards, cartes de proximidade (ISO/IEC

    14443), cartes de vizinhana (ISO/IEC 15693) e tambm para os cartes contacless

    Sony FeliCa (JIS X 6319). Sendo assim, com esta combinao de diferentes

    tecnologias baseadas em comunicao contactless e smartcards, o NFC compatvel

    com as tecnologias mais utilizadas no mercado, oferecendo compatibilidade com

    infraestruturas e sistemas j em funcionamento (KORTVEDT, 2009).

    2.2.1. NFCIP-1

    Em NFCIP-1 esto definidos os modos de comunicao ativo e passivo, o campo

    eletromagntico, os sinais de comunicao da interface do campo eletromagntico e o

    fluxo geral do protocolo. Alm disso, define um protocolo de transporte que inclui

  • 25

    ativao do protocolo, troca de dados, deteco de erros e desativao do protocolo. O

    NFCIP-1 est padronizado em ISO/IEC 18092, ECMA 340 e ETSI TS 102 190.

    A pilha de protocolos presente nesta especificao baseada na ISO/IEC 14443 e a

    diferena principal est nos protocolos de comando. Isto permite que os dispositivos

    NFCIP-1 sejam capazes de se comunicar com algumas tags e smartcards, alm de

    outros dispositivos em modo peer-to-peer.

    Dentre as caractersticas da comunicao que esto especificadas neste padro,

    podemos destacar os esquemas de modulao, a taxa de transferncia, a codificao

    dos bits, a inicializao e a finalizao da comunicao, a representao dos bits, o

    enquadramento dos dados, a deteco de erros, seleo de protocolos, seleo dos

    parmetros e troca de dados.

    As taxas de transferncia de dados tambm esto definidas neste padro. Durante

    uma comunicao, a taxa de transferncia pode ser alterada pelos dispositivos

    envolvidos, porm a classificao do modo de comunicao no pode ser alterada

    durante uma comunicao, j que o ponto de partida para o incio da mesma.

    2.2.2. NFCIP-2

    Em NFCIP-2 est definido o mecanismo de seleo de modo de comunicao. Este

    mecanismo foi projetado para no interromper alguma comunicao j existente na

    frequncia de 13.56MHz para dispositivos que implementem o NFCIP-1, o Proximity

    Coupling Device (PCD) e o Vicinity Coupling Device (VCD). O NFCIP-2 est

    padronizado em ISO/IEC 21481, ECMA 352 e ETSI TS 102 312, enquanto o PCD est

    padronizado em ISO/IEC 14443 e o VCD est padronizado em ISO/IEC 15693.

    Dispositivos que seguem as especificaes de NFCIP-2 precisam implementar

    algumas caractersticas de ISO/IEC 14443, ISO/IEC 15693 e tambm as funes de

    iniciador e alvo definidas em ECMA 340. Isto faz com que este dispositivo seja

    compatvel com aplicaes que utilizam tecnologia Sony FeliCa ou MIFARE.

    Apesar de todos os padres com os quais o NFCIP-2 compatvel utilizarem a mesma

    frequncia de comunicao, os modos de comunicao so diferentes. Portanto, esta

    especificao utiliza o protocolo Carrier Sense Multiple Access (CSMA) para garantir

  • 26

    que um campo eletromagntico no seja iniciado se o dispositivo detectar uma

    comunicao em andamento.

    A comunicao segue um princpio de escutar antes de falar. Se um dispositivo

    pretende se comunicar, ele deve se certificar que no existe nenhum campo

    eletromagntico ao seu redor, para que no haja interferncia em outra comunicao

    que esteja em andamento. O dispositivo permanecer parado enquanto detectar outro

    campo eletromagntico e aguardar o trmino da comunicao. Se outros dois

    dispositivos responderem a solicitao de comunicao enviada, o dispositivo iniciador

    da comunicao detectar que houve uma coliso e no continuar a comunicao at

    que haja apenas uma resposta em um perodo de tempo determinado com preciso.

    2.2.3. NFC-SEC

    O protocolo NFC-SEC foi desenvolvido para fornecer segurana em comunicaes

    peer-to-peer. Como o NFCIP-1 no prov segurana, o protocolo NFC-SEC serve para

    complementar este aspecto. Este padro define uma pilha de protocolos que

    possibilitam o uso de funes de criptografia, definidas pela aplicao, na camada de

    enlace.

    O NFC-SEC constitudo por dois protocolos: NFC-SEC e NFC-SEC-01. O NFC-SEC

    define os servios de segurana como proteo contra espionagem e alterao de

    dados e est padronizado em ECMA 385. O NFC-SEC-01 est padronizado em ECMA

    386 e define os servios de criptografia utilizando algoritmos como Elliptic Curve Diffie-

    Hellman (ECDH) e Advanced Encryption Standard (AES). Este protocolo define os

    mecanismos de criptografia que definem o uso de protocolo ECDH para troca de

    chaves e o algoritmo AES para criptografia de dados e integridade. O protocolo

    tambm prev o uso de outros algoritmos de criptografia no futuro atravs de um

    campo identificador.

    2.2.4. ISO/IEC 14443

    Este padro internacional foi desenvolvido para suportar comunicao por

    radiofrequncia (RF) na frequncia 13.56MHz. Essa comunicao baseada em

    acoplamento eletromagntico entre um carto de proximidade e um leitor, que utiliza

  • 27

    um micro controlador e uma antena que opera na frequncia especificada. Desta

    forma, este padro permite que a troca de informaes ocorra sem que haja contato

    entre os dispositivos. Neste padro, as transaes acontecem entre um carto e um

    leitor, que so representados como Proximity Integrated Circuit Card (PICC) e PCD,

    respectivamente.

    Esta especificao composta pelas quatro partes seguintes:

    Parte 1 Caractersticas Fsicas de Smartcards Contactless: define as

    caractersticas fsicas dos smartcards, alm de requerimentos e testes que

    precisam ser executados durante a fabricao dos cartes;

    Parte 2 Interface de Energia e Sinal RF: determina como o carto recebe

    energia do campo eletromagntico, define a interface de RF e os tipos de

    sinalizao A e B. Estes tipos classificam os cartes em dois grupos distintos:

    tipo A e tipo B;

    Parte 3 Inicializao e Anti-Coliso: define os protocolos de inicializao e

    tratamento anti-coliso pra os tipos A e B;

    Parte 4 Protocolo de Transmisso: define os protocolos de alto nvel para

    transmisso de dados para os tipos A e B. Estes protocolos so opcionais e os

    cartes podem ou no oferecer suporte a esta parte da especificao.

    Tecnologias diferentes surgiram para atender as especificaes dos smartcards, mas

    apenas algumas so compatveis com a especificao do padro ISO/IEC 14443.

    Algumas das principais so MIFARE e FeliCa.

    MIFARE um tipo de smartcard contactless, que foi criado e continua sendo

    desenvolvido pela NXP Semiconductors, que uma empresa ligada a Philips. MIFARE

    obedece especificao ISO/IEC 14443 Tipo A. Contm uma famlia de cartes de

    diferentes tipos e propsitos, como o Ultralight, Standard, DESFire, Classic, Plus e

    SmartMX. Cartes baseados em MIFARE esto sendo utilizados principalmente em

    solues para transporte, bilheterias, controle de acesso, pagamento virtual, pedgios

    e programas de fidelidade.

    FeliCa tambm um carto de proximidade que trabalha na frequncia 13.56MHz e

    possui alta velocidade para operaes de leitura e escrita. desenvolvido pela Sony e

  • 28

    usado principalmente como cartes de dinheiro eletrnico. A Sony tentou lanar este

    carto como ISO/IEC 14443 Tipo C, mas no obteve aprovao. Portanto, no se

    tornou um padro ISO/IEC e apenas obedece ao padro japons X 6319, definido pela

    entidade Japanese Industrial Standard (JIS), que especifica cartes de proximidade de

    alta velocidade (COSKUN, 2012).

    2.3. COMPARAO COM OUTRAS TECNOLOGIAS

    Devido variedade de tecnologias baseadas em RF para estabelecer comunicao e

    trocar informaes, foram criadas aplicaes para diversas funcionalidades, como

    rastreio de animais e objetos, pagamento, identificao segura de pessoas, entre

    outras. Entretanto, apesar de todas estas aplicaes utilizarem tecnologias que

    dependam de ondas de rdio para transferncia de dados, a maneira como estas

    ondas so utilizadas depende dos requisitos da aplicao. Isto significa que ainda que

    existam vrias tecnologias baseadas em RF para troca de dados, cada uma tem sua

    particularidade e por conta disso acabam sendo mais teis para um determinado tipo

    de aplicao.

    O RFID tem como elemento principal a tag RFID, que conhecida por ser simples, de

    baixo custo e descartvel. Esta tag contm um circuito integrado com dados e uma

    antena para enviar estes dados a um leitor. Assim que a tag entra no raio de ao de

    um leitor, os dados armazenados so enviados para este leitor. No existe um

    mecanismo de segurana ou autenticao nesta tecnologia, portanto qualquer leitor

    compatvel capaz de obter o contedo presente na tag RFID.

    Os smartcards do tipo contactless, por sua vez, tambm interagem com algum

    dispositivo externo utilizando tecnologia RF. Porm, os smartcards tem um micro

    controlador para segurana e uma memria interna, que so utilizados para gerenciar,

    armazenar e fornecer acesso aos dados no carto. Alm disso, so capazes de realizar

    tarefas computacionais mais complexas, como criptografia. A distncia para que o leitor

    seja capaz de estabelecer uma comunicao com o carto de aproximadamente 10

    cm, mas pode variar de acordo com o tipo de smartcard utilizado. Por causa disso,

    estes smartcards costumam ser utilizados em aplicaes que exigem um alto nvel de

    segurana, como documentos e solues de pagamento. O uso de smartcards

  • 29

    contactless em aplicaes implica em alta integridade e confidencialidade com relao

    informao armazenada e transferida.

    J o NFC tem como caractersticas mais importantes o pareamento automtico e a

    segurana implcita devido pequena distncia com a qual se consegue comunicar

    com outro dispositivo, que no precisa ser necessariamente um leitor. O NFC possui

    baixas taxas de transferncia de dados na comunicao e atua sob distncias

    pequenas. A comparao na imagem a seguir deixa mais clara o posicionamento da

    tecnologia NFC perante outras tecnologias wireless (COSKUN, 2012):

    Figura 3 - Comparao de distncia e taxa de transferncia das tecnologias wireless

    Entretanto, o NFC possui um modo de comunicao peer-to-peer, onde dois

    dispositivos ativos podem se comunicar. J nas tecnologias RFID e smartcards

    contactless, a comunicao sempre ocorre atravs de um dispositivo passivo e um

    leitor. Em outras palavras isto significa que no NFC, dois dispositivos com poderes

    computacionais elevados podem estabelecer uma comunicao. Alm disso, leitores

    NFC tambm so compatveis com tags RFID e smartcards contactless.

    O recurso de pareamento automtico do NFC muito til para utilizao em aplicaes

    para dispositivos mveis. Estas aplicaes podem ser executadas automaticamente,

    assim que uma tag lida. Por exemplo, o browser de um celular pode ser

    automaticamente executado assim que uma tag contendo um URL lida. Todo esse

    processamento pode ocorrer sem a interao do usurio com o dispositivo e isto

    possvel porque no NFC o pareamento automtico a partir do momento em que dois

    dispositivos NFC so aproximados entre si. Com a tecnologia Bluetooth, por exemplo,

  • 30

    este tipo de interao seria mais complexo, pois implicaria em busca de dispositivos,

    pedido de pareamento e autorizao.

    Enquanto o NFC estabelece apenas redes ponto-a-ponto, o Bluetooth capaz de

    estabelecer redes ponto-a-multiponto, possui o maior alcance e maior taxa de

    transferncia. Por isto, o NFC no pode ser considerado um substituto do Bluetooth,

    pois ambos tm finalidades distintas. Ao utilizar Bluetooth, geralmente necessrio

    estabelecer um pareamento entre os dispositivos envolvidos, o que no ocorre no NFC,

    pois a curta distncia j significa que houve a inteno de realizar a comunicao. Alm

    disso, o Bluetooth no capaz de oferecer um modo de operao passivo assim como

    o NFC, e tambm no a melhor escolha para aplicaes que exigem um elevado

    nvel de segurana.

    2.4. TIPOS DE DISPOSITIVOS

    As partes envolvidas na comunicao NFC so chamadas de dispositivos NFC, e so

    divididas em trs grupos distintos, descritos a seguir:

    Dispositivos mveis NFC: so celulares ou smartphones que possuem a

    tecnologia NFC integrada e podem ser considerados os principais dispositivos

    do NFC. Atualmente estes dispositivos so responsveis por promover a

    tecnologia e despertar interesse em fabricantes e usurios, pois celulares so

    dispositivos com maior facilidade de utilizao e alcance;

    Leitores NFC: um leitor NFC um dispositivo capaz de estabelecer

    comunicao e realizar transferncia de dados com outro dispositivo NFC.

    Geralmente est conectado a um computador e faz parte de um sistema,

    atuando no papel de entrada e sada de dados. Exemplos comuns do uso destes

    dispositivos so terminais de venda, onde o leitor utilizado para estabelecer a

    ligao entre um sistema de pagamentos e um dispositivo mvel NFC para a

    realizao de pagamentos;

    Tags NFC: a tag NFC um dispositivo semelhante a uma tag RFID, onde no

    h fonte de energia prpria, mas existe a capacidade de armazenamento

    atravs de um pequeno circuito ativado por meio de campos eletromagnticos.

  • 31

    2.4.1. CLASSIFICAO DOS DISPOSITIVOS

    Cada sesso de comunicao NFC composta por duas partes. Estas partes podem

    ser classificadas sob duas perspectivas: uma delas baseada na capacidade de um

    dispositivo NFC ter sua prpria fonte de energia e gerar seu prprio campo

    eletromagntico e a outra baseada em um ponto de visto algortmico, ou seja, de

    acordo com o papel que a parte exerce no contexto da comunicao.

    De acordo com a classificao sob a perspectiva algortmica, a parte que realiza a

    primeira etapa de comunicao, ou seja, a parte que inicia a comunicao chamada

    de iniciadora. Esta parte tem a responsabilidade de gerenciar a comunicao e a troca

    de dados. Em contrapartida, a parte que responde s requisies do iniciador

    chamada de alvo. A configurao desta comunicao NFC semelhante arquitetura

    cliente-servidor, onde a comunicao tambm iniciada com uma requisio do cliente

    que respondida pelo servidor (COSKUN, 2012). Em um cenrio onde um dispositivo

    participa ativamente da sesso de comunicao, realizando requisies sobre nmeros

    de cartes de crdito, bilhetes, entre outros, ou enviando informaes com base em

    clculos efetuados, este dispositivo considerado iniciador, enquanto o outro

    dispositivo que recebe as requisies, processa as informaes e envia respostas

    considerado o alvo.

    De acordo com a classificao sob a perspectiva de fonte de energia, uma parte

    considerada ativa se seu componente NFC tem sua prpria fonte de energia e gera o

    seu prprio campo eletromagntico, podendo assim iniciar e gerenciar a comunicao.

    Enquanto isso, a parte que no tem nenhuma fonte de energia e depende do campo

    eletromagntico gerado pelo dispositivo ativo chamada de passiva e possui apenas a

    capacidade de responder as requisies recebidas.

    O relacionamento entre as classificaes pode ser visualizado na tabela a seguir:

    Papel do Dispositivo Dispositivo Ativo Dispositivo Passivo

    Iniciador Possvel No possvel

    Alvo Possvel Possvel

    Tabela 1: classificao de um dispositivo NFC

  • 32

    Desta forma, possvel observar que o dispositivo iniciador sempre ser um dispositivo

    ativo, pois ele precisa ter sua prpria fonte de energia para gerar o campo

    eletromagntico necessrio para o incio da comunicao NFC. Por sua vez, o

    dispositivo alvo pode ser tanto ativo quanto passivo na comunicao. O alvo pode ser

    ativo, quando utilizar sua prpria fonte de energia para responder s requisies ou

    pode ser passivo, quando depender do campo eletromagntico gerado pelo iniciador

    para obter a energia necessria para a comunicao.

    Uma tag NFC, por exemplo, como foi concebida para ser um dispositivo de baixo custo

    e baixa capacidade de armazenamento, no contm nenhuma fonte de energia e

    depende de uma fonte de energia externa para exercer sua funo. Portanto, uma tag

    ser sempre um dispositivo alvo e passivo na comunicao, j que no capaz de

    gerar seu prprio campo eletromagntico. Em outras palavras, ela foi concebida para

    ser manipulada por um dispositivo ativo. Quando um dispositivo ativo aproximado de

    uma tag, imediatamente a energia proveniente do seu campo eletromagntico

    consumida pela tag NFC, que inicializada. Duas tags no podem se comunicar entre

    si, pois no h energia para realizar essa inicializao.

    Os leitores NFC so dispositivos que sempre participaro como dispositivos ativos na

    comunicao, e so capazes de realizar transferncia de dados de forma bidirecional

    com outro dispositivo NFC. J um dispositivo mvel NFC, tem a capacidade de

    participar na comunicao NFC em qualquer configurao possvel apresentada na

    tabela anterior. Ele pode ser um dispositivo iniciador e ativo ao ler o contedo de uma

    tag NFC, por exemplo. Pode ser considerado um dispositivo alvo e ativo ao responder

    uma requisio de outro dispositivo mvel NFC que seja iniciador da comunicao e,

    alm disso, pode ser considerado alvo e passivo, no caso de emular o funcionamento

    de um smartcard. Estas funcionalidades sero vistas com mais detalhes na abordagem

    dos modos de operao.

    Quando um dispositivo tem fonte de energia prpria, naturalmente ele ser utilizado

    para iniciar e gerenciar a comunicao NFC, enquanto um dispositivo que no tem s

    poder responder s requisies de um dispositivo ativo. Estes pontos de vista devem

  • 33

    ser considerados complementares e so muito importantes para o entendimento da

    dinmica da tecnologia NFC e da comunicao entre os dispositivos.

    2.5. ARQUITETURA

    Um dispositivo mvel que contm tecnologia NFC composto por circuitos integrados,

    Security Elements (SEs) e uma interface NFC. Esta interface NFC possui um

    componente chamado de NFC Contactless Front-end (NFC CLF) que representa a

    porta de entrada para comunicao. Alm disso, a interface possui uma antena NFC e

    um chip denominado NFC Controller, que serve para gerenciar uma sesso de

    comunicao. Em um dispositivo mvel sempre haver pelo menos um SE, que estar

    ligado diretamente ao NFC Controller e poder ser utilizado para manter a segurana

    em sesses de comunicao. Mais de um SE pode estar ligado ao mesmo NFC

    Controller para oferecer ainda mais segurana comunicao.

    Para o NFC Controller se comunicar com o SE, necessrio que uma interface comum

    entre eles seja utilizada. Atualmente, as interfaces suportadas para estabelecer esta

    ligao so Single Wire Protocol (SWP) e NFC Wired Interface (NFC-WI). Alm do NFC

    Controller, o SE tambm pode ser acessado internamente pelo Host Controller (HC) ou

    por outro dispositivo NFC presente no campo eletromagntico. Atravs dessas

    interfaces o SE capaz de fornecer um ambiente seguro para dados e aplicativos, que

    possibilitam o uso e armazenamento de informaes confidenciais.

    O HC a parte principal de qualquer dispositivo mvel. Atravs da Host Controller

    Interface (HCI) possvel estabelecer uma interface de comunicao entre o NFC

    Controller e o HC. Adicionalmente, atravs do ISO/IEC 7816 estabelecida uma

    interface entre os SEs e o HC. Assim, o HC tem a capacidade de configurar o modo de

    operao do NFC Controller usando a interface HCI, processar os dados que so

    enviados e recebidos e estabelecer uma conexo entre o NFC Controller e o SE. Alm

    disso, o HC mantm todas as outras funes do dispositivo mvel. Uma ilustrao

    desta arquitetura demonstrada na figura a seguir (COSKUN, 2012):

  • 34

    Figura 4 - Arquitetura de um dispositivo mvel com NFC

    2.5.1. SECURITY ELEMENT

    A tecnologia NFC considerada segura pela caracterstica da curta distncia para

    realizar a comunicao, mas s isso no o suficiente para que haja segurana

    (BREITFU, 2006). A distncia prov uma pequena segurana quanto ao meio fsico,

    mas quanto ao meio lgico necessrio que haja um elemento de segurana na

    arquitetura do hardware, denominado SE.

    O SE serve para garantir aos usurios e provedores de servio que a comunicao

    NFC acontecer sob um ambiente seguro e protegido para diversos modelos de

    negcio que precisem de tais recursos. Alm disso, prov recursos para autenticao

    segura. O SE uma combinao de hardware, software, interfaces e protocolos

    embutidos em um dispositivo mvel que, juntos, disponibilizam um meio seguro de

    armazenar e trocar informaes (COSKUN, 2012).

    Um SE necessita de um sistema operacional para funcionar, como MULTOS, JavaCard

    OS, entre outros. Este sistema operacional deve suportar a execuo segura de

  • 35

    aplicaes, o carregamento seguro de aplicaes e o armazenamento seguro de dados

    destas aplicaes.

    Aplicaes NFC armazenadas e executadas na memria do HC de um dispositivo

    mvel no esto protegidas contra manipulao dos dados salvos na memria, seja

    intencional ou no. Aplicaes armazenadas desta maneira provavelmente tem seu

    uso voltado para tarefas que no necessitam de segurana, como leitura de psteres,

    por exemplo. J em solues de pagamento, a segurana imprescindvel, pois estas

    aplicaes costumam trocar ou armazenar informaes confidenciais. Sendo assim,

    para garantir a segurana, aplicaes crticas devem ser armazenadas e executadas

    na memria do SE de um dispositivo mvel NFC. Uma variedade de componentes

    pode ser utilizada como SEs, como Universal Integrated Circuit Cards (UICCs), cartes

    de memria ou outro tipo de hardware integrado. A figura a seguir mostra a diferena

    entre uma arquitetura NFC segura e no segura (COSKUN, 2012):

    Figura 5 - Diferena entre a arquitetura NFC de dispositivos mveis seguros e no seguros

    Pode-se notar que no h segurana se no houver um canal de comunicao direto

    entre o NFC Controller e o SE, pois neste caso a troca de informaes deve ocorrer

    atravs do HC do dispositivo mvel. Sendo assim, a informao trafega por elementos

    externos ao ambiente NFC e est vulnervel interceptao. A figura a seguir

    exemplifica as arquiteturas que podem ser criadas com a funcionalidade necessria

    para prover um ambiente seguro (COSKUN, 2012):

  • 36

    Figura 6 - Dispositivos com arquiteturas NFC seguras

    A primeira arquitetura apresentada possui um componente de hardware embutido

    como SE. Esta alternativa consiste em um pequeno chip soldado diretamente na placa

    do dispositivo mvel e que no pode ser removido sem perda de funcionalidade. O

    nvel de segurana oferecido nesta soluo equivalente ao nvel de segurana de um

    smartcard. Este chip precisa ser personalizado toda vez que um usurio novo utilize o

    dispositivo mvel e por enquanto no h padro estabelecido para comunicao entre

    o dispositivo mvel e o SE para esta configurao.

    A segunda arquitetura possui um carto de memria seguro como SE, denominado

    Secure Memory Card (SMC). Este carto um pouco diferente de um carto de

    memria convencional: composto de memria, um smartcard embutido e um

    controlador para este smartcard. Em resumo, este carto uma mistura de carto de

    memria e um smartcard. Possui a segurana equivalente a um smartcard e

    compatvel com vrios padres e interfaces j definidos para smartcards. Este carto

    possui uma grande capacidade de armazenamento e, por ser removvel, pode ser

    reaproveitado se o usurio decidir trocar de dispositivo mvel sem que seja necessria

    uma personalizao;

    A terceira arquitetura apresenta um componente UICC como SE. UICC um tipo de

    smartcard em que implementada a tecnologia SIM, e por isso popularmente

    conhecido como SIM. Esta tecnologia compatvel com todos os padres de

    smartcards, capaz de armazenar diversas aplicaes de diferentes origens e garante

  • 37

    integridade e segurana para os dados destas aplicaes. Assim, estes cartes podem

    armazenar aplicaes relacionadas telefonia ao mesmo tempo em que armazenam

    aplicaes de pagamentos, por exemplo. Atualmente, este o cenrio considerado

    ideal para a utilizao do SE em dispositivos mveis, pois so pessoais, seguros,

    portveis e podem ser facilmente gerenciados atravs da tecnologia Over The Air

    (OTA), por onde as operadoras de celular so capazes de manipular as aplicaes e os

    dados das aplicaes presentes no SIM atravs dos prprios meios de comunicao.

    2.5.2. INTERFACE NFC

    A interface NFC composta por um front-end contactless chamado NFC CLF, uma

    antena NFC e um NFC Controller. O NFC Controller torna possvel a comunicao NFC

    em um dispositivo mvel. Funciona como um modulador e demodulador entre o sinal

    analgico do campo eletromagntico e a antena NFC, que por sua vez, conectada ao

    NFC Controller atravs de alguns componentes passivos, como capacitores, resistores

    e indutores.

    O NFC CLF o front-end analgico do NFC Controller. Possui uma interface lgica

    com um protocolo definido acima da camada de enlace, que por onde as mensagens

    so trocadas entre o SE e o NFC CLF.

    Em toda arquitetura NFC que seja segura, h uma interface entre o SE e o NFC

    Controller, alm de uma interface entre o HC e o NFC Controller. Assim, os dados que

    so transmitidos atravs da interface contactless podem ser encaminhados diretamente

    pelo NFC Controller at o SE, e vice-versa. Desta forma, o HC no envolvido na

    comunicao.

    2.5.3. INTERFACE ENTRE SE E NFC CONTROLLER

    Existem vrias solues para estabelecer uma interface entre o SE e o NFC Controller,

    porm as mais importantes so a NFC-WI e a SWP (COSKUN, 2012).

    O NFC-WI uma interface digital de ligao padronizada por ECM 373, ISO/IEC 28361

    e ETSI TS 102 541. Neste padro, o SE definido como um transceiver e o NFC

    Controller como um front-end. O SE est conectado ao NFC Controller atravs de dois

    fios. Estes fios so denominados Signal-In (SIGIN) e Signal-Out (SIGOUT),

  • 38

    respectivamente. Cada fio estabelece uma interface digital e carrega dois sinais

    binrios que so definidos como HIGH e LOW. Os sinais transmitidos entre o NFC

    Controller e o SE so modulados e digitalmente recebidos ou enviados pelo campo

    eletromagntico. Neste padro, o transceiver a entidade que envia mensagens pelo

    SIGIN e recebe pelo SIGOUT, enquanto o front-end a entidade que envia pelo

    SIGOUT e recebe pelo SIGIN. O NFC-WI totalmente compatvel com todos os modos

    de operao e todas as taxas de transferncia de dados definidas ISO/IEC 18092 e

    ISO/IEC 14443.

    J o SWP define uma conexo entre o SE e o NFC Controller com apenas um fio,

    diferentemente do NFC-WI, e est padronizado em ETSI TS 102 613. O SWP um

    protocolo full duplex e possui uma taxa de transferncia de 212 kbit/s at 1.6 Mbit/s

    para distncias de at 10 cm. A interface SWP um protocolo ponto-a-ponto orientado

    a bit que possui um princpio de funcionamento similar ao princpio de mestre e escravo

    da computao. Neste caso o NFC Controller o mestre e o SE o escravo. O SWP foi

    concebido com o propsito de ser utilizado por cartes UICC para dispositivos mveis,

    pois apenas um contato est disponvel para ligao. Porm, h uma exceo onde a

    energia do carto UICC fornecida pela interface NFC, ao invs do prprio dispositivo

    mvel. Neste caso, mais contatos so utilizados pela interface NFC. Esta opo

    possibilita que o dispositivo seja utilizado de maneira passiva quando a bateria est

    descarregada.

    Os dados transmitidos neste protocolo so representados por estados binrios de

    voltagem e corrente no fio. A transmisso de dados entre a interface NFC e o SE

    ocorre pela modulao do sinal da voltagem, e na direo oposta os dados so

    transmitidos pela modulao do sinal da corrente. No topo da camada fsica, o

    protocolo High-Level Data Link control (HDLC) utilizado para controlar a transmisso

    de dados entre a interface NFC e o SE. Este protocolo padronizado em ISO/IEC

    13239 e prov deteco e correo de erros, sincronizao de sinal e controle de fluxo.

    O SWP carrega pacotes pequenos para a camada de aplicao e permite o roteamento

    de mensagens para diferentes componentes dentro do dispositivo mvel.

  • 39

    2.5.4. HOST CONTROLLER E HCI

    HCI uma interface lgica que permite a comunicao entre a interface NFC e um

    processador e mltiplos SEs. O HCI utilizado em vrios dispositivos eletrnicos, como

    dispositivos mveis, perifricos, entre outros, e est padronizado em ETSI TS 102 622.

    Define uma interface entre entidades lgicas chamadas hosts que operam um ou mais

    servios. Uma rede de dois ou mais hosts chamada de host network, e um dos hosts

    desta rede tambm responsvel por gerenci-la. Este host chamado de host

    controller.

    Esta interface possui trs componentes: um conjunto de gates por onde so trocados

    comandos, respostas e eventos, um mecanismo de mensagens Host Controller

    Protocol (HCP) e um mecanismo de roteamento HCP que capaz de fracionar

    mensagens quando necessrio.

    2.6. MODOS DE OPERAO

    Existem trs modos de operao especificados pelo NFC Forum e cada um deles foi

    concebido com um propsito diferente. Nestes modos de operao, os dispositivos so

    utilizados de maneiras diferentes e resultam em cenrios distintos. Cada um destes

    modos possui suas prprias caractersticas, arquiteturas, protocolos e benefcios

    associados. No entanto, no nvel fsico todos se baseiam nas mesmas especificaes,

    e isto o que permite que todos os modos sejam associados tecnologia NFC.

    A arquitetura padro dos protocolos utilizados nestes modos composta por uma

    camada de protocolos analgicos e uma camada logo acima, associada a protocolos

    digitais. Em outras palavras, na camada analgica encontra-se a especificao para a

    parte fsica da tecnologia enquanto na camada digital encontra-se a especificao para

    a parte lgica da tecnologia.

    O protocolo analgico est relacionado com as caractersticas de RF dos dispositivos

    NFC e, entre outras caractersticas, determina a distncia de comunicao dos

    dispositivos. J o digital est relacionado ao ISO/IEC 18092 e ao ISO/IEC 14443 e

    contm diretrizes para a comunicao, como atividades responsveis pelo

    estabelecimento de uma conexo, ciclos de pooling, deteco de colises, entre outros.

  • 40

    2.6.1. LEITURA/ESCRITA

    Este modo de comunicao define o cenrio onde um dispositivo mvel NFC inicia a

    comunicao com uma tag NFC com a finalidade de ler ou escrever dados nesta tag.

    Internamente, subdividido em modo de leitura e modo de escrita.

    No modo de leitura, o iniciador comunica-se com a tag NFC a fim de obter os dados

    armazenados na tag. Nesta tag est armazenada a informao requisitada pelo

    iniciador e o programa responsvel por retornar estes dados para o iniciador. J no

    modo de escrita, o iniciador grava informaes na tag NFC. No caso de a tag NFC j

    possuir dados armazenados, estes sero sobrescritos durante o processo de gravao.

    Um dispositivo mvel ou um leitor NFC deve ser capaz de ler todos os tipos de tags

    suportadas pelo NFC Forum para realizar operaes de leitura e escrita.

    Quando o dispositivo mvel l uma tag NFC, diferentes aes podem ocorrer de acordo

    com o contedo da tag. Uma tag NFC pode armazenar, por exemplo, um endereo de

    um site. Neste caso, ao ler a tag, o dispositivo mvel pode abrir o navegador

    automaticamente para acessar o site. Tambm podem existir tags com uma instruo

    de execuo de aplicao armazenada, que ao ser lida faz com que uma aplicao

    seja executada no dispositivo mvel.

    As caractersticas de dispositivos mveis como poder de processamento, reproduo de udio e vdeo e acesso internet, quando utilizadas com este modo de operao NFC proporcionam muitas possibilidades de aplicaes interessantes tanto para usurios quanto para desenvolvedores. Um bom exemplo disso uma aplicao onde possvel comprar bilhetes de cinema ao aproximar o dispositivo mvel de um cartaz. Aplicaes com este modo de operao so numerosas e podem ser muito inovadoras. (COSKUN, 2012)

    Neste modo de operao, as interfaces da camada de RF so compatveis com as

    especificaes ISO/IEC 14443 Tipo A, ISO/IEC 14443 Tipo B e Sony FeliCa. O SE do

    dispositivo mvel no necessrio na comunicao, j que a comunicao consiste

    basicamente na manipulao dos dados da tag NFC. A tag NFC um dispositivo

    passivo nesta comunicao e sua manipulao envolve alguns protocolos especficos,

    que so representados na figura a seguir:

  • 41

    Figura 7 - Pilha de protocolos do modo leitura/escrita

    As camadas mais inferiores, comuns a todos os modos de operao, definem os

    protocolos analgicos e digitais da tecnologia NFC. Acima delas, possvel observar

    duas vertentes de utilizao. Uma delas com aplicaes baseadas em mensagens

    NDEF e regulamentadas pelo NFC Forum, enquanto a outra pode ser completamente

    proprietria, utilizando somente as especificaes mais bsicas da tecnologia NFC.

    As operaes de tags representam os comandos e instrues utilizados pelos

    dispositivos NFC para manipular as tags definidas pelo NFC Forum. As operaes de

    leitura e escrita so realizadas atravs da utilizao da especificao NDEF.

    Aplicaes NDEF so softwares cuja funcionalidade baseada na utilizao da

    especificao NDEF. Geralmente esto associados a tarefas de leitura de informaes,

    como psteres, estabelecimento de conexo Wi-Fi, entre outras.

    Aplicaes que no so baseadas em NDEF encaixam-se tambm neste modo de

    operao, porm, so aplicaes especficas de um determinado desenvolvedor. Estas

    aplicaes podem servir para leitura de bilhetes, por exemplo, onde geralmente h

    tecnologia proprietria envolvida.

    2.6.1.1. TAGS SUPORTADAS

    O NFC Forum definiu quatro tipos de tags para utilizao neste modo, numerando-as

    de 1 a 4. Cada tipo de tag tem um formato e uma capacidade diferente, e so

    baseados nas especificaes suportadas pela tecnologia NFC, ISO/IEC 14443 Tipo A,

    ISO/IEC 14443 Tipo B e Sony FeliCa. Segundo (COSKUN, 2012), as caractersticas

    mais comuns destes tipos de tags so:

    Aplicaes NDEF

    Operaes com tags

    Aplicaes sem NDEF

    Protocolo Digital

    Analgico

  • 42

    Tipo 1: estas tags so baseadas na especificao ISO/IEC 14443 Tipo A.

    Podem ser lidas e gravadas, porm, sua gravao pode ser inibida atravs de

    configurao, caso seja necessrio. Possui 1 kb de espao para

    armazenamento de dados, que o suficiente para armazenar um endereo de

    um site ou qualquer outra pequena quantidade de informaes. A taxa de

    transferncia desta tag de 106 kbit/s;

    Tipo 2: estas tags tambm so baseadas na especificao ISO/IEC 14443 Tipo

    A. Assim como na tag Tipo 1, tambm podem ser lidas e gravadas, e possuem a

    configurao para desabilitar a gravao. O espao de armazenamento de at

    2 kb e a taxa de transferncia de 106 kbit/s;

    Tipo 3: so tags baseadas no padro Sony FeliCa. Atualmente tem um espao

    de armazenamento de 2 kb e a taxa de transferncia de 212 kbit/s. Porm, a

    memria pode ser expansvel at 1 mb. Este tipo de tag recomendado para

    aplicaes mais complexas e possui um custo elevado se comparado s outras

    tags;

    Tipo 4: so tags compatveis com os padres ISO/IEC 14443 Tipo A e ISO/IEC

    14443 Tipo B. Estas tags so pr-configuradas durante sua fabricao e podem

    ser gravveis ou no. Alm disso, o tipo da tag tambm definido em uma etapa

    de fabricao. O espao para armazenamento de at 32 kb e a velocidade de

    comunicao varia entre 106 e 424 kbit/s.

    2.6.1.2. NDEF

    NDEF um formato especificado pelo NFC Forum para as mensagens trocadas entre

    dois dispositivos durante uma comunicao NFC. Esse formato consiste em uma

    mensagem leve em formato binrio, concebida para encapsular um ou mais payloads

    em uma nica mensagem. Um payload, tambm chamado de carga til, definido pela

    aplicao e contm informaes relevantes para o processamento da mesma.

    Uma mensagem NDEF pode conter um ou mais registros NDEF, cada um carregando

    um payload de um determinado tipo e com tamanho de at 232-1 octetos. Octetos so

    bytes onde cada um dos 8 bits modifica seu significado dentro de um determinado

    contexto. Estes registros podem ser encadeados para que um tamanho maior de

  • 43

    payload seja suportado (NDEF, 2006). Em uma mensgem NDEF, o primeiro registro

    sempre ser marcado com uma flag Message Begin (MB) e o ltimo ser marcado com

    uma flag Message End (ME), como na representao de uma mensagem NDEF a

    seguir:

    Figura 8 - Representao de uma mensagem NDEF

    Um registro NDEF carrega trs parmetros para descrever seu payload:

    Tamanho do Payload: este parmetro indica o nmero de octetos no payload.

    Se o tamanho pode ser representado nos 8 primeiros octetos de um registro, a

    deteco dos limites de cada registro podem ser realizada de maneira mais

    eficiente;

    Tipo do Payload: um identificador para representar o tipo do payload.

    Mensagens NDEF suportam URIs, alguns tipos de mdia ou outro formato

    especfico do NFC. Com a utilizao desta informao possvel direcionar o

    payload para a aplicao mais apropriada;

    Identificador do Payload: um parmetro opcional que pode ser utilizado para

    atribuir ao payload um identificador no formato URI. O uso de um identificador

    permite que um payload faa referncia a outros payloads, desde que suportem

    tecnologias necessrias para estabelecer esta ligao atravs de URI;

    O NFC Forum define vrios tipos de registros NDEF com diferentes propsitos atravs

    da especificao RTD. Os principais tipos definidos em RTDs so:

    URI RTD: define um registro que representa um URI e que pode ser

    armazenado em uma tag ou compartilhado entre dispositivos mveis, por

    exemplo;

    Smart Poster RTD: define um tipo capaz de armazenar URLs, SMSs e nmeros

    de telefone em uma tag e tambm seu compartilhamento entre os dispositivos.

    Foi especificado especialmente para utilizao em objetos como psteres e

    cartazes, para armazenar dados relativos propaganda e aes de marketing.

  • 44

    O payload de uma mensagem desse tipo consiste em outra mensagem NDEF

    com o seguinte formato: um registro NDEF para o ttulo, um registro para

    armazenar um URI, um registro de ao que define como a mensagem deve ser

    tratada, um registro para armazenar um cone, um registro para informar o

    tamanho dos dados referenciados pelo URI e um registro para informar o tipo

    destes dados;

    Signature RTD: um registro desse tipo contm uma assinatura digital

    relacionada a um ou mais registros dentro da mensagem NDEF. Esta assinatura

    pode ser utilizada para verificar a integridade e autenticidade de toda a

    mensagem NDEF. A assinatura digital de uma mensagem NDEF um mtodo

    confivel para fornecer informaes sobre a origem das mesmas (COSKUN,

    2012).

    Text RTD: este tipo de registro contm texto puro. Geralmente utilizado em um

    registro dentro de uma mensagem com vrios outros registros, para fornecer

    descries, por exemplo. Quando aparece em uma mensagem de um nico

    registro no possvel determinar um comportamento padro para esta

    mensagem dentro da aplicao.

    Um registro NDEF tem tamanho varivel e pode ser analisado mais detalhadamente no

    modelo a seguir, conforme definido em sua especificao (NDEF, 2006).

  • 45

    Figura 9 - Representao de um registro NDEF

    Neste modelo, cada linha representada por pelo menos um byte e os traos verticais

    so utilizados para demarcao dos bits, conforme indicado acima do modelo com a

    utilizao da numerao dos bits de 7 a 0. Os campos apresentados tem a seguinte

    funcionalidade:

    MB: uma flag de um bit que indica o comeo de uma mensagem NDEF;

    ME: uma flag de um bit que indica o fim de uma mensagem NDEF;

    Chunk Flag (CF): uma flag de um bit que indica se este registro o primeiro de

    um payload segmentado ou no;

    Short Record (SR): uma flag de um bit, que se for ativada indica que o campo

    PAYLOAD_LENGTH pode ser representado por um nico octeto. Isto serve para

    que os registros se tornem mais compactos e permite que pequenos payloads

    sejam utilizados com tamanho entre 0 e 255 bytes. Uma mensagem NDEF pode

    conter registros normais e pequenos, e qualquer interpretador deve suportar

    ambos os formatos;

  • 46

    ID Length (IL): uma flag de um bit, que se for ativada indica que o campo

    ID_LENGTH est presente no cabealho e pode ser representado por um nico

    octeto. Caso contrrio, o campo ID_LENGTH e o ID so omitidos do registro;

    Type Name Format (TNF): o valor deste campo de 3 bits indica a estrutura

    utilizada para a representao do campo TYPE. No h valor padro para este

    campo e valores no especificados esto reservados para tipos que sero

    criados no futuro. Qualquer interpretador que receber um valor no presente na

    especificao deve trat-lo como desconhecido;

    TYPE_LENGTH: este campo representado por um inteiro de 8 bits e define o

    tamanho do campo TYPE em bytes. Para certos valores de TNF, este campo

    ser sempre 0;

    ID_LENGTH: este campo representado por um inteiro de 8 bits que especifica

    o tamanho do campo ID em bytes. Se o valor for 0, o campo ID ser omitido do

    registro;

    PAYLOAD_LENGTH: este campo representado por um inteiro que especifica o

    tamanho do campo PAYLOAD em bytes. Se a flag SR estiver ativada, este

    campo ter 8 bits, caso contrrio ter 32 bits. Se o valor for 0, o campo

    PAYLOAD ser omitido do registro;

    TYPE: um identificar que descreve o tipo do payload. Este tipo deve seguir a

    estrutura definida pelo campo TNF e muito importante para a semntica da

    mensagem;

    ID: um identificador na forma de uma referncia URI. Este identificador deve

    ser nico e essa propriedade deve ser garantida pelo responsvel por sua

    gerao. O identificador pode ser relativo ou absoluto. Se for relativo, a

    aplicao deve especificar uma raiz para a referncia URI. Com exceo do

    primeiro registro, todos os outros registros de um payload segmentado no

    devem ter o campo ID;

    PAYLOAD: este campo carrega os dados utilizados pela aplicao do usurio. O

    dado carregado neste campo indiferente para a especificao NDEF, e,

    portanto, qualquer tipo de dado permitido;

  • 47

    Atualmente a especificao NDEF prov os seguintes valores para utilizao no campo

    TNF:

    Registro Vazio (0x00): indica que no haver valores para TYPE, ID ou

    PAYLOAD associados com este registro NDEF. Este tipo de registro til para

    cartes e tags recm-formatados, pois toda tag precisa ter pelo menos um

    registro NDEF;

    Well-Known Record (0x01): indica que o campo TYPE utiliza o formato RTD.

    Este tipo de registro utilizado para armazenar qualquer registro definido na

    especificao RTD, como texto, URIs, entre outros;

    MIME Media Record (0x02): indica que o campo TYPE contm um valor que

    segue a formatao media-type BNF definida por RFC 2046;

    Absolute URI Record (0x03): indica que o campo TYPE contm um valor que

    segue a formatao absolute-URI BNF definida por RFC 3986;

    External Record (0x04): indica que o campo TYPE contm um valor que segue a

    especificao definida em RTD para nomes de tipos externos;

    Unknown Record (0x05): indica que o tipo do PAYLOAD desconhecido.

    semelhante ao uso de "application/octet-stream" em tipos MIME;

    Unchanged Record (0x06): indica que o PAYLOAD faz parte de um registro

    intermedirio ou final de um registro segmentado;

    O NDEF oferece a possibilidade de uma aplicao enviar muitos dados de diferentes

    tipos em uma nica mensagem. Uma aplicao pode, por exemplo, criar uma nica

    mensagem contendo registros com endereos de sites, nmeros de telefone, textos

    descritivos, entre outros. Nestes casos, o primeiro registro o que ser utilizado para

    definir o significado da mensagem.

    O interpretador de mensagens NDEF desmonta as mensagens e decide o que fazer

    com cada tipo de payload detectado. ele que decide se a mensagem vai ser enviada

    diretamente para outra aplicao do usurio ou processada internamente pela

    aplicao com suporte NFC. Cada mensagem NDEF deve ser recebida ou enviada

    em sua totalidade.

  • 48

    Tambm importante notar que apesar de entidades MIME serem suportadas, no h

    pressuposies de que um payload de um registro NDEF do tipo MIME, pois o NDEF

    no pressupe nada referente aos tipos de payload carregados em uma mensagem.

    Em outras palavras, um interpretador NDEF no precisa inspecionar o tipo do registro

    NDEF tampouco inspecionar o contedo dentro do registro para processar a

    mensagem NDEF.

    2.6.2. PEER-TO-PEER

    No modo peer-to-peer, dois dispositivos podem estabelecer uma conexo entre si para

    troca de dados de forma bidirecional. Este modo de operao s pode ser utilizado

    entre dispositivos mveis e leitores NFC e serve para trocar qualquer tipo de dado,

    como contatos, fotos e mensagens de texto.

    Foram definidas duas especificaes para este modo de operao, o NFCIP-1 e o

    LLCP. O LLCP foi construdo em uma camada acima do NFCIP-1 na pilha de

    protocolos e depende dele para funcionar. Enquanto no NFCIP-1, o iniciador e o alvo

    so definidos antes da comunicao comear, no LLCP podem ser definidos pela

    aplicao, que est uma camada acima na pilha de protocolos. Este recurso concede

    maior flexibilidade no s para o desenvolvimento, mas tambm para a interao do

    usurio com os dispositivos.

    Neste modo, ambos os dispositivos possuem fonte de energia prpria e so

    considerados ativos. A comunicao utiliza um canal bidirecional half duplex, pois

    quando um dispositivo est transmitindo informao, o outro precisa esperar a

    transmisso terminar para que possa, em seguida, transmitir dados tambm. A

    interface de comunicao por RF est padronizada em ISO/IEC 18092 para este modo

    de operao e a taxa de transferncia mxima de 424bkps.

    O modo de operao peer-to-peer apresenta a seguinte pilha de protocolos:

  • 49

    Figura 10 - Pilha de protocolos do modo peer-to-peer

    Os protocolos analgicos e digitais nas camadas mais baixas, assim como no modo de

    operao leitura/escrita, esto especificados em NFCIP-1. Na camada acima existe o

    protocolo LLCP, que viabiliza a transferncia de unidades de informao para as

    camadas superiores presentes nos dois dispositivos da comunicao. As ligaes de

    protocolos provm bindings para os protocolos do NFC Forum e permitem uso de

    protocolos registrados. Os protocolos do NFC Forum so aqueles utilizados para

    estabelecer um vnculo com o LLCP, como Internet Protocol (IP), por exemplo. De

    outro lado, existe o Simple NDEF Exchange Protocol (SNEP) que permite a troca de

    mensagens NDEF entre os dispositivos, mas tambm possvel utilizar outros

    protocolos sobre a camada de enlace fornecida pelo LLCP. Acima da pilha esto as

    aplicaes, que podem funcionar com base no protocolo SNEP, protocolos do NFC

    Forum ou outros protocolos.

    2.6.2.1. LOGICAL LINK CONTROL PROTOCOL

    O LLCP define uma camada de enlace para oferecer suporte comunicao peer-to-

    peer entre dois dispositivos NFC e essencial para qualquer aplicao NFC que

    envolve comunicao bidirecional.

    O LLCP uma base slida, segundo (LLCP, 2011), para quaisquer aplicaes NFC

    que funcionem no modo peer-to-peer. O LLCP baseado em funcionalidades bsicas

    especificadas pelo protocolo NFCIP-1. No protocolo NFCIP-1 existe a capacidade

    segmentao e montagem de dados de servio, assim como controle do fluxo de

    Aplicaes

    Protocolos do NFC Forum

    Ligaes de protocolos

    NDEF Exchange Protocol e outros protocolos

    Logical Link Control Protocol (LLCP)

    Protocolo Digital

    Analgico

  • 50

    dados, comum em protocolos half duplex. Alm disso, o protocolo NFCIP-1 estabelece

    um fluxo de dados ordenado e permite o gerenciamento de erros. Em outras palavras,

    fornece uma camada de enlace que pode ser considerada confivel e livre de erros.

    No LLCP esto definidos servios para transporte sem conexo ou no orientado

    conexo, transporte orientado conexo, ativao, superviso e desativao de

    enlace, comunicao balanceada assncrona e protocolo para multiplexao.

    O transporte sem conexo ou no orientado conexo prov um servio de

    transmisso de dados sem reconhecimento. Este modo de transporte pode ser utilizado

    se os protocolos de camadas superiores implementarem seus prprios mecanismos de

    controle de fluxo. Desta forma, estas camadas no dependem do controle de fluxo

    fornecido pela camada de enlace.

    O transporte orientado conexo prov um servio de transmisso de dados de

    maneira sequencial e com garantia de entrega de unidades de dados de servio. A

    transmisso dos dados gerenciada atravs de um protocolo do tipo sliding window.

    Os servios de ativao, superviso e desativao do enlace definem como dois

    dispositivos NFC que estejam dentro de um campo eletromagntico reconhecem a

    compatibilidade do protocolo LLCP, estabelecem uma ligao, supervisionam a

    conexo com o dispositivo remoto e desativam a ligao, quando solicitado.

    Dispositivos NFC possuem MACs que podem operar em modo de respostas normal,

    onde existe apenas um iniciador, que possui a habilidade de enviar dados para o alvo

    ou podem solicitar dados de uma tag. No LLCP, o servio de comunicao balanceada

    assncrona habilita o Asynchronous Balanced Mode (ABM) em ambos dispositivos