Как справиться с аутентификацией пользователя и неправомерными изменениями в языках сценариев?
-
21-09-2019 - |
Вопрос
Я строю централизованное настольное приложение с помощью Python/wxpython. Одним из требований является аутентификация пользователя, которую я пытаюсь реализовать с помощью LDAP (хотя это не обязательно).
Пользователи системы будут инженерами -механическими и электрическими инженерами, производящими бюджеты, и самой большой проблемой будет промышленный шпионаж. Это общая проблема, которая утечки обычно возникают снизу неформальными способами, и это может вызвать проблемы. Система настроена таким образом, что каждый пользователь имеет доступ ко всем и только той информации, в которой она нуждается, так что ни один человек, кроме людей, не имел денежной информации по всему проекту.
Проблема в том, что при каждом пути я могу думать, чтобы реализовать систему аутентификации, открытость Python заставляет меня думать, по крайней мере, один способ обхода/получения разумной информации из системы, потому что «компиляция» с py2exe
это ближе всего, я могу получить запутывание кода в Windows.
Я на самом деле не пытаюсь Спрятать Код, а скорее делает подпрограмму аутентификации безопасной само по себе, сделайте ее таким образом, что доступ к коду не означает возможности получить доступ к приложению. Одна вещь, которую я хотел добавить, было каким -то подписанием кода в подпрограмму доступа, поэтому пользователь может быть уверен, что он не запускает измененное клиентское приложение.
Один из способов избежать этого - это сделать C
Модуль для аутентификации, но я бы не должен был этого делать.
Конечно, этот вопрос сейчас меняется и не просто «может ли кто -нибудь указать мне правильное направление относительно того, как создать безопасную систему аутентификации, работающая на Python? (Python) против неправомерной модификации? "
Решение
Насколько вредны ваши пользователи? Действительно.
Насколько злонамеренно?
Если ваши пользователи являются злыми социопатами и нельзя доверять настольном решении, то тогда Не строить настольное решение. Анкет Создайте веб -сайт.
Если ваши пользователи являются обычными пользователями, они будут облагаться окружающей средой, установив вирусы, вредоносные программы и клавишеры с порно -сайтов, прежде чем они попытаются (а) изучить Python (b) Узнайте, как работает ваша безопасность, и (c) приложить искренние усилия в сломать это.
Если у вас действительно есть проблемы безопасности настольных компьютеров (т.е. общественная безопасность, военные и т. Д.), То переосмыслите, используя настольный компьютер.
В противном случае расслабьтесь, поступите правильно и не беспокойтесь о «сценариях».
Программы C ++ легче взломать, потому что люди ленивы и разрешают инъекцию SQL.
Другие советы
Возможно:
- Пользователь вводит свои учетные данные в настольный клиент.
- Клиент говорит на сервере: «Привет, имя пользователя, и мой пароль - пароль».
- Сервер проверяет это.
- Сервер говорит клиенту: «Привет, имя пользователя. Вот ваш секретный токен: ...»
- Впоследствии клиент использует секретный токен вместе с именем пользователя, чтобы «подписать» связь с сервером.