Криптографы IACR не хотят использовать Java


Криптографы международной криптологической ассоциации (IACR) боятся использовать JAVA.

Использование Java было признано самым серьёзным возражением против внедрения системы электронных голосований Helios, предназначенной для внутренних целей IACR.

В документе IACR по внедрению Helios[link1] опубликованы самые доставляющие комментарии:

For example, one member wrote:
[quote] Requiring Java seems like a non-starter for me. There's been a bunch of security vulnerabilities in the Java runtime that had remained unpatched for too long, and I have explicitly and consciously decided to uninstall it. To ask me to make the trade-off between the convenience of electronic voting and the risk of enabling Java is probably not a great idea: I'm going to say that the risks of using Java is not worth it.
[/quote]
Another member had the following comment in the same vein: [quote] I don't have Java for a reason [...] When I talk about trusting Sun, I'm not talking about trusting Sun with my vote. I'm talking about trusting Sun, and the code produced by Sun, with all the information on my computer, which is more valuable than my vote in an IACR election.[/quote]

Given this feedback, it seems clear that if we adopt Helios we must offer members an additional Java-free solution. <...> Разрабатываются версии отдельно от браузера и на Python <...>

Некоторые вообще боятся загружать код:

Beyond Java-specific issues, some members pointed out a "deeper" problem with using downloaded code. One member wrote: [quote] Once I started the voting system, I had no clue whether the applet running in my browser was actual ly the Helios voting application or some other application trying to mimic the Helios voting system. [...] [/quote]
Another member added:
[quote] More generally, the use of downloaded code, whether Java, Javascript, Flash, .NET, or any other language, is unacceptable. Because the code is downloaded every time anew from the server, the user has no assurance that the code that has undergone a security review is the code that is currently running in the browser.
[/quote]

Так, что по уровню паранойи участники нашего сайта приближаются к ведущим мировым криптографам, но ещё не дотягивают. Есть к чему стремиться. Все кто ещё не успел — дружно удалили Java, Flash и отключили Javascript :)



Комментарии
Гость (08/06/2010 16:58)   
Java я давно удалил, но Flash мне пока нужен для того чтобы видео смотреть. JavaScript в моём браузере безопасен.
— SATtva (08/06/2010 17:02)   
Flash мне пока нужен для того чтобы видео смотреть

Ролики с того же ютуба и некоторых других сайтов можно скачивать уймой различных утилит[link2] и сервисов[link3].

JavaScript в моём браузере безопасен.

А безопасен ли браузер?
Гость (08/06/2010 17:11)   

К сожалению, я часто смотрю потоковое видео, так что без flash никуда. На подозрительные сайты я захожу файрфоксом, в котором всё что можно отключено.


Полагаю, что безопасен в рамках разумного.


Adobe Flash Player AVM2 "newfunction" Instruction Handling Vulnerability

Successful exploitation allows execution of arbitrary code.

The vulnerability is reported in version 10.0.45.2 and prior 10.0.x and 9.0.x versions for Windows, Macintosh, Linux, and Solaris.

NOTE: The vulnerability is reportedly being actively exploited.

Кстати, всем заложникам Adobe привет. http://secunia.com/advisories/40026
Гость (08/06/2010 17:45)   
"Дьява"
— sentaus (08/06/2010 18:33)   
Кстати, претензии не столько к самой Java, сколько к способу развёртывания системы – они не хотят загружать каждый раз исполняемый код с сервера.
— SATtva (08/06/2010 18:59)   
Есть вполне себе претензии и к Java:

There's been a bunch of security vulnerabilities in the Java runtime that had remained unpatched for too long, and I have explicitly and consciously decided to uninstall it.
Гость (08/06/2010 20:55)   
они не хотят загружать каждый раз исполняемый код с сервера.
Если код подписан, то в чём проблема? Выполнять его можно от отдельного непривелигированного юзера, что уж точно никак не соответствует
trusting Sun, and the code produced by Sun, with all the information on my computer, which is more valuable than my vote in an IACR election.
— SATtva (08/06/2010 21:07)   
Целевая аудитория — слишком занятые люди, чтобы возиться с сооружением костылей вокруг хромой системы. Полагаю.
Гость (08/06/2010 21:34)   
Слишком занятые люди вообще не возятся с защитой личной информации, а придерживаются мнения "нет секретов – нет проблем", а в особых случаях, когда того требует род деятельности, охраной занимаются специальные сотрудники фирмы или госбезопасности. Полагаю.
— sentaus (08/06/2010 22:50)   
Если код подписан, то в чём проблема?


Видимо, в недоверии к поставщику вообще, а не в опасении подмены. Проблема заключается именно в определённой сложности создания изолированной среды для запуска этого кода.
— unknown (08/06/2010 23:22, исправлен 08/06/2010 23:28)   
Слишком занятые люди вообще не возятся с защитой личной информации, а придерживаются мнения "нет секретов – нет проблем", а в особых случаях, когда того требует род деятельности, охраной занимаются специальные сотрудники фирмы или госбезопасности. Полагаю.

Полагаю, что верно почти для всех занятых людей кроме криптографов. Чем меньше у них секретов, тем яростнее они их защищают, культивируя паранойю как нечто вроде моральных ценностей. Отчасти это носит характер самоиронии с их стороны и справедливо конечно для меньшинства.


Видимо, в недоверии к поставщику вообще, а не в опасении подмены. Проблема заключается именно в определённой сложности создания изолированной среды для запуска этого кода.

Проблема в том, что не нашли наверное ответственную команду разработчиков. К примеру torbutton известен как часть проекта, включен в дистры, за него люди ручаются репутацией. А кто будет присматривать за постоянно меняющимся кодом, который используется в малом проекте?


И каков сейчас статус Java? Она полностью контролируется свободным сообществом? Туда могут вносить секьюрити-фиксы не дожидаясь разрешения Sun и отключать и выбрасывать потенциально вредные фичи? Фирма Sun отказалась от любых исключительных прав?


Проблема аналогична той, что установка потенциально недоверяемых программ "банк-клиент" не согласуется с принципами свободного ПО, даже если код открыт, но он не свободен, не общепринят, не стандартизирован, у каждого банка свой и "зачем мне вообще ставить какую-то хрень не из дистрибутива?"

— SATtva (08/06/2010 23:28)   
Вроде как Java была перелицензирована под GPL пару лет назад (за исключением небольшого числа фрагментов, на которые Sun не располагала авторскими правами).
Гость (09/06/2010 00:26)   
unknown, я не знаю как бы вам это поаккуратнее сказать, но компании Sun больше не существует: её проглотил Оракл. Емнип, недавно Java'у полностью открыли, включая "небольшое число проблемных фргаментов", но от этого популярней в открытом сообществе она не стала – как и ранее, java есть платформа для корпоративных разработок, на пятки которой уже наступают продукты нового поколения типа F# и прочих, в которые уже интегрированы базовые вещи для небыдлокодеров типа того же ФП[link4].
— unknown (09/06/2010 09:05, исправлен 09/06/2010 09:41)   

Точно, протупил. Но я только разместил объявупривёл цитаты от некоторых членов IACR, допущенных к голосованию, доставляющие тем, что похожи на обычный Java-троллинг. Там про Sun ещё тоже кто-то тормозит.

Гость (11/06/2010 16:21)   
Сообщество Eclipse провело опрос о предпочтениях Java-разработчиков[link5]

Количество Java-программистов которые используют Linux на своих компьютерах составило 33% процента. Из них 58% используют дистрибутив Ubuntu. В опросе приняли участия 2000 разработчиков.

26.9% – Java-разработчиков создают приложения для web.
21% – приложений для домашних компьютеров.
26.9% – приложений для серверных нужд.
58.3% разработчиков используют централизованную систему управления версиями Subversion, а 12.6% используют CVS.
69% разработчиков используют классический Sun/Oracle Java, a OpenJDK всего 21%.
69.5% разработчиков используют Eclipse для программирования на языке Java
41% разработчиков признались, что используют открытый исходной код из других проектов, и не возвращают свои улучшения! За один год таких разработчиков удвоилось(в прошлом году их было 27%).
— SATtva (11/06/2010 19:02)   
33% процента

RAS-синдром? :)
— unknown (10/11/2010 10:12, исправлен 10/11/2010 10:18)   

http://www.iacr.org/elections/.....lios_2010-09-27.html[link6]


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


The primary issue was the requirement for Java on the Helios client. Several members were unwilling to install Java on their own machines or to use alternate machines on which Java had been installed. To alleviate this concern, a feature was added to Helios which enables ballot encryption to be performed on a Helios server. There is a trade-off here because use of this feature gives the Helios server access to a raw ballot which could, in theory, compromise privacy. However, this amelioration was deemed adequate by the committee.

А локальный доверяемый клиент так и не написали. Криптографы пока не смогли внедрить надёжной системы криптологического голосования. Более того, осознавая все её недостатки, они отговаривают[link7] от её применения в ответственных случаях:


The IACR adopts the Helios remote e-voting system for future IACR elections (including 2010). At the same time, the IACR clearly publishes a statement that its use of this system does not constitute an endorsement of this or other remote-voting systems for public-sector elections.
Гость (21/10/2011 13:48)   
Ролики с того же ютуба и некоторых других сайтов можно скачивать уймой различных

Я вот пробовал смотреть рыжелисом с gnash, одно время работало, потом перестало, орет, что нужен эдобовский flash. Я итоге, я забил на YouTube, но вообще иногда хотелось бы и посмотреть.
Если этот сраный flash запущенны с браузером, поднимаемым под прозрачно торифицированным юзером, а сам компьютер не имеет внешнего ip, чем это может грозить?!
— unknown (21/10/2011 14:27)   
Что-то похожее обсуждалось, начиная с этого /comment48145[link8].
— бегущий_по_зеленой_траве_котэ (11/01/2013 22:08, исправлен 12/01/2013 09:36)   

GnuPG в будущем хочет использовать Java-библиотеку gcrypt для исполнения криптографических операций? Посмотрите список рассылок:


http://www.gnupg.org/documenta.....ailing-lists.en.html[link9]


gcrypt-devel@gnupg.org
It is used to discuss the development of the GNU crypto library which will be used by a future GnuPG version and is also used by a couple of other projects.

P.S. В настоящее время используется Си библиотека Libgcrypt? Или Libgcrypt выросла из GnuPG?

— SATtva (12/01/2013 09:43)   
GnuPG в будущем хочет использовать Java-библиотеку gcrypt для исполнения криптографических операций?

С чего Вы взяли, что libgcrypt написан на Java?

Или Libgcrypt выросла из GnuPG?

Это параллельный проект g10code. GnuPG переводят на libgcrypt для большей модульности кода.
— бегущий_по_зеленой_траве_котэ (12/01/2013 10:49)   
Хм, действительно, возможно я ошибся, спутав gcrypt и GNU Crypt.

Получается, libgcrypt и gcrypt это то же самое?

Это параллельный проект g10code. GnuPG переводят на libgcrypt для большей модульности кода.


То есть, GnuPG пока еще не использует libgcrypt в качестве криптографической библиотеки?

Смотрел исходники обоих, они идентичны (в отношении крипто). Кто у кого дерет не понятно, но думаю, все таки libgcrypt берет из GnuPG.
— SATtva (12/01/2013 11:19)   
Получается, libgcrypt и gcrypt это то же самое?

Libgcrypt, gcrypt и GNU Crypt — всё суть одно и то же.

То есть, GnuPG пока еще не использует libgcrypt в качестве криптографической библиотеки?

Насколько понимаю, это реализовано в девелоперской gpg 2.1.

Смотрел исходники обоих, они идентичны (в отношении крипто). Кто у кого дерет не понятно, но думаю, все таки libgcrypt берет из GnuPG.

Что значит, "дерёт"? Их пишут одни и те же люди.
Гость (12/01/2013 11:49)   
Libgcrypt, gcrypt и GNU Crypt — всё суть одно и то же.


суть – да, всё это криптобиблиотеки, но реализация различная.

Всё же, GNU Crypt это не libgcrypt. GNU-Crypt написан на java, libgcrypt на си. А под gcrypt скорее всего понимается libgcrypt, хотя я и не уверен в этом.

http://lists.gnu.org/archive/h.....005-02/msg00003.html[link10]
Гость (12/01/2013 11:50)   
Дополню:

А под gcrypt скорее всего понимается libgcrypt, хотя я и не уверен в этом.


Нужно в этом вопросе. Это принципиально.
— SATtva (12/01/2013 12:10)   
Всё же, GNU Crypt это не libgcrypt.

Если Вы о GNU Crypto[link11], разрабатывавшемся в рамках проекта GNU, то как самостоятельная библиотека он более не существует.

А под gcrypt скорее всего понимается libgcrypt, хотя я и не уверен в этом.

Нужно в этом вопросе. Это принципиально.

gcrypt и libgcrypt — это ровно одно и то же, несколько названий для одной реализации. Отношения к Java (в отличие от вышеназванного GNU Crypto) она не имеет.
Гость (13/01/2013 11:44)   
Скажем так, разработчики к Java присматриваются:

ftp://ftp.gnupg.org/gcrypt/alpha/gnupgjava/
— SATtva (13/01/2013 11:52)   
На даты посмотрите. gpg4java — сторонний проект, не имеющий отношения к разработчикам gpg (g10code). По сути, просто джавовский байндинг стандартной сишной библиотеки gpgme.

Ссылки
[link1] http://www.iacr.org/elections/eVoting/heliosDemo.pdf

[link2] http://bitbucket.org/rg3/youtube-dl

[link3] http://videosaver.ru

[link4] http://ru.wikipedia.org/wiki/Функциональное_программирование

[link5] http://www.linux.org.ru/news/java/4988221

[link6] http://www.iacr.org/elections/eVoting/finalReportHelios_2010-09-27.html

[link7] http://www.iacr.org/elections/eVoting/

[link8] https://www.pgpru.com/comment48145

[link9] http://www.gnupg.org/documentation/mailing-lists.en.html

[link10] http://lists.gnu.org/archive/html/gnu-crypto-discuss/2005-02/msg00003.html

[link11] https://www.gnu.org/software/gnu-crypto/