• bulubulu

    核心:

    让核心后端代码可被证明是一段已经开源的代码即可。

    大致思路:

    用支持 intel 的 sgx 机密计算的服务器,ovh 可以买到。可以把代码运行到 cpu 的机密内存里去,这里面包括服务器拥有者都没法篡改,并且可以对外签名,用 intelcpu 的凭据来签名。

    所有人也可以验证一段代码是否运行在这块机密内存中。这段代码开源,就能验证加密内存里的代码是不是开源的代码。就能在技术上透明后端,来证明没掺假,没存数据。

    一些实践

    我自己的需求是想要证明我的中转使用的是原厂key/不存数据。那么我们就单独做了一个后端运行在加密内存中,这个后端的请求链路:

    用户发送请求

    → 将他的key传到newapi做解析 (注意这里newapi并不可信,但仅仅是让newapi读取用户的key的数据,不需要可信) ,验证key是否有用。如果有用,携带从newapi带来的原key传来加密内存中的后端。

    → 将newapi传来的key根据模型名,选择官方baseurl进行调用 (这一步运行在加密内存中,baseurl已经写死为各方大厂,无法篡改)

    → 原厂返回相应结果后写入newapi进行扣费操作 (仅仅将扣费结果写回,不写回响应内容)

    → 加密内存中的后端返回完整响应结果

    实践中的一些文稿

    图片

    图片

    结尾

    抛砖引玉,我觉得这个办法可行。通过这个办法,同样有办法证明中转不存数据/中转不掺水。同样,如果最源头使用合适的机密计算方案,这个也能链式证明一个中转站的整个链路是不是 全都不存数据/不掺水(开源两套 机密内存中的数据,第一套源头用,用来证明不掺水以及是源头,第二套下游用,证明上游如果是源头,使用了第一套源码;如果不是源头 使用了第二套源码)。

    主楼
  • bulubulu

    这里是我们实践下来的完整文档,里面包含原理,验证器,验证方法。

    #1
  • woshidoi

    有意义,不过说点技术之外的事情,有时候说白了从价格和观察上就能看出来掺水没有,而且不知道老哥看没看过sub2api的里面的很多耐人寻味的设置,只能说有些东西的存在的原因不是这么的简单的哈哈哈哈,就跟电影市场里面的烂片一样,耐人寻味啊

    #2
  • Sam_Altman

    就算 sub2api 不做,估计他们 ai 二开一下也是分分钟的事

    #3
  • 123123-linuxdo

    也就是要求中转的服务器必须支持机密计算吗?

    #4
  • Enze

    在 aws nitro enclaves 上实现会简单很多

    #5
  • Enze

    若网关将请求转发至自建中转节点或第三方聚合服务,则正文虽未在本机留痕,仍会在其他环节被留存

    第五节这段描述的好像主要是出站请求,没考虑入站请求会不会被解密留存,除非把入站 TLS 也放进 TEE,由于普通规模实际部署时肯定要借助云厂商的基础设施和CDN等,所以可能无法通过这种方式证明,最好标一下

    (配合 Cloudflare Spectrum 这种4层的服务可行吗?知识盲区了)

    #6
  • 冰原Bill

    普通客户端只能通过https证书来判断响应是不是enclave返回的。

    不改造客户端的话,中转商可以给普通服务器+垃圾模型后端签发相同的证书来进行掺水。

    #7

发表回复

登录后回复