CN105915486B - 使用公共密钥基础设施用于自动设备配置 - Google Patents

使用公共密钥基础设施用于自动设备配置 Download PDF

Info

Publication number
CN105915486B
CN105915486B CN201510629312.3A CN201510629312A CN105915486B CN 105915486 B CN105915486 B CN 105915486B CN 201510629312 A CN201510629312 A CN 201510629312A CN 105915486 B CN105915486 B CN 105915486B
Authority
CN
China
Prior art keywords
equipment
certificate
customer
configuration
client
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.)
Active
Application number
CN201510629312.3A
Other languages
English (en)
Other versions
CN105915486A (zh
Inventor
K·A·沃森
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.)
Peribit Networks Inc
Original Assignee
Peribit Networks Inc
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 Peribit Networks Inc filed Critical Peribit Networks Inc
Publication of CN105915486A publication Critical patent/CN105915486A/zh
Application granted granted Critical
Publication of CN105915486B publication Critical patent/CN105915486B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明的各实施方式总体上涉及使用公共密钥基础设施用于自动设备配置。具体地,设备可以接收用于自动配置设备的数字凭证、客户证书和配置信息。数字凭证可以包括标识与设备相关联的客户的第一客户标识符以及标识设备的设备标识符。客户证书可以包括标识客户的第二客户标识符和与客户相关联的客户公共密钥。配置信息可以包括标识用于自动配置设备的配置的信息。设备可以验证数字凭证、客户证书或配置信息中的至少一个。基于验证数字凭证、客户证书或配置信息中的至少一个,设备可以使用配置对设备进行配置。

Description

