Processing math: 5%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

图卷积宽度跨域推荐系统

黄玲, 黄镇伟, 黄梓源, 关灿荣, 高月芳, 王昌栋

黄玲, 黄镇伟, 黄梓源, 关灿荣, 高月芳, 王昌栋. 图卷积宽度跨域推荐系统[J]. 计算机研究与发展, 2024, 61(7): 1713-1729. DOI: 10.7544/issn1000-1239.202330617
引用本文: 黄玲, 黄镇伟, 黄梓源, 关灿荣, 高月芳, 王昌栋. 图卷积宽度跨域推荐系统[J]. 计算机研究与发展, 2024, 61(7): 1713-1729. DOI: 10.7544/issn1000-1239.202330617
Huang Ling, Huang Zhenwei, Huang Ziyuan, Guan Canrong, Gao Yuefang, Wang Changdong. Graph Convolutional Broad Cross-Domain Recommender System[J]. Journal of Computer Research and Development, 2024, 61(7): 1713-1729. DOI: 10.7544/issn1000-1239.202330617
Citation: Huang Ling, Huang Zhenwei, Huang Ziyuan, Guan Canrong, Gao Yuefang, Wang Changdong. Graph Convolutional Broad Cross-Domain Recommender System[J]. Journal of Computer Research and Development, 2024, 61(7): 1713-1729. DOI: 10.7544/issn1000-1239.202330617
黄玲, 黄镇伟, 黄梓源, 关灿荣, 高月芳, 王昌栋. 图卷积宽度跨域推荐系统[J]. 计算机研究与发展, 2024, 61(7): 1713-1729. CSTR: 32373.14.issn1000-1239.202330617
引用本文: 黄玲, 黄镇伟, 黄梓源, 关灿荣, 高月芳, 王昌栋. 图卷积宽度跨域推荐系统[J]. 计算机研究与发展, 2024, 61(7): 1713-1729. CSTR: 32373.14.issn1000-1239.202330617
Huang Ling, Huang Zhenwei, Huang Ziyuan, Guan Canrong, Gao Yuefang, Wang Changdong. Graph Convolutional Broad Cross-Domain Recommender System[J]. Journal of Computer Research and Development, 2024, 61(7): 1713-1729. CSTR: 32373.14.issn1000-1239.202330617
Citation: Huang Ling, Huang Zhenwei, Huang Ziyuan, Guan Canrong, Gao Yuefang, Wang Changdong. Graph Convolutional Broad Cross-Domain Recommender System[J]. Journal of Computer Research and Development, 2024, 61(7): 1713-1729. CSTR: 32373.14.issn1000-1239.202330617

图卷积宽度跨域推荐系统

