掌桥专利:专业的专利平台
掌桥专利
首页

用于网络实体的基于区块链的网络保护的方法和系统

文献发布时间:2023-06-19 10:00:31


用于网络实体的基于区块链的网络保护的方法和系统

相关申请的交叉引用

本申请要求于2018年4月26日提交的美国临时申请No.62/663,132的权益。本申请也是于2018年11月6日提交的未决的美国专利申请No.16/182,011的部分继续,该未决的美国专利申请No.16/182,011要求于2018年4月26日提交的美国临时申请No.62/663,132的权益。

以上引用的申请的内容通过引用合并于此。

技术领域

本公开一般涉及网络安全技术,更具体地涉及使用基于区块链的技术的网络实体的保护。

背景技术

网上机器人(bot)是被配置成通常通过诸如因特网等大型网络来执行自动化任务的软件应用。网上机器人可以用于执行有用的功能,但是经常用于更恶意的目的。僵尸网络是在一个或更多个系统上运行的协调的网上机器人的集合,并且可以被编程以执行有害代码。因为僵尸网络通常是使用具有随机IP地址的被感染的家庭计算机或物联网(IoT)设备、或者可以定期改变诸如MAC地址或因特网协议(IP)地址的某些识别特性的虚拟机来实施的,所以可能难以识别、跟踪和阻止由这样的僵尸网络发起的攻击。僵尸网络可以与合法用户共享受攻击的系统,使得僵尸网络的存在被有效地隐藏。

高级僵尸网络利用机器学习技术来更好地协调攻击。这种机器学习技术用于减轻命令和控制(C&C)负担、优化攻击以及规避对策。所使用的一种常见技术是基于允许僵尸网络自组织的群体智能。

开放式Web应用程序安全项目(OWASP)基金会已经将针对网络应用的自动化威胁(网上机器人)分类成6个类别:帐户证书、库存可用性、(其它)功能性滥用、支付持卡人数据、漏洞识别和拒绝服务(DoS)。在每个这样的类别中威胁的性质和操作是不同的,并且应当被不同地处理。例如,在“库存可用性”类别中,执行与拒绝库存、擦去和狙击有关的威胁。另一方面,“漏洞识别”类别中的威胁包括漏洞扫描、足迹和指纹识别。因此,对于不同类型的检测到的威胁,应当使用不同的检测和缓释技术。

现有的反网上机器人解决方案使用简单的“人或机器”测试来建立信任和安全上下文,即,人是可信的而机器不是可信的。当前的解决方案利用交互式质询来验证交易是否由合法客户端应用(例如,网络浏览器)发起并且是由人控制的。这种质询的示例是单独使用或编排成单个流的SYN网络饼干(cookie)、网络重定向(例如,302HTTP重定向消息)、JavaScript质询、验证码(CAPTCHA)等。

基于网络质询建立安全上下文和信任受到若干限制。例如,这样的质询要求与客户端设备的交互式会话。此外,至少对于验证码质询,还需要图形用户界面(GUI)。因此,这些质询负面地影响了用户在访问网络服务时的体验。此外,要求GUI的质询不能操作以允许诸如通过应用程序编程接口(API)的机器对机器认证。这是一个主要的缺点,因为现在许多的合法客户端(诸如IoT设备)没有配备合适的GUI。此外,可以使用“血汗工厂(sweatshop)”绕过验证码。

此外,在相关技术中,现有的反网上机器人解决方案依赖于使用“指纹识别”技术来跟踪用户活动和设备以监控和识别网上机器人活动。计算设备的指纹是关于设备(例如,智能电话)所收集以用于识别的信息。即使当网络饼干被关闭时,指纹也可以用于完全地或部分地识别个体用户或设备。跟踪用户活动包括随着时间收集行为数据。

为大量设备生成唯一指纹要求指纹对所收集的数据中的变化非常敏感,因此这样的指纹随着时间的推移变得不太稳定,结果,设备可能随着时间的推移不呈现相同的指纹。这不利地影响了所收集的数据的价值。指纹技术也容易受到欺骗。网上机器人可以主动地修改其指纹以改变其历史日期或将其数据识别为另一设备的数据。此外,反网上机器人解决方案在验证指纹时施加了部分处罚。

此外,现有的反网上机器人解决方案试图将数据与诸如用户名、电话号码、登录证书等设备或个人信息进行交叉相关。这样,现有的反网上机器人解决方案破坏了用户的隐私,因此由于隐私条例而可能不是有效的。例如,通用数据保护条例(GDPR)禁止站点之间共享设备的指纹。

当前,没有维持用户的隐私的同时提供有效检测的可用的网络安全解决方案。因此,在恶意网上机器人活动大约占所有因特网流量的三分之一的情况下,提供一种将消除现有反网上机器人解决方案的缺陷的有效解决方案将是有利的。

发明内容

下面是本公开的几个示例性实施例的概述。提供本概述是为了方便提供读者对这些实施例的基本理解,而不是完全限定本公开的广度。该概述不是对所有预期实施例的广泛综述,并且既不旨在识别所有实施例的关键或重要元素,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化的形式呈现一个或更多个实施例的一些思想,作为稍后呈现的更详细描述的序言。为了方便起见,术语“某些实施例”在本文中可用于指本公开的单个实施例或多个实施例。

本文公开的某些实施例包括一种用于对受保护实体的基于区块链的访问授权的方法。该方法包括:由受保护实体接收对受保护实体的访问请求,其中,访问请求是从客户端设备接收的;从所接收的访问请求中提取唯一客户端标识符;使客户端设备执行准入交易;监控区块链网络以识别至少一个准入交易,其中所述至少一个准入交易指定准入标准;确定准入标准是否满足用于访问受保护实体的一组条件;以及当准入标准满足这组条件时,向客户端设备授予访问,其中,该访问是对受保护实体的访问。

本文公开的某些实施例还包括非暂时性计算机可读介质,非暂时性计算机可读介质上存储有指令,该指令用于使处理电路执行用于对受保护实体的基于区块链的访问授权的过程,该过程包括:由受保护实体接收对受保护实体的访问请求,其中访问请求是从客户端设备接收的;从所接收的访问请求中提取唯一客户端标识符;使客户端设备执行准入交易;监控区块链网络以识别至少一个准入交易,其中所述至少一个准入交易指定准入标准;确定所述准入标准是否满足用于访问受保护实体的一组条件;以及当准入标准满足这组条件时,向客户端设备授予访问,其中该访问是对受保护实体的访问。

本文公开的某些实施例还包括一种用于对受保护实体的基于区块链的访问授权的系统。该系统包括:处理电路;以及存储器,该存储器包含指令,该指令在由处理电路执行时,该指令将系统配置为:由受保护实体接收对受保护实体的访问请求,其中访问请求是从客户端设备接收的;从所接收的访问请求中提取唯一客户端标识符;使所述客户端设备执行准入交易;监控区块链网络以识别至少一个准入交易,其中所述至少一个准入交易指定准入标准;确定所述准入标准是否满足用于访问受保护实体的一组条件;以及当准入标准满足这组条件时,向客户端设备授予访问,其中该访问是对受保护实体的访问。

附图说明

在说明书的结尾处的权利要求书中特别指出并清楚地要求保护本文公开的主题。根据下面结合附图的详细描述,本公开的实施例的前述和其它目的、特征和优点将变得显而易见。

图1是用于描述各种所公开的实施例的网络图。

图2是示出根据实施例的用于基于区块链的反网上机器人保护机制的方法的流程图。

图3是根据实施例的信任中介(broker)系统的示例性框图。

图4是示出根据实施例的由受保护实体执行的基于准入的过程的流程图。

图5是示出根据实施例的基于博弈(game)的准入过程的流程图。

具体实施方式

本文公开的实施例仅是本文呈现的创新教导的许多可能的有利用途和实现的示例。通常,在本申请的说明书中所做的陈述不一定限制各种要求保护的实施例中的任何一个。此外,一些陈述可以应用于一些发明特征而不是其它特征。通常,除非另有说明,否则单数元件可以是复数,反之亦然,而不失一般性。在附图中,相同的附图标记在各个视图中表示相同的部件。

根据所公开的实施例,提供了一种用于基于区块链的反网上机器人保护的方法和系统。在示例性实施例中,博弈用于控制对受保护实体的访问。具体地,博弈是一种机制,通过该机制建立偏差(bias),并且此后获得、交换或以其他方式使用访问权限和特权。在执行博弈时,博弈还可以透露客户端(或其用户)的行为。可以将偏差定义为用于网络安全评估的元数据。本文定义了不同类型的偏差。这种类型包括但不限于认知偏差、行为偏差和意图偏差。使用由试图访问受保护实体的客户端执行的不同类型的博弈来确定各种类型的偏差。

在为受保护实体定义的访问策略中设置博弈的类型、范围和可用策略。基于博弈的结果确定偏差。基于该偏差,可以确定访问受保护实体的客户端是否是例如网上机器人。即,从预期或先前建立的偏差的漂移或偏离将指示网上机器人。

图1示出了用于描述各种所公开的实施例的示例网络图100。图1中所示的网络图100包括准入系统110、客户端120、区块链点对点网络130(仅出于简化目的,下文中被称为区块链网络130)、受保护实体140、信任中介160和审计系统170。网络图100中的实体经由网络150通信,存在于网络150中,或经由网络150通信并存在于网络150中。

客户端120可以是PC、移动电话、智能电话、平板电脑、服务器等。客户端120可以由合法用户或合法程序操作,或者可以是攻击工具。客户端120可以执行应用或程序来访问受保护实体140。

受保护实体140是要被保护以免受恶意威胁的实体。受保护实体140可以是包括可由客户端120访问的资源的任何网络或计算元件。例如,受保护实体140可以是无服务器架构、应用服务器、网络服务器、云应用、数据中心、网络设备(例如,路由器、ADC等)、防火墙(例如,网络应用防火墙)等中的功能。

在某些实施方式中,审计系统170用于记录或登记在准入系统110、客户端120、信任中介160和受保护实体140中的两个或更多个之间执行的任何交易。例如,审计系统170被配置为记录任何可疑的用户或网上机器人活动(例如,客户端的许多访问尝试、利用访问通证的高比率等)。在另一实施例中,在区块链网络130上执行由审计系统170登记交易的功能,即,使用在区块链网络130上维护的分布式账本。

根据实施例,信任中介160可以与受保护实体140连接,其中信任中介160和受保护实体140都是区块链网络130中的点,并且每个点都可以充当网络150的代理服务器。例如,充当代理服务器可以包括将HTTPS消息转换为可以在网络150上传输的消息。信任中介160和受保护实体140中的每一个都可以被配置成接收或以其他方式拦截由客户端120生成的请求(例如,但不限于HTTP/HTTPS请求)。

在一个实施例中,信任中介160被配置为管理客户端120需要参与以获得对受保护实体140或受保护实体140内的特定资源(未示出)的访问的博弈。在实施例中,信任中介160配置有多个访问策略。访问策略至少定义为:受保护的受保护实体和资源、保护模板中使用的一个或更多个博弈、每个博弈的博弈范围、每个博弈的初始化参数、每个博弈的完成标准以及在完成成功的博弈或博弈完成奖励时执行的步骤。

博弈范围是受保护实体140内的协作的受保护实体或资源的组以及该组内的访问通证的可见性和有效性。博弈范围可以是私有的,在这种情况下,每个受保护实体资源都有一个博弈的活动实例。实体博弈是由受保护实体140内的多个受保护资源共享的单个博弈实例。全局博弈是由信任中介内的多个受保护实体之间的所有受保护资源共享的单个博弈实例。下面更详细地讨论各种博弈及它们各自的策略。

应当注意,尽管仅为了简单起见在图1中示出了一个客户端120、一个准入服务器110和一个受保护实体140,但是本文公开的实施例可以应用于多个客户端、多个准入服务器、多个受保护实体或它们的任何组合。此外,在分布式实施方式中可以利用或配置多个准入系统和信任中介。客户端可以处于不同的地理位置。此外,单个客户端120可以由多个准入服务器110或信任中介160同时服务。

还应当注意,在某些实施例中,准入系统110和信任中介160可以在单个系统中实现或者实现为分布式系统。此外,上述每个元件也可集成在单个系统中,例如:准入系统110和受保护实体140可以被实现为单个统一网关。在一个实施例中,审计系统170被集成在准入系统110中。

在另一实施例中,准入系统110、信任中介160、受保护实体140或它们的组合可以在已经部署在网络150中的网络设备(未示出)中实现。这种网络设备的示例包括应用交付控制器(ADC)、负载均衡器、网络应用防火墙(WAF)、路由器、防火墙等。

在一些实施例中,受保护实体可以执行基于区块链的过程以授权对受保护实体资源之一的访问。为此,受保护实体140可以配置有软件代理、处理器或两者,以执行授权过程。软件代理可以被实现为虚拟机、软件容器等。在一些实施例中,受保护实体140可以连接到网关145,该网关145被配置为代表受保护实体140执行授权过程。网关145可以是任何网络设备,任何网络设备的示例在上文提供。下面参考图4讨论授权过程,在一个实施例中,网关145可以被配置为向受保护实体提供新的访问策略或修改的访问策略。访问策略定义了为了例如由客户端访问受保护实体而必须满足的要求。

区块链网络130是用于维护如上所述的分散式账本和经验证的区块的一个或更多个(未标记)节点的集合。节点可以是物理机器,或者是由具有足够计算能力来验证区块的机器所执行的虚拟机。在实施例中,区块链网络130的节点(例如,用于转换专有通证的交易的经验证的区块)可以被配置为处理专有访问通证。专有访问通证可以是不同类型的。

在另一实施例中,区块链网络130的节点可被配置为处理标准虚拟货币(例如但不限于比特币、以太币、莱特币等)的通证。例如,以太坊区块链网络的基础设施是基于实现为以网状连接的以太坊虚拟机(EVM)的节点的集合的。每个这样的节点运行整个区块链的副本,并竞争以挖掘下一个区块或验证交易。此外,被实现为以太坊的区块链网络130中的每个节点维护整个以太坊区块链的更新的副本。在实施例中,区块链网络130可被配置为私用网络。在该实施例中,可由连接到区块链网络130的节点访问的访问通证(或合约)以私用模式操作。在又一实施例中,私用通证被用作公共或私用以太坊区块链的一部分。

在另一实施例中,信任中介160可以被实现为使用密码EVM能力的智能合约。智能合约是旨在数字地促进、验证或实施合约的谈判或执行的计算机协议,智能合约被定义为以许多可能的计算机语言中的一种的可执行计算机代码的集合,所述计算机语言诸如但不限于“Python”、“Java”、“R”、“Solidity”或现在或将来用于实现这样的智能合约的任何其他计算机语言。智能合约允许在不存在可信第三方的情况下执行可信交易。这些交易是可跟踪的和不可逆的。

应当理解,在一些实施例中,利用区块链网络130进行准入过程允许维护访问受保护实体140的用户的隐私,同时提供准入交易的透明度。此外,区块链网络130可容易地扩展,因此提供了可扩展的解决方案。

根据所公开的实施例,任何试图访问受保护实体140的客户端,例如客户端120,被要求执行如信任中介160为受保护实体140或受保护实体140被访问的资源之一提供的访问策略所定义的博弈。在信任中介160选择的访问策略中定义博弈和博弈范围。

