CN114844678A - 基于隐私保护的浏览器安全查询方法 - Google Patents

基于隐私保护的浏览器安全查询方法 Download PDF

Info

Publication number
CN114844678A
CN114844678A CN202210362357.9A CN202210362357A CN114844678A CN 114844678 A CN114844678 A CN 114844678A CN 202210362357 A CN202210362357 A CN 202210362357A CN 114844678 A CN114844678 A CN 114844678A
Authority
CN
China
Prior art keywords
url
client
hash
random number
queried
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210362357.9A
Other languages
English (en)
Inventor
张伟
顾祖林
陈云芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210362357.9A priority Critical patent/CN114844678A/zh
Publication of CN114844678A publication Critical patent/CN114844678A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了基于隐私保护的浏览器安全查询方法,包括:服务器端接收恶意URL列表和随机数,计算每个恶意URL的256位哈希值,截取前32位作为哈希前缀;为每个恶意URL加密,将32位哈希前缀和加密后的URL集组合成字典数据发送到客户端;客户端接收用户输入的待查询URL,第一次判断待查询URL哈希前缀是否存在于本地客户端;若存在,则继续进行第二次判断,客户端为待查询URL哈希加密,将加密结果发送到服务器端;服务器端使用随机数为加密结果进行加密,将加密结果发送回客户端;客户端对处理结果计算,判断计算后的结果是否存在于本地。在保障基本安全浏览服务的前提下,本发明使用椭圆曲线上的离散对数问题保障用户和黑名单服务提供者的隐私不泄露。

Description