使用公共密钥基础设施用于自动设备配置
技术领域
本发明的各实施方式总体上涉及计算机领域,具体地涉及使用公共密钥基础设施用于自动设备配置。
背景技术
公共密钥基础设施(PKI)是创建、管理、分布、使用、储存和撤销数字证书所需要的硬件、软件、人、策略和过程的集。在密码学中,PKI是借助于证书机构(CA)将公共密钥与相应用户身份绑定的布置。用户身份必须在每个CA域内唯一。第三方验证机构(VA)可以代表CA提供这一信息。绑定通过根据绑定的保证等级可以由CA处的软件或者在人的监督下执行的登记和发行处理来建立。保证这一绑定的PKI的角色被称为登记机构(RA),其确保公共密钥被绑定到向其分派公共密钥的个体。PKI使得用户能够安全地在不安全的公共网络上进行通信,并且经由数字签名可靠地证实用户的身份。
发明内容
根据一些可能的实施方式,设备可以发起自动设备配置处理以自动地配置设备。基于发起自动设备配置处理,设备可以接收数字凭证、客户证书和配置信息。数字凭证可以包括标识与设备相关联的客户的第一客户标识符以及标识设备的设备标识符。客户证书可以包括标识客户的第二客户标识符以及与客户相关联的第一公共密钥。配置信息可以包括标识用于自动地配置设备的配置的信息。设备可以验证数字凭证、客户证书或者配置信息中的至少一个。基于验证数字凭证、客户证书或者配置信息中的至少一个,设备可以使用配置来配置设备。
根据一些可能的实施方式,计算机可读介质可以存储指令,当由处理器执行时,指令使得处理器接收用于自动地配置设备的数字凭证、客户证书和配置信息。数字凭证可以包括标识与设备相关联的客户的第一客户标识符以及标识设备的设备标识符。客户证书可以包括标识客户的第二客户标识符以及与客户相关联的第一公共密钥。配置信息可以包括标识用于自动地配置设备的配置的信息。指令可以使得处理器验证数字凭证、客户证书或者配置信息中的至少一个。指令可以使得设备基于验证数字凭证、客户证书或者配置信息中的至少一个,使用配置来配置设备。
根据一些可能的实施方式,方法可以包括由设备发起自动设备配置处理以自动地配置设备。方法可以包括由设备并且基于发起自动设备配置处理,接收数字凭证、客户证书和配置信息。数字凭证可以包括标识与设备相关联的客户的第一客户标识符以及标识设备的设备标识符。客户证书可以包括标识客户的第二客户标识符以及与客户相关联的第一公共密钥。配置信息可以包括标识用于自动地配置设备的配置的信息。方法可以包括由设备执行使用数字凭证、客户证书或者配置信息中的至少一个的验证操作。方法可以包括由设备并且基于执行验证操作,使用配置来配置设备。
根据一些可能的实施方式,一种设备,可以包括:一个或多个处理器,用于:发起自动设备配置处理以自动地配置设备;基于发起自动设备配置处理,接收数字凭证、客户证书和配置信息,数字凭证包括标识与设备相关联的客户的第一客户标识符以及标识设备的设备标识符,客户证书包括标识客户的第二客户标识符以及与客户相关联的客户公共密钥,配置信息包括标识用于自动地配置设备的配置的信息;验证数字凭证、客户证书或者配置信息中的至少一个;以及基于验证数字凭证、客户证书或者配置信息中的至少一个,使用配置来配置设备。
在一个示例性实施方式中,其中当验证数字凭证、客户证书或者配置信息中的至少一个时,一个或多个处理器可以进一步用于:使用与客户公共密钥不同的提供商公共密钥来验证与数字凭证相关联的数字签名;证实包括在数字凭证中的设备标识符与由设备存储的存储设备标识符匹配;以及其中当配置设备时,一个或多个处理器可以进一步用于:基于验证数字签名和证实设备标识符与存储设备标识符匹配,来配置设备。
在一个示例性实施方式中,其中当验证数字凭证、客户证书或者配置信息中的至少一个时,一个或多个处理器可以进一步用于:使用与客户公共密钥不同的提供商公共密钥来验证与客户证书相关联的数字签名;证实包括在客户证书中的第二客户标识符与包括在数字凭证中的第一客户标识符匹配;以及其中当配置设备时,一个或多个处理器可以进一步用于:基于验证数字签名和证实第二客户标识符与第一客户标识符匹配,来配置设备。
在一个示例性实施方式中,其中当验证数字凭证、客户证书或者配置信息中的至少一个时,一个或多个处理器可以进一步用于:使用包括在客户证书中的客户公共密钥来验证与配置信息相关联的数字签名;以及其中当配置设备时,一个或多个处理器可以进一步用于:基于验证与配置信息相关联的数字签名,来配置设备。
在一个示例性实施方式中,其中当发起自动设备配置处理时,一个或多个处理器可以进一步用于:确定设备被配置有工厂配置;以及基于确定设备被配置有工厂配置,发起自动设备配置处理。
在一个示例性实施方式中,其中使用与包括在客户证书中的客户公共密钥对应的客户私人密钥,对配置信息进行数字签名。
在一个示例性实施方式中,其中使用与提供商公共密钥对应的提供商私人密钥,对数字凭证进行数字签名,提供商公共密钥不同于包括在客户证书中的客户公共密钥;以及其中使用提供商私人密钥对客户证书进行数字签名。
根据一些可能的实施方式,一种存储指令的计算机可读介质,指令可以包括:一个或多个指令,当由设备的一个或多个处理器执行时,使得一个或多个处理器:接收用于自动地配置设备的数字凭证、客户证书和配置信息,数字凭证包括标识与设备相关联的客户的第一客户标识符以及标识设备的设备标识符,客户证书包括标识客户的第二客户标识符以及与客户相关联的客户公共密钥,配置信息包括标识用于自动地配置设备的配置的信息;验证数字凭证、客户证书或者配置信息中的至少一个;以及基于验证数字凭证、客户证书或者配置信息中的至少一个,使用配置来配置设备。
在一个示例性实施方式中,其中使得一个或多个处理器验证数字凭证、客户证书或者配置信息中的至少一个的一个或多个指令可以进一步使得一个或多个处理器:证实包括在数字凭证中的设备标识符与由设备存储的存储设备标识符匹配;证实包括在客户证书中的第二客户标识符与包括在数字凭证中的第一客户标识符匹配;使用包括在客户证书中的客户公共密钥来验证与配置信息相关联的数字签名;以及其中使得一个或多个处理器配置设备的一个或多个指令可以进一步使得一个或多个处理器:基于以下项,来配置设备:证实设备标识符与存储设备标识符匹配,证实第二客户标识符与第一客户标识符匹配,以及验证与配置信息相关联的数字签名。
在一个示例性实施方式中,其中使得一个或多个处理器验证数字凭证、客户证书或者配置信息中的至少一个的一个或多个指令可以进一步使得一个或多个处理器:使用与客户公共密钥不同的提供商公共密钥来验证与数字凭证相关联的数字签名;证实包括在数字凭证中的设备标识符与由设备存储的存储设备标识符匹配;以及其中使得一个或多个处理器配置设备的一个或多个指令进一步使得一个或多个处理器:基于验证数字签名和证实设备标识符与存储设备标识符匹配,来配置设备。
在一个示例性实施方式中,其中使得一个或多个处理器验证数字凭证、客户证书或者配置信息中的至少一个的一个或多个指令可以进一步使得一个或多个处理器:使用与客户公共密钥不同的提供商公共密钥来验证与客户证书相关联的数字签名;证实包括在客户证书中的第二客户标识符与包括在数字凭证中的第一客户标识符匹配;以及其中使得一个或多个处理器配置设备的一个或多个指令可以进一步使得一个或多个处理器:基于验证数字签名和证实第二客户标识符与第一客户标识符匹配,来配置设备。
在一个示例性实施方式中,其中使得一个或多个处理器验证数字凭证、客户证书或者配置信息中的至少一个的一个或多个指令可以进一步使得一个或多个处理器:使用包括在客户证书中的客户公共密钥来验证与配置信息相关联的数字签名;以及其中使得一个或多个处理器配置设备的一个或多个指令可以进一步使得一个或多个处理器:基于验证与配置信息相关联的数字签名,来配置设备。
在一个示例性实施方式中,其中使得一个或多个处理器配置设备的一个或多个指令可以进一步使得一个或多个处理器:将配置信息中标识的配置加载到设备。
根据一些可能的实施方式,一种方法,可以包括:由设备发起自动设备配置处理以自动地配置设备;由设备并且基于发起自动设备配置处理,来接收数字凭证、客户证书和配置信息,数字凭证包括标识与设备相关联的客户的第一客户标识符以及标识设备的设备标识符,客户证书包括标识客户的第二客户标识符以及与客户相关联的第一公共密钥,配置信息包括标识用于自动地配置设备的配置的信息;由设备执行使用数字凭证、客户证书或者配置信息中的至少一个的验证操作;以及由设备并且基于执行验证操作,使用配置来配置设备。
在一个示例性实施方式中,其中执行验证操作可以包括:证实包括在数字凭证中的设备标识符与由设备存储的存储设备标识符匹配;证实包括在客户证书中的第二客户标识符与包括在数字凭证中的第一客户标识符匹配;使用包括在客户证书中的客户公共密钥来验证与配置信息相关联的数字签名;以及其中配置设备可以包括:基于以下项中的至少一项,来配置设备:证实设备标识符与存储设备标识符匹配,证实第二客户标识符与第一客户标识符匹配,或者验证与配置信息相关联的数字签名。
在一个示例性实施方式中,其中执行验证操作可以包括:使用与客户公共密钥不同的提供商公共密钥来验证与数字凭证相关联的数字签名;证实包括在数字凭证中的设备标识符与由设备存储的存储设备标识符匹配;以及其中配置设备可以包括:基于验证数字签名和证实设备标识符与存储设备标识符匹配,来配置设备。
在一个示例性实施方式中,其中执行验证操作可以包括:使用与客户公共密钥不同的提供商公共密钥来验证与客户证书相关联的数字签名;证实包括在客户证书中的第二客户标识符与包括在数字凭证中的第一客户标识符匹配;以及其中配置设备可以包括:基于验证数字签名和证实第二客户标识符与第一客户标识符匹配,来配置设备。
在一个示例性实施方式中,其中执行验证操作可以包括:使用包括在客户证书中的客户公共密钥来验证与配置信息相关联的数字签名;以及其中配置设备可以包括:基于验证与配置信息相关联的数字签名,来配置设备。
在一个示例性实施方式中,进一步可以包括:标识存储数字凭证、客户证书和配置信息的一个或多个设备;从一个或多个设备请求数字凭证、客户证书和配置信息;以及其中接收数字凭证、客户证书和配置信息可以包括:从一个或多个设备接收数字凭证、客户证书和配置信息。
在一个示例性实施方式中,可以进一步包括:检测设备被配置有工厂配置;以及其中发起自动设备配置处理可以进一步包括:基于检测到设备被配置有工厂配置,发起自动设备配置处理。
附图说明
图1是本文中描述的示例实施方式的概述图;
图2是其中可以实现本文中描述的系统和/或方法的示例环境的图;
图3是图2的一个或多个设备的示例部件的图;
图4是用于生成在自动设备配置处理期间要用于验证的数字凭证的示例处理的流程图;
图5A和图5B是与图4所示示例处理有关的示例实施方式的图;
图6是用于执行自动设备配置处理以配置设备的示例处理的流程图;以及
图7A至图7F是与图6所示示例处理有关的示例实施方式的图。
具体实施方式
示例实施方式的以下详细描述参照附图。不同附图中的相同附图标记可以标识相同或相似的元件。
提供网络设备的提供商的客户可能难以配置网络设备(例如,以通过网络通信,以与客户的其它设备交互操作,以实施或遵从安全要求等)。因而,客户可能想要配置简单的网络设备。本文中描述的实施方式经由自动设备配置处理(例如“零触摸”配置处理)来提供这样的简单性,由此可以通过将网络设备连接到网络来简单地自动配置网络设备。此外,本文中描述的实施方式以安全方式提供这样的自动配置,以阻止网络设备恶意或不正确地配置。
图1是本文中描述的示例实施方式100的概述的图。如图1所示,自动配置设备(例如网络设备)可以在启动时发起自动设备配置处理,使得可以利用适当客户配置来自动地配置自动配置设备。例如,客户可以将自动配置设备连接到电源和网络,并且自动配置设备可以检测自动配置设备当前被配置有默认配置(例如工厂设置)。基于检测到默认配置,自动配置设备可以发起自动设备配置处理。
如图1中进一步示出的,自动配置设备可以使用数字凭证、客户证书和客户配置信息来执行自动设备配置处理,这在本文中其它地方更详细地进行描述。数字凭证、客户证书和客户配置信息用于增加自动设备配置处理的安全性。
如示出的,自动配置设备可以验证数字凭证,诸如通过使用提供商公共密钥(例如,从诸如服务器之类的提供商设备接收的)来证实生成附于数字凭证的提供商签名的提供商设备,并且通过证实包括在数字凭证中的设备标识符与自动配置设备的设备标识符匹配。如进一步示出的,自动配置设备可以验证客户证书,诸如通过使用提供商公共密钥来证实生成附于客户证书的提供商签名的提供商设备,并且通过证实包括在客户证书中的客户标识符与包括在数字凭证中的客户标识符匹配。最后,自动配置设备可以验证客户配置信息,诸如通过使用包括在客户证书中的客户公共密钥来证实生成附于客户配置信息的客户签名的客户设备。在数字凭证、客户证书和客户配置信息的成功验证之后,自动配置设备可以使用包括在客户配置信息中的配置来自动地配置自动配置设备。
以此方式,自动配置设备可以利用客户配置信息来自动地配置它自己,由此简化客户的配置处理。此外,通过执行本文中描述的验证,自动配置设备可以确保客户配置信息有效和正确,由此提供自动设备配置处理的安全性。
图2是其中可以实现本文中描述的系统和/或方法的示例环境200的图。如图2所示,环境200可以包括自动配置设备210、配置存储设备220、网络管理系统230、客户设备240、客户网络250、提供商设备260、动态网络分派服务器270和网络280。环境200的设备可以经由有线连接、无线连接、或者有线和无线连接的组合而互连。
自动配置设备210可以包括由设备提供商向设备提供商的客户提供的一个或多个可配置网络设备。自动配置设备210可以包括能够连接到网络并且标识用于自配置(例如自动配置)的配置信息的任何设备。例如,自动配置设备210可以包括路由器、交换机、集线器、防火墙、网关、网桥、服务器、移动电话、台式计算机、膝上型计算机、或者相似类型的设备。自动配置设备210可以与环境200的一个或多个设备交互以执行自动设备配置处理,如本文中其它地方更详细描述的。
配置存储设备220可以包括能够接收、生成、存储、处理和/或提供配置信息(例如客户配置信息)的一个或多个设备。例如,配置存储设备220可以包括服务器(例如配置服务器)或者相似类型的设备。在一些实施方式中,客户可以向配置存储设备220输入配置信息(例如经由客户设备240),并且自动配置设备210可以访问配置信息以用于执行自动设备配置处理。附加地或备选地,客户可以向配置存储设备220提供(例如经由客户设备240)数字凭证和/或客户证书,并且自动配置设备210可以访问数字凭证和/或客户证书以用于协助安全地执行自动设备配置处理。
网络管理系统230可以包括协助自动配置设备210执行自动设备配置处理的一个或多个设备。例如,网络管理系统230可以包括一个或多个服务器(例如(多个)后端服务器、(多个)云计算服务器、(多个)分布式服务器等)等。在一些实施方式中,网络管理系统230可以由客户用于协助管理客户网络250。附加地或备选地,自动配置设备210可以针对本文中描述的各种信息(例如提供商公共密钥和/或其它信息)访问网络管理系统230。
客户设备240可以包括由客户用于访问客户网络250、网络280和/或环境200中示出的一个或多个设备的一个或多个设备。例如,客户设备240可以包括计算设备,诸如台式计算机、膝上型计算机、平板计算机、移动电话、或者相似类型的设备。在一些实施方式中,客户可以使用客户设备240来向环境200的一个或多个设备(诸如配置存储设备220、网络管理系统230和/或提供商设备260)提供信息和/或从环境200的一个或多个设备接收信息。信息可以协助自动配置设备210执行自动设备配置处理。
客户网络250可以包括与客户相关联的一个或多个有线和/或无线网络。例如,客户网络250可以包括局域网(LAN)、广域网(WAN)、私有网络、内联网、蜂窝网络、公共陆地移动网络(PLMN)、城域网(MAN)、电话网络(例如公共交换电话网络(PSTN))、自组织网络、因特网、基于光纤的网络、云计算网络等、和/或这些或其它类型的网络的组合。在一些实施方式中,自动配置设备210可以自动地配置它自己,以与客户网络250的其它设备交互操作(例如,在私有网络、内联网等上)。
提供商设备260可以包括与提供商相关联的一个或多个设备,提供商向提供商的客户提供(例如销售、部署、供应、推出(ship)等)自动配置设备210。提供商可以使用提供商设备260与环境200的一个或多个其它设备交互(例如,在具有或没有提供商的输入的情况下)。例如,提供商设备260可以包括服务器(例如web服务器、主机服务器、存储服务器等)、台式计算机、膝上型计算机、或者相似类型的设备。在一些实施方式中,提供商设备260可以向客户设备240和/或网络管理系统230提供信息、和/或从客户设备240和/或网络管理系统230接收信息。信息可以协助自动配置设备210执行自动设备配置处理。
动态网络分派服务器270可以包括向诸如自动配置设备210之类的环境200的一个或多个设备提供动态网络地址分派的一个或多个设备。例如,动态网络分派服务器270可以包括诸如动态主机配置协议(DHCP)服务器之类的服务器、或者相似类型的设备。在一些实施方式中,动态网络分派服务器270可以在客户的管理控制下,并且可以是客户网络250本地的。在一些实施方式中,动态网络分派服务器270可以不在客户的管理控制下,并且可以经由客户网络250外部的网络(例如网络280)访问。自动配置设备210可以与动态网络分派服务器270交互(例如经由客户网络250和/或网络270)以用于动态地址分派,和/或以接收标识配置存储设备220的信息,自动配置设备210要访问配置存储设备220以执行自动设备配置处理。
网络280可以包括一个或多个有线和/或无线网络。例如,网络280可以包括蜂窝网络、PLMN、LAN、WAN、MAN、电话网络(例如PSTN)、私有网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、和/或这些或其它类型的网络的组合。
图2所示的设备和网络的数目和布置被提供作为示例。在实践中,相比于图2所示的那些,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同布置的设备和/或网络。此外,图2所示的两个或更多设备可以实现在单个设备内,或者图2所示的单个设备可以实现为多个分布式设备。附加地或备选地,环境200的设备集(例如一个或多个设备)可以执行被描述为由环境200的另一设备集执行的一个或多个功能。
图3是设备300的示例部件的图。设备300可以对应于自动配置设备210、配置存储设备220、网络管理系统230、客户设备240、提供商设备260和/或动态网络分派服务器270。在一些实施方式中,自动配置设备210、配置存储设备220、网络管理系统230、客户设备240、提供商设备260和/或动态网络分派服务器270可以包括一个或多个设备300和/或设备300的一个或多个部件。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储部件340、输入部件350、输出部件360以及通信接口370。
总线310可以包括准许在设备300的部件之间的通信的部件。处理器320被实现在硬件、固件或者硬件和软件的组合中。处理器320可以包括处理器(例如,中央处理单元(CPU)、图形处理器单元(GPU)、加速处理单元(APU)等)、微处理器、和/或理解和/或执行指令的任何处理部件(例如,场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器330可以包括随机存取存储器(RAM)、只读存储器(ROM)、和/或存储信息和/或指令以供处理器320使用的另一类型的动态或静态存储设备(例如,闪速存储器、磁存储器、光存储器等)。
存储部件340可以存储与设备300的操作和使用有关的信息和/或软件。例如,存储部件340可以包括硬盘(例如磁盘、光盘、磁光盘、固态盘等)、紧致盘(CD)、数字万用盘(DVD)、软盘、卡带、磁带、和/或另一类型的计算机可读介质连同对应的驱动。
输入部件350可以包括准许设备300诸如经由用户输入接收信息的部件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风等)。附加地或者备选地,输入部件350可以包括用于感测信息的传感器(例如全球定位系统(GPS)部件、加速度计、陀螺仪、致动器等)。输出部件360可以包括提供来自设备300的输出信息的部件(例如显示器、扬声器、一个或多个发光二极管(LED)等)。
通信接口370可以包括类收发器部件(例如收发器、分立的接收器和发射器等),该类收发器部件使得设备300能够(诸如经由有线连接、无线连接或者有线和无线连接的组合)与其它设备进行通信。通信接口370可以准许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文中描述的一个或多个处理。设备300可以响应于处理器320执行由计算机可读介质(诸如存储器330和/或存储部件340)所存储的软件指令而执行这些处理。计算机可读介质在本文中被限定为非瞬态存储器设备。存储器设备包括在单个物理存储设备内的存储空间或者跨多个物理存储设备散布的存储器空间。
可以经由通信接口370从另一计算机可读介质或从另一设备将软件指令读取到存储器330和/或存储部件340中。被存储在存储器330和/或存储部件340中的软件指令在被执行时可以使得处理器320执行本文中描述的一个或多个处理。附加地或备选地,可以使用硬接线的电路替代软件指令或者与软件指令组合,以执行本文中描述的一个或多个过程。因而,本文中描述的实施方式并不限于硬件电路和软件的任何具体组合。
图3所示的部件的数目和布置被提供作为示例。在实践中,相比于图3所示的那些,设备300可以包括附加的部件、更少的部件、不同的部件、或者不同布置的部件。附加地或备选地,设备300的部件集(例如一个或多个部件)可以执行被描述为由设备300的另一部件集执行的一个或多个功能。
图4是用于生成在自动设备配置处理期间要用于验证的数字凭证的示例处理400的流程图。在一些实施方式中,图4的一个或多个处理块可以由提供商设备260来执行。在一些实施方式中,图4的一个或多个处理块可以由与提供商设备260分立的或包括提供商设备260的另一设备或设备集(诸如自动配置设备210、配置存储设备220、网络管理系统230、客户设备240和/或动态网络分派服务器270)来执行。
如图4所示,处理400可以包括接收与请求自动设备配置的客户相关联的证书签名请求(块410)。例如,提供商设备260可以从客户设备240接收证书签名请求,在一些实施方式中,客户可能想要购买和/或部署自动配置设备210。为了建立自动配置处理,客户可以与客户设备240交互,以生成和/或接收客户公共/私人密钥对(例如客户公共密钥和对应的客户私人密钥)。客户可以与客户设备240交互,以向提供商设备260提供标识客户(例如客户名称、客户地址、客户账号等)的客户公共密钥和客户标识符。
例如,客户设备240可以向提供商设备260提供证书签名请求。证书签名请求可以包括客户标识符和客户公共密钥。在一些实施方式中,客户标识符可以使用客户私人密钥进行签名。提供商设备260可以从客户设备240接收包括客户标识符和客户公共密钥的证书签名请求。在一些实施方式中,证书签名请求可以包括除客户标识符和公共密钥外的其它信息。
如图4中进一步示出的,处理400可以包括基于接收证书签名请求而生成客户证书(块420),并且向与客户相关联的设备提供客户证书(块430)。例如,提供商设备260可以使用证书签名请求(和/或包括在证书签名请求中的其它信息)来生成客户证书。客户证书可以使用与提供商相关联的提供商私人密钥进行签名。在一些实施方式中,提供商设备260可以使用提供商私人密钥对证书签名请求进行签名,以生成客户证书。客户证书可以包括客户标识符、客户公共密钥、以及使用提供商公共密钥生成的数字签名。提供商设备260可以向客户设备240提供客户证书。在一些实施方式中,提供商设备260可以对证书签名请求进行签名,以阻止恶意用户伪造证书签名请求。
如图4中进一步示出的,处理400可以包括接收与客户和要使用自动设备配置进行配置的自动配置设备相关联的订购的订购信息(块440)。例如,提供商设备260可以从客户设备240接收订购信息。订购信息可以与针对一个或多个自动配置设备210的客户订购相关联。作为示例,客户可以订购(例如,可以购买)自动配置设备210,并且提供商设备260可以接收与订购相关联的订购信息(例如,从客户设备240,从管理自动配置设备210的销售的设备等)。
在一些实施方式中,订购信息可以包括标识订购自动配置设备210的客户的客户标识符。附加地或备选地,订购信息可以包括客户订购自动配置设备210的指示。
如图4中进一步示出的,处理400可以包括生成与客户和自动配置设备相关联的数字凭证,以在自动设备配置处理期间用于验证(块450),并且向与客户相关联的设备提供数字凭证(块460)。例如,提供商设备260可以基于订购信息来生成和/或接收数字凭证。例如,数字凭证可以是使用提供商公共密钥进行签名的数字证书。例如,数字凭证可以包括客户标识符和设备标识符,并且可以使用提供商私人密钥进行签名。提供商设备260可以向客户设备240提供数字凭证。
包括在数字凭证中的设备标识符可以标识由客户订购的自动配置设备210。设备标识符可以包括例如设备的序列号、标识设备的初始设备标识符(例如根据电气和电子工程师协会(IEEE)802.11ar标准的IDevID)、设备的介质访问控制(MAC)地址等。在一些实施方式中,客户可以订购多个自动配置设备210,其中每个可以与不同的设备标识符相关联。在这种情况下,每个设备标识符可对应于相应自动配置设备210。
在一些实施方式中,提供商可以向提供商设备260提供与客户的订购相关联的输入,并且提供商设备260可以基于输入来生成数字凭证。在一些实施方式中,在接收订购信息的时间和生成数字凭证的时间之间可以存在时间延迟。例如,数字凭证可以被生成作为准备向客户推出自动配置设备210的处理的一部分。
在一些实施方式中,客户可以订购多个自动配置设备210。在这种情况下,提供商设备260可以生成与每个自动配置设备210对应的分立数字凭证。每个数字凭证可以包括客户标识符以及数字凭证对应于的自动配置设备210的设备标识符。
附加地或备选地,提供商设备260可以生成用于多个自动配置设备210的数字凭证。在这种情况下,数字凭证可以包括客户标识符以及对应于多个自动配置设备的多个设备标识符。例如,当多个自动配置设备210要具有相同配置时,提供商设备260可以提供用于多个自动配置设备210的数字凭证。在这种情况下,当执行自动设备配置处理时,自动配置设备210可以证实自动配置设备210的设备标识符包括在数字凭证中(例如,并且不一定是包括在数字凭证中的仅有的设备标识符)。
自动配置设备210可以在自动设备配置处理期间使用数字凭证,如本文中其它地方更详细描述的。例如,自动配置设备210可以使用数字凭证来确定与自动配置设备210相关联的客户标识符,以改善自动设备配置处理的安全性,和/或以减少自动设备配置处理中的错误。
虽然图4示出处理400的示例块,但是在一些实施方式中,相比于图4中所描绘的那些,处理400可以包括附加的块、更少的块、不同的块、或者不同布置的块。附加地或备选地,处理400的块中的两个或更多块可以并行执行。
图5A和图5B是与图4所示的示例处理400有关的示例实施方式500的图。图5A和图5B示出生成要在自动设备配置处理期间用于验证的客户证书和数字凭证的示例。
如图5A中且由附图标记505示出的,假定客户与客户设备240交互,以使得客户设备210生成和/或获得其包括客户公共密钥和客户私人密钥的公共/私人密钥对。如由附图标记510示出的,假定客户与客户设备240交互,以使得客户设备240向提供商设备260提供证书签名请求。如示出的,假定证书签名请求包括客户标识符(例如示出为“客户A”的客户ID)和客户公共密钥(例如,为了简化,示出为“XXYY”)。
如由附图标记515示出的,假定提供商设备260接收证书签名请求,并且使用提供商私人密钥(例如,由提供商设备260先前获得的和/或生成的)对证书签名请求进行签名。如由附图标记520示出的,经签名的证书签名请求可以被称为客户证书,并且提供商设备260可以向客户设备240提供客户证书。如示出的,假定客户证书包括客户标识符和客户公共密钥,并且使用提供商公共密钥进行了签名。
如图5B中且由附图标记525示出的,假定客户与客户设备240交互,以订购(例如购买)自动配置设备210。例如,客户可以经由提供自动配置设备210以供销售的网站来订购自动配置设备210。如由附图标记530示出的,基于客户订购,假定客户设备240(或者与从其购买自动配置设备210的网站相关联的设备)向提供商设备260提供订购信息。如示出的,假定订购信息包括其标识客户的客户标识符以及客户订购自动配置设备210的指示。
如由附图标记535示出的,假定提供商设备210确定与订购相关联的附加订购信息。例如,假定提供商设备260使用客户标识符来标识(例如,使用数据结构访问、从另一设备请求等)标识客户购买自动配置设备210的设备标识符(例如示出为“1234”的设备ID)。例如,可以向客户推出自动配置设备210,并且设备标识符可以标识向客户推出的自动配置设备210。使用客户标识符和设备标识符,提供商设备260可以生成与客户以及客户购买的自动配置设备210相关联的数字凭证,并且可以使用提供商私人密钥对数字凭证进行签名。在一些实施方式中,在客户订购自动配置设备210的时间和生成数字凭证的时间之间可以存在时间延迟。
如由附图标记540示出的,提供商设备260可以向客户设备240提供数字凭证。如示出的,数字凭证可以包括客户标识符和设备标识符,并且可以使用提供商私人密钥进行了签名。自动配置设备210可以使用数字凭证和/或其它信息来安全地执行自动设备配置处理,如本文中其它地方更详细描述的。
如上面指示的,图5A和图5B被提供仅作为示例。其它示例是可能的,并且可以不同于关于图5A和图5B所描述的内容。
图6是用于执行自动设备配置处理以配置设备的示例处理600的流程图。在一些实施方式中,图6的一个或多个处理块可以由自动配置设备210来执行。
如图6所示,处理600可以包括发起自动设备配置处理(块610)。例如,在被连接到网络时(例如在自动配置设备210启动时),自动配置设备210可以发起自动设备配置处理。例如,客户可以将自动配置设备210连接到网络。自动配置设备210可以确定当前配置,并且可以基于当前配置发起自动设备配置处理。例如,如果自动配置设备210的当前配置是工厂配置(例如,由提供商安装和/或未被客户更改的原始配置),则自动配置设备210可以发起自动设备配置处理。这可以确保自动配置设备210在由客户和/或自动设备配置处理配置后不会重新配置它自己(例如,自动配置设备210可能仅需要执行自动设备配置处理一次)。
在一些实施方式中,当由提供商推出自动配置设备210时、当客户接收自动配置设备210时、当在用另一配置进行配置后自动配置设备210被重置为工厂配置(例如,由客户、由提供商等)时等,可以使用工厂配置来配置自动配置设备210。
如图6中进一步示出的,处理600可以包括接收数字凭证、客户证书和配置信息(块620)。例如,自动配置设备210可以接收数字凭证、客户证书和配置信息。数字凭证和客户证书可以如本文中其它地方所描述的那样来生成。配置信息可以包括用于通过特定配置对自动配置设备210进行自动配置的信息。在一些实施方式中,配置信息可以使用客户私人密钥进行签名。
在一些实施方式中,自动配置设备210可以从配置存储设备220接收(例如,可以获得)数字凭证、客户证书和/或配置信息。例如,客户可以与客户设备240交互,以使得客户设备240向配置存储设备220提供数字凭证(例如,从提供商设备260接收的)、客户证书(例如,从提供商设备260接收的)以及配置信息(例如,由客户设备240的用户输入的和/或从另一设备接收的)。在一些实施方式中,数字凭证、客户证书和/或配置信息可以被称为分级信息(staging information),并且可以用于对配置存储设备220进行分级(stage),以协助自动配置设备210的自动配置。例如,自动配置设备210可以从配置存储设备220请求分级信息(例如,在客户设备240向配置存储设备220提供分级信息之后),并且可以从配置存储设备220接收分级信息。
附加地或备选地,分级信息可以包括一个或多个证书撤销列表。证书撤销列表可以包括标识已经被撤销的一个或多个证书的信息,由此指示提交那些(多个)证书的实体是不受信任的。当在自动配置之前执行验证时,自动配置设备210可以确定证书(例如,与提供商公共密钥、客户公共密钥等相关联的)是否被标识在证书撤销列表中。如果证书被标识在证书撤销列表中,则自动配置设备210可能验证失败,并且可能不执行自动配置。
附加地或备选地,分级信息可以包括由自动配置设备210用于验证使用提供商私人密钥签名的信息的提供商公共密钥。在一些实施方式中,提供商设备260可以将提供商公共密钥提供到与客户相关联的设备(例如配置存储设备220、网络管理系统230等)。在一些实施方式中,不同的分级信息可以由不同设备来存储。例如,数字凭证、客户证书和配置信息可以由配置存储设备220存储,并且提供商公共密钥可以由网络管理系统230存储。
在一些实施方式中,客户可以向客户设备240提供输入,以使得客户设备240向网络管理系统230、动态网络分派服务器270或者相似类型的设备提供网络地址列表。网络地址列表可以标识存储分级信息的(多个)设备的一个或多个网络地址(例如统一资源标识符(URI)、统一资源定位符(URL)、因特网协议(IP)地址等)。例如,网络地址列表可以标识与配置存储设备220相关联的URL。在启动时,自动配置设备210可以接收(例如,可以获得)网络地址列表,可以使用网络地址列表来标识配置存储设备220和/或存储分级信息的另一设备,并且可以使用配置存储设备220和/或该另一设备的网络地址来请求来自配置存储设备220和/或该另一设备的分级信息。
如图6中进一步示出的,处理600可以包括验证数字凭证和包括在数字凭证中的设备标识符(块630)。例如,自动配置设备210可以验证数字凭证(例如,从配置存储设备220接收的),并且可以验证包括在数字凭证中的设备标识符。在一些实施方式中,自动配置设备210可以通过验证附于数字凭证的数字签名来验证数字凭证。例如,数字凭证可以使用提供商私人密钥进行签名,并且自动配置设备210可以使用提供商公共密钥来验证数字凭证。在一些实施方式中,自动配置设备210可以在启动时接收提供商公共密钥(例如,从网络管理系统230、从配置存储设备220等)。附加地或备选地,自动配置设备210可以被硬编码有提供商公共密钥(例如,作为信任锚)。
在成功验证数字凭证之后,自动配置设备210可以标识包括在数字凭证中的设备标识符,并且可以验证设备标识符。通过将包括在数字凭证中的设备标识符与自动配置设备210存储的(例如,被硬编码在自动配置设备210中的)设备标识符进行比较,自动配置设备210可以验证设备标识符。如果第一设备标识符(包括在数字凭证中的)与第二设备标识符(自动配置设备210存储的)匹配,则自动配置设备210可以成功地验证设备标识符。
在一些实施方式中,数字凭证可以包括设备标识符的列表(例如多个设备标识符)。在这种情况下,通过确定存储的设备标识符(由自动配置设备210存储的)是否包括在数字凭证中包括的设备标识符列表中,自动配置设备210可以验证数字凭证。如果存储的设备标识符与列表中包括的设备标识符匹配,则自动配置设备210可以成功地验证设备标识符。
在成功地验证数字凭证中包括的设备标识符之后,自动配置设备210可以标识包括在数字凭证中的客户标识符。如下面描述的,自动配置设备210可以使用包括在数字凭证中的客户标识符来验证包括在客户证书中的客户标识符。
如图6中进一步示出的,处理600可以包括验证客户证书(块640),并且验证包括在数字凭证中的客户标识符与包括在客户证书中的客户标识符匹配(块650)。例如,自动配置设备210可以验证客户证书(例如,从配置存储设备220接收的),并且可以验证包括在客户证书中的客户标识符。在一些实施方式中,通过验证附于客户证书的数字签名(例如,附于客户证书的数字签名),自动配置设备210可以验证客户证书。例如,客户证书可以使用提供商私人密钥进行签名,并且自动配置设备210可以使用提供商公共密钥来验证客户证书。
在成功地验证客户证书之后,自动配置设备210可以标识包括在客户证书中的客户标识符,并且可以验证客户标识符。通过将包括在客户证书中的客户标识符与包括在数字凭证中的客户标识符(例如,如上面描述的那样获得的)进行比较,自动配置设备210可以验证客户标识符。如果第一设备标识符(包括在客户证书中的)与第二设备标识符(包括在数字凭证中的)匹配,则自动配置设备210可以成功地验证客户标识符。
在成功地验证包括在客户证书中的客户标识符之后,自动配置设备210可以标识包括在客户证书中的客户公共密钥。如下面描述的,自动配置设备210可以使用包括在客户证书中的客户公共密钥来验证配置信息。
如图6中进一步示出的,处理600可以包括验证配置信息(块660)。例如,自动配置设备210可以验证配置信息(例如,从配置存储设备220接收的)。在一些实施方式中,通过验证附于配置信息(例如,附于配置信息)的数字签名,自动配置设备210可以验证配置信息。例如,配置信息可以使用客户私人密钥进行签名,并且自动配置设备210可以使用客户公共密钥来验证配置信息。如上面描述的,可以从客户证书获得客户公共密钥。
如图6中进一步示出的,处理600可以包括确定验证是否成功(块670)。例如,自动配置设备210可以确定验证是否成功。如上面描述的,验证可以包括验证集,诸如验证数字凭证、验证包括在数字凭证中的设备标识符、验证客户证书、验证包括在客户证书中的客户标识符、和/或验证配置信息。如果验证集中的任何验证失败,则自动配置设备210不可以加载配置信息,如下面描述的。如果验证集中的所有验证成功,则自动配置设备210可以加载配置信息,如下面描述的。
如图6中进一步示出的,如果验证不成功(块670——否),处理600可以包括不加载配置信息(块680)。例如,如果自动配置设备210未能成功地执行上面描述的验证集中的任何验证(例如,结合块630-670中的一个或多个块),则自动配置设备210可以阻止使用配置信息中标识的配置来配置自动配置设备210。此外,如果特定验证失败,则自动配置设备210不可以继续进行到下一验证。例如,如果自动配置设备210验证数字凭证失败,则自动配置设备210不可以执行包括在数字凭证中的设备标识符的验证。以此方式,自动配置设备210可以在执行自动配置之前确保配置有效和安全。这可以阻止自动配置设备210被配置有恶意配置、不正确配置、错误配置等。
如图6中进一步示出的,如果验证成功(块670——是),则处理600可以包括加载配置信息以配置自动配置设备(块690)。例如,如果自动配置设备210成功地执行上面描述的验证集(例如,结合块630-670中的一个或多个块),则自动配置设备210可以使用配置信息中标识的配置来配置它自己。以此方式,在确保客户配置有效(例如,由客户批准、受提供商信任、旨在用于自动配置设备210等)之后,自动配置设备210可以使用客户配置来自动地配置它自己。
虽然图6示出处理600的示例块,但是在一些实施方式中,相比于图6中描绘的那些,处理600可以包括附加的块、更少的块、不同的块、或者不同布置的块。附加地或备选地,处理600的块中的两个或更多块可以并行执行。
图7A至图7F是与图6所示的示例处理600有关的示例实施方式700的图。图7A至图7F示出执行自动设备配置处理以配置自动配置设备210的示例。为了图7A至图7F的目的,假定本文中结合图5A和图5B描述的操作已被执行。
如图7A中且由附图标记702示出的,假定客户与客户设备240交互以使得客户设备240向配置存储设备220提供分级信息。如示出的,假定分级信息包括上面结合图5B描述的数字凭证、和上面结合图5A描述的客户证书。如进一步示出的,假定分级信息包括配置信息。例如,假定客户向客户设备240输入标识用于自动配置设备210的配置的信息。此外,假定客户使用客户私人密钥对标识配置的信息进行签名,以生成配置信息。假定客户设备240向配置存储设备220提供数字凭证、客户证书和配置信息。
如图7B中且由附图标记704示出的,假定客户与客户设备240交互以使得客户设备240向网络管理系统230提供标识自动配置设备210的设备标识符。网络管理系统230可以使用设备标识符来验证自动配置设备210(例如,在由自动配置设备210用于发现网络管理系统230的自动设备配置处理期间和/或之后)。如由附图标记706示出的,假定客户设备240向动态网络分派服务器270提供标识如存储分级信息的配置存储设备220的URL列表。动态网络分派服务器270可以使用URL列表来协助自动配置设备210执行自动设备配置处理,如下面描述的。
如图7C所示,假定自动配置设备210已被推出并且由客户接收,并且客户将自动配置设备210连接到网络(例如客户网络250)。如由附图标记708示出的,假定自动配置设备210存储提供商公共密钥,提供商公共密钥可以被硬编码在自动配置设备210的存储器中。如由附图标记710示出的,假定自动配置设备210在启动时检测工厂配置。如由附图标记712示出的,基于检测工厂配置,假定自动配置设备210标识URL列表,URL列表标识存储分级信息的配置存储设备220。例如,自动配置设备210可以从动态网络分派服务器270检索URL列表。如由附图标记714示出的,假定自动配置设备210从配置存储设备220请求分级信息。如由附图标记716示出的,假定配置存储设备220向自动配置设备210提供分级信息。如示出的,分级信息包括数字凭证、客户证书和配置信息。
如图7D中且由附图标记718示出的,假定自动配置设备210存储提供商公共密钥(例如,被硬编码在自动配置设备210的存储器中)和设备标识符(例如,被硬编码在自动配置设备210中)。自动配置设备210可以使用这一信息来验证数字凭证。例如,如由附图标记720示出的,通过使用提供商公共密钥来验证数字凭证的数字签名,自动配置设备210验证数字凭证。如由附图标记722示出的,自动配置设备210证实包括在数字凭证中的设备标识符(例如,为“1234”的设备ID)与自动配置设备210存储的设备标识符(例如,为“1234”的设备ID)匹配。如由附图标记724示出的,在成功验证时,自动配置设备210获得包括在数字凭证中的客户标识符。如由附图标记726示出的,自动配置设备210存储客户标识符。
如图7E中且由附图标记728示出的,由自动配置设备210存储的信息现在包括来自数字凭证的客户标识符(例如,为“客户A”的客户ID)。自动配置设备210可以使用这一信息来验证客户证书。如由附图标记730示出的,通过使用提供商公共密钥来验证客户证书的数字签名,自动配置设备210验证客户证书。如由附图标记732示出的,自动配置设备210证实包括在客户证书中的客户标识符(例如,为“客户A”的客户ID)与自动配置设备210存储的和从数字凭证获得的客户标识符(例如,为“客户A”的客户ID)匹配。如由附图标记734示出的,在成功验证时,自动配置设备210获得包括在客户证书中的客户公共密钥。如由附图标记736示出的,自动配置设备210存储客户公共密钥。
如图7F中且由附图标记738示出的,自动配置设备210存储的信息现在包括来自客户证书的客户公共密钥。自动配置设备210可以使用客户公共密钥来验证配置信息。例如,如由附图标记740示出的,通过使用客户公共密钥来验证配置信息的数字签名,自动配置设备210验证配置信息。如由附图标记742示出的,在成功验证时,自动配置设备210获得来自配置信息的配置,并且基于配置自动地配置它自己。例如,通过存储特定配置信息、修改一个或多个配置设置(例如软件设置、硬件设置、固件设置等)、与一个或多个其它设备通信(例如,以协助配置,以建立连接等)、重启以初始化配置等,自动配置设备210可以配置它自己。以此方式,自动配置设备210可以以安全方式自动地配置它自己。
如上面指示的,图7A至图7F被提供仅作为示例。其它示例是可能的,并且可以不同于关于图7A至图7F所描述的内容。
本文中描述的实施方式准许自动配置设备经由自动设备配置处理(例如“零触摸”配置处理)自动地配置它自己。此外,本文中描述的实施方式以安全方式提供这样的自动配置,以阻止自动配置设备恶意或不正确地配置。
前述公开内容提供了图示和描述,但是并不旨在于是穷举的或者将实施方式限于所公开的精确形式。参见以上公开内容,修改和变化是可能的,或者可以通过实施方式的实践来获取修改和变化。
如本文中所使用的,术语部件旨在于被广义解释为硬件、固件和/或硬件和软件的组合。
将显而易见的是,本文中描述的系统和/或方法可以按硬件、固件、或硬件和软件的组合的不同形式来实现。用来实现这些系统和/或方法的实际专用的控制硬件或软件代码并不限制实施方式。因此,本文中没有参照具体软件代码来描述系统和/或方法的操作和行为——理解的是,软件和硬件能够被设计为基于本文中的描述来实现系统和/或方法。
即使在权利要求中记载和/或在说明书中公开了特征的特定组合,这些组合也不旨在于限制可能的实施方式的公开。实际上,许多这些特征可以按未具体在权利要求中记载和/或在说明书中具体公开的方式进行组合。虽然下面列出的每个从属权利要求可能直接从属于仅一个权利要求,但是可能的实施方式的公开内容包括每个从属权利要求与权利要求集中的其它各个权利要求进行组合。
本文中使用的元件、动作或指令不应当被解释为关键或必要的,除非这样明确描述。另外,如本文中使用的,冠词“一”和“一个”旨在于包括一个或多个项,并且可以与“一个或多个”互换使用。此外,如本文中使用的,术语“组”和“集”旨在于包括一个或多个项(例如,有关项、无关项、有关项和无关项的组合等),并且可以与“一个或多个”互换使用。在旨在仅一个项处,使用术语“一个”或者类似语言。另外,如本文中使用的,术语“具有”、“有”、“拥有”等旨在于是开放的术语。此外,短语“基于”旨在于意指“至少部分地基于”,除非另外明确陈述。

Claims (20)

1.一种用于自动设备配置的设备,包括:
至少部分以硬件实现的一个或多个处理器,用于:
发起自动设备配置处理以自动地配置所述设备;
基于发起所述自动设备配置处理,接收数字凭证、客户证书和配置信息,
所述数字凭证包括:
标识与所述设备相关联的客户的第一客户标识符,以及
标识所述设备的设备标识符,
所述客户证书包括:
标识所述客户的第二客户标识符,以及
与所述客户相关联的客户公共密钥,以及
所述配置信息包括标识用于自动地配置所述设备的配置的信息;
验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个;
基于确定所述第一客户标识符与所述第二客户标识符匹配来验证所述第一客户标识符;以及
基于验证所述第一客户标识符以及所述数字凭证、所述客户证书或者所述配置信息中的至少一个,使用所述配置来配置所述设备。
2.根据权利要求1所述的设备,其中所述一个或多个处理器进一步用于:
证实包括在所述数字凭证中的所述设备标识符与由所述设备存储的存储设备标识符匹配;以及
其中当配置所述设备时,所述一个或多个处理器用于:
基于证实所述设备标识符与所述存储设备标识符匹配,来配置所述设备。
3.根据权利要求1所述的设备,其中当验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个时,所述一个或多个处理器用于:
使用与所述客户公共密钥不同的提供商公共密钥来验证与所述客户证书相关联的数字签名;以及
其中当配置所述设备时,所述一个或多个处理器用于:
基于验证所述数字签名,来配置所述设备。
4.根据权利要求1所述的设备,其中当验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个时,所述一个或多个处理器用于:
使用包括在所述客户证书中的所述客户公共密钥来验证与所述配置信息相关联的数字签名;以及
其中当配置所述设备时,所述一个或多个处理器用于:
基于验证与所述配置信息相关联的所述数字签名,来配置所述设备。
5.根据权利要求1所述的设备,其中所述一个或多个处理器进一步用于:
确定所述设备被配置有工厂配置;以及
其中当发起所述自动设备配置处理时,所述一个或多个处理器用于:
基于确定所述设备被配置有所述工厂配置,发起所述自动设备配置处理。
6.根据权利要求1所述的设备,其中使用与包括在所述客户证书中的所述客户公共密钥对应的客户私人密钥,对所述配置信息进行数字签名。
7.根据权利要求1所述的设备,其中使用与提供商公共密钥对应的提供商私人密钥,对所述数字凭证进行数字签名,所述提供商公共密钥不同于包括在所述客户证书中的所述客户公共密钥;以及
其中使用所述提供商私人密钥对所述客户证书进行数字签名。
8.一种存储指令的非瞬态计算机可读介质,所述指令包括:
一个或多个指令,当由设备的至少部分以硬件实现的一个或多个处理器执行时,使得所述一个或多个处理器:
接收用于自动地配置所述设备的数字凭证、客户证书和配置信息,
所述数字凭证包括:
标识与所述设备相关联的客户的第一客户标识符,以及
标识所述设备的设备标识符,
所述客户证书包括:
标识所述客户的第二客户标识符,以及
与所述客户相关联的客户公共密钥,以及
所述配置信息包括标识用于自动地配置所述设备的配置的信息;
验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个;
基于确定所述第一客户标识符与所述第二客户标识符匹配来验证所述第一客户标识符;以及
基于验证所述第一客户标识符以及所述数字凭证、所述客户证书或者所述配置信息中的至少一个,使用所述配置来配置所述设备。
9.根据权利要求8所述的非瞬态计算机可读介质,其中当由所述一个或多个处理器执行时,所述一个或多个指令进一步使得所述一个或多个处理器:
使用包括在所述客户证书中的所述客户公共密钥来验证与所述配置信息相关联的数字签名;以及
其中使得所述一个或多个处理器配置所述设备的所述一个或多个指令使得所述一个或多个处理器:
基于验证与所述配置信息相关联的所述数字签名,来配置所述设备。
10.根据权利要求8所述的非瞬态计算机可读介质,其中当由所述一个或多个处理器时,所述一个或多个指令进一步使得一个或多个处理器:
证实包括在所述数字凭证中的所述设备标识符与由所述设备存储的存储设备标识符匹配;以及
其中使得所述一个或多个处理器配置所述设备的所述一个或多个指令使得所述一个或多个处理器:
基于证实所述设备标识符与所述存储设备标识符匹配,来配置所述设备。
11.根据权利要求8所述的非瞬态计算机可读介质,其中使得所述一个或多个处理器验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个的所述一个或多个指令使得所述一个或多个处理器:
使用与所述客户公共密钥不同的提供商公共密钥来验证与所述客户证书相关联的数字签名;以及
其中使得所述一个或多个处理器配置所述设备的所述一个或多个指令使得所述一个或多个处理器:
基于验证所述数字签名来配置所述设备。
12.根据权利要求8所述的非瞬态计算机可读介质,其中使得所述一个或多个处理器验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个的所述一个或多个指令使得所述一个或多个处理器:
使用包括在所述客户证书中的所述客户公共密钥来验证与所述配置信息相关联的数字签名;以及
其中使得所述一个或多个处理器配置所述设备的所述一个或多个指令使得所述一个或多个处理器:
基于验证与所述配置信息相关联的所述数字签名,来配置所述设备。
13.根据权利要求8所述的非瞬态计算机可读介质,其中当由所述一个或多个处理器执行时,所述一个或多个指令进一步使得所述一个或多个处理器:
将所述配置信息中标识的所述配置加载到所述设备。
14.一种用于自动设备配置的方法,包括:
由设备发起自动设备配置处理以自动地配置所述设备;
由所述设备并且基于发起所述自动设备配置处理,来接收数字凭证、客户证书和配置信息,
所述数字凭证包括:
标识与所述设备相关联的客户的第一客户标识符,以及
标识所述设备的设备标识符,
所述客户证书包括:
标识所述客户的第二客户标识符,以及
与所述客户相关联的客户公共密钥,
所述配置信息包括标识用于自动地配置所述设备的配置的信息;
由所述设备验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个;
由所述设备基于确定所述第一客户标识符与所述第二客户标识符匹配来验证所述第一客户标识符;以及
由所述设备并且基于验证所述第一客户标识符以及所述数字凭证、所述客户证书或者所述配置信息中的至少一个,使用所述配置来配置所述设备。
15.根据权利要求14所述的方法,其中验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个包括:
证实包括在所述数字凭证中的所述设备标识符与由所述设备存储的存储设备标识符匹配;
使用包括在所述客户证书中的所述客户公共密钥来验证与所述配置信息相关联的数字签名;以及
其中配置所述设备包括:
基于以下项中的至少一项,来配置所述设备:
证实所述设备标识符与所述存储设备标识符匹配,或者
验证与所述配置信息相关联的所述数字签名。
16.根据权利要求14所述的方法,进一步包括:
证实包括在所述数字凭证中的所述设备标识符与由所述设备存储的存储设备标识符匹配;以及
其中配置所述设备包括:
基于证实所述设备标识符与所述存储设备标识符匹配,来配置所述设备。
17.根据权利要求14所述的方法,其中验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个包括:
使用与所述客户公共密钥不同的提供商公共密钥来验证与所述客户证书相关联的数字签名;以及
其中配置所述设备包括:
基于验证所述数字签名,来配置所述设备。
18.根据权利要求14所述的方法,其中验证所述数字凭证、所述客户证书或者所述配置信息中的至少一个包括:
使用包括在所述客户证书中的所述客户公共密钥来验证与所述配置信息相关联的数字签名;以及
其中配置所述设备包括:
基于验证与所述配置信息相关联的所述数字签名,来配置所述设备。
19.根据权利要求14所述的方法,进一步包括:
标识存储所述数字凭证、所述客户证书和所述配置信息的一个或多个设备;以及
从所述一个或多个设备请求所述数字凭证、所述客户证书和所述配置信息;以及
其中接收所述数字凭证、所述客户证书和所述配置信息包括:
从所述一个或多个设备接收所述数字凭证、所述客户证书和所述配置信息。
20.根据权利要求14所述的方法,进一步包括:
检测所述设备被配置有工厂配置;以及
其中发起所述自动设备配置处理包括:
基于检测到所述设备被配置有所述工厂配置,发起所述自动设备配置处理。
CN201510629312.3A 2015-02-19 2015-09-28 使用公共密钥基础设施用于自动设备配置 Active CN105915486B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/626,382 2015-02-19
US14/626,382 US9600302B2 (en) 2015-02-19 2015-02-19 Using a public key infrastructure for automatic device configuration

