I am building a system where participant A has some data that needs to be reviewed by participants C and D. However, this data must go through participant B first. Particant B will, on his turn, send a message to C&D that there is data for them and this allows C&D to view this data originally sent by participant A.
I am currently using streams so that A can publish the data in a stream. I know that it's not possible to restrict access to a stream. Everyone can subscribe and view the data in the stream, from my understandig. So I made a system where A can encrypt the data before publishing it on the stream and sending a message to B that the data is available for 'pick-up' and who the receiving party is (in this scenario C&D). B in this system is not allowed to access and view the data. His only job is to redirect it to C&D.
My idea was to send the key to decrypt the data from A directly to C&D where no other participant can view this key data. Is this possbile to do with multichain? If there is, I have not yet found a way to realise this. My back-up plan is to use a conventional database for the exchange of these keys.
It's a requirement to use party B in this project.
Thanks for reading, I hope the question is clear.