基于隐私保护的浏览器安全查询方法
技术领域
本发明涉及网络技术领域,特别涉及一种基于隐私保护的浏览器安全查询方法。
背景技术
安全浏览服务是浏览器的一项重要服务,其目的是为了防止钓鱼网站、诈骗网站等对用户的欺骗,其工作方式一般由浏览器服务商收集和维护一个黑名单列表,若用户浏览了处于黑名单中的网站,浏览器便会给予相应的提示。为了方便用户的使用,诸如Google、Firefox等厂商均设置可供查询的api,用户上传自己想要查询的网址URL,便可得到该URL是否恶意的判定结果。
在判断浏览网址的安全性时,Google等厂商只得到用户浏览网址的32位哈希前缀,但约有20000余个URL会共享一个相同32位哈希前缀,即无法保证对浏览网址安全性的准确判断。为了保证查询准确率,Google通常会要求用户对所查询的URL进行分解,进而上传多个前缀便于精确检查,这样多个前缀联合,使反向推断出用户浏览的网址便成为可能。而用户的浏览记录一旦被获取,互联网服务提供商便会借此进行相关的个性化服务,甚至是对用户进行画像,严重危害用户的隐私安全。
发明内容
发明目的:针对以上问题,本发明目的是提供一种基于隐私保护的浏览器安全查询方法,通过椭圆曲线上的离散对数保障黑名单列表以及用户的浏览记录隐私安全。
技术方案:本发明的一种基于隐私保护的浏览器安全查询方法,包括如下步骤:
步骤1,服务器端接收黑名单提供者发送的恶意URL列表和随机数,计算每个恶意URL的256位哈希值,截取前32位作为哈希前缀;再利用随机数为每个恶意URL进行加密,将32位哈希前缀和加密后的URL集组合成字典数据,将该字典数据发送到客户端;
步骤2,所述客户端接收用户输入的待查询URL,第一次判断待查询URL哈希前缀是否存在于本地客户端存储的字典数据恶意URL哈希前缀集中,若不存在,则输出待查询URL为安全网址;若存在,则继续进行第二次判断,需要用户输入一个随机数,客户端使用该随机数为用户输入的待查询URL哈希进行加密,并将加密结果发送到服务器端;
步骤3,服务器端在接收到加密结果后,使用黑名单提供者发送的随机数为加密结果进行加密,然后将结果发送回客户端;
步骤4,客户端收到服务器端的处理结果后,对该处理结果进行计算,判断计算后的结果是否存在于本地存储的恶意URL加密结果中,若不存在,则输出待查询URL为安全网址;若存在,则输出待查询URL为恶意网址。
进一步,所述步骤1包括:
服务器端将256位哈希值映射到椭圆曲线E(a,b,p,r)的点P(x,y)上,a、b、p、r分别表示椭圆曲线方程y2=x3+ax+b(mod p)中的参数a,b,p,r表示椭圆曲线的阶,x、y分别表示横、纵坐标,以随机数k作为参数,对点P进行椭圆曲线E上的乘法运算k*P,得到新的点P1(x1,y1);
使用hashlib256函数计算点P1横纵坐标的256位哈希值且加和,表达式为:sum=hashlib256(x1)+hashlib256(y1),将所有恶意URL哈希前缀q和256位哈希值sum以(q,sum)形式作为字典数据发送到本地客户端。
进一步,所述步骤2包括:
用户输入待查询URL后,本地客户端计算该待查询URL的256位哈希值,截取前32位作为哈希前缀;若该32位哈希前缀存在于本地字典数据存储的恶意URL的32位哈希前缀数据集中,则将待查询URL映射到椭圆曲线E(a,b,p,r)的点O(x2,y2)上,选取随机数random进行椭圆曲线E上的乘法运算:random*O,得到新的点O1(x3,y3),并将O1发送到服务器端。
进一步,所述步骤3包括:在接收到点O1后,服务器端根据黑名单提供者选择的随机数k进行椭圆曲线E上的乘法运算:k*O1,得到新的点O2(x4,y4),将O2发送回客户端。
进一步,所述步骤4包括:
步骤401,计算客户端选取的随机数random所选椭圆曲线E(a,b,p,r)中r的逆元random-1,做椭圆曲线上的乘法计算:random-1*O2,得到了新的点O3(x5,y5);
步骤402,计算点O3哈希值,表达式为:ans=hashlib256(x5)+hashlib256(y5),并查询该哈希值ans值是否在本地客户端存储的sum值数据集中,若存在,则输出待查询URL为恶意URL;若不存在,则输出待查询URL为安全URL。
有益效果:本发明与现有技术相比,其显著优点是:
1、在保障基本的安全浏览服务的前提下,本发明使用椭圆曲线上的离散对数问题保障用户和黑名单服务提供者的隐私不泄露;
2、所有有关URL是否是恶意的判断都在本地进行,待查询的URL不会以明文的方式离开本地客户端,极大保障用户的隐私安全;
3、本发明使用两步查询作为主要结构,大幅提升了查询的速度;
4、优化了算法结构与数据存储方式,使得本地占用明显较少,不会对用户的使用体验带来明显影响。
附图说明
图1为本发明流程图;
图2为本发明中黑名单提供商上传加密黑名单的流程图;
图3为本发明为用户选的URL进行本地判断的流程图;
图4为本发明服务器端接收到客户端的请求令牌后的行为的流程图;
图5为本发明客户端接收到令牌后进行详细判定的流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。
本实施例所述的一种基于隐私保护的浏览器安全查询方法,流程图如图1所示,包括如下步骤:
如图2,步骤1,服务器端接收黑名单提供者发送的恶意URL列表和随机数,计算每个恶意URL的256位哈希值,截取前32位作为哈希前缀;再利用随机数为每个恶意URL进行加密,将32位哈希前缀和加密后的URL集组合成字典数据,将该字典数据发送到客户端。
黑名单服务提供者选择恶意URL集合组成的列表,支持上传的格式有.txt,.json,.xls等,选取随机数表达式为:
Xn+1=「get.clock()+(a*Xn+c)mod m]
式中,get.clock()函数为获取当前系统小时、分钟以及秒数总和的函数,m为模数,m>0,a为乘数,0<a<m,c为增量,0<c<m,X0为初值,0<X0<m,为保证随机数列的周期足够大,m取值231-1,a取值为16807,c取值0,a为m的本原根,保证随机数列的周期为整数,X0取值5。
(a*Xn+c)mod m会生成一串随机数列,根据get.clock()的值time,获取数列中第time个值作为(a*Xn+c)mod m的输出值,最后二者相加,向上取整,得到随机数k。将随机数k作为密钥和恶意URL黑名单集合上传到服务器端。
服务器端使用hashlib256函数计算每个恶意URL的256位哈希值,并截取前32位作为哈希前缀q。
服务器端将256位哈希值映射到椭圆曲线E(a,b,p,r)的点P(x,y)上,曲线方程为:y2=x3+ax+b mod k,4a3+27b2≠0mod p,a、b、p、表示椭圆曲线方程y2=x3+ax+b(mod p)中的参数a,b,p,r表示椭圆曲线的阶,x、y分别表示横、纵坐标,以随机数k作为参数,对点P进行椭圆曲线E上的乘法运算k*P,得到新的点P1(x1,y1)。
使用hashlib256函数计算点P1横纵坐标的256位哈希值且相加,表达式为:sum=hashlib256(x1)+hashlib256(y1),将所有恶意URL哈希前缀q和256位哈希值sum以(q,sum)形式作为字典数据发送到本地客户端。
本地客户端值储存URL对应的32位哈希前缀以及椭圆曲线计算得到的点和将点做散列相加后的值,仅仅凭借单个前缀,完全无法反向推断对应URL值,且即使明确P(x,y)和k*P即P1(x1,y1),若要推断出随机数k是非常困难的,所以步骤1的安全性可以得到充分的证明。
如图3,步骤2,客户端接收用户输入的待查询URL,第一次判断待查询URL哈希前缀是否存在于本地客户端存储的字典数据恶意URL哈希前缀集中,若不存在,则输出待查询URL为安全网址;若存在,则继续进行第二次判断,需要用户输入一个随机数,客户端使用该随机数为用户输入的待查询URL哈希进行加密,并将加密结果发送到服务器端。在进行判断时,由于本地客户端存储是(q,sum)词典形式,只需使用dict.contains函数即可判断得到的哈希前缀是否存在于本地数据库中。
用户输入待查询URL后,本地客户端计算该待查询URL的256位哈希值,截取前32位作为哈希前缀;若该32位哈希前缀存在于本地客户端字典数据存储的恶意URL的32位哈希前缀数据集中,则将待查询URL映射到椭圆曲线E(a,b,p,r)的点O(x2,y2)上,使用stochastic()函数选取随机数random进行椭圆曲线E上的乘法运算:random*O,得到新的点O1(x3,y3),并将O1发送到服务器端。
如图4,步骤3,服务器端在接收到加密结果后,使用黑名单提供者发送的随机数为加密结果进行加密,将加密结果发送回客户端;
在接收到点O1后,服务器端根据黑名单提供者选择的随机数k进行椭圆曲线E上的乘法运算:k*O1,得到新的点O2(x4,y4),将O2发送回客户端。
如图5,步骤4,客户端收到服务器端的处理结果后,对该处理结果进行计算,判断计算后的结果是否存在于本地存储的恶意URL加密结果中,若不存在,则输出待查询URL为安全网址;若存在,则输出待查询URL为恶意网址。
步骤401,计算客户端选取的随机数random所选椭圆曲线E(a,b,p,r)中r的逆元random-1,做椭圆曲线上的乘法计算:random-1*O2,得到了新的点O3(x5,y5)。
经过证明,random-1*O2的结果与下面的结果是相同的,即:random-1*O2=random-1*(k*O1)=random-1*(k*(random*O))=k*O
步骤402,计算点O3哈希值,表达式为:ans=hashlib256(x5)+hashlib256(y5),并查询该哈希值ans值是否在本地客户端存储的sum值数据集中,若存在,则输出待查询URL为恶意URL;若不存在,则输出待查询URL为安全URL。
客户端为了加密自己所查询的URL的散列值,使用到了随机数为其编码。但在收到服务器端发送的令牌后,只需计算该随机数关于椭圆曲线中参数r的逆元,便可忽略掉随机数的存在,证明本步骤的可行性。

