Recursos de segurança da aplicação

Algumas famílias de controladores da HI Tecnologia (NEON e P7C) incorporam uma funcionalidade que permite à aplicação configurar quais recursos podem ser acessados via comunicação quando a aplicação estiver ativa. Esta funcionalidade permite que a aplicação corrente defina se um usuário externo (via comunicação) pode ou não executar determinadas ações no equipamento.

As ações possíveis de serem executadas são organizadas em 15 grupos, indicados na tabela a seguir:

GRUPO

FUNÇÃO DO GRUPO

AÇÕES INCLUSAS

0

Modificar aplicação

1

Depurar aplicação

2

Ler base exportada

Ler variáveis globais via comunicação

3

Escrever na base exportada

Escrever variáveis globais via comunicação

4

Ler base local

Ler variáveis de sistema

5

Escrever na base local

Escrever variáveis de sistema

6

Ler base dos módulos de IO

  • Acessar calibração dos módulos de IO

  • Acessar configuração dos módulos de IO

  • Leitura da base de parâmetros de fábrica

7

Escrever base dos módulos de IO

  • Alterar configuração dos módulos de IO

  • Alterar calibração dos módulos de IO

  • Recupera base de calibração default do módulo

  • Define a base de calibração de fábrica do módulo

8

Ler base de setup de comunicação

Lê base de setup corrente do equipamento

9

Escrever base de setup de comunicação

  • Escreve base de setup no equipamento

  • Recupera parâmetros de fábrica

10

Resetar equipamento

Reinicializa equipamento

11

Programar RTC

  • Sincroniza relógio (Programa RTC do equipamento)

  • Time zone local (Define o fuso horário)

12

Carregar Firmware

13

Carregar bootloader

Atualiza bootloader

14

Acessar o Sistema de arquivo

Sistema de arquivo CTRL + F6

Ver também

Estão disponíveis na Biblioteca HI_STD dois tipos de dados enumeradores que permitem a definição de flags associados aos grupos e atributos de segurança, para mais informações acesse:

O HIstudio disponibiliza na biblioteca Biblioteca HI_STD quatro funções que podem ser utilizadas pelo programa de aplicação para definir quais dos grupos acima estarão bloqueados caso um acesso remoto ao controlador seja realizado.

Dica

Para conhecer melhor o recurso e suas funcionalidades acesse o vídeo tutorial: Recurso de segurança da aplicação.

Atributos de segurança da aplicação

A cada um dos grupos, o bloqueio de acesso via comunicação pode-se associar um atributo que irá definir o comportamento do grupo. Estes atributos estão disponíveis na tabela a seguir:

Atributo

Descrição

0

Grupo sem restrição de segurança

1

Grupo com restrição de segurança liberada por senha

3

Grupo com restrição de segurança sem liberação por senha

Atributo 0: mantém o recurso de comunicação sem restrição de acesso, sendo esta a condição default para o programa de aplicação que não utilizar este recurso.

Atributo 1: será bloqueado qualquer comando de comunicação associado ao grupo especificado. Na tentativa de comunicação o mestre que enviou o comando irá obter o código de retorno de “Comando recusado por restrições de segurança” (HILS.CO_CMD_DENIED).

  • Nesta condição um usuário poderá ativar o comando Libera recursos de segurança disponível no HIstudio e especificar a senha definida pela aplicação para desbloquear o recurso novamente.

  • Quando os grupos de segurança forem liberados através de senha cabe à aplicação reabilitar o recurso de bloqueio novamente quando pertinente. Para mais informações sobre este conteúdo consulte: Identificando desbloqueio por senha.

Atributo 3: será bloqueado qualquer comando de comunicação associado ao grupo especificado. Na tentativa de comunicação o mestre que enviou o comando irá obter o código de retorno de “Comando recusado por restrições de segurança” (HILS.CO_CMD_DENIED).

  • Neste caso, a especificação da senha de liberação não terá efeito sobre o grupo, ou seja, quando utilizado o atributo 3 para bloquear um grupo apenas a aplicação poderá liberar este recurso novamente, logo não é possível utilizar a liberação por senha.

Nota

As funções SET_SECURITY_ATB e SET_SECURITY_GRP podem ser utilizadas pela aplicação para definir o atributo desejado para qualquer um dos grupos válidos.

A função GET_SECURITY_ATB é utilizada pela aplicação para obter o valor corrente do atributo associado a um grupo qualquer.

Para definir um mesmo atributo de segurança para vários grupos você pode utilizar a função SET_SECURITY_GRP.


Senha de liberação dos recursos de comunicação

A aplicação corrente pode definir uma senha numérica (1.. 65535) que, quando especificada corretamente, utilizando o HIstudio, permite desbloquear todos os recursos de segurança definidos.

Importante

A função SET_SECURITY_PSW pode ser utilizada pela aplicação para definir a senha de desbloqueio a ser utilizada. Esta senha pode ser alterada dinamicamente pela aplicação caso necessário e passa a ser válida imediatamente após a sua definição.

Além disso, remove as restrições de segurança de todos os grupos existentes. Portanto, esta função é também utilizada para resetar os grupos para condição default (sem restrição de acesso).

Identificando desbloqueio por senha

Podem existir situações onde a aplicação pode necessitar saber se a senha de segurança da aplicação foi especificada por algum sistema remoto e portanto a aplicação está rodando com os recursos desbloqueados.

Para obter esta informação basta a aplicação chamar a função GET_SECURITY_ATB em um grupo qualquer que esteja programado com bloqueio com liberação por senha (ATB = 1). Nesta condição, enquanto a aplicação estiver bloqueada, o valor retornado do atributo será igual a 1. Quando um acesso remoto liberar a senha, a aplicação irá ler este valor igual a zero, indicando que o recurso está liberado para acesso remoto. Note que, nesta condição, todos os grupos que foram programados com bloqueio via senha estarão liberados.

Dica

Quando for identificado o desbloqueio dos flags de segurança a aplicação pode, por exemplo, ativar um timer para reprogramar os flags após um período de tempo.