Форум программистов, компьютерный форум, киберфорум
Криптография
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 8

Шифрование файлов для разных групп пользователей для веб-сайта

18.03.2013, 20:37. Показов 1985. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, уважаемые знатоки.

У меня есть конкретная задача, которую надо решить, но нет необходимых знаний для ее решения.
Прошу вашей помощи если не в том, чтобы решить задачу целиком, то хоть носом тыкните где и куда копать.

Суть:
Есть веб сервер, с приложением(сайтом) на ASP.NET, .NET framework 4. Вся инфраструктура - ОС, база данных, файловый сервер - мелкомягковские.
WEB Приложение предоставляет разным группам пользователей доступ к файлам (типа dropbox\sharepoint\skydrive и другие). Сейчас все файлы всех групп пользователей хранятся в одной куче на общем файловом сервере.
Разграничения на доступ файлам реализовано только логикой приложения (есть права у пользователя - даем запрос файловому серверу, нет - гуляй лесом)
Взлом и получение доступа к пользовательским файлам равнозначно закрытию бизнеса.

Задача:
Организовать шифрование файлов таким образом, чтобы каждая группа пользователей имела доступ только к своим файлам.(на уровне логики само собой : с этим сами справимся + на уровне шифрования)

Сложности:
1)Ключ шифрования должен быть разным для каждой группы(шифрование диска целиком не катит.)
2) Пользователь должен вводить только логин, пароль и имя группы, никаких сертификатов, хардварных токенов и прочих слишком сложных для обычной домохазяйки вещей. **ключевая аудитория - топ манагеры, которые с собой токен носить не будут, и ссл сертификаты устанавливать в браузер тоже.
3) Предполагаем, что или сервер приложения может быть взломан, или файловый сервер. Сразу оба - маловероятно. Тоесть получив полный доступ к любому серверов, хакер должен получить доступ максимум к файлом ОДНОЙ из групп, не больше.

Вот такая задачка....помогите
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.03.2013, 20:37
Ответы с готовыми решениями:

Как объединить воедино два приложения, написанных для разных групп пользователей
Здравствуйте, есть вопросик :) Вот смотрите есть 2 группы пользователей, например, студент и преподаватель, у них совершенно разные...

Joomla 3 - индивидуальные файлы Excel для пользователей и групп пользователей
Доброго времени суток! Подскажите, пожалуйста, как реализовать следующую задачу. Когда пользователь входит на сайт под своей учетной...

Доступ к папкам по сети для разных групп
Добрый день. Имеется WServer 2008. Нужно создать папку доступ к которой будет иметь с разными правами определенные компы. В диспетчере...

13
85 / 80 / 15
Регистрация: 25.05.2012
Сообщений: 230
Записей в блоге: 3
18.03.2013, 23:00
Насколько большие файлы? Кб Мб Гб?
Пользователь скачивает и сохраняет, или же ему показывается через бразуер скажем видео?

Насколько много пользователей? 1 10 100 1000 1000?
0
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 8
19.03.2013, 00:35  [ТС]
Цитата Сообщение от ostapdzen Посмотреть сообщение
Насколько большие файлы? Кб Мб Гб?
Как правило документы, 10 кб - 10 мб.

Цитата Сообщение от ostapdzen Посмотреть сообщение
Пользователь скачивает и сохраняет, или же ему показывается через бразуер скажем видео?
Видео нет, через браузер есть просмотр doc\exel\pdf и других менее попурярных форматов. Просмотрщик - flash.

Цитата Сообщение от ostapdzen Посмотреть сообщение
Насколько много пользователей? 1 10 100 1000 1000?
В одной группе как правило до 20 человек. Сервис довольно закрытый, около 500 пользователей, но если взять на вырост - ну пусть 10 000.
0
85 / 80 / 15
Регистрация: 25.05.2012
Сообщений: 230
Записей в блоге: 3
19.03.2013, 21:14
Сложно сказать не зная нюансов.

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