根据所公开的实施例,博弈可以被实现为由信任中介160执行的可执行代码。在另一实施例中,博弈可以被实现为由信任中介160动态加载的参数数据。在又一个实施例中,利用规则引擎或其它编程机制来根据所建立的博弈规则实施博弈进程。

博弈可以在信任中介160中执行,或者可以由客户端120执行,其中,区块链网络130的性能用于保护客户端120和信任中介160之间的交互。

每个博弈被设计为允许信任中介160为客户端120建立偏差。当客户端120进行博弈时、在博弈完成时或两者时,建立偏差。在一个实施例中,博弈用于使用表示为访问通证的风险来建立行为偏差。通证可以是专有通证或基于标准虚拟货币(例如,比特币)或合约。此外,访问通证可以是相同类型或不同类型的。在一个实施例中,信任中介160还被配置为基于客户端历史博弈行为和博弈规则的知识,来设置从第一类型通证到第二类型通证的动态转换值。

在一个实施例中,可以基于访问通证的累积来建立认知偏差。为此,当执行博弈时,博弈将向用户呈现在解决谜题、导航通过迷宫等的同时拾取访问通证的选项。

作为用于建立认知偏差的博弈的非限制性示例,使用带有宝藏的迷宫。基于在相应访问策略中定义的复杂度水平来生成迷宫。例如,对于高度安全的受保护实体,将生成复杂的迷宫。迷宫可以实现为由客户端120动态加载到规则引擎的可移植可执行代码或参数数据。要求客户端120的用户导航迷宫以收集对象。对象的集合使得向用户奖励访问通证,即对象表示访问通证。作为另一非限制性示例,博弈可以包括一系列问题,对这些问题的回答透露了认知偏差倾向。

监控博弈进程以确定客户端(或其用户)如何与博弈交互。这允许确定认知偏差。可以相对于但不限于活动时间、用户所作的选择等来测量进展。例如,收集对象所需的时间、所收集的对象的数量、所收集的对象的类型(糖果或漏洞)等。认知偏差与客户端120相关联并且作为加密区块被保存在区块链网络130中。因此,除了信任中介160之外没有实体知道所确定的偏差。

在另一个实施例中,可以基于访问通证花费来建立行为偏差。为此,所执行的博弈将向客户端120(或其用户)呈现花费访问通证的选项,并且基于所花费的实际通证来确定行为偏差。

作为用于建立行为偏差的博弈的非限制性示例,博弈可以是竞价博弈,其中,请求用户对例如访问受保护实体、购买访问通证等进行投标。出价越高的,行为偏差被确定为是花费者的行为偏差。

在又一实施例中,可以基于访问通证的余额来建立意图偏差。意图偏差还定义了客户端在受保护实体中导航的意图。例如,如果受保护实体是电子商务网站,则意图可以指示用户是否在截取信息、比较价格或购物。在一个实施例中,博弈可以隐藏在这样的电子商务网站中的产品的链接中。例如,博弈可以包括制作具有隐藏在博弈中以供选择的意图的交互(例如,“你在寻找类似产品”对比“你在寻找给朋友的便宜礼物”)。

建立意图偏差的其它实施例可包括向客户端120呈现多个博弈并请求客户端选择一个博弈。基于博弈选择,建立意图。作为另一个示例性实施例,通过在博弈中建立隐藏决策树,每个决策分支为客户端120分配/解除分配一定数量的通证。此外,通过跟踪所选择的分支,信任中介160可以推断意图偏差。

信任中介160被配置为基于该偏差或其任何偏差来允许或拒绝对受保护实体140的访问。信任中介160还可提供关于是否允许准入的建议。应当强调,不是仅仅基于用户成功完成博弈的事实而是基于所确定的偏差来授予准入。例如,当用户收集了多个对象时,迷宫博弈可以成功完成,但是认知偏差是基于所收集的对象的类型(例如,糖果对比漏洞)来确定的。因此,即使所有对象都已经被收集,仍然不能授予准入。任何失败的准入都可被登记在审计系统170中。

应当注意,奖励访问通证、保存所建立的偏差以及与要执行的博弈相关的所有交易都是通过区块链网络130来执行的。

具体地,访问通证的授予被记录为包括在由区块链网络130维护的区块链的区块中的交易。在由客户端120请求访问受保护实体140时,客户端120向受保护实体140“支付”所需数量的访问通证。

这可以通过撤销(花费)授予客户端120的访问通证来执行以获得访问。换言之,访问通证的使用被记录为交易,并被包括在由区块链网络130维护的区块链的区块中。因此,通过区块链网络130来执行交易(访问请求)的验证。可以在授予对受保护实体140的访问之前执行验证。在又一实施例中,在准入被有条件地授予客户端之后执行验证。如果验证失败,则客户端120从受保护实体140断开连接。

策略、博弈和偏差可以用于检测各种类型的攻击。这种攻击包括账户接管、拒绝库存、拒绝服务和反擦除(anti-scraping)。

作为示例,访问策略可以通过监控认知偏差漂移来周期性地向客户端120执行类似的认知偏差博弈。如果识别了这样的偏差漂移,则受保护实体140可断定客户端120已经经历了账户接管攻击。

