Данные
Oleg (обсуждение | вклад) |
Oleg (обсуждение | вклад) м (переименовал Структура данных в Данные) |
Версия 21:02, 10 марта 2012
Описание перечня данных хранимых на каждом узле в распределенной системе. Все данные хранятся в БД Berkeley DB.
TODO: Наполнять перечни данных по ходу обсуждения сценариев использования
Содержание |
Перечень данных пользователя
Каждый узел должен хранить данные для каждого пользователя который пользуется узлом. Т.е. каждый пользователь имеет свой набор данных. Набор данных пользователя включает в себя:
Электронный паспорт
Для идентификации пользователя и его ключа будет служить специальное значение - идентифицирующий хэш. В одном из идентификаторов публичного ключа должно ставиться значение вида (пример укорочен):
IDHASH:3C65C65D4F8166C21823F253CE6F14037128DD614B43390535667AAE2CC518E2
Хэш формируется по алгоритму SHA512 в рекурсивном цикле уровня 128 по символьному его представлению в 16-ричном виде в верхнем регистре. Идентифицирующий хэш должен формироваться из соединения нескольких строк:
- Дата рождения в формате YYYYMMDD (Y - год, M - месяц, D - день. Считается с начала Нашей Эры).
- Номер свидетельства о рождении. Серия и номер пишутся вместе. Все незначащие разделительные знаки опускаются. Если присутствуют буквы - вводятся в кодировке UTF-8 в верхнем регистре.
- Идентификационный социальный номер в стране гражданства (страна рождения или первая по алфавиту в написании латиницей страна гражданства). Все незначащие разделительные знаки опускаются. Если присутствуют буквы - вводятся в кодировке UTF-8 в верхнем регистре. Номер СНИЛС в России или SSN в США.
Данный хэш будет легко проверятся подписывающим ключ, т.к. он имеет четкие правила формирования. Помощник по формированию идентифицирующего хэша: http://test.cdemocracy.ru/register/gpghelp_idhash
Перечень данных узла
Кроме того каждый узел имеет общий набор данных для всех пользователей. Набор данных узла включает в себя:
Список соседних узлов
IP-адрес, ключи субъектов голосования используемых на узле