Пусть у нас есть открытая децентрализованая база для социального сервиса
Помимо открытых данным там должны быть и закрытые
Для личной переписки эта проблема в принципе решается через шифрование с открытым ключем.
Тут ничего интересного
Но что если у нас есть, закрытые группы, закрытые разделы форума?
Т.е. места в которые ограничен доступ
Как такое хранить в открытой базе?
Кроме как зашифровать идей пока нет.
Пусть у нас тогда есть какието владельцы которые шифруют эти разделы известными только им паролями.
Тогда дать доступ — это дать пароль, это очевидно.
Но как забрать доступ? Пусть нам пофиг что он имел доступ и скопировал инфу, мы просто хотим закрыть доступ к новому контенту
Поменять пароль через перешифрование? Но это слишком тяжелая операция, особенно учитывая что вход/выход может быть очень частой операцией — не годится
А может есть какойто матаппарат который позволил закрыть доступ без перешифровки либо вообще по другому решал эту задачу?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, Barbar1an, Вы писали:
B>Пусть у нас тогда есть какието владельцы которые шифруют эти разделы известными только им паролями. B>Тогда дать доступ — это дать пароль, это очевидно. B>Но как забрать доступ? Пусть нам пофиг что он имел доступ и скопировал инфу, мы просто хотим закрыть доступ к новому контенту B>Поменять пароль через перешифрование? Но это слишком тяжелая операция, особенно учитывая что вход/выход может быть очень частой операцией — не годится
Ну, например, менять ключ шифрования после того, как кто-то покинул группу и новый ключ раздавать только оставшимся участникам.
Здравствуйте, Barbar1an, Вы писали:
B>А может есть какойто матаппарат который позволил закрыть доступ без перешифровки либо вообще по другому решал эту задачу?
Например так:
h1=hash(pass)
key=h1 xor salt
data=decode(enc_data,key)
new_salt=hash(old_pass) xor old_salt xor hash(new_pass)
так что бы key остался неизменным при смене пароля
Каждый симметричный ключ шифруется асимметричными публичными ключами участников, имеющих к нему доступ.
При изменении состава участников генерируется новый текущий ключ. Старые ключи остаются доступными, старый контент остаётся зашифрован старыми ключами. Новый контент шифруется новым ключом и к нему получает доступ только новый состав участников.
Здравствуйте, Barbar1an, Вы писали:
B>Пусть у нас есть открытая децентрализованая база для социального сервиса
Я надеюсь что что-то такое появится, какие-то децентрализованные аналоги телеграма скажем. И мне видится так, что с ними нужны будут отдельные аккаунты на отдельных смартфонах для промежуточного хранения информации. Т.е. есть скажем чат на пять человек, один выкладывает там пост; если все пять аккаунтов находятся одновременно в сети, всё благополучно передастся, но обычно бывает не так, и значит нужен один аккаунт, валидатором что-ли его назвать, который постоянно находится в сети. Наверно это можно назвать принципом торрентов? И этот валидатор должен быть сугубо локальным, т.е. никакие сотрудники от месседжера не должны иметь к нему доступ.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать." Р.П. Уоррен
Классика — end-to-end шифрование, когда в этой открытой базе хранятся копии всех сообщений, зашифрованные разными ключами (так что расшифровать могут только получатели, у которых есть ключи). За конкретикой рекомендую обратиться к реализации групповых сообщений в Signal/WhatsApp.
Здравствуйте, Barbar1an, Вы писали:
B>Но что если у нас есть, закрытые группы, закрытые разделы форума?
B>Пусть у нас тогда есть какието владельцы которые шифруют эти разделы известными только им паролями. B>Тогда дать доступ — это дать пароль, это очевидно. B>Но как забрать доступ? Пусть нам пофиг что он имел доступ и скопировал инфу, мы просто хотим закрыть доступ к новому контенту B>Поменять пароль через перешифрование? Но это слишком тяжелая операция, особенно учитывая что вход/выход может быть очень частой операцией — не годится