作为另一示例,访问策略可以将客户端120的意图与客户端120的行为相互对照。当受保护实体140识别出客户端120的行为相似,但意图已经改变时,可以确定客户端120现在已经改变了其角色,并且可以执行认知偏差博弈以进一步验证用户真实性。

作为另一示例,意图偏差可以表示用户在系统中的角色,并且从该意图偏差的偏离指示攻击。例如,用户的意图偏差可以被确定为仅关于读取交易。如果将该偏差意图修改为写入交易,则这可以表示访问违例。

应注意,意图偏差的改变可能不是确定性的。例如,许多实施例可以利用用于意图偏差的数值维度。例如,用户可以具有20/80写入/读取意图偏差。通过监控意图偏差之间的比例的改变,可以基于比例的改变来确定潜在的安全风险,并且因此受保护实体140可以改变其访问限制。

在又一实施例中,客户端120和受保护实体140可以可选地包括用于维护由准入系统110和信任中介160发放的通证的装置,或者可以利用本文描述的加密货币钱包。

此外,每个针对客户端120所建立的偏差被记录为包括在由区块链网络130维护的区块链的区块中的交易。交易可以由客户端120和信任中介160的密钥签名。

在另一实施例中,区块链网络130可维护整个博弈实例或到博弈位置的URL。在检索和进行博弈之后,客户端120将博弈完成结果或标准作为元数据存放在区块链交易中。

图2示出了根据实施例的用于为试图访问受保护实体的客户端建立偏差和信任的示例性流程图200。该方法可以由信任中介160使用区块链网络130来执行。

在S210处,监控区块链网络以识别客户端120可以以多个先前奖励的访问通证来押注(即,下注)。提供下注的访问通证作为区块链网络130中的支付交易。下注的访问通证可以与访问受保护实体的请求相关联。访问请求包括要访问的受保护实体(或资源)的至少一个标识符(例如,IP地址、URL等)。

在S215处,分析区块链交易以从交易元数据中识别由客户端寻址的受保护实体(“实体ID”)。也就是说,从交易中提取实体ID。S215还包括识别客户端的标识符(“客户端ID”)。客户端ID可以由受保护实体140或准入系统110提供。在其他实施例中,客户端120可以生成其自己的ID。为此,可以基于客户端的系统参数(例如但不限于IP地址、MAC地址等)随机地选择或推导客户端ID。可以使用知识证明来数学地推导客户端ID,以跟踪跨多个受保护实体的客户端活动。在又一实施例中,客户端ID可以是由诸如使用OAuth或SAML系统并且被用作准入控制器110的的外部认证服务提供的用户ID。

应当注意,客户端ID不透露关于客户端120的用户的任何信息。此外,在客户端120上生成客户端ID不需要暴露或共享与用户设备相关的个人信息,或者甚至不需要暴露或共享设备或用户的识别细节。客户端120仅共享关于客户端ID的证明。

在S220处,使用实体ID,检索分配给所尝试的受保护实体的相应访问策略。

访问策略定义博弈类型和博弈范围。博弈的范围可以是私用博弈、实体博弈或全局博弈。对于每个博弈实例,定义博弈特定参数。博弈参数可以包括例如转换值、参与博弈的发起者通证的数量、到期时间、关于访问通证的可用性的条款等。

访问策略还指定受保护实体(或受保护实体的资源)以及客户端为了访问所指定的受保护实体或资源而必须执行的对应的博弈。如上所述,可以向受保护实体资源分配多个博弈,可以向每个博弈分配其自己的优先级(例如,可选的、需要的、必需的和足够的,等等)。访问策略可以定义补充方法。

在实施例中,多个访问策略可以与单个受保护实体相关联。在这样的实施例中,访问策略的选择基于在所接收的访问请求中指定的受保护实体。此外,所述选择可以基于多个选择参数。这些参数可以与客户端120、受保护实体140或它们的组合相关。

在实施例中,策略的选择基于从外部源检索的信息。这种源的示例包括例如外部数据库、信誉服务和历史记录。历史记录可以包括例如成功或失败的访问尝试、先前选择的博弈等。从审计系统170检索历史记录。作为示例,对于具有“差”信誉的客户端,将选择具有多个博弈的访问策略。

在S230处,将下注的访问通证转换为第一类型的访问通证,从而允许客户端120执行博弈。可以基于访问策略、(例如,关于客户端的过去博弈行为的)历史记录或这两者来动态地确定转换值。第一类型的通证被存放在区块链网络130上。应当注意,如果客户端120没有持有足够的下注的访问通证,则不进行转换并且终止执行。

在S240处,监控区块链网络130以确定客户端120是否存放了足够的第一类型的访问通证以参与博弈。第一类型的访问通证可以是专有通证、加密货币通证等。在访问策略中指定参与博弈所需的通证的类型和总和。在实施例中,要求客户端120在博弈的每个实例处存放(支付)指定的访问通证的总和。

在识别出这样的通证之后,在S250处,将要由客户端120执行的博弈作为交易发布在区块链网络130上。如上所述,博弈实例可以完全嵌入区块链网络130中,或者在另一实施例中,区块链网络130可以持有到博弈位置的URL。

在相应策略中定义了要由客户端120执行的博弈及其复杂度。如上所述,可以利用不同的博弈来确定不同的偏差,诸如意图偏差、认知偏差或行为偏差。

