Michel Zanini. Formulários eletrônicos

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

Download "Michel Zanini. Formulários eletrônicos"

Transcrição

1 Michel Zanini Formulários eletrônicos Florianópolis - SC 2007

2 Michel Zanini Formulários eletrônicos Trabalho de conclusão de curso apresentado como parte dos requisitos para obtenção do grau de Bacharelado em Ciências da Computação na Universidade Federal de Santa Catarina Orientador: Ricardo Felipe Custódio Universidade Federal de Santa Catarina Centro Tecnológico Florianópolis - SC 2007

3 A presente Monografia foi aprovada como requisito para obtenção do grau de Bacharel em Ciências da Computação na Universidade Federal de Santa Catarina sob o título Formulários eletrônicos, defendida por Michel Zanini e aprovada em 2007, em Florianópolis, Estado de Santa Catarina, pela banca examinadora constituída pelos professores: Ricardo Felipe Custódio Fabiano Castro Pereira Frank Augusto Siqueira

4 Resumo O presente trabalho visa demonstrar as vantagens de um fluxo de trabalho com formulários eletrônicos em relação a um fluxo com formulários em papel. Como estudo de caso, formulários em papel usados por professores e alunos do departamento de Informática e Estatística (INE) da Universidade Federal de Santa Catarina (UFSC), iram ser transformados em formulários eletrônicos e uma solução será apresentada para agregar as vantagens de documentos eletrônicos à realidade do departamento. O formato PDF foi escolhido pois apresenta vantagens em relação aos demais para integração em um fluxo de trabalho. Para criar um formulário eletrônico em PDF é necessário o Adobe Professional, um software proprietário desenvolvido pela Adobe Systems. Ou criá-lo utilizando uma ferramenta para manipulação de PDF, como o itext. Dessa forma, justifica-se a criação de um visualizador PDF que permita preencher, salvar e assinar formulários criados a partir do itext, sem a necessidade de adquirir o produto da Adobe. Palavras-chave: Formulários eletrônicos, PDF, asssinatura de documentos.

5 Abstract The present paper aims to demonstrate the advantages of a workflow using electronic forms comparing to a workflow through paper forms. As study case, paper forms used by professors and students of the Informática e Estatística Department (INE) of the Federal University of Santa Catarina (UFSC), will be transformed into electronic forms and a solution will be presented to add the advantages of electronic documents into the needs of the department. The PDF format was chosen because it has advantages in relation to other formats for integration in a workflow. To create a PDF electronic form it is necessary to use the Adobe Professional, a comercial software developed at Adobe Systems or by using a PDF manipulation tool, like itext. In this case, it is justified the development of a PDF visualization tool that allows users to fill, save and sign forms without buying the Adobe s product. Keywords: Eletronic forms, PDF, document signing.

6 Sumário Lista de Figuras Lista de Tabelas 1 Introdução p Objetivos p Objetivos gerais p Objetivos específicos p Justificativa p Motivação p Organização do trabalho p Revisão Teórica sobre Segurança em Sistemas de Informação p Criptografia p Simétrica p Assimétrica p Funções de resumo (Hash) p Assinaturas digitais p Autoridade Certificadora (AC) p Certificados digitais p X p X p Padrões de criptografia de chave pública p. 25

7 2.6.1 PKCS # p Carimbo de tempo p Formulários Eletrônicos p Fluxo de trabalho p Formatos de formulários eletrônicos p HTML p XML p Interface gráfica p Office p PDF p Comparações entre formatos de formulários eletrônicos p Adobe Acrobat e o Portable Document Format p Portable Document Format p Propriedade intelectual da especificação PDF p Família de produtos Adobe Acrobat p Recursos do Adobe Acrobat Professional p Habilitar recursos para o Adobe Reader p Comentários p Carimbos p Edições de texto p Arquivos anexos p Sons e vídeos p Assinaturas digitais p Diferenças entre assinatura e certificação p Formulários p. 51

8 Adobe LifeCycle Designer p Projeto da implementação p Solução proposta p Formulários no INE p Tecnologias utilizadas p Java p itext p Criando um PDF com itext em cinco passos p Submetendo um formulário PDF com o itext p Assinando um documento PDF com itext p JPedal p Metodologia de projeto p Projetando a arquitetura da aplicação p Arquitetura em camadas p Model-View-Controller p Visão geral p Modelagem de requisitos p Requisitos funcionais p Requisitos não-funcionais p Casos de uso p Abrir documento p Salvar documento p Assinar documento p Verificar assinaturas p Imprimir documento p Enviar documento por p. 67

9 5.8.7 Exportar para XML p Cifrar documento p Buscar texto p Aplicar zoom ao documento p Ajustar a página à tela p Rotacionar documento p Resultados da implementação p Protótipo p Visualizando o PDF p Formulários eletrônicos p Dificuldades encontradas p O que resta fazer? p Conclusão p Considerações finais p Trabalhos futuros p. 74 Referências p. 75

10 Lista de Figuras 1 Dispositivo para leitura de documentos eletrônicos p Criptografia simétrica para enviar um texto seguro: o texto é criptogradado e descriptografado utilizando a mesma chave secreta compartilhada (GROUP, 2007) p Criptografia assimétrica para enviar um texto seguro: o processo é lento pois o texto é criptografado utilizando uma chave pública. Depois é descriptografado utilizando uma chave privada pessoal (GROUP, 2007).. p Função de hash: um resumo único é gerado a partir do texto (GROUP, 2007) p Assinatura digital rudimentar: o processo é lento pois o texto é criptografado utilizando um algoritmo de chave pública (GROUP, 2007).... p Assinatura digital: ao combinar assinatura digital com funções de hash podemos verificar a integridade dos dados, e melhorar o desempenho do processo (GROUP, 2007) p Hierarquia de autoridades certificadoras e usuários finais (GROUP, 2007). p Exemplo de um nome único X p Conteúdo de um certificado digital X.509 (GROUP, 2007) p Aplicação do carimbo de tempo p Exemplo de fluxo de trabalho utilizando formulários eletrônicos..... p Exemplo de formulário eletrônico em HTML p Exemplo de código de formulário eletrônico em HTML p Exemplo de código de formulário eletrônico em XForms p Exemplo de ferramenta RAD criando um formulário eletrônico p Exemplo de um formulário eletrônico em PDF p. 38

11 17 Barra de ferramentas adicionada no Adobe Reader após habilitar recursos para o documento PDF p Habilitando recursos para o Adobe Reader p Adicionando comentários p Listagem de comentários do documento p Alguns carimbos disponíveis para marcar documentos p Instruções para correção de textos p Exemplo de texto editado com as ferramentas p Lista de arquivos anexos ao documento PDF p Sons e vídeos p Lista de assinturas digitais de um documento PDF p Seleção de certificado digital para assinatura p Carimbos de assinatura digital p Propriedades da assintura digital p Seleção de como será criado o formulário PDF p Detecção automática de campos de formulário p Adobe LifeCycle Designer p Visão geral do fluxo de trabalho para a solução proposta p Visualizador de exemplo do JPedal (JPEDAL, 2007) p Fases e etapas do Processo Unificado (FALBO, 2006) p Menus de opções da aplicação p Opções da barra de ferramentas e da barra de navegação p Formulário eletrônico aberto e sendo preenchido p. 72

12 Lista de Tabelas 1 Softwares adicionais necessários para visualização e preenchimento de formulários eletrônicos p Recursos oferecidos pelas tecnologias de definições de formulários eletrônicos p Recursos oferecidos pelos softwares da família Adobe Acrobat 8 (SYS- TEMS, 2007a, tradução nossa) p. 44

13 1 Introdução No início da década de 80, com a popularização do computador pessoal, as pessoas começaram a imaginar um escritório sem uso de papel, onde todos os documentos fossem eletrônicos (GEHANI, 1982). Porém a nova tecnologia que viria para eliminar o papel não obteve sucesso completo. O papel continua sendo usado até o presente nos escritórios e lares. Os documentos eletrônicos trazem algumas vantagens sobre os análogos em papel: São fáceis de procurar Mesmo que não tiverem um índice, proporcionam ferramentas para facilitar a busca de texto. São fáceis de armazenar Centenas de documentos eletrônicos podem ser armazenados sem ocupar considerável espaço físico. São fáceis de distribuir Um documento pode ser enviado para o outro lado do mundo em segundos. Mas é claro que existem desvantagens. A facilidade de distribuição proporcionada pelo meio eletrônico pode tornar o documento alvo de pirataria e cópia ilegal. Um documento impresso possui legibilidade maior que um documento visualizado em uma tela de computador. Além disso, documentos físicos ainda possuem credibilidade maior que os eletrônicos. As novas tecnologias emergentes podem ajudar a trazer a tona o sonho de um escritório sem papel. Novos dispositivos de leitura que proporcionam melhor experiência para o usuário estão surgindo, como o leitor eletrônico de livros representado pela figura 1 (WI- KIPEDIA, 2007a). Tecnologias que adicionam assinaturas digitais aos documentos estão se tornando cada vez mais aceitáveis por empresas e pelo governo (CERTISIGN, 2007), aumentando a segurança e confiança dos mesmos. Uma das grandes empresas que proporcionaram esses avanços é a Adobe Systems, criadora do Portable Document Format (PDF).

14 13 Figura 1: Dispositivo para leitura de documentos eletrônicos Um formulário é um tipo especial de documento que oferece espaços em brancos para preenchimento de informações requeridas. Do início da década de 80 até o presente os formulários em papel vem perdendo espaço para os formulários eletrônicos digitais. Milhões de sistemas de informação desenvolvidos coletam dados a partir de formulários eletrônicos para que sejam armazenados ou processados. Tais formulários geralmente apresentam interface web ou desktop. O formato PDF passou a dar suporte interno a formulários em Tal recurso, combinado com o suporte a assinaturas digitais adicionado no final da década de 90, vem se tornando popular em fluxos de trabalho eletrônico. O formulário PDF substituí o formulário em papel em vários aspectos. Possui portabilidade entre sistemas operacionais e dispositivos, permitindo que possua aparência única. Permite assinaturas digitais, as quais apresentam mesma eficácia jurídica comparada com assinaturas à mão. Mantém o documento visível apenas para leitura, quando necessário. Esse trabalho visa mostrar na teoria e prática como formulários em papel podem ser substituídos por formulários eletrônicos para permitir agilidade, confiabilidade e flexibilidade em um fluxo de trabalho. Como estudo de caso, formulários em papel usados por professores e alunos do departamento de Informática e Estatística (INE) da Universidade Federal de Santa Catarina (UFSC), iram ser transformados em formulários eletrônicos e uma solução será apresentada para agregar as vantagens de documentos eletrônicos à realidade do departamento.

15 Objetivos Objetivos gerais Propor e implementar uma solução que permita ver, preencher, salvar, assinar e enviar por formulários eletrônicos em PDF Objetivos específicos Fazer uma revisão sobre os principais conceitos ligados a criptografia. Estudar conceitos de assinatura digital e certificados X.509. Pesquisar sobre formulários eletrônicos e seus diferentes formatos. Estudar a família de produtos da Adobe Systems. Estudar ferramentas para manipulação de documentos PDF. Avaliar a realidade do fluxo de trabalho de documentos em papel no departamento INE. Projetar e implementar uma ferramenta para manipulação e assinatura de formulários eletrônicos. 1.2 Justificativa O presente trabalho visa demonstrar as vantagens de um fluxo de trabalho com documentos eletrônicos. Um fluxo com uso de papel requer locomoção das entidades envolvidas para obter a cópia física do documento. A segurança oferecida pelos documentos físicos é menor que os análagos em meio eletrônico. Dessa forma, justifica-se evoluir um fluxo de formulários em papel para um eletrônico. O formato PDF foi escolhido pois apresenta vantagens em relação aos demais para integração em um fluxo de trabalho. A principal vantagem é o suporte interno a assinaturas digitais. O suporte permite aos usuários verificar facilmente a legalidade da assinatura, sem necessidade do uso de softwares adicionais. O PDF também permite preenchimento, validação e componentes gráficos para formulários, de uma forma segura e amigável.

16 15 A criação de documentos é o grande problema com o formato PDF. Para criar um formulário eletrônico em PDF é necessário o Adobe Professional, um software pago desenvolvido pela Adobe Systems. Dessa forma, justifica-se a criação de um visualizador PDF que permita preencher, salvar e assinar formulários sem a necessidade de adquirir o produto da Adobe. A ferramenta itext (LOWAGIE, 2007), utilizada no desenvolvimento para manipulação de documentos PDF, foi escolhida devido a grande aceitação que conquistou na indústria. Grande parte das funcionalidades requeridas pelo visualizador podem ser implementadas através de rotinas da biblioteca itext. Porém, o itext não da suporte a visualização do documento, permite apenas manipulação interna. Para tal a biblioteca JPedal (JPEDAL, 2007) foi escolhida sendo uma das poucas opções gratuitas existentes. Dado que as ferramentas utilizadas são implementadas em Java, a linguagem foi escolhida para o restante do desenvolvimento. 1.3 Motivação É curioso notar que muitos fluxos de trabalho efetuados de forma presencial hoje em dia podem ser realizados com segurança pela Internet. Isso é possível com a utilização de certificados e assinatura digital. Dessa forma, é possível estender essas aplicações de forma ampla, utilizando documentos eletrônicos. 1.4 Organização do trabalho O trabalho foi estruturado para melhor compreender sua evolução. O segundo capítulo demonstra uma revisão sobre os principais conceitos em segurança da informação. O terceiro capítulo explora os formulários eletrônicos e seus diferentes formatos. O quarto descreve o produto para manipulação de PDF da Adobe Systems. O capítulo cinco demonstra a proposta de solução e implementação do visualizador de documentos PDF. O seis apresenta os resultados da implementação e o sétimo, e último, as considerações finais.

17 2 Revisão Teórica sobre Segurança em Sistemas de Informação 2.1 Criptografia Segundo Menezes, Oorschot e Vanstone (1996) criptografia é o estudo de técnicas matemáticas relacionadas aos aspectos de segurança da informação como confiabilidade, integridade dos dados, autenticação de entidades e origem de dados. Uma definição mais clara para criptografia pode ser entendida como sendo uma técnica matemática usada para transformar (criptografar) um texto plano (legível) em conteúdo cifrado (ilegível), que deixe a informação transmitida segura, assim como o processo inverso, transformar (descriptografar) o texto cifrado em formato original. Para que a mensagem possa ser cifrada, é utilizado uma chave, que pode ser privada ou pública, e através dela o algoritmo criptográfico consegue cifrar a informação. A troca de mensagens de forma segura nos acompanha historicamente de longas datas. Desde os símbolos secretos utilizados pelos egípcios, à brincadeira da língua do pê, até as técnicas utilizadas pelos americanos na Segunda Guerra Mundial para proteger estratégias e segredos nacionais. Com a evolução dos computadores e sistemas de comunicações na década de 60 originou a necessidade de proteger as informações e serviços em meio digital. Com os computadores passamos a poder fazer cálculos matemáticos sofisticados baseados em problemas muito difíceis de resolver, como a fatoração de números primos. A criptografia se baseia em tais algoritmos para garantir que mesmo com a velocidade atual dos computadores, ninguém possa decifrar facilmente um texto criptografado. De acordo com Menezes, Oorschot e Vanstone (1996) a criptografia permite a implantação de diversos serviços de segurança, dos quais, os principais são: Confiabilidade É um serviço usado para manter o conteúdo da informação seguro

