UNIVERSIDADE DO OESTE DE SANTA CATARINA UNOESC CAMPUS DE SÃO MIGUEL DO OESTE JOHNI DOUGLAS MARANGON

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO OESTE DE SANTA CATARINA UNOESC CAMPUS DE SÃO MIGUEL DO OESTE JOHNI DOUGLAS MARANGON"

Transcrição

1 1 UNIVERSIDADE DO OESTE DE SANTA CATARINA UNOESC CAMPUS DE SÃO MIGUEL DO OESTE JOHNI DOUGLAS MARANGON ESTUDO COMPARATIVO DE FERRAMENTAS PARA DESENVOLVIMENTO DE APLICATIVOS UTILIZANDO A PLATAFORMA JAVA CARD São Miguel do Oeste (SC) 2009

2 2 JOHNI DOUGLAS MARANGON ESTUDO COMPARATIVO DE FERRAMENTAS PARA DESENVOLVIMENTO DE APLICATIVOS UTILIZANDO A PLATAFORMA JAVA CARD Projeto de Trabalho de Conclusão de Curso apresentado à Universidade do Oeste de Santa Catarina UNOESC, Campus de São Miguel do Oeste como requisito parcial à obtenção do grau de Bacharel em Sistemas de Informação Orientador: Prof. Esp. Roberson Junior Fernandes Alves São Miguel do Oeste (SC) 2009

3 3 LISTAS DE ILUSTRAÇÕES Desenho 1: Cartão Cidadão de Portugal...09 Desenho 2 : Arquitetura típica de um cartão de memória com contato com lógica de segurança...15 Desenho 3: Arquitetura típica de um cartão com processador e co-processador...16 Desenho 4: Pontos de contato do cartão...16 Desenho 5: Estrutura de um comando APDU...19 Desenho 6: Estrutura de uma resposta APDU Desenho 7: Estrutura Java Card...26 Desenho 8: Java Card Virtual Machine...29

4 4 LISTAS DE QUADROS Quadro 1: Marcos no desenvolvimento da tecnologia de cartão inteligente...13 Quadro 2: Tipos de memória comumente utilizadas em cartões inteligentes...14 Quadro 3: Resumo dos protocolos de transmissão de acordo com a norma ISSO/IEC Quadro 4: Recursos Java suportados e não suportados...26 Quadro 5: Pacotes Java Card...31

5 5 LISTA DE ABREVIATURAS E SIGLAS JCDK JCVM JCRE CAP IC ATM SPOM CAD HD ROM RAM EEPROM ISO RFID ATR IEC EMV PC/SC API GSM SIM HTML LGPL PKCS MUSCLE OCF APDU C-APDU R-APDU POS PVC Java Card Development Kit Java Card Virtual Machine Java Card Runtime Environment Converted Applet Integrated Circuit Automated Teller Machine Self Programmable One-chip Microcom Card Acceptance Device Hard Disk Read Only Memory Random Access Memory Eletrically Erasable Programmable Read Only Memory International Organization for Standardization Radio Frequency IDentification Answer To Resset International Electrotechnical Commission Europay, Mastercard, VISA Personal Computer/Smart Card Application Programming Interface Global System for Mobile Subscriber Identity Module HyperText Markup Language Lesser General Public License Public Key Cryptography Standards Movement for the Use of Smart Cards in a Linux Environment Open Card Framework Application Protocol Data Unit Command Application Protocol Data Unit Response Application Protocol Data Unit Point Of Sale Policloreto de Vinilo

6 6 SUMÁRIO 1. INTRODUÇÃO OBJETIVOS Geral Específicos JUSTIFICATIVA/PROBLEMATIZAÇAO REVISÃO DA LITERATURA SMART CARDS História dos Smart Card Estrutura de um Smart Card Memórias utilizadas em Smart Card Cartões de memória Cartões com microprocessador: Cartões com Contato (Contact Card) Cartões sem Contato (Contactless Card) Cartões Híbridos (Hibrid Card) Duas Interfaces (Combi Cards) Protocolos de transmissão Protocolo APDU Estrutura de um comando APDU Estrutura de uma resposta APDU ATR Especificações e normas técnicas ISO/IEC EMV PC/SC - Personal Computer/Smart Card GlobalPlataform Áreas de aplicação com Smart Card Identificação física Controle de acesso físico Serviços financeiros Transporte PLATAFORMA JAVA CARD JCRE - Java Card Runtime Environment JCVN Java Card Virtual Machine Java Card API FERRAMENTAS E MÉTODOS PARA DESENVOLVIMENTO SMART CARD Open Card Framework OpenSC MUSCLE SIM Toolkit MATERIAIS E MÉTODOS REFERÊNCIAS APENDICE A Partes que compõem a norma ISO/ICE APENDICE B - Exemplo de código Java Card... 39

7 7 1. INTRODUÇÃO Atualmente com a evolução de dispositivos móveis observa-se uma forte tendência de migração no processamento e armazenamento de dados que deixam de ser centralizados e passam a ser distribuídos fazendo com que a informação esteja sempre disponível em qualquer lugar e a qualquer hora. Um simples cartão pode conter uma quantidade significativa de informações que por ventura provem os mais variados serviços e ficam a disposição do usuário sempre que for requisitado de forma prática e acessível. No presente trabalho será desenvolvido um documento que conterá as principais informações sobre ferramentas que auxiliam o desenvolvimento de aplicativos para cartões inteligentes utilizando a tecnologia Java Card visando apoiar a criação de aplicações para os mesmos. No documento irão conter informações sobre a estrutura de funcionamento de cartões inteligentes, áreas que poderão ser exploradas para implantação de sistemas que utilizam cartões e métodos de instalação e manipulação de aplicativos no cartão de forma genérica. Para as ferramentas estudas será apresentado um passo a passo de instalação e utilização visando aproveitar melhor as características de cada uma. Durante o desenvolvimento do projeto será criado pequenos exemplos da utilização de cada ferramenta em ambiente de produção com o objetivo de explorar a sua utilização. Através das informações levantadas e o conhecimento obtido será possível criar aplicativos para cartões inteligentes de forma rápida e simples diminuindo os custos e complexidade envolvidos e aumentado a produtividade. O momento demanda um estudo dessa proporção, pois o potencial uso de cartões inteligentes é visto pelo acadêmico como uma oportunidade para inúmeros estudantes que ainda não trabalham na área se prepararem para desenvolver uma profissão alem de agregar conhecimento ao acadêmico que poderá ser utilizado em projetos futuros OBJETIVOS Nessa seção serão descritos os objetivos que se pretendem alcançar com desenvolvimento do presente trabalho.

8 Geral Pretende-se desenvolver um estudo em relação às ferramentas de desenvolvimento Java Card a fim de realizar um comparativo entre as ferramentas analisadas produzindo um documento de referência para desenvolvedores que utilizam essa tecnologia Específicos Os objetivos específicos que se espera alcançar com o projeto são: Estudar as principais características dos cartões inteligentes. Compreender o funcionamento e utilização de um cartão inteligente. Estudar a tecnologia Java Card e suas principais especificações a fim de orientar a sua utilização para uma determina área de aplicação. Identificar as principais vantagens no uso de Java Card em relação a soluções semelhantes já existentes. Demonstrar o uso de Java Card no desenvolvimento de aplicativos para cartões inteligentes. Apresentar algumas das ferramentas disponíveis que auxiliam os desenvolvedores Java Card. Desenvolver pequenos protótipos demonstrando o uso com as ferramentas. Analisar e apresentar os resultados obtidos na pesquisa como forma de contribuição para o meio acadêmico JUSTIFICATIVA/PROBLEMATIZAÇAO Os Smart Cards ou cartões inteligentes são muito populares na Europa e o seu uso é impulsionado principalmente pela capacidade de armazenar e processar as informações contidas no cartão. Essa característica faz com que o cartão inteligente seja um grande aliado na segurança de informação preservando todas as informações contidas nele, pois toda a informação é criptografada num circuito eletrônico e fica disponível para ser utilizada somente pelas partes autorizadas evitando assim fraudes (CUNHA, 2009).