在S260处,监控区块链网络130以识别由客户端120存放的博弈完成结果。结果可以作为元数据被存放在区块链交易中。

在S270处,基于所识别的完成结果,建立用于所执行的博弈的相应偏差。如上所述,访问通证累积表征认知偏差,访问通证余额表征意图偏差,而访问通证花费表征行为偏差。以上提供了使用所执行的博弈来建立偏差的示例。

在S280处,基于所建立的偏差,对受保护实体的访问被授予或拒绝。也就是说,不是仅基于客户端120(或其用户)成功完成博弈的事实,而是基于所确定的偏差授予准入。例如,如果行为偏差被建立为花费者,则可以不授予准入。这是因为由于网上机器人行为将多次尝试访问受保护实体,因此将需要更多的通证花费。

应当注意,这里参考图1所讨论的方法仅仅是为了描述的简单和容易。所公开的实施例不限于图1所示的布置。

图3是根据实施例的信任中介160的示例框图。信任中介160包括耦接到存储器320、存储装置330和网络接口340的处理电路310。在实施例中,信任代理器160的部件可以经由总线350通信地连接。

处理电路310可以被实现为一个或更多个硬件逻辑部件和电路。例如但不限于,可以使用的说明性类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、GPU、片上系统(SOC)、通用微处理器、微控制器、数字信号处理器(DSP)等,或可执行对信息的计算或其它操纵的任何其它硬件逻辑部件。在实施例中,处理电路310(或整个系统110)可被实现为区块链网络上的图灵机。

存储器320可以是易失性的(例如,RAM等)、非易失性的(例如,ROM、闪存等)或其组合。在一个配置中,用以实现本文所公开的一个或更多个实施例的计算机可读指令可被存储在存储装置330中。

在另一实施例中,存储器320被配置为存储软件。软件应被广泛地解释为意指任何类型的指令,无论是被称为软件、固件、中间件、微代码还是硬件描述语言。指令可以包括(例如,以源代码格式、二进制代码格式、可执行代码格式或任何其他合适的代码格式的)代码。当指令由一个或更多个处理器执行时,指令使处理电路210执行本文描述的各种过程。具体地,在指令被执行时,指令使处理电路310执行如上文所讨论的基于区块链的准入。在另一实施例中,存储器320可以进一步包括包含有指令的存储器部分325。

存储装置330可以是磁存储装置、光存储装置等,并且可以被实现为例如闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)、硬盘驱动器、SSD或能够用于存储诸如交易日志、公钥等的期望信息的任何其它介质。存储装置330可以包括各种访问策略和博弈。

网络接口340允许信任中介160与区块链网络、客户端、信任中介和受保护实体通信。网络接口340进一步与这些元件进行点对点通信。

应当理解,本文描述的实施例不限于图3中所示的具体架构,并且在不脱离所公开的实施例的范围的情况下,可以等同地使用其他架构。

还应当注意,可以使用与图3中所示的架构类似的计算架构来实现信任中介160,但是在不脱离所公开的实施例的范围的情况下,可以等同地使用其他架构。此外,存储器320可以包括用于执行信任中介160的功能的指令。

图4是示出根据实施例的访问受保护实体的基于准入的过程的示例性流程图400。将参考图1中描述的元件讨论该方法。在实施例中,该方法可以由受保护实体140或连接到受保护实体140的网关设备145执行。在两个实施例中,该方法基于通过连续监控区块链网络130而收集的数据。

在S410处,从客户端接收访问请求。该请求是具有或不具有任何会话上下文的非交互式请求。该请求可以通过专用API接收,或者可以通过诸如HTTP、SMTP、HTTP等的标准第7层协议接收。可以使用诸如HTTP或HTTPS等的标准第7层协议来发送访问请求。在又一实施例中,访问请求可作为非交互支付经由区块链网络130发送。

在S420处,提取发送访问请求的客户端的标识符(ID)。确定客户端ID的有效性。这可以使用例如客户端证书、一次性密码(OTP)等来执行,以识别、证明、验证、检查客户端120的余额(balance)或历史记录位置或其组合。当保持客户端120的隐私是强制性的时,可以使用诸如SK-SNAKS和Zcach等的知识论证,而不是直接暴露客户端身份。

在一些实施例中,当请求不包括有效客户端ID时,请求被转发到准入系统110。

在S430处,引起准入过程。客户端120经历这个准入过程。可以基于诸如但不限于基于所进行博弈的准入、(多种类型中的一种类型的)访问通证或它们的任何组合的技术来执行准入过程。

下面参考图5讨论基于博弈的准入过程的示例性实施例。

在另一个实施例中,准入过程包括使客户端120基于转换值将第一类型的访问通证转换为第二类型的访问通证。基于多个访问参数、访问参数之间的交互或两者来动态地确定转换值。也可基于博弈参与而更新转换值。

第一组访问参数与客户端120相关。例如,客户端120的信誉、客户端120的地理位置或两者可以用于确定转换值。客户端120的行为也可以确定转换值。可以在表示不同粒度准入权限的多个访问通证上确定转换值。例如,指示客户端120准入的读取访问通证可以引起比指示许可客户端120编辑数据的写入访问通证更低的成本,并且由此引起在如由风险分析和受保护实体准入粒度所指示的多个规模上以精细粒度控制客户端时间授权的更高成本。