18 17 de todos os que não estejam autorizados a vê-lo. Integridade dos dados Serviço que permite detectar se os dados foram alterados ou corrompidos por terceiros. Autenticação Autenticação está relacionado com identificação. Quando duas partes desejam se comunicar, ambas precisam se identificar e provar sua identidade umas as outras. Não-repúdio É um serviço que previne entidades de negar suas ações. Os serviços de segurança se propõem a solucionar ameaças no envio e troca de informações, tais como: Interrupção Impede que dados enviados cheguem ao destino. Intercepção Intercepta dados sendo enviados, mas não impede que cheguem ao destino. Modificação Altera dados enviados para chegarem diferentes ao destino. Fabricação Envia dados ao destino falsificando a sua origem. A criptografia pode ser classificada de acordo com o uso da chave. A criptografia simétrica utiliza uma chave secreta, tanta para cifrar, quanto para decifrar. Essa chave deve ser mantida como segredo para que a informação possa continuar confidencial. Já a criptografia assimétrica utiliza uma chave privada e uma chave pública. A chave privada deve ser mantida em segredo, assim como a chave secreta da criptografia simétrica, e a chave pública deve ser disponibilizada para todos que tiverem interesse em obtê-la Simétrica A criptografia mais simples é a que usa a mesma chave tanto para criptografar quanto para descriptografar. São os chamados algoritmos simétricos, ou algoritmos de chave simétrica. A segurança do algoritmo simétrico está em manter a chave compartilhada a salvo, por isso normalmente ela é chamada de chave secreta. Uma visão geral do processo pode ser observado na Figura 2. Entre os algoritmos mais famosos estão o DES (Data Encryption Standard) e o Triple DES, ambos criados pelo governo dos EUA. O DES foi criado na década de 70 e sua

19 18 Figura 2: Criptografia simétrica para enviar um texto seguro: o texto é criptogradado e descriptografado utilizando a mesma chave secreta compartilhada (GROUP, 2007) chave tinha tamanho 56 bits, sendo considerado muito seguro para a época. Com o poder computacional atual, este algoritmo já não é mais considerado seguro, pois é vulnerável a ataques de força bruta (GILMORE, 1998). Em 1999 um projeto de computação distribuída utilizando computadores espalhados ao redor do mundo quebrou o DES em apenas 22 horas. Nos tempos atuais utiliza-se o AES (Advanced Encryption Standard) introduzido pelo governo dos EUA juntamente com o apoio do setor da indústria privada. O tamanho da chave do AES é de 128, 192 ou 256 bits e para os padrões atuais de tecnologia é considerado seguro (DAEMEN; BORG; RIJMEN, 2002). De acodo com Souza (2005) os algoritmos simétricos trazem um problema. Para enviar a mensagem de forma segura, é preciso enviar também a chave secreta. Alem disso, para manter a comunicação com diversas pessoas, você precisa compartilhar diversas chaves, e mantê-las seguras. Entretanto, esse algoritmos são muito rápidos, e são utilizados para efetuar a maior parte do trabalho de criptografia Assimétrica Para resolver o problema dos algoritmos simétricos, foram criados os algoritmos assimétricos ou algoritmos de chave pública. Eles utilizam chaves diferentes para criptografar e descriptografar, chamadas de chave pública e chave privada. Nesse esquema, uma mensagem que foi criptografada com uma chave só pode ser descriptografada com a outra. Ou seja, só pode ser descriptografada com a chave privada, a mensagem que foi criptografada com a chave pública (HOOK, 2005). O algoritmo assimétrico mais conhecido é o RSA, inicialmente publicado em 1977 por Ronald Rivest, Adi Shamir e Leonard Adleman. Uma visão geral do processo pode ser observado na Figura 3.

20 19 Figura 3: Criptografia assimétrica para enviar um texto seguro: o processo é lento pois o texto é criptografado utilizando uma chave pública. Depois é descriptografado utilizando uma chave privada pessoal (GROUP, 2007) Como sugerem seus nomes, a chave pública pode ser distribuída a vontade, e a chave privada deve ser armazenada e protegida. Nesse esquema, se a entidade A quer mandar uma mensagem confidencial para B, ela utiliza a chave pública de B (que por ser pública pode estar disponível pela Internet) para criptografar a mensagem, dessa forma apenas a chave privada de B poderá descriptografar e ler a mensagem original. Como a chave privada de B está guardada a salvo, somente B pode vê-la. Dessa forma, a criptografia assimétrica evita a troca de chaves, pois cada entidade terá sua chave privada, e disponibilizará a sua chave pública. Uma das principais limitações dos algoritmos de chave pública é o desempenho. Com cálculos bem mais complexos, esse algoritmos chegam a ser mil vezes mais lentos que os de chave simétrica (SECURITY, 2000). Por conta disso, se utiliza um processo em duas etapas para criptografar mensagens: um algoritmo simétrico é usado para criptografar toda a mensagem e depois é criptografada apenas a chave simétrica utilizada, com um algoritmo de chave pública. Devem ser enviadas duas informações, a mensagem e a chave simétrica criptografadas, para que o processo possa ser invertido do outro lado. De acordo com Souza (2005) em geral é utilizado a chave pública para criptografar, porque o processo inverso, criptografar com a chave privada, permitiria que qualquer um que obtenha acesso a chave pública possa ler a mensagem. Essa capacidade é importante na implementação de assinaturas digitais.

21 Funções de resumo (Hash) A função de resumo, ou função de hash, é um cálculo que visa transformar a mensagem em um resultado de tamanho fixo (HOOK, 2005). O processo é interessante por causa de duas propriedades que o resultado, também chamado de hash, tem. Primeiro, dependendo do tamanho da mensagem, e do tipo de algoritmo usado, as chances de gerar o mesmo resultado são extremamente pequenas. Segundo, mudando um bit da mensagem original da qual o hash foi gerado, produz uma mudança imprescindível no novo resultado calculado, depois do novo hash gerado. Essas propriedades de unicidade e resultado não previsto fazem as funções de resumo muito úteis para o processo de criptografia. Outra característica das funções de resumo é a velocidade, elas executam rapidamente. A Figura 4 ilustra o processo. Figura 4: Função de hash: um resumo único é gerado a partir do texto (GROUP, 2007) De acordo com (HOOK, 2005) as funções de hash são muito úteis para detectar a integridade dos dados, ou seja, detectar se uma mensagem enviada foi alterada ou editada no caminho de envio. Esse processo é importante pois de posse de um conhecimento prévio sobre o tipo de mensagem enviada, pode-se adulterá-la para que ela produza outra mensagem ao ser descriptografada. Antes da mensagem ser enviada aplica-se uma função de hash a ela, produzindo um resultado único para essa mensagem. Então é enviado, juntamente com a mensagem, o seu hash, ambos criptografados. Do outro lado, após descriptografar, o hash e a mensagem original são recuperados. Novamente se aplica a função de hash sobre a mensagem, e se, os hash s baterem, significa que a mensagem não foi alterada durante o envio.

22 Assinaturas digitais Na troca de mensagens é possível utilizar a criptografia para garantir a confidenciabilidade dos dados. Mas as vezes queremos apenas garantir a procedência da mensagem, para termos certeza de que ela foi enviada por quem esperamos. Esse é o conceito de assinatura digital. A utilidade das assinaturas digitais reside no fato que apenas o criador da assinatura sabe o segredo (chave privada) para criá-la, e ela pode ser verificada utilizando informação pública (chave pública). Assinaturas digitais estão ligadas ao não-repúdio, ou seja, uma entidade não pode negar ter assinado uma mensagem, caso sua chave pública confirme que foi assinada. Se invertermos o processo da Figura 3, como na Figura 5 temos uma forma rudimentar de assinatura digital. Ou seja, como a mensagem é criptografada com a chave privada, então temos a certeza de que foi enviada pelo dono da chave. Figura 5: Assinatura digital rudimentar: o processo é lento pois o texto é criptografado utilizando um algoritmo de chave pública (GROUP, 2007) Este é o conceito do processo, na implementação real as coisas são mais complexas. Algoritmos de chave pública são lentos, portanto não é viável usá-los para criptografar o texto inteiro. Por outro lado, os algoritmos de função de resumo (hash) são muito rápidos e úteis para criar uma espécie de impressão digital do texto. De acordo com Grant (2002) para implementar esse processo gera-se um hash do texto que se deseja enviar, e então o hash é criptografado usando uma chave privada. Como o hash é de tamanho fixo, e em geral é bem menor que o texto, é mais eficiente criptografálo. Então, antes do envio, o texto e o hash são concatenados. De posse do texto original e o hash criptografado, pode-se inverter o processo. O hash é descriptografado utilizando

23 22 a chave pública, então outro hash é novamente calculado do texto original, depois eles são comparados. Caso a comparação falhe, ou o texto foi alterado no envio ou não foi assinado por quem que se espera. Esse processo pode ser observado na Figura 6. Figura 6: Assinatura digital: ao combinar assinatura digital com funções de hash podemos verificar a integridade dos dados, e melhorar o desempenho do processo (GROUP, 2007) Utilizando-se algoritmos assimétricos podemos garantir o envio de mensagens de forma segura, e através de assinaturas digitais garantir a identidade do emissor da mensagem. Porém ainda resta um pouco de falha. Tudo depende da posse da chave pública de quem quer trocar informações. Como garantir se está se recebendo a chave pública correta? E se a chave foi adulterada durante o envio? Aqui entram as autoridades certificadoras e os certificados digitais. 2.4 Autoridade Certificadora (AC) Se você recebesse a assinatura digital pessoalmente de um amigo seu, teria certeza de que é confiável. Se seu amigo também confirmou a validade de chaves recebidas pessoalmente, então você pode confiar nelas. Caso alguém perca sua chave pública, você precisa de alguma forma ser notificado, para que possa trocá-la por uma nova confiável. Uma rede de confiança dessas fica enormemente complexa numa abrangência como a Internet. Para resolver esse problema foram criadas as Autoridades Certificadoras (AC) que certificam que uma determinada pessoa possui a chave pública que diz possuir. De acordo com Hook (2005) as autoridades certificadoras são responsáveis por gerenciar o ciclo de vida dos certificados e fornecer aos usuários garantias necessárias para seu

24 23 uso. Uma AC emite um certificado digital, com uma chave pública, para o usuário que o requisita. Para garantir a validade do processo, a AC assina o certificado com sua chave privada. Dessa forma, podemos garantir que a chave pública de uma entidade é realmente dela, se uma AC confiável a assinou. Para conferir a assinatura podemos obter a chave pública que a AC disponibiliza, para uso. As AC costumam possuir também uma Lista de Certificados Revogados (LCR), onde apresentam quais certificados foram revogados de seus donos. Assim, além de verificar se a chave pública foi assinada por uma AC confiável, deve-se acessar a LCR para saber se o certificado não foi revogado. A Infra-estrutura de Chaves Públicas brasileira (ICP-BRASIL, 2007) é uma autoridade certificadora tomada como base para certificados usados pelo governo, chamada de AC raiz. A autoridade certificadora raiz tem por objetivo assinar certificados de autoridades certificadoras intermediárias. Essas, por sua vez, podem assinar certificados de outras AC intermediárias, ou de usuários finais. A figura 7 ilustra a hierarquia. Figura 7: Hierarquia de autoridades certificadoras e usuários finais (GROUP, 2007) Para um certificado pertencente a um usuário final, ser considerado válido, ele deve ser assinado por uma AC intermediária, que por sua vez, foi assinada pela AC raiz. Além disso, não deve estar presente na lista de certificados revogados, bem como, estar dentro do prazo de validade. 2.5 Certificados digitais Um certificado digital é como um envelope que possui uma chave pública e informações de quem é o seu dono. Esse envelope é assinado por uma autoridade certificadora,

25 24 que atesta a validade, autenticidade e confiabilidade da chave pública. Todo certificado está associado a uma chave privada e uma cadeia de certificados. Exceto o primeiro e o último, cada certificado da cadeia tem uma chave privada que assina o certificado seguinte. O primeiro certificado, o raiz, é auto-assinado e deve ser considerado confiável para que a cadeia seja válida. O último, do usuário final, simplesmente apresenta a chave pública que normalmente se está interessado em conhecer para alguma finalidade X.500 O padrão X.500 define como deve ser organizada a informação referente a identificação de uma entidade. É usado no formato de certificados X.509 para identificar o emissor e o titular do certificado. De acorco com Chadwick (1994) um nome único no padrão X.500 contem as seguintes informações (Figura 8): Figura 8: Exemplo de um nome único X.500 Nome comum (CN - commonname) Normalmente o nome de uma pessoa. Setor da empresa (OU - organizationunit) Subdivisão da empresa ou organização. Nome da empresa (O - organizationname) Nome da empresa ou organização. Local (L - localityname) Nome da cidade. Estado (S - statename) Nome do estado ou província. País (C - country) Nome do país X.509 O formato de certificados X.509 foi desenvolvido pela International Standards Organization (ISO) e incorporado pela American National Standards Institute (ANSI) e Internet Engineering Task Force (IETF). O X.509 define quais informações podem estar presentes em um certificado e descreve em que formato os dados devem ser escritos. Atualmente se encontra na terceira versão. De acordo com Adams e Farrell (1999) em um certificado no formato X.509 v3 estão presentes as seguintes informações (Figura 9):

26 25 Figura 9: Conteúdo de um certificado digital X.509 (GROUP, 2007) Identificador do algoritmo de assinatura Identifica qual algoritmo foi utilizado para assinar o certificado. Versão do certificado Versão do formato do certificado X.509. Pode ser v1, v2 ou v3. Número serial Representa o número de série do certificado. Esse número é único para cada autoridade certificadora. Emissor Nome único no padrão X.500 da AC responsável por emitir o certificado. Prazo de validade Nesse campo estão a data de início e fim da validade do certificado. Titular Nome único no padrão X.500 do dono do certificado. Assinatura do emissor O emissor do certificado assina os dados presente nele, sendo que qualquer alteração nos mesmos, pode ser detectada. Extensões Os certificados X.509 versão 3 possuem extensões que podem conter informações diversas além das presentes acima, como por exemplo, o CPF ou CNPJ do titular.

27 Padrões de criptografia de chave pública A empresa RSA Security definiu uma série de padrões de criptografia de chave pública denominados Public Key Cryptography Standards (PKCS). As aplicações que utilizam a criptografia de chave pública, em geral, utilizam esses padrões. Atualmente existem quinze padrões e a seguir dois deles serão descritos pois são necessários para desenvolvimento de aplicações que acessam dispositivos de segurança para assinar documentos PKCS #7 O padrão PKCS #7, também conhecido como Cryptographic Message Syntax (CMS), descreve uma sintaxe geral para dados criptografados ou assinados (KALISKI, 1998). Permite que diferentes tipos de proteção sejam aninhados, ou seja, uma mensagem assinada pode ser usada como texto plano para ser criptografada ou uma mensagem criptografada pode ser assinada. As mensagem assinadas também podem ter atributos anexados a ela que podem ser inclusos na assinatura final. É um protocolo importante pois não apenas pode ser usado por si mesmo, mas também forma a base para ser usado em outros protocolos como o S/MIME (Secure/Multipurpose Internet Mail Extensions). 2.7 Carimbo de tempo As assinaturas digitais garantem a origem e a integridade dos documentos assinados. Isso é suficiente para realizar transações eletrônicas seguras? Depende. Os certificados têm limitações, como prazos de validade. E, principalmente no que diz respeito a contratos entre empresas, só a assinatura digital não basta para trazer a segurança desejada. Numa transação digital típica, constituída por um documento assinado digitalmente, é necessário a prova de que a assinatura foi aplicada durante o período de validade do certificado digital do assinante. Por intermédio da aplicação de um carimbo de tempo a uma assinatura digital podemos provar que o documento foi redigido antes da data e hora que consta no carimbo e, após carimbado, não foi modificado. Para que se prove a legalidade de um documento assinado e carimbado é necessário dois fatores. A assinatura deve ser conferida e validada e o carimbo de tempo deve ter sido aplicado durante o período de validade do certificado ou antes da data de revogação

28 27 do mesmo. Se os dois fatores foram validados garantimos que o documento existia naquela data e hora e que foi assinado pela entidade que consta no certificado digital que é credenciado por uma autoridade certificadora confiável. Os carimbos de tempo são considerados confiáveis se eles foram emitidos por uma Autoridade de Carimbo de Tempo confiável (BULL; POPE; ROSS, 2003). Uma autoridade de carimbo de tempo possui um hardware específico e seguro chamado Protocolizadora. Internamente, esse hardware é capaz de assinar digitalmente um hash (resumo) de um documento inserindo a ele o carimbo de tempo. No Brasil, a protocolizadora deve estar de acordo com o Relógio Atômico do Observatório Nacional, que gera a Hora Legal Brasileira. Figura 10: Aplicação do carimbo de tempo Para exemplificar a aplicação e utilidade do carimbo de tempo vejamos a seguinte situação: alguem que trabalha no desenvolvimento de produtos para qualquer área do conhecimento humano e necessita provar que seu produto ou sua idéia já existia desde uma determinada data para fins de no futuro registrar uma marca, uma patente, basta documentar tal criação sob a forma de documento eletrônico, em seguida anexar um carimbo de tempo a este documento. Dessa forma, se pode provar que naquela data o documento já existia e foi criado por aquela entidade.

