I have a web service using HMAC to verify signed requests. In this scenario, there is a key (password) assigned to each subscriber of my service. Of course, the user receives this key, but I also need to save the key in my database so that my service can verify the signature of each incoming request.
So, this is the case when I really need to store passwords in a database in a form that I can get and use. I canβt use the best practice of just storing a salty password hash in a database.
I could encrypt the keys, but then I need to store the encryption key somewhere. This is a fairly common scenario for RESTful secure web services, so the likes of Amazon (AWS) and Microsoft (Azure) should solve this problem.
What are the best practices in this situation?
source share