I'm creating a password vault, which is consisted of a bunch of HTTP services, a web client, and Android application, and an iOS application.
There is a very simple table called Passwords
that has these columns:
Id
UserId
Username
Password
Url
Notes
A user logs in via any client, adds passwords to this repository, and then has access to the list of his passwords.
In fact I'm creating KeePass, but in cloud.
Of course I need to make it as secure as possible. I've configured HTTPS for services, and only HTTPS calls are acceptable. I've also encrypted passwords in the Password
column, but all with one key.
What options I can take to maximize the security of this system? Any suggestion, even physical tiering would be so welcomed.
Clarification: As users of modern world, life is getting very complicated for us. Our ancestors only had to deal with few concepts and all they had for security was their shields and spears. Today, each user probably has more than 100 accounts across the entire Internet. I've been the subject of a hack, and I truly lost some things. So I decided to use passwords more securely. KeePass is an outstanding option. But it's usage is offline, and can't be shared across devices. There are services out there, but they are all paid services. At least one free service should exist to help people with their password management problems. That's why I've decided to play my role as much as I can. I can't make this question more specific, as it's already very specified. I need to help people manage their passwords, and have access to it on any device, whenever they want, free. To get there, I need to make the system as secure as possible. Maybe this could become a collaborative effort, just like LetsEncrypt. We deserve to live in security and safety. But we need technology to help us. Now all I'm asking for is for people to give me hints on how to make this system more secure. This is totally objective, answerable as shown already, and relevant to this site as much as I read in help center.