29 3 Formulários Eletrônicos Um formulário é um documento em papel, impresso ou escrito à mão, com espaços em branco reservados para preenchimento de informações requisitadas. Os rótulos são informações escritas que descrevem como os espaços em branco devem ser preenchidos. Os espaços em branco, por sua vez, denominam-se campos. Análogo a um em papel, um formulário eletrônico é digital, ou seja, não existe fisicamente. Entretanto, formulários eletrônicos possibilitam recursos adicionais que não são possíveis de obter com formulários em papel. Por exemplo, em formulários eletrônicos é possível validar automaticamente os campos de entrada de informações. Formulários eletrônicos retêm várias características de formulários em papel (GEHANI, 1982). Eles podem ser copiados, anotados, assinados, enviados por , submetidos para um sistema de informação ou oferecer autocompletar automático para a entrada de dados. Outra característica significativa de um documento eletrônico é sua preservação prolongada. O suporte físico da informação no papel pode se desintegrar ou tornarse irrecuperável. Já o meio eletrônico pode garantir preservação por tempo indefinido, bastando tomar precauções com o local e o meio que estão armazenados (ARELLANO, 2004). Algumas vantagens da utilização de formulários eletrônicos em relação aos em papel são observadas a seguir: Facilidade de distribuição Por estarem em meio eletrônico, facilitam o envio e a distribuição rápida para locais distantes através da rede mundial de computadores. Agilidade no preenchimento Algumas facilidades podem estar presentes para agilizar o preenchimento: autocompletar o texto digitado, acelerar a escolha de datas ou horários através de calendários e copiar e colar textos repetitivos. Validação da entrada de dados É possível configurar o formulário eletrônico para validar a entrada de dados em campos. Por exemplo, permitir o preenchimento

30 29 apenas com números entre zero e cem em um campo numérico. Conservação Formulários digitais podem ser armazenados em massa sem ocupar enorme espaço físico como os equivalentes em papel. Segurança Ao restringir os rótulos de um formulário eletrônico para apenas leitura e permitindo que as únicas mudanças realizadas sejam no preenchimento dos campos, isola-se a possibilidade de rasuras e modificações na estrutura do formulário. O uso de assinaturas digitais também reduz as possibilidades de fraude de identidade. Interoperabilidade Como é possível extrair as informações preenchidas nos campos de um formulário eletrônico, torna-se simples integrá-lo a um novo sistema de informação ou base de dados de conhecimento, sem necessitar redigitá-los. Integração com fluxos de trabalho A principal vantagem de um formulário eletrônico é proporcionar automação de processos de negócios através de um fluxo de trabalho. Como o documento já está em formato digital torna-se fácil integrá-lo a um processo de negócio automatizado. 3.1 Fluxo de trabalho Conforme a Workflow Management Coalition (WFMC, 2007), organização internacional especializada no assunto, fluxo de trabalho é a automação de um processo de negócio, no todo ou em parte, durante o qual documentos, informações ou tarefas são transferidas entre participantes do processo, de acordo com um conjunto definido de regras, para alcançar um determinado objetivo. De acorco com Carvalho (2007) pode-se dizer que o objetivo principal de uma solução de fluxo de trabalho é aumentar a eficiência de processos, tanto os críticos e rotineiros quanto os eventuais, e a efetividade das pessoas que trabalham em conjunto para executá-los. Ou seja, quando adotamos uma solução desse tipo, esperamos alcançar vários benefícios. Por exemplo, o aumento da produtividade com a eliminação de passos desnecessários; o melhor controle de processos com a padronização do método de trabalho; e a maior flexibilidade com a possibilidade de alterar o fluxo de negócio de maneira mais simples. De forma resumida, pode-se considerar que um fluxo de trabalho é composto por um conjunto de passos, conectados entre si através de transições. Cada passo possui uma ou mais ações. Essas ações podem ser executadas pelos usuários, como o preenchimento

31 30 de um formulário eletrônico; ou pelo próprio sistema, como a execução de um cálculo ou envio de . O resultado da execução de uma ação pode resultar na mudança de passo, através de uma transição, ou então no fim do fluxo de trabalho. Com a crescente necessidade de automação dos processos nas organizações, a demanda por aplicações com características de um sistema de fluxo de trabalho torna-se cada vez mais significativa. Diversos processos presentes no dia-a-dia podem ser automatizados, desde atividades simples, como solicitação e aprovação de viagens ou férias, até a mais complexas, como o acompanhamento de compras em lojas de comércio eletrônico. Os formulários eletrônicos auxiliam na adoção de um fluxo de trabalho. Nesse contexto, a tarefa de preencher os campos do formulário pode ser um passo do fluxo de trabalho, e no passo seguinte autorizar os dados preenchidos. Cada passo pode ser realizado por entidades diferentes. O fluxo ainda poderia estar ligado a tarefas de extrair os dados do formulário para enviar por ou salvá-los em outro local. A figura 11 ilustra um fluxo de trabalho utilizando formulários eletrônicos. Figura 11: Exemplo de fluxo de trabalho utilizando formulários eletrônicos 3.2 Formatos de formulários eletrônicos Formulários eletrônicos podem ser construídos em inúmeros formatos diferentes, dependendo de suas necessidades. Para aplicações de formulários eletrônicos disponíveis na Web geralmente adotam-se os formatos HTML ou XML. Para aplicações stand-alone os formatos de aplicativos de escritório, como o Microsoft Office, e formulários construídos em uma interface gráfica são os mais comuns. Um formato ainda pouco difundido no mercado é o PDF que permite uma boa integração tanto com aplicações Web como stand-alone.

32 31 Cada formato possui restrições e vantagens. A escolha de qual adotar depende das necessidades e requisitos para solução do problema proposto. A seguir cada formato será detalhado incluindo a comparação de suas qualidades HTML A produção de hipertextos para a rede mundial de computadores (World Wide Web ou simplesmente Web) é realizada utilizando a linguagem HyperText Markup Language (W3C-HTML, 2007). Em HTML, marcas (tags) são inseridas no texto para realizar a formatação do documento e dos caracteres (tamanho de letra, itálico, negrito, entre outros) e para a criação de links de hipertexto. Gráficos, multimídias e formulários eletrônicos também podem ser incorporados a um documento HTML através de tags específicas. A Web está consolidada sobre o protocolo HyperText Transfer Protocol (W3C-HTTP, 2007) que permite a troca de arquivos HTML entre uma rede de computadores. O protocolo HTTP funciona no modelo cliente / servidor, também conhecido como requisição / resposta. O computador cliente realiza uma requisição e então o servidor responsável por armazenar os arquivos HTML responde enviando de volta os dados através do protocolo HTTP. Os formulários eletrônicos em formato HTML são comumente chamados de formulários Web, pois utilizam o modelo cliente / servidor sobre o protocolo HTTP. Os seguintes elementos podem ser usados para criar o formulário no formato HTML: Text Renderiza um campo de texto com uma única linha. Checkbox Renderiza um conjunto de caixas que permite múltipla escolha. Select Renderiza uma lista de opções para que uma seja escolhida. Radio Renderiza um conjunto de caixas e permite que apenas uma seja marcada. Textarea Renderiza um campo de texto com mais de uma linha. Submit Renderiza um botão que depois de pressionado submete os dados do formulário para o servidor processar. A figura 12 ilustra um formulário eletrônico no formato HTML renderizado por um navegador Web. Os campos para preencher são, respectivamente, os seguintes elementos: text, radio, select, checkbox, textarea e submit.

33 32 Figura 12: Exemplo de formulário eletrônico em HTML Para validar os dados de entrada do usuário sem enviar a requisição para o servidor a linguagem JavaScript é utilizada. Trata-se de uma linguagem interpretada no próprio navegador do cliente. O JavaScript é embutido no HTML ou referenciado externamente. A linguagem permite adicionar características dinâmicas à página como, por exemplo, esconder / mostrar áreas do formulário de acordo com a entrada de dados do usuário (MCDUFFIE, 2003). A validação de campos na entrada de dados também é muito útil, pois se os dados precisarem ser enviados ao servidor para validação, o processo se torna mais lento. Ainda temos o Cascading Style Sheets (W3C-CSS, 2007) que é uma linguagem de programação utilizada tão somente para descrever o estilo (cores, fontes, leiaute e outras característica de apresentação) de documentos estruturados (HTML, XML, XHTML, entre outros). O CSS é utilizado para definir a aparência dos formulários eletrônicos em HTML XML Extensible Markup Language (W3C-XML, 2007) é uma linguagem de marcação com propósito geral. Seu principal objetivo é facilitar o compartilhamento de dados entre diferentes sistemas de informação, particularmente, através da Web. Com algumas restrições semânticas, linguagens podem ser construídas baseadas em XML. Ele foi desenvolvido para ser humanamente legível e recentemente, o W3C Consortium adequou o HTML às características e regras do XML. Estabeleceu, com isto, o Extensible HyperText Markup

34 33 Language (W3C-XHTML, 2007): sucessor oficial do HTML. Algumas linguagens de propósito específico foram criadas utilizando as marcações XML. Isso inclui XHTML, RSS, MathML, GraphML, SVG, MusicXML, etc. Uma definição recente do W3C Consortium definiu uma linguagem XML para especificação de formulários eletrônicos. Trata-se do XForms (W3C-XFORMS, 2007). XForms foi desenvolvido para ser o sucessor dos formulários HTML / XHTML, mas é genérico o suficiente para ser usado na forma stand-alone inclusive com aplicações baseadas em outras tecnologias diferentes de HTML / XHTML. Diferente dos formulários em HTML, os formulários em XForms são usados em uma estrutura Modelo-Visão-Controlador (MVC). Onde o modelo consiste em descrever os dados do formulário, restrições aos dados e submissões. A visão descreve que controles aparecem no formulário, como eles são agrupados e, usando CSS, define qual sua aparência. De acordo com Raman (2004) um XForm pode ser tão simples quanto um formulário em HTML bastando informar os campos e o botão de submissão. Porém o XForms oferece vários recursos avançados. Por exemplo, novos dados podem ser requisitados ao servidor e usados para atualizar o formulário durante sua exibição, sem renderizar novamente a página toda. Esse recurso é muito parecido com o uso do objeto XmlHttpRequest do JavaScript, mas no XForms nenhum script precisa ser escrito. O autor do formulário pode validar os dados contra um esquema XML, mostrar / ocultar regiões do formulário de acordo com as circunstâncias, fazer cálculos simples entre os campos e modificar como a aparência é exibida de acordo com o dispositivo usado para visualização. Tudo isso sem criar códigos em JavaScript. Apesar da tecnologia XForms ser superior aos formulários HTML / XHTML tradicionais, ainda não existe suporte nativo dos navegadores atuais para a tecnologia. Através de instalações de plugins desenvolvidos para os navegadores mais utilizados pode-se habilitar o reconhecimento dos formulários XForms. Porém, como a atividade de instalação desse recurso demanda conhecimento técnico, a tecnologia torna-se limitada para atingir a grande massa de usuários finais. Nas figuras 13 e 14 vemos um exemplo mostrando as diferenças entre um formulário eletrônico definido em HTML / XHTML e outro em XForms.

35 34 Figura 13: Exemplo de código de formulário eletrônico em HTML Figura 14: Exemplo de código de formulário eletrônico em XForms Interface gráfica Interface gráfica do usuário é um mecanismo de interação homem-computador (CYBIS; BETIOL; FAUST, 2007). Com um mouse ou teclado o usuário é capaz de selecionar símbolos e manipulá-los de forma a obter algum resultado prático. A interface gráfica apresenta ícones, indicadores visuais, elementos gráficos especiais denominados widgets, rótulos de textos explicativos e navegação através de menus. As ações do usuário são realizadas através de manipulação direta desses elementos. Uma interface gráfica é construída utilizando uma linguagem de programação, podendo adquirir aparência nativa do sistema operacional, ou aparência própria criada pela linguagem utilizada. A conseqüência de tal fato é que para construir um formulário eletrônico nesse formato é necessário programá-lo. Para cada formulário é necessário escrever novas linhas de código na sintaxe da linguagem escolhida. Alguns ambientes de desenvolvimento integrado (Integrated Development Environment - IDE) fornecem ferramentas de desenvolvimento rápido (Rapid Application Development - RAD). As ferramentas RAD consistem em proporcionar a construção de

36 35 interfaces gráficas com o usuário através de drag and drop. Dessa forma, não é necessário codificar para construir as interfaces, basta escolher os widgets e posicioná-los na tela (CALIFORNIA, 1997). O desenvolvimento de formulários eletrônicos para interfaces gráficas utilizando ferramentas RAD aumenta a produtividade do programador e a usabilidade da interface. No geral, utilizando o desenvolvimento de formulários eletrônicos com interface gráfica, é possível atingir níveis de usabilidade superiores aos atingidos com as tecnologias HTML / XHTML / XML. As tecnologias baseadas em XML devem rodar em navegadores, e estão limitadas as estruturas do HTML, ao protocolo HTTP e capacidade de renderização dos navegadores. Porém as interfaces gráficas locais não sofrem tais limitações e desfrutam de componentes mais interativos, mais amigáveis para os usuários finais. Para entender, basta comparar um leitor de com interface gráfica local, e um leitor de Web. Porém, as diferenças de usabilidade e riqueza interativa entre aplicações Web e Desktop (aplicações com interface gráfica) vêm se reduzindo nos últimos anos. Com o advento do AJAX (Asynchronous JavaScript and XML) aplicações Web ganharam riqueza de interatividade (CABRERA, 2006). O AJAX permite que dados sejam trocados entre o servidor e o cliente sem que a página do navegador seja completamente recarregada, o que permite diminuir a carga de trabalho do usuário. Figura 15: Exemplo de ferramenta RAD criando um formulário eletrônico A figura 15 ilustra um ambiente de desenvolvimento integrado utilizando uma ferra-

37 36 menta RAD para construção de um formulário eletrônico Desktop Office Office é uma suíte de programas para escritório com o objetivo de aumentar a produtividade na elaboração de documentos eletrônicos. Em geral, uma suíte apresenta programas como processador de texto, planilha de cálculo, apresentação gráfica, gerenciador de contatos e leitor de s. O Microsoft Office e o OpenOffice.org são as suítes de escritório mais conhecidas e utilizadas. O Microsoft Office (MICROSOFT, 2007) é proprietário, pertencente à empresa Microsoft, e detêm cerca de 90% do mercado. O Microsoft Office foi desenvolvido para rodar no Microsoft Windows e no Mac OS X da Apple. A primeira versão da suíte foi em 1989 e rodava no Macintosh, um ano mais tarde surgiu a versão para Windows. Os principais softwares do Microsoft Office são o Word (editor de textos), Excel (editor de planilhas) e PowerPoint (editor de apresentações gráficas). O OpenOffice.org (OPENOFFICE.ORG, 2007) é gratuito e de código livre. Roda nos sistemas operacionais mais usados. A suíte foi baseada no StarOffice desenvolvido pela empresa StarDivision. Mais tarde, quando adquirido pela Sun Microsystems, teve seu nome alterado para OpenOffice.org. A suíte vem disponível junto com diversas distribuições do Linux. Seus principais programas são um editor de textos (Writer), um editor de planilhas (Calc) e um editor de apresentações gráficas (Impress). Um formulário eletrônico pode ser facilmente elaborado a partir de um editor de textos ou de planilhas. Dentre as opções para usuários comuns, o formato Office para formulários é o mais acessível, dado que os formatos baseados em XML e Interface Gráfica necessitam de domínio de linguagens de programação. A desvantagem do formato em relação aos demais é que, ao preencher o formulário, o usuário pode também alterar os rótulos ou estrutura do formulário, pois não é possível tornar regiões do documento não editáveis, ou seja, que permita apenas leitura. Esse problema é agravado quando há necessidade de segurança no fluxo de trabalho ao qual o formulário eletrônico pertence. Outra limitação desse formato é a impossibilidade de criar campos de seleção, como o radio, o checkbox e o select do HTML. É possível adaptá-los utilizando um texto por extenso com uma explicação de preenchimento. Porém essa abordagem diminui a usabilidade alcançada pelos componentes interativos de seleção. O formato Office também não