Publications (2)

Publication Number Publication Date
CN105915486A CN105915486A (zh) 2016-08-31
CN105915486B true CN105915486B (zh) 2018-03-16

Family

ID=54207392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510629312.3A Active CN105915486B (zh) 2015-02-19 2015-09-28 使用公共密钥基础设施用于自动设备配置

Country Status (3)

Country Link
US (2) US9600302B2 (zh)
EP (1) EP3059921B1 (zh)
CN (1) CN105915486B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600302B2 (en) 2015-02-19 2017-03-21 Juniper Networks, Inc. Using a public key infrastructure for automatic device configuration
US11025436B2 (en) * 2017-03-01 2021-06-01 Banco Bilbao Vizcaya Argentaria, S.A. Self-authenticating digital identity
US10616220B2 (en) 2018-01-30 2020-04-07 Hewlett Packard Enterprise Development Lp Automatic onboarding of end devices using device profiles
US10911954B2 (en) * 2018-03-01 2021-02-02 The Boeing Company Dynamic data package access for mobile device
US10824731B2 (en) * 2018-05-04 2020-11-03 Dell Products L.P. Secure bios attribute system
WO2020117549A1 (en) * 2018-12-06 2020-06-11 Mocana Corporation System and method for zero touch provisioning of iot devices
US20220083666A1 (en) * 2019-06-03 2022-03-17 Hewlett-Packard Development Company, L.P. Key authentication
EP4304225A3 (en) 2019-12-19 2024-04-10 GN Hearing A/S Hearing device with certificates and related methods
TWI744844B (zh) * 2020-03-30 2021-11-01 尚承科技股份有限公司 憑證安全簽發與管理系統及方法
US11978063B2 (en) * 2022-04-12 2024-05-07 Cisco Technology, Inc. Establishing ownership of dual route processors (RPs) using secure zero-touch provisioning (ZTP)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594579A (zh) * 2011-01-06 2012-07-18 卓思网络公司 自动化网络设备配置和网络部署

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US9818136B1 (en) * 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US8145917B2 (en) * 2005-12-30 2012-03-27 Nokia Corporation Security bootstrapping for distributed architecture devices
US20080028464A1 (en) 2006-07-25 2008-01-31 Michael Paul Bringle Systems and Methods for Data Processing Anomaly Prevention and Detection
US9130837B2 (en) * 2012-05-22 2015-09-08 Cisco Technology, Inc. System and method for enabling unconfigured devices to join an autonomic network in a secure manner
US9600302B2 (en) 2015-02-19 2017-03-21 Juniper Networks, Inc. Using a public key infrastructure for automatic device configuration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594579A (zh) * 2011-01-06 2012-07-18 卓思网络公司 自动化网络设备配置和网络部署

