Безопасность для голосования Применения

голоса
2

У меня есть проект, чтобы построить настольное приложение для голосования для класса в Java. Хотя безопасность не является главной темой проекта, я хотел бы быть столь же реалистично, как я могу. Каковы некоторые из основных инструментов для интеграции безопасности в приложение Java.

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

Задан 27/08/2008 в 03:09
источник пользователем
На других языках...                            


8 ответов

голоса
3

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

Ответил 27/08/2008 в 03:14
источник пользователем

голоса
2

Моя компания не последнее приложение с очень сильной безопасностью. Может быть, это помогает.

Наше приложение

Это приложение Java EE.

Архитектура следующее:

  1. Клиентский компьютер имеет пакет криптографии.
  2. Грязный Серуэр , который хранит зашифрованный вход и выход пользователя
  3. Чистый Серуэр, что не из-за пределы подъезда, который хранит ключи и расшифрованные данные.

Пользователи выпускаются криптографическими карты (вы можете использовать что-то более безопасное -., Например, PGP), и требуются JSP-страница, чтобы зашифровать с ними всеми входными данными. Страница содержит компонент, который подключается к cryctography приложения, запрашивает у пользователя пароля ключа, шифрует его с помощью открытого ключа сервера и подписывает его с закрытым ключом пользователя, а затем подают.

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

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

Ваше приложение

Я бы отправлять зашифрованные и подписанные голоса на сервер. Было бы утверждать две вещи:

  1. Вы знаете, кто послал голос
  2. Нун Виль быть в состоянии знать, что было голосование.

Затем получить данные с сервера, утверждают, что все проголосовали более одного раза подсчета голосов, вуаля!

Ответил 01/11/2008 в 22:44
источник пользователем

голоса
1

Если вы ищете «высокого уровня» объяснение этого материала (как, не код), Applied Cryptography имеет немало соответствующих примеров (и я считаю , раздел о «безопасных выборов» , который охватывает несколько стратегий для голосования).

Ответил 27/08/2008 в 03:19
источник пользователем

голоса
0

Вы знаете, что электронное голосование является нерешенной проблемой исследования? Большой обман масштаба должен принять большое усилие.

Ответил 07/07/2009 в 09:48
источник пользователем

голоса
0

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

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

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

Не зная специфику, трудно дать более конкретный ответ.

Ответил 14/03/2009 в 02:45
источник пользователем

голоса
0

Положив на одной стороне вопросы защиты от физического воздействия (например, из основной базы данных), так как вы предусмотрено, что физическая безопасность не настоящее беспокойство ...

Я думаю, что главный фактор в том, как обеспечить, чтобы данный избиратель голосует только один раз. На бумаге опроса, каждый зарегистрированный избиратель ограничена конкретной стенде / место и проверка осуществляется по названию + SSN и подписи.

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

Другой подход был бы для избирателя «регистратор офиса» выдавать цифровые ключи к каждому избирателю перед выборами - (относительно) короткий (криптостойкий) случайный альфа / числовой ключ, который вводится с именем избирателя и / или ССН в заявление. Знание этого ключа требуется для конкретного избирателя в этих конкретных выборах. Эти ключи будут выдаваться по почте НСД разумеющихся конвертов, как те, которые используются банками для почтового подтверждения телеграфных переводов и доставки цифр PIN. Ключ должен включать в себя данные контрольной суммы, так что пользователь может иметь запись о нем сразу же проверенном и она должна быть в группах по 4, так что-то вроде XXXX-XXXX-XXXX-КЦИКА.

Любые другие «секретные» знания, такие как ССН, вероятно, слишком легко обнаружен большой процент населения (хотя, кажется, не быть в состоянии сделать кредитно-предоставление организациям понять это), и поэтому не подходит для аутентификации.

Подсчет голосов может быть сделано путем создания открытого ключа зашифрованного файла данных, который передается (по флоппинет?) к центральной системе. Это должно включать информацию о «кабинке для голосования» идентичности и запись для каждого избирателя в том числе их SSN и цифровой ключ (или подписи, или биометрические данные). Голоса с недействительными ключами устраняются. Несколько голосов с тем же ключом и те же голоса, рассматриваются в качестве одного голоса за этого кандидата. Несколько голосов с тем же ключом и различных голосов помечаются для расследования мошенничества (с учредительными связался по телефону, издал новый ключ, и направлен на повторное голосование).

Ответил 01/11/2008 в 07:50
источник пользователем

голоса
0

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

Ответил 27/08/2008 в 04:31
источник пользователем

голоса
0

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

Ответил 27/08/2008 в 03:46
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more