基金项目: 国家自然科学基金项目(62106079)
详细信息
    作者简介:

    黄玲: 1985年生. 博士,讲师. CCF会员. 主要研究方向为数据挖掘、机器学习

    黄镇伟: 1999年生. 硕士. 主要研究方向为数据挖掘、机器学习

    黄梓源: 1998年生. 硕士. 主要研究方向为数据挖掘、机器学习

    关灿荣: 1999年生. 硕士. 主要研究方向为数据挖掘、机器学习

    高月芳: 1979年生. 博士,副教授. CCF会员. 主要研究方向为数据挖掘、计算机视觉、机器学习

    王昌栋: 1984年生. 博士,副教授,博士生导师. CCF杰出会员. 主要研究方向为数据挖掘、机器学习

    通讯作者:

    高月芳(gaoyuefang@scau.edu.cn

  • 中图分类号: TP181

Graph Convolutional Broad Cross-Domain Recommender System

Funds: This work was supported by the National Natural Science Foundation of China (62106079).
More Information
    Author Bio:

    Huang Ling: born in 1985. PhD, assistant professor. Member of CCF. Her main research interests include data mining and machine learning

    Huang Zhenwei: born in 1999. Master. His main research interests include data mining and machine learning

    Huang Ziyuan: born in 1999. Master. His main research interests include data mining and machine learning

    Guan Canrong: born in 1999. Master. His main research interests include data mining and machine learning

    Gao Yuefang: born in 1979. PhD, associate professor. Member of CCF. Her main research interests include data mining, computer vision, and machine learning

    Wang Changdong: born in 1984. PhD, associate professor, PhD supervisor. Distinguished member of CCF. His main research interests include data mining and machine learning. (changdongwang@hotmail. com)

  • 摘要:

    跨域推荐(cross-domain recommendation,CDR)通过利用其他域的额外知识,有效缓解了传统推荐系统遭遇的数据稀疏性问题. 但是当前的CDR方法忽略了用户-项交互图所蕴含的高阶信息. 为此,提出了一个新的框架,称为图卷积宽度跨域推荐系统(graph convolutional broad cross-domain recommender system,GBCD). 具体地,将传统的用户-项交互的2-部图扩展到一个(D+1)-部图,以建模每个域中用户和项之间的关系,然后使用公共用户作为源域和目标域之间的桥梁来传递信息. 通过图卷积网络(graph convolutional network,GCN)学习用户与项之间的高阶关系,以聚合领域信息. 然而,由于GCN在大量节点下收敛速度非常慢,并倾向于吸收不可靠的交互噪声,导致鲁棒性较差. 为此,将域聚合特征输入到宽度学习系统(broad learning system,BLS),并利用BLS的随机映射特征增强了GCN的鲁棒性,进而获得了较好的推荐性能. 在2个真实数据集上进行的实验结果表明,GBCD优于各种先进的跨域推荐方法.

    Abstract:

    Cross-domain recommendation (CDR) can effectively alleviate the data sparsity problem suffered by the traditional recommendation systems via leveraging additional knowledge from other domains. How to model the interaction information of users and items from the source to target domains is a key issue in CDR. In the current CDR methods, the higher-order information implied by the user-item interaction graph is ignored. To this end, we propose a new framework called graph convolutional broad cross-domain recommender system (GBCD). Specifically, we extend the traditional bipartite graph of user-item interactions to a (D + 1)-partite graph to model the relationship between users and items in each domain, and then use common users as a bridge between the source domain and target domain to transfer information. The higher-order relationships between users and items are learned by graph convolutional network (GCN) to aggregate neighbor information. However, GCN converges very slowly with a large number of nodes and tends to absorb unreliable interaction noise, resulting in poor robustness. Therefore, we feed the domain-aggregated features to broad learning system (BLS), which enhances the robustness of GCN by exploiting the stochastic mapping features of BLS, achieving superior recommendation performance. Experiments conducted on two real datasets show that GBCD outperforms the existing state-of-the-art cross-domain recommendation methods.

  • 随着云计算技术在医疗领域的应用与普及,越来越多的用户倾向于将电子健康记录(electronic health record, EHR)外包至云端进行存储,以EHR数据为驱动的各类信息系统与应用为用户提供了各类便利服务. 例如:通过基于云共享的电子病历管理系统中保存的患者的各类历史医疗记录,医生在对患者的诊疗过程中能够根据他们的历史医疗数据做出更为精准的医疗服务[1];通过支持跨域数据访问的电子健康数据平台,保险公司能够获知客户近年来的体检信息或医疗诊断病历,为客户提供方便快捷的保险付费与理赔业务[2]. 由于EHR中包含了诸如患者身份信息和其他医疗敏感信息等私人数据[3],数据安全成为了云环境下EHR驱动的数据共享服务与应用所关注的主要问题. 为了避免隐私泄露,数据拥有者通常会在EHR存储于云端之前将其做加密处理.

    由于在云环境中能够为用户提供细粒度、1对多和拥有者可控的密文数据安全共享方法[4],密文策略属性基加密(ciphertext-policy attribute-based encryption, CP-ABE)成为了研究者的关注热点并被广泛应用. 在传统的CP-ABE机制中,授权用户的解密权限由其拥有的属性集合生成,只有当解密权限对应的属性集合满足嵌入密文的访问策略时,授权用户才能够正确地完成密文解密. 但由于不同的用户可能会拥有相同的属性集合[5],CP-ABE机制存在解密权限滥用的安全问题. 解密权限滥用问题是由1对多的访问授权特点引起的,授权用户利用此特点可以在执行诸如出售解密密钥[6]或伪造解密设备[7]等恶意行为后来躲避系统问责. 例如,Alice和Bob拥有相同的属性集合,当该属性集合对应的解密密钥被恶意泄露后,系统无法从泄露的密钥中推断出泄密者的身份.

    为解决由于解密权限恶意滥用而导致的数据安全问题,研究者提出了针对不同攻击行为的解决方案:白盒可追踪性(white-box traceability)[5-6,8-13]和黑盒可问责性(black-box accountability)[7,14-16]. 前者通过将用户身份信息嵌入到解密密钥来对被恶意用户泄露的解密密钥进行身份追踪,后者通过用户身份信息参与的加密和解密算法来实现对伪造解密设备的恶意用户的身份问责. 针对部署环境资源受限的场景,文献[4]基于大属性域(large universe)技术构造公共参数固定的密文数据访问方案,该方案公共参数的大小不会跟随属性数量的增长而改变,降低存储开销的同时还实现了方案的可扩展性. 文献[5]将大属性域技术和白盒可追踪技术相结合,提出了一种系统扩展性良好且抵抗用户密钥泄露的密文数据访问方案. 为了降低客户端解密过程的计算开销,文献[10]通过构造代理解密密钥的方式将大量的双线性计算外包至云端执行,此外该方案还支持访问权限的撤销. 为了解决现实医疗场景中由于患者离线而无法授权的问题,文献[11]在白盒可追踪CP-ABE方案的基础上引入了紧急访问授权(break glass key)技术,满足了不同场景下的医疗密文数据访问授权功能需求,并支持密钥泄露和紧急访问操作的用户身份追踪. 由于恶意用户可通过将解密密钥封装在解密设备中而使得上述白盒可追踪方案失效. 为了解决此问题,文献[14]为每个解密密钥分配了一个独有的索引参数,并通过对应的加解密算法将解密密钥和索引参数进行绑定,从而实现对构造解密设备的恶意用户的身份问责;文献[15]采用基于身份的集合加密(identity-based set encryption, IBSE)和指纹码(fingerprint code)技术设计了支持黑盒可问责的属性基恶意用户追踪方案,该方案的解密密钥长度与系统用户数量无关,能够有效降低客户端的存储与通信开销;文献[16]采用属性基恶意用户追踪(attribute-based traitor tracing, ABTT)和基于策略的变色龙哈希(policy-based chameleon Hash, PCH)算法构造了属性基可编辑区块链方案,通过引入指纹码和基于身份数字签名使其支持黑盒可问责性,实现了可编辑区块链应用场景的恶意用户身份问责. 文献[17]通过将用户对数据的操作记录上传至区块链中存储实现了用户访问行为的审计追踪,但该方案是针对明文数据场景的,在访问行为存储过程和审计过程中无法保护用户的隐私信息,并且基于区块链的审计追踪过程需要遍历所有区块以提取审计目标的访问记录,增加了额外的时间开销. 为了优化区块遍历过程的时间开销,Ruan等人[18]针对区块链交易事务提出了有向无环图结构,图中的节点表示交易事务对应的账户在某个版本下的状态值,图中的有向边表示交易,通过有向无环图建立“交易账户状态-交易事务”之间的映射关系,并在此基础上构造跳表索引结构来减少查询账户状态所需遍历的区块数量,优化时间效率. 然而该方案同样是面向明文数据场景的,无法应用于密文数据访问行为审计的应用场景. 文献[19]在CP-ABE密文访问架构上,利用同步聚合签名(synchronized aggregate signature)技术实现了用户在密文访问过程中对使用云端资源消耗凭据的快速验证.

    如上所述,现有研究方案仅能够对特定的解密权限滥用行为实现恶意用户身份追踪,而对于可能会导致潜在安全威胁和隐私泄露的授权用户的正常访问行为还缺少相应的身份追踪方法. 例如,Wang等人[19]指出分布式拒绝服务(distributed denial-of-service, DDoS)攻击可能由授权用户正常的访问行为触发,虽然文献[20]通过在CP-ABE解密算法中引入计数器参数来限制授权用户对密文的访问次数,但该方案在响应授权用户的访问请求时,云端仍然需要消耗一定的计算资源,无法有效抵抗DDoS攻击模式;此外在现实应用中,患者通常希望加密EHR数据仅能够被自己的主管医师所访问,但由于CP-ABE的1对多特性,患者的这一隐私期望难以得到实现,进而导致潜在的隐私泄露风险;另一方面,《通用数据保护条例》等法律赋予了数据拥有者有关个人数据处理过程的知情权[21],但由于CP-ABE的1对多特性带来的匿名性[16],导致现有基于属性基加密机制的密文数据共享方案在现实应用中存在合规性问题. 如上所述,现有CP-ABE数据访问授权方案应用于以数据为驱动的信息共享服务场景时,仍然面临数据安全与合规性等问题. Facebook与滴滴出行由于恶意滥用用户数据与违反法律法规而遭受处罚的案例表明,若不能有效解决数据安全与合规性问题,则难以在现实中推广以数据驱动的各类信息与数据服务.

    导致上述问题的根本原因是现有基于属性基加密机制的密文共享方案无法提供密文数据访问行为的身份追踪. 为了解决这一问题,本文在白盒可追踪的密文策略属性基加密机制基础上提出了一个可证明安全的支持授权用户访问行为身份追踪的跨域密文数据共享方案. 在该方案中,授权用户的所有访问请求将被记录在区块链中用于访问行为的身份追踪. 本文的主要创新点包括3点:1)针对来自于不同机构授权用户的密文访问需求,通过多授权机构管理各自机构的访问属性,并利用内嵌密文的双重访问策略设计支持白盒可追踪的跨域密文数据共享方案,该方案基于大属性域技术构造,具有较好的可扩展性;2)通过轻量级Gamma签名和交互式外包解密算法实现解密密钥和访问行为绑定,并将用户访问行为以密文形式存储在区块链中,实现访问行为完整性保护;3)为了减轻数据拥有者针对访问行为的身份审计过程需要遍历区块链的时间开销,本方案设计了用于区块链遍历优化的倒排索引结构,并基于BLS签名和隐私集合求交(private set intersection, PSI)运算构造陷门查询算法,在优化区块链上对密文内容遍历效率的基础上,对用户的敏感信息和访问模式进行了有效保护.

    假设GGT为2个阶为素数p的乘法循环群,令g为群G的生成元,群GGT之间的双线性映射e:G×GGT具有3个性质:

    1)双线性. f,hRGa,bRZp,有 e(fa,hb)=e(f,h)ab.

    2)可计算性. f,hRGe(f,h)是可计算的.

    3)非退化性. e(g,g)1.

    定义1. 访问结构[22]. 令{P1,P2,,Pn}为参与实体的集合,如果集合A2{P1,P2,,Pn}对于B,C:若BABC,有CA,则称A是单调的. 若访问结构A是参与实体{P1,P2,,Pn}构成幂集的非空子集合,即A2{P1,P2,,Pn}{},则包含在A中的集合被称为授权集合,不包含在A内的集合为非授权集合.

    定义2. 线性秘密分享方案(linear secret sharing scheme, LSSS)[22]. 令p为素数,构建在参与者集合A上的秘密共享方案Π满足2个条件时,则称ΠZp上是线性的:

    1)每个实体分享的子秘密是Zp上的向量;

    2)对于秘密分享方案Π存在一个分享生成矩阵{\boldsymbol{M}} \in \mathbb{Z}_p^{},其中{\boldsymbol{M}}l \times n矩阵. 对于矩阵{\boldsymbol{M}}中的每一行i = 1,2, … ,l,映射函数\rho :\{ 1,2, … ,l\} \to \mathbb{A}把每一个矩阵行向量映射为对应的参与者\rho (i). 构造列向量 {\boldsymbol{v}} = (s,{v_2},{v_3}, … ,{v_n}) ,其中s \in {\mathbb{Z}_p}是主秘密,随机数 {v_2}, … , {v_n} \in {\mathbb{Z}_p} 用来掩饰s. 由{\boldsymbol{Mv}}得到主秘密sl个子秘密,其中{({\boldsymbol{Mv}})_i}表示参与者\rho (i)所分配到的子秘密.

    S \in \mathbb{A}为任意授权集合,且I \subset \{ 1,2, … ,l\} 被定义为I = \{ i:\rho (i) \in S\} ,则存在{\{ {\omega _i} \in {\mathbb{Z}_p}\} _{i \in I}}对于分享生成矩阵{\boldsymbol{M}}满足

    \sum\limits_{i \in I} {{\omega _i}{{\boldsymbol{M}}_i} = (1,0, … ,0)}.

    定义3. q-type假设[23]. 令g为双线性群G中的随机元素,d,s,{b_1},{b_2}, … ,{b_q} \in {\mathbb{Z}_p}q + 2个随机数. 若对给定的双线性映射(p,G,{G_T},e)和多元组( g,{g^s} {g^{{d^i}}},{g^{{b_j}}}, {g^{s{b_j}}},{g^{{d^i}{b_j}}},{g^{{d^i}/b_j^2}} , \forall (i,j) \in [q,q] {g^{{d^i}{b_j}/b_{j'}^2}} , \forall (i,j,j') \in [2q,q,q]j \ne j' {g^{{d^i}/b_j^{}}} , \forall (i,j) \in [2q,q]i \ne q + 1 {g^{s{d^i}{b_j}/b_{j'}^{}}},{g^{s{d^i}{b_j}/b_{j'}^2}} , \forall (i,j,j') \in [q,q,q]j \ne j'),若攻击者无法在多项式时间内以不可忽略的优势区分e{(g,g)^{s{d^{q + 1}}}}和随机元素R \in {G_T},则称q-type假设成立.

    定义4. l-SDH假设[24]. 假设G是阶为素数p的双线性群且g为生成元,在群G上的l-SDH(l-strong Diffie-Hellman)问题被定义为:对给定元组(g,{g^x},{g^{{x^2}}}, … ,{g^{{x^l}}})(c,{g^{1/(c + x)}}) \in {\mathbb{Z}_p} \times G,若攻击者无法在多项式时间内以不可忽略的优势区分上述参数,则称l-SDH假设成立.

    图1所示,本文方案包含6个实体,其中密钥生成中心和授权代理被假设为完全可信.

    图  1  系统架构示意图
    Figure  1.  Illustration of system architecture

    1)密钥生成中心(key generation center, KGC). 该实体负责生成系统公开参数和系统主私钥.

    2)授权代理(authority agent, AA). 为了有效管理不同机构用户的访问属性,方案包含若干个AA,每个AA管理对应的属性域. AA为系统用户生成公私钥及访问密钥;同时全体AA参与区块链运行维护,并负责管理用于区块链遍历优化的倒排索引结构.

    3)云服务提供商(cloud service provider, CSP). CSP为系统用户提供加密数据存储服务和外包解密服务.

    4)数据拥有者(data owner, DO). DO生成加密数据并上传到CSP端,同时将外包解密算法所需的辅助信息发送至区块链存储,此外DO还能够针对外包数据发起访问行为的审计查询.

    5)数据使用者(data user, DU). DU向所属的AA注册以获得解密密钥. 访问数据时,DU向CSP发送访问请求以获得外包解密密文,并在本地完成最终的解密操作.

    6)区块链(blockchain, BC). 区块链作为方案的分布式账本,DU的访问请求以交易事务的形式存储在区块链中. 链中各类节点由AA担任,包括主节点(peer node)、排序节点(ordering node)和查询节点(query node, QN)[25],其中主节点负责交易事务的存储,排序节点负责共识协议,查询节点负责响应用户的数据访问请求和审计请求.

    本文方案包含11个多项式算法,各算法描述为:

    1)系统初始化S etup({1^\kappa }) \to (pp,msk). KGC执行该算法. 该算法以安全参数{1^\kappa }为输入,输出系统公共参数pp和主私钥msk,下列算法描述中将省略系统公共参数.

    2)授权代理初始化AAS etup(msk) \to (aPK,aSK). KGC执行该算法. 该算法以主私钥为输入,输出授权代理AAi的公私钥对(aP{K_i},aS {K_i}).

    3)实体初始化EntS etup(msk) \to (PK,SK). KGC执行该算法. 该算法以主私钥msk为输入,输出CSP和BC的公私钥对(PK,S K).

    4)授权用户密钥生成KeyGen(aS{K_i},ui{d_j},S) \to (uP{K_{i,j}},uS {K_{i,j}},uD{K_{i,j}}). AAi执行该算法. 该算法以私钥aS{K_i}和数据使用者DUj身份ui{d_j}和访问属性集合S为输入,输出DUj的公/私/解密密钥三元组(uP{K_{i,j}},uS {K_{i,j}}, uD{K_{i,j}}).

    5)加密Enc(m,({\boldsymbol{M}},\delta ),({\boldsymbol{A}},\rho )) \to \{ CT,aux\} . DO执行该算法. 该算法以访问策略\{ ({\boldsymbol{M}},\delta ),({\boldsymbol{A}},\rho )\} 、明文m为输入,输出密文CT和辅助解密参数aux.

    6)索引生成IdxGen(fid,oSK,P{K_{{\text{BC}}}}) \to idx. DO执行该算法. 该算法以外包文件名fid、私钥oSK和区块链公钥P{K_{{\text{BC}}}}为输入,输出索引结构idx.

    7)外包解密 OutDec(CT,OK,aux) \to C{T_{{\text{out}}}} . CSP执行该算法. 该算法以DU的外包解密密钥OK和辅助解密参数aux为输入,输出密文CT的外包解密密文C{T_{{\text{out}}}}.

    8)解密 Dec(C{T_{{\text{out}}}}) \to m/ \bot . 数据使用者DUj执行该算法. 该算法以外包解密密文C{T_{{\text{out}}}}为输入,输出明文m \bot .

    9)审计查询生成 QryGen(fi{d_{\text{t}}},oSK) \to {T_{\text{Q}}} . DO执行该算法. 该算法以DO私钥oSK和目标文件名fi{d_{\text{t}}}为输入,输出审计查询 {T_{\text{Q}}} .

    10)查询匹配 QryInt({T_{\text{Q}}},idx) \to \{ bn\} . BC执行该算法. 该算法以审计查询 {T_{\text{Q}}} 和索引结构idx为输入,输出区块编号集合 \{ bn\} .

    11)身份追踪Trace(OK,aS{K_i}) \to uid. AAi执行该算法. 该算法以外包解密密钥OKAAi私钥aS{K_i}为输入,输出内嵌于OK中的DU的身份信息uid.

    在该方案中,KGC和AA被假定为完全可信的;CSP被假定为“诚实且好奇”的,即CSP会诚实地存储加密数据和执行预定义的算法,但会从整个存储和解密流程中试图获取用户的隐私信息;系统的攻击者被假定为非授权用户、恶意授权用户和其他攻击者,其中非授权用户会尝试利用已掌握的解密权限来解密无权限访问的密文数据,恶意授权用户会试图对自己的访问行为进行抵赖或出售解密权限,其他攻击者会试图获取系统内用户的各项隐私信息(例如从区块链中存储的访问请求、倒排索引内容和审计查询中获取的访问模式等隐私信息).

    选择性安全(selective security)[6]. 本文方案的数据机密性(data confidentiality)建立在选择性安全基础之上. 选择性安全通过敌手和挑战者之间的游戏来定义,假设X为敌手发起密钥查询的次数上限且{X_1} \in \{ 0,1, … ,X\} ,游戏具体流程为:

    1)初始化. 敌手选择要挑战的访问结构S{T^*},并将其发送给挑战者.

    2)参数建立. 挑战者执行S etup()AAS etup()算法,生成公共参数pp和授权代理AA的公私钥(aPk, aSK),并将ppaPK发送给敌手.

    3)查询阶段1. 敌手为其身份信息ui{d_{{{X}_1}}}和属性集合{S_{{{ X}_1}}}向挑战者发出密钥请求,其中{S_{{{X}_1}}} \notin S{T^*}. 挑战者执行 KeyGen() 算法为其生成对应的解密私钥uD{K_{ui{d_{{{ X}_1}}},{S_{{{ X}_1}}}}}.

    4)挑战. 敌手将2个等长的消息({m_0},{m_1})发送给挑战者,挑战者随机选取\beta \in \{ 0,1\} ,并基于访问结构S{T^*}执行Enc()算法对{m_\beta }进行加密,并将密文CT发送给敌手.

    5)查询阶段2. 敌手在{S_{{{ X}_1}}} \notin S{T^*}{{ X}_1} \leqslant { X}的约束下延续查询阶段1的行为以获取不同属性集合的解密密钥.

    6)猜测. 敌手输出对\beta 的猜测结果\beta ' \in \{ 0,1\} . 在该游戏中,敌手的优势被定义为|Pr[\beta ' = \beta ] - 1/2|.

    定义5. 如果对于所有的概率多项式时间(probabilistic polynomial time, PPT)的敌手无法以不可忽略的优势赢得上述游戏,则称该方案是选择性安全的.

    追踪正确性(tracing correctness). 本文方案访问行为的可追踪性通过白盒可追踪性(white-box traceability)[9]实现,即授权用户无法伪造其他用户的解密权限,进而无法抵赖自己的访问行为. 审计正确性通过敌手和挑战者之间的游戏来定义,假设O为敌手发起的密钥查询的次数上限,游戏具体流程为:

    1)参数建立. 挑战者执行S etup()AAS etup()算法,生成公共参数pp和授权代理AA的公私钥(aPk,aSK),并将ppaPK发送给敌手.

    2)密钥查询. 敌手向挑战者提交用户身份和属性集合(ui{d_1},{S_1}),(ui{d_2},{S_2}), … ,(ui{d_O},{S_O})以获取对应的解密密钥.

    3)访问请求伪造. 敌手通过输出解密密钥uD{K^*}来伪造一个访问请求re{q^*},若Trace()算法的输出结果不属于\{ ui{d_1},ui{d_2}, … ,ui{d_O}\} ,则敌手赢得该游戏. 敌手的优势被定义为Pr[Trace() \notin \{ ui{d_1},ui{d_2}, … ,ui{d_O}\} ].

    定义6. 如果对于所有的概率多项式时间敌手无法以不可忽略的优势赢得上述游戏,则称该方案能够实现追踪正确性.

    此外,系统还需要保证数据拥有者在审计过程中的索引隐私、查询隐私和访问模式隐私:

    1)索引隐私(index privacy). 索引隐私保证了在区块链查询节点中存储的索引结构的机密性,使得攻击者无法根据索引内容推测出DO的敏感信息.

    2)查询隐私(query privacy). 查询隐私保证了其他攻击者无法从DO在发起审计查询中获取审计目标的相关信息. 在区块链查询节点处存储的倒排索引以密文形式存储,审计查询以陷门形式存在.

    3)访问模式隐私(access pattern privacy). 访问模式隐私保证了审计查询结果的隐私性,以防止攻击者从查询结果中推测出索引结构的隐私信息和陷门内容[26],为了实现访问模式隐私,需要确保不同查询的返回结果是不可区分的.

    图1所示,支持用户访问行为审计的跨域密文共享方案包含5个阶段,各阶段主要流程为:

    1)KGC初始化生成系统参数,并为AA、BC和CSP生成对应的公私钥.

    2)AA为各自管理域中的DU生成公私钥和解密密钥,并为DO生成全局公私钥对.

    3)DO对明文加密,将密文上传至CSP存储;同时基于明文数据文件名构造倒排索引的索引词典,连同外包解密过程所需的辅助信息上传至BC存储.

    4)当DU访问云端密文数据时,DU生成外包解密密钥,并构造密文访问请求,在此基础上生成访问请求数字签名,将访问请求和数字签名一并发送给BC和CSP;BC查询节点对数字签名验证后,对访问请求进行加密后发送至BC存储,完成对访问目标对应的倒排索引的更新,并将对应的辅助解密参数发送给CSP;CSP利用辅助解密参数和访问请求完成外包解密,将外包解密密文发送给DU,最终由DU在本地完成外包解密密文的解密操作.

    5)DO对外包密文数据进行访问者身份审计时,首先针对审计目标文件构造陷门查询,并将其发送给BC;BC查询节点收到查询后在倒排索引结构上进行密文求交运算,根据匹配结果定位审计目标文件的访问请求所在区块编号,并依据区块编号找到待审计文件对应的加密访问请求,对其解密后从中抽取出DU的身份信息,并将其加密后发送给DO.

    方案中常用的符号和语义描述如表1所示.

    表  1  常用符号和描述
    Table  1.  Commonly Used Symbols and Their Descriptions
    符号 描述
    pp, msk 系统公共参数,系统主私钥
    aPK, aSK 授权代理公、私钥
    PKBC, SKBC 区块链节点公、私钥
    PKCSP, SKCSP 云服务提供商公、私钥
    uid, S DU身份信息及其属性集合
    uPK, uSK, uDK, OK DU公、私钥,解密密钥和外包解密密钥
    oid, oPK, oSK DO身份信息及公、私钥
    m, fid, ftg 明文数据,对应文件名及文件名标签
    SEnc, SDec 对称加、解密函数
    H, H1, H2, H3, H4, F 密码学哈希函数,伪随机函数
    CT, CTout 密文,外包解密密文
    bn, ntg 区块编号,区块编号标签
    req, Creq 访问请求,访问请求密文
    idx, TQ 倒排索引,审计查询
    下载: 导出CSV 
    | 显示表格

    该阶段由KGC分别为系统、授权代理和其他实体生成对应的参数和公私钥.

    1)KGC调用算法Setup({1^\kappa }) \to \{ pp,msk\} 生成系统公共参数pp与系统主私钥msk,该算法具体流程为:

    KGC选择{1^\kappa }为系统安全参数,令g是阶为素数p的双线性群G生成元,双线性映射e:G \times G \to {G_T}. 令S Enc,S Dec为安全对称加、解密函数,F为伪随机函数(pseudorandom function)[24],KGC随机选择 {g_{\text{1}}},{g_2},{g_3},{g_4} \in G \alpha ,a \in \mathbb{Z}_p^*,计算h = g_1^a,f = {g^a},v = {g^\alpha },选择密码学哈希函数{H_1}:{\{ 0,1\} ^*} \to \mathbb{Z}_p^*,{H_2}:G \to \mathbb{Z}_p^*,{H_3}:\{ 0,1\} * \to G{H_4}: {\{ 0,1\} ^*} \to {\mathbb{Z}_p},H:{\{ 0,1\} ^*} \to {\{ 0,1\} ^C}C为常数. 系统公共参数pp =\{ G,{G_{T,}}e,g,{g_1},{g_2},{g_3},{g_4},h,f,v,{v^{ - 1}}\} ,系统主私钥msk = \alpha .

    2)KGC调用算法AASetup() \to \{ aPK,aSK\} 为授权代理AAi生成公私钥. KGC随机选择{\alpha _i} \in \mathbb{Z}_p^*,计算AAi公钥aP{K_i} = g_1^{{\alpha _i}},私钥aS{K_i} = \{ aS {K_{i,1}} = {\alpha _i},aS {K_{i,2}} = a\} ,其中aS {K_{i,2}}为所有AA的全局私钥.

    3)KGC调用算法EntSetup() \to \{ PK,SK\} 为BC和CSP分别生成对应的公私钥对. KGC随机选择b,c \in \mathbb{Z}_p^*,则BC的公私钥对为P{K_{{\text{BC}}}} = {h^b},S{K_{{\text{BC}}}} = b,由于BC由全体AA维护,因此AA拥有BC公私钥对(P{K_{{\text{BC}}}},S{K_{{\text{BC}}}});CSP的公私钥对为P{K_{{\text{CSP}}}} = {h^c},S{K_{{\text{CSP}}}} = c.

    在该阶段,DO和DU向AAi注册获得密钥.

    对于DO,AAi基于身份加密机制[27]为其生成公私钥对,令oid为DO的身份信息,DO公钥oPK = {H_3}(oid),私钥oSK = oP{K^{aS {K_{i,2}}}}.

    对于DUjAAi调用算法KeyGen(aS{K_i}, ui{d_j},S) \to \{ uP{K_{i,j}},uS {K_{i,j}},uD{K_{i,j}}\} 为其生成公钥、私钥与解密密钥三元组,该算法具体流程为:

    假设用户DUj身份信息为ui{d_j}AAi计算 {o_{j,1}} = S En{c_{aS {K_{i,2}}}}(ui{d_j}) {z_j} = S En{c_{aS {K_{i,2}}}}({o_{j,1}}||{o_{j,2}}) ,其中{o_{j,2}} = g_1^{{\alpha _i} + o'_{j,2}},且o_{j,2}' \in \mathbb{Z}_p^*为随机数,使 {z_j} 满足 gcd(a + {z_j},p) = 1 . 假设DUj访问属性集合为S = \{ {A_1},{A_2}, … ,{A_k}\} \subset \mathbb{Z}_p^*AAi r = o_{j,2}' 并随机选择 {r_1},{r_2}, … ,{r_\tau } \in \mathbb{Z}_p^* ,其中\tau \in [k]. DUj公钥uP{K_{i,j}}、私钥uS {K_{i,j}}和解密密钥D{K_{i,j}}构造为:

    \begin{aligned} &uP{K_{i,j}} = \{ {({g_1}{v^{ - 1}})^{o{'_{j,2}}}},g_4^{a + {z_j}}\} \text{,}uS {K_{i,j}} = o_{j,2}' \text{,} d{k_{i,j,1}} = {v^{1/(a + {z_j})}}g_1^r \text{,}\\ &d{k_{i,j,2}} = {z_j}\text{,}d{k_{i,j,3}} = {f^r}\text{,}d{k_{i,j,4}} = {g^r}\text{,}d{k_{i,j,5}} = {\{ {g^{{r_\tau }}}\} _{\tau \in [k]}}\text{,}\\ & d{k_{i,j,6}} = {\{ {(g_2^{{A_\tau }}{g_3})^{{r_\tau }}}g_4^{ - (a + {z_j})r}\} _{\tau \in [k]}} \text{,}d{k_{i,j,7}} = {\{ aPK_\mu ^{a + {z_j}}g_2^{{z_j}}\} _{\mu \in [L]}}\text{,}\end{aligned}

    其中L代表方案中AA的数量.

    在该阶段,DO生成辅助解密参数并构造倒排索引词典,将其上传至BC存储. DO采用密钥封装机制[28]并调用Enc()算法对外包文件fid的明文数据m进行加密,下面介绍具体过程.

    1)DO随机选择{\gamma _1},{\gamma _2},\xi \in \mathbb{Z}_p^*,计算 {\xi _1} = {H_2}(PK_{{\text{BC}}}^{{\gamma _1} + {\gamma _2}}\times PK_{{\text{CSP}}}^{{\gamma _1} + {\gamma _2}}) {\xi _2} = \xi + {\xi _1},DO调用算法IdxGen(fid,oSK, P{K_{{\text{BC}}}}) \to idx生成倒排索引idx. 该算法具体流程为:

    DO计算ftg = F(e(oSK,P{K_{{\text{BC}}}})||H(fid)),构造倒排索引文件名标签词典dict,其中索引词典元素dict[i] = ft{g_i},DO将审计词典dict和辅助解密参数aux = \{ {h^{{\gamma _1} + {\gamma _2}}},{g^{{\xi _2}}}\} 发送给BC,其中dict存储于查询节点QN中,QN为该DO创建倒排索引结构,解密辅助参数aux存储在BC中. 在密文数据访问阶段,QN将外包文件fi{d_i}的访问请求re{q_{fi{d_i}}}所在区块编号bn转化为编号标签nt{g_{bn}},将其插入到dict[i]对应的索引列表当中. 用于BC遍历优化的倒排索引构造如图2所示.

    图  2  倒排索引构造图
    Figure  2.  Structural diagram of inverted index

    2)DO调用算法Enc(m,({\boldsymbol{M}},\delta ),({\boldsymbol{A}},\rho )) \to CT将文件fid所对应的明文数据m加密为密文CT. 该算法具体流程为:

    ({\boldsymbol{M}},\delta ) ({\boldsymbol{A}},\rho ) 为2个基于线性秘密分享方案构造的访问结构,其中{\boldsymbol{M}}{\boldsymbol{A}}分别为l \times nL \times n的矩阵,函数\delta ()M的每一行映射为一个访问属性,函数\rho (){\boldsymbol{A}}的每一行映射为一个AA. DO选择随机数并构造列向量{\boldsymbol{s}} = {(s,{s_2}, … ,{s_n})^{\text{T}}}{\boldsymbol{\varepsilon}} = {(0,{\varepsilon _2}, … ,{\varepsilon _n})^{\text{T}}},通过线性秘密分享方案的秘密分享过程,计算{\lambda _x} = {{\boldsymbol{M}}_x}{\boldsymbol{s}}{\theta _y} = {{\boldsymbol{A}}_y}{\boldsymbol{\varepsilon }},其中x \in [l]y \in [L]. DO随机选择{t_x},{t_y} \in \mathbb{Z}_p^*key \in {G_T},密文CT构造为:

    \begin{aligned} & {C_m} = S En{c_{key}}(m||H(m))\text{,}C = key \times e{(g,v)^s}\text{,}\\ & {C_0} = {g^s}\text{,} C{'_0} = {f^s}{g^\xi } \text{,}\\ & \left\{{C_{1,x}} = g_1^{{\lambda _x}}g_4^{{t_x}}, {C_{2,x}} = {(g_2^{\delta (x)}{g_3})^{ - {t_x}}},{C_{3,x}} = {g^{{t_x}}}\right\} _{x \in [l]}, \\ & \left\{{C_{4,y}} = {g^{{\alpha _{\rho (y)}}{t_y}}},{C_{5,y}} = {g^{ - {t_y}}},{C_{6,y}} ={ {g^{{t_y}}}g_2^{{\theta_y}}}\right\}_{y \in [L]} \text{,}\end{aligned}

    DO将 ({\boldsymbol{M}},\delta ) ({\boldsymbol{A}},\rho ) 和密文CT发送给CSP.

    在该阶段,DU向BC和CSP发送密文数据访问请求;BC对访问请求验证后将该访问请求写入到BC,并向CSP发送辅助解密参数;CSP将访问请求对应的密文进行外包解密后发送给DU,DU在本地完成最终的解密操作,实现密文数据访问,下面介绍具体流程.

    1)DUj以线下协商方式[29]从DO处获取访问目标元数据oidH(fid),例如患者向医生提供其姓名或身份证号码作为oid、EHR文件名称作为fid,并使用H(fid)替换fid以保护EHR文件名中包含的敏感信息. DUj选择随机盲因子\eta \in \mathbb{Z}_p^*,生成外包解密密钥OK

    \begin{aligned} &o{k_1} = dk_{i,j,1}^\eta \text{,}o{k_2} = d{k_{i,j,2}}\text{,}o{k_3} = dk_{i,j,3}^\eta \text{,} o{k_4} = dk_{i,j,4}^\eta \text{,} \\ &o{k_5} = dk_{i,j,5}^\eta \text{,} o{k_6} = dk_{i,j,6}^\eta \text{,} o{k_7} = dk_{i,j,7}^{} \text{,} o{k_8} = {g^\eta } .\end{aligned}

    DUj构造访问请求req = \{ oid,H(fid),OK\} 及其Gamma数字签名[30]sig:随机选择u \in {\mathbb{Z}_p},令w = {H_1}(req), U = {({g_1}{v^{ - 1}})^u},\;\;{u_1} = {H_4}(uP{K_{i,j}}||U),并计算{w_1} = (u \times {u_1} - w \times uS {K_{i,j}})\text{mod} pDUj访问请求req的Gamma签名为sig = \{ {u_1},{w_1}\} DUj将访问信息\{ req,sig\} 发送给BC和CSP.

    2)BC收到数据访问者DUj的访问信息\{ req, sig\} 后,基于DUj的公钥uP{K_{i,j}}req进行验证:假设待验证签名为 sig' = \{ u_1',w_1'\} ,计算w = {H_1}(req) U' = {({({g_1}{v^{ - 1}})^{w_1'}}uPK_{i,j,1}^w)^{{{(u_1')}^{ - 1}}}} ,验证等式 {H_4}(uP{K_{i,j}}||U{'}) = u_1' 是否成立. 若等式不成立,BC忽略此请求,否则,BC查询节点QN执行以下操作:

    为了保护访问请求req = \{ oid,H(fid),OK\} 中的敏感信息,查询节点QN需要对访问请求req进行加密. QN计算 ke{y_1} = e{(P{K_{{\text{BC}}}},{H_3}(oid))^{aS {K_2}}} ,生成req密文{C_{req}} = S En{c_{ke{y_1}}}(req||ts),其中ts表示当前时间戳. {C_{req}}以交易的形式存储在新建区块中,QN基于该区块编号bn生成编号标签nt{g_{bn}}并将其插入到ft{g_{fid}}所对应的索引列表lis{t_{fid}}中,其中nt{g_{bn}} = F(e{({H_3}(oid),{h^{aS {K_2}}})^{S {K_{{\text{BC}}}}}}||bn);QN基于访问请求req计算文件名标签ft{g_{fid}} = F(e({H_3}(oid), {h^{aS {K_2}})^{S{K_{{\text{BC}}}}}}||H(fid)),在BC中查询得到ft{g_{fid}}对应的辅助解密信息 aux = \{ {h^{{\gamma _1} + {\gamma _2}}},\;{g^{{\xi _2}}}\} ,计算 {h^{({\gamma _1} + {\gamma _2})S{K_{{\text{BC}}}}}} ,将 \{ {h^{({\gamma _1} + {\gamma _2})S{K_{{\text{BC}}}}}}, {g^{{\xi _2}}}\} 发送给CSP.

    3)CSP从DUj发送的访问请求req = \{ oid,H(fid), OK\} 中获取其外包解密密钥OK,并基于BC发送的 \{ {h^{({\gamma _1} + {\gamma _2})S{K_{{\text{BC}}}}}},{g^{{\xi _2}}}\} 调用算法OutDec(CT,OK,aux) \to C{T_{{\text{out}}}}得到外包解密密文C{T_{{\text{out}}}},该算法具体流程为:

    CSP计算{\xi _1} \;=\; H({h^{({\gamma _1} + {\gamma _2})S {K_{{\text{BC}}}}}}{h^{({\gamma _1} + {\gamma _2})S {K_{{\text{CSP}}}}}}) {g^{\eta + \xi }} \;\;=\;\; o{k_8}{g^{{\xi _2}}}{g^{ - {\xi _1}}} = ({g^{\eta + {\xi _2}}}){g^{ - {\xi _1}}} ;基于线性秘密共享方案的子秘密还原过程,CSP构造常数{\{ {\omega _x} \in {\mathbb{Z}_p}\} _{x \in [l]}}{\{ {\beta _y} \in {\mathbb{Z}_p}\} _{y \in [L]}},使其满足\sum {\omega _x}{{\boldsymbol{M}}_x} = (1,0, … ,0)\sum {\beta _y}{{\boldsymbol{A}}_y} = (1,0, … ,0),其中{{\boldsymbol{M}}_x}代表矩阵{\boldsymbol{M}}的第x行、{{\boldsymbol{A}}_y}代表矩阵{\boldsymbol{A}}的第y行;CSP分别计算{E_1},{E_2},{E_3},{E_4},具体构造为:

    \begin{aligned} {E_1}= & e(o{k_1},{g^{\eta + \xi }})= \\ & e({({g^{\alpha /(a + {z_j})}}g_1^r)^\eta },{g^\eta })e({({g^{\alpha /(a + {z_j})}}g_1^r)^\eta },{g^\xi }), \\ \end{aligned}
    \begin{aligned} {E_2} =& \prod\limits_x {[e(ok_{4}^{o{k_2}}o{k_3},{C_{1,x}})e(o{k_5},{C_{2,x}})e(o{k_6},{C_{3,x}})]}^{{\omega _x}}= \\ & \prod\limits_x [e({g^{\eta r{z_j}}}{g^{\eta ar}},g_1^{{\lambda _x}}g_4^{{t_x}})e({g^{\eta {r_\tau }}},{(g_2^{\delta (x)}{g_3})^{ - {t_x}}})\;\times\\ &e({(g_2^{{A_\tau }}{g_3})^{\eta {r_\tau }}}g_4^{ - (a + {z_j})r\eta },{g^{{t_x}}}){]^{{\omega _x}}} =\\ & \prod\limits_x {{{[e{{(g,{g_1})}^{\eta r(a + {z_j}){\lambda _x}}}]}^{{\omega _x}}}} = e{(g,{g_1})^{\eta rs(a + {z_j})}}, \end{aligned}
    \begin{aligned} {E_3} =& \prod\limits_y {{{[e(g_{1}^{o{k_2}}h,{C_{4,y}})e(o{k_7},{C_{5,y}})e(g_2^{o{k_2}},{C_{6,y}})]}^{{\beta _y}}}}= \\ & \prod\limits_y [e(g_{1}^{{z_j}}{g^a},{g^{{\alpha _{\rho (y)}}{t_y}}})e(g_1^{{\alpha _{\rho (y)}}(a + {z_j})},{g^{ - {t_y}}})\;\times \\ &e({g^{{z_j}}},{g^{{t_y}}}g_2^{{\theta _y}}){]^{{\beta _y}}} = {\prod\limits_y {e({g^{{z_j}}},g_2^{{\theta _y}})} ^{{\beta _y}}} = 1, \end{aligned}
    \begin{aligned} {E_4} =& e(o{k_1},C_0^{o{k_2}}C{'_0}) = e({({g^{\alpha /(a + {z_j})}}g_1^r)^\eta },{g^{s{z_j}}}{g^{as}}{g^\xi }) =\\ & e({({g^{\alpha /(a + {z_j})}}g_1^r)^\eta },{g^{s({z_j} + a)}})e({({g^{\alpha /(a + {z_j})}}g_1^r)^\eta },{g^\xi }) =\\ & e{({g^{\alpha s}},g)^\eta }e(g_1^{\eta r},{g^{s({z_j} + a)}})e({({g^{\alpha /(a + {z_j})}}g_1^r)^\eta },{g^\xi }), \end{aligned}

    CSP向DUj发送外包解密算法OutDec(),输出结果C{T_{{\text{out}}}} = {E_4}/({E_1}{E_2}{E_3}) = e{(g,g)^{\alpha s\eta }}/e((g^{\tfrac{\alpha}{a+z_j}}g_1^r)^{\eta},g^{\eta}).

    4)DUjC{T_{{\text{out}}}}调用算法 Dec(C{T_{{\text{out}}}}) \to m/ \bot 得到明文m,算法具体流程为:

    \begin{gathered} key = C/(C{T_{{\text{out}}}}^{ \eta ^{-1}}e{(o{k_1},g) })= key \times e{(g,g)^{\alpha s}}/e{(g,g)^{\alpha s}}. \\ \end{gathered}

    DUj验证 m||H(m) = S De{c_{key}}({C_m}) 是否成立,若该等式成立,则表示DUj成功完成密文的访问;若不成立,则输出 \bot .

    在该阶段,DO通过BLS聚合签名[31]对审计目标fi{d_{\text{t}}}发起审计查询{T_{\text{Q}}};BC查询节点QN收到{T_{\text{Q}}}后,调用查询匹配算法QryInt()对索引词典元素进行隐私集合求交,其结果为审计目标fi{d_{\text{t}}}在索引词典中的元素ft{g_{\text{t}}};QN根据ft{g_{\text{t}}}指向的索引列表lis{t_{fi{d_{\text{t}}}}}找到审计目标fi{d_{\text{t}}}的访问记录{C_{req}}所在的区块编号,并调用身份追踪算法Trace()对访问记录中数据访问者身份进行抽取,并将结果返回给DO,从而实现密文场景下的用户访问行为身份审计,具体过程为:

    1)DO调用算法 QryGen(fi{d_{\text{t}}},oSK) \to {T_{\text{Q}}} 生成审计查询 T_{{\mathrm{Q}}} ,DO随机选择\varphi \in G,令t{q_1} = e(P{K_{{\text{BC}}}},{H_3}(ft{g_{\text{t}}})\varphi )t{q_2} = e(P{K_{{\text{BC}}}},oSK\varphi );DO将审计查询{T_{\text{Q}}} = \{ oid,t{q_1},t{q_2}\} 发送给BC查询节点QN.

    2)查询节点QN调用算法 QryInt({T_{\text{Q}}},idx) \to \{ bn\} 得到区块编号集合 \{ bn\} . QN通过倒排索引idx的审计词典dic{t_{oid}}得到候选向量{\boldsymbol{cand}} = {(e(P{K_{{\text{BC}}}},{H_3}(ft{g_i})))_{i \in [dict]}},并基于{T_{\text{Q}}}计算tq_2' = t{q_2}/e{(P{K_{{\text{BC}}}},{H_3}(oid))^{aS{K_{{\mathrm{QN}},2}}}},进而通过求交运算{\boldsymbol{cand}} \cap (t{q_1}/tq_2')得到索引列表lis{t_{fi{d_{\text{t}}}}},QN通过lis{t_{fi{d_{\text{t}}}}}存储的区块编号标签ta{g_{bn}}定位到BC的第bn号区块,进而获得区块中存储的文件fid的访问记录密文{C_{req}} = S En{c_{ke{y_1}}}(req||ts)并对其解密:QN计算 ke{y_1} = e{(P{K_{{\text{BC}}}},oPK)^{aS{K_{{\mathrm{QN}},2}}}} ,得到访问记录(req||ts) = SDe{c_{ke{y_1}}}({C_{req}}),并从req中抽取出DU的外包解密密钥OK.

    3)查询节点QN调用算法Trace(OK,aS{K_i}) \to uid得到数据访问者身份信息,算法具体流程为:

    QN计算 ({o_{j,1}}||{o_{j,2}}) = SDe{c_{aS{K_{{\rm{QN}},2}}}}(o{k_2}) ,访问请求req所对应的DUj的身份信息ui{d_j} = SDe{c_{aS{K_{{\rm{QN}},2}}}}({o_{j,1}}),将{C_{uid}} = S En{c_{tq_2'}}(ui{d_j})发送给DO.

    4)DO计算SDe{c_{e(P{K_{{\text{BC}}}},\varphi )}}({C_{uid}})得到DUj的身份信息ui{d_j}.

    根据2.3节所述,本文方案的安全性证明包括选择性安全、审计正确性和审计过程的隐私安全. 在选择性安全证明部分,将证明本文方案的安全性和文献[23]的安全性在q-type假设下是等价的. 令{\Sigma _{{\text{RW}}}}{\Sigma _{{\text{our}}}}分别代表文献[23]和本文的CP-ABE加密方案.

    定理1. 若q-type假设成立,则{\Sigma _{{\text{our}}}}在2.3节的游戏模型下是选择性安全的.

    证明. 假设存在多项式时间敌手\mathcal{A}对于挑战矩阵{{\boldsymbol{M}}^*}拥有 Ad{v_{\mathcal{A},{\Sigma _{{\text{our}}}}}} 的优势选择性攻破本文方案{\Sigma _{{\text{our}}}},其中{{\boldsymbol{M}}^*}l \times n矩阵且满足约束l,n \leqslant q. 则能够构造多项式算法\mathcal{B},该算法拥有 Ad{v_{\mathcal{B},{\Sigma _{{\text{RW}}}}}} 的优势选择性攻破文献[23]方案{\Sigma _{{\text{RW}}}}.

    1)初始化. 敌手\mathcal{A}将挑战访问策略 ({{\boldsymbol{M}}^*},{\delta ^ * }) 发送给算法\mathcal{B}和方案{\Sigma _{{\text{RW}}}},其中{{\boldsymbol{M}}^*}l \times n矩阵且满足约束l,n \leqslant q,函数 {\delta ^ * }:{\{ 0,1\} ^l} \to {\mathbb{Z}_p} .

    2)参数建立. {\Sigma _{{\text{RW}}}}将公共参数p{p_{{\Sigma _{{\text{RW}}}}}}发送给\mathcal{B},其构造为:

    g = g\text{,}{g_1} = {g^d}\text{,}
    {g_2} = {g^{\tilde b}}\prod\limits_{(j,k) \in [l,n]} {{{({g^{{d^k}/b_j^2}})}^{{{M}}_{j,k}^*}}} \text{,}
    g_{3}=g^{\tilde c} \prod_{(j, k) \in [l, n]}\left(g^{d^{k} / b_{j}^{2}}\right)^{-{\delta}^{*}(j)M_{j, k}^{*}} \text{,}
    {g_4} = {g^{\tilde d}}\prod\limits_{(j,k) \in [l,n]} {{{({g^{{d^k}/{b_j}}})}^{{{M}}_{j,k}^*}}} \text{,} v = g_{}^{{d^{q + 1}} + \tilde \alpha } .

    \mathcal{B}随机选择a \in \mathbb{Z}_p^*,计算h = g_1^af = {g^a},通过p{p_{{\Sigma _{{\text{RW}}}}}}得到p{p_{{\Sigma _{{\text{our}}}}}} = \{ g,{g_1},{g_2},{g_3},{g_4},h,f,v,{v^{ - 1}}\} \mathcal{B}p{p_{{\Sigma _{{\text{our}}}}}}发送给敌手\mathcal{A}.

    3)查询阶段1. 敌手\mathcal{A}向算法\mathcal{B}提交(uid,S)以获取对应的解密密钥,\mathcal{B}(uid,S)发送给{\Sigma _{{\text{RW}}}}以获得对应的解密私钥:

    {\hat K_0} = {g^{\tilde \alpha }}{({g^d})^{\tilde r}}\prod\limits_{i = 2}^n {{{({g^{{d^{q + 2 - i}}}})}^{{\omega _i}}}} \text{,}
    {\hat K_1} = {g^{\tilde r}}\prod\limits_{i \in [n]} {{{({g^{{d^{q + 2 - i}}}})}^{{\omega _i}}}} \text{,}
    \begin{gathered} {{\hat K}_{\tau ,2}} = {g^{{{\tilde r}_\tau }}}{\prod\limits_{i' \in [l],{\delta ^*}(i') \notin S} {({g^{{b_{i'}}}})} ^{\tfrac{{\tilde r}}{{{A_\tau } - {\delta ^*}(i')}}}}\; \times\\ {\prod\limits_{i,i' \in [n,l],{\delta ^*}(i') \notin S} {({g^{{b_{i'}}{d^{q + 1 - i}}}})} ^{\tfrac{{{\omega _i}}}{{{A_\tau } - {\delta ^*}(i')}}}} ,\\ \end{gathered}

    {\hat K_{\tau ,3}} = \hat \varPsi \hat \varPhi ,其中

    \begin{aligned} \hat \varPsi =& {(g_2^{{A_\tau }}{g_3})^{{{\tilde r}_\tau }}}{({{\hat K}_{\tau ,2}}/{g^{{{\tilde r}_\tau }}})^{\tilde u{A_\tau } + \tilde h}}\; \times \\ & \prod\limits_{(i{'},j,k) \in [l,l,n],{\delta ^*}(i{'}) \notin S} {{{\left({g^{\tfrac{{{b_{i{'}}}{d^k}}}{{b_j^2}}}}\right)}^{\tfrac{{\tilde r({A_\tau } - {\delta ^*}(j)){\boldsymbol{M}}_{j,k}^*}}{{{A_\tau } - {\delta ^*}(i{'})}}}}} \; \times\\ &\prod\limits_{\scriptstyle(i,i',j,k) \in [n,l,l,n],\atop \scriptstyle{\delta ^*}(i') \notin S,(i' \ne j \vee i \ne k)} {{{\left({g^{\tfrac{{{b_{i'}}{d^{q + 1 + k - i}}}}{{b_j^2}}}}\right)}^{\tfrac{{\tilde r({A_\tau } - {\delta ^*}(j)){\omega _i}M_{j,k}^*}}{{{A_\tau } - {\delta ^*}(i')}}}}} \text{,} \end{aligned}
    \hat \varPhi = g_4^{ - \tilde r}\prod\limits_{i \in [n]} {{{({g^{{d^{q + 1 - i}}}})}^{ - \tilde b{\omega _i}}}} \prod\limits_{(i,j,k) \in [n,l,n],i \ne k} {{{\left({g^{\tfrac{{{d^{q + 1 + k - i}}}}{{{b_j}}}}}\right)}^{ - {\omega _i}{\boldsymbol{M}}_{j,k}^*}}} .

    \mathcal{B}随机选择z \in \mathbb{Z}_p^*,令r = \tilde r/(a + z)d{k_2} = z,随机选择g' \in G,计算d{k_1} = {({\hat K_0})^{1/(a + z)}}d{k_2} = z d{k_3} = {({\hat K_1})^{a/(a + z)}}g' d{k_4} = {({\hat K_1})^{1/(a + z)}}d{k_5} = \{ {\hat K_{\tau ,2}}\} d{k_6} = \{ {\hat K_{\tau ,3}}\} d{k_7} = aP{K^{a + z}} \cdot g_2^z.

    \mathcal{B}(uid,S)对应的解密密钥 DK = {\{ d{k_i}\} _{i \in [7]}} 发送给\mathcal{A}.

    4)挑战阶段. 敌手\mathcal{A}将2个等长的明文信息(ke{y_0}, ke{y_1})发送给算法\mathcal{B}\mathcal{B}将其提交给方案{\Sigma _{{\text{RW}}}}并获得其挑战密文:

    \begin{aligned} &\{ \hat C = ke{y_\beta }T'e{(g,{g^s})^{\tilde \alpha }}\text{,}{\hat C_0} = {g^s}\text{,}\\ &{\hat C_{i,1}} = g_1^{{{\tilde \lambda }_i}}{({g^{s \cdot {b_i}}})^{ - \tilde d}}\prod\limits_{(j,k) \in [l,n],j \ne i} {{{({g^{s{d^k}{b_i}/{b_j}}})}^{ - {\boldsymbol{M}}_{j,k}^*}}} \text{,}\\ &{{\hat C}_{i,2}} = {({g^{s{b_i}}})^{ - (\tilde u{\delta ^*}(i) + \tilde c)}} \; \times\\ & \prod\limits_{(j,k) \in [l,n],j \ne i} {{{({g^{s{d^k}{b_i}/b_j^2}})}^{ - ({\delta ^*}(i) - {\delta ^*}(j)){\boldsymbol{M}}_{j,k}^*}}} , \\ &{\hat C_{i,3}} = {g^{{t_i}}} = {({g^{s{b_i}}})^{ - 1}}\} \text{,}\end{aligned}

    其中T'是挑战项,{g^s}对应{\Sigma _{{\text{RW}}}}中的安全性假设.

    \mathcal{B}基于返回密文构造CT' = \{ C = \hat C,{C_0} = {\hat C_0}, C_0' = {\hat C_0}^a, {\{ {C_{1,x}} = {\hat C_{i,1}},{C_{2,x}} = {\hat C_{i,2}},{C_{3,x}} = {\hat C_{i,3}}\} _{x \in [l]}}\} ,并将 \{ {C_{4,y}},{C_{5,y}}, {C_{6,y}}\} _{y \in [L]} 加入到CT'得到CT,然后\mathcal{B}将挑战密文CT发送给敌手\mathcal{A}.

    5)查询阶段2. 该阶段和查询阶段1相同.

    6)猜测阶段. 敌手\mathcal{A}将挑战密文的猜测结果\beta '发送给算法\mathcal{B}\mathcal{B}\beta '发送给方案{\Sigma _{{\text{RW}}}}. 由于方案{\Sigma _{{\text{our}}}}的公共参数、解密密钥和挑战密文与方案{\Sigma _{{\text{RW}}}}拥有相同的分布,因此有Ad{v_{\mathcal{B},{\Sigma _{{\text{RW}}}}}} = Ad{v_{\mathcal{A},{\Sigma _{{\text{our}}}}}},即存在多项式时间敌手\mathcal{A}能够以 Ad{v_{\mathcal{A},{\Sigma _{{\text{our}}}}}} 优势攻破本文方案,则多项式算法\mathcal{B}能够以 Ad{v_{\mathcal{B},{\Sigma _{{\text{RW}}}}}} 优势攻破方案{\Sigma _{{\text{RW}}}},与文献[23]相矛盾. 因此,若q-type假设成立,本文方案是选择性安全的. 证毕.

    定理2. 如果l-SDH假设成立,则本文方案在q < l条件下是可追踪的.

    证明. 假设存在多项式时间敌手\mathcal{A}在与挑战者\mathcal{C}O次交互后能够以不可忽略的优势Ad{v_\mathcal{A}}赢得2.3节的追踪游戏,则存在多项式算法\mathcal{B}能够通过敌手\mathcal{A}攻破l-SDH假设. 为不失普遍性,在下面的证明过程中,我们将省略授权代理AAi和数据使用者DUj的对应下标(i,j).

    1)参数建立阶段. 算法\mathcal{B}对于给定的l-SDH实例 \{ G,{G_T},e,p,\bar g,{\bar g^x},{\bar g^{{x^2}}}, … ,{\bar g^{{x^l}}}\} 构造系统参数.

    2)查询阶段. 敌手\mathcal{A}构造O次密钥查询,挑战者\mathcal{C}对所有密钥查询依次响应并发送对应的解密密钥给敌手\mathcal{A}.

    3)挑战阶段. 敌手\mathcal{A}将挑战密钥DK发送给挑战者\mathcal{C},若DK能够通过密钥检测公式: e(d{k_6},g)e(uP{K_2}, d{k_4}) = e(dk_5^{{A_\tau }},{g_2})e(d{k_5},{g_3}) ,则敌手\mathcal{A}能够成功伪造有效的解密密钥,并实现解密密钥的不可追踪性,同样地,算法\mathcal{B}能够通过DK伪造({z^*},{g^*}) \in \mathbb{Z}_p^* \times G使其满足{g^*} = {\bar g^{1/(a + z)}}攻破l-SDH假设;由于外包解密密钥是由解密密钥转换得到且d{k_2} = o{k_2},同时外包解密密钥OK通过Gamma签名与用户的公钥绑定,因此敌手\mathcal{A}同样无法伪造外包解密密钥.

    由于l-SDH假设对于多项式时间算法是不可解的,多项式时间敌手\mathcal{A}无法以不可忽略的优势Ad{v_\mathcal{A}}赢得追踪游戏,因此基于本文方案构造的解密密钥是可追踪的. 证毕.

    定理3. 本文方案构造的倒排索引结构及查询过程和返回结果是语义安全的.

    证明. 多项式时间敌手\mathcal{A}选择2个包含相同文件数量的文档集合{\varPi _0},{\varPi _1},并将其发送给挑战者\mathcal{C}. \mathcal{C}随机选择\beta = \{ 0,1\} ,对{\varPi _\beta }中的文件名{\{ fi{d_i}\} _{i \in [|{\varPi _\beta }|]}}依次生成文件名标签{\{ ft{g_i}\} _{i \in [|{\varPi _\beta }|]}}并构造索引词典dict. 敌手\mathcal{A}被允许访问查询生成算法和索引匹配算法,若\mathcal{A}无法以高于1/2的概率正确地猜测\beta 的结果,则本文构造的倒排索引结构、查询过程和返回结果是语义安全的.

    1)索引隐私. 倒排索引idx由索引词典dict和索引列表list组成,由于dictlist中的元素均由伪随机函数F生成,且生成参数包含Diffie-Hellman密钥交换参数,因此敌手\mathcal{A}无法以关键词猜测攻击的方式构造dictlist中包含的文件名标签ftg和区块编号标签ntg,因此\mathcal{A}无法以不可忽略的优势正确地猜测出\beta 的结果.

    2)查询隐私. 在审计查询{T_{\text{Q}}} = \{ oid,t{q_1},t{q_2}\} 中,t{q_1}ft{g_{\text{t}}}和随机元素\varphi 生成,t{q_2}由DO私钥oSK和随机元素\varphi 生成,根据Decisional Bilinear Diffie-Hellman假设和BLS签名安全性证明,敌手\mathcal{A}无法从审计查询{T_{\text{Q}}}推测出DO的审计目标明文;并且由于随机元素\varphi 的存在,为相同审计目标的查询输出引入了随机性.

    3)访问模式隐私. DO的审计结果以密文形式获得,由于加密密钥e(P{K_{{\text{BC}}}},\varphi )中包含了随机元素\varphi ,使得相同文件的审计结果在不同的审计查询中的返回结果也并不相同. 因此,敌手\mathcal{A}无法从返回结果中推测出DO的审计目标.

    综上所述,本文方案构造的倒排索引结构及查询过程和返回结果是语义安全的. 证毕.

    功能性和方案开销是评估CP-ABE密文数据共享方案是否实用的2项重要指标. 在本节中,本文方案与现有相关研究[4,6,13,19,28,32]分别在功能性与方案开销方面进行对比.

    本文方案主要关注如何在跨域密文数据共享服务下实现用户访问行为的可审计功能,因此,本文方案主要在可扩展性、跨域共享、可追踪性和行为审计4个应用和安全功能进行对比. 对比结果如表2所示.

    表  2  与其他方案的功能性对比
    Table  2.  Features Comparison with Other Schemes
    方案 可扩展性 跨域共享 可追踪性 行为审计
    文献[4] × × ×
    文献[6] × ×
    文献[13] × × ×
    文献[19] × ×
    文献[28] × ×
    文献[32] × ×
    本文
    下载: 导出CSV 
    | 显示表格

    1)可扩展性是指方案的初始化过程采用大属性域技术构造,生成的系统公共参数规模固定,当系统中访问属性集合中的元素数量发生变化时,系统无需对公共参数进行更新. 根据3.1节中Setup()算法的具体流程可知,本文方案的系统公共参数pp由9个双线性群G的元素构成,其参数规模不会跟随用户访问属性规模的增长而变化,因此本文方案具有较好的可扩展性,尤其当系统用户规模较大、需要更多用户属性对其进行描述时,本文方案支持用户属性的动态变化,且方案公共参数的存储开销不会受其影响. 此外,对比文献[4, 6, 19, 28]中的公共参数规模固定,具备可扩展性,对比文献[13, 32]中的公共参数中包含了访问属性集合所构成的参数,因此对比文献[13, 32]在属性规模变化时需要重新生成公共参数,不具备可扩展性.

    2)跨域共享是指方案支持多个授权代理在不同的管理域中对用户的访问属性进行管理,并为该管理域中的用户生成解密密钥,在用户访问密文时,无需考虑该用户的解密密钥是由哪个授权代理生成,只需要该解密密钥对应的访问属性满足密文中内嵌的访问策略就能够完成解密,跨域共享功能可以解决单密钥生成中心存在的性能与安全瓶颈,是一种更符合现实场景的应用功能. 在3.2节的KeyGen()算法中,数据访问者uidj所属的AAi基于全体AA的公钥aPK构造对应的解密密钥dki,j,7. 在3.3节的Enc()算法中,DO通过构建2个访问结构(M)和(A)分别对访问属性对应的秘密s和授权代理对应的秘密0进行线性共享,并把生成的子秘密λxθy参与到数据加密过程,其中密文C4,yC5,y,C6,y对应授权代理的子秘密θy. 在3.4节的OutDec()算法中,CSP基于线性秘密共享机制对授权代理的子秘密θy进行还原,其具体过程对应3.4节OutDec()算法中参数E3的计算. 总体来说,通过在密钥生成算法、加密算法和外包解密算法中引入线性秘密共享机制使得DU能够采用跨域访问策略对数据进行加密,并允许不同授权代理管理的授权用户访问外包密文. 因此,本文方案具有跨域共享性质,出于相似的构造过程,文献[28]同样具有跨域共享性质,且文献[4, 6, 13, 19, 32]不具备该性质.

    3)可追踪性是指方案的用户解密密钥基于白盒可追踪机制生成,系统在用户解密密钥生成过程中,将用户的身份信息内嵌入解密密钥当中,当系统发现解密密钥发生泄露后,能够从解密密钥中还原得到该用户的身份信息. 在3.2节的KeyGen()算法中基于白盒可追踪机制将用户的身份信息内嵌于解密密钥中,即数据访问者的身份信息uidj被加密为随机数zj,并参与解密密钥dki,j的生成. 在3.3节密文数据访问过程的外包密钥OK的生成过程中保证了dki,j,2=oki,j,2=zj. 在3.5节的Trace()算法中,AAi(查询节点QN)能够利用私钥aSKi,2zj解密得到该密钥所对应的DU身份信息uidj. 因此,该方案和其他使用白盒可追踪机制的对比文献[6, 13, 32]具有解密密钥的可追踪性,对比文献[4, 19, 28]则不具有可追踪性.

    4)行为审计是指系统能够对授权用户的每一次合法访问操作进行身份审计,系统通过BC中记录的用户访问请求来获取该访问行为所对应的外包解密密钥,并通过白盒可追踪性从外包解密密钥中获取该密文访问行为所对应的用户身份信息,从而完成访问行为身份审计,需要注意的是文献[32]的行为审计功能仅能够对数据更新操作进行身份审计,而本文行为审计是针对授权用户的所有数据访问行为进行身份审计操作,具有更强的适用性. 本文方案的行为审计基于解密密钥的可追踪性实现,在3.4节密文数据访问过程中,BC对数据访问者的访问请求req加密后进行存储,由于req中包含用户的外包解密密钥OK,因此在3.5节的访问行为审计过程中,AAi(查询节点QN)能够利用私钥aSKi,2对其解密得到该密钥所对应的数据使用者身份信息uidj,进而实现授权用户访问行为的身份审计. 对比文献[19, 32]具备行为审计性质,对比文献[4, 6, 13, 28]不具备访问行为性质.

    方案开销对比结果如表3所示,方案开销对比包括公共参数、解密密钥和密文的存储开销,以及加密算法、解密密钥生成算法和外包解密算法的计算开销. 符号|U|表示整个属性域的数量,|S|表示用户属性集合的数量;|l|表示访问控制矩阵M的行数,即用户属性的数量;|L|表示访问控制矩阵A的行数,即授权集合AA的数量;|G|,|GT|,|\mathbb{Z} p|分别表示双线性群GGT和随机数所需的存储空间;σ表示文献[19]中允许用户下载文件的最大次数;tGtGT分别表示双线性群G{G_T}上一次指数运算的时间开销,te表示双线性映射e:G \times G \to {G_T}的时间开销. 表4给出了本文方案11个算法的具体开销,其中包括参数的存储开销和算法的计算开销,而忽略了哈希算法、对称加密算法和伪随机函数算法的计算开销. 其中,|dict|表示索引词典中元素个数.

    表  3  存储开销与计算开销对比
    Table  3.  Comparison of Storage Overhead and Computation Overhead
    方案存储开销计算开销
    公共参数解密密钥密文加密算法解密密钥生成算法外包解密算法
    文献[4]4|G|+2|GT|(6+3|S|)|G|(3+3|l|)|G|+|GT|(3+3|l|)tG+tGT(6+3|S|)tG(3+6|l|)tG+6te
    文献[6]6|G|+|GT|(3+2|S|)|G|(2+3|l|)|G|+|GT|(2+3|l|)tG+tGT(3+2|S|)tG(2+3|l|)te
    文献[13](12+2|U|)|G|+2|GT|(8+2|S|)|G|(6+4|l|)|G|+|GT|(4+6|l|)tG(5+|S|)tG(1+2|l|)te
    文献[19]7|G|+|GT|(2+2|S|)|G|(2+3|l|+σ)|G|+|GT|(2+3|l|+σ)tG+tGT(2+2|S|)tG(1+6|l|)tG+3(1+|l|)te
    文献[28]4|G|+|GT|(3+|S|)|G|(1+4|l|)|G|+|GT|(1+6|l|)tG+tGT(3+3|S|)tG(1+4|l|)te
    文献[32](7+|U|)|G|+|GT|(2+|S|)|G|(3+|l|)|G|+|GT|(3+|l|)tG+tGT(3+2|S|)tG+(1+|S|)tGT(3+6|l|)te
    本文9|G|(3+2|S|+|L|)|G|+|\mathbb{Z} p|(2+3|l|+3|L|)|G|+|GT|(2+3|l|+3|L|)tG+tGT(6+2|S|+|L|)tGtG+3(1+|l|+|L|)te
    下载: 导出CSV 
    | 显示表格
    表  4  本文方案中各算法的参数存储开销与算法计算开销
    Table  4.  Storage Overhead and Computation Overhead for Parameters of Each Algorithm in Our Scheme
    算法 参数 参数存储开销 算法计算开销
    Setup() pp, msk 9|G|, |{\mathbb{Z}} p| 4tG
    AASetup() aPK, aSK |L||G|, 2|L||{\mathbb{Z}} p| |L|tG
    EntSetup() PKBC, SKBC
    PKCSP, SKCSP
    |G|, |{\mathbb{Z}} p|
    |G|, |{\mathbb{Z}} p|
    tG
    tG
    KeyGen() oPK, oSK
    uPK, uSK, uDK
    |G|, |G|
    2|G|, |{\mathbb{Z}} p|, (3+2|l|+|L|)|G|+|{\mathbb{Z}} p|
    tG
    2tG, tG, (6+2|S|+|L|)tG
    Enc() aux, CT 2|G|, (2+3|l|+3|L|)|G|+|GT| 3tG, (2+3|l|+3|L|)tG+tGT
    IdxGen() idx |dict||G| |dict|tG
    OutDec() OK, CTout (4+2|l|+|L|)|G|+|\mathbb{Z} p|, |GT| 4+2|l|tG, tG+3(1+|l|+|L|)te
    Dec() 3te
    QryGen() TQ 2|GT| 2(tG+te)
    QryInt() (2+|dict|)te
    Trace() 0tG+0tGT+0te
    下载: 导出CSV 
    | 显示表格

    根据3.3节所述,DO在数据加密阶段,调用IdxGen()算法将待加密上传的明文数据m所对应的文件名fid生成文件名标签ftg,基于文件名标签生成倒排索引的索引词典dict并发送给BC查询节点QN进行存储,其中dict[i]=ftgi. 根据表4所示,DO执行IdxGen()算法的计算开销为|dict|tG,存储开销为|dict||G| ,QN处的存储开销为|dict||G| .

    根据3.4节所述,DU在密文数据访问阶段,向BC发送访问请求req={oid,H(fid), OK},BC查询节点QN根据访问请求req生成访问请求密文Creq,并将Creq以交易事务的形式存储在新建区块之中,并基于该区块编号bn生成编号标签ntgbn,并将ntgbn插入到索引词典dict中元素ftgfid所对应的索引列表listfid中,该更新过程由QN完成,QN的计算开销为|list|tG,存储开销为|dict||list| . 由于DU需要生成访问请求req以访问云端密文数据,因此,倒排索引的更新过程不会给DU带来额外的计算、存储开销. 因此,在QN处倒排索引构建和更新过程存储开销为(|dict|+|dict||list|)|G| .

    根据3.5节所述,DO在访问行为审计阶段,调用QryGen()算法对审计目标fidt发起审计查询TQ,BC查询节点QN收到TQ后调用QryInt()算法通过隐私集合求交技术对审计查询TQ和倒排索引词典dict进行求交,进而得到存储审计目标fidt访问信息密文Creq的区块编号标签ntg. 根据表4所示,DO执行QryGen()算法的计算开销为2(tG+te),存储开销为2|GT|,QN执行QryInt()算法的计算开销为(2+|dict|te).

    本文引入倒排索引的目的是针对遍历区块中存储访问请求密文数据的审计操作而设计的优化方法,根据上述描述,倒排索引的存储和更新过程大部分由BC中的查询节点QN完成,不会给DO和DU带来较大的计算、存储开销. 同时根据表5所示,当索引词典规模|dict|=20和索引列表长度|list|=50时,查询节点QN对于单个用户的倒排索引存储、维护和查询开销是可接受的.

    表  5  倒排索引存储与计算开销
    Table  5.  Inverted Index Storage and Calculation Overheads
    索引各
    个阶段
    客户端 查询节点QN端
    存储开销/kb 计算开销/ms 存储开销/kb 计算开销/ms
    索引生成 229.2 20
    索引更新 1020 573
    索引查询 2 25.9 120.25
    下载: 导出CSV 
    | 显示表格

    本文及对比方案在Windows 10操作系统上(AMD Ryzen 4800H 2.90 GHz CPU, 16 GB内存)进行了仿真实验,所有方案均基于jPBC(Java pairing based cryptography)[33]实现,BC功能通过Caliper[34]工具在Docker环境中部署Fabric Blockchain模拟平台,其中包含2个主节点、1个排序节点和1个查询节点,并设置AA的数量为4,使用A类椭圆曲线构建双线性群G{G_T},其中用户下载最大次数σ=20,|{\mathbb{Z}_p}|=160 b,|G| = |{G_T}|=1024 b. 伪随机函数和对称加密算法采用AES-128.

    本节将对本文方案和对比文献[4, 6, 13, 19, 28, 32]进行公共参数、解密密钥和密文的存储开销对比.

    1)公共参数存储开销对比. 进行公共参数存储开销对比的目的是验证方案的可扩展性,即验证当系统中访问属性域的规模增长时公共参数规模的变化情况. 根据系统初始化算法Setup()所示,本文方案公共参数包含9个双线性群G元素、需要9216 b的存储开销,公共参数存储开销为常数. 本文方案与对比方案的公共参数存储开销如图3所示,当用户属性|S|=100时,本文方案公共参数规模为9.22 kb,文献[4, 6, 13, 19, 28, 32]公共参数规模分别为6.14 kb,7.17 kb,219.14 kb,8.19 kb,5.12 kb,24.19 kb.

    图  3  公共参数存储对比
    Figure  3.  Storage comparison of public parameter

    本文方案与文献[4, 6, 19, 28]中的公共参数均使用大属性域技术构建,如图3所示,上述方案的公共参数规模不会跟随横坐标的属性数量的增长而变化. 此外根据表2所示,本文方案相较于文献[4, 6, 19, 28]在功能性方面覆盖更为全面,因此,在3.1节参数构建部分额外设置必要的参数来支持系统功能. 例如,相较于文献[6],为了实现跨域数据共享和访问行为审计,在公共参数构建过程中增加了参数h, v, v−1. 相较于文献[28],为了实现用户密钥的可追踪性和访问行为审计,在公共参数构建过程中增加了参数g4, h, f, v, v−1,该参数分别在3.2节和3.3节中参与了KeyGen()算法、辅助解密信息生成过程和Enc()算法. 如上所述,本文方案在实用性和存储开销方面进行了一定的平衡,使得本文方案在功能性方面获得一定优势,但在公共参数存储开销方面要略高于文献[4, 6, 19, 28];同时,由于文献[13, 32]的公共参数构建过程并未采用大属性域技术,其公共参数规模随着属性数量的增长而扩大,本文方案的公共参数存储开销要优于文献[13, 32].

    2)解密密钥存储开销对比. 进行解密密钥存储开销对比的目的是验证方案中授权代理生成用户解密密钥时所需的通信代价以及DU使用访问密钥而付出的存储代价. 根据用户密钥生成算法KeyGen()所示,用户的解密密钥包含3+2|S|+|L|个双线性群G元素和1个常数项,其中|S|表示用户访问属性的数量,|L|表示系统中AA的数量. 本文方案与对比方案的解密密钥存储开销如图4所示,当用户属性|S|=100时,本文方案解密密钥规模为211.96 kb,文献[4, 6, 13, 19, 28, 32]解密密钥规模分别为313.34 kb,207.87 kb,212.99 kb,206.85 kb,105.47 kb,104.45 kb.

    图  4  解密密钥存储对比
    Figure  4.  Storage comparison of decryption key

    图4可以看出,本文方案与其他对比方案的解密密钥规模均伴随用户访问属性规模的增长而提升. 造成本文方案解密密钥存储开销较大的原因在于本文方案为了支持跨域共享功能,需要在用户解密密钥中额外加入|L|个授权代理的属性,该属性对应解密密钥的dki,j,7. 从表3可以看出,若本文方案不再支持跨域共享功能,则解密密钥将包含3+2|S|个双线性群G元素和1个常数项,其规模则略高于文献[28,32],但在功能性方面依然优于文献[28,32].

    3)密文存储开销对比. 进行密文存储开销对比的目的是验证方案的加密和上传过程给DO带来的通信开销以及给CSP带来的存储开销. 根据加密算法Enc()所示,本文方案密文包含(2+3|l|+3|L|)|G|+|GT|个双线性群GGT元素,其中|l|表示数据拥有者构造访问策略所需的属性数量. 本文方案与对比方案的密文存储开销如图5所示,当访问属性|l|=100、授权代理数量|L|=20时,本文方案密文规模为322.56 kb,文献[4613192832]密文规模分别为311.30 kb,310.27 kb,416.77 kb,330.75 kb,411.65 kb,106.50 kb.

    图  5  密文存储对比
    Figure  5.  Storage comparison of ciphertext

    图5可以看出,本文方案与其他对比方案的密文规模均伴随用户访问属性规模的增长而提升. 造成本文方案密文存储开销逊于文献[4632]的原因在于本文方案为了让来自不同授权代理所属的管理域中的授权用户能够正常完成解密操作,需要在加密过程中在密文内额外增加3|L|个双线性群G元素,对应密文C4,yC5,yC6,y,该部分与解密密钥的dki,j,7相对应. 从表3可以看出,本文方案的密文规模受访问属性数量和授权代理数量影响,当授权代理数量发生变化时,本文方案的密文存储开销也会发生变化,由于在实际应用中,授权代理的数量一般保持不变,因此本文方案密文规模也相对稳定.

    1)加密算法计算开销对比. 进行加密算法计算开销对比的目的是验证DO在加密明文数据时在本地带来的时间开销,由于加密算法涉及大量的双线性群上的指数运算和双线性运算,因此加密算法计算开销越小则表明加密过程所需的等待时间越小,给DO端带来的计算开销也越小. 根据表3所示,本文方案加密算法主要包含2+3|l|+3|L|个双线性群G上的指数运算和1个双线性群GT上的指数运算. 当访问属性|l|=100、授权代理数量|L|=20时,本文方案加密算法所需的时间开销为3.60 s,文献[4, 6, 13, 19, 28, 32]加密算法所需的时间开销分别为1.19 s,3.46 s,6.92 s,6.01 s,6.89 s,1.18 s.

    图6可以看出,本文方案与其他对比方案的加密算法时间开销均伴随用户访问属性规模的增长而提升. 造成本文方案加密算法计算开销高于文献[4, 6, 32]的原因在于本文方案为了实现跨域共享功能,在加密过程中需要额外计算3|L|个双线性群G元素,对应密文C4,yC5,yC6,y. 从表3可以看出,本文方案的加密算法时间开销受访问属性数量和AA数量影响,当授权代理数量发生变化时,本文方案的加密算法时间开销也会发生变化,由于在实际应用中,AA的数量一般保持不变,因此本文方案加密算法的时间开销也相对稳定.

    图  6  Enc()计算开销对比
    Figure  6.  Computation overhead comparison of Enc()

    2)解密密钥生成算法计算开销对比. 进行解密密钥生成算法计算开销对比的目的是验证DU在向AA注册时所需要的响应时间. 根据表3所示,本文方案解密密钥算法主要包含6+2|S|+|L|个双线性群G上的指数运算. 当用户属性|S|=100、授权代理数量|L|=20时,本文方案解密密钥生成算法所需的时间开销为2.38 s,方案[4613192832]解密密钥生成算法所需的时间开销分别为3.51 s,2.33 s,1.20 s,2.31 s,3.47 s,2.48 s.

    图7可以看出,本文方案与其他对比方案的解密密钥生成算法时间开销均伴随用户访问属性规模的增长而提升. 造成本文方案加密算法计算开销高于文献[61319]的原因在于本文方案为了实现跨域共享功能,在解密密钥生成过程中需要额外计算|L|个双线性群G元素,该元素对应解密密钥的dki,j,7.

    图  7  KeyGen()计算开销对比
    Figure  7.  Computation overhead comparison of KeyGen()

    3)外包解密算法计算开销对比. 进行外包解密算法计算开销对比的目的是验证DU在访问云端密文数据时所需要等待的时间开销,由于外包解密算法涉及大量的双线性群上的指数运算和双线性运算,因此加密算法计算开销越小则表明外包解密过程所需的计算量越小,给云端带来的计算开销也越小. 根据表3所示,本文方案外包解密算法主要包含1个双线性群G上的指数运算和3(1+|l|+|L|)个双线性运算. 当访问属性|l|=100、授权代理数量|L|=20时,本文方案外包解密算法所需要的时间开销为1.72 s,文献[4613192832]外包解密算法所需的时间开销分别为6.94 s,1.65 s,1.10 s,8.54 s,2.19 s,3.30 s.

    图8可以看出,本文方案与其他对比方案的外包解密算法时间开销均伴随用户访问属性规模的增长而提升. 造成本文方案外包解密算法计算开销高于文献[6, 13]的原因是在外包解密过程中需要额外计算3|l|个双线性运算将密文的C4,yC5,yC6,y部分和解密密钥中的dki,j,7相互抵消. 本文方案的外包解密算法计算开销受访问属性数量和AA数量的影响,当AA数量发生变化时,本文方案的外包解密算法时间开销也会发生变化,由于在实际应用中,AA的数量一般保持不变,因此本文方案外包解密算法计算开销也相对稳定.

    图  8  OutDec()计算开销对比
    Figure  8.  Computation overhead comparison of OutDec()

    为了评估加密倒排索引对BC上遍历区块中密文内容的优化效果,我们将审计目标文件的访问记录以随机分布的方式存储于BC的区块中,令|S|=10,|L|=4,令Hyperledger Fabric区块大小为2 MB,交易事务大小为3 KB,在考虑区块头部和Merkle Tree结构的存储开销情况下,一个区块中最多能够存储668个交易事务;假设目标文件访问记录的数量为区块数量的5%,依据分布情况构造对应的加密倒排索引,其中倒排索引词典包含的最大元素数量|dict|=20,传统的BC数据查询方法即基准方法(baseline),需要对BC中每个区块进行遍历并对其内容进行解密,本文的审计查询方法的时间开销则包括索引生成算法IdxGen()、审计生成算法QryGen()、查询匹配算法QryInt()和身份追踪算法Trace()的时间开销总和.

    根据表4可知,本文方案审计查询方法与区块规模无关,仅与DO外包文件数量和文件访问次数成正比,在不同的区块数量规模下,索引的生成、维护与查询的开销较小. 在索引词典规模|dict|=20和索引列表长度|list|=50的约束条件下,表5列出了倒排索引在生成、更新、查询过程中在客户端和BC查询节点QN端的存储与计算开销,可以看出本文提出的倒排索引对客户端用户(DO和DU)是资源消耗友好的.

    图9给出了基准方法与本文方法在时间开销上的对比,可以看出基准方法的时间开销随着区块数量的增长而线性增长,而本文的基于索引查询方法的时间开销则随着区块数量的增长以较低趋势增长,即本文所提出的加密倒排索引结构对于区块中密文数据的遍历优化是有效的.

    图  9  区块遍历时间开销对比
    Figure  9.  Time overhead comparison of block traversal

    根据表2表3的理论分析和图3~8的实验结果对比可知,本文方案在付出可接受的存储开销和计算开销代价的情况下,在基于属性加密的密文共享领域提出了一个实用且安全合规的跨域密文数据共享方案,本文方案支持密文场景的访问行为身份追踪,这是现有研究所没有实现的;同时实验证明了引入的加密倒排索引结构能够有效提升BC中密文数据的遍历效率. 因此,本文方案是实用且高效的.

    被广泛应用于云环境数据共享的属性基加密机制因其访问授权的匿名性,在敏感数据应用场景(例如EHR数据共享)还存在安全性与合规性问题. 本文基于密文策略属性基加密(CP-ABE)机制设计了支持访问行为身份追踪的跨域密文共享方案,并引入倒排索引结构优化访问行为身份追踪效率. 在后续的工作中,我们将考虑通过可追踪属性签名[32]技术对访问请求的构造过程进一步优化,实现访问权限的撤销功能和设计支持复杂审计功能的索引结构也是未来的研究方向.

    作者贡献声明:申远提出了方法思路和实验方案设计,并撰写论文;宋伟负责改进方案并修改论文;赵常胜完成实验;彭智勇提出指导意见并修改论文.宋伟(songwei@whu.edu.cn)和彭智勇(peng@whu.edu.cn)为通信作者.

  • 图  1   所提出的(D + 1) -部图示意图

    Figure  1.   Illustration of the proposed (D + 1)-partite graph

    图  2   图卷积宽度跨域推荐系统(GBCD)的整体框架

    Figure  2.   An overall framework of graph convolutional broad cross-domain recommender system (GBCD)

    图  3   GBCD对不同映射特征组数 {m} 获得的RMSE和MAE值分析

    Figure  3.   Analysis of RMSE and MAE values by GBCD with different number of mapped feature groups {m}

    图  4   GBCD通过不同数量的映射特征维数 {{d}_{m}} 获得的RMSE和MAE值分析

    Figure  4.   Analysis of RMSE and MAE values by GBCD with different number of mapped feature dimensions {{d}_{m}}

    图  5   GBCD通过不同特征增强组数 {h} 获得的RMSE和MAE值分析

    Figure  5.   Analysis of RMSE and MAE values obtained by GBCD with different number of enhanced feature groups {h}

    图  6   GBCD通过不同特征增强维数 {{d}_{h}} 得到的RMSE和MAE值分析

    Figure  6.   Analysis of RMSE and MAE values by GBCD with different number of enhanced feature dimensions {{d}_{h}}

    图  7   从 GBCD和PTUP-DNN中学习得到的用户和项特征经过t-SNE转换可视化

    每个星形形状代表 MovieLens 数据集DRA域中的某个具体编号的用户,相同形状的圈代表对应用户对应的交互项.

    Figure  7.   User and item features learned in GBCD and PTUP-DNN visualised by t-SNE transformation

    表  1   主要符号描述表

    Table  1   Description Table of the Main Notations

    符号 描述
    {\mathcal{U}}, {\cal V}^{d}, {\cal V}=\left\{{\cal V}^{1}, {\cal V}^{2},…, {\cal V}^{D}\right\} 用户集,第 {d} 个项域中的项集,
    {D} 个项域组成的项节点集
    {{{\boldsymbol{R}}}^{t}} \in {\mathbb{R}^{\left| {\mathcal{U}} \right| \times \left| {{{\mathcal{V}}^{d}}} \right|}} {d} 个域中的用户 {\text{-}} 项评分矩阵
    \mathcal{G}^{D+1}=\{\mathcal{U}, \mathcal{V}, \mathcal{E}\} ({D} + 1) {\text{-}} 部图
    \mathcal{E}=\left\{\mathcal{E}^{1}, \mathcal{E}^{2}, …, \mathcal{E}^{D}\right\} 边集,每个 {{\mathcal{E}}^{d}} 都是连接 {\mathcal{U}}
    {{\mathcal{V}}^{d}} 之间节点的边
    {{\boldsymbol{A}}} 多域用户项的加权邻接矩阵
    {\hat {\boldsymbol{A}}} 基于 {\boldsymbol{A}} 增加自连接的邻接矩阵
    {\hat {\boldsymbol{D}}} \hat {\boldsymbol{A}} 的度矩阵
    {{\boldsymbol{e}}}_{{{v}^{d}}}^{u} = [{{\boldsymbol{U}}}|{{{\boldsymbol{V}}}^{d}}] \in {\mathbb{R}^{1 \times 2{N}}} 跨域协同滤波嵌入向量
    {{{\boldsymbol{E}}}^0},{{{\boldsymbol{E}}}^{k}} {{\boldsymbol{E}}^0} ({D} + 1){\text{ -}} 部图的特征矩阵,
    {{\boldsymbol{E}}^{k}} 是第 {k} 层的特征矩阵
    {{\boldsymbol{E}}} 跨域协同矩阵,由跨域协同滤波嵌
    入向量拼接得到
    {\mathcal{W}^{\mathrm{g}}} = \{ {{{\boldsymbol{W}}}^1},{{{\boldsymbol{W}}}^2},…,{{{\boldsymbol{W}}}^{k}}\} MGCN模块的权重参数集合
    {\mathcal{W}^{\mathrm{b}}} = \{ {{{\boldsymbol{W}}}_{z{j}}}{,}{{{\boldsymbol{W}}}_{h{j}}}{,}{{{\boldsymbol{W}}}^y}{,}{{{\boldsymbol{\beta}} }_{zj}}{,}{{{\boldsymbol{\beta}} }_{hj}}\} BLS模块的权重参数集合
    {{{\boldsymbol{Z}}}^{m}},{{{\boldsymbol{Z}}}_{j}} 映射特征矩阵,第 {j} 个映射
    特征矩阵节点
    \phi_{j}, \xi_{j} {j} 个非线性映射特征映射函数,
    {j} 个非线性特征增强映射函数
    {{{\boldsymbol{H}}}^{h}},{{{\boldsymbol{H}}}_{j}} 特征增强矩阵,第 {j} 个特征增强层节点
    {\hat {\boldsymbol{Y}}} BLS输出层的输出矩阵
    {\hat {\boldsymbol{r}}}_{{{v}^{d}}}^{u} 用户 {u} 与项 {{v}^{d}} 的预测向量
    下载: 导出CSV

    表  2   实验中使用的2个数据集

    Table  2   Two Datasets Used in Experiments

    数据集 用户数 项数 评分数 密度/%
    Amazon Books 12761 7346 85400 0.09
    CDs 12761 2541 85865 0.27
    Music 12761 778 28680 0.29
    Movies 12761 8270 188507 0.18
    Beauty 30000 302782 345231 0.01
    Fashion 30000 146794 140648 0.01
    MovieLens COM 2113 3029 332038 5.19
    DRA 2113 3975 381616 4.54
    ACT 2113 1277 241211 8.94
    THR 2113 1460 226975 7.36
    下载: 导出CSV

    表  3   跨域任务的统计信息

    Table  3   Statistics of the Cross Domain Tasks

    数据集 CDR任务 源域 目标域
    Amazon 1 Books CDs
    2 Books Music
    3 Books Movies
    4 CDs Music
    5 CDs Movies
    6 Music Movies
    7 Books+CDs Music
    8 Books+CDs Movies
    9 Books+Music Movies
    10 CDs+Music Movies
    11 Books+CDs+Music Movies
    12 Beauty Fashion
    MovieLens 1 COM DRA
    2 COM ACT
    3 COM THR
    4 DRA ACT
    5 DRA THR
    6 ACT THR
    7 COM+DRA ACT
    8 COM+DRA THR
    9 COM+ACT THR
    10 DRA+ACT THR
    11 COM+DRA+ACT THR
    下载: 导出CSV

    表  4   在Amazon数据集上的性能结果比较

    Table  4   Comparison of Performance Results on Amazon Dataset

    任务 评估指标 方法 提升度/%
    TGT CMF L-GCN EMCDR PTUP-MF PTUP-DNN PTUP-GMF DisenCDR GBCD(本文)
    1 MAE 4.4126 2.0761 1.4284 2.9807 1.4095 0.8481 1.2199 1.1426 0.8077 4.76
    RMSE 5.1390 2.8938 1.5315 3.3968 1.9718 1.1655 1.7455 1.3226 1.0124 13.14
    2 MAE 4.4121 2.2234 1.4501 3.3254 1.3885 0.8179 1.1673 1.0112 0.7715 5.67
    RMSE 5.1441 3.0424 1.5729 3.6547 1.9173 1.1287 1.7027 1.1812 1.0033 11.11
    3 MAE 4.2753 1.9922 1.3649 3.1422 1.1931 0.8388 1.0567 0.9796 0.8243 1.73
    RMSE 4.9974 2.7055 1.4885 3.5375 1.6146 1.1178 1.4960 1.3086 1.0532 5.78
    4 MAE 4.4090 1.0745 1.3875 1.5591 1.0396 0.7881 0.9428 1.2650 0.7605 3.50
    RMSE 5.1440 1.6133 1.5045 1.9730 1.5209 1.0809 1.4601 1.3874 0.9743 9.86
    5 MAE 4.2662 1.1581 1.3549 1.1762 0.8572 0.7978 0.8468 1.0165 0.7959 0.24
    RMSE 4.9697 1.6362 1.4892 1.5842 1.1494 1.0540 1.1155 1.2779 1.0151 3.69
    6 MAE 4.2423 1.0408 1.4625 1.0026 0.8332 0.8162 0.8270 1.2322 0.8071 1.11
    RMSE 4.9304 1.4686 1.5985 1.3383 1.1076 1.0425 1.0904 1.3083 0.9816 5.84
    7 MAE 4.4705 0.9866 1.3899 1.5988 1.0335 0.7589 0.9412 1.0480 0.7494 1.25
    RMSE 5.2000 1.4476 1.5012 1.9597 1.4720 1.0515 1.3644 1.2216 0.9954 5.34
    8 MAE 4.3285 1.0726 1.3371 1.0938 0.8753 0.8245 0.8512 1.2172 0.8146 1.20
    RMSE 5.0042 1.5010 1.4651 1.4726 1.1611 1.0525 1.1244 1.3182 1.0201 3.08
    9 MAE 4.2627 1.0081 1.3632 0.9862 0.8467 0.7761 0.8210 1.1562 0.8035 - 3.53
    RMSE 4.9398 1.4133 1.4943 1.3093 1.1210 1.0398 1.0867 1.3172 0.9995 3.88
    10 MAE 4.2112 0.9572 1.3493 0.9766 0.8548 0.7802 0.8222 1.3246 0.7789 0.16
    RMSE 4.8905 1.3365 1.4851 1.2701 1.1440 1.0318 1.0898 1.4514 0.9740 5.60
    11 MAE 4.4446 0.9610 1.3343 0.9786 0.8702 0.7821 0.8264 1.3118 0.7530 3.72
    RMSE 5.1121 1.3287 1.4571 1.2771 1.1578 1.0360 1.1043 1.4714 0.9586 7.47
    12 MAE 4.3761 4.1337 2.5227 3.9229 2.1195 2.0704 2.1029 3.2112 1.4552 29.71
    RMSE 5.2022 4.7734 2.9646 4.1703 2.6949 2.6547 2.6882 4.1867 1.9684 25.85
    注:加粗为最优结果,提升度=(最佳基线性能 - GBCD的性能)/最佳基线性能.
    下载: 导出CSV

    表  5   在MovieLens数据集上的性能结果比较

    Table  5   Comparison of Performance Results on MovieLens Dataset

    任务 评估指标 方法 提升度/%
    TGT CMF L-GCN EMCDR PTUP-MF PTUP-DNN PTUP-GMF DisenCDR GBCD(本文)
    1 MAE 3.5187 0.7259 0.7206 0.7093 0.7087 0.6912 0.6943 0.9793 0.6550 5.66
    RMSE 4.0828 0.9454 0.9892 0.9183 0.9203 0.9035 0.9066 1.0842 0.8523 5.99
    2 MAE 3.4289 0.7524 0.8395 0.7484 0.7461 0.7289 0.7343 0.8931 0.6793 7.49
    RMSE 4.0343 0.9715 1.0485 0.9637 0.9689 0.9377 0.9509 0.9520 0.8720 8.30
    3 MAE 3.6157 0.7597 0.8823 0.7402 0.7337 0.7203 0.7217 0.8597 0.6732 6.72
    RMSE 4.2084 0.9847 1.0985 0.9562 0.9481 0.9339 0.9412 0.9576 0.8657 8.02
    4 MAE 3.3605 0.7036 0.8390 0.7131 0.7086 0.6924 0.6903 0.9571 0.6834 1.00
    RMSE 3.9528 0.9122 1.0550 0.9178 0.9152 0.8945 0.8944 1.0122 0.8861 0.93
    5 MAE 3.5322 0.7205 0.8955 0.7380 0.7130 0.7056 0.7025 0.9522 0.6817 2.96
    RMSE 4.1614 0.9349 1.1055 0.9499 0.9291 0.9158 0.9157 1.0321 0.8754 4.40
    6 MAE 3.5005 0.7063 0.874 0.7170 0.7064 0.6971 0.6911 0.9160 0.6643 3.88
    RMSE 4.1662 0.9169 1.0900 0.9241 0.9168 0.9020 0.8939 0.9774 0.8584 3.97
    7 MAE 3.4866 0.7187 0.8145 0.7360 0.7153 0.7052 0.7002 0.9363 0.6985 0.86
    RMSE 4.0680 0.9342 1.0435 0.9473 0.9245 0.9251 0.9097 0.9871 0.9019 0.24
    8 MAE 3.4522 0.7260 0.8760 0.7480 0.7303 0.7133 0.7056 0.9279 0.6719 4.78
    RMSE 4.0307 0.9446 1.1065 0.9618 0.9391 0.9246 0.9206 0.9939 0.8758 4.87
    9 MAE 3.4793 0.7324 0.8765 0.7379 0.7282 0.7161 0.7111 0.9040 0.6793 4.47
    RMSE 4.1414 0.9467 1.1080 0.9467 0.9406 0.9231 0.9183 0.9585 0.8720 5.04
    10 MAE 3.5241 0.7147 0.8870 0.7395 0.7124 0.6995 0.6956 0.8730 0.6641 4.52
    RMSE 4.1439 0.9283 1.1070 0.9517 0.9283 0.9120 0.9078 0.9313 0.8580 5.49
    11 MAE 3.5005 0.7063 0.7057 0.7170 0.7125 0.7064 0.6995 0.9325 0.6701 4.20
    RMSE 4.1662 0.9169 1.1069 0.9241 0.9122 0.9168 0.8946 0.9870 0.8691 2.85
    注:加粗为最优结果,提升度= (最佳基线性能−GBCD的性能)/最佳基线性能.
    下载: 导出CSV

    表  6   在Amazon数据集上的训练时间

    Table  6   Training Time on Amazon Dataset s

    任务 方法
    TGT CMF L-GCN EMCDR PTUP-MF PTUP-DNN PTUP-GMF DisenCDR GBCD (本文)
    1 53.64 79.95 645.80 11.07 125.85 126.6 123.66 502.80 485.86
    2 50.82 70.92 370.23 10.92 74.25 77.82 72.57 301.23 343.17
    3 97.05 117.78 844.94 17.07 137.37 149.79 142.65 962.10 809.02
    4 50.52 93.45 386.85 11.34 69.84 76.89 75.27 285.08 395.48
    5 98.01 140.61 444.71 16.56 141.30 152.82 147.57 837.20 667.92
    6 97.68 151.17 695.96 17.43 141.39 149.67 148.53 972.04 621.51
    7 52.35 119.58 640.57 11.04 69.72 77.82 73.20 235.24 618.98
    8 96.315 170.58 563.02 17.36 143.10 177.72 157.59 556.95 1048.18
    9 100.29 167.73 471.31 17.52 137.25 145.86 142.62 456.99 918.02
    10 99.12 200.52 470.87 16.92 134.64 147.72 142.44 4475.96 906.53
    11 117.45 275.55 1196.02 16.98 144.69 161.52 154.86 3722.65 1138.08
    12 238.32 1067.19 4229.78 24.07 175.64 173.42 179.11 5308.28 3902.21
    下载: 导出CSV

    表  7   在MovieLens数据集上的训练实验

    Table  7   Training Time on MovieLens Dataset s

    任务 方法
    TGT CMF L-GCN EMCDR PTUP-MF PTUP-DNN PTUP-GMF DisenCDR GBCD (本文)
    1 155.07 219.78 967.29 24.87 256.44 258.33 264.57 2381.35 1947.48
    2 216.75 292.02 907.18 31.53 352.05 347.73 347.22 1579.22 1597.79
    3 347.22 320.64 867.99 39.09 426.90 426.42 430.53 1525.28 1478.47
    4 219.15 387.15 872.87 31.89 341.13 350.64 362.67 1822.40 1719.06
    5 268.89 447.06 872.75 41.52 427.35 436.35 455.10 1522.30 1661.04
    6 402.18 724.77 774.60 49.62 438.03 433.20 707.58 1147.83 1223.79
    7 257.52 566.34 1212.95 35.10 356.19 392.37 408.51 1421.16 2633.87
    8 332.25 598.35 1186.57 42.51 451.23 461.94 476.58 1333.53 2593.37
    9 278.28 680.82 1055.66 40.35 457.86 474.75 466.12 1004.09 2158.97
    10 326.55 819.60 1111.12 43.08 529.47 464.76 468.04 2423.01 2358.87
    11 218.73 906.75 1508.44 40.89 579.32 523.79 518.25 4297.78 3610.48
    下载: 导出CSV

    表  8   在Amazon数据集上的消融实验

    Table  8   Ablation Study on Amazon Dataset

    任务 评估指标 方法 提升度/%
    GCD GMCD GATBCD GBCD (本文)
    1 MAE 1.0304 0.8708 1.2419 0.8077 7.24
    RMSE 1.1403 1.2367 1.6498 1.0124 11.22
    2 MAE 1.0181 0.8317 1.2123 0.7715 7.24
    RMSE 1.1272 1.1987 1.6525 1.0033 11.00
    3 MAE 0.9201 0.8538 1.1032 0.8243 3.56
    RMSE 1.1974 1.1821 1.5033 1.0532 10.90
    4 MAE 0.8360 0.8200 1.0054 0.7605 7.26
    RMSE 1.1440 1.2187 1.3767 0.9743 14.83
    5 MAE 0.8508 0.8636 0.9839 0.7959 6.45
    RMSE 1.1697 1.2099 1.3809 1.0151 13.21
    6 MAE 0.9423 0.8823 1.0313 0.8071 8.52
    RMSE 1.2304 1.1869 1.2167 0.9816 17.30
    7 MAE 1.0258 0.8918 0.9943 0.7494 15.97
    RMSE 1.2500 1.2375 1.3066 0.9954 19.56
    8 MAE 0.9285 0.8952 1.0256 0.8146 9.00
    RMSE 1.1042 1.2128 1.2179 1.0201 7.62
    9 MAE 0.9237 0.9068 0.9482 0.8035 11.39
    RMSE 1.1732 1.2051 1.2390 0.9995 14.81
    10 MAE 0.9180 0.8829 0.9670 0.7789 11.78
    RMSE 1.2905 1.2429 1.2608 0.9740 21.63
    11 MAE 0.8412 0.8695 0.9520 0.7530 13.40
    RMSE 1.2553 1.2115 1.2604 0.9586 20.87
    12 MAE 1.6986 1.7228 2.1872 1.4552 14.33
    RMSE 2.1740 2.2176 2.3449 1.9684 9.45
    注:加粗为最优结果,提升度= (最佳基线性能−GBCD的性能)/最佳基线性能.
    下载: 导出CSV

    表  9   在MovieLens数据集上的消融研究

    Table  9   Ablation Study on MovieLens Dataset

    任务 评估指标 方法 提升度/%
    GCD GMCD GATBCD GBCD (本文)
    1 MAE 0.9017 0.7796 1.0419 0.6550 15.98
    RMSE 1.3749 0.9827 1.2809 0.8523 13.27
    2 MAE 0.8559 0.8223 1.0040 0.6793 17.39
    RMSE 1.1631 1.0625 1.1608 0.8720 17.93
    3 MAE 0.8900 0.8091 0.8969 0.6732 16.80
    RMSE 1.1758 1.0174 1.1699 0.8657 14.91
    4 MAE 0.8503 0.8383 0.8799 0.6834 18.48
    RMSE 1.1044 1.0598 1.1554 0.8861 16.39
    5 MAE 0.8305 0.8121 1.1041 0.6817 16.06
    RMSE 1.0946 1.0433 1.3024 0.8754 16.09
    6 MAE 0.8354 0.7888 0.8375 0.6643 15.78
    RMSE 1.0966 0.9977 1.0393 0.8584 13.96
    7 MAE 0.9274 0.8845 0.9139 0.6985 21.03
    RMSE 1.2729 1.1225 1.2139 0.9019 19.65
    8 MAE 0.8365 0.8173 0.8518 0.6719 17.79
    RMSE 1.1261 1.0384 1.2059 0.8758 15.66
    9 MAE 0.8105 0.8008 0.8855 0.6793 15.17
    RMSE 1.0747 1.0103 1.0972 0.8720 13.69
    10 MAE 0.8734 0.8559 0.8971 0.6641 22.41
    RMSE 1.1123 1.0838 1.1897 0.8580 20.83
    11 MAE 0.8403 0.8063 0.9081 0.6701 16.89
    RMSE 1.0406 1.0169 1.1133 0.8691 14.53
    注:加粗为最优结果,提升度= (最佳基线性能 - GBCD的性能)/最佳基线性能.
    下载: 导出CSV

    表  10   GBCD有效性的案例研究

    Table  10   Case Study of the Effectiveness of GBCD

    数据集 任务 用户编号 项编号 真实评分 不同算法的预测评分
    TGT L-GCN EMCDR PTUP-DNN DisenCDR GBCD (本文)
    Amazon 1 360 8874 1 2.8748 3.3818 1.5408 1.8930 1.6353 1.3503
    6 1569 5363 5 2.2330 3.1874 3.1622 4.0144 3.6050 4.4975
    7 4067 15249 5 1.1260 4.0448 3.7357 4.6258 4.7390 4.6835
    11 1188 27555 5 1.7055 3.4451 4.5359 4.7281 3.5772 4.7434
    MovieLens 1 414 4042 4 0.7557 4.4624 2.2757 4.1191 3.3242 4.4395
    6 814 4220 3 1.1037 3.2118 2.0289 3.6359 3.1161 3.0989
    7 1703 7248 5 0.1681 3.8297 3.0117 4.2053 3.4718 4.0739
    11 896 12777 3 1.9577 2.7000 2.1512 2.8680 3.9828 3.0385
    注:加粗为最优结果.
    下载: 导出CSV
  • [1]

    Wang Changdong, Deng Zhihong, Lai Jianhuang, et al. Serendipitous recommendation in e-commerce using innovator-based collaborative filtering[J]. IEEE Transactions on Cybernetics, 2018, 49(7): 2678−2692

    [2]

    Huang Ling, Zhao Zhilin, Wang Changdong, et al. LSCD: Low-rank and sparsecross-domain recommendation[J]. Neurocomputing, 2019, 366: 86−96 doi: 10.1016/j.neucom.2019.07.091

    [3]

    Zhong Shiting, Huang Ling, Wang Changdong, et al. An autoencoder framework with attention mechanism for cross-domain recommendation[J]. IEEE Transactions on Cybernetics, 2020, 52(6): 5229−5241

    [4]

    Fu Wenjing, Peng Zhaohui, Wang Senzhang, et al. Deeply fusing reviews and contents for cold start users in cross-domain recommendation systems[C]//Proc of the 31st AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2019: 94−101

    [5]

    Huang Ling, Guan Canrong, Huang Zhenwei, et al. Broad recommender system: An efficient nonlinear collaborative filtering approach[J]. arXiv preprint, arXiv: 2204.11602, 2022

    [6]

    He Ming, Zhang Jiuling, Yang Peng, et al. Robust transfer learning for cross-domain collaborative filtering using multiple rating patterns approximation[C]//Proc of the 11th ACM Int Conf on Web Search and Data Mining. New York: ACM, 2018: 225−233

    [7]

    Hu Peng, Du Rong, Hu Yao, et al. Hybrid item-item recommendation via semi-parametric embedding[C]//Proc of the 28th Int Joint Conf on Artificial Intelligence. Freiburg, German: IJCAI, 2019: 2521−2527

    [8]

    Lei Xu, Jiang Chunxiao, Yan Chen. User participation in collaborative filtering-based recommendation systems: A game theoretic approach[J]. IEEE Transactions on Cybernetics, 2019, 49(4): 1339−1352 doi: 10.1109/TCYB.2018.2800731

    [9]

    Barkan O, Koenigstein N, Yogev E, et al. CB2CF: A neural multiview content-to-collaborative filtering model for completely cold item recommendations[C]//Proc of the 13th ACM Conf on Recommender Systems. New York: ACM, 2019: 228−236

    [10]

    Hu Qiying, Zhao Zhilin, Wang Changdong, et al. An item orientated recommendation algorithm from the multi-view perspective[J]. Neurocomputing, 2017, 269: 261−272 doi: 10.1016/j.neucom.2016.12.102

    [11]

    Ferraro A. Music cold-start and long-tail recommendation: Bias in deep representations[C]//Proc of the 13th ACM Conf on Recommender Systems. New York: ACM, 2019: 586−590

    [12]

    Xiong Fei, Shen Wenhan, Chen Hongshu, et al. Exploiting implicit influence from information propagation for social recommendation[J]. IEEE Transactions on Cybernetics, 2019, 50(10): 4186−4199

    [13]

    Chen Jihong, Chen Wei, Huang Jinjing, et al. Co-purchaser recommendation for online group buying[J]. Data Science and Engineering, 2020, 5(3): 280−292 doi: 10.1007/s41019-020-00138-w

    [14]

    Koren Y, Bell R, Volinsky C. Matrix factorization techniques for recommender systems[J]. Computer, 2009, 42(8): 30−37 doi: 10.1109/MC.2009.263

    [15] 陈嘉颖,于炯,杨兴耀. 一种融合语义分析特征提取的推荐算法[J]. 计算机研究与发展,2020,57(3):562−575 doi: 10.7544/issn1000-1239.2020.20190189

    Chen Jiaying, Yu Jiong, Yang Xingyao. A feature extraction based recommender algorithm fusing semantic analysis[J]. Journal of Computer Research and Development, 2020, 57(3): 562−575 (in Chinese) doi: 10.7544/issn1000-1239.2020.20190189

    [16] 于亚新,刘梦,张宏宇. Twitter社交网络用户行为理解及个性化服务推荐算法研究[J]. 计算机研究与发展,2020,57(7):1369−1380 doi: 10.7544/issn1000-1239.2020.20190158

    Yu Yaxin, Liu Meng, Zhang Hongyu. Research on user behavior understanding and personalized service recommendation algorithm in Twitter social networks[J]. Journal of Computer Research and Development, 2020, 57(7): 1369−1380 (in Chinese) doi: 10.7544/issn1000-1239.2020.20190158

    [17] 于亚新,张文超,李振国,等. 基于超图的EBSN个性化推荐及优化算法[J]. 计算机研究与发展,2020,57(12):2556−2570 doi: 10.7544/issn1000-1239.2020.20190275

    Yu Yaxin, Zhang Wenchao, Li Zhenguo, et al. Hypergraph-based personalized recommendation & optimization algorithm in EBSN[J]. Journal of Computer Research and Development, 2020, 57(12): 2556−2570 (in Chinese) doi: 10.7544/issn1000-1239.2020.20190275

    [18] 孙肖依,刘华锋,景丽萍,等. 基于列表级排序的深度生成推荐方法[J]. 计算机研究与发展,2020,57(8):1697−1706 doi: 10.7544/issn1000-1239.2020.20200497

    Sun Xiaoyi, Liu Huafeng, Jing Liping, et al. Deep generative recommendation based on list-wise ranking[J]. Journal of Computer Research and Development, 2020, 57(8): 1697−1706 (in Chinese) doi: 10.7544/issn1000-1239.2020.20200497

    [19]

    He Xiangnan, Du Xiaoyu, Wang Xiang, et al. Outer product-based neural collaborative filtering[C]//Proc of the 27th Int Joint Conf on Artificial Intelligence. Freiburg, German: IJCAI, 2018: 2227−2233

    [20]

    Herlocker J L, Konstan J A, Borchers A, et al. An algorithmic framework for performing collaborative filtering[C]//Proc of the 22nd Annual Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 1999: 230−237

    [21]

    Schafer J B, Frankowski D, Herlocker J, et al. Collaborative filtering recommender systems[M]//The Adaptive Web: Methods and Strategies of Web Personalization. Berlin: Springer, 2007: 291−324

    [22]

    Chae D K, Kang J S, Kim S W, et al. Rating augmentation with generative adversarial networks towards accurate collaborative filtering[C]//Proc of the 26th World Wide Web Conf. New York: ACM, 2019: 2616−2622

    [23]

    Shin H, Kim S, Shin J, et al. Privacy enhanced matrix factorization for recommendation with local differential privacy[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 30(9): 1770−1782 doi: 10.1109/TKDE.2018.2805356

    [24]

    Zhang Haijun, Sun Yanfang, Zhao Mingbo, et al. Bridging user interest to item content for recommender systems: An optimization model[J]. IEEE Transactions on Cybernetics, 2019, 50(10): 4268−4280

    [25]

    Huang Ling, Wang Changdong, Chao Hongyang, et al. A score prediction approach for optional course recommendation via cross-user-domain collaborative filtering[J]. IEEE Access, 2019, 7: 19550−19563 doi: 10.1109/ACCESS.2019.2897979

    [26]

    Xie Ruobing, Liu Qi, Wang Liangdong, et al. Contrastive cross-domain recommendation in matching[C]//Proc of the 28th ACM SIGKDD Conf on Knowledge Discovery and Data Mining. New York: ACM, 2022: 4226−4236

    [27]

    Zhu Yongchun, Tang Zhenwei, Liu Yudan, et al. Personalized transfer of user preferences for cross-domain recommendation[C]//Proc of the 15th ACM Int Conf on Web Search and Data Mining. New York: ACM, 2022: 1507−1515

    [28]

    Li Chenglin, Zhao Mingjun, Zhang Huanming, et al. RecGURU: Adversarial learning of generalized user representations for cross-domain recommendation[C]//Proc of the 15th ACM Int Conf on Web Search and Data Mining. New York: ACM, 2022: 571−581

    [29]

    Cao Jiangxia, Sheng Jiawei, Cong Xin, et al. Cross-domain recommendation to cold-start users via variational information bottleneck[C]//Proc of the 38th Int Conf on Data Engineering (ICDE). Piscataway, NJ: IEEE, 2022: 2209−2223

    [30]

    Liu Weiming, Zheng Xiaolin, Hu Mengling, et al. Collaborative filtering with attribution alignment for review-based non-overlapped cross domain recommendation[C]//Proc of the 29th ACM Web Conf 2022. New York: ACM, 2022: 1181−1190

    [31]

    Liu Weiming, Zheng Xiaolin, Su Jiajie, et al. Exploiting variational domain-invariant user embedding for partially overlapped cross domain recommendation[C]//Proc of the 45th Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2022: 312−321

    [32]

    Wu Meihan, Li Li, Chang Tao, et al. Fedcdr: Federated cross-domain recommendation for privacy-preserving rating prediction[C]//Proc of the 31st ACM Int Conf on Information & Knowledge Management. New York: ACM, 2022: 2179−2188

    [33] 任豪,刘柏嵩,孙金杨,等. 基于时间和关系感知的图协同过滤跨域序列推荐[J]. 计算机研究与发展,2023,60(1):112−124 doi: 10.7544/issn1000-1239.202110545

    Ren Hao, Liu Baisong, Sun Jinyang, et al. A time and relation-aware graph collaborative filtering for cross-domain sequential recommendation[J]. Journal of Computer Research and Development, 2023, 60(1): 112−124 (in Chinese) doi: 10.7544/issn1000-1239.202110545

    [34] 郭磊,李秋菊,刘方爱,等. 基于自注意力网络的共享账户跨域序列推荐[J]. 计算机研究与发展,2021,58(11):2524−2537 doi: 10.7544/issn1000-1239.2021.20200564

    Guo Lei, Li Qiuju, Liu Fang’ai, et al. Shared-account cross-domain sequential recommendation with self-attention network[J]. Journal of Computer Research and Development, 2021, 58(11): 2524−2537 (in Chinese) doi: 10.7544/issn1000-1239.2021.20200564

    [35]

    Wu Shiwen, Sun Fei, Zhang Wentao, et al. Graph neural networks inrecommender systems: A survey[J]. ACM Computing Surveys, 2022, 55(5): 1−37

    [36]

    Zhang Si, Tong Hanghang, Xu Jiejun, et al. Graph convolutional networks: A comprehensive review[J]. Computational Social Networks, 2019, 6(1): 1−23 doi: 10.1186/s40649-019-0061-6

    [37]

    Wu Felix, Souza A, Zhang Tianyi, et al. Simplifying graph convolutional networks[C]//Proc of the 36th Int Conf on Machine Learning. New York: PMLR, 2019: 6861−6871

    [38] 赵港,王千阁,姚烽,等. 大规模图神经网络系统综述[J]. 软件学报,2022,33(1):150−170

    Zhao Gang , Wang Qiange , Yao Feng, et al. Survey on large-scale graph neural network systems[J]. Journal of Software, 2022, 33(1): 150−170(in Chinese)

    [39]

    Guo Lei, Zhang Jinyu, Tang Li, et al. Time interval-enhanced graph neural network for shared-account cross-domain sequential recommendation[J]. arXiv preprint, arXiv: 2206.08050, 2022

    [40]

    Guo Lei, Tang Li, Chen Tong, et al. DAGCN: A domain-aware attentive graph convolution network for shared account cross-domain sequential recommendation[J]. arXiv preprint, arXiv: 2105.03300, 2021

    [41]

    Jing Zhiwen, Zhao Ziliang, Feng Yang, et al. GReS: Graphical cross-domain recommendation for supply chain platform[C]//Proc of the 31st ACM Int Conf on Information & Knowledge Management. New York: ACM, 2022: 4094−4098

    [42]

    Chen C L P, Liu Zhulin. Broad learning system: An effective and efficient incremental learning system without the need for deep architecture[J]. IEEE Transactions on Neural Networks and Learning Systems, 2017, 29(1): 10−24

    [43]

    He Xiangnan, Deng Kuan, Wang Xiang, et al. LightGCN: Simplifying and powering graph convolution network for recommendation[C]//Proc of the 43rd Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2020: 639−648

    [44]

    Singh A P, Gordon G J. Relational learning via collective matrix factorization[C]//Proc of the 14th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2008: 650−658

    [45]

    Zhu Feng, Wang Yan, Chen Chaochao, et al. A deep framework for cross-domain and cross-system recommendations[J]. arXiv preprint, arXiv: 2009.06215, 2020

    [46]

    Man Tong, Shen Huawei, Jin Xiaolong, et al. Cross-domain recommendation: An embedding and mapping approach[C]//Proc of the 26th Int Joint Conf on Artificial Intelligence. Freiburg, German: IJCAI, 2017: 2464−2470

    [47]

    Cao Jiangxia, Lin Xixun, Cong Xin, et al. DisenCDR: Learning disentangled representations for cross-domain recommendation[C]//Proc of the 45th Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2022: 267−277

    [48]

    Xu Ke, Wang Ziliang, Zheng Wei, et al. A centralized-distributed transfer model for cross-domain recommendation based on multi-source heterogeneous transfer learning[C]//Proc of the 38th Int Conf on Data Mining (ICDM). Piscataway, NJ: IEEE, 2022: 1269−1274

    [49]

    Berg R, Kipf T N, Welling M. Graph convolutional matrix completion[J]. arXiv preprint, arXiv: 1706.02263, 2017

    [50]

    Wang Xiang, He Xiangnan, Wang Meng, et al. Neural graph collaborative filtering[C]//Proc of the 42nd Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2019: 165−174

    [51]

    Chen Lei, Wu Le, Hong Richang, et al. Revisiting graph based collaborative filtering: A linear residual graph convolutional network approach[C]//Proc of the 32nd AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2020: 27−34

    [52]

    Liu Meng, Li Jinjun, Li Guohui, et al. Cross domain recommendation via bi-directional transfer graph collaborative filtering networks[C]//Proc of the 29th ACM Int Conf on Information & Knowledge Management. New York: ACM, 2020: 885−894

    [53]

    Chen C L P, Liu Zhulin, Feng Shuang. Universal approximation capability of broad learning system and its structural variations[J]. IEEE Transactions on Neural Networks and Learning Systems, 2018, 30(4): 1191−1204

    [54]

    Zhai Jianyang, Zheng Xiawu, Wang Changdong, et al. Knowledge prompt-tuning for sequential recommendation[J]. arXiv preprint, arXiv: 2308.08459, 2023

  • 期刊类型引用(1)

    1. 郝嘉琨,向鹏,何逸飞,高健博,关志,谢安明,陈钟. 基于去中心化身份的跨域数据交易系统. 计算机研究与发展. 2024(10): 2570-2586 . 本站查看

    其他类型引用(2)

图(7)  /  表(10)
计量
  • 文章访问数:  209
  • HTML全文浏览量:  46
  • PDF下载量:  105
  • 被引次数: 3
出版历程
  • 收稿日期:  2023-07-30
  • 修回日期:  2023-12-21
  • 网络出版日期:  2024-02-21
  • 刊出日期:  2024-06-30

目录

/

返回文章
返回