Interface de Programação de Aplicações de Serviços de Segurança Gerais


Esta seção visa apresentar brevemente a interface de programação de aplicações de serviços de segurança gerais, também conhecida por GSSAPI (do inglês General Security Services Application Program Interface), com objetivo de esclarecer o uso de Kerberos 5 como modo de segurança no NFS versão 4.


A GSSAPI é uma interface que permite desenvolvedores escreverem aplicações que aproveitam mecanismos de segurança tais como Kerberos, sem ter de programar explicitamente para qualquer mecanismo, ou seja, aplicações genéricas do ponto de vista de segurança. Programas que usam GSSAPI são, deste modo, altamente portáteis, não somente de uma plataforma para outra, mas de uma configuração de segurança a outra e de um protocolo de transporte a outro. A GSSAPI fornece vários níveis de proteção de dados, consistentes com os mecanismos de segurança subjacentes. A figura a seguir ilustra a GSSAPI em termos de camadas.



A característica definitiva de aplicações GSSAPI é o intercâmbio de mensagens opacas, também conhecidas por tokens, que ocultam detalhes de implementação de aplicações de nível mais alto. Os lados cliente e servidor da aplicação são escritos para transmitir as mensagens dadas a eles por suas respectivas implementações GSSAPI. Mensagens GSSAPI podem ser enviadas por redes inseguras, tendo-se em vista que os mecanismos garantem segurança das mensagens.


Em termos gerais, a GSSAPI realiza duas tarefas principais:


- ela cria um contexto de segurança no qual dados podem ser passados com segurança entre aplicações. Um contexto pode ser imaginado como um tipo de "estado de confiança" entre duas aplicações. Aplicações que compartilham um contexto têm consciência uma de outra e assim permitem transferência de dados entre elas. Uma vez que um contexto de segurança é estabelecido, mensagens das aplicações podem ser criptografados pela GSSAPI para comunicação segura entre cliente e servidor;


- ela aplica um ou mais tipos de proteção, conhecidos como serviços de segurança, aos dados a serem transmitidos. Os serviços de segurança podem ser autenticação, integridade e confidencialidade, dependendo do mecanismo subjacente.


Camada RPCSEC_GSS


Programadores que empregam chamada de procedimento remoto, ou RPC (do inglês Remote Procedure Call), em suas aplicações de rede, podem usar RPCSEC_GSS para obter segurança. RPCSEC_GSS é uma camada separada situada no topo da GSSAPI; ela provê toda a funcionalidade da GSSAPI de forma adaptada ao RPC. Na verdade, ela oculta do programador muitos aspectos da GSSAPI, fazendo a segurança RPC especialmente acessível e portátil.



Anterior: 3 - Aplicações