38 37 permite a validação automática de dados preenchidos, que podem ser feitas nos formatos baseados em XML / HTML através de JavaScript PDF Portable Document Format (PDF) é um formato de arquivo criado pela Adobe Systems em Representa documentos em uma maneira independente de software, hardware, e sistema operacional usados para criá-lo. É independente também do dispositivo de saída o qual ele será visualizado ou impresso. Um documento PDF consiste em uma coleção de objetos que juntos descrevem a aparência de uma ou mais páginas, possivelmente acompanhada por elementos interativos adicionais (como comentários e hiperlinks). Cada arquivo PDF encapsula uma descrição completa de seus elementos (textos, fontes, imagens, e vetores 2D). O formato de arquivo PDF utiliza o mesmo modelo que a linguagem de descrição de páginas para impressão, o PostScript, porém contém mais recursos e é mais estruturado (SYSTEMS, 2007c). As páginas do documento (e outros elementos visuais) podem conter qualquer combinação de texto, gráficos e imagens. A aparência de uma página é representada por um fluxo de bytes na estrutura do PDF, o qual descreve objetos gráficos que deverão ser desenhados na página. Essa aparência é totalmente especificada; todo leiaute e formatações já foram feitos pela aplicação que gerou o fluxo de bytes. Além da descrição estática das páginas, o documento pode conter elementos interativos que apenas são visíveis no formato eletrônico do documento. O PDF suporta anotações, hiperlinks, marcações de texto, arquivos anexos, sons e filmes (SYSTEMS, 2007c). O documento PDF permite também a criação de formulários eletrônicos, pois permite a definição de campos interativos que podem ser preenchidos. Possui elementos interativos de seleção de datas através de calendário, além dos tradicionais combobox, radiobox e checkbox. Outro recurso útil, é o autocompletar para textos que já foram digitados anteriormente. Existem vários leitores de arquivos PDF para sua visualização, o mais famoso deles é o Adobe Reader, distribuído pela Adobe Systems, a própria empresa que criou o formato PDF. Esse programa permite apenas a visualização do documento, incluído recursos de seleção e procura de texto. Para criar arquivos PDF é necessário outro software, como por exemplo, o Adobe Professional. O Professional permite a criação de documentos PDF a partir de arquivos do Microsoft Office, arquivos escaneados, ou templates escolhidos.

39 38 Figura 16: Exemplo de um formulário eletrônico em PDF Como a Adobe tornou o PDF um formato aberto, outros softwares (gratuitos ou não) foram desenvolvidos para criação de arquivos PDF. Uma grande vantagem do formato PDF em relação aos demais é o suporte a assinaturas digitais que o formato oferece. Outros arquivos também podem ser assinados digitalmente, porém algum software adicional é necessário, tanto para assinar, quanto para conferir a assinatura. No caso do PDF é possível conferir a assinatura através do Adobe Reader, podendo inclusive ver o certificado digital que representa a entidade que assinou o documento. É possível, através do Adobe Professional, assinar arquivos PDF e se for habilitado, o Reader também é capaz de fazê-lo. As desvantagens oferecidas pelo formato Office parecem todas ter sido solucionadas no formato PDF. Existem elementos interativos para seleção, o documento permite a edição apenas dos campos do formulário e não permite a edição da estrutura do arquivo, e também, possui uma usabilidade excelente para usuários finais. Porém a grande desvantagem é gerar o formulário eletrônico PDF. Para isso é necessário possuir o Adobe Professional, que não é gratuito, ou utilizar algum programa ou software capaz de fazê-lo. Para o usuário final, é algo difícil de realizar. O formato PDF oferece também suporte a validação da entrada de dados nos campos de formulários. A figura 16 demonstra um formulário eletrônico em PDF sendo visualizado no Adobe

40 39 Reader. O formulário já foi preenchido e assinado. No lado esquerdo da imagem está um resumo dos dados das assinaturas do documento. 3.3 Comparações entre formatos de formulários eletrônicos Cada formato de construção de formulário eletrônico utiliza por trás uma especificação de tecnologia (linguagem ou extensão de arquivo), o que traz algumas vantagens e desvantagens. A tabela 1 demonstra quais softwares adicionais são necessários para visualizar e preencher formulários eletrônicos de acordo com seu formato. Formato HTML XML (XForms) Interface Gráfica Office PDF Software Navegador web Navegador web + plugin Infra-estrutura requerida pela linguagem utilizada Suíte de aplicativos para escritório Adobe Reader Tabela 1: Softwares adicionais necessários para visualização e preenchimento de formulários eletrônicos Todos os formatos necessitam de softwares ou configurações adicionais. Quando o formulário baseado em interface gráfica não necessita de infra-estrutura adicional é porque, geralmente, a linguagem utilizada gerou um executável nativo de sistema operacional (não portável). Todos os formatos podem ser utilizados apenas com softwares gratuitos. Recurso HTML XML Int. Gráfica Office PDF Ocultar / mostrar regiões Sim 1 Sim Sim Não Não do formulário Validação na entrada de Sim 1 Sim Sim Não Sim dados Não permitir edição de Sim Sim Sim Não Sim rótulos Autocompletar textos Sim 2 Sim 2 Sim Não Sim Componentes interativos Sim Sim Sim Não Sim de seleção Suporte à assinaturas digitais Não Não Não Não Sim Tabela 2: Recursos oferecidos pelas tecnologias de definições de formulários eletrônicos 1 Utilizando JavaScript 2 Recurso do navegador web

41 40 A tabela 2 demonstra os recursos que as tecnologias oferecem para construção de formulários eletrônicos. Os principais recursos avaliados são detalhados a seguir: Ocultar / mostrar regiões do formulário Trata-se de omitir ou mostrar regiões do formulário que só devem ser preenchidas caso alguma característica foi especificada. Por exemplo, mostrar um campo CPF caso for definido pessoa física ou CNPJ caso definido pessoa jurídica. Validação na entrada de dados Refere-se a capacidade de validar dados de acordo com regras definidas. A maioria dos formatos define uma linguagem ou meio de especificar tais validações. Não permitir edição de rótulos Apenas os campos devem ser preenchidos em um formulário. Os rótulos já foram feitos, possivelmente por outra pessoa, e não devem ser editáveis. Autocompletar textos Recurso que possibilita agilidade no preenchimento do formulário. Ao preencher um dado pela segunda vez, o recurso lembra o que foi anteriormente preenchido e oferece capacidade de autocompletar. Componentes interativos de seleção Existência de componentes que facilitam a seleção de um ou mais itens em uma lista. Suporte à assinaturas digitais Suporte interno pelo formato à assinaturas digitais, permitindo assinar e verificar assinaturas. Qual formato escolher depende das necessidades da aplicação que for desenvolvida. De acordo com os recursos que foram apontados é possível optar pela melhor escolha.

42 4 Adobe Acrobat e o Portable Document Format O mais completo e reconhecido produto para criação e manipulação de arquivos no formato PDF é desenvolvido pela própria empresa criadora do formato, a Adobe Systems. A empresa foi fundada em dezembro de 1982 por John Warnock e Charles Geschke. Eles saíram da Xerox PARC com objetivo de comercializar a linguagem de descrição de páginas PostScript (SYSTEMS, 2007b). A linguagem fornece uma máquina de pilha e comandos específicos para o desenho de letras e figuras, incluindo comandos de traçado e formas de representação de imagens. Em março de 1985 a primeira impressora baseada em PostScript foi lançada pela Apple e, a partir de então, a linguagem PostScript tornou-se popular. Em 1991 John Warnock escreveu o Camelot paper (Camelot mais tarde viria a se chamar Acrobat) (LOWAGIE, 2006), onde comentava o seguinte: O grande problema é que a maioria dos programas existentes imprime utilizando uma variedade de impressoras, mas não existe nenhuma maneira universal de apresentar o conteúdo impresso eletronicamente... O que a indústria precisa é uma maneira universal de distribuir documentos eletrônicos através de diferentes configurações de máquina, sistema operacional e redes de telecomunicação. Como resultado desse artigo um novo projeto começou a ser desenvolvido pelos engenheiros da Adobe Systems e então surgiu o Portable Document Format (PDF), criado em 1993 como uma evolução do PostScript. Naquela época a Adobe cobrava pelas ferramentas de criar os documentos no formato PDF e também pelas ferramentas usadas para visualizá-lo. O formato não fez sucesso na sua primeira versão, pois era caro e existam produtos concorrentes. Tão cedo a Adobe passou a disponibilizar o leitor de documentos PDF de forma gratuita, o formato se tornou de fato um padrão para documentos impressos (WIKIPEDIA, 2007c).

43 Portable Document Format Portable Document Format é uma combinação de três tecnologias: A linguagem de descrição de páginas PostScript, para descrever os gráficos e leiaute. Um sistema de substituição de fontes para permitir que as fontes mantenham-se portáveis. Um sistema de armazenamento estruturado para conter todos os elementos que fazem parte do documento em um único arquivo, com compressão de dados quando necessário. O formato sofreu várias alterações ao longo dos anos, conforme a versão do software da Adobe foi evoluindo. Já foram lançadas oito versões do formato: 1.0 (1993), 1.1 (1994), 1.2 (1996), 1.3 (1999), 1.4 (2001), 1.5 (2003), 1.6 (2005), e 1.7 (2006) (WIKIPEDIA, 2007c). A versão 1.0 do formato PDF corresponde à primeira versão do Adobe Acrobat e da 1.1 a 1.7, respectivamente, as versões subseqüentes. Atualmente o formato PDF se encontra na versão 1.7 e a família de produtos Adobe Acrobat (Adobe Reader e Adobe Professional) na versão Propriedade intelectual da especificação PDF A Adobe possui o copyright sobre as especificações PDF, mas para promover o uso do Portable Document Format com interoperabilidade com os diversos produtos e aplicações, a Adobe permite o direito de (SYSTEMS, 2007c): Construir arquivos de acordo com a especificação PDF. Escrever aplicações que aceitem PDF como entrada de dados e apresentem, imprimam ou interpretem seu conteúdo. Copiar ou escrever as estruturas e operadores da especificação PDF que forem necessários para atingir os itens acima. As aplicações criadas que utilizarem o formato devem manter as permissões de acesso definidas pelo usuário.

44 Família de produtos Adobe Acrobat 8 Existem cinco softwares na família de produtos Adobe Acrobat 8. Um deles, o Adobe Reader, permite a visualização de documentos no formato PDF bem como procura e seleção de textos. Os documentos abertos pelo Reader não podem ser alterados, apenas vistos. Os quatros restantes permitem os mesmos recursos do Reader e manipulação e criação de documentos no formato PDF. São separados de acordo com os recursos oferecidos como descrito na tabela 3. Recurso 3D Professional Standard Elements Criar arquivos PDF a partir de qualquer aplicação que imprima Selecionar configurações de compressão e resolução do arquivo ao criar o PDF Criar documentos PDF a partir da suíte de aplicativos para escritório Microsoft Office Proteger documentos usando senhas Aplicar restrições na impressão, alteração e cópia do PDF Escanear documentos e automáticamente reconheçer o texto através de reconhecimento de caracteres Adicionar arquivos anexos ao documento PDF Adicionar cabeçalhos, rodapés ou marcas d água a documentos PDF Criar documentos PDF a partir do Internet Explorer ou Outlook mantendo arquivos anexos, links e bookmarks Permitir usar ferramentas de inclusão de notas, carimbos, edição e destaque de texto Unificar dois ou mais arquivos PDF Mesclar páginas de vários aplicativos diferentes em múltiplas páginas de um único documento PDF Criar documentos PDF a partir do Microsoft Visio, AutoCAD e Microsoft Project Exportar ou importar os dados do formulário para documentos XML

45 44 Recurso 3D Professional Standard Elements Habilitar usuários do Adobe Reader permitindo que visualizem as ferramentas de revisão e comentário de textos Habilitar usuários do Adobe Reader para poderem assinar digitalmente o documento PDF Detectar automáticamente campos de formulários a partir da conversão para PDF Habilitar usuários do Adobe Reader para preencher e salvar formulários localmente Embutir vídeos, sons e gráficos 3D Criar formulários PDF a partir de documentos do Microsoft Office ou scanner Criar documentos com conteúdo 3D interativo Converter arquivos CAD com desing 3D para formato PDF Tabela 3: Recursos oferecidos pelos softwares da família Adobe Acrobat 8 (SYSTEMS, 2007a, tradução nossa) O Adobe Acrobat Elements 8, como vimos na tabela 3, possui funcionalidades simples de criação e conversão de documentos PDF, possibilitando uso de senhas e aplicação de algumas restrições. O Adobe Abrobat Standard 8 permite manipulação de comentários, arquivos anexos, ferramentas de colaboração e junção de documentos para produzir um único arquivo PDF. O Adobe Acrobat Professional 8 permite habilitar permissões para que usuários do Adobe Reader possam assinar e preencher formulários. Já o Adobe Acrobat 3D 8 é capaz de unir gráficos CAD ao documento PDF. 4.4 Recursos do Adobe Acrobat Professional 8 A seguir os recursos oferecidos pela família de produtos Adobe Acrobat, mais específicamente o Adobe Acrobat Professional 8, serão descritos com mais detalhes incluindo exemplos práticos de demonstração.

46 Habilitar recursos para o Adobe Reader Em documentos comuns o Adobe Reader é limitado à visualização e impressão do PDF, porém o Adobe Professional é capaz de habilitar o documento para que alguns de seus recursos possam ser usados por usuários no Adobe Reader. Os recursos que podem ser habilitados para o Adobe Reader são os seguintes: Assinaturas digitais Torna-se disponível no Reader um botão Assinar (Sign) capaz de assinar o documento. Por padrão o Reader sempre é capaz de verificar a legalidade das assinaturas (alterações no documento posteriores à assinatura, revogação, autoridade certificadora confiável e carimbo de tempo). Dados de formulários Torna-se possível preencher e salvar dados em formulários localmente, assim como exportar e importar dados e submetê-los por ou web. Por padrão o Reader é capaz apenas de imprimir os dados preenchidos de um formulário, sem salvá-los localmente. Ferramentas de colaboração Uma barra de ferramentas nova é adicionada ao menu de opções do Adobe Reader. A barra de ferramentas permite adicionar comentários, marcações e carimbos, assim como pequenas alterações de texto. Figura 17: Barra de ferramentas adicionada no Adobe Reader após habilitar recursos para o documento PDF Figura 18: Habilitando recursos para o Adobe Reader Para que tais recursos tornem-se disponíveis no documento PDF é necessário, utilizando o Adobe Professional, navegar até o menu Advanced e clicar na opção Enable Usage Rights in Adobe Reader como demonstra a figura 18.

47 Comentários Um recurso colaborativo muito útil para revisão de textos é a adição de comentários ao documento. Os comentários são posicionados em caixas e seu texto não é visível diretamente no documento, para visualizá-lo é necessário clicar no ícone do comentário para que a caixa se abra e o texto apareça. É possível ver todos os comentários do documento em lista sorteados por nome do autor ou data. Esse recurso não é disponível no Adobe Reader a menos que seja habilitado. Figura 19: Adicionando comentários Figura 20: Listagem de comentários do documento Carimbos Outro recurso colaborativo útil é a marcação do documento com carimbos. É possível representar o status atual do documento adicionando um carimbo adequado. Por exemplo, em um fluxo de trabalho que engloba aprovação de documentos, seria possível adicionar um carimbo de status Aprovado ou Reprovado. Outros status possíveis representados por carimbos podem ser observados na figura 21. Esse recurso não é disponível no Adobe Reader a menos que seja habilitado.

