Я разрабатываю (как приложение PHP 5.2 + MySQL) свое собственное веб-приложение для управления персональной информацией, которое предназначено для размещения на общем хостинге (например, bluehost или dreamhost) и для хранения множества очень конфиденциальных личных данных, включая такие как пароли, личные секретные ключи, финансовые данные, контакты и т. д. Как лучше защитить эти данные?
Я вижу следующие слабые места:
- Физический доступ к хосту со стороны хакеров или администраторов хостинга.
- Обнаружение расшифрованных данных между хостом и клиентом.
- Обнаружение расшифрованных данных на хосте перед их фактической отправкой.
И очевидные решения:
- Шифрование и дешифрование на стороне клиента (в апплете JavaScript или Java), сервер работает только с уже зашифрованными данными.
- Использовать HTTPS.
- См. § 1.
Есть ли лучшие идеи и известные хорошие реализации, в т.ч. какие-нибудь рамки там?
Меня интересуют следующие языки: PHP (5.3 или 5.2), Ruby, C # 4, JavsScript (Firefox 3.7), Java (1.6).