9 9 A evolução por parte de grupos industriais fez com que o emprego de cartões inteligentes fosse estendido para outras áreas sendo hoje uma tecnologias em constante evolução, segundo Sargento (2009) o investimento das empresas em Smart Cards tem vindo a crescer progressivamente num mercado que vai se agitando com diferentes projetos que surgem quer do lado da administração pública quer do lado do setor privado. Hoje o uso dos cartões inteligentes se estende a inúmeras áreas de aplicação, dentre elas podemos destacar a telefonia, identificação pessoal, sistema de segurança por computador, controle de acesso, vale transporte, vale alimentação, convênios, sistemas de fidelidade e TV via satélite (HSBC, 2009). No âmbito mundial existe em Portugal o uso do Cartão Cidadão que é um cartão de identificação utilizado no país. Esse cartão oferece identificação visual e eletrônica do usuário, alem de permitir acesso aos principais serviços públicos e privados unindo praticamente todos os documentos em um. Esse projeto e um grande fator de modernização da administração pública e traz muitas vantagens para os seus usuários. Desenho 1: Cartão Cidadão de Portugal Fonte: Zetes ([200-]). No Brasil os trabalhos de maior expressão a nível governamental é o uso de cartões inteligentes para certificação digital com os projetos e-cpf e e-cnpj, esse projetos são mantidos pelo Governo Federal e são utilizados para garantir a identidade de destinatários e remetentes na autenticação de documentos eletrônicos através de chaves públicas e privadas (ITI, [200-]). Outra área de aplicação que está ganhando destaque são os Sistemas de Bilhetagem Eletrônicas com destaque para o cartão de transporte utilizado na cidade de Curitiba, Paraná. O novo sistema substituiu as fichas de metal e os vales de papel que estavam sendo falsificados e utilizados como moedas paralelas causando prejuízos para as empresas,

10 10 alem do seu uso evitar filas na compra de bilhetes e evitar a necessidade de transportar dinheiro (URBS, c2008). A grande evolução no uso dos cartões inteligentes ocorreu principalmente pelo seu poder de processamento e de armazenamento de dados, isso fez com que surgisse e amadurecesse tecnologias que pudessem ser empregadas no desenvolvimento de aplicações para cartões inteligentes. A tecnologia Java Card permite que desenvolvedores executem todo o ciclo de desenvolvimento de uma aplicação Java comum reduzindo os custos no desenvolvimento de uma aplicação e garantindo interoperabilidade entre diferentes fabricantes de cartões. Os desenvolvedores possuem vantagens nativas da linguagem Java adaptadas para executar em dispositivos com recursos limitados e maior modularidade e reutilização de código com o paradigma orientado a objeto. O JCDK oferece as principais ferramentas para o desenvolvimento e implementação de aplicativos escritos em Java, incluindo a JCVM e diversas ferramentas de gestão e testes. Hoje se observa uma grande dificuldade para iniciar os estudos sobre a tecnologia Java Card. É uma tecnologia que está em ascensão e cada vez mais sendo adotada pelo mercado da tecnologia de informação. Entre as maiores dificuldades encontradas estão falta de bibliografia em português sobre técnicas e meios de desenvolvimento de aplicativos para cartões utilizando Java Card, falta de orientação para escolha de dispositivos que podem ser usados com Java Card, preparação de ambiente para desenvolvimento, simulação e testes, materiais que contribuem para o desenvolvimento de aplicativos e ferramentas que auxiliam o desenvolvedor Java Card. Portanto devido a esses fatores foi observado uma grande oportunidade de contribuir com o meio acadêmico e desenvolver um documento que possa ser utilizado para minimizar essas dificuldades.

11 11 2. REVISÃO DA LITERATURA Nesse tópico serão apresentados os principais conceitos literários envolvidos no desenvolvimento de aplicativos para cartões inteligentes utilizando a plataforma Java Card. Esses conceitos literários são fortemente apoiados pelos mais conceituados autores da área. Será apresentada a história e a estrutura de um cartão inteligente na seqüência será apresentada a tecnologia Java Card como principal ferramenta utilizada no desenvolvimento de aplicativos para cartões inteligentes, e por fim serão apresentadas algumas ferramentas que poderão ser utilizadas no desenvolvimento do presente trabalho SMART CARDS Segundo Mayes e Markantonakis (2008, p. ix) A idéia de inserir um chip em um cartão de plástico é quase tão antiga quanto criptografia de chave pública. Há trinta anos começaram a surgir os primeiros cartões com circuíto integrado, esses cartões possuíam inúmeras limitações de processamento e armazenamento, hoje a indústria evoluiu e surgem novas gerações de cartões com mais capacidade de processamento e armazenamento. Por conta disso ocorrem aberturas de novos mercados para o uso de cartões. Segundo (RANKEL, 2007, p. xi) a tendência atual é a utilização de cartões inteligentes por conta de suas características positivas, em vez de simplesmente porque eles existem. Os cartões inteligentes desempenham um papel importante na área de tecnologia de informação são considerados meios portáveis de armazenamento de dados, suas maiores preocupações são segurança e integridade de dados o que garante uma maior a eficiência no uso dessa tecnologia. De acordo com Jurgensen e Guthery (2002, p. 1): Um cartão inteligente é um computador. Ele não inclui o teclado e visor como possuem nossos computadores pessoais, mas tem todos os elementos de uma plataforma de computação de propósito geral. De longe parece um cartão de crédito com uma pequena placa de metal na sua face. Essa placa é a interface elétrica para um computador muito pequeno e altamente integrado sob o plástico. Este computador inclui um processador e vários tipos de memória, por vezes, até mesmo inclui um processador auxiliar que ajudá-lo em cálculos intensos. Assim, enquanto ele é menor do que o PC em sua mesa e é também uma plataforma de computação razoavelmente segura. Os cartões inteligentes possuem mais capacidade de armazenamento de informação em relação aos cartões magnéticos alem de possuírem alta durabilidade podem trabalhar offline dispensando o acesso e interação com outras fontes de informação, como servidores por

12 12 exemplo. O cartão inteligente pode ser considerado inviolável e possui armazenamento de dados que pode chegar a 32 MB, possuem comumente modestos processadores de 8 bits e 16 bits a sofisticados processadores de 32 bits já sendo utilizados em alguns cartões. Seu poder de processamento pode ser comparado a computadores de inicio da década de 80 (JURGENSEN; GUTHERY, 2002) História dos Smart Card O uso dos cartões de plástico iniciou nos Estados Unidos na década de 50 onde a Dinners Club começou a emitir cartões para serem aceitos como forma de pagamento em alguns restaurantes e hotéis. Esses cartões eram feitos de PVC o que garantia uma vida útil maior do que os feitos de papel. A partir daí empresas como VISA e MasterCard iniciaram a sua participação no mercado de cartões de plástico onde iniciou um grande avanço tecnológico e passou-se a utilizar cartões com tarja magnética e impressão em alto relevo que permitia a leitura de dados adicionais no cartão porem não garantia total segurança já que qualquer equipamento adequado podia ler excluir e apagar os dados na tarja magnética. Posteriormente surgiram os cartões com circuito integrado que tinham um nível maior de segurança (RANKEL; EFFING, 2003) e (PETRI, 1999). Na década de 70 com inicio dos avanços na microeletrônica foi possível produzir chips em quantidade e com qualidade a preços acessíveis. Em 1968 o primeiro pedido de patente de um cartão com circuito integrado foi solicitado pelos engenheiros alemães Jürgen Dethloff e Helmut Gröttrup e tiveram na seqüência em 1970 o pedido de patente semelhante feito no Japão por Kunitaka Arimura. As maiores contribuições na área foram realizadas por Ronald Moreno um jornalista Frances que entre 1974 e 1979 solicitou 47 pedidos de patentes relacionadas com cartões inteligentes em 11 países. (JURGENSEN; GUTHERY, 2002) Em 1977 tem inicio a produção em massa de cartões inteligentes lideradas pelas fabricantes Bull CP8, SGS Thomson, Schlumberger, em 1978 a BULL registra a patente do SPOM (Self Programmable One Chip Microcomputador), que define a estrutura de um chip que integra todos os elementos em um micro controlador. Em 1980 a Motorola desenvolve o primeiro chip baseado nas especificações do SPOM. O grande avanço no uso de cartões inteligentes teve inicio no ano de 1984 quando Serviço Postal e de Telecomunicações da Franca (French PTT) iniciou os testes em cartões telefônicos com chips em ATMs. No mesmo ano tem inicio na Franca e na Alemanha testes com o uso de cartões inteligentes em operações bancarias. Segundo (PETRI, 1999) em 1986, muitos milhões de cartões

