买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:云南财经大学
摘要:本发明公开了一种基于公钥可搜索加密的药品可信溯源方法包括4个步骤:1.对收集的药品信息和日志信息进行加密和提取关键词生成药品密文和索引表,上传至云服务器,为加密数据的搜索,即追溯查询提供依据;2.根据密文和数据上传者的身份ID生成相关药品信息的检查列表,将检查列表嵌入到区块链的智能合约中;3.将Step1中的药品密文上传至药品溯源链;4.当数据查询者想要对药品信息进行查询时,系统获取查询者输入的搜索词条中的关键词和身份ID并进行验证,通过验证之后,完成搜索行为;并记录此次搜索行为生成日志信息,并上链存储。本发明面向药品溯源场景引入公钥可搜索加密技术,使得各个节点易于维护和监控,采用前置语义提取算法,在方法中引入前置条件和词性因子,有效提升模型中药品数据特征提取的准确性;采用默克尔倒排索引树结构,提高多关键词的搜索效率,支持云服务器和区块链的可信验证过程,提高药品数据搜索效率。
主权项:1.一种基于公钥可搜索加密的药品可信溯源方法,其特征在于包括4个步骤:Step1:对收集的药品信息和日志信息进行加密和提取关键词生成药品密文和索引表,上传至云服务器,为加密数据的搜索,即追溯查询提供依据;Step2:根据密文和数据上传者的身份ID生成相关药品信息的检查列表,将检查列表嵌入到区块链的智能合约中;Step3:将Step1中的药品密文上传至药品溯源链;Step4:当数据查询者想要对药品信息进行查询时,系统获取查询者输入的搜索词条中的关键词和身份ID并进行验证,通过验证之后,完成搜索行为;并记录此次搜索行为生成日志信息,并上链存储;所述Step1中,药品关键词的提取采用前置语义提取PSE算法,药品关键词的索引生成采用默克尔倒排索引树MerkleInvertedIndexTree,MIIT构建;所述MIIT是通过结合倒排列表、Merkle树、哈希指针技术,对链上数据进行多关键字搜索;所述MIIT结构是动态构建,每生成一个新的区块会对MIIT的结构更新;在对链下数据进行关键字提取之后,将以提取的链下数据作为基础,通过链上区块建立索引结构,由云服务器进行存储和计算搜索结果,并保持索引的生成更新;所述MIIT中存在两种不同的节点:叶子节点、分支节点,每个节点都包含哈希值,其中叶子节点,哈希值是对叶子节点中存储的关键字以及区块指针进行的一次哈希运算;分支节点,哈希值为关键字、区块指针以及孩子节点的哈希值的进行的一次哈希运算;分支节点存放索引相关信息和指向区块的哈希指针,并提供指向下一层节点的指针;叶子节点位于MIIT底层,代表了一条搜索路径的结束,搜索结果存放在叶子节点中,结果为一个指向数据对应交易所在区块的哈希指针;若一个节点为分支节点,则除了包含指向下一层的指针之外,节点本身也包含对应的搜索结果;当MIIT中只有一个节点,则此节点为叶子节点,如果存在孩子节点,则为分支节点;所述Step1中,对收集的药品信息和日志信息进行加密和提取关键词生成药品密文和索引表具体做法如下:采用准备算法将药品到库信息M分为多个数据文件,通过溯源系统将数据文件进行可搜索加密处理,生成密文Em,并对多个数据文件提取关键词w,生成文件-区块标识符BPi∈{0,1}l,其中l为数据文件Mi的长度,并生成索引MIIT和关键词状态表Map;医院客户端将BPiEi存储到区块链,生成索引MIIT存储至云服务器;所述Step4分为陷门信息生成阶段和搜索阶段;其中,陷门信息生成阶段又分为2个步骤:Step4-1、当患者进行对明文关键词Drug_a的搜索时,客户端系统首先获取其状态Map,计算搜索令牌Kts=H1Drug_a||ts_;并判断搜索状态S;其中ts表示搜索次数;Step4-2、如果S为"Y",说明药品A曾被搜索过,区块链保留着上次的搜索记录Record,溯源系统将搜索令牌进行加密,与患者IDP合并生成陷门T,发送给区块链,区块链使用私钥skb顺利解密并得到搜索密钥Kts之后,说明区块链接收到正确的陷门信息;此时,区块链将对应密钥Kts的密文Em进行加密处理,区块链返回Em',给客户端系统;如果S为"N",说明药品A的信息在上传或更新之后未曾被搜索,需要云服务器首先计算搜索结果;患者客户端计算新的索引指针IPt和上次的搜索令牌Kts-1,同患者身份IDP合并生成陷门T,将T发送给云服务器;同时,患者客户端将对应搜索状态改为"Y";其中,搜索阶段又分为3个步骤:Step4-3、在S为"N"的情况下,即药品A信息未被搜索过,患者客户端发送陷门T给云服务器,云服务器获取到陷门T之后,从索引MIIT中得到与关键词Drug_a有关的密文区块指针BPm和索引指针IPt,将计算结果搜索令牌Kts、用户身份IDP和所有的密文Em对应随机数at和验证码Vt发送到区块链;Step4-4、区块链在收到搜索结果并进行验证计算通过后,从Record调出上次搜索密文Em并进行非对称加密,将Em'返回给患者客户端;同时,记录此次搜索结果,即搜索令牌和密文;Step4-5、患者客户端收到Em'并读取头文件γK,使用自身私钥DecE'm,skP进行非对称解密生成γK,计算并使用密钥K,得到密钥γ并计算对称密钥Ke,计算SDecKe,M',计算出药品到库信息M;Step1中所述前置语义提取PSE算法引入前置条件和词性因子,并构建了一个关键字的树形索引结构,公式如下: 其中condtion1=contain'add'∧'delete'∧'update'∧'check'表示满足数据中出现“增删改查”字句,表明此条数据为日志数据,则prei赋值为1;词频TermFrequency,TF表示词语在文档D中出现的概率,如公式: 其中,分子Ni,j是该词语ti在文档dj中出现的次数,而分母∑kNk,j则表示在文档dj中所有字词的出现次数总和;逆文档概率InverseDocumentFrequency,IDF表示语料库中包含词语ti的文档的数目的倒数,计算公式如下: 其中,|D|表示语料库中文档的总数,|{j:ti∈dj}|表示包含词语ti的文档数量;如果该词语不出现在语料库中,就会导致被除数为0,所以在此进行加1操作,避免此问题出现;根据两种数据类型,分别对医药数据权重pos_medi和日志数据权重pos_logi进行分类赋值,将对关键词i的词性权重进行区分,将词性的权值进行定义,不同词性的关键字权值定义如公式: 其中:adj.是形容词β是形容词权值;adv.是副词γ是形容词权值;v.是动词δ是形容词权值;n是名词α是形容词权值;num是数字ε是形容词权值;特征词权重的计算公式为:
全文数据:
权利要求:
百度查询: 云南财经大学 基于公钥可搜索加密的药品可信溯源方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。