Identidade e segurança do dispositivo
Pode implementar e gerir vários dispositivos de cada vez. A gestão de dispositivos baseia-se na capacidade de identificar e aceder a cada dispositivo individualmente, quando necessário. Para permitir que o faça, cada dispositivo do Azure Sphere recebe um ID de dispositivo interno exclusivo que persiste através de quaisquer atualizações ao dispositivo, incluindo operações de recuperação.
No entanto, nos sistemas digitais, o ID de um dispositivo pode ser facilmente falsificado, falsificado ou utilizado indevidamente. Como resultado, só deve permitir que os dispositivos cujas identidades possam ser verificadas e validadas acedam aos seus dados altamente valiosos e se liguem aos seus serviços.
O Azure Sphere fornece um processo para permitir que um dispositivo se identifique (autenticação) e confirme a identidade do dispositivo (atestado). O processo de autenticação e atestado utilizado pelo Serviço de Segurança do Azure Sphere utiliza chaves pré-conhecidas, comunicações seguras e hardware especializado para confirmar a identidade de um dispositivo. Se a autenticação e o atestado do dispositivo forem bem-sucedidos, será emitido um certificado para o dispositivo. Um certificado válido indica que:
- A identidade do dispositivo foi verificada.
- O dispositivo pode ser considerado fidedigno.
Com o Azure Sphere, os certificados de dispositivo são encadeados primeiro a um certificado ao nível do catálogo (facilitando que uma organização confie apenas em dispositivos dos seus próprios catálogos) e, em seguida, num certificado da Microsoft, que reflete que a Microsoft validou que este hardware é uma instância verificada de um chip certificado do Azure Sphere que está a executar um SO Microsoft seguro.
Os seguintes conceitos podem ajudar a utilizar a identidade do dispositivo das formas mais seguras e eficazes:
A confiança é transitória
A confiança num sistema pode ser perdida e pode ser recuperada. Um princípio de implementação Confiança Zero arquitetura num sistema IoT é verificar explicitamente. Isto significa que cada vez que tiver uma interação com um dispositivo, determine explicitamente a autenticidade do dispositivo e prove que a transação de dados é fidedigna. Os dispositivos do Azure Sphere executam automaticamente um processo de autenticação e atestado a cada 24 horas com os serviços de segurança na cloud do Azure Sphere. Uma indicação de que a identidade de um dispositivo foi verificada com êxito é a presença de um certificado assinado criptograficamente, enraizado no Serviço de Segurança na Cloud do Microsoft Azure Sphere.Identidade = identificadores + atestado
Os identificadores podem ser copiados e duplicados. Como resultado, um dispositivo não pode ser simplesmente conhecido pelo respetivo identificador. A identidade de um dispositivo (ou a identidade de um utilizador) tem de ser considerada uma combinação de um identificador e atestado de que tal identificador é válido num contexto específico. Não deve atribuir identificadores a dispositivos e utilizá-los independentemente do processo de atestado. Sempre que possível, combine identificadores com provas de atestado em todas as camadas de interação dentro dos seus sistemas.Identificadores + certificados de fidedignidade
Um identificador não deve ser considerado mais do que uma referência. Por si só, não se deve presumir que indique nada sobre a fiabilidade do objeto que referencia. Por exemplo, utilize um identificador para subscrever mensagens MQTT, utilizar um identificador para agrupar dados fidedignos num portal e utilizar identificadores para encaminhar o tráfego e os dados num sistema. No entanto, quando se trata de confiar, em vez de confiar no identificador, confie num certificado criptograficamente assinado e em cadeia. Os certificados são particularmente benéficos para o fluxo de dados sem palavra-passe entre componentes do sistema e são provas de identificação que foi testada e provada como fidedigna num contexto específico.
Ao utilizar Hub IoT do Azure, se configurados de acordo com as recomendações documentadas, estes conceitos já estão incorporados, o que simplifica a implementação de um sistema seguro e resiliente.
Também tem de aplicar estes conceitos ao ligar a pontos finais ou serviços não Azure que controla diretamente. Por exemplo, se utilizar mQTT, um dispositivo pode incluir a sua própria identidade como parte do tópico MQTT no qual publica. No entanto, antes de aceitar uma atualização de tópico do dispositivo, o servidor MQTT tem de verificar se o certificado fornecido pelo dispositivo o autentica para publicar neste tópico específico.
Certificado de dispositivo do Azure Sphere e acesso ao ID do dispositivo
Para aceder a um certificado de dispositivo na sua aplicação, utilize a função DeviceAuth_GetCertificatePath .
Para aceder ao ID de Dispositivo exclusivo do dispositivo, analise o assunto do certificado fornecido pela função DeviceAuth_GetCertificatePath() com a função wolfSSL_X509_get_subject_name .
O fragmento de código Obter O ID do Dispositivo do Azure Sphere demonstra como obter o ID do Dispositivo do Azure Sphere numa aplicação de alto nível. Devolve o ID do Dispositivo como uma memória intermédia de carateres de 128 carateres. Este fragmento ordena wolfSSL para abrir uma sessão com o certificado, solicitar o contexto e o certificado, analisar o ID do requerente do certificado que é o ID do Dispositivo para Dispositivos do Azure Sphere e devolvê-lo como um char
ponteiro.