Claims (5)

1.基于隐私保护的浏览器安全查询方法,其特征在于,包括如下步骤:
步骤1,服务器端接收黑名单提供者发送的恶意URL列表和随机数,计算每个恶意URL的256位哈希值,截取前32位作为哈希前缀;再利用随机数为每个恶意URL进行加密,将32位哈希前缀和加密后的URL集组合成字典数据,将字典数据发送到客户端;
步骤2,所述客户端接收用户输入的待查询URL,第一次判断待查询URL哈希前缀是否存在于本地客户端存储的字典数据恶意URL哈希前缀集中,若不存在,则输出待查询URL为安全网址;若存在,则继续进行第二次判断,需要用户输入一个随机数,客户端使用该随机数为用户输入的待查询URL哈希进行加密,并将加密结果发送到服务器端;
步骤3,服务器端在接收到加密结果后,使用黑名单提供者发送的随机数为加密结果进行加密,然后将结果发送回客户端;
步骤4,客户端收到服务器端的处理结果后,对该处理结果进行计算,判断计算后的结果是否存在于本地存储的恶意URL加密结果中,若不存在,则输出待查询URL为安全网址;若存在,则输出待查询URL为恶意网址。
2.根据权利要求1所述的浏览器安全查询方法,其特征在于,所述步骤1包括:
服务器端将256位哈希值映射到椭圆曲线E(a,b,p,r)的点P(x,y)上,a、b、p、r分别表示椭圆曲线方程y2=x3+ax+b(mod p)中的参数a,b,p,r表示椭圆曲线的阶,x、y分别表示横、纵坐标,以随机数k作为参数,对点P进行椭圆曲线E上的乘法运算k*P,得到新的点P1(x1,y1);
使用hashlib256函数计算点P1横纵坐标的256位哈希值且加和,表达式为:sum=hashlib256(x1)+hashlib256(y1),将所有恶意URL哈希前缀q和256位哈希值sum以(q,sum)形式作为字典数据发送到本地客户端。
3.根据权利要求2所述的浏览器安全查询方法,其特征在于,所述步骤2包括:
用户输入待查询URL后,本地客户端计算该待查询URL的256位哈希值,截取前32位作为哈希前缀;若该32位哈希前缀存在于本地字典数据存储的恶意URL的32位哈希前缀数据集中,则将待查询URL映射到椭圆曲线E(a,b,p,r)的点O(x2,y2)上,选取随机数random进行椭圆曲线E上的乘法运算:random*O,得到新的点O1(x3,y3),并将O1发送到服务器端。
4.根据权利要求3所述的浏览器安全查询方法,其特征在于,所述步骤3包括:在接收到点O1后,服务器端根据黑名单提供者选择的随机数k进行椭圆曲线E上的乘法运算:k*O1,得到新的点O2(x4,y4),将O2发送回客户端。
5.根据权利要求4所述的浏览器安全查询方法,其特征在于,所述步骤4包括:
步骤401,计算客户端选取的随机数random所选椭圆曲线E(a,b,p,r)中r的逆元random-1,做椭圆曲线上的乘法计算:random-1*O2,得到了新的点O3(x5,y5);
步骤402,计算点O3哈希值,表达式为:ans=hashlib256(x5)+hashlib256(y5),并查询该哈希值ans值是否在本地客户端存储的sum值数据集中,若存在,则输出待查询URL为恶意URL;若不存在,则输出待查询URL为安全URL。
CN202210362357.9A 2022-04-07 2022-04-07 基于隐私保护的浏览器安全查询方法 Pending CN114844678A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210362357.9A CN114844678A (zh) 2022-04-07 2022-04-07 基于隐私保护的浏览器安全查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210362357.9A CN114844678A (zh) 2022-04-07 2022-04-07 基于隐私保护的浏览器安全查询方法

