Segurança de dados do HomeKit
Os dados do HomeKit podem ser atualizados com segurança entre os dispositivos iOS, iPadOS e macOS de um usuário através do iCloud e das chaves do iCloud. Durante esse processo, os dados do HomeKit são criptografados com chaves derivadas da identidade HomeKit do usuário e um nonce aleatório, sendo gerenciados como um grande objeto binário opaco, ou bolha. A bolha mais recente é armazenada no iCloud, mas ela não é usada para nenhum outro propósito. Como os dados são criptografados usando chaves disponíveis apenas nos dispositivos iOS, iPadOS e macOS do usuário, seu conteúdo se torna inacessível durante a transmissão e o armazenamento no iCloud.
Os dados do HomeKit também são sincronizados entre os vários usuários da mesma casa. Esse processo usa a mesma autenticação e criptografia usadas entre um dispositivo iOS, iPadOS e macOS e um acessório HomeKit. A autenticação é baseada em chaves públicas Ed25519, que são trocadas entre os dispositivos quando um usuário é adicionado a uma casa. Depois que um novo usuário é adicionado a uma casa, todas as comunicações posteriores são autenticadas e criptografadas usando o protocolo Station-to-Station e chaves únicas por sessão.
O usuário que criou a casa no HomeKit inicialmente ou outro usuário com permissões de edição pode adicionar novos usuários. O dispositivo do proprietário configura os acessórios com a chave pública do novo usuário para que os acessórios possam autenticar e aceitar comandos do novo usuário. Quando um usuário com permissões de edição adiciona um novo usuário, o processo é delegado a uma central da casa para concluir a operação.
HomeKit e Apple TV
O processo de autorização da Apple TV para uso com o HomeKit é realizado automaticamente quando o usuário inicia a sessão no iCloud. A autenticação de dois fatores deve estar ativada na conta do iCloud. A Apple TV e o dispositivo do proprietário trocam chaves públicas Ed25519 temporárias através do iCloud. Quando o dispositivo do usuário e a Apple TV estão na mesma rede local, as chaves temporárias são usadas para garantir uma conexão através da rede local usando o protocolo Station-to-Station e chaves únicas por sessão. Esse processo usa a mesma autenticação e criptografia usadas entre um dispositivo iOS, iPadOS e macOS e um acessório HomeKit. Por meio dessa conexão local segura, o dispositivo do proprietário transfere os pares de chaves públicas-privadas Ed25519 do usuário para a Apple TV. Essas chaves são então usadas para dar segurança à comunicação entre a Apple TV e os acessórios HomeKit e também entre a Apple TV e outros dispositivos iOS, iPadOS e macOS que façam parte da casa com HomeKit.
Se um usuário não tiver vários dispositivos e não conceder acesso a usuários adicionais em sua casa, nenhum dado do HomeKit é transmitido para o iCloud.
App e dados da casa
O acesso aos dados da casa por apps é controlado pelos ajustes de Privacidade do usuário. Os usuários são solicitados a conceder acesso quando os apps solicitam dados da casa, de maneira semelhante aos apps Contatos, Fotos e outras fontes de dados do iOS, iPadOS e macOS. Se o usuário aprovar, os apps terão acesso aos nomes dos cômodos e acessórios, em qual quarto cada acessório se encontra e outras informações, conforme detalhado na documentação do desenvolvedor do HomeKit em https://developer.apple.com/homekit/ (em inglês).
Armazenamento de dados locais
O HomeKit armazena os dados de casas, acessórios, cenas e usuários em um dispositivo iOS, iPadOS e macOS do usuário. Os dados armazenados são criptografados usando chaves derivadas das chaves de identidade HomeKit do usuário em conjunto com um nonce aleatório. Além disso, os dados do HomeKit são armazenados usando a classe de Proteção de Dados “Protegido Até a Primeira Autenticação do Usuário”. O backup de dados do HomeKit é feito apenas em backups criptografados, portanto, por exemplo, backups não criptografados feitos no Finder (macOS 10.15 ou posterior) ou iTunes (no macOS 10.14 ou anterior) via USB não contêm dados do HomeKit.