13 13 inteligentes em telefones estavam em circulação na França. Seu número chegou a quase 60 milhões em 1990, e 150 milhões foram projetadas para Três anos mais tarde em 1989 iniciam na Alemanha testes com o uso de cartões telefônicos com diversas tecnologias entre elas banda magnética e armazenamento óptico (RANKEL; EFFING, 2003). Dentro de dois anos mais tarde em 1986 o uso dos cartões inteligentes se expandiu em todo o mundo. No Quadro 1 é apresentado um histórico da evolução dos cartões inteligentes. Data Descrição 1970 Dr. Kunitaka Arimura do Japão registrou a primeira patente sobre o conceito de Smart Card Roland Moreno da França registrou a patente original para o cartão IC, posteriormente apelidado de "smart card" Três fabricantes comerciais, Bull CP8, SGS Thomson e Schlumberger começaram a desenvolver o cartão IC Motorola desenvolveu o primeiro chip micro controlador para utilização no setor bancário francês Testes com cartões de memória são iniciados na França, é o primeiro teste do mundo com cartão IC Teste com cartões bancários em ATM com chips foram realizados com sucesso cartões equipados com o CP8 Bull foram distribuídos aos clientes do Banco da Virgínia e de Maryland National Bank cartões Casio foram distribuídos aos clientes do First National Palm Beach e do Banco Mall Testes com cartões multi-aplicação em Rennes na França onde a função Telecarte (para telefones públicos) foi ativado em um Banco de Smart Card Europay, MasterCard e Visa (EMV) publicam especificações comuns para o microchip baseada em cartões bancários (cartões inteligentes). Na Alemanha começa a emissão de 80 milhões de cartões de memória em série com chips de cartões de saúde do cidadão Mais de 3 milhões de assinantes de telefonia móvel digital no mundo inteiro começam fazer chamadas com cartões inteligentes. Os primeiros cartões multifuncionais com chips de tecnologia MARC foram emitidos para Marinha Americana no Havaí Mais de 1,5 milhões cartões VISA Cash de valor armazenado foram emitidos nos Jogos Olímpicos de Atlanta. MasterCard e Visa começam o patrocínio de consórcios para trabalhar na resolução dos problemas de interoperabilidade de cartões inteligentes. Duas soluções de cartões diferentes foram desenvolvidas, o JavaCard apoiado pela Visa, e o Multi-application Operating System (MULTOS) apoiado pela MasterCard O Governo dos EUA junto com o Serviço de Administração (GSA) inicia o projeto Smart ID, Smart Access Comum ID Card, o programa estabeleceu um contrato de veículos para utilização por todas as agências federais para adquirir um padrão de interoperabilidade do cartão de identificação do empregado, a partir de um ou mais fornecedores, capazes de fornecer tanto acesso físico como lógico (sistema / rede) e o acesso a todos os empregados do Governo. O Governo Americano (General Services Administration) começou uma aplicação piloto utilizando Java Card em Washington na região metropolitana. Quadro 1: Marcos no desenvolvimento da tecnologia de cartão inteligente Fonte: Adaptado de Cardwerk (2008). Na atualidade o uso de cartões inteligentes é fortemente impulsionado por questões de segurança onde por natureza os cartões não são clonados facilmente e com os expressivos

14 14 avanços tecnológicos está cada vez mais intenso o uso de cartões inteligentes (MAYES; MARKANTONAKIS, 2008) Estrutura de um Smart Card Nessa seção será apresentado as principais características físicas dos cartões inteligentes visando um melhor entendimento sobre o seu funcionamento Memórias utilizadas em Smart Card Por se tratar de dispositivos que realizam armazenamento e processamento de informações os cartões possuem alguns tipos de memória que são utilizados para armazenar programas e dados. Basicamente existem três tipos de memórias comumente utilizados em cartões inteligentes. O Quadro 2 apresenta a definição dos tipos de memória usados em cartões inteligentes. Tipo ROM (Read Only Memory) EEPROM (Electrically Erasable Programmable Read-Only Memory) RAM (Random Access Memory) Quadro 2: Tipos de memória comumente utilizadas em cartões inteligentes Fonte: Adaptado de Rankel (2007, p. 6-9). Descrição Tipo de memória somente leitura, quando usada em cartões inteligentes armazena informações do sistema operacional e algumas outras rotinas, esses dados são gravados pelo fabricante do cartão durante o processo de fabricação do mesmo, possui baixo custo e ocupa pouco espaço no chip. E a memória não volátil em cartões inteligentes, funciona de forma semelhante a um HD de um computador pessoal armazenando dados no cartão quando o mesmo não é alimentado por energia. Memória de acesso rápido e utilizada pelos aplicativos durante a interação entre o CAD e o cartão. Os recursos de memória são controlados pelo sistema operacional do cartão, assegurando que a aplicação somente pode acessar os recursos alocados em seu espaço de memória evitando assim acesso não autorizados Cartões de memória Os cartões de memória não realizam nenhum tipo de processamento e possuem apenas a capacidade de armazenar dados em sua memória para posterior utilização. Os dados podem ser alterados, apagados e incluídos. Esses cartões possuem memória ROM que contém

15 15 algumas informações do chip e os dados são controlados por uma lógica de segurança contra exclusão e gravação de dados, em outros casos existem cartões com lógicas de segurança mais complexas que utilizam esquemas simples de criptografia (RANKEL; EFFING, 2003). Desenho 2: Arquitetura típica de um cartão de memória com contato e lógica de segurança Fonte: Rankel e Effing (2003, p. 19). Os cartões de memórias são de baixo custo e utilizados geralmente em sistemas de estacionamentos, transporte público, cartões pré-pagos de telefones, cartões de seguro de saúde entre outras áreas que demandam um custo menor (RANKEL; EFFING, 2003) Cartões com microprocessador: Esses cartões possuem um chip com microcontrolador que realiza operações aritméticas. O chip é composto por um sistema operacional que controla o acesso aos dados do cartão onde fica impossível alterar informações sem as devidas permissões. Existem sistemas operacionais que suportam múltiplas aplicações em um mesmo cartão e não permite que os dados sejam diretamente acessados por aplicações externas. Esses cartões possuem esquema de segurança em nível de hardware e software dificultando a sua violação. Os cartões podem possuir também co-processadores que servem para auxiliar o processador principal na realização de cálculos. Os cartões com co-processador são muito utilizados para realizar processamento criptográfico que exige maior capacidade de processamento (MAYES; MARKANTONAKIS, 2007).

16 16 Desenho 3: Arquitetura típica de um cartão com processador e co-processador Fonte: Rankel e Effing, (2003, p. 20). Os principais sistemas operacionais Java Card são IBM JCOP licenciado para os principais fabricantes de cartões e o Prisma desenvolvido pela Proton World International e que atualmente faz parte da ST Microelectronics. Esses sistemas operacionais operam com as principais características e especificações do ambiente Java Card (HENDRY, 2007) Cartões com Contato (Contact Card) A troca de informações é feita através de contato físico do cartão com o CAD. São utilizados em inúmeras áreas de aplicação e possibilitam o processamento de um grande número de informação. O cartão possui 8 contatos conforme norma ISO porém apenas 6 são usados (MAYES; MARKANTONAKIS, 2008). Desenho 4: Pontos do cartão com chip Fonte: Mayes e Markantonakis (2008, p. 5).

17 17 Conforme exibido no Desenho 3 os contatos possuem as seguintes funções: VCC: Fornece energia para o cartão, geralmente 3 ou 5 volts. RST: Sinal usado para indicar o estado do circuito integrado. CLK: É a velocidade usada como referência na comunicação com o terminal e o cartão. RFU: Contato auxiliar não usado e reservado para uso futuro. GND: Tensão de terra de referencia entre o cartão de o terminal. VPP: Fornecesse uma fonte de energia separada. I/O: Entrada e saída de dados, fornece o canal de comunicação entre o terminal e o cartão. RFU: Contato auxiliar não usado e reservado para uso futuro Cartões sem Contato (Contactless Card) É um cartão que possui um pequena antena incorporada ao chip e se comunica com CAD através de radiofreqüência utilizando a tecnologia RFID. Esses cartões dispensam qualquer contato físico como CAD e a energia nesse caso e fornecida pelo CAD através de campos eletromagnéticos. Esses cartões podem ser cartões com microprocessador ou cartões com memória (RANKEL, 2007). É recomendável que cartões sem contato sejam utilizados em ambiente com pouco ruído elétrico o que garante um bom desempenho e confiabilidade. Os cartões sem contato são mais caros que cartões com contato e exigem equipamentos e infra-estrutura mais sofisticada aumentando o custo de implementação (RANKEL, 2007) Cartões Híbridos (Hibrid Card) Possui dois chips em um mesmo cartão sendo que um é acessado através de seus contatos físicos e outro acessado através de radiofreqüência (ID EDGE, 2009).