48 47 Figura 21: Alguns carimbos disponíveis para marcar documentos Edições de texto As ferramentas de edições de texto são úteis para revisão ortográfica ou correção de documentos. Através delas é possível solicitar ao autor do documento a substituição, inclusão ou exclusão de trechos de texto. O texto selecionado é riscado quando solicitado substituição ou exclusão. Solicitar inclusão ou substituição de textos habilita uma caixa suspensa (semelhante à de comentários) para escrever o novo texto solicitado. É possível também realçar textos. Esse recurso não é disponível no Adobe Reader a menos que seja habilitado Arquivos anexos O Adobe Acrobat Professional 8 permite anexar arquivos ao documento PDF. O PDF continua um único arquivo e ao abri-lo, é possível abrir também o arquivo anexo. É possível ver todos os arquivos anexos ao documento em uma lista, sorteados por nome ou data de inclusão Sons e vídeos É possível inserir conteúdo multimídia em um documento PDF. Esse conteúdo pode ser reproduzido quando desejado pelo Adobe Reader. Na figura 25 temos um PDF com

49 48 Figura 22: Instruções para correção de textos Figura 23: Exemplo de texto editado com as ferramentas Figura 24: Lista de arquivos anexos ao documento PDF um arquivo de som (mp3) embutido no canto esquerdo superior da página, ao redor do número 120. E um arquivo de vídeo (mpg) inserido logo abaixo. Ao clicar na região do som ou do vídeo a reprodução do arquivo multimídia inicia Assinaturas digitais O documento PDF suporta assinaturas digitais internamente em sua estrutura. O Adobe Acrobat é capaz de ler as assinaturas e mostrá-las para o usuário, inclusive verificando sua legalidade. A figura 26 mostra uma lista de assinaturas em um documento

50 49 Figura 25: Sons e vídeos PDF no formato apresentado pelo Adobe Acrobat Professional 8. Figura 26: Lista de assinturas digitais de um documento PDF No Adobe Professional é possível assinar o documento em qualquer lugar da página. Já no Adobe Reader é possível assinar o documento apenas se existir um campo de formulário com tal finalidade e o documento tiver sido habilitado para tal. O Adobe Acrobat possui um gerenciador de certificados digitais. É possível adicionar ao gerenciador um certificado a partir do repositório do Windows, de um dispositivo de harware com interface PKCS #11 ou um certificado armazenado em arquivo no formato PKCS #12. É possível também gerar um certificado digital a partir do Adobe para fins

51 50 de testes. O Adobe possui também um gerenciador de entidades confiáveis. A princípio apenas certificados digitais ligados ao certificado raiz da Adobe serão confiáveis. Mas é permitido adicionar à lista de entidades confiáveis outras entidades conforme necessário. Figura 27: Seleção de certificado digital para assinatura Para assinar um documento no Adobe Professional basta ir até o botão Sign e selecionar Place signature. Após selecionado o local do documento desejado a tela representada pela figura 27 será exibida. Nela é possível selecionar um dos certificados digitais presentes no gerenciador de certificados do Adobe Professional e então, depois de informar a senha, assinar o documento. O resultado da assinatura é um carimbo representado a entidade do certificado utilizado como mostra a figura 28. Figura 28: Carimbos de assinatura digital Para verificar a assinatura basta clicar no carimbo e selecionar Signature properties. A figura 29 será exibida. Nesta tela é possível verificar: a legalidade do certificado, a data / hora da assinatura, se o documento não foi alterado depois da assinatura e se o certificado não foi revogado.

52 51 Figura 29: Propriedades da assintura digital Diferenças entre assinatura e certificação Na nomenclatura do Adobe Acrobat existem diferenças entre certificar e assinar um documento digital. Certificar o documento é o processo de assinatura realizado geralmente pelo autor do documento. Certificar o documento inibe mudanças posteriores. Ao certificar o documento, como visto na figura 27, é permitido selecionar uma das três opções: não permitir mais mudanças, permitir apenas preenchimento de formulários e assinaturas ou permitir preenchimento, assinaturas e comentários. Certificar não deixa de ser uma assinatura, porém a principal diferença é que ela é feita pelo autor do documento. Assinar o documento está relacionado com outras entidades que por ventura queiram comprovar sua aprovação em relação ao que está escrito. É permitido inclusive mais de uma assinatura ao documento, porém apenas uma certificação. Por exemplo, uma universidade cria um formulário eletrônico em PDF e logo após o certifica para que mudanças no formulário não sejam possíveis (apenas preenchimento e assinaturas). A certificação também prova a origem do formulário. O formulário é preenchido e assinado por um professor, logo após enviado para o coordenador do curso. O coordenador assina e o processo é concluído Formulários O documento PDF suporta criação de formulários eletrônicos, também referenciados como AcroForms. Um documento PDF pode conter qualquer número de campos espalha-

53 52 dos por todas as páginas. Todos os campos formam um único formulário, ou seja, cada PDF pode conter apenas um formulário. O Adobe Acrobat Professional permite preencher e salvar os dados localmente no computador, porém pelo Adobe Reader é permitido apenas imprimir os dados preenchidos, não há a possibilidade de salvá-los localmente. Se a restrição for desabilitada no documento PDF, o Adobe Reader também poderá salvá-lo. Para criar um formulário pelo Adobe Professional basta acessar o menu Forms e selecionar a opção Create new form. A figura 30 será exibida. Nela é possível selecionar a criação do formulário a partir de um template, de um documento já existente, de uma planilha ou de um papel a ser escaneado. Se um documento eletrônico for escolhido, o Adobe Professional irá convertê-lo para PDF e posteriormente irá tentar detectar se o documento possui espaços em brancos que possivelmente deveriam ser campos de formulário, conforme figura 31. Os campos detectados são convertidos para campos do formulário PDF recém criado. Quando o processo termina o Adobe LifeCycle Designer 8 é aberto. Figura 30: Seleção de como será criado o formulário PDF Adobe LifeCycle Designer 8 O software Adobe LifeCycle Designer 8 é instalado em conjunto com o Adobe Professional. Sua única finalidade é criação e edição gráfica de formulários no estilo RAD (Rapid Application Development). A figura 32 demonstra o Adobe LifeCycle Designer editando um formulário eletrônico. No lado direito da imagem é possível observar uma barra de componentes de formulário. Eles podem ser arrastados para dentro da área da página, na posição desejada. Todas as regras de construção, validação e configuração de formulários podem ser especificadas aqui. O Adobe LifeCycle disponibiliza os seguintes componentes de formulário:

54 53 Figura 31: Detecção automática de campos de formulário Figura 32: Adobe LifeCycle Designer 8 Text field Para preenchimento de texto qualquer. Numeric field Permitido apenas números. Radio button Permite seleção de uma entre várias caixas. Drop-down list Permite seleção entre uma lista de opções. Date-time field Calendário para escolha de data. Signature field Permite assinatura digital. Esse campo é importante pois sua presença irá habilitar a possibilidade de usuários do Adobe Reader assinarem o

55 54 documento. Porém, também é necessário desabilitar a restrição de direitos para o Reader. Image field Permite seleção de uma imagem para ser posicionada no formulário. Check box Permite seleção múltipla entre várias caixas. Botão de enviar por ou http A presença desses botões permite que os dados preenchidos no formulário possam ser enviados por ou http. O ou endereço de destino é definido no momento da criação do botão.

56 5 Projeto da implementação 5.1 Solução proposta Todo fluxo de trabalho eletrônico deve priorizar a comodidade e facilidade para seus usuários. Sem essas características o usuário não irá se adequar ao fluxo proposto e irá preferir o fluxo tradicional. Dessa forma, uma solução prática deve ser proposta. Todas as ferramentas necessárias devem ser fáceis de usar e adquirir, sem necessidade de locomoção física. Um fluxo de trabalho envolvendo formulários eletrônicos com assinatura digital possui duas dificuldades principais para o usuário final. A primeira diz respeito à obtenção de seu certificado digital, para que possa participar de transações eletrônicas seguras. A segunda dificuldade é gerenciar todos os artefatos necessários como: formulários, senhas, certificados e endereços de . Uma abordagem para resolver o primeiro problema é disponibilizar uma Autoridade Certificadora (AC) para que os usuários do fluxo possam facilmente requisitar e obter seus certificados. Para solucionar o segundo problema pode-se utilizar um servidor de diretórios LDAP (Lightweight Directory Access Protocol). Um servidor de diretórios poderia armazenar os formulários, certificados, chaves privadas e demais recursos, de forma hierárquica e segura para cada usuário. Outras soluções possíveis fariam uso de banco de dados relacionais ou servidores remotos rodando alguma aplicação que gerenciaria os recursos citados. No caso particular do departamento de Informática e Estatística (INE) existiriam dois tipos de usuários diferentes: o projetista e o usuário comum. O projetista é responsável por criar formulários eletrônicos em PDF. Isto pode ser feito utilizando a ferramenta itext (ferramenta escrita em Java para manipulação de documentos PDF) ou um software proprietário como o Adobe Professional. No caso da ferramenta itext é necessário criar um programa capaz de desenhar o formulário ou construir uma ferramenta capaz de facilitar

57 56 esse trabalho para o projetista. O usuário comum irá participar do fluxo de trabalho assinando, salvando, enviando e exportando formulários. Como muitas dessas tarefas não são permitidas por leitores de PDF como o Adobe Reader, é necessário um software capaz de fazê-lo como o Adobe Professional. Ou um software novo que ofereça tais facilidades. A figura 33 esquematiza a solução proposta, de acordo com o ponto de vista do usuário e do projetista. Figura 33: Visão geral do fluxo de trabalho para a solução proposta No momento 1 o formulário eletrônico é criado pelo projetista utilizando um ferramenta como o itext ou software similar. No momento 2 o usuário abre o formulário criado pelo projetista utilizando o visualizador de PDF que será implementado no presente trabalho. A partir do visualizador o usuário pode salvar o documento com os dados do formulário inclusos (12). A opção 11 permite exportar os dados do formulário para XML em um formato padrão, o que permite usá-los para preencher outro formulário ou mesmo serem salvos em um banco de dados. É possível enviar o documento PDF por como anexo (9). O destinatário do pode continuar o fluxo, assinando o formulário (8) utilizando sua chave privada e certificado digital. O formulário pode ser compartilhado ou mantido seguro no servidor de diretórios (6) assim como o certificado digital

58 57 que pode ser obtido a partir da autoridade certificadora (4). Para garantir segurança no envio do formulário pode-se encriptá-lo (7). O formulário ainda pode ser impresso (10). As funcionalidades 2 e de 7 a 12 estarão implementadas no software para visualização e manipulação de formulários PDF apresentado nos próximos capítulos desse trabalho. As demais funcionalidades podem ser estendidas em trabalhos futuros. 5.2 Formulários no INE A secretaria do departamento de Informática e Estatística (INE) utiliza formulários em papel para que professores ou alunos possam preencher solicitações de seu interesse. Os principais formulários utilizados são: Diárias e passagens Formulário preenchido por professores para solicitar viagens. Requerimento de prova Formulário preenchido por alunos para solicitar uma nova prova, justificando sua falta na prova anterior. Solicitação de alteração de nota Formulário preenchido por professores para solicitação de alteração de nota de algum aluno. Solicitação de bolsa de treinamento Solicitação para oferecer bolsa de treinamento. Validação de disciplina Preenchido por alunos para validar disciplinas que já tenham feito em outra oportunidade. Após realizada a pesquisa, constatou-se que os formulários em papel possuíam cópia digital no formato office. Dessa forma, o primeiro passo foi convertê-los para o formato PDF. A conversão pode ser feita utilizando o Adobe Professional ou alguma ferramenta livre como o itext. Nesse caso foi utilizado o Adobe Professional (versão trial de 30 dias) durante a fase de testes do software. 5.3 Tecnologias utilizadas Essa seção descreve as tecnologias e ferramentas utilizadas para construção do visualizador e assinador de PDF.

59 Java Java é uma linguagem de programação orientada a objetos desenvolvida pela Sun Microsystems na década de 90. Aplicações desenvolvidas em Java são compiladas e resultam em um código portável chamado bytecode. A Máquina Virtual Java interpreta ou compila o bytecode para código nativo. A sintaxe da linguagem em si é semelhante a C / C++. Possui um modelo de objetos mais simples e tem menos facilidades de baixo nível. JavaScript, uma linguagem de script, divide nome e sintaxe semelhante a Java, porém não está diretamente relacionada com a mesma. A Sun Microsystems fornece uma implementação sobre licença GNU (General Public License) do compilador (javac), da máquina virtual e da biblioteca de classes requeridas para rodar programas em Java. A linguagem Java é conhecida por enfatizar as seguintes características (WIKIPEDIA, 2007b): Programação orientada a objetos. Portabilidade entre sistemas operacionais. Suporte da linguagem para redes de computadores. Suporte da linguagem para chamada remota de procedimentos de forma segura. A plataforma Java está dividida em três áreas distintas: JSE (Java Standard Edition), JEE (Java Enterprise Edition) e JME (Java Micro Edition). A JSE prove as classes base para as outras plataformas e é utilizada largamente para desenvolvimento desktop. A JEE é utilizada para desenvolvimento de aplicações distribuídas. E a JME permite desenvolvimento de aplicações para dispositivos móveis itext itext é uma biblioteca de classes Java, distribuída sobre licença GPL, com objetivo de produzir e manipular documentos no formato PDF. Através da ferramenta é possível criar um arquivo PDF do zero ou abrir um existente e manipulá-lo. Bruno Lowagie começou o desenvolvimento do itext em 1998 a partir da necessidade de construir uma aplicação para administração de estudantes na universidade de Ghent

60 59 (Bélgica) onde trabalhava (LOWAGIE, 2006). O antigo sistema de administração de estudantes funcionava apenas em MS-DOS e os documentos dependiam de uma impressora específica para serem vistos. Para obter portabilidade, ele decidiu utilizar Java e o formato PDF, pois os professores utilizavam diferentes sistemas operacionais e configurações de máquina. Nos dias atuais a biblioteca itext é utilizada por vários serviços e outras ferramentas. Produtos em Java que permitem geração de relatórios em PDF geralmente utilizam o itext como engine para desenhar o PDF em baixo nível. Não apenas Java como também outras linguagens de programação. O itext foi portado para.net e é utilizado também por produtos da Macromedia. O itext vem sendo usado em larga escala por diferentes ramos da indústria. Existem vários exemplos de sua utilização (LOWAGIE, 2006). A NASA usa o itext em uma ferramenta que produz documentos PDF mostrando imagens do globo terrestre. O Google Calendar utiliza a ferramenta para produzir calendários em PDF. Em relação ao Adobe Professional, o itext suporta alguns de seus recursos. Com o itext é possível adicionar comentários, arquivos anexos, sons e vídeos, criar formulários e assinar documentos Criando um PDF com itext em cinco passos O exemplo exposto nessa seção demonstra a utilidade e a facilidade de utilização da biblioteca itext (LOWAGIE, 2006). Com apenas cinco passos o código abaixo cria um documento PDF de nome AloMundo.pdf com um parágrafo escrito Alô mundo!. Document documento = new Document(); //1 o passo try { PdfWriter.getInstance(documento, new FileOutputStream("AloMundo.pdf")); //2 o passo documento.open(); //3 o passo documento.add( new Paragraph( "Al^o mundo!" ); //4 o passo } catch (Exception e) { //tratar excecao }

61 60 documento.close(); //5 o passo Os passos são detalhados a seguir: 1 o passo Cria uma instância da classe Document que representa um documento PDF. 2 o passo Associa o documento a um PdfWriter o qual irá gravar os dados no arquivo de nome AloMundo.pdf passado como parâmetro. 3 o passo Abre o documento para escrita. 4 o passo Cria do conteúdo do documento. 5 o passo Fecha o documento e recursos associados Submetendo um formulário PDF com o itext A especificação PDF define a existência de um campo de formulário chamado pushbutton. Esse botão é capaz de enviar as informações do formulário para um servidor de quatro formas distintas (LOWAGIE, 2006): HTML Envia cada campo do formulário com um atributo de requisição http. FDF FDF é um formato de arquivo que contém apenas os dados preenchidos no formulário. O FDF é gerado e enviado para o servidor. XFDF XFDF é como o FDF, porém no formato XML. PDF Envia o PDF inteiro para o servidor. Essa função é possível apenas possuindo Adobe Professional. O itext suporta as três primeiras formas de envio para o servidor Assinando um documento PDF com itext Este tópico irá demonstrar exemplos de como assinar e verificar assinaturas em um documento PDF utilizando a biblioteca itext (LOWAGIE, 2006). O código abaixo demonstra como assinar um documento.

