我正在为员工通过 Internet 访问的企业构建信息记录系统(基于 WCF)。该软件不会分发,只有少数用户安装了客户端应用程序。
由于存储的信息高度敏感,我显然想对任何服务请求进行身份验证和授权。因此,将有大约 4 个服务端点专门用于处理各种请求。为了保护这些服务,我正在考虑使用基于令牌的系统(实际上只是一个 GUID)对任何请求进行身份验证。这意味着除非客户端使用此令牌打包他们的请求,否则他们无法访问这些服务!对?现在,为了检索有效令牌,客户端必须连接到安全令牌服务,该服务以相互 SSL 身份验证开始(以防止中间人攻击),然后用户必须提供他们的登录详细信息(加密当然),然后如果详细信息是有效的,它们将提供一个令牌。然后记录令牌以及用户详细信息。现在客户端可以向其他服务发送有效请求。当其他服务之一收到请求时,将根据“当前用户存储”检查令牌和用户凭据并检索其角色。如果用户的角色允许该请求,则会对其进行处理。

对不起,如果这有点啰嗦!但基本上我要问的是安全专家:这听起来像这个系统的体面架构吗?我应该做任何改进吗?还是我应该把这个架构全部废弃并去做别的事情?(如果是这样,任何指导将不胜感激!)
我尊重我不是安全向导,但我愿意学习!所以请保持友善;)