Criptografia de data - página 2

 
Vitaly Muzichenko:



Entendo, eu não conhecia esse termo.

 
Alexey Volchanskiy:

Entendo, eu não conhecia esse termo.

Eu tenho um website, e há algo como comentários, então decidi anexar uma foto a cada um, para que fosse simples, nome da foto = e-mail.jpg

Para esconder o correio, passando por dois tipos diferentes de criptografia, a saída foi enviada na forma de "8e520945.jpg", este é meu e-mail "8e520945".

Não há como decifrá-la, para que não vaze para a rede.

 
Vitaly Muzichenko:

Eu tenho um website, e há algo como comentários, então decidi anexar uma foto a cada um, para que fosse simples, o nome da foto = e-mail.jpg

Para esconder o correio, passando por dois tipos diferentes de criptografia, a saída foi enviada na forma de "8e520945.jpg", este é meu e-mail "8e520945".

Não há como decifrá-la, para que não vaze para a rede.


E no site, qual é a decifração? É um VPS ou uma hospedagem regular?

 
Alexey Volchanskiy:

O que o site decifra? É um VPS ou uma hospedagem regular?

Da mesma forma que codificadas, as chaves estão apenas no módulo código -> decodificação, e não é realista obtê-las. É uma hospedagem regular.

 

Eu precisava amarrar o produto ao usuário, pensei por muito tempo e decidi simplificá-lo: o consultor vai ao site a cada 2-4 horas, lá verifica "licença", e se for válida por tempo, então continua a funcionar, se não = devolução.

Verificar: no site na base para o tempo do usuário é parafusado, se o tempo atual é menor, então a EA recebe o status "verdadeiro com chave", então escreve o tempo do terminal em uma variável global do terminal no formato unix, então a cada 2-4 horas ele vai para o site, e assim por diante em um círculo.

Por que eu escrevo para o terminal? Em caso de problemas de conectividade ou de hospedagem inoperante e se a EA não receber a resposta do site, ela leva o tempo da variável global e continua a trabalhar sem interrupção. Se não obteve uma resposta da terceira tentativa, ou recebeu "falso" - é bloqueado e funciona somente no modo de fechamento de posições, depois de tudo fechado ele abre = apagado. A proteção pode ser contornada, mas acho que é difícil, há uma cadeia de verificações para substituição de dados.

 
Vitaly Muzichenko:

Eu precisava amarrar o produto ao usuário, pensei por muito tempo e decidi simplificá-lo: o consultor vai ao site a cada 2-4 horas, lá verifica a "licença", e se ela for válida por tempo, então continua a funcionar, se não = devolução.

Verificar: no site na base para o tempo do usuário é parafusado, se o tempo atual é menor, então a EA recebe o status "verdadeiro com chave", então escreve o tempo do terminal em uma variável global do terminal no formato unix, então a cada 2-4 horas ele vai para o site, e assim por diante em um círculo.

Por que eu escrevo para o terminal? Em caso de problemas de conectividade ou falhas de hospedagem e se a EA não receber a resposta do site, ela leva o tempo da variável global e continua a trabalhar sem interrupção. Se não obteve uma resposta da terceira tentativa, ou recebeu "falso" - é bloqueado e funciona apenas no modo de fechamento de posições, depois de tudo fechado ele abre = apagado. A proteção pode ser possível de contornar, mas acho difícil, existe uma cadeia de verificações para substituição de dados.

Por que você precisa verificá-lo com tanta freqüência? Se um Expert Advisor já tiver verificado a data no servidor e armazená-la internamente, ele pode simplesmente atualizar a variável global periodicamente de acordo com um determinado algoritmo. Por que seria necessário voltar ao site?

 
Vitaly Muzichenko:

Da mesma forma que codificadas, as chaves estão apenas no módulo código -> decodificação, e não é realista obtê-las. É um serviço de hospedagem regular.


Você quer dizer como Java Script ou PHP?

 
Vladimir Pastushak:

Então a questão é: como você encripta a data para que se você mudar as cartas ou a ordem das cartas, a data não aumente?

Eu usaria "codificação de interferência". Grosso modo, eu escreveria a data no formato ulong usual, mas acrescentaria alguns caracteres de "cheque". Digamos, o restante da divisão por um número primo bastante grande (três dígitos).

Ao ler - nós lemos a data e os dígitos de verificação. Se eles não corresponderem, o arquivo foi adulterado. A probabilidade de alterar acidentalmente o arquivo para que não apenas a data, mas também os dígitos de verificação coincidam, é muito pequena (podemos usar um número primo de cinco dígitos em vez de um de três dígitos)

Na verdade, o arquivo pode até ter o formato INI, e conterá "data" - em texto simples, em formato de fácil leitura. Mais alguns campos (você provavelmente precisa de alguns ajustes), e entre eles o campo "cheque" - com um valor de "cheque". O resultado - o arquivo será fácil de ler, não haverá necessidade de decifrar a data e, ao mesmo tempo, qualquer alteração nele (e os caracteres de verificação podem ser calculados com base nos outros campos) - será imediatamente visível.

 
Alexey Volchanskiy:

É correto que a criptografia AES e DES oferecida pela MQ seja um padrão aberto? E as outras cifras que estão em uso também têm algoritmos abertos. Os caras do sigilo...

se um ladrão sabe que seu vizinho tem uma câmera e ela está apontada para sua porta, o ladrão entrará na porta? eu não acho, o mesmo vale para as cifras, você sabe como a criptografia já é feita pela metade.
isso é vida, você tem que saber essas coisas.

deixo a todos a decisão se a criptografia é racional ou não. qualquer proteção pode ser quebrada, mesmo super avançada, é uma questão de tempo de CPU. vale a pena colocar proteção em um EA? a resposta é não, um bom EA deve ganhar dinheiro no mercado para seu proprietário, e não trazer lucro na forma de uma licença por um mês ou ano.

Quanto aos algoritmos de criptografia de código aberto, não acho que alguém irá postar os códigos dos algoritmos do Ministério da Defesa ou de outras agências que criptografam seus dados.

Com os melhores cumprimentos
 
Vitaly Muzichenko:

Eu precisava amarrar o produto ao usuário, pensei por muito tempo e decidi simplificá-lo: o consultor vai ao site a cada 2-4 horas, lá verifica "licença", e se for válida por tempo, então continua a funcionar, se não = devolução.

Verificar: no site na base para o tempo do usuário é parafusado, se o tempo atual é menor, então a EA recebe o status "verdadeiro com chave", então escreve o tempo do terminal em uma variável global do terminal no formato unix, então a cada 2-4 horas ele vai para o site, e assim por diante em um círculo.

Por que eu escrevo para o terminal? Em caso de problemas de conectividade ou falhas de hospedagem e se a EA não receber a resposta do site, ela leva o tempo da variável global e continua a trabalhar sem interrupção. Se não obteve uma resposta da terceira tentativa, ou recebeu "falso" - é bloqueado e funciona apenas no modo de fechamento de posições, depois de tudo fechado ele abre = apagado. Pode ser possível contornar a proteção, mas acho que é difícil, há uma cadeia de verificações para substituição de dados.

É o mais racional, se você estiver lidando com o aluguel de Expert Advisors.


Cumprimentos.