一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种高效的隐私保护安全浏览方法与流程

2022-02-20 00:19:47 来源:中国专利 TAG:
1.本发明属于网络
技术领域
:,具体涉及一种安全浏览方法。
背景技术
::2.近年来,伴随着互联网技术的蓬勃发展,网页浏览器(webbrowser)作为一种用于检索并展示万维网(worldwideweb,www)多种信息资源的应用程序,已成为人们日常办公、娱乐、购物、出行等方面不可或缺的重要交互工具。其所能够展示包括静态文本、动态表单、影音图片等在内的各类信息资源,并由uri(uniformresourceidentifier,即统一资源标识符,其最常见形式是url,即统一资源定位符,简称网址)进行标记定位。在享受互联网所带来的便利的同时,浏览网页也逐渐成为传播恶意软件(malware)和网上诱骗(phishing)的主要途径,致使用户遭受恶意网站的攻击,轻则跳转至广告页面,重则在后台悄悄地监控、获取用户的敏感资料,如电子邮件(email)、银行账户信息、信用卡安全码等重要信息。当前互联网安全态势仍然不容乐观,并且在互联网经济巨大利益的驱使下,各类恶意网站伪装、攻击手段将更加隐蔽,当用户访问到这类网页时也更加难以意识到隐藏在其背后的潜在威胁。3.如图2和图5所示,针对这类问题,安全浏览(safebrowsing)服务应运而生,其旨在帮助用户在浏览网页时免遭上述恶意软件所破坏或是被钓鱼网站所欺骗,目前已被谷歌chrome、微软ie/edge、苹果safari、火狐等主流浏览器所采用。简单来讲,当用户即将访问的网页或是下载的文件存在潜在风险时,安全浏览服务将会立即弹出危险警告页面(通常为红色页面),提醒用户如果继续访问该页面或是打开该文件将会面临的风险。虽然已有的安全浏览服务在具体的实现细节上各有不同,但是他们从宏观整体流程上看均是将即将访问到的网页/文件的url与远端服务器上所收集并维护的恶意url黑名单做比对,如果该url出现在这个黑名单之中,那么前端浏览器就会提醒用户“该页面存在风险”。此外,近期主流的安全浏览技术还会在前端浏览器预留一个本地过滤器(localfilter),通常包含一个精简的白名单(如微软smartscreen技术)或黑名单(如谷歌googlesafebrowsing,即gsb技术),将绝大多数url检测移至本地完成,从而减少与服务器端的通信开销。4.虽然安全浏览技术的加入能够有效提升浏览网页的安全性,但是用户在使用该项安全服务的同时也会担心他们的浏览记录会被服务器收集或是更进一步遭到滥用,例如用于广告投放、背景调查、用户监控等侵犯用户隐私的场景。5.目前主流的安全浏览技术会直接或间接地将用户访问网址的内容、哈希值、或者哈希值前缀(hashprefix)传递至后端安全浏览服务器,而这些信息在一定程度上均会泄露用户的访问记录。因此,需要设计一种能够通过密码学方法将用户所访问网址请求进行有效保护,并仍然能获得安全浏览服务的新方法。此外,用户也需要能够自由选择第三方安全浏览服务商的功能,同时也能激励更多的安全浏览服务商在不同地区、不同场景提供更具有针对性的恶意网址数据集。技术实现要素:6.为了克服现有技术的不足,本发明提供了一种高效的隐私保护安全浏览方法,第三方安全浏览服务商使用不经意伪随机函数(obliviouspseudorandomfunction,oprf)将最新收集到的每一条恶意网址处理成加密条目,再逐个添加至支持集合元素检索的数据结构体,随后同步该布隆过滤器到前端浏览器;当用户进行网页浏览时,前端浏览器插件获取即将访问的网址并进行盲化处理,再发送给由安全浏览服务商维护的后端加密服务器,该服务器在盲化请求上直接进行授权加密后返回,再由前端浏览器插件使用去盲操作得到加密条目,当该条目存在于位于前端浏览器的布隆过滤器时则判定该目标网址有安全风险,同时弹出提醒页面告知用户。本发明能够有效降低前端浏览器的存储开销,同时提升判断待检测网址是否存在于恶意网址集合的速度。7.本发明解决其技术问题所采用的技术方案包括如下步骤:8.步骤1:安全浏览服务商初始化系统参数,包括oprf中用到的随机秘钥k和伪随机函数h(k,m),即{0,1}l×{0,1}*→{0,1}l,其中随机秘钥k为长度为l的数,即{0,1}l,消息m为不定长度的字符串,即{0,1}*;9.步骤2:安全浏览服务商收集恶意网址集合b;对于收集到的每一条恶意网址ui,进行规范化处理,统一格式后添加到恶意网址集合b中,即b={u1…un},n为恶意网址总数;10.步骤3:安全浏览服务商生成经过加密的恶意网址集合d;11.遍历步骤2中得到的恶意网址集合b,对于每一条网址信息ui∈b,使用随机秘钥k进行加密,得到加密条目ti=h(k,ui),再将加密条目ti添加到经过加密的恶意网址集合d中,即d={t1…tn};12.步骤4:安全浏览服务商生成含有经过加密的恶意网址集合的数据结构体f,并进行序列化操作生成数据13.根据加密条目数量,初始化数据结构体f,遍历步骤3中得到的经过加密的恶意网址集合d,对于每一条加密条目ti,添加到数据结构体f中,再将f序列化后生成加密数据14.步骤5:前端浏览器插件加载含有经过加密的恶意网址集合的数据结构体f;15.用户安装由安全浏览服务商开发的浏览器插件,同步由步骤4中得到的经过序列化的加密数据使用反序列化操作得到含有经过加密的恶意网址集合d的数据结构体f;16.步骤6:前端浏览器插件获取用户即将访问的网址uq;17.当用户输入网址或点击链接地址时,前端浏览器插件读取即将要访问或跳转的网址,并进行规范化处理得到uq;18.步骤7:前端浏览器插件生成经过盲化处理的网址请求x,并发送至安全浏览服务商维护的后端安全浏览服务器;19.前端浏览器插件生成一个随机数r作为盲化因子并缓存在本地,计算盲化请求x=mask(r,uq),并发送至后端服务器,其中盲化操作mask(r,m)使用盲化因子r与消息m进行乘法运算或者指数运算;20.步骤8:安全浏览服务商生成经过加密的盲化网址请求y,并返回给前端浏览器插件;21.使用随机秘钥k对盲化网址请求x进行加密,计算经过加密的盲化网址请求y=h(k,x);22.步骤9:前端浏览器插件去除盲化因子从而获取经过加密授权的请求网址加密条目tq;23.针对步骤8返回的经过加密的盲化网址请求y,使用盲化因子r进行去盲操作得到经过加密授权的请求网址加密条目tq=unmask(r-1,y)=h(k,uq),其中去盲化操作unmask(r-1,y)使用盲化因子r的逆r-1与已经被随机秘钥k加密的信息进行乘法运算或者指数运算;24.步骤10:前端浏览器插件判断即将访问的网址uq是否为已知的恶意网址;25.将步骤9中得到的请求网址加密条目tq带入步骤5中得到的含有经过加密的恶意网址集合d的数据结构体f中,如果该条目tq在数据结构体f中,则认为该网址存在于恶意网址集合b中,需要浏览器弹出提醒页面告知用户,否则正常加载该网址页面。26.优选地,所述随机秘钥k采用基于椭圆曲线离散对数问题ecdlp构建的ec-oprf函数生成,相应的h(k,m)由三个哈希函数h1:{0,1}*→{0,1}l、h2:{0,1}*→e、h3:e→{0,1}l实现,即ti=h3(k·h2(h1(ui))),其中e为椭圆曲线上的点,{0,1}*和{0,1}l分别代表不定长度的字符串和长度为l的字符串。27.优选地,所述哈希函数h1使用密码学哈希函数sha256,哈希函数h2和h3采用椭圆曲线密码库实现。28.优选地,所述椭圆曲线密码库为sjcl库中的nistp-256椭圆曲线。29.优选地,所述对于收集到的每一条恶意网址ui,进行规范化处理,包括整理和分解两个步骤,形成不超过30个url前缀后缀表达。30.优选地,所述数据结构体为布隆过滤器或delta编码表或哈希集合或树集合。31.本发明的有益效果如下:32.本发明为一种高效的隐私保护安全浏览方法,通过使用不经意伪随机函数,使得用户在上网时所访问的网址能够在不被泄露给后端安全浏览服务商的前提下判断其是否为已知的恶意网址,而安全浏览服务商能够在提供安全浏览服务的同时保护其收集、发布的恶意网址黑名单不被泄露,且能够通过授权加密的方式控制服务的次数。此外,通过使用布隆过滤器将经过加密处理的恶意网址信息进行集合封装,能够有效降低前端浏览器的存储开销,同时提升判断待检测网址是否存在于恶意网址集合的速度。附图说明33.图1为本发明主要步骤流程图。34.图2为安全浏览服务部署场景图。35.图3为本发明所描述的恶意网址检测的详细过程展示。36.图4为本发明所描述的前端浏览器插件进行网址规范化处理的示例。37.图5为安全浏览服务中的通用检测流程。具体实施方式38.下面结合附图和实施例对本发明进一步说明。39.本发明提出一种高效的隐私保护安全浏览方法。利用以下原理:采用不经意伪随机函数和布隆过滤器,使得用户在上网时所访问的网址能够在不被泄露给后端安全浏览服务商的前提下判断其是否为已知的恶意网址,而安全浏览服务商能够在提供安全浏览服务的同时保护其收集、发布的恶意网址黑名单不被泄露,且能够通过授权加密的方式控制服务的次数。40.如图1和图3所示,一种高效的隐私保护安全浏览方法,包括如下步骤:41.步骤1:安全浏览服务商初始化系统参数,包括oprf中用到的随机秘钥k和伪随机函数h(k,m),即{0,1}l×{0,1}*→{0,1}l,其中随机秘钥k为长度为l的数,即{0,1}l,消息m为不定长度的字符串,即{0,1}*;42.步骤2:安全浏览服务商收集恶意网址集合b;对于收集到的每一条恶意网址ui,进行规范化处理,统一格式后添加到恶意网址集合b中,即b={u1…un},n为恶意网址总数;43.步骤3:安全浏览服务商生成经过加密的恶意网址集合d;44.遍历步骤2中得到的恶意网址集合b,对于每一条网址信息ui∈b,使用随机秘钥k进行加密,得到加密条目ti=h(k,ui),再将加密条目ti添加到经过加密的恶意网址集合d中,即d={t1…tn};45.步骤4:安全浏览服务商生成含有经过加密的恶意网址集合的数据结构体f,并进行序列化操作生成数据46.根据加密条目数量,初始化数据结构体f,遍历步骤3中得到的经过加密的恶意网址集合d,对于每一条加密条目ti,添加到数据结构体f中,再将f序列化后生成加密数据47.步骤5:前端浏览器插件加载含有经过加密的恶意网址集合的数据结构体f;48.用户安装由安全浏览服务商开发的浏览器插件,同步由步骤4中得到的经过序列化的加密数据使用反序列化操作得到含有经过加密的恶意网址集合d的数据结构体f;49.步骤6:前端浏览器插件获取用户即将访问的网址uq;50.当用户输入网址或点击链接地址时,前端浏览器插件读取即将要访问或跳转的网址,并进行规范化处理得到uq;51.步骤7:前端浏览器插件生成经过盲化处理的网址请求x,并发送至安全浏览服务商维护的后端安全浏览服务器;52.前端浏览器插件生成一个随机数r作为盲化因子并缓存在本地,计算盲化请求x=mask(r,uq),并发送至后端服务器,其中盲化操作mask(r,m)一般使用盲化因子r与要保护的信息m进行乘法运算或者指数运算,使得他人在没有r的时候难以计算出m;53.步骤8:安全浏览服务商生成经过加密的盲化网址请求y,并返回给前端浏览器插件;54.使用秘钥k对盲化网址请求x进行加密,计算经过加密的盲化网址请求y=h(k,x),其中oprf的特性确保前端浏览器在收到加密后的盲化请求后可以使用去盲化操作从而得到经过加密的消息请求,但是无法计算出秘钥k;55.步骤9:前端浏览器插件去除盲化因子从而获取经过加密授权的请求网址加密条目tq;56.针对步骤8返回的经过加密的盲化网址请求y,使用盲化因子r进行去盲操作得到经过加密授权的请求网址加密条目tq=unmask(r-1,y)=h(k,uq),其中去盲化操作unmask(r-1,y)一般使用盲化因子r的逆r-1与已经被秘钥k加密的信息进行乘法运算或者指数运算,得到经过秘钥加密的信息而在此过程中不会将原始信息m泄露给他人;57.步骤10:前端浏览器插件判断即将访问的网址uq是否为已知的恶意网址;58.将步骤9中得到的请求网址加密条目tq带入步骤5中得到的含有经过加密的恶意网址集合d的数据结构体f中,如果该条目tq在数据结构体f中,则认为该网址存在于恶意网址集合b中,需要浏览器弹出提醒页面告知用户,否则正常加载该网址页面。59.具体实施例:60.本实施例的随机秘钥k采用基于椭圆曲线离散对数问题ecdlp构建的ec-oprf函数生成。61.1、安全浏览服务商初始化系统参数,以基于椭圆曲线离散对数问题(ellipticcurvediscretelogarithmproblem,ecdlp)构建的ec-oprf函数为例,生成一个随机秘钥k,并初始化三个哈希函数h1:{0,1}*→{0,1}l,h2:{0,1}*→e,h3:e→{0,1}l,其中e为椭圆曲线上的点,而{0,1}*和{0,1}l分别代表不定长度的字符串和长度为l的字符串。62.具体地,哈希函数h1可以使用常见的密码学哈希函数sha256,哈希函数h2和h3则需要使用椭圆曲线密码库实现,例如使用sjcl库(stanfordjavascriptcryptolibrary)中的nistp-256椭圆曲线。63.2、安全浏览服务商收集最新发布的恶意网址集合b。64.对于收集到的每一条恶意网址ui,进行规范化处理,统一格式后添加到集合b中,即b={u1…un}。65.具体地,为增加恶意网址检测的准确性,每一条恶意网址会进行规范化处理,一般包括整理(canonicalization)和分解(decomposition)两个步骤,通常会形成不超过30个url前缀后缀表达(suffix/prefixexpressions,如图4所示)。其中分解的步骤可以忽略,为了表达清晰,对于每一条恶意网址ui不再细分条目。66.3、安全浏览服务商生成经过加密的恶意网址集合d;67.遍历步骤2中得到的恶意网址集合b,对于每一条网址信息ui∈b,使用随机秘钥k进行加密,得到加密条目ti=h3(k·h2(h1(ui))),其中符号·代表椭圆曲线上的数乘运算,再将加密条目ti添加到经过加密的恶意网址集合d中,即d={t1…tn};68.4、安全浏览服务商生成含有加密版本恶意网址集合的布隆过滤器f,并进行序列化操作生成数据69.根据加密条目数量,初始化布隆过滤器f。遍历步骤3中得到的经过加密的恶意网址集合d,对于每一条加密条目ti,添加到布隆过滤器f中,再将f序列化后生成数据70.具体地,使用布隆过滤器的主要目的是降低前端浏览器的存储开销,同时提升判断待检测网址是否存在于恶意网址集合的速度,也可以使用其他支持集合元素检索的数据结构,如delta编码表(delta-encodedtable)、哈希集合(hashset)、或者树集合(treeset),并不影响安全浏览服务检测恶意网址的核心步骤。71.5、前端浏览器插件加载含有经过加密的恶意网址集合的数据结构体f;72.用户安装由安全浏览服务商开发的浏览器插件,同步由步骤4中得到的经过序列化的加密数据使用反序列化操作得到含有经过加密的恶意网址集合d的数据结构体f;73.具体地,序列化操作的目的是方便进行网络传输,同时可以使用常见的文本压缩方法进一步降低传输带宽,如gzip。74.6、前端浏览器插件获取用户即将访问的网址uq;75.当用户输入网址或点击链接地址时,前端浏览器插件读取即将要访问或跳转的网址,并进行规范化处理得到uq;76.此处,规范化处理需要与步骤2中的操作保持一致,以便确保相同的恶意网址能够被处理成相同的请求信息。77.具体地,前端提供安全浏览服务的插件需要阻断用户访问网址的加载,待后续步骤10判断为安全时,继续加载页面,此过程控制在毫秒级别,不影响用户使用体验。78.7、前端浏览器插件生成经过盲化处理的网址请求x,并发送至安全浏览服务商维护的后端安全浏览服务器;79.前端浏览器插件生成一个随机数作为盲化因子并缓存在本地,计算盲化请求x=r·h2(h1(uq)),并发送至后端服务器;80.具体地,如果在步骤2和步骤6中使用了分解的操作,那么对于当前要判断的网址,需要处理多个分解后的网址请求,但是每一个条目的处理步骤相同。81.8、安全浏览服务商生成经过加密的盲化网址请求y,并返回给前端浏览器插件;82.使用秘钥k对盲化网址请求x进行加密,计算求得过加密的盲化网址请求y=k·x;9、前端浏览器插件去除盲化因子从而获取经过加密授权的请求网址加密条目tq;83.针对步骤8返回的经过加密的盲化网址请求y,使用盲化因子r进行去盲操作得到经过加密授权的请求网址加密条目tq:84.tq=h3(r-1·y)=h3(r-1·k·r·h2(h1(uq)))=h3(k·h2(h1(uq)))85.10、前端浏览器插件判断即将访问的网址uq是否为已知的恶意网址;86.将步骤9中得到的请求网址加密条目tq带入步骤5中得到的含有经过加密的恶意网址集合d的数据结构体f中,如果该条目tq在数据结构体f中,则认为该网址存在于恶意网址集合b中,需要浏览器弹出提醒页面告知用户,否则正常加载该网址页面。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献