Проект "Свободные голосования"
http://gplvote.andyhost.ru/forum/

Хэшированные данные пользователя
http://gplvote.andyhost.ru/forum/viewtopic.php?f=5&t=237
Страница 1 из 2

Автор:  Андрей [ 22 окт 2011, 11:38 ]
Заголовок сообщения:  Хэшированные данные пользователя

По результатам чтения вот этого: http://habrahabr.ru/blogs/infosecurity/130965/

Вот смотрите... Если хэшировать данные напрямую, то, на примере номера свидетельства пенсионного страхования (СНИЛС) мы имеем 11 цифр. Фактически мы имеем 9 цифр, т.к. 2 из них - контрольный номер. Таким образом, подбор нужного значения по имеющемуся хэшу является вполне реальным. Что нежелательно.

ИНН имеет 12 знаков, 3 из которых относительно предсказуемы (обозначают регион). Т.е., фактически, тоже 9 знаков. Минус ИНН в том, что его нужно получать в налоговой.

Однако, хэширование объединенной строки СНИЛС+ИНН дало-бы уже достаточно сильную защиту от перебора.

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

Например, можно использовать связку "Номер паспорта"+"СНИЛС". Тогда мы получаем, если не брать в расчет серию паспорта, 6+9=15 цифровых позиций. В общем-то не очень хорошо (на перебор всех вариантов по оценкам из статьи нужно будет 11 дней), но тем не менее. Кроме того, тут-же можно использовать еще и номер свидетельства о рождении. Тогда, в комбинации "Свидетельство о рождении"+"Паспорт"+"СНИЛС" защита от перебора будет вполне достойной.

Автор:  Андрей [ 22 окт 2011, 12:02 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

О! А, ведь, можно сделать еще проще что-бы вообще не связываться с персональными данными. Сделать обязательным для системы лишь поле с хэшем от данных: "ФИО"+"Дата рождения"+"Номер паспорта"+"Номер свидетельства о рождении"+"СНИЛС". Тогда и подписывающему будет легко его проверить. И взломать его не зная почти всех данных будет тяжело.

А необходимость наличия открытых полей будет регулироваться уже в конкретных субъектах голосования.

Автор:  yurial [ 22 окт 2011, 15:20 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

Андрей писал(а):
О! А, ведь, можно сделать еще проще что-бы вообще не связываться с персональными данными. Сделать обязательным для системы лишь поле с хэшем от данных: "ФИО"+"Дата рождения"+"Номер паспорта"+"Номер свидетельства о рождении"+"СНИЛС". Тогда и подписывающему будет легко его проверить. И взломать его не зная почти всех данных будет тяжело.

А необходимость наличия открытых полей будет регулироваться уже в конкретных субъектах голосования.

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

Автор:  Андрей [ 22 окт 2011, 15:29 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

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

Вот тут мое предложение. Чем больше данных, тем сложнее подбор.

Хотя, можно остановится и на "дате рождения"+"свидетельство о рождении"+"социальный идентификатор".

Автор:  yurial [ 22 окт 2011, 15:35 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

Андрей писал(а):
Хотя, можно остановится и на "дате рождения"+"свидетельство о рождении"+"социальный идентификатор".

Социальный идентификатор это что? - номер пенсионного фонда? вы уверены, что его нельзя изменить?

Дату рождения и номер свидетельства вообще можно сделать не хешируемыми данными - они ничего никому не дают.

Автор:  Андрей [ 22 окт 2011, 15:40 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

yurial писал(а):
Андрей писал(а):
Хотя, можно остановится и на "дате рождения"+"свидетельство о рождении"+"социальный идентификатор".

Социальный идентификатор это что? - номер пенсионного фонда? вы уверены, что его нельзя изменить?

Уверен. Консультировался у сисадмина, который уже почти 10 лет работает в пенсионном фонде.

Цитата:
Дату рождения и номер свидетельства вообще можно сделать не хешируемыми данными - они ничего никому не дают.

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

Автор:  yurial [ 22 окт 2011, 15:45 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

Для того чтобы получить уникальный идентификатор, все его составные части должны быть уникальными. Если мы туда поместим ФИО или ИНН, идентификатор (или хеш от него) перестанет быть уникальным.

Автор:  Андрей [ 22 окт 2011, 15:46 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

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

Автор:  Андрей [ 22 окт 2011, 15:46 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

yurial писал(а):
Для того чтобы получить уникальный идентификатор, все его составные части должны быть уникальными. Если мы туда поместим ФИО или ИНН, идентификатор (или хеш от него) перестанет быть уникальным.

Что-то вы щас не то сказали. :) В любом идентификаторе будут одинаковые буквы и цифры. Но он из-за этого не перестает быть уникальным. :)

Кстати, я согласен что можно обойтись без ФИО и номера паспорта.

Автор:  yurial [ 22 окт 2011, 15:49 ]
Заголовок сообщения:  Re: Хэшированные данные пользователя

Я имел виду уникальность в рамках одного пользователя: 1 человек - 1 идентификатор.

Страница 1 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/