62 61 1. KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); 2. ks.load(new FileInputStream(".keystore"), "senha".tochararray()); 3. PrivateKey key = (PrivateKey) ks.getkey("alias", "senha".tochararray()); 4. Certificate[] chain = ks.getcertificatechain("alias"); 5. reader = new PdfReader("pdf_nao_assinado.pdf"); 6. FileOutputStream os = new FileOutputStream("pdf_assinado.pdf"); 7. PdfStamper stamper = PdfStamper.createSignature(reader, os, \0 ); 8. PdfSignatureAppearance appearance = stamper.getsignatureappearance(); 9. appearance.setcrypto(key, chain, null, PdfSignatureAppearance.SELF_SIGNED); 10. appearance.setreason("teste"); 11. appearance.setlocation("florianopolis"); 12. appearance.setvisiblesignature("teste"); 13. stamper.close(); A linha 1 obtém o KeyStore, ou seja, uma classe que representa um repositório de certificados. A linha 2 informa a senha para carregar o KeyStore. Na linha 3 obtemos a chave privada do certificado chamado alias de dentro do repositório. Na linha 4 obtemos a cadeia de certificados do certificado de mesmo nome da linha anterior. A linha 5 abre o PDF para ser assinado e a linha 6 define o nome do novo PDF. Da linha 7 em diante é configurado como a assinatura deve ser apresentada JPedal JPedal é uma biblioteca de classes Java utilizada para visualizar ou extrair conteúdo de um arquivo PDF. Através da biblioteca é possível mostrar um documento PDF na tela, porém com qualidade inferior a um visualizador como o Adobe Reader. O JPedal é distribuído em duas versões com licenças de software diferentes. A versão standard é de código aberto e pode ser usada gratuitamente desde que seja utilizada em um projeto GPL. Para utiliza o JPedal em um projeto comercial é necessário adquirir o produto. A versão enhanced possui alguns recursos a mais e também é comercial. O JPedal é capaz de extrair imagens e textos de um arquivo PDF para que possam ser utilizados fora do documento. Também é capaz de visualizar um documento PDF, inclusive com comentários e formulários. No modo visualizador é capaz de exibir zoom e

63 62 bookmarks. O JPedal ainda é muito inferior ao Adobe Reader nas características de visualização. Porém é bastante adequado para os casos em que for necessário embutir um leitor PDF em uma aplicação qualquer. A figura 34 mostra o visualizador de exemplo que vem junto com a distribuição do JPedal. Figura 34: Visualizador de exemplo do JPedal (JPEDAL, 2007) 5.4 Metodologia de projeto Para desenvolvimento e elaboração do software a metodologia de projeto utilizada foi o Processo Unificado. O Processo Unificado é um processo de desenvolvimento de software interativo e incremental (WIKIPEDIA, 2007d). A cada interação novos requisitos são propostos, implementados e testados, unindo-se a interação anterior. Cada interação gera uma versão do software o qual possui características funcionais melhoradas em relação a versão anterior. Os aspectos que diferenciam o Processo Unificado são (SCOTT, 2002): Dirigido por casos de uso No Processo Unificado os casos de uso são criados para ilustrar os requisitos funcionais e para definir a granularidade das interações. Cada interação irá escolher um conjunto de casos de uso para implementar e testar.

64 63 Centrado na arquitetura O Processo Unificado define a arquitetura do sistema como o núcleo do projeto, usado para modelar o sistema. A arquitetura é inicialmente definida na etapa de elaboração do projeto e servirá como base para o restante da implementação. Focado no risco O Processo Unificado define que as primeiras interações devem focar nos casos de uso mais críticos do projeto. Dessa forma, torna-se mais fácil estimar o prazo do projeto e diminui-se a possibilidade de perdas maiores caso o projeto venha a falhar. O Processo Unificado divide o projeto em quatro etapas, distintas (LARMAN, 2004): Iniciação ou concepção Nesta fase, é estabelecido o escopo do projeto e suas fronteiras, determinando os principais casos de uso do sistema. Esses casos de uso devem ser elaborados com a precisão necessária para se proceder estimativas de prazos e custos. As estimativas devem ser globais para o projeto como um todo e detalhadas para a fase seguinte. Assim, a ênfase nesta etapa recai sobre o planejamento e, por conseguinte, é necessário levantar requisitos do sistema e preliminarmente analisá-los. Ao término dessa fase, são examinados os objetivos do projeto para se decidir sobre a continuidade do desenvolvimento. Elaboração O propósito desta fase é analisar mais refinadamente o domínio do problema, estabelecer uma arquitetura de fundação sólida, desenvolver um plano de projeto para o sistema a ser construído e eliminar os elementos de projeto que oferecem maior risco. Embora o processo deva sempre acomodar alterações, as atividades da fase de elaboração asseguram que os requisitos, a arquitetura e os planos estão suficientemente estáveis e que os riscos estão suficientemente mitigados, de modo a se poder prever com precisão os custos e prazos para a conclusão do desenvolvimento. Construção Durante esta fase, um produto completo é desenvolvido de maneira iterativa e incremental, para que esteja pronto para a transição à comunidade usuária. Transição Nesta fase, o software é disponibilizado à comunidade usuária. Após o produto ter sido colocado em uso, naturalmente surgem novas considerações que vão demandar a construção de novas versões para permitir ajustes do sistema, corrigir problemas ou concluir algumas características que foram postergadas.

65 64 É importante realçar que dentro de cada fase, um conjunto de iterações, envolvendo planejamento, levantamento de requisitos, análise, projeto e implementação e testes, é realizado. A figura 35 demonstra as fases e etapas do Processo Unificado. Figura 35: Fases e etapas do Processo Unificado (FALBO, 2006) 5.5 Projetando a arquitetura da aplicação Padrões de projeto são padrões de construção de software. Os padrões arquitetônicos são os que definem e interferem na arquitetura do software. A arquitetura do software é o mais elevado nível de abstração Arquitetura em camadas Um conhecido padrão arquitetônico é uma arquitetura em camadas onde cada camada apenas se comunica com a sua camada adjacente, diminuído o acoplamento entre os componentes de software. Em sistemas de informação comumente a divisão em camadas se realiza da seguinte forma: A camada de apresentação define a interface com o usuário e sua interação. A camada de lógica de negócios define o modelo de domínio o qual o software é desenvolvido. A camada de persistência persiste os dados provenientes da camada de negócio. Com essa separação em camadas a aplicação eleva sua coesão e diminui o acoplamento, o que beneficia a qualidade interna do software. Para o presente trabalho apenas as

66 65 camadas de apresentação e lógica foram utilizadas visto que não foi necessário persistir dados em um banco Model-View-Controller O padrão arquitetônico Model-View-Controller (MVC) sugere a divisão da aplicação nos seguintes componentes (FREEMAN; FREEMAN, 2005): O model (modelo) contém os dados da lógica de negócios da aplicação. Ele que efetua as operações relativas ao modelo de domínio. A view (visão) define uma interface com o usuário da aplicação, e representa o estado atual do modelo de negócios. O controller (controlador) representa a lógica de interação do usuário com a interface. Ele faz o controle das operações vindas da visão, e chama os determinados métodos do modelo. Esse padrão de separação de componentes ajuda na separação de responsabilidades, facilitando a manutenção e entendimento da aplicação. Esse padrão foi utilizado para definir as responsabilidades de cada parte da aplicação. 5.6 Visão geral O sistema construído não é apenas um visualizador de documentos PDF. Ele possui funcionalidades semelhantes a um editor: permite assinatura, exportação e edição de formulários. A partir da análise de todos os requisitos necessários para a elaboração do projeto, foi feito um levantamento sobre o que a aplicação deve conter. A seguir seus requisitos e casos de uso serão descritos e detalhados. 5.7 Modelagem de requisitos Requisitos funcionais Permitir assinar digitalmente formulários PDF em sua estrutura interna. Permitir o envio do formulário PDF por .

67 66 Permitir impressão do documento. Permitir preencher e salvar dados no formulário. Permitir verificar a autenticidade das assinaturas presentes do PDF. Permitir cifrar o documento PDF para que possa ser enviado de forma segura. Dar suporte a ferramentas de zoom e controle de visualização. Dar suporte a ferramentas de rotação de página. Dar suporte a busca de textos no documento. Dar suporte a ferramentas de ajuste do tamanho da página em relação ao tamanho da tela. Permitir exportar os dados do formulário para XML Requisitos não-funcionais Subdividir a aplicação em camadas bem definidas para permitir flexibilidade e facilidade na manutenção. Focar em aspectos referentes a usabilidade do sistema. Procurar diminuir o tempo de resposta da aplicação. 5.8 Casos de uso Abrir documento 1) O usuário seleciona a opção Abrir no menu ou no botão da barra de ferramentas. 2) O sistema apresenta um diálago solicitando a escolha de um documento PDF. 3) O usuário escolhe um arquivo e o sistema o abre. 3.1) Caso o documento possua assinaturas, estas devem ser verificadas durante o processo de abertura, e caso algum problema com alguma das assinaturas ocorra, deve-se notificar o usuário.

68 Salvar documento 1) O usuário seleciona a opção Salvar ou Salvar como no menu ou na barra de ferramentas. 2) Caso a opção Salvar tenha sido selecionada o sistema salva o PDF sobre o mesmo arquivo, caso a opção Salvar como tenha sido selecionada o sistema salva em outro arquivo da escolha do usuário Assinar documento 1) O usuário seleciona a opção Assinar no menu ou barra de ferramentas. 2) O sistema verifica se o documento possui campos de formulário não assinados. Caso existirem, mostra um diálago para que o usuário selecione qual campo deseja usar para assinar o documento e também solicita a sua identificação (certificado digital). 3) O usuário seleciona o campo desejado para assinar e também seleciona o seu certificado digital. 4) O sistema realiza assinatura Verificar assinaturas 1) O usuário escolhe a opção Verificar assinaturas no menu. 2) O sistema verifica se existem assinaturas no documento. Caso existam verifica se o documento não foi alterado após a assinatura, se o certificado não foi revogado e se o prazo de validade do certificado digital não expirou. Após conferência mostra dados dos certificados usados para assinatura Imprimir documento 1) O usuário escolhe a opção Imprimir no menu ou barra de ferramentas. 2) O sistema imprime o documento desejado Enviar documento por 1) O usuário escolhe a opção no menu ou barra de ferramentas.

69 68 2) O sistema exibe um diálago questionando o usuário para que preencha os dados de SMTP e da conta de que deseja usar para envio. 3) O sistema envia o com o PDF em anexo Exportar para XML 1) O usuário seleciona a opção Exportar dados do formulário no menu. 2) O sistema exibe um diálago perguntando o nome e local do arquivo XML. 3) O usuário seleciona nome e local e o sistema salva os dados do formulário em formato XML Cifrar documento 1) O usuário seleciona a opção Encriptar documento com senha no menu. 2) O sistema exibe um diálago perguntando a senha para o usuário. 3) O usuário escolhe a senha e o sistema encripta o documento que mais tarde só poderá ser aberto com a senha informada Buscar texto 1) O usuário escolhe a opção Procurar no menu ou barra de ferramentas. 2) O sistema exibe uma janela para que o texto seja digitado. 3) O usuário digita o texto desejado. 4) O sistema exibe o resultado da busca, selecionando o texto caso seja encontrado, ou mostrando uma mensagem caso não encontre nada Aplicar zoom ao documento 1) O usuário seleciona aumentar ou diminuir o zoom do documento pelo menu ou barra de ferramentas. 2) O sistema aumenta ou diminui o tamanho da página.

70 Ajustar a página à tela 1) O usuário seleciona ajustar a página à largura ou altura da tela. 2) O sistema ajuda a página como informado Rotacionar documento 1) O usuário seleciona a opção de girar o documento em sentido horário ou antihorário. 2) O sistema gira o documento na tela.

71 6 Resultados da implementação 6.1 Protótipo A partir dos requisitos e casos de uso projetados um protótipo foi construído. A função do protótipo é validar as funcionalidades do sistema, buscando a melhor maneira de implementá-las. O visualizador será uma aplicação gráfica, semelhante aos leitores de PDF tradicionais como o Adobe Reader. O menu de opções no topo da tela oferece fácil navegação para todas as opções oferecidas. Três menus foram criados: arquivo, visualizar e documento. O menu arquivo apresenta as opções básicas de abrir, salvar, imprimir e enviar o documento por . O menu visualizar da acesso as opções de manipulação da aparência do PDF na tela. Nesse menu é possível ajustar o zoom e a rotação da página, bem como selecionar uma página especifica para visualizar ou realizar uma pesquisa textual. O menu documento permite selecionar as opções relacionadas a segurança como: assinar, verificar assinaturas e cifrar documento. Também é possível exportar o documento para XML ou ver suas propriedades. A barra de menus pode ser vista na figura 36. Figura 36: Menus de opções da aplicação Para fornecer acesso rápido as opções mais freqüentes presentes no menu a barra de ferramentas foi criada. Abaixo da barra de ferramentas segue uma área de trabalho livre, para ser ocupada pelo documento PDF. Na área inferior da tela está a barra de navegação que permite passar ou voltar páginas do documento. A figura 37 detalha as operações da

72 71 barra de ferramentas e da barra de navegação. Figura 37: Opções da barra de ferramentas e da barra de navegação 6.2 Visualizando o PDF O principal objetivo após o término do protótipo foi construir os mecanismos necessários para exibir o PDF na tela do visualizador. Para tal a biblioteca JPedal foi usada. A biblioteca oferece rotinas e suporte para permitir a visualização do PDF em um painel da interface gráfica Swing do Java. Após o visualizador ser capaz de abrir os documentos focou-se nas funções de manipulação da visualização do PDF na tela. As funções de zoom, rotação, ajuste ao tamanho da tela e navegação foram implementadas. A figura 38 demonstra um PDF aberto pelo visualizador. 6.3 Formulários eletrônicos O próximo passo foi implementar o suporte a preenchimento de formulários PDF. O JPedal oferece suporte a preenchimento do formulário. Para que os dados preenchidos possam ser salvos na máquina local a biblioteca itext foi utilizada. Assim, o processo consiste em retirar os dados preenchidos pelo usuário e mesclá-los com os campos de formulário no PDF original.

73 72 Figura 38: Formulário eletrônico aberto e sendo preenchido 6.4 Dificuldades encontradas A biblioteca JPedal demonstrou-se mal projetada. Seu código fonte está bastante confuso e a documentação é pobre. Além disso, a decodificação do arquivo PDF para ser exibido na tela mostrou-se lento, com desempenho inferior a maioria dos leitores PDF tradicionais. A biblioteca itext não apresentou dificuldades e parece bastante estável. 6.5 O que resta fazer? A implementação do visualizador não está completa. Até o final do presente trabalho todas as funcionalidades descritas serão implementadas. As funções de assinatura, verificação de assinaturas e criptografia serão as próximas a serem implementadas utilizando como suporte a ferramenta itext. Logo após as funcionalidades de envio de , impressão e exportação para XML serão construídas. Algumas funcionalidades adicionais foram previstas e serão implementadas na prioridade que aparecerem na lista abaixo. As funcionalidades que não ficarem prontas serão indicadas para trabalhos futuros. Suporte a exibir e adicionar comentários ao PDF. Suporte a extração de textos e imagens do PDF.

Michel Zanini. Formulários eletrônicos

Michel Zanini. Formulários eletrônicos Michel Zanini Formulários eletrônicos Florianópolis - SC 2007 Michel Zanini Formulários eletrônicos Trabalho de conclusão de curso apresentado como parte dos requisitos para obtenção do grau de Bacharelado

Leia mais

Conceitos de Segurança em Sistemas Distribuídos

Conceitos de Segurança em Sistemas Distribuídos Conceitos de Segurança em Sistemas Distribuídos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br 30 de novembro de 2011

Leia mais

Segurança da Informação

Segurança da Informação Segurança da Informação (Extraído da apostila de Segurança da Informação do Professor Carlos C. Mello) 1. Conceito A Segurança da Informação busca reduzir os riscos de vazamentos, fraudes, erros, uso indevido,

