可信智能计算服务 TICS-隐匿查询作业(可选)

时间:2023-11-01 16:18:22

隐匿查询作业(可选)

隐匿查询,也称隐私信息检索,是指查询方隐藏被查询对象关键词或客户id信息,数据服务方提供匹配的查询结果却无法获知具体对应哪个查询对象。数据不出门且能计算,杜绝数据缓存的可能性。

例如查询方希望查询身份证id为“张三”的人信贷公式数据,发起了一个类似于SELECT salary * 16 + age*10 FROM t WHERE id = ‘张三’的单数据集查询。t表存储在数据提供方计算节点中。查询方不希望有人知道自己查询的是“张三”这个人,也不希望知道查出的这条信贷公式结果具体值。

具体操作步骤如下:

  1. 联盟管理员登录TICS控制台。
  2. 作业发起方进入自己所属的计算节点,编写完作业之后,点击作业配置项。在弹出窗口点击隐匿查询开关。点击保存,提交审批。

    图1 隐匿查询开关

  3. 隐匿查询过滤条件出现多个字段时,需要使用.pir或.PIR标识隐匿查询字段。

    图2 pir或.PIR标识隐匿查询字段

  4. 合作方进入自己所属的计算节点,进入审批管理页面,点击审批详情,查看查询方的sql请求的id为“????”,无法获取查询具体查询数据。

    图3 审批详情
    • 仅限单表查询,不支持多表查询。
    • Sql中必须包含where条件。不支持join操作,即使是单方内的join操作。
    • where条件后必须包含隐匿查询字段,隐匿查询字段只能是非敏感唯一标识,且字段数值类型只能是字符串或整数。
    • where条件后出现多个字段时必须使用.pir或.PIR标识隐匿查询字段。
    • where条件后不支持or语句,多个条件必须使用and进行拼接。
    • 隐匿查询字段只能用于where id='xxx'或where id in ('xxx' 'xxx')或where id in (select xx from table)语句。
    • 隐匿查询条件为in+子查询时,子查询中数据集只能是发起方数据集。

support.huaweicloud.com/usermanual-tics/tics_02_0082.html