Einfach ist dies jetzt nicht, und eine gute Schnittstelle und co. Sollte vor zu ziehen sein. Jedoch wenn es darum geht, dass nur der Client (solange dieser sicher verwahrt wird) mit dem Server über eine öffentliche Schnittstelle kommunizieren soll so kannst du die serialisierten Anfragen mit einem einer asymmetrischen Verschlüsselung verschlüsseln. Wobei der Client den öffentlichen Schlüssel erhält.
Somit hättest du nach außen eine einfache Schnittstelle, die erst nach dem Entschlüsseln auf dem Server Sinn ergibt (Anfrage z.B. in JSON o.ä.). Alle anderen können Daten dahin senden, aber mehr auch nicht. (Man kann der Anfrage noch eine Art Salt hinzufügen (Einwegtoken o.ä.), damit niemand die anfrage abhören kann und dann einfach wiederholt.)
Der Unterschied zu einem einkompilierten Passwort ist marginal, in meinen Augen erfüllt es aber weitestgehend deine Kriterien wenn ich sie richtig verstanden habe. Aber solange garantiert wird, dass der öffentliche Schlüssel nur in die ausgewählten Hände kommt sollte es gehen.