Leia mais

67 das 88 vagas no AFRF no PR/SC 150 das 190 vagas no TRF no PR/SC 150 das 190 vagas no TRF Conquiste sua vitória ao nosso lado

67 das 88 vagas no AFRF no PR/SC 150 das 190 vagas no TRF no PR/SC 150 das 190 vagas no TRF Conquiste sua vitória ao nosso lado Carreira Policial Mais de 360 aprovados na Receita Federal em 2006 67 das 88 vagas no AFRF no PR/SC 150 das 190 vagas no TRF no PR/SC 150 das 190 vagas no TRF Conquiste sua vitória ao nosso lado Apostila

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 23 http://www.ic.uff.br/~bianca/introinfo/ Aula 23-07/12/2007 1 Histórico da Internet Início dos anos 60 Um professor do MIT (J.C.R. Licklider) propõe a idéia de uma Rede

Leia mais

Criptografia. 1. Introdução. 2. Conceitos e Terminologias. 2.1. Criptografia. 2.2. Criptoanálise e Criptologia. 2.3. Cifragem, Decifragem e Algoritmo

Criptografia. 1. Introdução. 2. Conceitos e Terminologias. 2.1. Criptografia. 2.2. Criptoanálise e Criptologia. 2.3. Cifragem, Decifragem e Algoritmo 1. Introdução O envio e o recebimento de informações são uma necessidade antiga, proveniente de centenas de anos. Nos últimos tempos, o surgimento da Internet e de tantas outras tecnologias trouxe muitas

Leia mais

Michel Zanini. Autenticação e assinatura de documentos na Internet com política de certificados digitais A3

Michel Zanini. Autenticação e assinatura de documentos na Internet com política de certificados digitais A3 Michel Zanini Autenticação e assinatura de documentos na Internet com política de certificados digitais A3 Florianópolis - SC 2007 Michel Zanini Autenticação e assinatura de documentos na Internet com

Leia mais

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa Prof. Marcelo de Sá Barbosa Introdução Visão geral das técnicas de segurança Algoritmos de criptografia Assinaturas digitais Criptografia na prática Introdução A necessidade de proteger a integridade e

Leia mais

Sumário. Parte I Introdução... 19. Capítulo 1 Fundamentos da infra-estrutura de chave pública... 21. Capítulo 2 Conceitos necessários...

Sumário. Parte I Introdução... 19. Capítulo 1 Fundamentos da infra-estrutura de chave pública... 21. Capítulo 2 Conceitos necessários... Agradecimentos... 7 O autor... 8 Prefácio... 15 Objetivos do livro... 17 Parte I Introdução... 19 Capítulo 1 Fundamentos da infra-estrutura de chave pública... 21 Introdução à ICP... 21 Serviços oferecidos

Leia mais

Segurança da Informação

Segurança da Informação INF-108 Segurança da Informação ICP e Certificados Digitais Prof. João Henrique Kleinschmidt Santo André, junho de 2013 Criptografia de chave pública Oferece criptografia e também uma maneira de identificar

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

WatchKey. WatchKey USB PKI Token. Versão Windows. Manual de Instalação e Operação

WatchKey. WatchKey USB PKI Token. Versão Windows. Manual de Instalação e Operação WatchKey WatchKey USB PKI Token Manual de Instalação e Operação Versão Windows Copyright 2011 Watchdata Technologies. Todos os direitos reservados. É expressamente proibido copiar e distribuir o conteúdo

Leia mais

COMENTÁRIOS DA PROVA CAIXA ECONÔMICA FEDERAL - SP

COMENTÁRIOS DA PROVA CAIXA ECONÔMICA FEDERAL - SP Olá pessoal, Tivemos neste último domingo (09/05/2010) a aplicação da prova da CEF para a região de SP e RJ, uma prova que todo resto Pais aguarda ansiosamente os comentários, já que servirá de base para

Leia mais

Criptografia e Certificação Digital

Criptografia e Certificação Digital Criptografia e Certificação Digital Conheça os nossos produtos em criptografia e certificação digital. Um deles irá atender às necessidades de sua instituição. Criptografia e Certificação Digital Conheça

Leia mais

fonte: http://www.nit10.com.br/dicas_tutoriais_ver.php?id=68&pg=0

fonte: http://www.nit10.com.br/dicas_tutoriais_ver.php?id=68&pg=0 Entenda o que é um certificado digital SSL (OPENSSL) fonte: http://www.nit10.com.br/dicas_tutoriais_ver.php?id=68&pg=0 1. O que é "Certificado Digital"? É um documento criptografado que contém informações

Leia mais

3. ( ) Para evitar a contaminação de um arquivo por vírus, é suficiente salvá-lo com a opção de compactação.

3. ( ) Para evitar a contaminação de um arquivo por vírus, é suficiente salvá-lo com a opção de compactação. 1. Com relação a segurança da informação, assinale a opção correta. a) O princípio da privacidade diz respeito à garantia de que um agente não consiga negar falsamente um ato ou documento de sua autoria.

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

CERTIFICAÇÃO DIGITAL

CERTIFICAÇÃO DIGITAL Autenticidade Digital CERTIFICAÇÃO DIGITAL Certificação Digital 1 Políticas de Segurança Regras que baseiam toda a confiança em um determinado sistema; Dizem o que precisamos e o que não precisamos proteger;

Leia mais

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações Prof. Fernando Augusto Teixeira 1 2 Agenda da Disciplina Certificado Digital e suas aplicações Segurança Criptografia Simétrica

Leia mais

Entendendo a Certificação Digital

Entendendo a Certificação Digital Entendendo a Certificação Digital Novembro 2010 1 Sumário 1. Introdução... 3 2. O que é certificação digital?... 3 3. Como funciona a certificação digital?... 3 6. Obtendo certificados digitais... 6 8.

Leia mais

Diveo Exchange OWA 2007

Diveo Exchange OWA 2007 Diveo Exchange OWA 2007 Manual do Usuário v.1.0 Autor: Cícero Renato G. Souza Revisão: Antonio Carlos de Jesus Sistemas & IT Introdução... 4 Introdução ao Outlook Web Access 2007... 4 Quais são as funcionalidades

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

BrOffice Módulo 01 ÍNDICE

BrOffice Módulo 01 ÍNDICE ÍNDICE Vídeo 01: Introdução ao BrOffice Vídeo 02: Componentes Vídeo 03: Outras funções Vídeo 04: Formato de arquivo Vídeo 05: Uso Vídeo 06: Multiplataforma Vídeo 07: Conhecendo a interface Vídeo 08: Experimentando

Leia mais

Sistema operacional Windows 7, Windows Live Mail e Adobe Reader. Sistemas operacionais em concursos públicos

Sistema operacional Windows 7, Windows Live Mail e Adobe Reader. Sistemas operacionais em concursos públicos Sistema operacional Windows 7, Windows Live Mail e Adobe Reader Sistemas operacionais em concursos públicos Antes de tudo é importante relembrarmos que o sistema operacional é um tipo de software com a

Leia mais

O QUE É CERTIFICAÇÃO DIGITAL?

O QUE É CERTIFICAÇÃO DIGITAL? O QUE É CERTIFICAÇÃO DIGITAL? Os computadores e a Internet são largamente utilizados para o processamento de dados e para a troca de mensagens e documentos entre cidadãos, governo e empresas. No entanto,

Leia mais

Criptografia de chaves públicas

Criptografia de chaves públicas Marcelo Augusto Rauh Schmitt Maio de 2001 RNP/REF/0236 Criptografia 2001 RNP de chaves públicas Criptografia Introdução Conceito É a transformação de um texto original em um texto ininteligível (texto

Leia mais

Guia de Introdução ao Windows SharePoint Services

Guia de Introdução ao Windows SharePoint Services Guia de Introdução ao Windows SharePoint Services - Windows SharePoint Services... Page 1 of 11 Windows SharePoint Services Guia de Introdução ao Windows SharePoint Services Ocultar tudo O Microsoft Windows

Leia mais

UM ESTUDO SOBRE CERTIFICADOS DIGITAIS COMO SOLUÇÃO DE SEGURANÇA DA INFORMAÇÃO

UM ESTUDO SOBRE CERTIFICADOS DIGITAIS COMO SOLUÇÃO DE SEGURANÇA DA INFORMAÇÃO UM ESTUDO SOBRE CERTIFICADOS DIGITAIS COMO SOLUÇÃO DE SEGURANÇA DA INFORMAÇÃO Emerson Henrique Soares Silva Prof. Ms. Rodrigo Almeida dos Santos Associação Paraibana de Ensino Renovado - ASPER Coordenação

Leia mais

Informe 2015. Foxit PDF Security Suite Integrado com o Serviço de Gerenciamento de Direitos do Microsoft Active Directory

Informe 2015. Foxit PDF Security Suite Integrado com o Serviço de Gerenciamento de Direitos do Microsoft Active Directory Informe 2015 Foxit PDF Security Suite Integrado com o Serviço de Gerenciamento de Direitos do Microsoft Active Directory Sumário Introdução... 3 Ambientes do Foxit PDF Security Suite... 4 Aplicar políticas

Leia mais

Guia de Inicialização para o Windows

Guia de Inicialização para o Windows Intralinks VIA Versão 2.0 Guia de Inicialização para o Windows Suporte 24/7/365 da Intralinks EUA: +1 212 543 7800 Reino Unido: +44 (0) 20 7623 8500 Consulte a página de logon da Intralinks para obter

Leia mais

www.e-law.net.com.br certificação digital 1 de 5 Introdução

www.e-law.net.com.br certificação digital 1 de 5 Introdução www.e-law.net.com.br certificação digital 1 de 5 Introdução Cada pessoa cria sua assinatura de forma totalmente livre e a utiliza com significado de expressa concordância com os conteúdos dos documentos

Leia mais

INFORMÁTICA PROF. RAFAEL ARAÚJO

INFORMÁTICA PROF. RAFAEL ARAÚJO INFORMÁTICA PROF. RAFAEL ARAÚJO CERTIFICADO DIGITAL O certificado digital é um arquivo eletrônico que contém dados de uma pessoa ou instituição, utilizados para comprovar sua identidade. Este arquivo pode

Leia mais

Tudo que você precisa saber sobre Criptografia

Tudo que você precisa saber sobre Criptografia Tudo que você precisa saber sobre Criptografia...e tinha medo de perguntar Criptografia vem do grego e significa escrita escondida. Bem, ainda não temos a tecnologia dos filmes de fantasia onde um pergaminho

Leia mais

Flex. MANUAL DE USO DA FERRAMENTA FLEX O Flex como gerenciador de conteúdo

Flex. MANUAL DE USO DA FERRAMENTA FLEX O Flex como gerenciador de conteúdo 2011 MANUAL DE USO DA FERRAMENTA FLEX O Flex como gerenciador de conteúdo Aprenda como é simples utilizar a ferramenta Flex como seu gerenciador de conteúdo online. Flex Desenvolvido pela ExpandWEB 31/01/2011

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

Segurança da Informação

Segurança da Informação INF-108 Segurança da Informação Criptografia assimétrica Prof. João Henrique Kleinschmidt Santo André, junho de 2013 Problema de distribuição de chaves A criptografia de chave simétrica pode manter seguros

Leia mais

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux 1. De que forma é possível alterar a ordem dos dispositivos nos quais o computador procura, ao ser ligado, pelo sistema operacional para ser carregado? a. ( ) Instalando um programa gerenciador de carregamento,

Leia mais

APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS

APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS 3.INTERNET 3.1. Internet: recursos e pesquisas 3.2. Conhecendo a Web 3.3. O que é um navegador?

Leia mais

Usando o Adobe Acrobat X para aumentar a colaboração com o Microsoft SharePoint e o Microsoft Office

Usando o Adobe Acrobat X para aumentar a colaboração com o Microsoft SharePoint e o Microsoft Office Usando o Adobe Acrobat X para aumentar a colaboração com o Microsoft SharePoint e o Microsoft Office Acelere os ciclos de revisão de projetos, integrando os fluxos de trabalho para o SharePoint e plataforma

Leia mais

TEORIA GERAL DE SISTEMAS

TEORIA GERAL DE SISTEMAS TEORIA GERAL DE SISTEMAS Vulnerabilidade dos sistemas e uso indevido Vulnerabilidade do software Softwares comerciais contém falhas que criam vulnerabilidades na segurança Bugs escondidos (defeitos no

Leia mais

Oficial de Justiça 2014. Informática Questões AULA 3

Oficial de Justiça 2014. Informática Questões AULA 3 Oficial de Justiça 2014 Informática Questões AULA 3 - Conceitos básicos de Certificação Digital - Sistema Operacional: Microsoft Windows 7 Professional (32 e 64-bits) operações com arquivos; configurações;

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

Segurança da Informação e Proteção ao Conhecimento. Douglas Farias Cordeiro

Segurança da Informação e Proteção ao Conhecimento. Douglas Farias Cordeiro Segurança da Informação e Proteção ao Conhecimento Douglas Farias Cordeiro Criptografia Revisando A criptografia trata da escrita de um texto em códigos de forma a torná-lo incompreensível; A informação

Leia mais

Introdução Microsoft PowerPoint 2013 apresentações Office PowerPoint 2013 Microsoft PowerPoint 2013 textos planilhas Excel Word

Introdução Microsoft PowerPoint 2013 apresentações Office PowerPoint 2013 Microsoft PowerPoint 2013 textos planilhas Excel Word PowerPoint 2013 Sumário Introdução... 1 Iniciando o PowerPoint 2013... 2 Criando Nova Apresentação... 10 Inserindo Novo Slide... 13 Formatando Slides... 15 Inserindo Imagem e Clip-art... 16 Inserindo Formas...

Leia mais

Google Apps para o Office 365 para empresas

Google Apps para o Office 365 para empresas Google Apps para o Office 365 para empresas Faça a migração O Office 365 para empresas tem uma aparência diferente do Google Apps, de modo que, ao entrar, você poderá obter esta exibição para começar.

Leia mais

PADRÕES PARA O DESENVOLVIMENTO NA WEB

PADRÕES PARA O DESENVOLVIMENTO NA WEB PADRÕES PARA O DESENVOLVIMENTO NA WEB Ederson dos Santos Cordeiro de Oliveira 1,Tiago Bonetti Piperno 1, Ricardo Germano 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR- Brasil edersonlikers@gmail.com,

Leia mais

Visão geral do Microsoft Office Word 2007. Crie conteúdo com aparência profissional

Visão geral do Microsoft Office Word 2007. Crie conteúdo com aparência profissional Visão geral do Microsoft Office Word 2007 Bem vindo ao Microsoft Office Word 2007, incluído na versão 2007 do Microsoft Office system. O Office Word 2007 é um poderoso programa de criação de documentos

Leia mais

Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula

Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula Aula 1 Capítulo 1 - Introdução ao Dreamweaver CS6 Aula 2 Continuação do Capítulo 1 - Introdução ao Dreamweaver CS6 Aula 3 Capítulo 2 - Site do Dreamweaver

Leia mais

Criptografia Digital. Prof. Flávio Humberto Cabral Nunes

Criptografia Digital. Prof. Flávio Humberto Cabral Nunes Criptografia Digital Prof. Flávio Humberto Cabral Nunes Conteúdo 1. Introdução 2. Aplicações 3. Criptografia e seus Conceitos 4. Tipos de Criptografia em Relação ao Uso de Chaves 5. Autenticação Comum

Leia mais

DOMÍNIO PRODUTIVO DA INFORMÁTICA - CONCURSO BB 2015 -

DOMÍNIO PRODUTIVO DA INFORMÁTICA - CONCURSO BB 2015 - DOMÍNIO PRODUTIVO DA INFORMÁTICA - CONCURSO - Professor Esp. Wellington de Oliveira Graduação em Ciência da Computação Pós-Graduação em Docência do Ensino Superior Pós-Graduação MBA em Gerenciamento de

Leia mais

Potenciais de Aplicação da Metodologia AJAX

Potenciais de Aplicação da Metodologia AJAX SEGeT Simpósio de Excelência em Gestão e Tecnologia 1 Potenciais de Aplicação da Metodologia AJAX Bruno Simões Kleverson Pereira Marcos Santos Eduardo Barrere Associação Educacional Dom Bosco - AEDB RESUMO

Leia mais

Referências. Criptografia e Segurança de Dados. Outras Referências. Alguns tipos de ataques. Alguns tipos de ataques. Alguns tipos de ataques

Referências. Criptografia e Segurança de Dados. Outras Referências. Alguns tipos de ataques. Alguns tipos de ataques. Alguns tipos de ataques Criptografia e Segurança de Dados Aula 1: Introdução à Criptografia Referências Criptografia em Software e Hardware Autores: Edward D. Moreno Fábio D. Pereira Rodolfo B. Chiaramonte Rodolfo Barros Chiaramonte

Leia mais

INFRA-ESTRUTURA EM CHAVES PÚBLICAS TEMPORAL

INFRA-ESTRUTURA EM CHAVES PÚBLICAS TEMPORAL UNIVERSIDADE FEDERAL DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Geovani Ferreira da Cruz Guilherme Steinmann INFRA-ESTRUTURA EM CHAVES PÚBLICAS TEMPORAL Florianópolis, fevereiro de 2007 INFRA-ESTRUTURA

Leia mais

PRnet/2013. Linguagem de Programação Web

PRnet/2013. Linguagem de Programação Web Linguagem de Programação Web Linguagem de Programação Web Prnet/2013 Linguagem de Programação Web» Programas navegadores» Tipos de URL» Protocolos: HTTP, TCP/IP» Hipertextos (páginas WEB)» HTML, XHTML»

Leia mais

CSF Designer Intuition SOLUÇÕES DE OUTPUT FIS

CSF Designer Intuition SOLUÇÕES DE OUTPUT FIS SOLUÇÕES DE OUTPUT FIS O CSF Designer Intuition TM da FIS ajuda organizações que lidam com o cliente a criar, de forma instantânea e interativa, documentos comerciais respeitando as regulações vigentes,

Leia mais

Temas para a Primeira Avalição

Temas para a Primeira Avalição Temas 1. Envio de E-Mail Anônimo Quando um usuário deseja enviar uma mensagem de correio eletrônico pela Internet, ele utiliza um programa cliente Simple Mail Transfer Protocol (SMTP), tal como o Thunderbird,

Leia mais

ATA - Exercícios Informática Carlos Viana. 2012 Copyright. Curso Agora eu Passo - Todos os direitos reservados ao autor.

ATA - Exercícios Informática Carlos Viana. 2012 Copyright. Curso Agora eu Passo - Todos os direitos reservados ao autor. ATA - Exercícios Informática Carlos Viana 2012 Copyright. Curso Agora eu Passo - Todos os direitos reservados ao autor. ATA EXERCÍCIOS CARLOS VIANA 01 -Existem vários tipos de vírus de computadores, dentre

Leia mais

HTML5 E SUAS NOVIDADES

HTML5 E SUAS NOVIDADES HTML5 E SUAS NOVIDADES Gabrie Dalla Porta 1, Julio César Pereira 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil gabrieldallap@gmail.com, juliocesarp@gmail.com Resumo: Este artigo apresenta uma

Leia mais

Lista de Exercício: PARTE 1

Lista de Exercício: PARTE 1 Lista de Exercício: PARTE 1 1. Questão (Cód.:10750) (sem.:2a) de 0,50 O protocolo da camada de aplicação, responsável pelo recebimento de mensagens eletrônicas é: ( ) IP ( ) TCP ( ) POP Cadastrada por:

Leia mais

Desenvolvimento e disponibilização de Conteúdos para a Internet

Desenvolvimento e disponibilização de Conteúdos para a Internet Desenvolvimento e disponibilização de Conteúdos para a Internet Por Matheus Orion Principais tecnologias front-end HTML CSS JAVASCRIPT AJAX JQUERY FLASH JAVA APPLET Linguagens que executam no cliente HTML

Leia mais

Assinatura Digital: problema

Assinatura Digital: problema Assinatura Digital Assinatura Digital Assinatura Digital: problema A autenticidade de muitos documentos, é determinada pela presença de uma assinatura autorizada. Para que os sistemas de mensagens computacionais

Leia mais

Segurança da Informação. Criptografia, protocolos seguros e suas aplicações

Segurança da Informação. Criptografia, protocolos seguros e suas aplicações Segurança da Informação Criptografia, protocolos seguros e suas aplicações Criptografia Serviços Oferecidos Serviços Disponibilidade Integridade Controle de acesso Autenticidade da origem Não-repudiação

Leia mais

Apostila. Noções Básicas de Certificação Digital (Aula 2)

Apostila. Noções Básicas de Certificação Digital (Aula 2) Apostila Noções Básicas de Certificação Digital (Aula 2) Diretoria de Pessoas (DPE) Departamento de Gestão de Carreira (DECR) Divisão de Gestão de Treinamento e Desenvolvimento (DIGT) Coordenação Geral

Leia mais

Certidão Online Manual do Usuário

Certidão Online Manual do Usuário JUNTA COMERCIAL DO ESTADO DO RIO DE JANEIRO Certidão Online Manual do Usuário Versão 3.1 Lista de Tópicos - Navegação Rápida CADASTRANDO O USUÁRIO... 3 ACESSANDO O SISTEMA... 5 CERTIDAO SIMPLIFICADA NADA

Leia mais

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 02 IMPLANTAÇÃO DE 1 (UM)

Leia mais

Segurança de Redes. Criptografia. Requisitos da seg. da informação. Garantir que a informação seja legível somente por pessoas autorizadas

Segurança de Redes. Criptografia. Requisitos da seg. da informação. Garantir que a informação seja legível somente por pessoas autorizadas Segurança de Redes Criptografia Prof. Rodrigo Rocha rodrigor@santanna.g12.br Requisitos da seg. da informação Confidencialidade Garantir que a informação seja legível somente por pessoas autorizadas Integridade

Leia mais

GT ICP-EDU Uma Infra-estrutura de Chaves Públicas para o Âmbito Acadêmico

GT ICP-EDU Uma Infra-estrutura de Chaves Públicas para o Âmbito Acadêmico GT ICP-EDU Uma Infra-estrutura de Chaves Públicas para o Âmbito Acadêmico Ricardo Felipe Custódio, Jeroen van de Graaf e Ricardo Dahab Julho de 2003 Este documento tem como objetivo descrever o projeto

Leia mais

EDI Definição, funcionamento Benefícios Categorias de EDI Pontos chaves (EDI/ XML) XML (Extensible Markup Language) HTML e XML

EDI Definição, funcionamento Benefícios Categorias de EDI Pontos chaves (EDI/ XML) XML (Extensible Markup Language) HTML e XML Tecnologia da Administração O que veremos? EDI Definição, funcionamento Benefícios Categorias de EDI Pontos chaves (EDI/ XML) XML (Extensible Markup Language) HTML e XML Sintaxe Edifact (ONU) EDI For Administration

Leia mais

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível Versão 1.0 Janeiro de 2011 Xerox Phaser 3635MFP 2011 Xerox Corporation. XEROX e XEROX e Design são marcas da Xerox Corporation nos Estados Unidos e/ou em outros países. São feitas alterações periodicamente

Leia mais

A WEB COMO PLATAFORMA Revolução do HTML5

A WEB COMO PLATAFORMA Revolução do HTML5 A WEB COMO PLATAFORMA Revolução do HTML5 Juliano Flores Prof. Lucas Plautz Prestes Centro Universitário Leonardo da Vinci - UNIASSELVI Gestão de TI (GTI034) 06/11/2012 RESUMO Escrever programas de computador,

Leia mais

ASSINATURAS DIGITAIS NO OPENOFFICE.ORG

ASSINATURAS DIGITAIS NO OPENOFFICE.ORG Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 5, JUL/DEZ 2008 ASSINATURAS DIGITAIS NO OPENOFFICE.ORG Flávio Alexandre

Leia mais

Consulte a parte de trás para obter informações sobre instalação rápida.

Consulte a parte de trás para obter informações sobre instalação rápida. Guia do Usuário Consulte a parte de trás para obter informações sobre instalação rápida. Protegemos mais usuários contra ameaças on-line do que qualquer outra empresa no mundo. Cuidar de nosso meio ambiente,

Leia mais

Violin Tours Management

Violin Tours Management vtm Violin Tours Management Violin Tours Management tm vviolin Tours Management Visão Geral Bem-vindo ao Violin Tours Management, uma aplicação completa para que você automatize canais de relacionamento,

Leia mais

Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML

Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML Acadêmico: Leonardo Chagas D Ippolito Orientador: Prof. Marcel Hugo Blumenau, Dezembro de 2004

Leia mais

ANDRÉ ALENCAR 1 INFORMÁTICA INTERNET EXPLORER 9

ANDRÉ ALENCAR 1 INFORMÁTICA INTERNET EXPLORER 9 ANDRÉ ALENCAR 1 INFORMÁTICA INTERNET EXPLORER 9 1. JANELA PADRÃO Importante: O Internet Explorer não pode ser instalado no Windows XP. 2. INTERFACE MINIMALISTA Seguindo uma tendência já adotada por outros

Leia mais

www.projetoderedes.com.br Gestão da Segurança da Informação Professor: Maurício AULA 06 Criptografia e Esteganografia

www.projetoderedes.com.br Gestão da Segurança da Informação Professor: Maurício AULA 06 Criptografia e Esteganografia Gestão da Segurança da Informação Professor: Maurício Criptografia A forma mais utilizada para prover a segurança em pontos vulneráveis de uma rede de computadores é a utilização da criptografia. A criptografia

Leia mais

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme Aula 1 Desenvolvimento Web Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme Plano de Aula Ementa Avaliação Ementa Noções sobre Internet. HTML

Leia mais

Manual WordPress. Conteúdo Índice. Capítulo 1 Introdução. Capítulo 2 Conceitos básicos do Painel. Capítulo 3 Gerenciamento de Posts ( Artigos)

Manual WordPress. Conteúdo Índice. Capítulo 1 Introdução. Capítulo 2 Conceitos básicos do Painel. Capítulo 3 Gerenciamento de Posts ( Artigos) Manual WordPress Conteúdo Índice Capítulo 1 Introdução Sobre o WordPress Características principais Capítulo 2 Conceitos básicos do Painel Logando no Painel de Controle Alterando Usuário e Senha Painel

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

UNIVERSIDADE FEDERAL DA PARAÍBA PRÓ REITORIA DE EXTENSÃO E ASSUNTOS COMUNITÁRIOS

UNIVERSIDADE FEDERAL DA PARAÍBA PRÓ REITORIA DE EXTENSÃO E ASSUNTOS COMUNITÁRIOS UNIVERSIDADE FEDERAL DA PARAÍBA PRÓ REITORIA DE EXTENSÃO E ASSUNTOS COMUNITÁRIOS INCUBADORA DE EMPREENDIMENTOS SOLIDÁRIOS PROJETO TELECENTROS COMUNITÁRIOS SOFTWARE DE APRESENTAÇÃO POWER POINT IMPRESS PREZI

Leia mais

SENAI São Lourenço do Oeste. Introdução à Informática. Adinan Southier Soares

SENAI São Lourenço do Oeste. Introdução à Informática. Adinan Southier Soares SENAI São Lourenço do Oeste Introdução à Informática Adinan Southier Soares Informações Gerais Objetivos: Introduzir os conceitos básicos da Informática e instruir os alunos com ferramentas computacionais

Leia mais

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com.

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com. IntroduçãoàTecnologiaWeb FerramentaseTecnologiasde DesenvolvimentoWeb ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br FerramentaseTecnologiasde DesenvolvimentoWeb

Leia mais

Criptografia assimétrica e certificação digital

Criptografia assimétrica e certificação digital Criptografia assimétrica e certificação digital Alunas: Bianca Souza Bruna serra Introdução Desenvolvimento Conclusão Bibliografia Introdução Este trabalho apresenta os principais conceitos envolvendo

Leia mais

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU Auditoria e Segurança da Informação GSI536 Prof. Rodrigo Sanches Miani FACOM/UFU Revisão Criptografia de chave simétrica; Criptografia de chave pública; Modelo híbrido de criptografia. Criptografia Definições

Leia mais

Excel 2010 Modulo II

Excel 2010 Modulo II Excel 2010 Modulo II Sumário Nomeando intervalos de células... 1 Classificação e filtro de dados... 3 Subtotais... 6 Validação e auditoria de dados... 8 Validação e auditoria de dados... 9 Cenários...

Leia mais

OpenOffice.org é uma suíte de aplicativos para escritório livres multiplataforma, sendo distribuída para Microsoft Windows, Unix, Solaris, Linux e

OpenOffice.org é uma suíte de aplicativos para escritório livres multiplataforma, sendo distribuída para Microsoft Windows, Unix, Solaris, Linux e MS OFFICE BR OFFICE Prof. Amílcar de Abreu BROFFICE OpenOffice.org é uma suíte de aplicativos para escritório livres multiplataforma, sendo distribuída para Microsoft Windows, Unix, Solaris, Linux e Mac

Leia mais

Guia de Início Rápido

Guia de Início Rápido Guia de Início Rápido O Microsoft Excel 2013 parece diferente das versões anteriores, por isso criamos este guia para ajudar você a minimizar a curva de aprendizado. Adicionar comandos à Barra de Ferramentas

Leia mais

Estamos seguros mesmo?

Estamos seguros mesmo? Grupo de Resposta a Incidentes de Segurança GRIS Departamento de Ciência da Computação Universidade Federal do Rio de Janeiro Segurança em WebMessengers: Meebo Estamos seguros mesmo? Por: Manoel Fernando

Leia mais

POLÍTICA DE CERTIFICADO DA SERASA AUTORIDADE CERTIFICADORA GLOBAL PARA CERTIFICADOS DE SERVIDOR

POLÍTICA DE CERTIFICADO DA SERASA AUTORIDADE CERTIFICADORA GLOBAL PARA CERTIFICADOS DE SERVIDOR POLÍTICA DE CERTIFICADO DA SERASA AUTORIDADE CERTIFICADORA GLOBAL PARA CERTIFICADOS DE SERVIDOR (PC SERASA AC GLOBAL) Autor: Serasa S.A. Edição: 20/01/2009 Versão: 1.3 1 INTRODUÇÃO 1.1 Visão Geral Esta

Leia mais

INFORMÁTICA PROF. RENATO DA COSTA

INFORMÁTICA PROF. RENATO DA COSTA CONTEÚDO PROGRAMÁTICO FCC 2012 NOÇÕES DE : 1 Conceitos de Internet e intranet. 2 Conceitos básicos e modos de utilização de tecnologias, ferramentas, aplicativos e procedimentos associados à Internet e

Leia mais

INFRA-ESTRUTURA EM CHAVES PÚBLICAS TEMPORAL

INFRA-ESTRUTURA EM CHAVES PÚBLICAS TEMPORAL UNIVERSIDADE FEDERAL DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Geovani Ferreira da Cruz Guilherme Steinmann INFRA-ESTRUTURA EM CHAVES PÚBLICAS TEMPORAL Florianópolis, julho de 2007 Resumo

Leia mais

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64 direcionados por comportamento 64 5 Estudo de caso Neste capítulo serão apresentadas as aplicações web utilizadas na aplicação da abordagem proposta, bem como a tecnologia em que foram desenvolvidas, o

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Março de 2004 ISBN: 972-8426-81-X Depósito legal: 207877/04

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Março de 2004 ISBN: 972-8426-81-X Depósito legal: 207877/04 Reservados todos os direitos por Centro Atlântico, Lda. Qualquer reprodução, incluindo fotocópia, só pode ser feita com autorização expressa dos editores da obra. Adobe Reader 6 Colecção: Software obrigatório

Leia mais

CRIPFTOGRAFIA ASSIMÉTRICA DE IMAGENS UTILIZANDO ALGORITMO RSA

CRIPFTOGRAFIA ASSIMÉTRICA DE IMAGENS UTILIZANDO ALGORITMO RSA CRIPFTOGRAFIA ASSIMÉTRICA DE IMAGENS UTILIZANDO ALGORITMO RSA Bruno da Silva *, Humberto Pessoa Almeida *, Cintia Carvalho Oliveira e Daniele Carvalho Oliveira * Universidade de Uberaba Engenharia de Computação,

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais