Hi Dino, thanks for the comment. Of course, I meant AES_256_GCM_SHA_384 - just forgot about the “SHA” part.
I thought this could be feasible, but I’m wondering about how it’s going to affect the platform, since, as you wrote, the AES encryption incurs a CPU cost. Hence my suggestion that it perhaps be done elsewhere in the whole flow.
Then I thought I could implement that feature in node-js, since it can also be done this way, but, like I’ve written earlier, the traffic can be quite high (talking about a few hundred thousand clients - don’t know yet if the requirements speak of daily/weekly/some other period of time; that’s still quite a fresh requirement). Hence my wondering about the CPU cost and the effect it’s going to have on Apigee-On-Premises.
Now, tackling one topic at a time:
- Virtual hosts:
I understand that such a cipher could be added to the virtual host, but does it mean that the Edge Routers would have to be restarted? Or does it pertain only to the references when it comes to configuring keystores and truststores? If the latter is the case, then it would actually be good, but I still do not know, if this solution should be implemented on this layer.
- Application layer:
I think this is going to be just the case - implementing that logic on this layer. Like I wrote above, initially I was thinking about node-js, but now I think that a Java callout would be a better solution for this kind of operation.
All in all, the case is that, once Apigee Edge receives the AES256-encrypted value (be it in queryparam, formparam or header), it would have to decrypt and then send it on to the backend. Still, I am also wondering about the hash part, but that will probably clarify once the requirements become “clearer”. Do you think that, with the possible load of a few hundred thousand daily clients (assuming 100,000 at the moment), this feature could perform well? Your thoughts on this would really be appreciated.