ActionScript 3 - PHP отправляет данные через AMF (или любой другой) в зашифрованном виде - PullRequest
0 голосов
/ 31 августа 2011

Мне нужна помощь с двумя вещами:

  1. Рекомендации по алгоритму шифрования, который я могу использовать для кодирования данных на сервере, отправки их клиенту AS3 и декодирования там. Из того, что я прочитал, Public - Private Key звучит хорошо.

  2. Библиотека AS3, которая может кодировать и декодировать, совместимая с PHP bcrypt (опять же, я прочитал, что bcrypt лучше всего подходит для такого рода передачи данных).

Я не эксперт по безопасности, надеюсь, вопрос ясен и не коряв.

РЕДАКТИРОВАТЬ: Как предлагалось, SSL является отличным вариантом, но в настоящее время я ищу не-SSL.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 31 августа 2011

Какая у вас модель угрозы?Если вы беспокоитесь только о том, что люди прослушивают данные, пока они находятся в сети, тогда используйте SSL.Это будет прозрачно для вашего приложения, и, как правило, вам нужно только установить сертификат и изменить URL-адреса с http: // на https://

Если вашей основной угрозой является то, что кто-то запускает отладчик в приложении для сбора данныхтогда у вас возникнет гораздо большая проблема, и вряд ли вы когда-нибудь остановите "кражу" данных.

1 голос
/ 13 октября 2011

Рост @Marc B указывает на то, что SSL совершенно безопасен, но если вам абсолютно необходимо настраиваемое шифрование ...

Если сервер поддерживает mcrypt (большинство реализаций PHP поддерживают), тогда вы можете использоватьлюбой из методов шифрования, предоставляемых mcrypt (включая современные реализации AES, IDEA, TEA и т. д. и т. д. и т. д. (на самом деле это длинный список)).Однако сценарий php (разумеется) должен быть написан так, чтобы ожидать зашифрованные данные.

Проверьте http://php.net/manual/en/book.mcrypt.php для получения информации о реализации mcrypt в PHP.

РЕДАКТИРОВАТЬ: Быстрый дампиз print_r (mycrypt_list_algorithms ()) на почти стандартной коробке fedora с установленным php-mcrypt показывает ...

Array
(
    [0] => cast-128
    [1] => gost
    [2] => rijndael-128
    [3] => twofish
    [4] => arcfour
    [5] => cast-256
    [6] => loki97
    [7] => rijndael-192
    [8] => saferplus
    [9] => wake
    [10] => blowfish-compat
    [11] => des
    [12] => rijndael-256
    [13] => serpent
    [14] => xtea
    [15] => blowfish
    [16] => enigma
    [17] => rc2
    [18] => tripledes
)

rijndael - это AES.Некоторые из них лучше других по разным причинам, а некоторые просто мусор (как DES).

0 голосов
/ 13 октября 2011

Если вы не против того, чтобы кто-то использовал отладчик на стороне клиента, просто используйте библиотеку ActionScript, например as3crypto , в ней должно быть все необходимое для декодирования любых данных, отправляемых PHP.

Нет смысла беспокоиться о шифровании с открытым-закрытым ключом, потому что вам придется встраивать свой закрытый ключ в SWF-файл, делая его публичным.

...