Пользователь заходит скачивает файл и у себя на компе с помощью программы и пароля дешифрует его.

Ключ = это месячный ( два три) абонемент.

даже если у вас захватят оба сервера - толку то с файлов если даже вы не знаете пароли?

Минус гдето раз в 25 нужно больше места.

p/s/
Нужно смотреть сколько и как часто скачивают.
Учитывать атаку на размер файла и т.д.
Учитывать что возможно среди пользователей будет хакир малолетний и т.д.

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

Пароли на сервере будут хранится только на время зашифровки файлов, желательно на это время чтобы к нему не было доступа даже админам.
И т.д.
И т.п.
0
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 8
19.03.2013, 22:46  [ТС]
да никаких особо нюансов кроме того, что уже написал.
Такое решение никак не подойдет, повторюсь - пользователь том менеджер крупной компании. Никаких программ для шифрования, ключей, токенов, сертификатов и ничего сложне того, что может постичь среднестатистическая домохазяйка.
У пользователя должен быть только логин, пароль и название группы...и ничего больше. Тех задание такое.

Сервис позволяет закачивать документы на сервер, и с помощью просмотрщика (flash) их просматривать.

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

Но исходим из того, что сервер уже взломан, не важно как и чем. Цель - максимально локализовать последствия взлома.
0
85 / 80 / 15
Регистрация: 25.05.2012
Сообщений: 230
Записей в блоге: 3
20.03.2013, 00:00
просмотрщика (flash) - в браузере?
Или отдельная прога?
Если отдельная в нее можно "закинуть" шифрование - ключ= пароль пользователя.

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

Добавлено через 32 минуты
2.
Второй вариант - неочень безопасный.

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

Добавлено через 4 минуты
При варианте 2 - даже при доступе к файлам - нужно знать пасс группы. Но если есть полный доступ к серверу - пару дней мониторинга и пассы будут найдены - по одному пользователю с каждой группы введет 1 раз и все.
+ перехват.
И т.д. и т.п.

Добавлено через 2 минуты
Тоесть будет база

user1:WEye3hG^W&
user2:jfwT&*T^E#g
user3:befuhWEF#uy

и скажем GhfbeT^#rf&^ - пасс группы.

Тогда
"WEye3hG^W&" = E( "GhfbeT^#rf&^" , passuser1)

Добавлено через 1 минуту
"jfwT&*T^E#g" = E( "GhfbeT^#rf&^" , passuser2)
и т.д.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
20.03.2013, 12:01
Мне интересно что будет с сервером, если несколько пользователей одновременно начнут скачивать/закачивать/просматривать?
0
85 / 80 / 15
Регистрация: 25.05.2012
Сообщений: 230
Записей в блоге: 3
20.03.2013, 20:09
Не должно сильно нагрузить. Файлы - не гигабайтные фильмы, пользователей не так уж и много.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
21.03.2013, 14:21
Цитата Сообщение от ostapdzen Посмотреть сообщение
Не должно сильно нагрузить. Файлы - не гигабайтные фильмы, пользователей не так уж и много.
Без тестов с конкретными алгоритмами, на правдоподобных данных говорить сложно.
Раз — вы ничего не знаете о реальных условиях работы приложения, все ваши домыслы фигня. Пока реальный опыт не получен, пока не занесены первые живые данные реальным пользователем — у вас нет обратной связи.
Источник.

Добавлено через 1 минуту
Цитата Сообщение от ostapdzen Посмотреть сообщение
и скажем GhfbeT^#rf&^ - пасс группы.
Тогда
"WEye3hG^W&" = E( "GhfbeT^#rf&^" , passuser1)
Добавлено через 1 минуту
"jfwT&*T^E#g" = E( "GhfbeT^#rf&^" , passuser2)
и т.д.
А не будет проблемой, когда пассы кто нибудь забудет и захочет его изменить?

Добавлено через 2 часа 36 минут
Цитата Сообщение от jkchief Посмотреть сообщение
Такое решение никак не подойдет, повторюсь - пользователь том менеджер крупной компании. Никаких программ для шифрования, ключей, токенов, сертификатов и ничего сложне того, что может постичь среднестатистическая домохазяйка.
А как они защищают подключение к почте без ssl?
0
85 / 80 / 15
Регистрация: 25.05.2012
Сообщений: 230
Записей в блоге: 3
21.03.2013, 20:23
Я тут и не делаю полное ТЗ. Сервер через ssl тоже шифрует все файли - и ничего, не падает.
А накрыть медным тазом можно любой сервер.
Ясен пень нужно смотреть, это ведь разработка.

Просто. Меняем пасс пользователю и перешифровываем его запись.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
21.03.2013, 22:57
Цитата Сообщение от ostapdzen Посмотреть сообщение
Я тут и не делаю полное ТЗ. Сервер через ssl тоже шифрует все файли - и ничего, не падает.
SSL шифрует канал.
Цитата Сообщение от ostapdzen Посмотреть сообщение
Просто. Меняем пасс пользователю и перешифровываем его запись.
Для этого придется взять пасс группы. Если я получил доступ к БД, то имею все ключи.
0
85 / 80 / 15
Регистрация: 25.05.2012
Сообщений: 230
Записей в блоге: 3
22.03.2013, 03:15
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
SSL шифрует канал.

Для этого придется взять пасс группы. Если я получил доступ к БД, то имею все ключи.
1. Шифрует файлы которые передаются.
2. Если у вас будет пасс хоть одного из группы - будет и пасс группы. Тут как не крути, второй вариант менее безопасен.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
22.03.2013, 21:22
Цитата Сообщение от ostapdzen Посмотреть сообщение
пасс группы
Обычно пользователь может входить в несколько групп.
И зачем пасс группы выдумали?

Архитектура какая та убогая.

Я бы файл сервер заменил бы на storage, который имеет свою локальную шифрованную базу, для пользователей, групп, привилегий и т.д. Между веб мордой и storage можно сделать любое защищенное соединение, между веб мордой и пользователем стандартный HTTPS.

На storage можно использовать сколь угодно хитрые алгоритмы шифрования.
0
85 / 80 / 15
Регистрация: 25.05.2012
Сообщений: 230
Записей в блоге: 3
23.03.2013, 00:08
Архитектура исходя из задания и ограничений.

И как работать с вашей той storage?

Добавлено через 21 минуту
Я тут тоже могу наговорить - облачное храние, облачные вычисления, и т.п. слов.

Вопрос был в том чтобы реализовать всю ту схему без встроенного шифрования и т.д.

Можете предложить что-то лучше - говорите.

Хотя я понимаю в чем беда = современные фирмочки научились парить заказчику много модных слов - типа будет безопасно, ведь наша storage это супер пупер программа которая имеет зашифрованную базу, умеет распознавать пользователей по биополю и выдает только все правильно. И в ней нету уязвимостей.
А на самом деле - все оказвается гораздо прозаичнее...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2013, 00:08
Помогаю со студенческими работами здесь

Пакетный файл для создания и удаления групп пользователей с чтением параметров из текстового файла
Всем добрый день. У меня возникла проблемка по написанию батника. Он должен создавать и удалять группы пользователей. Название группы и...

Авторизация для разных пользователей
как сделать чтобы пользователь с Логином Administrator переходил не на ту страницу на которую переходят все остальные пользователи? ...

Switchboard для разных пользователей
Доброе утро. Помогите, ну не понимаю я как использовать switchboard для разграничения пользователей, чтоб каждому пользователю были...

Ищу веб мастера для сайтов на Joomla. От 3 тыс. рублей за заготовку для сайта
Требуется веб разработчик сайтов на Joomla. Неспешно ищу веб мастера для создания заготовок для сайтов на CMS Joomla по конкретному ТЗ...

Доступ к интернету для разных пользователей
Доброго времени суток! Появился такой вопрос: как можно ограничить доступ к интернету для конкретного пользователя. В мое случае есть 3...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru