Pergunta  
 
Rede de conhecimento computador >> Pergunta >> senhas >> Content
Como você pode colocar uma senha no Matlab?
Você não pode criar diretamente um verdadeiro arquivo "protegido por senha" no MATLAB, que é tão robusto quanto um sistema de criptografia dedicado. O MATLAB não possui funções de criptografia de senha integrada que atendem aos padrões de segurança. No entanto, você pode implementar alguns controles básicos de acesso baseados em senha. Aqui estão algumas abordagens, variando de simples (facilmente ignoradas) a mais envolvidas:

1. Prompt de senha simples (não segura):

Esta é a mais fácil de implementar, mas praticamente não oferece segurança. Ele simplesmente solicita uma senha, compara -a a uma string codificada e concede acesso se eles correspondem.

`` `Matlab
função my_script

% Defina a senha (não armazene senhas confidenciais diretamente no código)
corretoPassword ='mySecretPassword';

% Prompt para a senha
userpassword =input ('digite a senha:', 's');

% Verifique se a senha corresponde
Se strcmp (userpassword, corretopassword)
disp ('acesso concedido!');

% Seu código a ser executado se a senha estiver correta, vai aqui
disp ('este é o código protegido.');

outro
disp ('senha incorreta. Acesso negado.');
fim

fim
`` `

Explicação:

* `input ('digite a senha:', 's')` solicita o usuário a inserir o texto e o armazena em `userPassword`. O argumento `'s'` indica` input` para tratar a entrada como uma string.
* `STRCMP (UserPassword, corretoPassword)` Compara a senha inserida com a senha codificada.
* Com base na comparação, o acesso é concedido ou negado.

Questões de segurança:

* Senha codificada: A senha é um texto simples no código, tornando trivial encontrar. Qualquer pessoa que possa ler o arquivo `.m` conhece a senha.
* Sem criptografia: O código em si não está protegido.

2. Senha armazenada como um valor de hash (um pouco melhor, mas ainda fraco):

Essa abordagem é marginalmente melhor porque armazena um hash da senha, em vez da senha de texto simples. No entanto, as funções de hash do MATLAB não foram projetadas para uma segurança forte e podem ser quebradas.

`` `Matlab
função my_script_hashed

% Gere o hash da senha (faça isso apenas uma vez e salve o hash)
% Nunca armazene a senha real.
% Exemplo usando uma função básica de hash (não para produção):
corretoPasswordHash =DataHash ('mySecretPassword', 'md5'); % Substitua por um hash mais moderno
% Em um aplicativo real, você salvaria 'CorrectPasswordHash' em um arquivo.

% Para fins de demonstração, nós apenas o codificamos aqui (más práticas):
CorrectPasswordHash ='e5b6460f9578c6382f2c4d0f28d4e9f7';

% Prompt para a senha
userpassword =input ('digite a senha:', 's');

% Hash a senha inserida pelo usuário
userpasswordhash =datahash (userpassword, 'md5'); % Use a mesma função de hash

% Verifique se as hashes correspondem
Se STRCMP (UserPasswordHash, CorrectPasswordHash)
disp ('acesso concedido!');

% Seu código protegido vai aqui
disp ('este é o código protegido.');
outro
disp ('senha incorreta. Acesso negado.');
fim

fim
`` `

Explicação:

* `Datahash ('mySecretPassword', 'md5')` calcula o hash md5 da senha. md5 é considerado quebrado e não deve ser usado para nenhum aplicativo sensível. Você normalmente faria isso apenas uma vez para gerar o hash e armazenar o hash.
* `DataHash (UserPassword, 'MD5')` Calcula o hash do MD5 da senha inserida do usuário.
* O código compara os dois hashes.

Questões de segurança:

* Função de hash fraca: MD5 (e SHA-1) são suscetíveis a ataques de colisão, facilitando a localização de uma senha diferente que gera o mesmo hash. SHA-256 ou SHA-3 devem ser usados. No entanto, o Datahash suporta apenas funções fracas de hash.
* o hash de Matlab é inseguro: As funções de hash embutidas do Matlab não são criptograficamente seguras. Eles não foram projetados para resistir aos ataques.
* ainda vulnerável: Um invasor determinado poderia potencialmente engenharia reversa do hash ou usar um ataque de mesa de arco-íris.

3. Criptografia externa (mais segura):

Esta é a abordagem recomendada se você precisar de segurança real. Envolve o uso de ferramentas de criptografia externa (fora do MATLAB) para criptografar os dados ou todo o script do MATLAB.

* criptografar todo o script do MATLAB: Use um programa de criptografia dedicado (por exemplo, 7-ZIP com proteção de senha) para criptografar o arquivo `.m`. O usuário precisaria descriptografar o script antes de executá -lo no MATLAB. Isso protege todo o código.
* Criptografar arquivos de dados sensíveis: Se você precisar proteger apenas determinados arquivos de dados usados ​​pelo seu script MATLAB, poderá usar ferramentas de criptografia externa para criptografar esses arquivos. Seu script do MATLAB precisaria descriptografar os arquivos antes de usar os dados e re-criptografar após o uso.

Exemplo (usando 7-ZIP na linha de comando):

`` `BASH

para criptografar my_script.m com senha "mySecretPassword" (substitua por uma senha forte):


7z a -pmysecretpassword my_script.7z my_script.m

para descriptografar:


7z x my_script.7z -pmysecretpassword
`` `

Você pode ligar para esses comandos do MATLAB usando o comando `System`, mas ainda precisará do usuário inserir a senha manualmente em um aplicativo externo.

código MATLAB para executar um aplicativo externo:

`` `Matlab
função my_encrypted_script

% Solicite ao usuário a descriptografar o arquivo (usando uma ferramenta externa)

EncryptedFile ='my_script.7z';
descriptograffile ='my_script.m';

% Peça ao usuário que descriptografasse o arquivo e pressione Enter para continuar
entrada (['por favor descriptografar o arquivo "' EncryptedFile '" para "DecryptedFile'" e pressione Enter:'],' s ');

% Agora executa o script descriptografado
correr (descriptografarefile);

fim
`` `

Questões de segurança:

* conta com ferramenta externa: A segurança depende inteiramente da força do algoritmo de criptografia e da implementação da ferramenta externa que você usa.
* Gerenciamento de chave: Gerenciar com segurança a chave de criptografia é crucial. Não armazene a senha no script do MATLAB.

4. Usando um executável do MATLAB compilado com proteção de licença (melhor para produtos comerciais, mas caro):

Essa abordagem envolve a compilação do seu código MATLAB em um executável independente e usando o compilador MATLAB para proteger o código com uma licença. Isso ajuda a impedir a distribuição e o uso não autorizados do seu aplicativo.

* Compilar com o Matlab Compiler: Compile o script do MATLAB em um arquivo executável (.exe).
* Proteção à licença: Use o Matlab Compiler para adicionar proteção de licença ao executável. Isso pode restringir o acesso ao aplicativo com base em uma chave de licença.

Considerações de segurança:

* OBFUSCAÇÃO, NÃO CRIPTIÇÃO: O compilador Matlab ofusca o código, mas não o criptografa. Um engenheiro reverso qualificado ainda pode extrair o código, mas isso torna significativamente mais difícil.
* Custo: O Matlab Compiler é um produto separado que requer uma licença.

Resumo e recomendações:

* Não confie nas funções de hash embutidas do Matlab para segurança. Eles não foram projetados para esse fim.
* Se você precisar de controle básico de acesso (por exemplo, para evitar o uso indevido acidental), o prompt de senha simples pode ser suficiente. No entanto, esteja ciente de suas limitações.
* Para qualquer segurança real, use uma ferramenta de criptografia externa para criptografar o script ou arquivos de dados do MATLAB. Esta é a abordagem recomendada.
* Se você estiver desenvolvendo um aplicativo comercial do MATLAB, considere usar o compilador MATLAB com proteção de licença para um nível mais alto de segurança contra uso não autorizado.

Práticas importantes de segurança:

* Senhas fortes: Use senhas fortes e aleatórias (pelo menos 12 caracteres, com uma mistura de maiúsculas, minúsculas, números e símbolos).
* Gerenciamento de chave segura: Armazene as chaves de criptografia com segurança. Não os codifique no script do MATLAB. Use variáveis ​​de ambiente, arquivos de configuração ou sistemas de gerenciamento de chaves dedicados.
* Princípio do menor privilégio: Dê aos usuários apenas as permissões necessárias para executar suas tarefas.
* auditorias de segurança regulares: Revise suas práticas de segurança regularmente e atualize -as conforme necessário.
* Mantenha o software atualizado: Mantenha sua instalação do MATLAB e quaisquer ferramentas de criptografia externa atualizadas com os mais recentes patches de segurança.

Lembre -se de escolher o método que melhor equilibra suas necessidades de segurança com a complexidade de implementação e custo. Se você estiver lidando com dados verdadeiramente sensíveis, consulte um especialista em segurança. O conselho aqui fornece um ponto de partida, mas a segurança é um campo complexo e em evolução.

Anterior :

Próximo :
  Os artigos relacionados
·Como você usa bloqueios? 
·Como você pode criar senha no registro 7.2? 
·Senha é outro nome para email? 
·O que deve usar um mínimo de proteção de senha para …
·Verdadeiro ou falso A senha de inicialização armazena…
·Como proteger pastas com senha no Mac? 
·Digite a senha necessária para obter acesso ao Oscar -…
·O que são senhas não alfanuméricas? 
·Existe alguma maneira de armazenar uma senha ou arquivo…
·Qual seria a senha se eles sugerissem comuns. 
  Artigos em destaque
·Como UNERASE um arquivo 
·Como alterar macros no MyFitnessPal 
·Como você se livra de um vírus de redirecionamento - …
·Como ativar o Nero para Auto Start 
·Quais são as vantagens e desvantagens do navegador? 
·Por que os computadores recebem o erro 404 o tempo todo…
·O que você faz se os gorgulhos da lixeira pensam ter o…
·Como você converte arquivos XCSE? 
·Como converter arquivos para iPod Audio 
·Como fazer recuperação dos dados após falha do disco…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados