【技术实现步骤摘要】
基于公钥可搜索加密的药品可信溯源方法
[0001]本专利技术涉及一种基于公钥可搜索加密的药品可信溯源方法。
技术介绍
[0002]药品供应链参与主体众多且复杂,导致供应链参与主体之间存在信息不对称性,实现真正的药品溯源并非易事。目前的区块链溯源技术在药品溯源领域的应用中仍有以下不足:
①
现有基于区块链的可搜索加密模型仅考虑算法流程与区块链的融合设计,其应用场景比较单一。
②
现有区块链溯源研究方向多数为其模型架构的搭建和智能合约实现,忽略了链下数据在传输时的安全性和可信性考虑。
③
目前基于区块链的可搜索加密模型对数据加密流程研究较为全面,但缺少链下数据索引处理和上链存储成本的考虑。
技术实现思路
[0003]针对现有技术中存在的缺陷,本专利技术提出一种基于区块链的药品溯源数据的可搜索加密模型(Public key Encryption with Keyword Search model of Drug Traceability data based on Blockchain,DTB
‑
PEKS),将药品信息进行处理,分为多个药品数据文件,对每个数据文件提取出关键词的索引值。利用公钥可搜索加密算法对数据文件进行加密生成密文,构建索引树MIIT并发送至云服务器,密文上传至区块链中。另外,本模型能够记录关键词的搜索次数以及搜索状态,在搜索前通过判断相关参数,从而减轻搜索信息过多造成的加密、解密负担,该算法可以随时对数据进行更新、溯源。< ...
【技术保护点】
【技术特征摘要】
1.一种基于公钥可搜索加密的药品可信溯源方法,其特征在于包括4个步骤:Step1:对收集的药品信息和日志信息进行加密和提取关键词生成药品密文和索引表,上传至云服务器,为加密数据的搜索,即追溯查询提供依据;Step2:根据密文和数据上传者的身份ID生成相关药品信息的检查列表,将检查列表嵌入到区块链的智能合约中;Step3:将Step1中的药品密文上传至药品溯源链;Step4:当数据查询者想要对药品信息进行查询时,系统获取查询者输入的搜索词条中的关键词和身份ID并进行验证,通过验证之后,完成搜索行为;并记录此次搜索行为生成日志信息,并上链存储;所述Stepl中,药品关键词的提取采用前置语义提取PSE算法,药品关键词的索引生成采用MIIT构建;所述Step1中,对收集的药品信息和日志信息进行加密和提取关键词生成药品密文和索引表具体做法如下:采用准备算法将药品到库信息M分为多个数据文件,通过溯源系统将数据文件进行可搜索加密处理,生成密文E
m
,并对多个数据文件提取关键词w,生成文件
‑
区块标识符BP
i
∈{0,1}
l
,其中l为数据文件M
i
的长度,并生成索引MIIT和关键词状态表Map;医院客户端将BP
i
(E
i
)存储到区块链,生成索引MIIT存储至云服务器;所述Step4分为陷门信息生成阶段和搜索阶段;其中,陷门信息生成阶段又分为2个步骤:Step4
‑
1、当患者进行对明文关键词Drug_a的搜索时,客户端系统首先获取其状态Map,计算搜索令牌K
ts
=H1(Drug_a||ts);并判断搜索状态S;其中ts表示搜索次数;Step4
‑
2、如果S为
″
Y
″
,说明药品A曾被搜索过,区块链保留着上次的搜索记录Record,溯源系统将搜索令牌进行加密,与患者ID
P
合并生成陷门T,发送给区块链,区块链使用私钥sk
b
顺利解密并得到搜索密钥K
ts
之后,说明区块链接收到正确的陷门信息;此时,区块链将对应密钥K
ts
的密文E
m
进行加密处理,区块链返回E
m
′
,给客户端系统;如果S为
″
N
″
,说明药品A的信息在上传或更新之后未曾被搜索,需要云服务器首先计算搜索结果;患者客户端计算新的索引指针IP
t
和上次的搜索令牌K
ts
‑1,同患者身份ID
P
合并生成陷门T,将T发送给云服务器;同时,患者客户端将对应搜索状态改为
″
Y
″
;其中,搜索阶段又分为3个步骤:Step4
‑
3、在S为
″
N
″
的情况下,即药品A信息未被搜索过,患者客户端发送陷门T给云服务器,云服务器获取到陷门T之后,从索引MIIT中得到与关键词Drug_a有关的密文区块指针BP
m
和索引指针IP
t
,将计算结果搜索令牌K
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。