Есть ли лучший способ реализовать шифрование в Flex 3 - PullRequest
2 голосов
/ 12 апреля 2011

у нас есть одно приложение, где мы извлекаем некоторую конфиденциальную информацию из одного из инструментов дизайна продукта.Таким образом, мы использовали HTTPS в качестве канала, а также шифруем параметры запроса и некоторые данные перед тем, как отправить их в веб-службы.Итак, все кажется нормальным.

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

Мы разработали это приложение с использованием Flex 3 (SDK 3.4).Есть ли лучший способ использовать секретный ключ без жесткого кодирования в исходном коде.Если кто-нибудь сталкивался с такой проблемой, пожалуйста, дайте мне знать.

Кто-нибудь, пожалуйста, предложите мне лучший способ использовать секретные ключи в SourceCode без жесткой кодировки.

Вот мой пример кода:

var currentResult:String = "";
        var strDataToEncrypt:String = "";
        var kdata:ByteArray;

        var todayDate:Date = new Date();

        kdata = Hex.toArray(Hex.fromString("secretKey here"));
        strDataToEncrypt =username.toUpperCase() + "#$#" + password + "#$#"  + todayDate.getTime().toString();          
        var data:ByteArray;
        data = Hex.toArray(Hex.fromString(strDataToEncrypt))
        var name:String = "des3-ecb";
        var pad:IPad = new PKCS5; 
        var mode:ICipher = Crypto.getCipher(name, kdata, pad);
        pad.setBlockSize(mode.getBlockSize());
        mode.encrypt(data);
        currentResult = Base64.encodeByteArray(data);
        var token:String = currentResult;

Ответы [ 2 ]

2 голосов
/ 12 апреля 2011

Нет такой вещи, как полная защита с помощью Flash. Ваши ключи должны быть либо в коде, либо загружены извне, и в какой-то момент любой, кто достаточно полон решимости, сможет получить их. Все, что вы можете сделать, это сделать этот процесс настолько сложным, что он не стоит хлопот.

Посмотрите на этот вопрос, как сделать исходный код сложнее для декомпиляции, и прочитайте: Как защитить SWF-файл от декомпиляции?

0 голосов
/ 12 апреля 2011

не отправляйте ваши данные в качестве параметров URL.отправьте его с помощью почтового запроса.

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

...