Also, please let me know if I am
totally on the wrong track here ?
你是 :)
您的目标是“确保请求仅来自受信任方”-如果将“受信任方”解释为“受信任用户”,这就是全球数百万个网站每天通过简单密码身份验证解决的标准身份验证问题.如果您想花哨(且不便/昂贵),可以使用SSL client certificates或RSA tokens.
但是,您似乎将“受信方”解释为“使用未经修改的客户端的受信任用户”,其中“未经修改”包括用户有意进行的修改.
好吧,算了吧.除非您让用户仅使用您提供的物理安全硬件,否则无法完成.根本不可能保护软件免受控制其执行环境的人的任意操纵.电影业已经花费了数十亿美元,由于加密和许可要求,迫使新标准的实施变得更加复杂和昂贵,并使许多试图这样做的客户疏远了,并且失败了(多次).
编辑:
似乎它根本与客户端无关(因为要保护它免受修改,通常意味着采取反盗版措施),这显然是在控制对服务器的访问.在这种情况下,别再浪费时间思考客户了.那不是你的问题.访问服务器是.因此,请开始考虑该协议,它如何对客户端进行身份验证以及它将接受什么请求.修正您的协议,使“假装为客户端”不再存在,因为合法客户端可能发送的请求以外的其他请求都不会被接受.