本申请在35 U.S.C. §119(e)下要求对2014年2月14日提交且题为“PERSONAL INTERNET OF THINGS SYSTEMS AND METHODS(个人物联网系统和方法)”的美国临时专利申请号61/940,182以及2014年2月28日提交且题为“PERSONAL INTERNET OF THINGS SYSTEMS AND METHODS”的美国临时专利申请号61/946,404的优先权的利益,藉此将这两个美国临时专利申请以其整体通过引用并入。
版权授权
本专利文档的公开内容的部分可以包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容的摹本复制,因为它出现在美国专利和商标局的专利文件或记录中,但是以其它方式保留任何的全部版权权利。
背景技术:
和
技术实现要素:
连网(connected)设备已经变成我们日常生活的重要部分。随着互联网的使用对于人们日常活动而言越来越固有,更多的个人电子设备变得互连。各种互联网连接设备现在作为使用现有互联网基础设施的连网设备生态系统——称为物联网(“IoT”)——的部分而可用于消费者。IoT提供使得各种计算设备和设备群组(统称为“物体”)更为有用的连接性。IoT还可以允许涉及用户的前所未有数量的数据的收集,由此促进对用户的环境、行为和/或与用户相关联的各种设备如何良好地执行的理解。IoT可以进一步允许各种设备的控制和/或自动化,由此改进用户的设备之间的交互和/或用户的设备的功能性。
IoT可以是相对异类的,其中通过各种不同技术来促进连接性。在IoT内提供信任、隐私、安全和/或安保(“TPSS”)提供了独特的挑战,因为传统安全和/或安全管理技术可能难以在这样的多样化生态系统中实现。例如,IoT中的自组网络和/或各种控制和/或通信路径和/或信道(其中的许多可能从用户隐藏)的使用可能在IoT内实现TPSS方面引入困难。
本公开内容大体涉及网络安全系统和方法。更具体地,但是非排他性地,本公开内容涉及用于促进网络中的各种连网设备之间所传达的信息以及网络中的各种连网设备的操作的信任、隐私、安全和/或安保的系统和方法。本文公开的系统和方法促进了连网设备或“物体”的生态系统内的TPSS。如本文中所使用的术语设备、连网设备、系统、实体和/或物体在某些实例中可以互换地使用。在某些实施例中,系统和方法可以和与特定用户、实体和/或其群组相关联的个人IoT生态系统结合地利用。除其它之外,所公开的系统和方法的实施例可以在与用户和/或用户的家、车辆、工作场所等等相关联的连网设备的多样化生态系统内实现TPSS。例如,所公开的系统和方法的某些实施例可以与任何适当的一个或多个连网设备结合地使用,包括但不限于,安全系统;联网锁;温控器;加热、通风和空气调节(“HVAC”)系统;灌溉系统;水控制;泵;加热器;家用公共事业仪表;家用网络网关;活动传感器;警报器(例如,火灾和/或CO2警报器);连网照明;连网家用电器(例如,冰箱、洗衣机、电视等);连网车辆;医疗和/或个人设备(例如,活动和/或健康监控设备、起搏器、胰岛素泵、血糖监控器等);移动通信设备;计算设备;和/或任何其它连网设备,以及相关联的状态和/或数据仓库。
在一些实施例中,可以通过与个人IoT的用户相关联的共享群组令牌和/或安全关联的使用而在各种连网设备之间的个人IoT中建立TPSS。在某些实施例中,这些安全关联可以用于形成与用户相关联的明确私用网络和/或与用户相关联的个人IoT。如本文中所详述,在各种实施例中,用户可以通过管理网络的组成设备之中的各种安全关联来添加和/或管理被包括在他或她的明确私用网络中的设备。
附图说明
发明工作主体将通过参照以下结合随附各图的详细描述而容易地理解,其中:
图1图示了与本公开内容的实施例一致的示例性连网设备生态系统。
图2图示了与本公开内容的实施例一致的连网设备生态系统中所包括的示例性架构层。
图3图示了与本公开内容的实施例一致的与被包括在明确私用网络中的物体相关联的示例性属性。
图4图示了与本公开内容的实施例一致的明确私用网络中的成员资格发起过程。
图5图示了与本公开内容的实施例一致的连网设备的元素。
图6图示了与本公开内容的实施例一致的连网设备的示例性服务层。
图7图示了与本公开内容的实施例一致的示例性连网设备交互模型。
图8图示了与本公开内容的实施例一致的与物体相关联的示例性安全关联记录。
图9图示了与本公开内容的实施例一致的管理连网设备的示例性方法的流程图。
图10图示了可以用于实现本公开内容的系统和方法的实施例的示例性系统。
具体实施方式
在下文提供与发明工作主体一致的系统和方法的详细描述。尽管描述了若干实施例,但是应当理解到,公开内容不限于任何一个实施例,而是替代地涵盖众多替换、修改和等同方案。此外,尽管在以下描述中阐述了众多具体细节以便提供对本文公开的各种实施例的透彻理解,但是可以在没有这些细节中的一些或全部的情况下实践一些实施例。此外,出于清楚性目的,没有详细描述在相关领域中已知的某些技术素材以便避免不必要地遮蔽本公开内容。
公开内容的各种实施例可以通过参照附图来理解,其中同样的部分可以由同样的标号来指代。如大体描述并且在本文的附图中图示的,所公开的实施例的组件可以以各种各样的不同配置来布置和设计。因而,发明工作主体的例证性实施例的以下详细描述不意图限制如所要求保护的公开内容的范围,而是仅仅代表公开内容的可能实施例。此外,本文公开的任何方法的步骤未必需要以任何特定次序来执行,或者甚至顺序地执行,步骤也不需要仅执行一次,除非另外指定。
呈现了用于促进诸如IoT生态系统之类的连网设备生态系统中的TPSS的系统和方法。在某些实施例中,本文描述的系统和方法可以例如与诸如在共同受让、共同未决的美国专利申请号11/583,693(“'693申请”)中描述的那些之类的数字权力管理(“DRM”)技术、诸如在共同受让的美国专利号8,234,387(“'387专利”)中描述的那些之类的服务编配和/或DRM技术、诸如在共同受让、共同未决的美国专利申请号13/654,349(“'349申请”)中描述的那些之类的通用信息存储和/或管理技术、诸如在共同受让、共同未决的美国专利申请号13/766,432(“'432申请”)中描述的那些之类的受信车辆技术、诸如在共同受让、共同未决的美国专利申请号14/074,603(“'603申请”)中描述的那些之类的个性化数据管理技术、诸如在共同受让、共同未决的美国专利申请号12/785,406(“'406申请”)中描述的那些之类的内容递送技术和/或诸如在共同受让、共同未决的美国专利申请号13/946,750(“'750申请”)中描述的那些之类的信息瞄准技术(藉此将'693申请、'387专利、'349申请、'432申请、'603申请、'406申请和'750申请的内容以其整体通过引用并入)结合地使用,以及在其它上下文中使用。将领会到,这些系统和方法是新颖的,正如其中采用的组件、系统和方法中的许多那样。
与本文公开的实施例一致,在诸如个人IoT之类的连网设备生态系统中建立适当TPSS的方法可以涉及分析以下中的一个或多个:
- 在个人IoT中涉及什么主体?也就是说,什么实体——人员、处理器、设备、服务、程序等——作为可能要求访问其它实体和相关联的数据的参与者而在系统中涉及?
- 这些主体如何被识别,并且可以使用什么机制来确保主体的身份可以信任?
- 可以支配和保护什么系统资源,以及应当使用什么机制来完成此?
- 可以授权什么主体访问哪些资源,在什么条件之下,以及出于什么目的?
- 可以信任什么实体来设定围绕资源使用、系统主体的授权(和识别)以及总体生态系统部署和管理的策略?也就是说,一个或多个什么实体可以充当信任根源或者信任权威机构?
- 相关安全和隐私策略如何互相连贯、传达给相关利益相关者以及推行?
与本文公开的实施例一致,可以实现用以推行相关联的TPSS策略的适当技术来解决以上顾虑中的一个或多个。例如,但是并非限制,诸如在'693申请、'387专利和/或'603申请中描述的那些之类的DRM和策略管理技术可以用于表述和推行支配个人IoT中的设备之间的相互关系及其操作以及由此的数据收集和使用的策略。
本文公开的实施例可以进一步提供用于建立和管理诸如个人IoT之类的连网设备生态系统中所交换的相关联数据和系统组件的直观范例。管理接口可以以促进由用户进行的相对直接的管理的方式被简化。例如,在某些实施例中,用户可以限定关于其中通过其相关联的连网设备和/或其它系统收集、传达和/或以其它方式使用数据的方式的策略、规则和/或偏好。这样的策略、规则和/或偏好可以使用任何适当的机制来互相连贯和实现,所述机制例如包括但不限于,在'693申请和'387专利中描述的那些机制。除其它之外,策略、规则和/或偏好可以限定可以如何通过一个或多个连网设备收集数据、所述数据可以如何从连网设备和/或在连网设备之间传达、和/或所述数据可以如何由连网设备和/或其它第三方系统所使用。策略、规则和/或偏好可以进一步限定连网设备生态系统和/或包括在其中的设备的某些安全要求。
连网设备生态系统
图1图示了与本公开内容的实施例一致的示例性连网设备生态系统。在某些实施例中,连网设备生态系统可以包括与用户相关联的个人IoT。各种各样的连网系统和/或设备102-122可以经由一个或多个网络100通信地耦合以形成个人IoT。系统和/或设备102-122可以与用户、用户群组、位置、实体和/或组织、一个或多个服务提供商(例如,一个或多个第三方服务提供商等等)和/或其任何组合相关联。
系统和/或设备102-122可以包括被配置成实现本文公开的系统和方法的实施例的任何适当的一个或多个计算系统。在某些实施例中,系统和/或设备102-122可以包括被配置成执行存储在相关联的非暂时性计算机可读存储介质上的指令的至少一个微处理器启用系统。如下文中更详细讨论的,在一些实施例中,系统和/或设备102-122中的一些可以包括安全处理单元(“SPU”),其被配置成执行诸如受信凭证和/或密钥管理、安全策略管理和/或本文公开的系统和方法的其它方面之类的敏感操作。系统和/或设备102-122可以进一步包括被配置成经由一个或多个相关联的网络连接100而启用设备和/或系统102-122之间的信息的电子通信的软件和/或硬件。
如图1中所图示,个人IoT中的系统和/或设备102-122可以包括但不限于,智能电话或其它无线通信设备102、桌上型和/或膝上型计算机系统104、可穿戴计算设备(例如,智能手表、活动和/或健康监控设备等)106、连网车辆108和/或与此相关联的系统(例如,旅客车辆、飞机、轮船、火车、和/或与此相关联的远程信息处理和/或信息娱乐系统等)、家用自动化和/或安全系统和/或与此相关联的组件(例如,安全小键盘、联网锁110、门和/或其它访问控制设备、连网照明等)、连网温控器112、HVAC系统、灌溉系统、水控制、泵、加热器、家用公共事业仪表、家用网络网关、活动传感器、警报器(例如,火灾和/或CO2警报器)、平板计算机、无线控制设备(例如,无钥匙进入和/或远程开启设备等)、游戏或其它娱乐设备、连网家用电器(例如,冰箱114、洗衣机、炉灶、面包机等)、消费者电子设备(例如,浴室秤、数字相机116、扬声器系统、电视等)、医疗设备(例如,起搏器、胰岛素泵、血糖监控器等)和/或任何其它计算系统和/或设备以及相关联的状态和/或数据仓库。
个人IoT可以进一步包括一个或多个服务提供商系统118-122。在某些实施例中,一个或多个服务提供商系统118-122可以直接地或者间接地与包括在个人IoT中的各种系统和/或设备102-116通信。在一些实施例中,一个或多个服务提供商系统118-122可以向系统和/或设备102-116提供信息和/或从其接收信息(例如,由系统和/或设备102-116收集的数据、用于控制系统和/或设备102-116的功能和/或操作的控制信息等)。例如,用户可以使用智能电话102以经由网络100和与家庭安全公司相关联的服务提供商系统118对接以便控制与他或她的家庭安全系统相关联的联网锁110的状态。用户可以进一步从服务提供商系统118查看涉及联网锁110的情形和/或状态的信息。作为另一示例,服务提供商系统120可以包括诸如在'603申请中描述的个性化云存储系统,其存储从设备102-116接收的数据并且促进其使用和管理。
系统和/或设备102-122可以经由一个或多个网络连接100通信地耦合。例如,如上文所讨论,用户可以使用智能电话102经由一个或多个网络连接100与联网锁110和/或相关联的服务提供商系统118远程地通信。在另外的实施例中,个人IoT中的系统和/或设备102-122可以直接地通信而没有使用任何中间网络连接100(例如,经由邻近场通信信道等等)。例如,如所图示,用户可以直接地使用智能电话102与联网锁110通信和/或直接地使用膝上型计算机系统104与连网温控器112通信。
网络连接110可以包括各种网络通信设备和/或信道并且可以使用任何适当的通信协议和/或技术以用于促进连网设备和系统之间的通信。在一些实施例中,网络连接100可以例如包括互联网、局域网、虚拟私用网络、和/或使用一个或多个电子通信技术和/或标准(例如,以太网等等)的任何其它通信网络或网络的组合。网络连接100可以使用多路复用器、路由器、集线器、网关、防火墙、交换机和/或任何其它网络通信设备和/或系统以促进网络上的通信。在一些实施例中,网络连接100可以包括诸如个人通信系统(“PCS”)之类的无线载体系统。在另外的实施例中,网络连接100可以包括模拟移动通信网络和/或数字移动通信网络,其使用例如码分多址(“CDMA”)、全球移动通信系统或移动特别小组(“GSM”)、频分多址(“FDMA”)和/或时分多址(“TDMA”)技术。在某些实施例中,网络连接100可以并入一个或多个卫星通信链接。在又另外的实施例中,网络连接100可以使用IEEE的902.11标准、Bluetooth®、超宽带(“UWB”)、Zigbee®、近场通信(NFC)技术和/或任何其它适当的一种或多种技术。
将领会到,在发明工作主体的范围内可以对结合图1所呈现的架构、关系和示例做出多种变形。例如,以上描述的某些设备和/或系统功能性可以集成到单个设备和/或系统和/或以任何适当配置的设备和/或系统的任何适当组合中。因而将领会到,结合图1所呈现的架构、关系和示例被提供用于图示和解释的目的,而不用于限制。
针对连网设备生态系统的风险评估
连网设备和/或其它IoT生态系统可能与各种潜在风险相关联。例如,用户、服务提供商、设备制造商等等可能面对风险,诸如:
- 由连网传感器和设备收集并与各种本地和基于云的服务共享的其私用信息的控制的用户丢失。
- 可能渗透连网设备网络的入侵者的恶意动作(例如,打断各种控制的排程,诸如照明、灌溉和温控器控制)。
- 家用资源的未经授权使用。
- 对本地和/或基于云的服务的未经授权访问。
- 引起损坏或者提供对连网设备生态系统资源的未经授权访问和/或使用的病毒的引入。
- 对控制的恶意攻击(例如,关断和/或损坏照明、加热、空气调节、水和/或其它系统)。
- 入侵(例如,打破安全系统和/或联网锁和/或以其它方式使其受损)。
- 安全风险(例如,源自于未经授权的用户对设备控制的访问。例如,儿童访问针对水龙头的温度控制或者游泳池盖子或门的远程控制)。
以上和/或其它风险中的许多可能源自于与诸如个人IoT之类的连网设备生态系统的设计和/或部署相关联的某些决策,包括但不限于:
- 响应于早期攻击的安全技术的事后、基于非系统性的应用。
- 直观的连网设备和/或个人IoT生态系统管理策略和工具的缺乏,其导致生态系统对于消费者而言难以理解和管理,通常引起连网设备和/或个人IoT安全和/或隐私机制的误应用或不应用。
- 没能理解在连网设备和/或个人IoT生态系统的设计和部署中所涉及的各种层内的信任、安保、隐私和安全顾虑。
- 可能没有朝向维护受信总体系统定向的固件和/或软件实践。
- 没能运用所有层内以及跨所有层的标准。
在本文中呈现了用于解决这些风险中的一些或全部的系统和方法。此外,并且与本文公开的某些实施例一致,标准的部署以及对标准的附连可以确保个人IoT的各种元素是可共同操作的并且实现用于安全、隐私、通信、人类接口和/或与建立设备的受信且稳健的网络结合使用的任何其它适当特征的精细设计的基元。
连网设备生态系统层
在图1中图示的各种系统和/或设备和/或与其相关联的功能性可以与一个或多个概念上的架构层相关联,所述架构层包括但不限于,设备层、网络层、服务层、发现层和/或身份层。与本文公开的实施例一致,缓解与连网设备和/或其它IoT生态系统相关联的潜在风险可以涉及分析这些组成层并且应用适当的TPSS策略、原理、技术和方法。在某些实施例中,各种层可以与某些限定和/或指定的性质相关联,并且可以基于分析各种层之中的交互来识别适当的TPSS策略、原理、技术和方法。图2图示了与本文公开的某些实施例一致的连网设备生态系统中所包括的各种示例性架构层200-208。在下文更加详细地讨论这些概念上的架构层200-208。
设备层
各种系统、设备、实体和/或实体群组可以与设备架构层200相关联。在某些实施例中,与特定系统和/或设备相关联的组成实体和/或实体群组(例如,传感器、处理器、控制器、箱体等)可以进一步与设备层200相关联。在某些实施例中,识别包括在设备层200中的系统、设备、实体和/或实体群组可以涉及确定系统、设备、实体和/或实体群组是否包括IoT生态系统内的物理“物体”或者较大组件和/或“物体”的逻辑组件,和/或识别什么是架构中的最小不可分割的组件。
结合实现信任管理系统和方法,设备层200可以用于确定谁以及什么是总体个人IoT生态系统中的逻辑和可识别主体。在某些实施例中,除其它之外,设备层200可以包括识别相关联的系统、设备、实体和/或实体群组的信息,和/或涉及相关联的TPSS相关的控制、状态和/或其它数据的信息。
网络层
IoT生态系统中的各种系统、设备、实体和/或实体群组和/或相关联的服务提供商(例如,本地和/或基于云的服务提供商)通过其通信的手段可以与网络架构层202相关联。在某些实施例中,可以在网络层202上实现与本文公开的实施例一致的TPSS方法。在另外的实施例中,与所公开的实施例一致的TPSS方法可以通过各种网络层202实现和/或与各种网络通信协议可兼容。在一些实施例中,除其它之外,在网络层202上实现TPSS方法可以减少对实现网络安全的某些管理方面的依赖性。
本文公开的实施例可以与各种网络通信协议结合地利用,所述协议包括例如互联网协议(“IP”)和/或蓝牙低能量(“BLE”),尽管还设想到其它网络协议。作为IP介质,WiFi是可以与所公开的实施例结合地利用的常见网络技术。然而,现有WiFi网络可能没有实现用于管理网络访问的特别直观和/或安全的机制。因而,本文公开的系统和方法可以提供用于使用户管理与个人IoT相关联的各种网络的更为直观的方法。例如,某些实施例可以提供更为用户友好的机制,其为设备提供共享WiFi保护访问(“WPA”)密钥。
服务层
各种系统、设备、实体和/或实体群组和/或相关联的服务提供商通过其在IoT生态系统中暴露服务的手段可以与服务架构层204相关联。服务层204可以包括涉及哪些设备、实体和/或实体群组和/或相关联的服务提供商暴露服务以及这样的服务如何被描述、发现和/或调用的信息。可以与所公开的实施例结合地利用包括例如HTTP、SOAP、WSDL等之上的表述性状态转移(“REST”)服务的各种可扩缩服务架构,正如在'387专利中描述的面向服务的架构和技术可以的那样。在一些实施例中,可以与服务层204结合地执行个人IoT生态系统内的TPSS的管理。
发现层
发现架构层206可以描述可以如何在个人IoT生态系统内的网络上发现设备、实体和/或实体群组和/或相关联的服务。各种协议可以与发现层206相关联,所述协议包括例如通用即插即用(“UPnP”)、Bonjour等等。在一些实施例中,可以使用允许相对于常规协议改进了安全和/或访问策略的实现的服务发现协议,包括例如但不限于,在'387专利中描述的服务发现技术。在某些实施例中,当将新设备、实体和/或实体群组和/或服务引入到个人IoT生态系统时,本文公开的系统和方法可以提供自举安全。
身份层
在个人IoT生态系统内,包括但不限于系统、设备、实体、群组、用户等等的各种IoT生态系统元素的识别可以被包括在身份架构层208中。设备和服务识别可以使用各种技术,包括例如IPv6地址、MAC地址等。与本文公开的某些实施例一致,个人IoT生态系统的主体、设备和/或服务可以在策略管理环境中操作。相关联的策略可以描述哪些实体——包括单独的人员或用户——能够访问哪些资源和/或在什么条件之下准许这样的访问。除其它之外,这可以涉及网络上的用户身份的管理和/或可靠地使安全属性与用户身份相关联。
与本文公开的实施例一致,部署实现TPSS的个人IoT可能使得对以上和/或其它概念上的架构层200-208的理解以及技术实现和/或策略决定在每一个中所具有的交互成为必需。
明确私用网络
除其它之外,本文公开的系统和方法的某些实施例可以使用明确私用网络(“EPN”)来直观地描述和管理个人IoT和/或其它连网设备生态系统中的主体和层之中的交互。除其它特征之外,EPN可以通过使控制和数据路径相对明确而为物体和/或其它设备提供TPSS。例如,与本文公开的某些实施例一致,EPN可以使人和物体之间的安全关联明确并且相对易于理解。因而,如果人购买物体并且想要将物体集成到他或她的个人IoT中,则EPN可以促进以下中的一些或全部:
- 物体的TPSS方面的直接并且安全的控制。
- 在任何时间处,谁可以控制物体和/或其方面的识别。
- 将数据从物体引导到可以管理该数据的隐私的安全仓库。
- 将物体与其它物体分组在一起以用于TPSS管理目的。
以相对直观和/或不易出现用户错误的方式,本文公开的实施例可以促进以上中的一些或全部的实现。随着EPN的大小的增大,性能辅助和服务可以可用于用户以有助于扩缩,但是控制和/或数据流的概念将优选地保持相对简单,并且TPSS相关动作将优选地保持相对有意并且可靠。在某些实施例中,EPN中的TPSS数据和控制可以被设计为在网络之上对EPN消息进行响应(例如,当没有由用户通过直接物理交互而控制时)。
在某些实施例中,EPN可以与家用网络结合地实现,其中网络(例如,个人IoT)中的物体可以包括设备,所述设备可以是自动化和/或远程控制的和/或可以具有传感器和/或可以产生用户可能想要保持私用的数据的其它相关联的功能性。家用网络可以能够访问互联网,因此激发使用EPN(其本身可以使用互联网)以维护相关联的个人IoT中的TPSS。在这样的实例中,家用网络可以不具有明确限定的网络边界,除非如由EPN限定。
在某些实施例中,EPN可以包括消息传递网络,其在相关联的网络(例如,家用网络等)的IP层上操作。在某些实施例中,从EPN的角度来看,被包括在EPN中的物体可以不具有相关联的IP(和/或其它)地址。图3图示了与本公开的例证性实施例一致的与被包括在EPN中的物体(例如,连网温控器112)相关联的各种示例性EPN属性300-310。如图3中所示,作为EPN的部分的物体可以与EPN状态300相关联。在某些实施例中,EPN状态300可以包括涉及主题物体(例如,连网温控器112)可以通过EPN与之交互的其它物体的信息,关于从其它物体可接受什么命令的信息,关于可以将什么数据发送给其它可用物体的信息等等。在一些实施例中,EPN状态300可以包括这样的信息的列表和/或表格。
如所图示,与物体112相关联的属性可以例如包括控制302、传感器304、状态306、数据仓库308和/或所有者310。与物体112相关联的控制302可以使物体112改变相关联的状态306(例如,并且因此做出某种事情)。具有控制其它物体的控制302的物体112可以称为控制器。控制器可以是EPN内显著的物体,其可以向其它物体发送意图改变其它物体的状态和/或经由其它EPN消息生成和/或以其它方式提供数据的消息。物体112可以与用于维护由物体112生成的数据的一个或多个数据仓库308相关联。在某些实施例中,这样的数据仓库308可以包括一个或多个其它物体。
物体112可以与一个或多个所有者310相关联,所有者310可以发起EPN状态300和/或可以具有关于其直接控制中的物体112的其它特权。在某些实施例中,所有者310可以使用控制器来发起针对物体112的EPN状态300。在这样的情况中,控制器可以是主题物体的EPN状态列表上的初始物体。在某些实施例中,控制器物体(例如,执行相关联的应用的智能电话)可以包括用户接口,其将对控制器物体的访问约束到一个或多个授权用户。对控制器的这样的经认证的约束访问可以帮助确保仅授权用户能够发起针对物体112的EPN状态300。在另外的实施例中,可以将与所有者相关联的某些特权委派给控制器。在又另外的实施例中,实现EPN的IoT生态系统可以布置(例如,自动布置)用于重置和/或重新初始化EPN中的物体的安全EPN网络备份。
一旦EPN中的物体被初始化,其就可以获取由所有者310和/或由所有者310委派的其它者授权的其它控制器。例如,物体112可以使用用于建立初始所有者310的相同或相似协议来添加所有者。在其它情况中,所有者310可以将某些活动委派给另一控制器,但是限制这种被委派的控制器的能力(例如,约束添加具有所有者特权的附加控制器的能力等等)。
与本文公开的实施例一致,可以将EPN映射到本文描述的各种IoT层上以便除其它之外还提供对于支持TPSS的直观个人IoT管理框架的支持。
与本文公开的实施例一致的各种策略、原理和/或方法可以与提供TPSS的个人IoT EPN结合地利用。在某些实施例中,各种虚拟私用网络(“VPN”)协议和/或防火墙机制可以与建立EPN结合地利用。在另外的实施例中,选择用于与建立EPN结合地使用的适当安全和隐私技术可以涉及但不限于以下中的一些或全部:
- 个人IoT向概念层的分解。
- 应用信任管理原理以便映射IoT中的哪些主体能够访问哪些资源、在什么条件之下以及出于什么目的。
- 将EPN模型应用给个人IoT,从而促进控制和数据路径的直观互相连贯和管理。除其它之外,这可以包括:创建相对简单且直观的协议以用于安全关联(例如,将控制器匹配到控制)和委派(例如,允许其它人和实体控制用户可以控制的设备、访问用于用户设备的数据等);对数据和/或控制路径的更紧密控制,在某些情况中被约束至本地控制并且在适当和/或方便时使用存在证据;限制与TPSS属性的移动代码交互并建立从软件更新路径分离的控制授权路径;来自受信个人代理和/或受信服务的帮助,其可以帮助用户评估和可视化对特定控制和/或数据授予访问的后果;使用标准化使得用户可以更加容易地并且一致地识别控制及其与特定设备的关系(例如,经由标准指示符和/或识别符的使用);和/或建立消费者控制的受信中间服务以用于收集、维护和/或分发数据。
- 提供相对紧密的控制以减少不便利和/或以其它方式损坏的破裂的可能性。
实现原理
当配置和/或以其它方式实现EPN以用于与个人IoT结合地使用时,可以考虑到各种原理,包括但不限于以下中的一些或全部:
- 所有者和物体之间的相对简单的关联和/或配置(例如,经由所有者和各种物体之间的直接通信)。例如,近场通信(“NFC”)、射频识别(“RFID”)通信、Bluetooth®启用(“BLE”)通信等等可以用于安全地建立某些EPN成员资格和/或配置信息。在某些实施例中,这样的信息可以包括共享私密信息,其指示EPN和/或相关联的群组中的成员资格。例如,用户可以将新的NFC启用物体带到NFC启用智能电话的附近并且可以为新的物体提供用于EPN的成员资格和/或配置信息,由此发起其在EPN中的成员资格。
- EPN的相对高冲击的重新编程和/或重新配置(例如,在物体的所有者资格改变的事件中)和/或EPN控制的聚集。在某些实施例中,这样的方法可以在允许重新编程和/或重新配置之前与相关联的控制器和/或物体结合地使用存在证据技术。
- 用于委派控制的过程可以使用性能辅助(例如,利用适当替换可访问性模式的辅助),其显示和/或以其它方式强调经更改的委派链的下游后果。
- 协议可以识别设备分类(例如,安全危险和/或水平的分类)和/或范围(例如,是设备本身,其它设备的控制器),使得随着EPN控制和/或数据流拓扑演变,这样的改变的后果可以被强调和/或识别。
- 提供关于对集中式和/或以其它方式聚集的控制的改变的后果的反馈。例如,可以将与特定动作相关联的潜在安全风险以及这样的动作的潜在分支通知给用户(例如,“如果你将该控制器委派给该设备,则你可能信任你3岁的孩子控制浴室水温并打开池盖”)。
- 提供相对易于理解和/或控制的封锁和推翻(override)。
- 各种协议可以被配置成被重置、更新和/或重新存储。
- 提供机制(诸如沙盒或过程和数据隔离)以限制由外部实体控制的物体访问。例如,在针对较低电力速率的交换中,消费者可以将某些电器的控制委派给公共事业操作者(例如,空气调节单元)。这样的布置可以潜在地可运用,并且与本文公开的实施例一致,这样的设备因而可以从个人IoT中的其它设备和服务隔离。例如,来自这样的设备的数据可以可用于个人IoT中的其它物体,但是这样的外部控制的物体可以仅具有对来自其它物体的数据或对其的控制的有限访问(或者没有对其的访问)。
- 建立标准用户接口控制,包括例如符号、控制表示、标签等等,由此促进由EPN用户进行的使用和/或交互的简易性。
与个人IoT的交互
在下文描述实现本文公开的系统和方法的某些实施例的用户与例证性个人IoT之间的交互的示例。在该示例中,用户可能感兴趣的是使用基于智能电话的互联网应用,他或她通过该应用可以控制和查看来自他或她能够访问的各种物体的数据。除其它之外,用户可以使用这样的应用管理用于其相关联的物体的TPSS属性和/或其它配置设定,以及控制和/或组织向/自这样的物体所传达和/或由这样的物体以其它方式收集的数据。除其它之外,用户可以使用应用来将新的物体添加到他或她的个人IoT,将物体分组到单个管理实体(例如,虚拟物体)中,给予对与物体相关联的控制和/或数据的其它访问,重置、重新配置和/或放弃对其它者的所有者资格等等。
用户可以获取新的物体并且想要将它添加到他或她的个人IoT和/或其它相关联的EPN。存在涉及新物体的状态的各种情况,其可以告知用户可以如何将它添加到用户的个人IoT。例如,物体可以处于“没有所有者”状态中(例如,正如与新物体结合的情况可能的那样),并且用户可能想要声称为它的所有者。作为另一示例,物体可以由另外其它人所有,其可以允许具有对物体的物理访问的任何人员控制它并且从它远程地接收数据(例如,如与公共网络相机结合的情况可能的那样)。作为又一示例,物体可以由已经明确授权用户使用物体的另一人所有。在其它情况中,用户可能需要从物体的所有者请求和接收用于访问物体的授权。
在以上描述的第一种情况下,用户可以参加成员资格发起过程以将物体添加到用户的个人IoT。图4图示了与本公开内容的某些实施例一致的与个人IoT相关联的EPN中的成员资格发起过程。如所示,用户可以将物体116(例如,连网数字相机等)带到智能电话102的附近。智能电话102和/或物体116可以参加发现过程400以建立与物体116的直接和/或间接通信。例如,在一些实施例中,智能电话102可以使用无线通信信道(例如,诸如NFC、IEEE的902.11标准、Bluetooth®、UWB、Zigbee®和/或任何其它适当的通信信道)以作为发现过程400的部分而交换一个或多个消息。
在一些实施例中,当智能电话102和物体116被带到彼此的附近时,这样的发现过程400可以是自动化的。在其它实施例中,发现过程400可以通过用户使用在智能电话102上执行的应用402(例如,个人IoT管理应用等)而发起。在另外的实施例中,应用402可以是基于web或云的应用(例如,经由智能电话102的浏览器访问的应用)。
在图4中示出的示例中,物体116可以将涉及物体116的信息传达给智能电话102。例如,物体116可以向智能电话102传达URL,其提供关于物体116的信息(例如,关于与物体相关联的各种属性的信息,诸如EPN状态、数据仓库、设备、传感器、控制等)。经由应用402,可以为用户呈现选项以建立物体116的所有者资格和/或控制。在选择选项以建立物体116的所有者资格和/或控制之后,可以在物体116所提供的EPN配置服务与应用402之间调用安全关联协议(“SAP”)。除其它功能之外,SAP方法可以与将授权控制器与受控项目相关联结合地使用。
一系列消息404可以在智能电话102和/或物体116之间交换,从而提供例如涉及物体116的识别信息(例如,物体的通用唯一识别符(“UUID”)和/或任何其它识别信息,诸如使用SAP协议建立的基于IP的ID),控制器(例如,智能电话102和/或相关联的应用402)的识别信息(例如,UUID等等)。
消息404可以进一步包括允许物体116变为与用户的个人IoT相关联的EPN的成员的某些EPN配置信息。例如,对称密钥对可以建立在智能电话102和物体116之间,从而允许应用402在各种通信信道之上(例如,直接或以其它方式)安全地发送和/或接收来自物体116的消息。在另外的实施例中,广播密钥可以提供给应用402,从而允许应用402和/或智能电话102对从物体116所接收的广播数据解码。
可以更新与物体116相关联的EPN状态以反映用户作为物体的第一所有者,并且应用402可以与和物体116相关联的服务提供商406(例如,制造商等)通信以登记新物体116(例如,通过交换登记信息408等)。在某些实施例中,应用402可以使得用户能够将物体116添加到一个或多个群组并且促进相关联EPN中的其它物体发现物体116(例如,通过将与物体116相关联的配置信息“推送”给EPN中的其它物体,通过经由共享云或网络存储而使这样的信息可用于其它物体等等)。用户可以进一步使用应用402来委派对例如其它家庭成员所使用的其它EPN控制器的访问。在某些实施例中,应用402和/或物体116可以与和受信服务410相关联的系统通信以监控向和/或自用户的个人IoT中的各种物体所传达和/或生成的各种信息。在一些实施例中,应用402和/或物体116可以与诸如在'603申请中描述的那个之类的个性化云存储和管理系统通信。
在某些实施例中,以上描述的发起过程可以至少部分地自动化并且可以涉及来自用户的相对少的交互和/或指导。在另外的实施例中,过程可以基于被添加到个人IoT和/或相关联的EPN的物体116的各种属性而变化。
授权对连网设备的访问
在其中物体可以由已经明确地授权用户使用物体的另一者所有和/或用户需要从物体所有者请求和接收用于访问物体的授权的情况下,安全关联管理协议(“SAMP”)可以与将物体发起到用户的个人IoT中结合地使用。例如,SAMP可以使用EPN消息以使得物体的授权所有者通过用新的安全关联更新物体的EPN状态而能够委派和/或撤消对其它EPN控制器的授权。例如,使用物体的数据库的应用(例如,基于web的应用),包括控制器和/或其与某些用户的关联,可以与用新的安全关联更新物体的EPN状态结合地使用。在一些实施例中,应用可以向其它者(例如,朋友、家人等等)发出可以允许对控制和/或与物体相关联的数据的授权的指派的消息。在一些实施例中,这样的消息可以进一步包括关于这样的动作的安全和安保暗示的适当提醒。SAMP可以用于将这样的消息发送给物体和/或相关联的控制器(例如,所委派的控制)。在另外的实施例中,可以在创建物体群组时使用SAMP使得群组控制器可以以授权方式起作用。
与本文公开的实施例一致,其它消息可以与SAP和/或SAMP结合地利用。在一些实施例中,直接1-1通信可以用于允许自举信任。在某些实施例中,这可以允许使用更简单和/或更为经济的基于对称密钥的加密方法,其具有较少公共密钥基础设施开销。在其它实施例中,可以不使用物体之间的直接通信(例如,如关于实现发现协议的本地WiFi网络的情况可以的那样)。
在一些实施例中,个人IoT内的某些EPN设定可以由用户重置。在某些实施例中,可以利用远程重置。在另外的实施例中,与物体相关联的状态可以独立于EPN状态而被重置。
网关
被包括在EPN中的网关可以提供若干功能角色,包括但不限于以下中的一些或全部:
- 与彼此和IP网络桥接较低等级的网络(例如,WiFi、Bluetooth®、BLE、Zigbee®等)。
- 转发EPN消息。
- 托管虚拟物体,诸如例如物体的功能群组。
因为EPN可以操作在消息传递层处,所以实现网络桥接和消息转发的网关可能不必需要是安全的。在其它实施例中,诸如在网关是EPN成员或托管EPN成员(例如,物体的大群组等)时的情况可以的那样,网关可以管理私密信息和/或包括安全存储,从而将这些虚拟物体与其它网关功能隔离。
服务
个人IoT中的物体可以实现用于可以实施SAP和SAMP方法的EPN管理的服务。其它服务也可以与EPN结合地使用,包括在没有限制的情况下实现以下中的一些或全部的服务:
- 帮助将物体分组成虚拟实体以及涉及许多物体的自组能力编配。
- 外部监控和/或控制,诸如例如可以监控电力和/或可以控制家用设备的公用事业提供商系统。
- 数据聚集和可视化。
- 用于包括EPN状态的EPN成员设备配置的备用服务。
- 查找安保和/或安全故障的EPN分析。
安全服务可以托管在家用LAN外部,但是也可以充当家用EPN的部分。这样的服务可以进一步托管具有所委派的授权的EPN成员。
人机交互模型
尽管本文描述的系统和方法的实施例可以被设计成允许用户更好地使用各种有形连网物体、与其交互和/或从其获益,但是它们也可以涉及可以由计算机和通信设备处置的非有形对象和机制。人类交互中的一些可以对应于与有形对象的熟悉动作,诸如锁门和锁窗或者操作电器上的控制;然而,本文描述的许多其它交互可以涉及诸如向其它人员或其它物体授予操作那些控制的能力之类的动作。
本文公开的系统和方法还提供性能辅助,用户藉此可以能够更好地理解各种动作的TPSS后果并且消除对各种实现技术、操作系统和通信协议的理解。在一些实施例中,这样的性能辅助还可以允许人员作为逻辑完整实体而查看物体的群组,其中可以向实体作为一个整体给予命令,并且数据和/或状态反馈也从该实体收集。性能辅助可以帮助用户可视化这样的交互的后果,并且提供关于来自这样的交互的TPSS问题的通知和建议。
图5图示了与本文公开的实施例一致的连网设备或物体500(例如,连网物体)的某些示例性元素502-512。各种元素502-512可以以各种方式实现,包括使用软件、固件、硬件和/或其任何组合。
物体500可以包括一个或多个物体属性502,其可以根据分类法(例如,产业接受的分类法)限定物体。在某些实施例中,属性502可以包括一个或多个属性值,其可以是标准化的和/或制造商特定的。例如,属性502可以包括危险的一个或多个标准描述,其可以帮助告知涉及物体500的各种命令和/或控制决定。作为另一示例,属性502可以包括明确、适当的用户年龄要求。将领会到,可以互相连贯各种其它类型的属性或值,并且可以与所公开的实施例结合地利用任何类型的属性502。
可以通过物理前面板510(例如,人机接口等)和/或通过经由个人IoT服务层512所提供的远程命令来致动与物体500相关联的一个或多个控制504,在下文更加详细地描述。前面板510可以例如包括各种接口,包括但不限于触摸屏、键盘、鼠标、跟踪板、按钮、开关、输出等。
物体500可以进一步包括一个或多个状态变量506,其可以表征物体500的内部方面的各种条件。在一些实施例中,一个或多个状态变量506可以包括与物体500中所包括的状态机相关联的状态信息。在某些实施例中,状态变量506可以包括与物体相关联的当前传感器测量数据。
物体500可以进一步包括一个或多个数据变量508,其可以对应于来自传感器的测量结果和/或与物体500相关联的其它元素。例如,数据变量508可以包括历史传感器数据和/或状态日志。在某些实施例中,状态变量506和/或数据变量508可以是类似的,但是基于包括在其中的源自于不同信息流路径的信息而可区分。
图6图示了连网设备的示例服务层512。在某些实施例中,服务层512可以促进相关联的物体向个人IoT的连接、对由其它物体提供的服务的访问、以及其它物体对由相关联的物体供应的服务的访问。如所图示,服务层512可以包括各种子层,包括但不限于,服务层602、访问层604、发现层606和/或通信层608。
与通信层608相关联的服务可以包括可以被输入到物体的命令和/或请求以及来自物体的其响应输出的途径。在一些实施例中,通信层608可以将各种信号翻译成可以由较高层处理的消息。例如,通信层608可以包括与物体相关联的物理信号和/或网络协议。
发现层606可以包括其它物体和/或连网实体可以通过其发现由物体提供的各种服务的各种协议。访问层604可以包括各种方法,其可以被使用和/或以其它方式调用以例如取决于请求者的属性(例如,是否对请求者授权了这样的访问)而允许访问与物体相关联的各种控制和/或数据。访问层604可以进一步包含涉及与物体相关联的网络进入点和/或设备状态的信息。服务层602可以包括与相关联的物体的能力相关联的各种服务和/或方法,其在各种不同条件之下可用于其它物体和/或实体,如可以由其它层604-608所确定。由服务层602供应的服务可以包括例如各种控制服务(例如,远程前面板控制服务)、初始化服务、数据访问服务、监控和/或通知服务、数据递送服务、系统更新服务、访问更新服务、服务更新服务和/或任何其它适当的服务。
在某些实施例中,初始化服务可以包括允许第一远程控制器的安全建立和/或可以允许相关联的物体直接地或者间接地与个人IoT中的其它物体交互的对等列表的建立的方法。初始化服务可以进一步将设备暴露给其它服务,其可以将物体放置在更加有用的上下文中(例如,通过使物体作为物体的复合的部分而可用和/或提供用于相关联的云中的物体的控制、状态和/或数据的阴影)。
访问更新服务可以允许通过物体的初始远程控制器和/或随后的控制器而将控制委派给新的控制器。例如,访问更新服务可以允许第一远程控制具有与物体所建立的控制链接以允许其它控制器和/或相关联的用户使用其控制器来控制物体。针对具有对一个或多个服务的访问的某一人的准许也可以使用访问更新服务来更新。
系统更新服务可以促进针对物体的各种能力的软件更新。在某些实施例中,这可以允许个人IoT中的TPSS方法的改进集成。数据递送系统可以为其它实体和/或物体提供用以请求并且随后接收由物体收集的各种数据的服务。监控和/或通知服务可以允许其它实体连续地或者周期性地监控物体和/或接收警报和/或状态改变的推送通知。控制服务,诸如远程前面板控制服务,可以允许其它实体远程地控制物体的功能和/或接收可能出现在物体的接口上的消息。高级控制服务可以进一步提供卓著的远程控制服务,其可能要求受约束的访问。例如,这样的服务可以允许控制敏感功能(例如,温度或声压限制器等)和/或改变由连网物体的物理前面板控制所致动的功能。
与本文公开的一些实施例一致,与物体结合实现的TPSS保护能力可以被设计成使得它们可以独立于(或者相对独立于)大多数操作系统和/或通信能力而实现。也就是说,可以实现TPSS保护能力使得它们可以至少相对独立地被提供。例如,在一些实施例中,物体可以提供有控制模块,其实现与通过操作系统或其它系统资源的访问隔离的TPSS能力。例如,控制模块可以使用其自身的任务管理服务,其仅使用来自主机操作系统的原始服务(例如,存储器、I/O、CPU循环等)。
物体可以具有各种物理和/或逻辑通信能力610。如所图示,物体的通信能力610可以例如但非限制性地包括以下中的一些或全部:
- 内部通信——其中信号起源于对物体来说本地的处理器总线上的通信。
- 邻近场通信——其中提供命令和/或请求的物体位于紧密邻近中的通信(例如,经由NFC、BLE和/或其它类似的无线连接)。在一些实施例中,邻近场通信可以使用实现适当邻近检测协议的较长范围的通信技术而实现。
- 局域网(“LAN”)通信——局域网上的通信。在一些实施例中,这样的通信可以包括通过本地路由器可访问并且不是通过路由器上的WAN端口而起源和/或具有相同类别C地址的设备之间的逻辑上可区分的通信。
- 广域网(“WAN”)通信——从诸如互联网之类的较宽域网所接收的通信。
- 物理总线通信——来自物体中所包括的物理总线的通信(例如,通用串行总线(“USB”)通信、安全数字(“SD”)通信等)。
在某些实施例中,个人IoT中的服务发现可以至少部分地取决于设备状态和/或网络访问类型。例如,可以取决于是否已经初始化相关联的物体而暴露或不暴露一组服务。在一些实施例中,某些服务(例如,推送更新、建立初始管理员等)可以取决于物体和/或实体是否正使用邻近场通信进行通信而可用于其它物体和/或实体。
图7图示了与本文公开的实施例一致的连网物体交互模型,其示出了被包括在个人IoT 700中的组件702-710之中的示例性交互。如所图示,第一连网物体702可以与对等物体704交互。在某些实施例中,物体702和对等物体704之间的交互可以比个人IoT 700中的某些其它交互更少受约束。在一些实施例中,可以通过基于网络类型和/或相关联的物体属性区分所传达的项目的能力来促进更少受约束的通信。例如,服务发现(至少用于一些服务)和/或命令和请求访问可以是更少受约束的。
物体702可以与诸如智能电话102之类的个人便携式计算设备交互,尽管也可以使用其它类型的个人便携式计算设备,包括但不限于,手持式远程控制、平板计算机和/或本文描述的任何其它类型的计算设备。在一些实施例中,物体702可以以未经初始化的状态开始,藉此从设备可获得有限的相关联服务(例如,初始化服务)。在某些实施例中,智能电话102可以包括促进物体702的初始化的邻近场通信接口(例如,NFC和/或BLE接口)。在物体702的初始化之后,智能电话102可以与将物体702引入到其它物体(例如,对等物体704)和/或服务结合地利用。
本地网关708可以提供个人IoT 700内的路由和协议转换服务,包括例如网络协议转换。本地网关708可以进一步提供LAN/WAN地址转换。在某些实施例中,可以经由个人IoT 700中的各种物体702、704的访问层而逻辑地链接和/或认证本地网关708。
云服务710可以包括可用于个人IoT 700的一个或多个受信服务,从而允许各种相关联的物体702、704通过个人便携式计算设备、其它物体和/或网关直接地或者间接地交互。这样的受信服务可以例如但非限制性地包括以下中的一些或全部:
- 设备阴影呈现——其中使物体的运转虚拟模型可用于个人IoT 700中的其它物体并且通过模型控制物体的服务。在某些实施例中,这样的服务还可以通过各种物体和/或个人便携式计算设备(诸如智能电话102)而直接地可用。
- 数据收集服务——促进来自各种物体的数据的收集的服务。
- 数据集成服务——其中来自许多物体的数据可以被聚集和/或可以从聚集数据进行推断的服务。
- 数据可视化服务——其中可以分析数据和/或可以进行来自这样的数据的推断以生成数据的图形表示的服务。
- 访问配置服务——用于针对个人IoT 700外部的实体和/或针对个人IoT 700中的其它物体而配置数据访问和/或服务的服务。例如,提供给某些公共公用事业的活动数据和/或提供给个人IoT 700外部的个人亲属的警报。
- 服务的复合——其中多个物体(例如,物体702、704)可以被分组在一起以形成具有互连控制的复合物体的复合服务。例如,花园湿气传感器可以被集成到洒水系统中,阁楼和/或天花板风扇可以与窗户控制集成以创建集成气流系统等等。
- TPSS性能辅助服务——除其它之外,提供TPSS性能辅助的服务可以提供访问控制图,其可以图示不同控制委派和复合动作的影响。例如,性能辅助服务可以向用户警报对儿童给予对复合物体的访问可能具有潜在地不安全的后果。
- 更新服务——用于更新物体的服务可以被以受信方式从云提供,其中通过由云确定的受信路径而提供实际更新。在某些实施例中,更新服务可以是TPSS敏感的,以缓解引入通过恶毒更新所提供的病毒和/或恶意软件的潜在可能。与本文公开的实施例一致,个人IoT 700可以使得能够实现数个安全更新进程,其可以针对各种风险水平而定制。可以使用如上文所述的TPSS性能辅助来推荐各种更新进程用于特定个人IoT 700配置。
- 备份和恢复服务——允许各种个人IoT 700配置的备份和/或恢复的服务。
访问系统机制
被包括在个人IoT内的物体中的访问层可以执行各种功能。在一些实施例中,访问层可以充当消息传递系统,来自外部实体的命令和/或请求消息可以藉其例如被解密(在其中使用加密的实施例中)和/或针对源真实性和/或准许被检查。在某些实施例中,可以通过将经登记的每一个实体与物体(例如,其它物体)配对来促进这样的功能性。在一些实施例中,该配对可以包括建立共享密钥并且用经配对的物体和/或实体确定适当的准许。配对可以被描述为安全关联,并且可以使用与本文公开的实施例一致的SAMP建立和/或维护。在某些实施例中,SAMP可以包括可以在受信信道之上和/或通过来自受信源的安全引入而建立配对的消息。
因为访问层可以检查远程命令、针对与物体相关联的数据所致动的控制和/或请求,所以TPSS实现的整体性可以至少部分地取决于消息协议正确性、访问系统如何紧密地结合到控制和/或数据、和/或总体用户交互模型如何良好地支持用户进行的安全且可靠的操作。在某些实施例中,个人IoT SAMP可以被设计成使得能够实现和/或暴露实体之中的明确关系,其可以控制和/或接收来自相关联的物体的数据。
密钥管理
加密密钥可以与所公开的系统和方法的实施例以各种方式结合地建立、管理和/或使用。互联网启用的设备通常需要由证书权威机构或相关联的通信所要求的凭证,并且可以使用通信协议,其涉及用于某些通信场景的复杂配置进程。与本文公开的某些实施例一致,与个人IoT结合地,这样的凭证和/或通信协议可以较少频率地使用(例如,如在与已经提供有这样的凭证和/或已经良好地提供和/或精细地部署和维护安全协议实现的实体的服务交互的情况下所可能的那样),如果真会发生的话。本文公开的实施例可以进一步流线传送和提供朝向实现TPSS连网设备的更为直观的方案,和/或可以减少由设备制造商提供和维护加密密钥和/或证书的负担。
在一些实施例中,各种物体可以通过形成安全关联而与彼此安全地通信。在一些实施例中,个人IoT中的每一个物体可以维护具有用于物体可以与其交互的每个其它物体的条目的访问表格,连同被包括在个人IoT中的其它条目一起(例如,其它设备、系统、云服务、网关等)。
图8图示了与本文公开的某些实施例一致的与物体相关联的示例性安全关联记录800。如所图示,安全关联记录800可以例如包括以下中的一些或全部:实体ID、识别信息、友好名称、实体类型、明确准许、公共密钥、物体群组和所有者令牌、和/或所发射和接收的消息序列的计数、和/或任何其它适当类型的信息。在下文描述可以被包括在安全关联记录800中的信息的类型的这些各种示例:
- 实体ID——被包括在安全关联记录800中的实体ID可以是在建立安全关联时由实体提供的第一公共密钥的散列。
- 身份信息——身份信息可以包括在引入相关联的实体的委派协议中提供的信息,诸如例如控制设备用户的年龄、关系(例如,家人、邻居、授权商业实体等)等等。在另外的实施例中,身份信息可以包括由物体的制造商和/或供应商提供的身份信息。
- 友好名称——可以由物体所有者(例如,使用云服务、应用等)给予实体的名称(例如,“Nancy的电话”、“办公室窗户”等等)。
- 实体类型——可以从可能不控制其它物体的更多被动物体(例如,窗户和/或门锁、灯等)区分主要控制器和/或与用户相关联的物体(例如,智能电话或类似设备)的属性。实体类型可以与物体、所有者、对等体、所委派的用户设备和/或控制器、云服务实体和/或任何其它实体类型相关联。在一些实施例中,实体类型可以确定与物体相关联的某些隐含准许。在某些实施例中,明确准许,包括例如由用户明确地互相连贯和/或以其它方式配置的准许,可以推翻某些隐含准许。示例性实体类型可以包括但不限于制造商、所有者、对等体、本地控制委派、云控制委派和/或云所有者代理。
- 公共密钥——与物体相关联的(多个)公共密钥可以用于形成对称加密密钥以认证和/或加密/解密消息。在某些实施例中,这些“公共密钥”在词语的正常含义下不意图为公共的,而是简单地包括非对称密码系统中的非私密密钥,其中存在私密密钥和非私密配对物(例如,公共密钥)。
- 物体群组令牌——可以指示物体和相关联的实体和/或物体作为其成员的不同群组中的成员资格的认证令牌的序列(例如,共享随机数)。物体群组令牌可以在某些配对和/或委派协议中使用,并且可以充当防欺骗变量(“ASV”)。
- 所有者群组令牌——所有者群组令牌可以用于将物体引入到由相同登记所有者所有的其它物体。
- 发射消息序列号计数——用于发射方向上的当前消息序列号的计数。
- 接收消息序列号计数——用于接收方向上的当前消息序列号的计数。
实体可以被提供有可以为公共加密系统的部分的一个或多个公共密钥/私用密钥对。例如,公共密钥可以通过针对p(大质数)和r(私用密钥,例如大随机数)的取幂X^r mod p而从质数字段导出。在其它实施例中,公共密钥可以从具有域参数的公共集合的椭圆形曲线导出。在其它实施例中,可以替换地或者附加地使用其它技术。
在某些示例实施例中,可以如在美国专利号5,450,493(“'493专利”,藉此将其内容通过引用并入)中描述的那样建立系统中的两个实体之间的共享加密密钥,藉此通过从与可以单独地建立和/或生成的另一向量的交换导出的向量的散列而建立针对Diffie-Hellman(“DH”)密钥交换所导出的密钥(其可以称为防欺骗变量(ASV))。在个人IoT的一些实施例中,ASV可以在某些情况下为空值(例如,当两个实体作为配对协议的部分而在诸如NFC之类的邻近场通信信道之上建立密钥时)。在其它情况下,ASV或认证令牌可以作为相互引入和/或委派协议的部分而提供。该方案可以减少针对诸如输运层安全(“TLS”)之类的更加复杂的多消息协议的需要,所述协议可能利用证书、证书权威机构、撤消和刷新服务等等。所述方案可以进一步简化制造期间的物体的提供,因为密钥和证书可能不需要在出厂时提供。在一些实施例中,代替于使用证书来认证安全关联,可以使用受信web服务和/或点对点委派协议,其中通过已经被信任的实体而向物体引入新的对等体和/或控制器。
在一些示例实施例中,共享密钥可以从DH密钥对导出,如例如在'493专利中解释的那样,作为散列H((x^r1)^r2)mod p,ASV),其中x^r1是来自外部实体的公共密钥,r2是物体的DH私用密钥,并且ASV是单独接收的令牌。在一些实施例中,ASV可以作为SAMP委派协议的部分而接收。其它实施例可以利用椭圆形曲线加密术。在一些实施例中,H()可以包括美国国家标准协会和技术安全散列算法(“SHA”)。
在一些实施例中,发射和接收消息序列计数可以初始地被设定为零并且可以在每一次由相关联的物体发送和/或接收消息时加一。在一些实施例中,这些计数可以用于击败重放攻击,其中从一个实体到另一个的消息可以通过重放之前发射的合法消息而被欺骗。在一些实施例中,可以使用加密钥散列消息认证代码(“HMAC”)来认证IoT实体之间的消息,所述加密钥散列消息认证代码(“HMAC”)可以使用当前共享加密密钥和/或消息的序列号。
在某些实施例中,与用户(例如,物体所有者)相关联的所有物体和/或其它实体的安全关联表格可以用于说明与用户的个人IoT相关联的EPN。例如,可以通过被连接到个人IoT的云服务来维护这样的说明,如以上所述。
消息
如上文所述,简单配对协议可以允许两个物体形成安全关联。例如,用户可以获取家用电器并且想要使用他或她的智能电话控制它。智能电话可以具有个人IoT管理应用,并且智能电话和电器二者可以能够使用公共邻近场通信接口(诸如例如NFC)而通信。使用该能力,智能电话可以设立NFC通信信道,并且两个设备可以交换包含公共密钥的SAMP消息并且形成共享密钥。电器可以不具有所有者,并且因而,智能电话可以取得电器的所有者资格并且提供与智能电话的所有者相关联的群组密钥和建立电器作为一个或多个群组的成员的一个或多个群组密钥。
信任可以初始地基于智能电话向电器的接近以及电器没有之前的所有者而建立。可以建立其它协议,其可以允许物体的去所有者资格,如在例如二手市场的情况中可能有用的那样,和/或允许零售商具有所有者资格直到他们在销售点处去所有者资格。一旦建立所有者资格并且将群组密钥提供给物体,物体就可以直接地或者间接地使用与所有者相关联的其它控制设备(例如,使用智能电话和/或一个或多个基于云的控制器或服务)而与群组中的其它物体建立安全关联。
当个人IoT中的两个或更多物体已经配对到相同所有者(例如,使用邻近有限协议的公共智能电话等等)时,两个物体可以通过使用群组令牌(例如,用于ASV的群组令牌)而使用可能不必要求邻近的SAMP消息而直接地配对到彼此。例如,当将新的物体带入家中时,一旦以所有者或物体群组识别它,它就可以使用自动发现协议而自动地与家里的其它物体配对。在某些实施例中,可以利用附加认证协议以防止实体恶意地声称物体和/或与他们没有权力声称和/或配对的物体进行配对。
在一些实施例中,个人IoT内的安全关联可以被备份到基于云的服务。在某些实施例中,执行备份的服务可以是安全关联的个人EPN的部分。除其它功能之外,可以授权服务来备份、重新初始化和/或修复与个人IoT相关联的物体和/或其它设备和/或系统的安全关联。
委派协议
物体的所有者可能出于各种目的而想要委派从物体接收数据的能力和/或控制。例如,物体的所有者可能想要:
- 将对物体的能力的访问提供给家里的其它成员。
- 使用其它设备(例如,从平板计算机和/或新的智能电话)控制物体。
- 允许物体以某种受约束的方式与云服务交互。例如,这可以使得云服务能够配置和部署物体之中的信任关系使得它们可以是复合物体的部分,在该情况下,云服务可以使得能够实现对等关系和/或群组并且实施SAMP。
在某些实施例中,所有者可以具有对相关联的物体的明显控制。使用安全关联,所有者可以向它们从可以建立与物体的连接性的互联网上的任何其它地方“所有”的设备安全地发送经认证的SAMP消息,并且它们可以设定策略,其除其它之外还可以要求用于与物体的各种交互的辅助条件,诸如邻近或局域性,甚至是出于安全起见而约束其自身的准许。SAMP消息可以包括特殊命令,其可以修改物体的安全关联列表和/或表格中的各种参数。在一些实施例中,具有仅包含制造商条目的安全关联列表和/或表格的物体可以被视为新的物体,其可以由最初与物体配对的任何人所有。诸如例如零售商和/或分发链中的其它者之类的实体可以通过建立临时所有者资格而锁定物体,其可以在销售点和/或装运中心处使用例如解配对协议而快速地取消。
解配对协议
解配对协议可以包括一个或多个简单的经认证的SAMP消息,其可以允许从设备移除安全关联并且允许对物体去所有者资格,由此允许其它所有者获得对物体的控制。在一些实施例中,解配对和/或去所有者资格可能要求涉及所有者的安全关联。其它实施例可以允许安全关联删除,其不要求所有者安全关联的涉及。
个人IoT命令
个人IoT命令和/或请求可以包括一个或多个结构化消息。在某些实施例中,这样的消息可以例如包括但不限于以下中的一些或全部:
- 目的地实体识别。
- 命令类型。
- 命令主体。
- 消息序列号。
- HMAC(例如,加密钥的HMAC,其中所使用的密钥可以在源和目的地设备二者的安全关联列表中找到)。
对个人IoT命令和/或请求的响应可以包括结构化确认消息,其可以例如包括但不限于以下中的一些或全部:
- 目的地实体识别。
- 确认指示。
- 激发确认消息的消息的消息序列号。
- 确认消息的消息序列号。
- HMAC。
用于数据请求的响应(例如,以轮询传感器数据等)可以进一步包括数据承载字段。在某些实施例中,可以用安全关联共享密钥来加密该字段。个人IoT协议可以使用相对简单的命令-响应对。配对协议可以涉及使用在配对协议中形成的安全关联对未经认证的消息和/或双向认证的确认消息的交换。
数据流协议
与本文公开的实施例一致的个人IoT协议可以促进物体的直接参与,其可以包括用户想要使用以安全地向云服务递送数据的传感器。在该情况下,物体可以具有出厂安装的密钥,其可以允许在源处加密数据并且然后通过各种措施(例如,网关、存储器卡传输等)发射给云服务。在这样的实例中,物体可以使用制造商生成的安全关联。从物体生成的数据可以流动到网站并且然后重新定向。当用户购买这样的物体时,它们可以登记物体,设定与制造商的安全关联,并且然后指定数据要被重新定向到的服务点。
在以上示例的实施例中,可以使用相对简单的安全协议实现,其利用制造商提供的安全关联,从而仅要求使用静态密钥加密的能力,并且然后允许数据在物体的所登记所有者的指导之下使用具有云驻留实体的云服务进行流动,所述云驻留实体可以安全地使用个人IoT安全关联进行通信。
公用事业数据流
本文公开的个人IoT的某些实施例可以提供用于使物体所生成的某些数据在产生数据的物体的所有者的指导之下流动到公共公用事业的手段。在一些实施例中,这可以通过允许将用于这样的公用事业的服务中心明确地命名到在相关联的物体的所有者的吩咐下所建立的个人IoT群组中而实现。
云服务和性能辅助
在某些实施例中,云服务可以充当用于所有者的代理,并且可以例如建立用于设备所有者的安全关联,设立准许,确保准许恰当地匹配以委派特性,和/或提供与个人IoT相关联的逻辑EPN的可视化(例如,示出委派路径和/或所暗含的准许的图)。
中的实体
如之前所说明,个人IoT EPN可以包括各种物体,诸如在图1和5中图示的那些,并且还可以包括其它实体,诸如个人便携式设备(例如,移动电话、平板和膝上型电脑)以及网络网关设备和web或云服务。这些实体可以实质上包括任何web连接设备或服务,其具有至少维护安全关联的原始列表的能力,并且提供用于数据或控制的服务,其具有控制对那些服务的访问的访问层。实体的这种众多性和异质性为个人IoT及其EPN特征提供优点,因为其允许更有能力的设备和服务提供辅助和/或变为用于较没有能力的设备的代理而同时仍旧保持TPSS性质。物体的简单配置(诸如家用灯开关和负载、水和HVAC传感器等)可以参与在个人IoT中并且共享TPSS特征而不必实现重度职责安全协议或者实现互联网连接性或公共联网能力。它们可以基于家里、机动车或个人IoT的其它管辖地中的不同信号能力而进行通信,例如通过使用低电力无线电通信、电力线之上的信号调制等。此外,它们不需要实现用于SAMP的消息传递能力中的所有;然而,在优选实施例中,它们能够提供实体识别,检查命令的源和整体性,并且使用与本文描述的那些可兼容的方法保护它们收集的数据。依照本文公开的某些实施例的个人IoT包括被设计成允许和支持简单设备的包括的特征,而同时采取步骤以确保弱链接不能被用于攻击系统的更有价值部分的目的。
群组令牌的功能
在某些实施例中,设备群组令牌用于帮助支持简单设备的包括并且帮助简化管理。用户群组令牌使得易于支持多个用户和管理员,以及使得能够使用较智能的电器和服务以协调和控制其它设备,并且提供代理服务和更好且更有用的接口,其可以独立于它们可以表示的物体而更新。
作为一个例证性示例,考虑其中人员将包括自然地适配的用户控制的电器带入家里作为设备群组的部分,并且人员想要使家里的其它者可访问电器的情况。本文描述的个人IoT和EPN系统和方法的某些实施例可以用于使这不仅简单而且安全。例如,电器的包装可以解释到,它具有个人IoT能力和准许个人IoT智能电话应用的中间获取的QR代码,如果人员尚未具有一个的话。使用个人IoT应用,人员在电器上的指定地点上点击他或她的电话(例如,激活近场通信协议),并且电器的发现层使数个服务可用。首先是信息服务提供用于电器的制造商的信息(包括要被包括在SA中的信息)。个人IoT应用使用该信息与用于制造商的web服务连接,并且如果人员之前没有向该制造商登记,则其建立便携式设备与制造商的服务之间的SA。在该示例中,标准web协议(包括例如HTTP-S)可以帮助建立信任,但是建立可以准许更加个性化的服务的SA。特别地,在一些实施例中,人员的智能电话接收脚本并且使电器的设置(包括与设备一起的SA)非常简单和方便,其中在用户的部分上具有最小影响。特别地,在一个实施例中,SA设立在电器和智能电话之间。这在发现协议与电器的个人IoT访问层交互时完成并且使所有者SAMP服务可用,因为访问层的SA表格不具有所有者SA。在一个实施例中,运行个人IoT应用的人员的电话实施SAMP进程,发现层仅通过邻近有限的通信接口(例如,在该示例中,NFC)而使其可用。在该情况下,进程通过从制造商的网站所接收的脚本来驱动。在执行脚本时,要指出,该电器自然地想要与其它电器共享信息并且因此属于设备群组中,并且电器具有若干控制和传感器,其具有准许。所述控制中的一些具有安全暗含,并且因此推荐的是设立两个用户群组。一个用于成年人并且另一个用于儿童。脚本驱动SAMP协议,并且适当的群组令牌被生成并被包括在SA中,并且人员被建立为电器的所有者并且电器被包括为他或她的个人IoT的部分。
在该示例中,在所有者SAMP进程完成之后,电器的发现层现在将允许准许发出命令并且收集数据的服务,但是访问层仅准许所有者发出命令并且收集数据。然而,电器中的发现层现在改变行为并且允许其它物体通过所有通信接口而不仅仅是邻近有限的接口来发现它。特别地,发现可以使服务可用,从而允许其它设备与其配对。然而,访问层将仅准许与处于电器的设备群组中的设备设立SA,并且与由所有者(或者随后具有恰当准许的所有者的委派)指定的用户群组之一中的人所有的控制设备(诸如PPD)设立SA。另外,在该示例实施例中,命令和请求将仅由电器从这些群组的成员来接受。个人IoT方法允许这些设备和用户群组关系的分布式、点对点建立。新电器的所有者在与电器设立SA之后可以现在将另外的设备带入家里并且为它们提供将允许它们使用安全发现协议自配置的设备群组成员资格。而且,所有者现在可以通过使用允许其PDD以受约束的准许加入家庭用户群组的SAMP委派协议而将受限于安全命令的电器控制能力给予他或她的儿童。当儿童尝试使用电器时,电器中的发现层可以感测约束并且仅使某些服务可用,并且儿童的设备将能够与电器配对,从而形成利用受约束的用户群组令牌认证为ASV的SA。以此方式,个人IoT允许物体所有者将其它者引入到新的物体。其允许自动发现和配对协议的进行,设备可以藉此向彼此说“我是Smith家庭电器群组的成员”或者“我是Brown家庭儿童之一”。在优选实施例中,这些陈述在配对期间以及在命令整体性验证期间的认证极度稳健又非常简单。使用性能辅助建立强TPSS能力,其可以运用现代智能电话和web服务的所有能力,并且协议的SA和性能的管理针对用户而简化和自动化。
在以上描述的示例中,人员的智能电话和制造商之间的SA(不同于SA和新的电器)可以用于使制造商从设备接收某些数据。但是这默认地是在用户(新电器所有者)的控制之下。可以使这一点对于电器的用户而言更安全且更方便的个人IoT的一个其它能力是用于使该人员建立与消费者服务的关系,所述消费者服务可以提供来自许多制造商的服务,但是其对于消费者而言更具响应性,尤其是关于共享来自各种物体的传感器信息,包括具有收集消费者想要保持私用的信息的传感器的家用电器。该消费者服务可以例如适当地过滤信息,并且例如与制造商共享产品可靠性信息,与本地公用事业提供商共享公用事业使用信息(比方说,可能有资格打折扣的更为精细粒化的电气使用),并且其可以装配和分析来自许多设备的传感器数据,为想要确保年老父母的安全和健康的指定家庭成员提供警报等等。该消费者服务可以帮助人们理解谁能够访问什么控制和数据,并且其可以使该信息明确地可用于非常特定的人。
图9图示了与本公开内容的某些实施例一致的管理连网设备的示例性方法900的流程图,诸如上面描述的示例。所图示的方法900可以以各种方式实现,包括使用软件、固件、硬件和/或其任何其它组合。在某些实施例中,方法900和/或其组成步骤中的任何可以通过连网系统、设备和/或物体、和/或一个或多个任何其它适当的系统来执行。
在902处,可以接收请求以更新与连网设备相关联的安全关联记录。在某些实施例中,请求可以从与实体(例如,用户、用户群组、组织等)相关联的另一设备来接收,诸如例如智能电话。在一些实施例中,请求可以经由邻近场通信信道来接收,诸如例如NFC和/或BLE通信信道。
可以在904处基于安全关联记录的内容就连网设备是否与实体和/或所有者相关联而执行确定。如果连网设备不与实体和/或所有者相关联(例如,如在之前尚未由所有者声称的新设备的情况下可能的那样),方法900可以进行到906。否则,方法900可以终止。
在906处,第一群组令牌可以由连网设备从其它设备(例如,智能电话)来接收。在某些实施例中,第一群组令牌可以与实体相关联。安全关联记录可以在908处更新以指示连网设备现在与实体相关联。在某些实施例中,第一群组令牌可以作为安全关联记录的部分而存储。
在910处,可以从对等连网设备接收消息。在一些实施例中,消息可以包括第二群组令牌。可以在912处执行确定以确定第一群组令牌和第二群组令牌是否匹配(例如,两个群组令牌是否与相同实体相关联)。如果令牌匹配,则方法900可以进行到914,其中可以更新安全管理记录以指示对等连网设备也与第一实体相关联。否则,方法900可以进行到终止。
图10图示了可以用于实现本文公开的系统和方法的实施例的示例性系统1000。示例性系统1000可以包括与用户和/或个人IoT和/或EPN相关联的系统、设备和/或物体,服务提供商系统(例如,云服务提供商系统)和/或被配置成实现本文公开的系统和方法的实施例的任何其它系统。如在图10中所示,系统1000可以包括:处理单元1002;系统存储器1004,其可以包括高速随机存取存储器(“RAM”)、非易失性存储器(“ROM”)和/或一个或多个大块非易失性非暂时性计算机可读存储介质(例如,硬盘、闪存等)以用于存储用来由处理单元1002使用和执行的程序和其它数据;用于与可移除存储器1008对接的端口1006,可移除存储器1008可以包括一个或多个磁盘、光学存储介质(例如,闪存、拇指驱动器、USB狗、致密盘、DVD等)和/或其它非暂时性计算机可读存储介质;用于经由一个或多个网络连接1030而使用一个或多个通信技术与其它系统通信的网络接口1010;可以包括显示器和/或一个或多个输入/输出设备的用户接口1016,所述输入/输出设备诸如例如触摸屏、键盘、鼠标、跟踪板等;以及用于通信地耦合系统1000的元件的一个或多个总线1032。在某些实施例中,系统1000可以包括被配置成收集各种设备数据的一个或多个传感器(未示出)和/或与其相关联,包括本文公开的任何类型的传感器。
在一些实施例中,系统1000可以替换地或者附加地包括SPU 1014,通过利用安全物理和/或虚拟安全技术来保护SPU 1014以防止通过系统1000的用户或其它实体的篡改。SPU 1014可以帮助增强敏感操作的安全性,诸如个人信息管理、受信凭证和/或密钥管理、隐私和策略管理以及本文公开的系统和方法的其它方面。在某些实施例中,SPU 1014可以在逻辑上安全的处理域中操作并且被配置成保护私密信息并对私密信息进行操作,如本文所述。在一些实施例中,SPU 1014可以包括内部存储器,其存储被配置成使得SPU 1014能够执行安全操作的可执行指令或程序,如本文所述。
系统1000的操作可以一般地由处理单元1002和/或SPU 1014通过执行存储在系统存储器1004(和/或其它计算机可读介质,诸如可移除存储器1008)中的软件指令和程序进行操作来控制。系统存储器1004可以存储各种可执行程序或模块以用于控制系统1000的操作。例如,系统存储器1004可以包括:操作系统(“OS”)1018,其可以至少部分地管理和协调系统硬件资源并且提供公共服务以用于执行各种应用;以及信任和隐私管理系统1020以用于实现信任和隐私管理功能性,包括通过相关联的策略的管理和/或推行而保护和/或管理个人数据。系统存储器1004可以进一步包括但不限于被配置成使得能够部分地与系统1000通信并且通过系统1000进行通信的通信软件1022、应用1024(例如,与个人数据1028结合地利用的所安装的应用)、被配置成使得用户能够选择和/或安装它们想要与其个人数据1028结合地利用的应用的应用仓库接口1026、与用户相关联的个人数据1028、和/或被配置成实现本文公开的系统和方法的实施例的任何其它信息和/或应用。
本文公开的系统和方法固有地不涉及任何特定计算机、电子控制单元或其它装置,并且可以通过硬件、软件和/或固件的适当组合来实现。软件实现可以包括包含可执行代码/指令的一个或多个计算机程序,所述可执行代码/指令在由处理器执行时可以使处理器实施至少部分地由可执行指令限定的方法。计算机程序可以以任何形式的编程语言来编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立式程序或者作为模块、组件、子例程、或者适用于在计算环境中使用的其它单元。另外,计算机程序可以被部署成在一个计算机上或者在一个场所处或跨多个场所分布且通过通信网络互连的多个计算机上执行。软件实施例可以被实现为计算机程序产品,其包括被配置成存储计算机程序和指令的非暂时性存储介质,所述计算机程序和指令在由处理器执行时被配置成使处理器实施根据指令的方法。在某些实施例中,非暂时性存储介质可以采取能够在非暂时性存储介质上存储处理器可读指令的任何形式。非暂时性存储介质可以例如由致密盘、数字视频盘、磁带、磁盘、闪存、集成电路、或者任何其它非暂时性数字处理装置或存储设备来体现。
尽管已经出于清楚性目的以某种细节而描述了前述内容,但是将显而易见的是,可以做出某些改变和修改而不脱离其原理。应当指出的是,存在实现本文描述的系统和方法二者的许多替换方式。相应地,本实施例要被视为例证性而非约束性的,并且本发明不应被限于本文中给出的细节,而是可以在随附权利要求的范围和等同方案内修改。