Данные

Материал из Сервис Облачной Демократии
(Различия между версиями)
Перейти к: навигация, поиск
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
Описание перечня данных хранимых на каждом узле в распределенной системе. Все данные хранятся в БД [http://ru.wikipedia.org/wiki/Berkeley_DB Berkeley DB].
+
Описание перечня данных хранимых на каждом узле в распределенной системе. Для хранения рекомендуется использовать БД [http://ru.wikipedia.org/wiki/Berkeley_DB Berkeley DB].
 
+
'''TODO: Наполнять перечни данных по ходу обсуждения сценариев использования'''
+
  
 
== Перечень данных пользователя ==
 
== Перечень данных пользователя ==
 
Каждый узел должен хранить данные для каждого пользователя который пользуется узлом. Т.е. каждый пользователь имеет свой набор данных. Набор данных пользователя включает в себя:
 
Каждый узел должен хранить данные для каждого пользователя который пользуется узлом. Т.е. каждый пользователь имеет свой набор данных. Набор данных пользователя включает в себя:
=== Электронный паспорт ===
+
=== Мастер ключ ===
 +
???
 +
=== Идентифицирующий хэш ===
 +
???
 
Для идентификации пользователя и его ключа будет служить специальное значение - идентифицирующий хэш. В одном из идентификаторов публичного ключа должно ставиться значение вида (пример укорочен):
 
Для идентификации пользователя и его ключа будет служить специальное значение - идентифицирующий хэш. В одном из идентификаторов публичного ключа должно ставиться значение вида (пример укорочен):
 
  IDHASH:3C65C65D4F8166C21823F253CE6F14037128DD614B43390535667AAE2CC518E2
 
  IDHASH:3C65C65D4F8166C21823F253CE6F14037128DD614B43390535667AAE2CC518E2
Строка 18: Строка 19:
 
== Перечень данных узла ==
 
== Перечень данных узла ==
 
Кроме того каждый узел имеет общий набор данных для всех пользователей. Набор данных узла включает в себя:
 
Кроме того каждый узел имеет общий набор данных для всех пользователей. Набор данных узла включает в себя:
 +
=== Транспортный ключ ===
 +
???
 
=== Список соседних узлов ===
 
=== Список соседних узлов ===
 +
???
 
IP-адрес, ключи субъектов голосования используемых на узле
 
IP-адрес, ключи субъектов голосования используемых на узле
  
Строка 148: Строка 152:
 
|align="left" |Вотум недоверия
 
|align="left" |Вотум недоверия
 
|}
 
|}
 +
 +
== Конфигурационные файлы ==
 +
=== Конфиг. файл back-end ===
 +
???
  
 
[[Category:Распределенная система]]
 
[[Category:Распределенная система]]

Текущая версия на 11:23, 14 марта 2012

Описание перечня данных хранимых на каждом узле в распределенной системе. Для хранения рекомендуется использовать БД Berkeley DB.

Содержание

Перечень данных пользователя

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

Мастер ключ

???

Идентифицирующий хэш

??? Для идентификации пользователя и его ключа будет служить специальное значение - идентифицирующий хэш. В одном из идентификаторов публичного ключа должно ставиться значение вида (пример укорочен):

IDHASH:3C65C65D4F8166C21823F253CE6F14037128DD614B43390535667AAE2CC518E2

Хэш формируется по алгоритму SHA512 в рекурсивном цикле уровня 128 по символьному его представлению в 16-ричном виде в верхнем регистре. Идентифицирующий хэш должен формироваться из соединения нескольких строк:

  1. Дата рождения в формате YYYYMMDD (Y - год, M - месяц, D - день. Считается с начала Нашей Эры).
  2. Номер свидетельства о рождении. Серия и номер пишутся вместе. Все незначащие разделительные знаки опускаются. Если присутствуют буквы - вводятся в кодировке UTF-8 в верхнем регистре.
  3. Идентификационный социальный номер в стране гражданства (страна рождения или первая по алфавиту в написании латиницей страна гражданства). Все незначащие разделительные знаки опускаются. Если присутствуют буквы - вводятся в кодировке UTF-8 в верхнем регистре. Номер СНИЛС в России или SSN в США.

Данный хэш будет легко проверятся подписывающим ключ, т.к. он имеет четкие правила формирования. Помощник по формированию идентифицирующего хэша: http://test.cdemocracy.ru/register/gpghelp_idhash

Перечень данных узла

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

Транспортный ключ

???

Список соседних узлов

??? IP-адрес, ключи субъектов голосования используемых на узле

Перечень транзитных данных

Протоколы

Структура пакетов

Предлагаю следующую структуру пакетов:

Если тип пакета подразумевает его идентификацию, то в начале <packet> следует

Если тип данных подразумевает определенный размер этих данных, то далее в <packet> для таких типов содержатся данные. Если тип данных переменного размера, то далее следует:

Данные пакеты представляют из себя набор записей вида:

Если данные поля не фиксированного размера, то в <field record> сохраняются данные с указанием размера:

Типы пакетов

Требует согласования с разработчиками. Возможно, не актуально.
Код типа пакета Размер данных Идентифицируемый Описание типа
0x00 0 - Пинг
0x01 0 - Понг
0x02 ~ + Запрос на данные
0x03 ~ + Публичный ключ
0x04 ~ + Голосование

Коды данных

Требует согласования с разработчиками. Возможно, не актуально.

На этой странице собраны коды для различных данных в системе.

Мнемокод Числовой код Назначение данных
NULL 0x00 Пустые данные
U.PKEY.FP 0x01 Отпечаток персонального ключа пользователя
U.PTKEY.FP 0x02 Отпечаток транспортного ключа пользователя
U.BD 0x03 Дата рождения пользователя из программы
U.TR 0x04 Основная территория пользователя из программы
U.ATR 0x05 Дополнительная территория пользователя из программы
U.TID 0x06 Налоговый идентификатор пользователя из программы
U.SID 0x07 Социальный идентификатор пользователя из программы
U.PKEY 0x08 Публичный персональный ключ пользователя
U.PTKEY 0x09 Публичный транспортный ключ пользователя
S.TYPE 0x10 Тип голосования

Коды типов голосований

Требует согласования с разработчиками. Возможно, не актуально.
Код Описание
0x00 Открытое голосование в субъекте
0x01 Тайное голосование в субъекте
0x02 Голосование по субъекту (создание, изменение параметров)
0x03 Вотум недоверия

Конфигурационные файлы

Конфиг. файл back-end

???

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты