将加密数据或加密系统从美国传输到外国是一件棘手的事情,因为加密可以归类为弹药,并受美国出口法的管辖。
我计划创建一个网站,其中包含用 Javascript 编写的多种加密算法。我不希望将这些 js 文件分发给任何拥有美国境外 IP 的人,因为我觉得我可能会违反出口法(服务器至少在开始时将位于美国)。我知道有很多方法可以伪造 IP 来解决这个问题,但我觉得这是我可以实际实施的最佳限制,并且可以证明不将数据传输出国(尽职调查)。
由于各种原因,我不想对服务器端的任何内容进行加密。这是不可能的。
我可以编写一些服务器端代码来对 IP 地址进行地理编码,并返回或不返回 JS,但我认为我可以在 IIS 中设置一些配置设置。如果某些东西已经存在,我不想重写轮子。
是否可以将 IIS 配置为根据 IP 地址和地理编码限制对某些文件的访问?我是不是太偏执了?
答案1
您可以使用 IIS 的“IP 地址和域限制”,但您的 IP 范围列表(无论是美国境外的拒绝列表还是美国境内的允许列表)将相当大,并且必须扫描每个请求。如果您不期望流量很高,那么这可能不是问题。
IIS 中没有现成的 geoip 功能,您必须从应用程序中的 HttpModule 访问某些地理位置服务,并且可能会在一段时间内缓存对相同 IP 或 IP 范围的查找。
为什么不将这些 js 文件托管在非美国地区的 Azure 存储或 AWS S3 上?您不会从美国“导出”任何东西,而只是从其他地方引用它们?