Publications (1)

Publication Number Publication Date
CN114844678A true CN114844678A (zh) 2022-08-02

Family

ID=82564009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210362357.9A Pending CN114844678A (zh) 2022-04-07 2022-04-07 基于隐私保护的浏览器安全查询方法

Country Status (1)

Country Link
CN (1) CN114844678A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635126A (zh) * 2015-12-24 2016-06-01 北京奇虎科技有限公司 恶意网址访问防护方法、客户端、安全服务器及系统
KR101663935B1 (ko) * 2016-06-13 2016-10-07 신남규 피싱 및 파밍 방지 시스템 및 방법
US10235335B1 (en) * 2015-12-28 2019-03-19 Ionic Security Inc. Systems and methods for cryptographically-secure queries using filters generated by multiple parties
WO2021109669A1 (zh) * 2019-12-05 2021-06-10 华为技术有限公司 恶意域名访问的检测方法、装置及计算机可读存储介质
US20210367758A1 (en) * 2020-05-21 2021-11-25 Tata Consultancy Services Limited Method and system for privacy preserving classification of websites url
CN113904810A (zh) * 2021-09-12 2022-01-07 西北工业大学 一种高效的隐私保护安全浏览方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635126A (zh) * 2015-12-24 2016-06-01 北京奇虎科技有限公司 恶意网址访问防护方法、客户端、安全服务器及系统
US10235335B1 (en) * 2015-12-28 2019-03-19 Ionic Security Inc. Systems and methods for cryptographically-secure queries using filters generated by multiple parties
KR101663935B1 (ko) * 2016-06-13 2016-10-07 신남규 피싱 및 파밍 방지 시스템 및 방법
WO2021109669A1 (zh) * 2019-12-05 2021-06-10 华为技术有限公司 恶意域名访问的检测方法、装置及计算机可读存储介质
US20210367758A1 (en) * 2020-05-21 2021-11-25 Tata Consultancy Services Limited Method and system for privacy preserving classification of websites url
CN113904810A (zh) * 2021-09-12 2022-01-07 西北工业大学 一种高效的隐私保护安全浏览方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HELEI CUI等: "PPSB: An Open and Flexible Platform for Privacy-Preserving Safe Browsing", IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, vol. 18, no. 4, pages 1762 - 1778, XP011865349, DOI: 10.1109/TDSC.2019.2937783 *
谷晓鸥等: "实用C语言编程技巧与应用范例", 31 March 1993, 海洋出版社, pages: 100 - 104 *
陈树新等: "现代通信系统建模与仿真", 31 July 2007, 西安电子科技大学出版社, pages: 87 - 92 *

