Где хранить закрытые ключи в шифровании с открытым / закрытым ключом в PHP?

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

Вот как я думаю, я буду хранить оценки в базе данных, но я не уверен на 100%, хорошо это или лучше всего.

  1. Каждый пользователь (учитель, администратор, студент) имеет открытый и закрытый ключи
  2. Учитель оценивает задание
  3. Оценка зашифровывается несколькими открытыми ключами (ключами каждого учителя и администратора, а также студентами) и затем сохраняется в базе данных MySQL.
  4. Когда учитель, администратор или ученик заходит на страницу, чтобы увидеть оценку, оценка расшифровывается с помощью личного ключа этого пользователя.
  5. Закрытый ключ может храниться в базе данных в зашифрованном виде паролем пользователя. Когда пользователь входит в систему (со своим паролем), его закрытый ключ дешифруется, а затем сохраняется в переменной сеанса (или в файле cookie) для использования во время сеанса для расшифровки оценки.

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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]