Способы предотвращения неавторизованных пользователей?
Обычно я вообще не беспокоюсь о пиратстве или защите от копирования с помощью программного обеспечения, однако в настоящее время я нахожусь в уникальной ситуации. Я разрабатываю приложение для ремонта компьютеров для конкретной компании по ремонту компьютеров. Недавно сотрудник решил уйти из компании, проработав там всего один месяц, и взял с собой мой набор инструментов. Затем она основала компанию по ремонту компьютеров из своего дома и использует мой набор инструментов для ремонта компьютеров. Я не особенно обеспокоен этим человеком, поскольку наши адвокаты уже преследуют по горячим следам. Я обеспокоен будущими случаями этого, где я могу не узнать о них.
То, что я хотел бы, является некоторыми идеями о способах защитить и / или позвонить домой, не будучи слишком чрезмерным. Я ненавижу программное обеспечение, которое слишком защищено и становится раздражающим или еще хуже, бесполезным. Это приложение никогда не покидает стены компании по ремонту компьютеров, так как они не занимаются ремонтом на месте, и я думаю, что могу использовать это в своих интересах.
У меня есть пара идей о том, как ограничить использование внутри компании, но я хотел бы услышать, как другие справляются с подобными ситуациями. В настоящее время я продолжаю возвращаться к проверке сети на наличие определенных серверов или диапазонов IP-адресов, но есть ли у кого-нибудь еще идеи?
2 ответа
Во-первых, я думаю, что вам нужно решить, от чего вы защищаете, поскольку разработчики игр на протяжении многих лет не могли помешать ppl скопировать ваше приложение / игру.
Предполагая, что вы хотите защитить себя от вышеупомянутого senario снова, я могу думать о 2-х хороших решениях. И ваше приложение имеет доступ к сети "всегда" или обычно из-за нормального использования.
Телефон дома:
Пусть телефон приложения станет домом для какого-либо серверного программного обеспечения, либо в сети компании, либо через Интернет. Пусть приложение отправит некоторую информацию на сервер и ответит либо OK, либо команда die. Чтобы не допустить кражи сервера, жестко закодируйте серверное приложение (если оно установлено в компании), чтобы принять 1 физический сервер ( IE требует, чтобы на компьютерах было X mac, Y серийный процессор, L серийный номер материнской платы).
AppServer отправляет подтверждение
Поскольку вы когда-нибудь задумывались о том, чтобы понюхать сеть от трафика, это возможно, но, возможно, было бы лучше иметь серверную часть, которая отправляет код проверки (например, некоторое зашифрованное сообщение с открытым ключом и открытым ключом с отметкой времени?) Через определенные промежутки времени. В зависимости от того, какой X-сервер время от времени отправляет какой-либо сетевой трафик, это не кажется логичным и может создавать проблемы (то есть, тот сервер удаляется, но никто не знает, что ваше приложение зависит от него, чтобы реагировать на ping). Также довольно просто подделать расходы на возможность пинговать XXX.XXX.XXX.XXX и сом-адрес MAC в сети.
Недавно я рассматривал использование решения для лицензирования Rhino с открытым исходным кодом http://hibernatingrhinos.com/open-source/rhino-licensing - это выглядит довольно сложным решением, и в качестве источника приводится пример приложения, которое вы можете изменить для своего индивидуальные потребности - например, вам не нужно блокировать пользователя, если вы не хотите.