
libsrtp v2.8.1
Biblioteca para SRTP (Secure Realtime Transport Protocol)
Introdução ao libSRTP
Este pacote fornece uma implementação do Protocolo de Transporte em Tempo Real Seguro (SRTP), da Transformação de Segurança Universal (UST) e de um núcleo criptográfico de suporte. A API do SRTP é documentada em include/srtp.h, e a biblioteca está em libsrtp2.a (após a compilação).
Este documento descreve o libSRTP, a biblioteca Open Source Secure RTP da Cisco Systems, Inc. RTP é o Protocolo de Transporte em Tempo Real, um padrão IETF para o transporte de dados em tempo real, como telefonia, áudio e vídeo, definido pelo RFC 3550. O Secure RTP (SRTP) é um perfil RTP que fornece confidencialidade aos dados RTP e autenticação ao cabeçalho e à carga útil do RTP. O SRTP é um padrão IETF, definido no RFC 3711, e foi desenvolvido no Grupo de Trabalho de Transporte de Áudio/Vídeo (AVT) da IETF. Esta biblioteca suporta todos os recursos obrigatórios do SRTP, mas não todos os recursos opcionais. Consulte a seção Recursos Suportados para obter informações mais detalhadas.
Este documento também é usado para gerar os arquivos de documentação na pasta /doc/, onde uma referência mais detalhada à API do libSRTP e às funções relacionadas pode ser criada (requer a instalação do doxygen.). O material de referência é criado automaticamente a partir de comentários embutidos em alguns dos arquivos de cabeçalho C. A documentação é organizada em módulos para melhorar sua clareza. Esses módulos não correspondem diretamente a arquivos. Um núcleo criptográfico subjacente fornece grande parte da funcionalidade básica do libSRTP, mas é em grande parte não documentado porque faz seu trabalho nos bastidores.
Contato
-
[email protected] lista de e-mails geral para notícias / anúncios / discussões. Esta é uma lista aberta; consulte https://lists.packetizer.com/mailman/listinfo/libsrtp para se inscrever.
-
[email protected] para divulgar problemas de segurança à equipe de manutenção do libsrtp. Esta é uma lista fechada, mas qualquer pessoa pode enviar mensagens para ela.
Conteúdo
- Introdução ao libSRTP
- Contato
- Licença e Aviso Legal
- Visão Geral do libSRTP
- Instalando e Compilando o libSRTP
- Aplicações
- Créditos
- Referências
Licença e Aviso Legal
O libSRTP é distribuído sob a seguinte licença, que está incluída na distribuição do código-fonte. Ela é reproduzida no manual no caso de você ter obtido a biblioteca de outra fonte.
Copyright (c) 2001-2017 Cisco Systems, Inc. Todos os direitos reservados.
A redistribuição e o uso, em formato de código-fonte e binário, com ou sem modificação, são permitidos desde que as seguintes condições sejam atendidas:
- As redistribuições do código-fonte devem manter o aviso de direitos autorais acima, esta lista de condições e o aviso legal a seguir.
- As redistribuições em formato binário devem reproduzir o aviso de direitos autorais acima, esta lista de condições e o aviso legal a seguir na documentação e/ou em outros materiais fornecidos com a distribuição.
- Nem o nome da Cisco Systems, Inc. nem os nomes de seus contribuidores podem ser usados para endossar ou promover produtos derivados deste software sem permissão prévia específica por escrito.
ESTE SOFTWARE É FORNECIDO PELOS DETENTORES DOS DIREITOS AUTORAIS E CONTRIBUIDORES "COMO ESTÁ" E QUAISQUER GARANTIAS EXPRESSAS OU IMPLÍCITAS, INCLUINDO, MAS NÃO SE LIMITANDO A, AS GARANTIAS IMPLÍCITAS DE COMERCIABILIDADE E ADEQUAÇÃO A UM FIM ESPECÍFICO SÃO REJEITADAS. EM NENHUM CASO OS DETENTORES DOS DIREITOS AUTORAIS OU CONTRIBUIDORES SERÃO RESPONSÁVEIS POR QUAISQUER DANOS DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, EXEMPLARES OU CONSEQUENTES (INCLUINDO, MAS NÃO SE LIMITANDO A, AQUISIÇÃO DE BENS OU SERVIÇOS SUBSTITUTOS; PERDA DE USO, DADOS OU LUCROS; OU INTERRUPÇÃO DE NEGÓCIOS) INDEPENDENTEMENTE DA CAUSA E SOB QUALQUER TEORIA DE RESPONSABILIDADE, SEJA EM CONTRATO, RESPONSABILIDADE ESTRITA OU ATO ILÍCITO (INCLUINDO NEGLIGÊNCIA OU OUTROS), DECORRENTES DE QUALQUER FORMA DO USO DESTE SOFTWARE, MESMO SE AVISADO DA POSSIBILIDADE DE TAIS DANOS.
Visão Geral do libSRTP
O libSRTP fornece funções para proteger RTP e RTCP. Os pacotes RTP
podem ser criptografados e autenticados (usando a função srtp_protect()),
transformando-os em pacotes SRTP. Da mesma forma, os pacotes SRTP
podem ser descriptografados e ter sua autenticação verificada (usando a
função srtp_unprotect()), transformando-os em pacotes RTP. Funções
semelhantes aplicam segurança aos pacotes RTCP.
O typedef srtp_stream_t aponta para uma estrutura que contém todo o
estado associado a um fluxo SRTP, incluindo as chaves e os parâmetros
para as funções de cifra e autenticação de mensagem e os dados
anti-replay. Um srtp_stream_t específico contém as informações
necessárias para proteger um determinado fluxo RTP e RTCP. Esse tipo de dado
é intencionalmente opaco para separar melhor a API do libSRTP
de sua implementação.
Dentro de uma sessão SRTP, pode haver vários fluxos, cada um
originado de um remetente específico. Cada origem usa um contexto de fluxo
distinto para proteger o fluxo RTP e RTCP que está originando.
O typedef srtp_t aponta para uma estrutura que contém todo o
estado associado a uma sessão SRTP. Pode haver vários
contextos de fluxo associados a um único srtp_t. Um contexto de fluxo
não pode existir de forma independente de um srtp_t, embora, é claro, um srtp_t
possa ser criado contendo apenas um único contexto de fluxo. Um dispositivo
que participa de uma sessão SRTP deve ter um contexto de fluxo para cada
origem nessa sessão, para que possa processar os dados que
recebe de cada remetente.