Similar Documents

Publication Publication Date Title
US11876901B2 (en) Elliptic curve random number generation
Shulman et al. One key to sign them all considered vulnerable: Evaluation of {DNSSEC} in the internet
JP5690465B2 (ja) カスタム静的ディフィ−ヘルマン(Diffie−Hellman)群
WO2021143457A1 (zh) 基于sm9算法的身份认证方法、装置和计算机设备
WO2021143456A1 (zh) Sm9数字签名生成方法、装置、计算机设备和存储介质
JP2014002365A5 (zh)
Xi et al. Privacy preserving shortest path routing with an application to navigation
CN113691502A (zh) 通信方法、装置、网关服务器、客户端及存储介质
Jung et al. Data management and searching system and method to provide increased security for IoT platform
US20100145951A1 (en) Methods for establishing legitimacy of communications
Schillinger et al. End-to-end encryption schemes for online social networks
CN107395627B (zh) 一种基于单向函数的轻量级认证协议
CN114338025A (zh) 一种云环境下密文等值测试方法
Huang et al. Block-Level Message-Locked Encryption with Polynomial Commitment for IoT Data.
CN107852324B (zh) 用于加密消息的方法和加密节点
Fahl et al. Trustsplit: usable confidentiality for social network messaging
Tai et al. Comments on a Secure Authentication Scheme for IoT and Cloud Servers.
Lee et al. Secure and efficient protection for HTTP cookies with self‐verification
CN114844678A (zh) 基于隐私保护的浏览器安全查询方法
Thangavel et al. Improved secure RSA cryptosystem for data confidentiality in cloud
Biswas Establishment of authenticated secret session keys using digital signature standard
KR20100003093A (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
Youn et al. Design of additive homomorphic encryption with multiple message spaces for secure and practical storage services over encrypted data
Zhang et al. An ECC‐Based Digital Signature Scheme for Privacy Protection in Wireless Communication Network
Lou et al. An efficient t‐out‐of‐n oblivious transfer for information security and privacy protection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination