Como é que um Smart Card Programador trabalho?
Um cartão inteligente é um mini-computador que requer programação para ser executado. Um cartão inteligente não contém uma interface, como exibir ou teclado, para leitores de cartões inteligentes são usadas para ler ou atualizar os dados para \ a partir de cartões inteligentes. Os cartões inteligentes contêm um sistema operacional que fornece uma plataforma para executar aplicações.
Smart card sistemas operacionais podem ser divididos em duas categorias.
O primeiro tipo de sistema operacional é baseado no Disk Drive abordagem. Este sistema operacional contém um gerenciador de memória activa que pode carregar qualquer arquivo ou aplicação no cartão de procura. O Cartão do Sistema Operacional para o ficheiro activo permite a atribuição e gestão (Java Card OS é um exemplo desta abordagem).
A vantagem do sistema operacional baseado em Disk Drive é que o custo de substituição cartões é menos caro, mas os custos de arranque são mais elevados. Este cartão requer uma lager quantidade de memória livre para fazer face à futura aplicação uploads. Devido ao uso pesado de semicondutores caro, o custo é mais elevado para estes cartões. A infra-estrutura de segurança os custos também são mais elevados devido aos múltiplos pontos de entrada ao sistema de cartões de funções.
A segunda abordagem trata o cartão como um dispositivo seguro, onde, arquivos e permissões para esses arquivos estão todos definidos pelo administrador. O único acesso ao cartão é através do sistema operacional. Não há outra maneira de acessar a estrutura de arquivo. Os dados podem ser acessados como por as permissões definidas pelo usuário. Estes sistemas operativos pode então executar as suas aplicações. Os comandos podem ser passados para o cartão através do leitor de cartões e, em seguida, a aplicação desejada pode ser acessado através do cartão inteligente.
Um dos mais comumente utilizados de cartões inteligentes sistemas operacionais é JavaCard. Fornece padrão API para carregar e executar aplicações Java directamente sobre uma norma ISO 7816 compliant cartão. JavaCards permitir seguro e chip independente de execução de várias aplicações.
O seguinte requisito tem de ser resolvida antes de iniciar aplicação no desenvolvimento de cartões inteligentes:
- Smart Card Reader
- Software para se comunicar com o leitor
- Software para se comunicar com o cartão inteligente
- Os cartões inteligentes e cartões de hardware
Antes de abordar cartão inteligente programação, temos de ser capazes de se comunicar com o leitor. Porque há muitos cartões diferentes, existem diversos leitores. Então interface correcta aplicação deve ser utilizado para a comunicação.
Uma vez que a configuração acima é completa, programação e aplicação upload pode começar utilizando o cartão inteligente. JavaCard permite aplicações a serem carregados sob demanda.
Nos primeiros anos de desenvolvimento de cartões inteligentes, cada um representando uma aplicação do software do produto em um cartão foi escrito para um cartão específico com um determinado sistema operativo, que por sua vez era um hardware específico para aplicação. Às vezes, uma aplicação direta também foi instalado sem um sistema operativo para fazer o cartão muito específicos para essa aplicação. No entanto, a evolução dos pedidos múltiplos sistemas operacionais trouxe uma nova era. JavaCard é um processo aberto, multi-aplicação do sistema operacional para smart cards. Qualquer pessoa pode desenvolver aplicações usando Java linguagem de programação. Os programas Java podem ser executados independentemente do cartão e pode ser executado em qualquer ISO 7816 compliant smart cards. Desta forma pedidos de vários vendedores podem ser combinadas, ainda permanecem distintos uns dos outros.
A norma ISO 7816 foi desenvolvido para definir as características mecânicas e eléctricas, juntamente com o protocolo de comunicação com o cartão. Infelizmente, o grupo ISO foi incapaz de uma base padrão para a comunicação com o leitor. Então, a fim de comunicar-se com o cartão inteligente é exigido para a primeira compreender os comandos suportados pelo cartão. Então, esses comandos precisam ser encapsulados em norma ISO comandos.
Agora, vamos dar uma olhada da API, que nos permitem enviar comandos a partir de um pedido de um leitor. O leitor se comunica com o cartão em que o real se realiza a transformação. Do ponto de vista técnico, a chave é um cartão inteligente API. Esta é uma camada de software que permite uma aplicação para comunicar com os cartões inteligentes e leitores de mais de um fabricante. A API permite que os programadores ou utilizadores a possibilidade de seleccionar os cartões inteligentes a partir de múltiplos fornecedores. Executando um aplicativo em múltiplos cartões inteligentes estimula a concorrência entre os vendedores e do cartão de benefícios da concorrência que incluem uma maior qualidade e preços mais baixos.
O cartão inteligente programação API fornece uma camada de aplicação entre o cartão inteligente, bem como a aplicação interface. A unidade de troca com um cartão inteligente é o chamado como Application Protocol Data Unit (APDU) pacote. A comunicação com o cartão eo leitor é realizada utilizando APDUs. Um APDU pode ser considerado um pacote de dados que contém uma instrução completa do cartão ou de uma resposta completa a partir de um cartão.
As seguintes são algumas das classes previstas APDUs transporte e sua função:
- Resposta
- Comando
- ISOCommand
- ISOCardReader interface
- ISOCardReader
A Sun desenvolveu o Java Electronic Commerce Framework (JECF), uma extensão para o núcleo plataforma Java que permite aos desenvolvedores facilmente e rapidamente desenvolver comércio electrónico aplicações. JECF fornece várias classes que facilmente apoiar a comunicação com os cartões inteligentes. Ela pode ser descarregado gratuitamente a partir de Web site da Sun e pode ser facilmente utilizado por um programador de cartão inteligente.
O pedido de cartão inteligente processo de desenvolvimento inclui seguintes passos:
- Usuário Requisitos: O que o usuário deseja realizar?
- Requisitos de software: Mapa usuário requisitos de software requisitos.
- Concepção arquitectónica: Desenho da arquitectura da solução.
- Geração do código: Criar código de acordo com a arquitetura.
- Emulação: Utilize emuladores para testar o código no cartão virtual.
- No cartão-Emulação: Executar o código no cartão real usando leitor de cartão.
- Verificação e Validação: Envolve os ensaios.
- Teste final e manutenção.
|
Bookmark Como é que um Smart Card Programador trabalho?

