За последние 24 часа нас посетили 16108 программистов и 1666 роботов. Сейчас ищут 875 программистов ...

шифрование пхп скрипта - нужны идеи.

Тема в разделе "Прочие вопросы по PHP", создана пользователем orfelin, 28 мар 2014.

  1. orfelin

    orfelin Активный пользователь

    С нами с:
    3 мар 2011
    Сообщения:
    36
    Симпатии:
    0
    камрадесы, подскажите с реализацией.
    будет на портале платежный модуль через который оператор системы сможет свершить транзакцию реальными деньгами. Произведя перевод с кошелька К1 на кошелек К2 некой суммы денег N

    каждый оператор будет иметь свой собственный ключ в настоящий момент не важно какой RSA или AES или еще что то асимметричное.

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

    В момент свершении платежа передается ключ оператора которым налету расшифровывается скрипт ( естественно без сохранения на диск сервера ), проводится транзакция и скрипт уничтожается из памяти - на диске остается только зашифрованная копия.

    Считаем что дамп памяти сервера в этот момент снимать никто не бует :)

    подскажите есть ли готовые решения платные или не очень на данную тему и если нет то с какой стороны копать?
    модуль пхп свой писать по иее не проблема
     
  2. maxycwebber

    maxycwebber Новичок

    С нами с:
    25 мар 2014
    Сообщения:
    263
    Симпатии:
    11
    Адрес:
    Gdansk
    php-cpp

    Добавлено спустя 18 секунд:
    gcc
     
  3. orfelin

    orfelin Активный пользователь

    С нами с:
    3 мар 2011
    Сообщения:
    36
    Симпатии:
    0
    пхп экстеншен все таки хотелось бы на крайний случай.
    в первую очередь интересует готовое решение пусть даже сильно платное
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    кодировщики кода php это не новость. конечно используются какие-то ключи (лицензии). в чем новизна? вы хотите ключ раздавать клиентам, так чтоли?

    Добавлено спустя 12 минут 20 секунд:
    imho, если некий ключ передается, админ сумеет его перехватить полюбому. это man is the middle, только он в конечной точке находится ) все козыри на руках.

    шифрование именно кода ничуть не лучше шифрования данных, с которыми код работает. при наличии ключа можно открыть и то и это.
     
  5. orfelin

    orfelin Активный пользователь

    С нами с:
    3 мар 2011
    Сообщения:
    36
    Симпатии:
    0
    да. условно говоря прогер пишет код я в коде меняю сигнатуру которой подписывается транзакция и соль. после чего шифрую скрипт и выкладываю для работы на сайт.
    никто не знает соль и сигнатуру для подписи транзакции.
    более того для каждого клиента ( а их будет не более сотни ) я могу индивидуально пошифровать скрипт.

    ну вы имеете ввиду что админ может подставить левый SSL сертификат и читать трафик?
    да такая возможность есть но она менее опасна чем скрипт лежащий на диске к которому человек 15 имеют доступ а потенциально ( если сервер хакнут ) то и неограниченный круг лиц

    предполагается что ключ только у одного человека - оператора :)
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    не совсем так, это просто аналогия. подлинный сертификат SSL даст сам сервер. а злоумышленник (админ) сидит за фаерволом. он из уже расшифрованного трафика возьмет ваш ключ и будет его использовать для своих транзакций.

    Добавлено спустя 5 минут 30 секунд:
    конечно не только админ. злоумышленник, сумевший залить шелл или еще как-то получивший доступ к телу.

    я хочу сказать, что шифрование кода возможно немного поднимает планку, но серебряной пулей не станет. если где-то есть бэкдор, система не защищена.
     
  7. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Давайте вдумаемся в задание
    Для реализации этого алгоритма, никаких специальных средств не нужно. Алгоритм ведь элементарен:
    Код (PHP):
    1. <?php
    2. $client = $_REQUEST['client'];
    3. $key = $_REQUEST['key'];
    4. $super_encrypted_php_script = file_get_contents("$client.crypted");
    5. $php = decrypt($super_encrypted_php_script, $key); // функция расшифровки любого алгоритма
    6. eval($php); // Б И Н Г О!  
    или я чего-то не понял? пхп-скрипт как любой другой файл можно зашифровать чем угодно. Потом прочитать скриптом - обработчиком запроса, расшифровать принятым ключем и выполнить в eval().
    В целях наилучшей защищенности, всё это должно храниться на зашифрованном разделе, а руководитель должен быть единственным root'ом.
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    [vs], как минимум еще веб-сервер (php-fcgi) будет иметь доступ к этому зашифрованному разделу. т.е. любой скрипт :)

    Добавлено спустя 12 минут 26 секунд:
    это обычное заблуждение. например людям кажется, что для получения доступа надо подобрать или расшифровать пароль. а на самом деле достаточно предъявить тот идентификатор, которым пользуется привелегированный пользователь. типа сворованную куку или что-то аналогичное.
    злоумышленнику незачем знать из каких исходных данных получен этот идентификатор.

    админ сможет перехватить уже расшифрованных траффик — значит сможет всё. программист, который над этим секретным процессингом будет сайт строить, сможет. и бойфренд оператора сможет :)
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    а там не должно быть никаких лишних скриптов. Только зашифрованные экземпляры и обработчик, и отдельный веб-сервер.
    В общем если контора серьезная, то ей следует озаботится независимым аудитом, а на сотрудников возложить ответственность за распространение пароля от их учеток (халатность). Аудитор не имеет доступа к данным, только к событиям в системе. Кстати, как это делают в банках? )
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    В банках аудит делают. Больше добавить нечего )))