第二组访问参数与受保护实体140有关。例如,受保护实体140的敏感资源或服务将需要更高的转换值,而不管客户端120的可信度。作为另一个例子,受保护实体140上的当前负载可以影响转换值,即,转换值随着负载的增加而增加。

第三组访问参数包括全局指示。全局指示可以包括针对受保护实体或网络中的其他实体的正在进行的网络攻击的指示。正在进行的攻击的量也被认为是全局参数。可以从连接到准入系统110、信任中介160或这两者的外部系统(未示出)接收这样的指示。例如,正在进行的网络攻击的指示将导致更高的转换值。全局参数的其它示例可以包括一天中的时间、某一天(周末、工作日或假日)等。

在所有上述示例的访问参数中,权重(即,转换值)可以被适配为非线性函数。非线性函数被配置成使得它不影响偶尔访问受保护实体140的合法用户,但这种函数显著地影响频繁访问受保护实体140的攻击者。因此,使用访问参数来确定转换值允许在客户端之间“区分”,同时客户端可以维护它们的隐私。可以基于登记在审计系统170中的历史数据来确定上述示例提及的访问参数。例如,这样的数据可以包括所识别的转换交易、所确定的转换值等。

当准入标准作为交易(下文中称为“准入交易”)被发布在区块链网络130上时,由客户端120执行的准入过程完成。

在一个实施例中,准入交易包括交易数据、交易哈希值和一个或更多个先前交易的哈希值。在实施例中,准入交易还可包括准入标准和如由准入系统110、客户端120、受保护对象140或其组合指定和请求的任意数量的元数据元素。准入标准可以包括博弈完成结果、特定类型的访问通证的数量等。

在示例性实现中,交易数据还可以包括唯一的交易ID、准入系统110作为授予访问通证的源的识别、以及所请求的目标。所请求的目标可以是客户端120请求访问的受保护实体140处的服务、应用或资源。应当注意,在一些实现中,准入交易不需要包括识别客户端120或使用客户端120的用户的任何信息。交易的哈希是交易内容的加密哈希。交易的所有者,例如准入系统110用其私钥或者其它加密身份对交易进行签名。可以使用交易所有者的公钥来验证交易。

在S440处,监控区块链网络以识别与客户端相关联的至少一个准入交易。搜索是针对包括搜索标准的准入交易,搜索标准诸如但不限于客户端ID、博弈ID等。

在S450处,检查是否识别了准入交易并且指定满足一组条件以访问受保护实体的准入标准。例如,可以检查访问通证的数量是否足够。如果S450处的结果为“是”应答,则继续执行到S460处;否则,在S455处,向客户端发送拒绝访问的错误消息。可替换地或共同地,在S455处,客户端可以被重定向到准入系统110。此外,可以在审计系统170处登记任何失败的访问尝试。该组条件可以是预定义的或动态确定的。

在S460处,通过区块链网络130验证准入交易。在实施例中,通过立即花费在准入交易中指定为向准入系统110支付的访问通证来执行这样的验证。结果,准入交易被标记为在区块链网络130中维护的相应区块中的“已花费”,并且不能被客户端120再次引用。应当注意,决不从区块链网络130中维护的区块中删除交易。

在S470,一旦验证交易并且支付了访问通证,则授予客户端120访问。在实施例中,S470包括允许客户端120访问所请求的受保护实体140处的资源或服务。在实施例中,受保护实体140可以使用所支付的访问通证的数量和类型来在访问客户端120上设置时间ACL。也就是说,可以基于正在被支付的访问通证的数量和类型及时限制访问。

应当注意,通常在履行访问请求时将访问通证支付给准入系统110。访问请求的履行可包括允许客户端120访问受保护对象140,有条件地允许客户端120访问受保护对象140,或拒绝对受保护对象140的访问。

还应当注意,每个交易都是在客户端120、系统110和实体140之间的访问通证的特定值的传输。区块签名还防止交易一旦被发布就被改变。交易在区块链网络130的节点之间广播并通过挖掘过程来验证。

在实施例中,为了授予访问通证,准入系统110和客户端120可交换它们的公钥。为了撤销访问通证,系统110和受保护实体140可以交换它们的公钥。也就是说,不存在关于在客户端120和受保护实体140之间使用访问通证的直接交易。(私用或公用)密钥可以是密码密钥。可替代地或共同地,受保护实体140和准入系统110可采用其它安全通信手段,例如预共享密钥。此外,准入系统110、客户端120和受保护实体140可以在公钥基础设施(PKI)或证书颁发机构(CA)机制下起作用。

作为示例,访问通证可以是数字签名的链。系统110可以通过对先前交易的哈希和受保护实体140的公钥进行数字签名来向客户端传输访问通证。签名(哈希值)可以被附加到每个访问通证。为了向客户端120授予访问,实体可以验证签名以验证所有权的链。

图5示出了根据实施例的基于博弈的准入过程的示例性流程图500。参考图1所示的元件描述该方法。在实施例中,该方法可以由受保护实体140或连接到受保护实体140的网关设备145执行。在两个实施例中,该方法基于通过连续监控区块链网络130而收集的数据。

在S510,监控区块链网络以识别分配给每个客户端(例如,客户端120)的访问策略。如上所述,访问策略定义博弈类型和博弈范围。在实施例中,访问策略被分配给受保护实体。访问策略定义参与会话的博弈和通证。访问策略还可以定义将基于“已支付”通证的累积状态和博弈进程状态(包括导出的偏差)而实施的安全关联。以上讨论了访问策略的定义和示例。在一些实施例中,在接收到访问请求时,从区块链网络检索分配给客户端的访问策略。

在S520处,将由客户端120执行的博弈作为交易发布在区块链网络130上,从而使得客户端120执行博弈。博弈实例可以完全嵌入区块链网络130中,或者在另一实施例中,区块链网络130可以持有到博弈位置的URL。在相应策略中定义了将由客户端120执行的博弈及其复杂度。如上所述,可以利用不同的博弈来确定不同的偏差,诸如意图偏差、认知偏差或行为偏差。

在一些实施例中,客户端120可以在执行博弈之前要求具有多个下注的(或其他类型的)访问通证。客户端120可以请求或执行获得一些通证的过程。上面讨论了用于获得这种通证的一些实施例。

在S530处,监控区块链网络130以识别由每个客户端(例如,客户端120)存放的博弈完成结果。如上所述,结果可作为元数据存放在区块链交易中。完成可以是进行博弈的一个会话。这种会话可以是博弈的周期、阶段等。也就是说,博弈可以继续,并且在一些实施方式中,S520可以不需要完成博弈。

在S540处,与相应客户端的客户端ID相关联地保存客户端ID及其相应访问策略以及完成结果。如果不能识别这样的元数据(或任何完成结果),则保存NULL指示。在实施例中,访问策略与完成结果一起被保存为区块链网络130上的交易。

在S550处,确定或建立客户端的偏差。该偏差可以是认知偏差、意图偏差或行为偏差。访问通证累积表征认知偏差,访问通证余额表征意图偏差,而访问通证花费表征行为偏差。以上描述了使用所执行的博弈来建立偏差的示例。应当注意,在客户端设备执行任何动作之后,可以重新评估所建立的偏差。

在一些实施例中,可以由信任中介160建立该偏差。在这样的实施例中,也从信任中介160检索所建立的偏差。这种网络饼干(cookie)指示基于信任中介确定的所建立的偏差是否授予或拒绝对受保护实体的访问。

在S560处,返回完成结果、已建立的偏差或两者。

应当注意,仅为了简单起见,参考图1描述了本文所讨论的方法。所公开的实施例不限于应用于图1所示的布置。

参考图4和5所讨论的方法由受保护实体或连接到受保护实体的网关(或任何设备)执行。在某些实施例中,执行本文所讨论的方法的受保护实体、网关或两者被实现为例如参考图3讨论的所实现的硬件设备。

本文公开的各个实施例可以被实现为硬件、固件和软件的任何组合。此外,软件优选地被实现为有形地呈现在程序存储单元或计算机可读介质上的应用程序。应用程序可以被上传到包括任何合适架构的机器并且由该机器执行。优选地,机器在具有硬件(如一个或更多个中央处理单元(“CPU”)、存储器和输入/输出接口)的计算机平台上实现。计算机平台还可以包括操作系统和微指令代码。本文描述的各个过程和功能可以是微指令代码的一部分或应用程序的一部分或其任何组合,其可以由CPU执行,无论这样的计算机或处理器是否被明确示出。此外,诸如附加数据存储单元和打印单元的各种其他外围单元可以被连接到计算机平台。此外,非暂时性计算机可读介质是除了暂时性传播信号之外的任何计算机可读介质。

应当理解,本文中使用诸如“第一”、“第二”等的名称对元件的任何引用通常不限制这些元件的数量或顺序。相反,这些名称在本文中通常用作在两个或更多个元件或元件的实例之间进行区分的便利方法。因此,对第一元件和第二元件的引用并不意味着在那里仅可以采用两个元件或者第一元件必须以某种方式在第二元件之前。同样,除非另有说明,否则一组元件包括一个或更多个元件。此外,在说明书或权利要求书中使用的“A、B或C中的至少一个”或“A、B或C中的一个或更多个”或“包括A、B和C的组中的至少一个”或“A、B和C中的至少一个”形式的术语是指“A或B或C或这些元素的任何组合”。例如,该术语可包括A或B或C、或A和B、或A和C、或A和B和C、或2A、或2B、或2C等。

本文叙述的所有示例和条件性语言都旨在用于教学目的以帮助读者理解所公开的实施例和发明人为促进本领域所贡献的思想,并且将被解释为不限于此类具体叙述的示例和条件。此外,在本文叙述本发明的原理、方面和实施例以及其具体示例的所有陈述旨在涵盖其结构和功能等同物两者。另外,这种等同物旨在包括当前已知的等同物以及将来开发的等同物(即,不论结构如何,执行相同功能的开发的任何元件)。

相关技术
  • 用于网络实体的基于区块链的网络保护的方法和系统
  • 用于采用标题保护进行数据发射和接收的方法,系统以及网络实体
技术分类

06120112381671