18 Duas Interfaces (Combi Cards) O cartão tem duas interfaces, onde um mesmo microcontrolador pode ser acessado através de contato físico ou através de radiofreqüência (ID EDGE, 2009) Protocolos de transmissão Para Rankel (2007, p. 24) Os protocolos de transmissão definem os processos de comunicação entre o terminal e o cartão inteligente no caso de operações bem sucedidas e mecanismos a serem utilizados para lidar com erros de transmissão quando detectados. A comunicação e feita no principio de mestre-escravo onde o terminal atua como mestre e o cartão como escravo onde a comunicaçao é half-duplex (RANKEL, 2007). Segundo Rankel e Effing (2003) existe um total de 15 protocolos de comunicação, estes são apresentados no Quadro 3. Protocolo Significado T = 0 Assíncrona, half-duplex, orientado a byte, especificado na norma ISO / IEC T = 1 Assíncrona, half-duplex, orientado a bloco, especificados na norma ISO / IEC T = 2 Assíncrona, full-duplex, orientado a bloco, especificados na norma ISO / IEC T = 3 Full-duplex, ainda não especificado T = 4 Assíncrona, half-duplex, orientado a byte, extensão de T = 0, ainda não especificado T =5... T = 13 Reservado para uso futuro, ainda não especificado T = 14 Para uso nacional ainda não padronizados pela ISSO T = 15 Reservado para uso futuro e ainda não especificado Quadro 3: Resumo dos protocolos de transmissão de acordo com a norma ISO / IEC Fonte: Rankel e Effing (2003, p. 396). internacionais. Apenas dois protocolos de transmissão são utilizados atualmente por normas e padrões O T=0 foi o primeiro a ser utilizados e parte do princípio de envio byte a byte, tem a vantagem de consumir menos memória, é muito utilizado em cartões para comunicação móvel é definido pela norma ISO / IEC Já o protocolo T=1 que envia blocos de bytes também é definido pela norma ISO / IEC Por ser orientado a bloco toda a vez que um bloco e enviado do terminal para o cartão a resposta do mesmo é devolvida pelo cartão mantendo uma alternância de envio e retorno de informação. É um protocolo mais robusto e possui mecanismos de detecção e reenvio de blocos que contem erros, é utilizado em sistemas de cartões de pagamento e identificação pelo fato de exigirem uma um trafego maior de informações (RANKEL, 2007).

19 19 Existem ainda os protocolos T=2 que esta e fase de definição e é baseado no T=1 e o protocolo USB que possui uma taxa de transmissão maior que o T=0 e T=1 podendo chegar a 1,5 Mbps. O protocolo USB possui a vantagem de ser altamente compatível com ambiente PC (RANKEL, 2007) Protocolo APDU O protocolo APDU (Application Protocol Data Unit) é um pacote de dados utilizado para realizar a comunicação entro o host e o cartão. Para Wolfgang e Wolfgang (2003, p. 421) O APDU é uma unidade de dados padronizado internacionalmente para a camada de aplicação que é a camada 7 do modelo OSI. O protocolo APDU pode ser divido em dois formatos. C-APDU que é o pacote de comando e R-APDU que é o pacote de resposta. Para cada APDU de comando existe um APDU de resposta. Segundo Rankel e Effing (2003, p. 422) o protocolo APDU cumpre as especificações da norma ISO/IEC e é independente do protocolo de transmissão Estrutura de um comando APDU cabeçalho. Para Rankel e Effing (2003) o comando APDU é composto por um corpo e um Desenho 5: Estrutura de um comando APDU Fonte: Ranekl e Effing (2003, p. 422). O byte CLA é o byte de classe e é usado para identificar a aplicação. E obrigatório o preenchimento desse campo, porem não precisa representar nenhum valor. O byte INS é o byte de instrução que identifica o comando envidado para o cartão. Esse byte sempre deve ter valor e é tratado como um código pré-definido que identifica uma solicitação de comando realizada pela aplicação. É obrigatório o preenchimento desse campo. Os byte P1 e P2 são bytes de parâmetros e podem ser utilizados para prover informações sobre o comando enviado. O preenchimento desse campo é obrigatório

20 20 O byte LC Field identifica o comprimento do corpo opcional de dados, o Data Field. É opcional o preenchimento desse campo. O Data Field e o campo de dados que será enviado para o cartão para executar a operação solicitada no cabeçalho do comando. E um campo opcional. O byte LE Field identifica tamanho de resposta esperado pelo host em relação ao comando enviado. É opcional o preenchimento desse campo Estrutura de uma resposta APDU Segundo Rankel e Effing (2003) a resposta APDU deve ser envaida pelo cartão sempre que for recebido um comando APDU. Desenho 6: Estrutura de uma resposta APDU Fonte: Rankel e Effing (2003, p. 424). Data Field e o campo de dados que contém informações sobre a resposta, seu tamanho é defino pelo LE da estrutura de comando. É um campo opcional Os bytes SW1 e SW2 são bytes que identificam o código de retorno, esses códigos são predefinidos por algumas especificações e também podem ser pré-definidos pela aplicação. Por exemplo, o código identifica que o comando foi completado com sucesso. É obrigatório do preenchimento desses campos ATR O Answer to Reset é uma string de caracteres que é enviado pelo cartão, esses caracteres contêm informações sobre o protocolo de transmissão e dados do cartão, é enviado depois que o cartão foi alimentado com tensão elétrica no momento do contato como terminal, caso o comando não seja enviado corretamente o terminal irá rejeitar o cartão. A estrutura do comando ATR é definida pela norma ISSO/IEC e possui cerca de 33 bytes de tamanho. Conforme Rankel e Effing (2003, p. 378) É muito raro um ATR ter o comprimento máximo permitido. Na maioria das vezes consiste de apenas alguns bytes, isso se deve

21 21 principalmente ao fato de que as aplicações são executadas rapidamente sendo que se tornaria inviável processar todos os campos do ATR (RANKEL; EFFING, 2003) Especificações e normas técnicas Os cartões são fortemente acompanhados por normas internacionais e especificações técnicas que garantem a interoperabilidades dos cartões e sua aplicabilidade numa variedade de infra-estruturas. As normas e especificações são utilizadas pelos fabricantes de cartões, desenvolvedores de sistemas operacionais e desenvolvedores de aplicações e são publicadas por organismos de padronização e órgãos governamentais. As normas estão sempre evoluindo, devido à complexidade envolvida no uso de cartões inteligentes (RANKEL, 2007) ISO/IEC 7816 A norma ISSO/IEC 7816 define as características dos cartões para utilização com dispositivos externos. Essas características visam manter a interoperabilidade entre cartões de diferentes fabricantes padronizando propriedades físicas e elétricas, características de comunicação, identificação de chip e dados nele contidos. Essa norma é amplamente utilizada e é considera como uma referência para a utilização de cartões inteligentes, alem de ser uma padronização contínua. A norma ISO/IEC 7816 possui 15 partes e as mesmas podem ser vistas em detalhes no Apêndice A (SMARTCARD BASICS, c2009) EMV É um padrão de interoperabilidade de cartões inteligentes usados em terminais como POS e ATMs utilizando cartões de crédito e débito. Segundo (EMVCO, 2008) No 1 º trimestre de 2008 existiam mais de 730 milhões de cartões de pagamento em uso no mundo compatível com o padrão EMV. Inicialmente a especificação foi formada pela bandeiras VISA, MarterCard, e Europay. Em 2004 a JCB (Japan Credit Bureau) se juntou as especificações e em 2009 foi a vez da American Express. A especificação estão atualmente na versão 4.2 e consiste em quatro livros (EMVCO, 2008).

22 PC/SC - Personal Computer/Smart Card O PC/SC é uma especificação que define a integração de cartões inteligentes em ambiente computacional. Define uma interface de baixo nível de dispositivos e API de aplicativos independentes permitindo que vários aplicativos compartilham recursos de cartão. É baseada nas normas ISO/IEC 7816 e EMV e foi desenvolvida para facilitar o uso de cartões inteligentes em ambientes computacionais, atualmente esta na versão que foi lançada em Julho de 2009, e esta divida em 10 partes (PC/SC WORKGRUP, 2009) GlobalPlataform É uma organização sem fins lucrativos que define especificações técnicas utilizada em cartões inteligentes. É formada pelas principais fabricantes e desenvolvedoras de cartões inteligentes, sua missão é definir especificações técnicas que garantem interoperabilidade de cartões inteligentes, dispositivos e sistemas (GLOBAL PLATAFORM, 2008). As especificações do GlobalPlataform definem algumas regras para desenvolvimento de Apples Java Card Áreas de aplicação com Smart Card Os cartões inteligentes são usados em todo o mundo em uma grande variedade de aplicações. Vários fatores determinam e são levados em consideração para determinar qual tipo de cartão pode ser utilizado em determinada solução de mercado. Segundo Jurgensen e Guthery (2002, p. 88) Os cartões inteligentes fornecem um componente pessoal de aplicação. Seja qual forem os efeitos da aplicação o cartão inteligente é transportado por um indivíduo e é periodicamente utilizados em configurações de equipamentos diversos para alcançar os resultados ou obter os serviços prestados por essas configurações. A característica mais comum dos cartões inteligentes em um aplicativo é estabelecer ou autenticar a identidade do titular e o direito do titular do cartão (permissão) para acessar e usar o aplicativo em questão. Em outros casos, além de autenticação de identidade o cartão inteligente pode prover informações adicionais necessárias para o aplicativo. Por exemplo, em débito financeiro e pedidos de crédito, o cartão inteligente pode armazenar um número de conta (ou números), que são utilizados em servidores backend envolvidos no pedido. Algumas áreas de aplicação obedecem rigorosamente alguns padrões e especificações estabelecidos por órgãos competentes. Geralmente os cartões inteligentes são usados em aplicações que necessitam de uma quantidade pequena de informações armazenadas e que a

23 23 segurança é um fator notável. Algumas das aplicações mais notáveis serão apresentadas nessa seção Identificação física Há uma grande necessidade dos crachás serem confiáveis e a prova de adulterações, os cartões oferecem meios confiáveis de identificação e possuem dentro dele informações sobre o titular. Geralmente os cartões utilizados para esse fim apresentam a foto do titular do cartão o que permite uma identificação prévia, utilizam também uma tarja magnética para leitura de informações em equipamentos não compatíveis. Um exemplo de seu uso seria para carteiras de motorista, passaportes eletrônicos e identidades civis (JURGENSEN; GUTHERY, 2002) Controle de acesso físico São cartões utilizados para identificação do titular e fornecem o direito de acesso a locais como edifícios e salas com acesso restrito. Geralmente possuem uma foto do titular e dentro do cartão possuem informações que podem ser extraídas para garantir a identidade dos usuários. Podem ser usados em conjunto com a biometria para garantir com eficácia a identidade dos usuários. Um exemplo do uso de biometria em conjunto com o cartão é a identificação através do uso de impressão digital. Um exemplo pratico de uso seria um funcionário com acesso a determinadas salas, no cartão ele possui um documento assinado digitalmente que lhe permite esse acesso (JURGENSEN; GUTHERY, 2002) Serviços financeiros Um dos serviços precursores no uso de cartões inteligentes e um dos serviços mais beneficiados com seu uso é a área financeira. O uso de cartões aparece de três maneiras, crédito, débito e dinheiro. Em operações de crédito e débito o cartão é usado somente para identificação já em aplicações de dinheiro o cartão armazena pequenas quantidades monetárias que ficam a disposição de seus usuários (JURGENSEN; GUTHERY, 2002).

24 Transporte O uso de cartões inteligentes no transporte está se tornando uma das areas que mais cresce, pois oferece flexibilidade, agilidade e redução no número de fraudes em bilhetes, alem de evitar a necessidade de levar dinheiro diminuir o número de filas em bilheterias e de ser possível disponibilizar outros serviços agregados ao cartão (MAYES; MARKANTONAKIS, 2008) PLATAFORMA JAVA CARD A linguagem Java surgiu da necessidade de se desenvolver software para rodarem em processadores de eletrodomésticos, e que fossem independentes da plataforma ao qual os equipamentos eram desenvolvidos. Em 1990 uma equipe da Sun inicia a especificação de uma nova linguagem de programação para pequenos dispositivos eletrônicos, em 1991 é apresentada a linguagem Oak. O primeiro projeto desenvolvido utilizando a linguagem Oak foi iniciado em 1993 e foi chamado de Green Project o seu objetivo era desenvolver uma interface para controle de aparelhos eletrônicos em uma residência. O desenvolvimento de equipamentos eletrônicos não cresceu conforme esperava a Sun e a linguagem desenvolvida se tronavam inviável para utilização. Com o advento da World Wide Web a Sun decidiu desenvolver uma linguagem independente da plataforma, segura e robusta, a linguagem teve o nome mudado de Oak para Java e começou a ser desenvolvida com o propósito de rodar em programas em browser (DEITEL; DEITEL, 2003). A Sun desenvolve um browser chamado de HotJava que rodava programa escritos em Java dentro de pagina HTML. O navegador HotJava não atingiu as expectativas comercias, porém a linguagem abriu uma nova porta para os desenvolvedores que podiam criar paginas HTML dinâmicas. O grande boom do Java começou com o lançamento de uma versão do Netsacpe Navigator que dava suporte a programas escritos em Java embutidos em documentos HTML, conseqüentemente a Microsoft fez o mesmo com o seu browser o Internet Explorer e o Java se tornou popular. De lá para cá a linguagem sofre inúmeras alterações e hoje é muito popular sendo utilizada em diversas plataformas e para inúmeros fins. (DEITEL; DEITEL, 2003). A plataforma Java Card surgiu da necessidade de desenvolver aplicações para cartões inteligentes que não dependesse de hardware. Em 1996 Schlumberger anunciou que estava utilizando Java para desenvolver aplicativos para cartões inteligentes, até o momento a única

25 25 forma de escrever programa em cartões inteligentes era através do fabricante do cartão que carregava o software no momento da fabricação. No mesmo ano a Sun apresenta a primeira tentativa de utilizar Java em cartões inteligentes lançando a versão 1.0 da especificação Java Card. No final 1997 é lançada a versão 2.0 da especificação Java Card que continha novos recursos e funcionalidades. A versão 2.1 foi lançada no início de 1999 e continha melhoramentos da versão 2.0. Na seqüência teve o lançamento a versão com novas funcionalidades implementadas principalmente em métodos RMI e o lançamento da versão da plataforma Java Card onde foram melhorados os algoritmos de criptografia, suporte a biometria e interoperabilidade de cartões (JURGENSEN; GUTHERY, 2002 ). Atualmente a versão da especificação Java Card esta na e apresenta uma nova arquitetura. Para SUM MICROSYSTEMS(c ) a versão está separada em duas partes. Classic Edition: Baseada na versão da API Java Card, foram acrescentados novos algoritmos de segurança, mantendo compatibilidade com versões antigas já em uso da especificação. Connected Edition: Apresenta um novo ambiente para execução, foi criado uma nova máquina virtual, e incluído novas funcionalidades como recursos para execução em ambientes de rede e para aplicativos que exigem mais robustez. Java Card é um subconjunto da linguagem Java com limitações devido às características e recursos disponíveis em seu ambiente de execução. Uma aplicação Java Card nada mais é que um applet armazenado em um cartão que quando utilizado e carregado em memória e executa bibliotecas de classes que são geralmente armazenadas em memória ROM. Uma das características mais interessante da plataforma Java Card é a sua capacidade de ser multiplicação, permitindo que em um mesmo cartão possa ser instalado e executado (não ao mesmo tempo) mais de um applet, alem da instalação de novos applets ser feita durante o ciclo de vida do cartão. (MAYES; MARKANTONAKIS, 2008). Java Card oferece simplicidade e rapidez no desenvolvimento de aplicativos para cartão inteligente alem disso oferece um ambiente seguro contra acessos não autorizado de informações. No Quadro 4 é apresentado alguns recursos não suportados pela plataforma Java Card.

26 26 Características Java suportadas Tipos de dados primitivos pequenos: boolean, byte, short. Arrays unidimensionais. Java packages, classes, interfaces, e exceptions.. Características Java orientado a objeto: herança, métodos virtuais, sobrecarga e criação de métodos dinâmicos, regras obrigatórias. A palavra-chave int e inteiro de 32 bits e apoio a tipo de dados opcionais. Características Java não suportadas Tipos de dados primitivos longos: long, Double, float. Caracteres e strings. Arrays multidimensionais. Carregamento dinâmico de classes. Security manager. Coleta de lixo(garbage collection) e finalização. Threads. Serialização de objetos. Clonagem de objetos. Quando 4 : Recursos Java suportados e não suportados Fonte: Chen (2000, p. 31). Java Card herda a característica Java de que escrever uma vez, rode em qualquer lugar isso significa que ao escrever um applet em Java Card o mesmo pode ser utilizado em diversos outros cartões de diferentes fabricantes, porém isso depende do fabricante do cartão que deve dar suporte a as especificações Java Card para que a máquina virtual possa rodar sobre o sistema operacional. Essa característica mantém a portabilidade de programas desenvolvidos em Java Card. A tecnologia Java Card separa o ambiente de execução do programa do acesso aos dados do sistema operacional (RANKEL; EFFING, 2003). No Apêndice B é apresentado um exemplo de código Java Card. Desenho 7: Estrutura Java Card Fonte: Hendry (2007, p. 77) O applet Java Card é armazenado na memória EEPROM e executado pela máquina virtual, os applets são carregados no cartão sobre a forma de packages Java onde cada pacote contem um applet (RANKEL; EFFING, 2003).

27 27 Segundo Mayes e Markantonakis (2008) os passos para criação e download de um applet Java Card são: Primeiramente a aplicação será desenvolvida utilizando editor de código-fonte Java (IDE de desenvolvimento). O processo de compilação será realizado e terá como base o arquivo Java. Como saída será gerado um arquivo de classes que contem o bytecodes e um arquivo de importação que contem algumas informações complementares. Na seqüencia o conversor e o verificador Java Card serão executados a fim de transformar os arquivos de classes em arquivos CAP (que é o formato utilizado na plataforma Java Card) e o arquivo de exportação. O conversor é executado fora do cartão e tem como objetivo verificar se a aplicação esta em conformidade com a API Java Card. Por fim o arquivo CAP será instalado no cartão e ficara disponível para ser utilizado pelo aplicativo host. Um dos principais meios de segurança em Java Card é o seu mecanismo de firewall. O firewall isola as aplicações dentro do cartão evitando qualquer comunicação entre elas. A comunicação entre applets caso necessário é feita através de mecanismos de partilha que com as devidas permissões possibilitam o compartilhamento de serviços e dados (MAYES; MARKNTONAKIS 2008) JCRE - Java Card Runtime Environment O JCRE define ambiente de execução Java Card é e responsável pela alocação de memória, gerenciamento de memória e execução de bytecodes, as classes definidas no ambiente são responsáveis por interagir com o sistema operacional através dos métodos nativos. A instalação do ambiente é realizada no momento do da fabricação do cartão e permanecesse ate o final da vida útil do cartão. O JCRE consiste na Maquina Virtual Java Card que responsável por interpretar os bytecodes e o Java Card API responsável por implementar especificações e classes do sistema. O ambiente Java Card fornece uma interface

28 28 simples para execução de applets que são executados independentemente do sistema (CHEN, 2001). Segundo Chen (2001, 37) O JCRE é inicializado apenas uma vez durante a vida do cartão, o que difere do ambiente de execução de Java tradicional realizado em um computador pessoal onde o ambiente de execução é encerrado junto com o sistema operacional, nesse momento o JCRE inicializa a máquina virtual e os serviços. Os objetos do cartão e os dados quando utilizados são criados e mantidos em memória persistente o que faz com que quando o cartão fica sem energia as informações são preservadas e a máquina virtual é desativa e os objetos e dados são manntidos em memória não volátil. Quando o cartão recebe energia novamente o JCRE reinicia e carrega os dados persistidos, no retorno o JCRE inicia no momento em que ele tinha sido encerrado preservando o applet que tinha sido criado. No processo de comunicação com o CAD segundo Chen (2001, 39) o JCRE entra em um loop, esperando que comando APDU. Após o JCRE identificar o comando APDU o applet é selecionado, processa o comando recebido, monta a resposta e envia de volta para o CAD. Para Chen (2001) Java Card suporta três características adicionais em tempo de execução. Objetos persistentes e transitórios. Java Card mantém objetos em memória persistente, porém podem ser usados também objetos transientes que são manipulados em memória RAM (motivos de velocidade e segurança). Operações atômicas e transações Define a gravação de um campo como sendo atômica, ou seja, a cada gravação garante que o novo valor seja gravado ou o valor anterior é restaurado. O ambiente Java Card oferece também mecanismos de controle de transação onde uma operação em um applet pode ser controla, caso ocorra alguma falha na transação ela pode ser cancelada. Applet firewall e mecanismos de compartilhamento O firewall isola os applets, onde o funcionamento de um applet não interfere no funcionamento de outro. A troca de dados e serviços entre applets é feito através de mecanismos de compartilhamento.

29 JCVN Java Card Virtual Machine A máquina virtual é um componente essencial para executar programas escritos em Java ela fornece recursos suficientes para executar esses programas independentemente do hardware envolvido. Conforme Chen (2001) a maquina virtual Java Card está dividida em duas partes separadas, o interpretador e o conversor. Essas partes são responsáveis por prover as principais funcionalidades para executar um applet. Conversor: o processo de conversão trabalha com base em um package, onde a ferramenta converter pega um arquivo class gerados pelo compilador Java e transforma em um arquivo CAP, que é a unidade binária utilizadas pelo interpretador. O processo de conversão é executado fora do cartão e realiza uma série de checagem como verificação de violação da sublinguagem, inicialização de variáveis estáticas que garantem a integridade das classes e otimização de bytecodes. Interpretador: o interpretador Java Card garante a independência de hardware e executa os apples Java Card dentro do cartão. As principais funções do interpretador são executar os bytecodes dos apples, criar objetos, alocar memória e garantir a segurança durante a execução de applets. No Desenho 8 é apresentado a estrutura da JCVM. Desenho 8: Java Card Virtual Machine Fonte: Chen (2001, p. 31).

DOCUMENTOS E DINHEIRO ELETRÔNICO COM SMART CARDS UTILIZANDO A TECNOLOGIA JAVA CARD. Cleber Giovanni Suavi Orientador: Marcel Hugo

DOCUMENTOS E DINHEIRO ELETRÔNICO COM SMART CARDS UTILIZANDO A TECNOLOGIA JAVA CARD. Cleber Giovanni Suavi Orientador: Marcel Hugo DOCUMENTOS E DINHEIRO ELETRÔNICO COM SMART CARDS UTILIZANDO A TECNOLOGIA JAVA CARD Cleber Giovanni Suavi Orientador: Marcel Hugo Roteiro introdução objetivos relevância fundamentação teórica smart cards

Leia mais

Smart Cards. Uma tecnologia abrindo o seu caminho

Smart Cards. Uma tecnologia abrindo o seu caminho Smart Cards Uma tecnologia abrindo o seu caminho Sumário Visão geral - história Tecnologias Aplicações Digicon 2 Historia dos cartões plásticos Inicialmente utilizados para identificação. Inicio uso para

Leia mais

SMART INTERFACE: FERRAMENTA DE AUXÍLIO AO DESENVOLVIMENTO DE APLICAÇÕES JAVA CARD

SMART INTERFACE: FERRAMENTA DE AUXÍLIO AO DESENVOLVIMENTO DE APLICAÇÕES JAVA CARD SMART INTERFACE: FERRAMENTA DE AUXÍLIO AO DESENVOLVIMENTO DE APLICAÇÕES JAVA CARD Gleison Tavares DIOLINO (1); Leonardo Ataíde MINORA (2); Fellipe Araújo ALEIXO (3); (1) CEFET-RN, Av. Sen. Salgado Filho,

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da

Leia mais

CH & TCR. Tecnologias de Identificação

CH & TCR. Tecnologias de Identificação Tecnologias de Identificação Código de barras O sistema de identificação conhecido por código de barras teve origem nos EUA, em 1973, com o código UPC (universal product code) e, em 1977, esse sistema

Leia mais

CARDS / 2001 SMART CARDS & O DESAFIO DO DESENVOLVIMENTO DE APLICAÇÕES PARA A SAÚDE PROTEA INFORMÁTICA ISABEL PELLEGRINO

CARDS / 2001 SMART CARDS & O DESAFIO DO DESENVOLVIMENTO DE APLICAÇÕES PARA A SAÚDE PROTEA INFORMÁTICA ISABEL PELLEGRINO 01 SMART CARDS & O DESAFIO DO DESENVOLVIMENTO DE APLICAÇÕES PARA A SAÚDE 02 Agenda: I II III IV V VI Smart Cards - Visão Geral O Smart Card & Aplicação Planejando Uma Solução Inteligente - perguntas básicas

Leia mais

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Conteúdo Máquina Virtual (JVM) Histórico de Java Case Sensitive Tipos Primitivos Tipo String

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

DOCUMENTOS E DINHEIRO ELETRÔNICO COM SMART CARDS UTILIZANDO TECNOLOGIA JAVA CARD

DOCUMENTOS E DINHEIRO ELETRÔNICO COM SMART CARDS UTILIZANDO TECNOLOGIA JAVA CARD UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO DOCUMENTOS E DINHEIRO ELETRÔNICO COM SMART CARDS UTILIZANDO TECNOLOGIA JAVA CARD CLEBER

Leia mais

Cartão de Cidadão Portuguese Electronic Identity Card (PTeID) André Zúquete, João Paulo Barraca SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES

