Sorry, I did not mention that https would already be used. What could be done for the data being transported over the wire? Like an automated encrypted pub/sub
let’s assume that https is vulnerable to man-in-the-middle attacks, and is already being used, what other solution could be implemented without modifying the core?
If you don’t want to be susceptible to MITM attacks, you’ll need to provide an out-of-band exchange of public keys and through those you can then negotiate the exchange of keys for a symmetric encryption scheme (asymmetric encryption is a bit too expensive for streaming data).
Basically, what https already does. So, why exactly do you want to reinvent the wheel?
We have a client who is very sensitive about HIPAA. They implied that the data to be shared among clients required encryption. Which looks like an overkill to me. That’s why I started this investigation.
Well, you could install custom, self-signed certificates out-of-band at each client to make really sure that no-one can do a MITM but why bother?
HIPAA is not about preventing the once-in-a-lifetime superspecial event no-one on Earth would have predicted, but rather about using bog-standard, industry-proven standards to make it very unlikely that unauthorized data access happens (yes, “unlikely”. Not “impossible” - you cannot achieve that, ever. The only impossible-to-breach computer system is an offline and powered-down computer, sealed in a seamless steel shell, surrounded by meters of concrete at the bottom of the Mariana Trench).
An “impossible-to-breach” system is also an unusable system.
Oh, and you should rethink the “periodic password change” policy.
It actually weakens security. Security researchers did a paper on this (they used leaked user databases from numerous companies with and without this policy).
Turns out that companies with this policy had considerably weaker passwords on average.
I can see that effect with my colleagues - one of our programs has this “feature” and they all are using the scheme: “Easy, Old password + number which is regularly incremented”