如何强制第三方服务尊重安全?

kse*_*een 9 c# security encryption ssl web-services

我必须提出一个集成过程,以允许现有系统使用外部数据提供程序.该系统是一个医疗时间表网站,使用ASP.NET MVC,允许患者安排他们的医生预约.

据我所知,你可以看到下图:

预期整合的基本模式

所有提供商必须公开我的合同ISuperIntegration,这将由我开发.我不会开发External service 1External service 2,他们将被其他公司开发的.

在这里,问题来了:立足的这个概念,我可以要求供应商的方式应该建立自己的服务,以正确地与我的网站沟通,我想禁止为其他第三方客户消耗"External Service 1""External Service 2",或者至少使其难以做到这一点.

这是我设置的东西列表:

  1. ISuperIntegration接口.它包含与我的域相关的操作,例如GetSchedule,GetDoctors等等.
  2. 传输协议.我不希望它变得复杂,所以我正在考虑使用它HTTP.
  3. 并且可以定义一些一般性建议,但可以轻松避免.

目前我正在考虑将HTTPS与证书身份验证结合使用.它需要实施者设置他们的基础设施,以便我的网站可以正确地使用数据.

如果我选择基本的HTTP,那么实施者就会把他们的服务留给其他人,这是我不想要的.

我希望我的问题很明确.很乐意提供您想要的任何其他解释.

我真的很感激您的任何回复,提交.谢谢!

atl*_*ste 7

我总是使用HTTPS来做这样的事情.我们只说这是做生意的成本.你根本不能让任何有嗅探器的人从空中抓住那种交通.所有银行等都使用HTTPS来保证安全的原因是有原因的.

除此之外,Web服务具有非常标准的安全机制,我建议通过HTTPS查看OAuth.有很多实现.

如果您谈论基本网站,我会使用标准的安全机制,以及基于组的安全性(归结为用户名+密码).同样,有很多实现.

基本上我的主要建议是:在安全性方面不要发明东西.如果你不是专家,你可能会弄错,并最终得到一些可以被第三方拦截或者(更糟)的东西.


Max*_*tiy 0

您有多种选择:

  1. 通过 HTTP 进行基本身份验证。
    专业。易于实施
    CON。UserCredentials 通过网络以明文形式传输

  2. 使用 WCF 实施 WS 安全性。例如,他们可以签署他们的请求。
    专业。使用 WCF CON 易于实施
    。Java 客户端可能面临问题

  3. 您可以强制客户端使用 HTTPS。
    CON。您应该设置您的网络服务器。