Cartão de Cidadão Portuguese Electronic Identity Card (PTeID) André Zúquete, João Paulo Barraca SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES Cartão de Cidadão Portuguese Electronic Identity Card (PTeID) André Zúquete, João Paulo Barraca SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES Cartão de Cidadão Cartão de identificação das dimensões de um cartão

Leia mais

UTILIZAÇÃO DE JAVA CARD COMO PLATAFORMA PARA O DESENVOLVIMENTO DE APLICAÇÕES EM SMART CARD.

UTILIZAÇÃO DE JAVA CARD COMO PLATAFORMA PARA O DESENVOLVIMENTO DE APLICAÇÕES EM SMART CARD. UTILIZAÇÃO DE JAVA CARD COMO PLATAFORMA PARA O DESENVOLVIMENTO DE APLICAÇÕES EM SMART CARD. Lucas Plis Dolce, Francisco Assis da Silva, Silvio Antonio Carro Faculdade de Informática (FIPP) Universidade

Leia mais

Aplicações Java em Sim Cards

Aplicações Java em Sim Cards Aplicações Java em Sim Cards Este tutorial apresenta as características e formas de uso de Aplicações Java a partir dos Sim Cards instalados nos terminais celulares de tecnologia GSM. Flávia Schreiber

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Assinare consiste na oferta de soluções e serviços na área da identificação electrónica.!

Assinare consiste na oferta de soluções e serviços na área da identificação electrónica.! Assinare Apresentação Assinare consiste na oferta de soluções e serviços na área da identificação electrónica. De forma a responder ao ambiente altamente competitivo a que as empresas e organizações hoje

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

IBM Tivoli Directory Server Versão 5.2 Leia-me do Cliente

IBM Tivoli Directory Server Versão 5.2 Leia-me do Cliente IBM Tivoli Directory Server Versão 5.2 Leia-me do Cliente Nota Antes de utilizar estas informações e o produto suportado por elas, leia as informações gerais em Avisos, na página 7. Prefácio Este Leia-me

Leia mais

Linguagem de Programação JAVA

Linguagem de Programação JAVA Linguagem de Programação JAVA Curso Técnico em Informática Modalida Integrado Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora: Michelle Nery Agenda JAVA Histórico Aplicações Pós e Contras

Leia mais

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm.

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm. Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP, de Presidente Prudente (1995), com especialização em Análise de Sistemas (1999) e mestrado

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso Universidade Federal de Santa Catarina Departamento de Informática e Estatística Curso de Bacharelado em Ciências da Computação Marcus Vinicius Cruz Xavier Rascunho do trabalho de conclusão de curso Título

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

UNI *CARD: Protótipo em tecnologia Java Card para unificar o acesso a serviços universitários básicos

UNI *CARD: Protótipo em tecnologia Java Card para unificar o acesso a serviços universitários básicos UNI *CARD: Protótipo em tecnologia Java Card para unificar o acesso a serviços universitários básicos Adriana Fernandes Alves 1, Fernanda Strapazzon 1, Roberson Fernandes Alves 1 1 Universidade do Oeste

Leia mais

M-Payment. Prof. Adriano Maranhão

M-Payment. Prof. Adriano Maranhão M-Payment Prof. Adriano Maranhão 1 Sumário M-Payment Pontos Positivos e Negativos do M-Payment M-Wallet (Conceito) O perfil dos usuários do M-Wallet M-Wallet (Serviços) Principais formas de comunicação

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas

Tecnólogo em Análise e Desenvolvimento de Sistemas Tecnólogo em Análise e Desenvolvimento de Sistemas O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre sistemas operacionais e máquinas virtuais para posteriormente utilizar

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

UNIVERSIDADE ANHEMBI MORUMBI DAVI PEREIRA DO CARMO JULIANO ASSUNÇÃO MEDEIROS DE SOUZA RODRIGO LOVAGLIO BEZERRA TIAGO GODOI

UNIVERSIDADE ANHEMBI MORUMBI DAVI PEREIRA DO CARMO JULIANO ASSUNÇÃO MEDEIROS DE SOUZA RODRIGO LOVAGLIO BEZERRA TIAGO GODOI UNIVERSIDADE ANHEMBI MORUMBI DAVI PEREIRA DO CARMO JULIANO ASSUNÇÃO MEDEIROS DE SOUZA RODRIGO LOVAGLIO BEZERRA TIAGO GODOI IMPLEMENTANDO APLICAÇÕES SMART CARDS NA PLATAFORMA JAVA CARD São Paulo 2009 DAVI

Leia mais

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Aula 4 Introdução aos Sistemas Biométricos 1. Identificação, Autenticação e Controle

Leia mais

Assinatura Digital com Smart Cards

Assinatura Digital com Smart Cards Eduardo Ruhland Assinatura Digital com Smart Cards Florianópolis Junho (2005) Eduardo Ruhland Assinatura Digital com Smart Cards Ricardo Felipe Custódio, Dr. Júlio da Silva Dias UNIVERSIDADE DO ESTADO

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Sistemas Operacionais 1- Introdução aos SOs Prof. Sílvio Fernandes Disciplina Sistemas

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Leia mais

Smart Card Memory Card

Smart Card Memory Card CARTÃO PLÁSTICO COM CIRCUITO INTEGRADO Smart Card Cartões com Memória Smart Card Memory Card 2 CARTILHA ABNT - CB 21 SC 21:01 FEBRABAN SIMPRO CT012 e CT013 Índice Capítulo 1) Visão Geral Introdução Classificação

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais

Conceitos Básicos de Informática. Antônio Maurício Medeiros Alves

Conceitos Básicos de Informática. Antônio Maurício Medeiros Alves Conceitos Básicos de Informática Antônio Maurício Medeiros Alves Objetivo do Material Esse material tem como objetivo apresentar alguns conceitos básicos de informática, para que os alunos possam se familiarizar

Leia mais

Arquitetura Genérica

Arquitetura Genérica Arquitetura Genérica Antes de tudo, vamos revisar o Modelo Simplificado do Funcionamento de um Computador. Modelo Simplificado do Funcionamento de um Computador O funcionamento de um computador pode ser

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações

Leia mais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema Sistemas Operacionais I Parte III Estrutura dos SOs Prof. Gregorio Perez gregorio@uninove.br 2007 Roteiro Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema

Leia mais

SO Sistemas Operacionais

SO Sistemas Operacionais GOVERNO DO ESTADO DO RIO DE JANEIRO FUNDAÇÃO DE APOIO A ESCOLA TÉCNICA ESCOLA TÉCNICA ESTADUAL REPÚBLICA SO Sistemas Operacionais Curso de Informática ETE REPÚBLICA - Rua Clarimundo de Melo, 847, Quintino

Leia mais

Linguagem de Programação Introdução a Linguagem Java

Linguagem de Programação Introdução a Linguagem Java Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 1 OBJETIVOS 1. Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO Introdução A informática é uma área que atualmente vem evoluindo muito rapidamente. A cada dia se torna mais importante

Leia mais

MCA - Uma Tecnologia Versátil

MCA - Uma Tecnologia Versátil Soluções MCA A família de soluções MCA reforça a consolidada linha CATRAX de catracas e periféricos para controle de acesso. O coração destas soluções é a tecnologia MCA, que consiste em uma placa de controle

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

4. Controlador Lógico Programável

4. Controlador Lógico Programável 4. Controlador Lógico Programável INTRODUÇÃO O Controlador Lógico Programável, ou simplesmente PLC (Programmiable Logic Controller), pode ser definido como um dispositivo de estado sólido - um Computador

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Orientado por Marcel Hugo. Eduardo Paniz Mallmann

Orientado por Marcel Hugo. Eduardo Paniz Mallmann Orientado por Marcel Hugo Eduardo Paniz Mallmann Roteiro da apresentação Introdução Objetivos Fundamentação Teórica Requisitos Implementação Desenvolvimento Resultados e Discussão Conclusão Extensões Introdução

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1 Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1 6 OBJETIVOS OBJETIVOS ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6.1 2003 by Prentice Hall Qual é a capacidade de processamento e armazenagem

Leia mais

Daniel F. Nunes de Oliveira, MSc. Dir. Desenvolvimento de Negócios SMARTCON (daniel.oliveira@smartcon.com.br) São Paulo - SP, 2 a 4 de maio

Daniel F. Nunes de Oliveira, MSc. Dir. Desenvolvimento de Negócios SMARTCON (daniel.oliveira@smartcon.com.br) São Paulo - SP, 2 a 4 de maio São Paulo - SP, 2 a 4 de maio Novas tendências na utilização de EMV: produtos de débito e crédito com EMV independente e EMV para proteger transações a partir de telefones celulares Daniel F. Nunes de

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Aula 6 Projeto de Sistema Biométrico 1. Definição de Metas A primeira etapa no projeto

Leia mais

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

PROJECTO SIGEBI SISTEMA DE GESTÃO DE BILHÉTICA. João Rodrigo Silva Patrícia Boavida Lisboa, 15-12-2011

PROJECTO SIGEBI SISTEMA DE GESTÃO DE BILHÉTICA. João Rodrigo Silva Patrícia Boavida Lisboa, 15-12-2011 PROJECTO SIGEBI SISTEMA DE GESTÃO DE BILHÉTICA João Rodrigo Silva Patrícia Boavida Lisboa, Agenda Enquadramento do Projecto Objectivos Macro Cartões de Transportes Equipamentos na Rede de Bilhética Transacções

Leia mais

RFID: APLICABILIDADE, CONFIABILIDADE, SEGURANÇA, PADRÕES E CASES DE SUCESSO

RFID: APLICABILIDADE, CONFIABILIDADE, SEGURANÇA, PADRÕES E CASES DE SUCESSO WORKSHOP TECNOLOGIA CARDS 2009 RFID: APLICABILIDADE, CONFIABILIDADE, SEGURANÇA, PADRÕES E CASES DE SUCESSO São Paulo, 27.4.2009 Karina Prado Diretora Comercial GD Burti S.A. DEFINIÇÃO Radio-Frequency Identification

Leia mais

Principais características

Principais características .Net Framework O que é.net? Proprietário da Microsoft Versão simplificada para Linux Versão compacta para dispositivos móveis Plataforma de desenvolvimento e execução Interface com usuário, conectividade

Leia mais

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva Introdução à Linguagem Java Departamento de Informática Prof. Anselmo C. de Paiva Breve Histórico Sun Microsystems, 90/91: projeto de uma linguagem de programação pequena que pudesse ser usada em dispositivos

Leia mais

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Java Conceitos e Definições Parte 02 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 2 O que é Java i. Java ii. Máquina Virtual iii. Java lento? Hotspot e JIT iv. Versões do Java e a confusão do Java2

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

Criptografia e Segurança das Comunicações. Cartões inteligentes

Criptografia e Segurança das Comunicações. Cartões inteligentes Criptografia e Segurança das Comunicações Cartões inteligentes Curiosidade, não faz parte da avaliação SmartCards : 1/31 DST (1) O DST-Digital Signal Transponder é um sistema de autenticação da Texas Instruments,

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação?

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação? Algoritmos e Programação 2 Baseado no material do Prof. Júlio Pereira Machado Introdução à Programação Orientada a Objetos O que é um paradigma de programação? É um padrão conceitual que orienta soluções

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille, da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Vicente Amorim vicente.amorim.ufop@gmail.com Sumário

Leia mais

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UM FRAMEWORK PARA DESENVOLVIMENTO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK PARA DESENVOLVIMENTO DE APLICATIVOS EM WINDOWS MOBILE. PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

INTERNET HOST CONNECTOR

INTERNET HOST CONNECTOR INTERNET HOST CONNECTOR INTERNET HOST CONNECTOR IHC: INTEGRAÇÃO TOTAL COM PRESERVAÇÃO DE INVESTIMENTOS Ao longo das últimas décadas, as organizações investiram milhões de reais em sistemas e aplicativos

Leia mais

Java Card & Java 6. Agenda Smart cards Leitoras de smart cards Arquitetura de software Controle de Comunicação. Arquiteturas. Igor Medeiros APDU PC/SC

Java Card & Java 6. Agenda Smart cards Leitoras de smart cards Arquitetura de software Controle de Comunicação. Arquiteturas. Igor Medeiros APDU PC/SC Java Card & Java 6 Igor Medeiros www.igormedeiros.com.br Agenda Smart cards Leitoras de smart cards Arquitetura de software Controle de Comunicação APDU Arquiteturas PC/SC Nova API Smartcard IO exemplo

Leia mais

A Evolução dos Sistemas Operacionais

A Evolução dos Sistemas Operacionais Capítulo 3 A Evolução dos Sistemas Operacionais Neste capítulo, continuaremos a tratar dos conceitos básicos com a intensão de construirmos, agora em um nível mais elevado de abstração, o entendimento

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

Pág. 3 de 7 EMV PARA EMISSORES

Pág. 3 de 7 EMV PARA EMISSORES EMV PARA EMISSORES A Argotechno traz ao mercado brasileiro o melhor da educação profissional para o conhecimento e aplicação da norma EMV. São cursos e workshops sobre as abordagens mais utilizadas em

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

Manual de Instalação

Manual de Instalação Manual de Instalação (Instalação do SafeSign para Linux) Elaborado Validado Aprovado Silvio Murilo Belo 2012 - VALID Certificadora Digital 1 Controle de Versões Autor Descrição Versão Data Silvio Murilo

Leia mais

4758 LINUX PROJECT. - Disponível para os ambientes Windows NT, Windows 2000, AIX, OS/400, z/os, e usuários de sistemas OS/390 ;

4758 LINUX PROJECT. - Disponível para os ambientes Windows NT, Windows 2000, AIX, OS/400, z/os, e usuários de sistemas OS/390 ; UNIVERSIDADE FEDERAL DO MARANHÃO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DA ELETRICIDADE HABILITAÇÃO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: SISTEMAS OPERACIONAIS DISTRIBUÍDOS

Leia mais

Arquitetura de Sistemas de Segurança baseado em Smart Card

Arquitetura de Sistemas de Segurança baseado em Smart Card Arquitetura de Sistemas de Segurança baseado em Smart Card Isabelli Sade Ladeira 1, Emerson Rodrigo Alves Tavares 1 1 Ciência da Computação Universidade Presidente Antonio Carlos (UNIPAC) Rua Monsenhor

Leia mais

Introdução à Informática. Aula 04. Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados. Prof.

Introdução à Informática. Aula 04. Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados. Prof. Aula 04 Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados Sistema Operacional Um conjunto de programas que se situa entre os softwares aplicativos e o hardware:

Leia mais

ILHA I GERENCIAMENTO DE CONTEÚDO CMS DISCIPLINA: Introdução à Computação MÓDULO II Memórias e Processamento

ILHA I GERENCIAMENTO DE CONTEÚDO CMS DISCIPLINA: Introdução à Computação MÓDULO II Memórias e Processamento MÓDULO II Memórias e Processamento Esse módulo irá relatar sobre as memórias seus tipos e a ligação com os tipos variados de processamento. Leia atentamente todo o conteúdo e participe dos fóruns de discursão,

Leia mais

Infra estrutura da Tecnologia da Informação

Infra estrutura da Tecnologia da Informação Infra estrutura da Tecnologia da Informação Capítulo 3 Adaptado do material de apoio ao Livro Sistemas de Informação Gerenciais, 7ª ed., de K. Laudon e J. Laudon, Prentice Hall, 2005 CEA460 Gestão da Informação

Leia mais

Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego;

Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego; Características Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego; Poderá ser utilizado por empresas autorizadas por convenção ou acordo coletivo a usar sistemas

Leia mais

Soluções IBM para Estabelecimentos de Varejo. Se você tem uma loja, a IBM tem a solução

Soluções IBM para Estabelecimentos de Varejo. Se você tem uma loja, a IBM tem a solução Soluções IBM para Estabelecimentos de Varejo Se você tem uma loja, a IBM tem a solução Soluções eficazes para um mundo de varejo dinâmico Na era da Internet, tudo está mudando no varejo. O que os consumidores

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego;

Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego; Características Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego; Poderá ser utilizado por empresas autorizadas por convenção ou acordo coletivo a usar sistemas

Leia mais

Criptografia e Certificação Digital Sétima Aula. Prof. Frederico Sauer, D.Sc.

Criptografia e Certificação Digital Sétima Aula. Prof. Frederico Sauer, D.Sc. Criptografia e Certificação Digital Sétima Aula Prof. Frederico Sauer, D.Sc. Segurança na Web A Internet é considerada essencial nos Planos de Negócios das empresas para alavancar lucros O ambiente capilar

Leia mais

Programação de Computadores II TCC-00.309 Turma A-1

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

AULA 02. 1. Uma linguagem de programação orientada a objetos

AULA 02. 1. Uma linguagem de programação orientada a objetos AULA 02 TECNOLOGIA JAVA O nome "Java" é usado para referir-se a 1. Uma linguagem de programação orientada a objetos 2. Uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de aplicações

Leia mais