Тут две задачи стоит:
- обезопасить общение между клиентом и фронтендом
- обезопасить общение между фронтендом и бэкендом
Первое делается известными методами, я думаю их перечислять не надо.
Второе можно делать по-разному:
- можно организовать закрытую сеть между всеми серверами (варианты разные: от vpn, до физически отдельной сетки).
- можно делать https соединения, проверяя сертификаты друг друга
- можно подписывать сообщения, например с помощью
https://en.wikipedia.org/wiki/HMAC
Можно даже всё вместе сделать - зависит от уровня паранойи.
Передавать креды пользователя в открытом виде, само собой, нельзя. Нужно обезопасить само соединение (например, https использовать) или сами креды (шифровать ключом, известным только фронтенду и бекенду).