OSDP Crypto: A Revolução na Segurança de Sistemas de Controle de Acesso
Explore o protocolo OSDP Crypto, uma evolução do OSDP que adiciona criptografia robusta para proteger a comunicação em sistemas de controle de acesso (SCA). Descubra como ele garante a integridade e confidencialidade dos dados, superando as limitações do seu antecessor.
MundiX News·11 de julho de 2026·8 min de leitura·👁 1 views
Os Sistemas de Controle de Acesso (SCA) são onipresentes em nosso cotidiano, desde escritórios e residências até transportes públicos. Ao longo das décadas, esses sistemas passaram por uma significativa evolução. Neste artigo, mergulharemos em alguns aspectos cruciais da implementação de SCA utilizando o OSDP Crypto, um protocolo que eleva a segurança a um novo patamar.
Um breve olhar sobre a teoria revela que um SCA típico é composto por um leitor de identificadores (como cartões, chaveiros ou smartphones) e um controlador ao qual os leitores se conectam. O controlador é responsável por coletar e processar as informações recebidas dos leitores. Os primeiros leitores, surgidos no final dos anos 90, apresentavam uma variedade de interfaces de comunicação entre leitor e controlador. Dentre elas, o protocolo WIEGAND se destacou. O WIEGAND utiliza dois fios de sinal para transmitir lógica 0 ou 1, onde um fio baixo representa 0 e o outro fio baixo representa 1. Um nível alto em ambas as linhas indica uma pausa ou espera por um nível baixo. Embora o WIEGAND ofereça boa imunidade a ruídos, sua funcionalidade é limitada à leitura de dados, sem a capacidade de escrever informações no próprio leitor. A necessidade de gravar dados específicos no leitor, como chaves de acesso a cartões ou números de setores a serem lidos, impulsionou o desenvolvimento de um novo protocolo.
Assim nasceu o OSDP (Open Supervised Device Protocol), um protocolo de troca de dados baseado na interface física RS-485. Sua estrutura é semelhante ao conhecido protocolo MODBUS, amplamente utilizado na automação industrial. O OSDP opera com pacotes estruturados transmitidos e recebidos através de uma porta serial half-duplex. O modelo de comunicação é Master-Slave, onde o Master é chamado de Control Panel (CP) e o Slave é denominado Peripheral Device (PD). Os pacotes são delimitados por pausas temporais, cuja duração é um múltiplo do bit de parada da transmissão. Cada pacote OSDP contém campos essenciais como marcador de início, comando, comprimento do pacote, endereço de destino, dados e soma de verificação (checksum). Cada PD na linha possui um endereço único e é capaz de decodificar qualquer pacote, seja ele destinado a ele ou não. Um PD responderá a um pacote direcionado a ele, enquanto os demais aguardam sua vez. Além da leitura de dados, o OSDP permite a gravação de uma ampla gama de informações no leitor, incluindo arquivos de centenas de kilobytes. Uma única linha RS-485 pode conectar dezenas de dispositivos, que são consultados sequencialmente. A velocidade de comunicação geralmente utilizada é de 9600 baud, um compromisso entre tolerância à qualidade da linha e taxa de transferência. No entanto, com essa velocidade, mais de 8 dispositivos podem resultar em atrasos perceptíveis na resposta, especialmente em cenários com múltiplos usuários aguardando acesso.
O protocolo OSDP foi formalizado e amplamente adotado por fabricantes de equipamentos de SCA, tornando-se um padrão de mercado. Contudo, os pacotes transmitidos pela linha RS-485 não possuíam proteção intrínseca. Ao conectar um analisador à linha, era possível interceptar e analisar todo o tráfego, incluindo informações sensíveis como chaves de acesso a cartões, que jamais deveriam ser comprometidas. Para mitigar essa vulnerabilidade, surgiu a necessidade de criptografar a comunicação. A compatibilidade com dispositivos mais antigos, que não suportavam criptografia, foi um desafio crucial. A nova revisão do protocolo OSDP introduziu métodos para garantir essa retrocompatibilidade, resultando em um protocolo seguro e flexível.
Como funciona o OSDP Crypto
Em essência, o OSDP Crypto é significativamente mais complexo que o OSDP padrão. O processo inicia com o controlador (CP) consultando os dispositivos na linha para identificar quem está presente e quais suas capacidades. Através do comando CMD_ID, o CP recebe informações como fabricante, modelo, número de série, versão de software e hardware de cada dispositivo. Se o modelo indicar suporte à criptografia, o CP pode prosseguir para o estabelecimento de um canal seguro. Caso contrário, o CP solicita as capacidades do dispositivo via comando CMD_CAP, recebendo mais de uma dezena de parâmetros, incluindo o tamanho do buffer de comunicação e o suporte à criptografia.
Uma vez identificado um dispositivo compatível, o processo de estabelecimento do canal seguro se inicia. O CP envia um número aleatório ao leitor através do comando CMD_CHLNG. Em resposta, o leitor envia um pacote REPLY_CCRYPT contendo um ID de resposta, um número aleatório de resposta e uma criptograma. Essa criptograma é gerada utilizando um par de chaves temporárias, derivadas de uma chave fixa embarcada e informações únicas do dispositivo, como o ID Report e o número de série. Essa abordagem impede que padrões repetitivos em pacotes idênticos permitam a dedução das chaves.
Ambas as partes (CP e leitor) possuem o número aleatório enviado pelo CP. Ao receber a criptograma, o CP a decifra utilizando as chaves temporárias e compara o resultado com o número aleatório original. Se houver correspondência, confirma-se a identidade do dispositivo e a comunicação pode prosseguir. O passo final é a criação das chaves de sessão. O CP envia o comando CMD_SCRYPT, contendo uma criptograma de 16 bytes com outro número aleatório criptografado. O leitor calcula as chaves de sessão e envia uma parte de volta ao CP no pacote REPLY_RMAC_I (16 bytes). Com isso, o CP e o leitor possuem pares de chaves de sessão distintos para a comunicação em cada direção (CP→PD e PD→CP). Este processo de geração de chaves a partir de chaves existentes e números aleatórios é conhecido como diversificação de chaves, uma técnica comum em diversas áreas da segurança da informação para criar chaves temporárias e seguras para sessões específicas.
Com as chaves de sessão estabelecidas, a comunicação segura pode começar. Para comandos sem dados, onde a criptografia direta não é aplicável, um MAC (Message Authentication Code) de 4 bytes é gerado e incluído. Este MAC, calculado com base no conteúdo do pacote, garante a integridade dos dados e impede a sua substituição. Dispositivos mais simples, que não suportam OSDP Crypto, simplesmente ignorarão pacotes com MACs inválidos, demonstrando a retrocompatibilidade do protocolo.
A sessão segura é mantida até o seu tempo expirar. O CP pode solicitar uma nova troca de chaves periodicamente, ou o leitor pode responder com um NAK (Negative Acknowledgement) indicando que as chaves foram esquecidas, forçando uma nova negociação. Essa rotação frequente das chaves de sessão, por exemplo, a cada 10 minutos, dificulta significativamente a tentativa de quebrar a criptografia.
Em conclusão, o OSDP Crypto representa um avanço significativo na segurança de sistemas de controle de acesso. Ele aborda muitas das falhas do OSDP original que limitavam o desenvolvimento de métodos de identificação mais complexos, como biometria e autenticação via smartphone. A principal limitação remanescente é a velocidade de comunicação da linha RS-485. O carregamento de firmwares, por exemplo, pode ser um processo lento devido ao tamanho limitado dos pacotes de dados úteis. É provável que futuras implementações combinem o RS-485 com outros transportes, como UDP sobre IP (OSDP over IP/UDP), para otimizar a velocidade, mantendo o OSDP Crypto encapsulado dentro dos pacotes UDP para garantir a segurança. Esta tecnologia veio para ficar, moldando o futuro dos sistemas de controle de acesso seguros.
Tags: SCA, OSDP, OSDP Crypto, Criptografia, Segurança de Sistemas
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
Os Sistemas de Controle de Acesso (SCA) são onipresentes em nosso cotidiano, desde escritórios e residências até transportes públicos. Ao longo das décadas, esses sistemas passaram por uma significativa evolução. Neste artigo, mergulharemos em alguns aspectos cruciais da implementação de SCA utilizando o OSDP Crypto, um protocolo que eleva a segurança a um novo patamar.
Um breve olhar sobre a teoria revela que um SCA típico é composto por um leitor de identificadores (como cartões, chaveiros ou smartphones) e um controlador ao qual os leitores se conectam. O controlador é responsável por coletar e processar as informações recebidas dos leitores. Os primeiros leitores, surgidos no final dos anos 90, apresentavam uma variedade de interfaces de comunicação entre leitor e controlador. Dentre elas, o protocolo WIEGAND se destacou. O WIEGAND utiliza dois fios de sinal para transmitir lógica 0 ou 1, onde um fio baixo representa 0 e o outro fio baixo representa 1. Um nível alto em ambas as linhas indica uma pausa ou espera por um nível baixo. Embora o WIEGAND ofereça boa imunidade a ruídos, sua funcionalidade é limitada à leitura de dados, sem a capacidade de escrever informações no próprio leitor. A necessidade de gravar dados específicos no leitor, como chaves de acesso a cartões ou números de setores a serem lidos, impulsionou o desenvolvimento de um novo protocolo.
Assim nasceu o OSDP (Open Supervised Device Protocol), um protocolo de troca de dados baseado na interface física RS-485. Sua estrutura é semelhante ao conhecido protocolo MODBUS, amplamente utilizado na automação industrial. O OSDP opera com pacotes estruturados transmitidos e recebidos através de uma porta serial half-duplex. O modelo de comunicação é Master-Slave, onde o Master é chamado de Control Panel (CP) e o Slave é denominado Peripheral Device (PD). Os pacotes são delimitados por pausas temporais, cuja duração é um múltiplo do bit de parada da transmissão. Cada pacote OSDP contém campos essenciais como marcador de início, comando, comprimento do pacote, endereço de destino, dados e soma de verificação (checksum). Cada PD na linha possui um endereço único e é capaz de decodificar qualquer pacote, seja ele destinado a ele ou não. Um PD responderá a um pacote direcionado a ele, enquanto os demais aguardam sua vez. Além da leitura de dados, o OSDP permite a gravação de uma ampla gama de informações no leitor, incluindo arquivos de centenas de kilobytes. Uma única linha RS-485 pode conectar dezenas de dispositivos, que são consultados sequencialmente. A velocidade de comunicação geralmente utilizada é de 9600 baud, um compromisso entre tolerância à qualidade da linha e taxa de transferência. No entanto, com essa velocidade, mais de 8 dispositivos podem resultar em atrasos perceptíveis na resposta, especialmente em cenários com múltiplos usuários aguardando acesso.
O protocolo OSDP foi formalizado e amplamente adotado por fabricantes de equipamentos de SCA, tornando-se um padrão de mercado. Contudo, os pacotes transmitidos pela linha RS-485 não possuíam proteção intrínseca. Ao conectar um analisador à linha, era possível interceptar e analisar todo o tráfego, incluindo informações sensíveis como chaves de acesso a cartões, que jamais deveriam ser comprometidas. Para mitigar essa vulnerabilidade, surgiu a necessidade de criptografar a comunicação. A compatibilidade com dispositivos mais antigos, que não suportavam criptografia, foi um desafio crucial. A nova revisão do protocolo OSDP introduziu métodos para garantir essa retrocompatibilidade, resultando em um protocolo seguro e flexível.
Como funciona o OSDP Crypto
Em essência, o OSDP Crypto é significativamente mais complexo que o OSDP padrão. O processo inicia com o controlador (CP) consultando os dispositivos na linha para identificar quem está presente e quais suas capacidades. Através do comando CMD_ID, o CP recebe informações como fabricante, modelo, número de série, versão de software e hardware de cada dispositivo. Se o modelo indicar suporte à criptografia, o CP pode prosseguir para o estabelecimento de um canal seguro. Caso contrário, o CP solicita as capacidades do dispositivo via comando CMD_CAP, recebendo mais de uma dezena de parâmetros, incluindo o tamanho do buffer de comunicação e o suporte à criptografia.
Uma vez identificado um dispositivo compatível, o processo de estabelecimento do canal seguro se inicia. O CP envia um número aleatório ao leitor através do comando CMD_CHLNG. Em resposta, o leitor envia um pacote REPLY_CCRYPT contendo um ID de resposta, um número aleatório de resposta e uma criptograma. Essa criptograma é gerada utilizando um par de chaves temporárias, derivadas de uma chave fixa embarcada e informações únicas do dispositivo, como o ID Report e o número de série. Essa abordagem impede que padrões repetitivos em pacotes idênticos permitam a dedução das chaves.
Ambas as partes (CP e leitor) possuem o número aleatório enviado pelo CP. Ao receber a criptograma, o CP a decifra utilizando as chaves temporárias e compara o resultado com o número aleatório original. Se houver correspondência, confirma-se a identidade do dispositivo e a comunicação pode prosseguir. O passo final é a criação das chaves de sessão. O CP envia o comando CMD_SCRYPT, contendo uma criptograma de 16 bytes com outro número aleatório criptografado. O leitor calcula as chaves de sessão e envia uma parte de volta ao CP no pacote REPLY_RMAC_I (16 bytes). Com isso, o CP e o leitor possuem pares de chaves de sessão distintos para a comunicação em cada direção (CP→PD e PD→CP). Este processo de geração de chaves a partir de chaves existentes e números aleatórios é conhecido como diversificação de chaves, uma técnica comum em diversas áreas da segurança da informação para criar chaves temporárias e seguras para sessões específicas.
Com as chaves de sessão estabelecidas, a comunicação segura pode começar. Para comandos sem dados, onde a criptografia direta não é aplicável, um MAC (Message Authentication Code) de 4 bytes é gerado e incluído. Este MAC, calculado com base no conteúdo do pacote, garante a integridade dos dados e impede a sua substituição. Dispositivos mais simples, que não suportam OSDP Crypto, simplesmente ignorarão pacotes com MACs inválidos, demonstrando a retrocompatibilidade do protocolo.
A sessão segura é mantida até o seu tempo expirar. O CP pode solicitar uma nova troca de chaves periodicamente, ou o leitor pode responder com um NAK (Negative Acknowledgement) indicando que as chaves foram esquecidas, forçando uma nova negociação. Essa rotação frequente das chaves de sessão, por exemplo, a cada 10 minutos, dificulta significativamente a tentativa de quebrar a criptografia.
Em conclusão, o OSDP Crypto representa um avanço significativo na segurança de sistemas de controle de acesso. Ele aborda muitas das falhas do OSDP original que limitavam o desenvolvimento de métodos de identificação mais complexos, como biometria e autenticação via smartphone. A principal limitação remanescente é a velocidade de comunicação da linha RS-485. O carregamento de firmwares, por exemplo, pode ser um processo lento devido ao tamanho limitado dos pacotes de dados úteis. É provável que futuras implementações combinem o RS-485 com outros transportes, como UDP sobre IP (OSDP over IP/UDP), para otimizar a velocidade, mantendo o OSDP Crypto encapsulado dentro dos pacotes UDP para garantir a segurança. Esta tecnologia veio para ficar, moldando o futuro dos sistemas de controle de acesso seguros.
Tags: SCA, OSDP, OSDP Crypto, Criptografia, Segurança de Sistemas
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.