Проблемы масштабируемости шифрования с несколькими ключами с помощью GnuGP - PullRequest
1 голос
/ 21 декабря 2011

Я хочу ответить на вопросы, размещенные здесь:

Шифрование с несколькими различными ключами?

Я реализовал решение GnuGP для веб-приложения. Iно я довольно быстро столкнулся с проблемами масштабируемости и должен признать, что немного застрял.По сути, это правда, что вы можете зашифровать файл с несколькими открытыми ключами, чтобы все эти люди могли расшифровать файл.Отлично.Но теперь представьте, что вы делитесь этим файлом со 100 людьми, как вы это делаете?

Первое ограничение, с которым я столкнулся, - это ограничение командной строки, где я не могу поместить в одну строку 100 открытых ключей.

Второе ограничение - каждый раз, когда я хочу добавить нового человека иличтобы отозвать доступ к кому-то, я должен повторно зашифровать ключами 101 или 99, что требует очень много времени и ресурсов процессора.

Третий предел еще хуже, скажем, я делюсь папкой, каждый новый человекполучение доступа к папке требует повторного шифрования ВСЕМИ людьми каждого файла папки ..

Все это кажется очень грязным / хакерским. У кого-нибудь будет лучшее решение?

Спасибо

1 Ответ

1 голос
/ 22 декабря 2011

Создайте случайный секретный ключ AES для каждой папки и используйте его для шифрования файлов, например, используя AES EAX.Затем зашифруйте этот ключ, используя открытые ключи людей, которым вы хотите предоставить доступ.Если вы добавите человека позже, расшифруйте его с помощью закрытого ключа «admin» и просто зашифруйте секретный ключ с помощью открытого ключа.Вы можете использовать хеш (например, SHA-256) над именем файла в качестве начального счетчика для шифра EAX.

Что касается инструментов командной строки, вам лучше программировать этот материал (используя сам GnuPG для C / C ++и связанные с ними и, например, Bouncy Castle для приложений Java).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...