Also Published As

Publication number Publication date
CN105915486A (zh) 2016-08-31
US20160246617A1 (en) 2016-08-25
EP3059921A1 (en) 2016-08-24
US9600302B2 (en) 2017-03-21
EP3059921B1 (en) 2020-04-29
US20170168859A1 (en) 2017-06-15
US10558469B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
CN105915486B (zh) 使用公共密钥基础设施用于自动设备配置
CN107743624B (zh) 用于对等证实的方法、系统和机器可读介质
CN105052108B (zh) 自动欺骗性数字证书检测
US8584224B1 (en) Ticket based strong authentication with web service
CN104604204B (zh) 在同步通信中安全地操控服务器证书错误
TWI679550B (zh) 帳號登入方法及裝置
CN108293045A (zh) 本地和远程系统之间的单点登录身份管理
US20200329032A1 (en) Secure gateway onboarding via mobile devices for internet of things device management
CN102752319B (zh) 一种云计算安全访问方法、装置及系统
US9071422B2 (en) Access authentication method for multiple devices and platforms
CN104144172A (zh) 一种基于桌面虚拟化技术的云平台系统和方法
US11727101B2 (en) Methods and systems for verifying applications
CN108076047A (zh) 公共授权管理服务
CN106650490B (zh) 云账号的登录方法及装置
JP7072605B2 (ja) パスワードの照合のための記号入力のタイミングの使用
US20240346149A1 (en) Methods and systems for verifying applications
US8788707B1 (en) Assigning a random static IP address in a quarantine network
US20180034817A1 (en) Bulk Joining Of Computing Devices To An Identity Service
CN111212071B (zh) 信息处理方法及其装置、电子设备和介质
US20110219437A1 (en) Authentication information change facility
US9800567B2 (en) Authentication of network nodes
CN107645514B (zh) 认证协议转换方法以及装置
US11956639B2 (en) Internet of things device provisioning
JP2012033042A (ja) シングルサインオンシステム及びシングルサインオン方法
CN108228280A (zh) 浏览器参数的配置方法及装置、存储介质、电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant