CN113366461A - 使用非对称密码访问固件设置 - Google Patents

使用非对称密码访问固件设置 Download PDF

Info

Publication number
CN113366461A
CN113366461A CN201980090723.6A CN201980090723A CN113366461A CN 113366461 A CN113366461 A CN 113366461A CN 201980090723 A CN201980090723 A CN 201980090723A CN 113366461 A CN113366461 A CN 113366461A
Authority
CN
China
Prior art keywords
computing device
local
access
remote
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980090723.6A
Other languages
English (en)
Inventor
杰弗里·凯文·耶安松尼
瓦柳丁·阿里
小理查德·阿尔登·布拉姆利
阿德里安·约翰·鲍德温
约书亚·谢尔特利·史夫曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN113366461A publication Critical patent/CN113366461A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

一种示例计算设备包括:用户接口、网络接口、非易失性存储器、耦接到用户接口、网络接口和非易失性存储器的处理器以及存储在非易失性存储器中的指令组。指令组在被处理器执行时,根据设置执行计算设备的硬件初始化,建立本地信任域和远程信任域,使用本地访问公钥经由用户接口发出质询以授权对设置的本地访问,以及使用远程访问公钥授权经由网络接口的远程访问以对设置远程访问。

Description

使用非对称密码访问固件设置
背景技术
诸如台式计算机、笔记本计算机、服务器、平板计算机和智能电话的计算设备通常包括存储在非易失性存储器中的固件。当计算设备被启动时,固件可以初始化计算设备的硬件并开始运行时服务,该运行时服务可由计算设备执行的操作系统或应用程序使用。
固件可以被配置为基于对计算设备的各种固件设置的选择来初始化硬件并执行其他启动过程。
附图说明
图1是提供本地信任域和远程信任域以访问固件设置的示例计算设备的框图。
图2是建立本地信任域和远程信任域的示例域感知固件访问指令的示意框图。
图3是授权通过本地信任域和远程信任域访问固件设置的示例方法的流程图。
图4是具有提供本地信任域和远程信任域以访问固件设置的控制器的示例计算设备的框图。
图5是授权通过本地信任域访问固件设置的示例方法的通信图。
图6是授权通过远程信任域访问固件设置的示例方法的通信图。
图7是建立用于访问固件设置的本地信任域和远程信任域的示例服务器的示意框图。
具体实施方式
建立本地域和远程域以提供对目标计算设备的固件设置的安全访问。本地域由目标计算设备处的公钥和对应的私钥来建立,该对应的私钥可访问由访问固件设置的本地用户所使用的便携式计算设备。本地用户通过在目标计算设备和本地用户的便携式计算设备之间执行并由本地用户促进的质询-响应(challenge-response)过程来认证。质询-响应过程证明本地用户已获得授权。远程域由目标计算设备处的不同公钥和对应的私钥来建立,该对应的私钥可访问由远程用户所使用的联网计算设备。远程用户更改固件设置的请求被数字签名,并且计算设备使用公钥来认证该请求。因此,独特的且不同的本地信任域和远程信任域可用于调整计算设备的固件设置,从而在固件设置管理方面提供更大的灵活性。例如,本地化安全问题的固件设置可以限于本地信任域,而其他固件设置可以在远程信任域中。此外,远程域和本地域的隔离可以提高整体安全性。例如,如果本地域的私钥被泄露,则该密钥可能无法用于通过远程域进行更改。因此,可以更容易地控制影响本地域的安全漏洞,以降低漏洞经由远程域扩展为更广泛漏洞的风险。
图1示出了示例计算设备100。计算设备100可以是台式计算机、服务器、笔记本计算机、平板计算机、智能电话或类似设备。
计算设备100包括处理器102、存储器104、用户接口106和网络接口108。计算设备100可以包括为清楚起见而未图示的诸如大容量存储设备(例如,硬盘驱动器、固态驱动器等)和电源等的其他组件。
计算设备100进一步包括:包括固件指令110和域感知固件访问指令112的指令组。固件指令110可以实现基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)。指令组110、112可以是连续的(例如,包括域感知固件访问指令的单片固件映像),并且可以存储在存储器104中。指令组110、112可以分成不同的部分,这些部分可以存储在不同的存储器104中。独立的指令110、112组之间的通信可以使用消息传递或类似技术。
存储器104是包括非易失性存储器的非瞬态计算机可读介质,非易失性存储器诸如电可擦除可编程只读存储器(EEPROM)、闪存或能够在没有外部电源的情况下保存其内容的类似类型的存储器。
处理器102耦接到用户接口106、网络接口108和非易失性存储器104。处理器102可以被称为中央处理单元(CPU),并且可以执行固件指令110、域感知固件访问指令112、操作系统和应用程序。
固件指令110可以执行硬件初始化、测试硬件组件、从大容量存储设备加载启动加载程序以初始化操作系统、向操作系统或应用程序提供运行时服务以及向计算设备100提供类似的功能。固件指令110可以根据设置114操作,该设置可以存储在存储器104中。示例设置114包括对启动设备(例如,硬盘驱动器、外部存储器设备、网络等)、启动设备顺序、CPU工作频率、工作电压、外围设备设置、显示设置、电源管理设置、风扇/冷却设置和局域网唤醒等的选择。
域感知固件访问指令112建立本地信任域和远程信任域。本地信任域和远程信任域是提供独特的且不同的访问过程的独立的域。
本地访问公钥116被提供给计算设备100以管理诸如通过用户接口106对固件设置114的本地访问。本地访问公钥116可以存储在存储器104中。本地访问公钥116符合非对称密码体制(例如,RSA、椭圆曲线等),并且与存储在别处的本地私钥相对应。
远程访问公钥118被提供给计算设备100以管理诸如通过网络接口108对固件设置114的远程访问。远程访问公钥118可以存储在存储器104中。远程访问公钥118符合非对称密码体制,并且与存储在别处的远程私钥相对应。相同的非对称密码体制可用于本地密钥和远程密钥。
域感知固件访问指令112使用本地访问公钥116经由用户接口106发出质询以授权对设置114的本地访问。示例本地质询包括在用户接口106的显示设备处显示代码以请求用户经由用户接口106输入响应。
示例用户接口106是人机接口,其提供诸如经由人类输入到设备和经由设备输出到人类用户的人类用户和计算设备之间的通信。因此,用户可以向设备提供信息并且设备可以向用户提供信息。示例用户接口106可以包括任意数量的不同组件,它们可以单独或协同工作,该任意数量的不同组件诸如是键盘、小键盘、鼠标、触控板、显示器、触摸屏、扬声器、麦克风或类似组件。
域感知固件访问指令112使用远程访问公钥118来认证经由网络接口108从远程设备接收的签名的设置更改。
网络接口108允许连接到局域网、广域网、互联网或类似的计算机网络以促进与计算设备100的远程交互。示例网络接口108包括计算设备处的、诸如网卡或芯片组的网络接口设备。网络接口设备使用有线信号或无线信号提供对计算机网络的物理访问。计算设备可以包括控制网络接口设备的操作的驱动器。诸如传输控制协议(TCP)、网际协议(IP)和用户数据报协议(UDP)等的各种协议可以用于促进与网络接口108的数据通信。
用于设置114的远程访问和本地访问的不同访问过程可以提供增加的安全性。例如,具有特定本地访问权限的用户可能不具有相同的远程访问权限,并且因此,可能需要实际在计算设备100处才能更改关键设置。在另一示例中,受信任的管理员可能会被给予广泛的远程访问以解决大规模的问题(例如,升级固件),而本地管理员可能会被给予有限范围的本地访问以解决较小范围的问题(例如,更换硬盘)。
图2示出了示例系统200,其中一组域感知固件访问指令112建立用于访问固件设置114的本地信任域202和远程信任域204。
在本地信任域202中,域感知固件访问指令112可以在显示设备208处发出本地质询206。例如,本地质询206可以是诸如条形码或二维条形码(例如,QR码、彩色条形码等)的机器可读图形呈现的显示,其可以由本地用户拥有的并实际在计算设备100处的便携式计算设备210(例如,智能电话)的相机捕获。域感知固件访问指令112可以监视在诸如键盘212的用户输入设备处对质询206的响应211。示例响应211是键入符合质询206的密码。域感知固件访问指令112可以使用本地访问公钥116来生成本地质询206,并向提供了证明拥有或访问相应的本地私钥214作为响应211的用户授权访问。例如,本地用户的计算设备210可以解码QR码、使用本地私钥214对QR码中包含的加密的密码进行解密并将密码显示给本地用户以让他/她用键盘212录入。成功被授权本地访问的本地用户使用可用于域感知固件访问指令112的用户接口(诸如,键盘212和显示设备208)来访问固件设置114。
应该注意的是,本文所讨论的密码是可以手动录入计算机的任何人类可理解的信息。密码可包括个人识别码(PIN)、字母串和/或数字字符等。进一步,密码是在发出质询时动态生成的,并且不意在重复使用。该密码可以被称为一次性密码。
在远程信任域204中,域感知固件访问指令112可以认证通过网络接口108从远程用户的计算设备218接收的更改固件设置的远程请求216。例如,远程请求216可由存储在远程用户的计算设备218处或可访问该远程用户的计算设备的远程私钥220签名。然后,签名的请求216可以由可以访问域感知固件访问指令112的远程访问公钥118进行认证。签名的请求216还可以识别设置和用于设置的新值。因此,远程用户可以使用他/她的计算设备218经由计算机网络222远程签名和传送对固件设置114的更改。
图3示出了通过本地信任域和远程信任域来授权对目标计算设备的固件设置的访问的示例方法300。方法300可以由本文描述的任何设备和系统来执行。方法300可以通过可以存储在非瞬态计算机可读介质中的处理器可执行指令组来实施。该方法开始于框302。
在框304处,可以确定请求访问计算设备的域。本地域访问例如可以由本地用户在目标计算设备的启动期间按下按键来请求。远程域访问例如可以由远程用户向目标计算设备发送请求来请求。请求访问的域的确定可用于选择本地访问公钥或远程访问公钥以供方法300进一步处理。
对于对设置的本地访问,在框306处,本地访问公钥用于生成质询。例如,本地访问公钥可用于加密本地访问密码(诸如,随机数/伪随机数或其他一次性数值)以生成本地访问密码的表示。
然后,在框308处,本地访问密码的表示可以本地输出在目标计算设备的用户接口处(诸如,在显示设备处),作为对想要访问的本地用户的质询。诸如QR码的机器可读代码可以用于本地传送本地访问密码的表示。机器可读代码还可指示用于加密密码的公钥。QR码可以显示在目标计算设备处,作为对本地用户使用他/她的智能电话捕获QR码的邀请。本地访问密码的表示的本地化输出的其他示例包括蓝牙TM通信、近场通信(NFC)、红外通信和Wi-Fi等。
在框310处,本地用户可以通过目标计算设备的用户接口输入(诸如,通过键入密码)对质询的响应,该密码是通过使用本地私钥解密本地访问密码的表示生成的。例如,本地用户的智能电话在捕获QR码后,可以对本地访问密码进行解码和解密,并将本地访问密码显示给用户,以使用户将密码输入到目标计算设备中。
在框312处,如果所输入的密码与最初在目标计算设备处生成的本地访问密码匹配,则在框314处授权对固件设置的本地访问。用户的本地存在被证实,并且然后可以经由本地用户接口更改固件设置。否则,在框316处,拒绝访问。
对于对设置的远程访问,在框322处,在目标计算设备处从远程计算设备接收请求。这种请求可以由远程计算设备使用相应的私钥进行数字签名,并经由计算机网络传送到目标计算机设备。该请求可以识别设置和要更改的值。该请求还可以(例如,通过包括请求背后的用户的身份)指示要使用的公钥。
在框324处,目标计算设备可以选择适当的远程访问公钥并对所接收的远程访问请求进行认证。认证可以是远程计算设备处的请求用户有权访问私钥的确认。
在框326处,如果认证成功,则在框328处,授权对固件设置的远程访问。然后,可以更改固件设置。签名的请求可以包含更改设置的信息。在其他示例中,通过与远程用户的计算设备进一步通信,可以更改设置。否则,在框316处,拒绝访问。
方法300在框318处结束并且可以针对后续访问尝试而重复。如果发生太多失败的尝试,对于特定用户,则针对特定用户,重复失败的访问尝试可以被忽略。
图4示出了示例计算设备400。计算设备400可以是台式计算机、服务器、笔记本计算机、平板计算机、智能电话或类似设备。计算设备400类似于本文描述的其他计算设备,并且将仅详细描述不同之处,相同的附图标记表示相同的组件。
计算设备400包括与主处理器102分离的控制器402。控制器402执行域感知固件访问指令112以授权使用各自的本地访问公钥116和远程访问公钥118对固件110的设置114的本地访问和远程访问。
可以向控制器402提供诸如用户名或其他身份信息的用户信息404。不同的用户可以与不同的本地密钥116和远程密钥118相关联。
域感知固件访问指令112、密钥116、118和用户信息404可以存储在与存储固件110相同的非易失性存储器104中或不同的非易失性存储器中。
固件110可以向控制器402提供用户接口106和网络接口108的用户接口和网络接口功能。
因此,执行域感知固件访问指令112的控制器402可以与由处理器102执行的固件110合作,以实现用于访问固件设置114的本地信任域和远程信任域。
图5示出了通过本地信任域授权对固件设置的访问的示例方法500。方法500可以由本文描述的任何设备和系统来执行。方法500可以通过可以存储在非瞬态计算机可读介质中的处理器可执行指令组来实施。
用户可以按下502目标计算设备的按键来请求访问计算设备的固件110以更改固件110的设置。例如,在计算设备启动时,用户可以按下“F10”键来请求访问固件110。
固件110可以通过获得504可以更改设置的用户的身份来响应按键。为此,固件110可以与域感知固件访问指令112交互,该域感知固件访问指令112可以访问这类用户身份(诸如,用户名)。
然后,固件110可以显示506用户身份列表以供用户从中选择。该列表可以显示在执行固件110的计算设备的显示设备上。
然后,用户可以选择508适当的用户身份,并且作为响应,固件110可以从域感知固件访问指令112请求510加密的密码。
指令112可以生成512密码。密码可以基于一次性数值。例如,可以根据以下公式生成密码:
密码=截取(HMAC_SHA256(一次性数值,时间计数器))
其中,HMAC_SHA256是基于哈希的消息认证码或HMAC(例如,具有256位的加密哈希函数),其将一次性数值和时间计数器作为参数。一次性数值可以是随机数/伪随机数并且时间计数器可以是基于计算设备处的当前日期/时间的数字。截取操作可以减少密码的位数,以与本地用户录入的合适字符数(诸如,八位或十位)相对应。
然后,指令112可以使用基于所指示的用户身份所选择的公钥来加密514一次性数值。
然后,指令112可以将加密的密码的表示传送516到固件110。这可以包括提供加密的一次性数值、时间计数器和用于加密一次性数值的公钥的散列或类似信息以允许用户的便携式计算设备210在能够访问相关私钥的情况下再现密码。原始密码由指令112保密。
然后,固件110可以生成518诸如QR码的机器可读代码。假设可以访问私钥,该代码可以传送足以再现密码的信息,并且这类信息可以包括加密的一次性数值、时间计数器和公钥的散列。
然后,固件110可以将机器可读代码输出520到用户的便携式计算设备210。例如,当代码是QR码时,固件可以在目标计算设备的显示器上显示该代码。
如果可用,则用户的便携式计算设备210因此可以使用公钥的散列来识别522相关私钥。如果便携式计算设备210可以访问私钥,那么便携式计算设备210通过使用私钥对所加密的一次性数值进行解密,使得由指令112生成的密码被再现524,并且然后,使用计算(诸如,上面的公式)来生成密码。
用户的便携式计算设备210可以在存储器中存储私钥或者可以访问存储在服务器上的私钥。私钥可以与对应的公钥或其散列相关联地存储,并且可以使用由指令112传送的公钥的散列来识别私钥。可以在用户的便携式计算设备210处执行密码的生成。如果私钥存储在服务器处,则可以在服务器处执行密码的生成,并且可以将密码传送到用户的便携式计算设备210。
便携式计算设备210可以(诸如,通过在便携式计算设备210的显示器上显示密码)向用户输出526再现的密码。由位组成的密码被映射到一系列人工可键入的字符。
然后,用户可以通过例如在键盘上键入密码来将密码录入528目标计算设备。
然后,固件110将录入的密码传送530给指令112,指令112通过将所录入的密码与最初由指令112计算的密码进行比较来检查532所录入的密码。当所录入的密码和原始密码匹配时,指令112指示固件110授权534对设置的访问。
然后,用户可以使用计算设备的键盘或其他用户接口设备来更改设置。
图6示出了通过远程信任域授权访问固件设置的示例方法600。方法600可以由本文描述的任何设备和系统来执行。方法600可以通过可以存储在非瞬态计算机可读介质中的处理器可执行指令组来实施。
用户发起修改目标计算设备的固件设置的请求的创建602。用户远离目标计算设备并且因此使用用户可用的远程计算设备218。请求的创建可以包括用户诸如通过登录到应用程序中而提供的身份信息。用户的身份可以通过用户名和密码进行认证。该请求可以包含设置标识符和值标识符。设置标识符可以标识要更改的固件设置,并且值标识符可以标识固件设置要被设置到的值。
远程用户的计算设备218可以为用户识别604私钥。私钥可以本地存储在计算设备218或可访问用户的远程计算设备218的服务器上。私钥可以与用户的身份信息相关联。
然后,该请求可以使用私钥进行签名606。可以在计算设备218处执行签名。如果私钥存储在服务器处,那么可以在服务器处执行签名并且可以将签名的请求传送到计算设备218。
然后,可以将签名的请求传送608到目标计算设备的固件110。经由计算机网络,签名的请求可由远程用户的计算设备218或签名请求的服务器提供。固件110可以提供网络功能以允许这类远程连接。
固件110可以向域感知固件访问指令112提供610签名的请求。在其他示例中,指令112可以提供网络功能以允许远程连接,并且签名的请求可以由远程用户的计算设备218或服务器直接传送到指令112。
指令112可以使用远程访问公钥来认证612签名的请求。签名的请求可以包含标识用于认证的相关公钥的信息。如果请求被认证,那么指令112可以授权访问614请求中指示的设置。可以自动执行对包含在请求中的设置的更改。
图7示出了建立用于访问固件设置的本地信任域和远程信任域的示例服务器700。服务器700可以与本文描述的任何设备、系统和方法一起使用。
计算设备210、218可以经由计算机网络222连接到服务器700。服务器700可以接收来自计算设备210、218的请求,计算设备210、218诸如是由其固件具有要修改的设置的计算设备的本地技术人员使用的智能手机或由远程技术人员使用的笔记本计算机218等。请求可以包括对一次性数值或其他本地访问信息进行解密以及用密码进行响应以授权本地访问固件设置的请求。请求可以包括对提出的固件设置更改进行签名的请求并提供包括签名的更改的响应。
服务器700包括存储器720和处理器722以协作存储和执行指令,以及存储相关数据。
服务器700可以包括认证指令702以将计算设备210、218的用户认证为被允许对目标计算设备的固件进行更改的人。认证指令702可以实施用户名和密码认证方法或基于证书的认证方法等。认证失败的用户可能会被拒绝访问服务器,并且因此,可能会被阻止对目标计算设备的固件设置进行更改。
服务器700可以包括授权指令704以授权经认证的用户对目标计算设备执行特定的固件设置更改。授权指令704可以参考权限矩阵,该权限矩阵将用户、用户角色、用户组、用户接近度(远程或本地)、计算设备、计算设备组、固件设置和/或类似信息相互关联。例如,可以给予特定用户、特定用户角色或特定用户组对特定计算机或计算机组的固件设置进行远程修改或本地修改的权限。更改固件设置的请求可以包括足以评估用户是否被授权进行更改的信息。没有得到授权的、提出更改固件请求的用户,可能会被阻止对固件设置进行所请求的更改。
授权指令704用于识别请求用户是否被授权进行特定的固件设置更改,并且如果被授权,则从请求中获取信息,该信息可以识别用于解密(即,本地访问)或数字签名(即,远程访问)的合适的私钥。其固件设置要被更改的目标计算设备可以具有唯一的公钥或可以与工作组共享公钥等。
固件设置可以分配给本地信任域、远程信任域或本地信任域和远程信任域两者。该信息可以存储在对信任域映射714的设置中,信任域映射714将不同的固件设置映射到本地信任域和远程信任域中之一或两者中。授权指令704可以参考信任域映射714来确定对于对特定固件设置的请求更改应该被授权本地访问还是远程访问。
关于本地信任域和进行本地固件设置更改的请求,服务器700可以进一步包括解密指令706以解密作为本地质询的一部分提供给请求用户的计算设备210的一次性数值或其他本地访问信息。解密指令可以使用从存储在服务器700处的多个本地访问私钥708中选择的本地访问私钥。合适的本地访问私钥可以使用在特定质询中提供的信息(诸如,公钥的散列)来选择,并作为请求的一部分传送到服务器700。本地访问私钥708可以与本地访问公钥或其散列相关联地存储。
关于远程信任域和进行远程固件设置更改的请求,服务器700可以进一步包括签名指令710以对固件设置更改进行数字签名。多个远程访问私钥712可以存储在服务器700处。合适的远程访问私钥可以使用随请求提供的信息来选择,以进行特定固件设置更改。
本地访问私钥708和远程访问私钥712可以是单独存储和使用的不同密钥组。这可以降低来自一个信任域(例如,远程)的泄露密钥被用于未经授权地访问另一信任域(例如,本地)的风险。
指令702、704、706、710可以是存储在诸如存储器720的存储器中的指令组,或具有在不同存储器中的部分的指令组。
从上文应该显而易见的是,可以建立本地信任域和远程信任域以提供目标计算设备的固件设置的安全访问。独特的和不同的本地信任域和远程信任域可用于调整目标计算设备的固件设置,从而在固件设置管理方面提供更大的灵活性。此外,使用不同的私钥和不同的访问方法将本地信任域和远程信任域分开降低了一个域的泄露私钥可用于经由另一域创建或扩大安全漏洞的可能性。
应该认识到,上面提供的各种示例的特征和方面可以组合成也落入本公开的范围内的进一步示例。此外,各图不是按比例绘制的,并且为了说明的目的可能具有夸大的尺寸和形状。

Claims (15)

1.一种计算设备,包括:
用户接口;
网络接口;
非易失性存储器;
处理器,耦接到所述用户接口、所述网络接口和所述非易失性存储器;以及
存储在所述非易失性存储器中的指令组,其中,所述指令组在被所述处理器执行时用于:
根据设置执行所述计算设备的硬件初始化;
建立本地信任域和远程信任域;
使用本地访问公钥经由所述用户接口发出质询以授权对所述设置的本地访问;以及
使用远程访问公钥授权经由所述网络接口的远程访问以对所述设置远程访问。
2.根据权利要求1所述的计算设备,其中,所述用户接口包括显示设备,并且其中,所述指令组进一步用于:
在所述显示设备上将用所述本地访问公钥加密的、动态生成的本地访问密码的表示作为机器可读代码输出;以及
当接收到与所述动态生成的本地访问密码匹配的密码时,授权经由所述用户接口对所述设置的访问。
3.根据权利要求2所述的计算设备,其中,所述机器可读代码是图形呈现。
4.根据权利要求1所述的计算设备,其中,所述指令组进一步用于:
当从远程计算设备接收到与所述远程访问公钥相对应的签名的请求时,授权经由所述网络接口对所述设置的访问。
5.根据权利要求1所述的计算设备,其中,所述指令组用于根据多个设置来执行所述计算设备的硬件初始化,其中,所述多个设置中的每一个设置能够分配给所述本地信任域、所述远程信任域或所述本地信任域和所述远程信任域两者。
6.一种计算设备,包括:
用户接口;
网络接口;
非易失性存储器;
储存在所述非易失性存储器中的固件,所述固件根据多个固件设置来执行所述计算设备的硬件初始化;
处理器,耦接到所述用户接口、所述网络接口和所述非易失性存储器;以及
存储在所述非易失性存储器中的指令组,其中,所述指令组在被所述处理器执行时用于:
建立远程信任域以授权远程访问,从而更改所述多个固件设置中的固件设置;以及
建立本地信任域以授权本地访问,从而更改所述多个固件设置中的另一固件设置。
7.根据权利要求6所述的计算设备,其中,所述指令组用于通过认证更改所述固件设置的数字签名的请求来授权对所述远程信任域的访问。
8.根据权利要求6所述的计算设备,其中,所述指令组用于使用质询-响应过程授权对所述本地信任域的访问。
9.根据权利要求6所述的计算设备,进一步包括:分别与所述远程信任域和所述本地信任域相关联的单独的远程访问公钥和本地访问公钥。
10.根据权利要求9所述的计算设备,其中,所述指令组进一步用于:
确定更改特定固件设置的请求是在所述远程信任域还是所述本地信任域中;以及
基于所述确定从所述远程访问公钥和所述本地访问公钥中选择公钥。
11.根据权利要求6所述的计算设备,进一步包括执行所述指令组的控制器。
12.根据权利要求6所述的计算设备,其中,所述多个固件设置中的每一个固件设置能够分配给所述本地信任域、所述远程信任域或所述本地信任域和所述远程信任域两者。
13.一种计算设备,包括:
存储器;
处理器,用于执行存储在所述存储器中的指令;
指令组,用于认证更改目标计算设备的固件设置的请求,其中,所述指令组存储在所述存储器中;
其中,所述指令组进一步用于确定所述请求是来自实际在所述目标计算设备处的本地计算设备的本地请求还是来自经由计算机网络连接到所述目标计算设备的远程计算设备的远程请求;
其中,如果所述请求是所述本地请求,则所述指令组进一步用于基于所述请求中的信息生成密码,所述密码将提供给所述目标计算设备以访问所述固件设置;并且
其中,如果所述请求是所述远程请求,则所述指令组进一步用于生成签名的请求,其中,所述签名的请求将被提供给所述目标计算设备以访问固件设置。
14.根据权利要求13所述的计算设备,其中,所述指令组通过使用本地访问公钥解密所述请求中的信息来生成所述密码。
15.根据权利要求13所述的计算设备,其中,所述指令组使用远程访问公钥来签名所述请求。
CN201980090723.6A 2019-02-28 2019-02-28 使用非对称密码访问固件设置 Pending CN113366461A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/020143 WO2020176110A1 (en) 2019-02-28 2019-02-28 Access to firmware settings with asymmetric cryptography

Publications (1)

Publication Number Publication Date
CN113366461A true CN113366461A (zh) 2021-09-07

Family

ID=72240120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980090723.6A Pending CN113366461A (zh) 2019-02-28 2019-02-28 使用非对称密码访问固件设置

Country Status (4)

Country Link
US (1) US11914713B2 (zh)
EP (1) EP3891619B1 (zh)
CN (1) CN113366461A (zh)
WO (1) WO2020176110A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230177161A1 (en) * 2021-12-08 2023-06-08 Hewlett-Packard Development Company, L.P. Bios change requests signings based on passwords
WO2023184203A1 (en) * 2022-03-30 2023-10-05 Intel Corporation Techniques to implement confidential computing with a remote device via use of trust domains
US20240080315A1 (en) 2022-09-01 2024-03-07 Biosense Webster (Israel) Ltd. Online authentication for medical devices

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084342A1 (en) * 2001-10-30 2003-05-01 Girard Luke E. Mechanism to improve authentication for remote management of a computer system
US6633981B1 (en) * 1999-06-18 2003-10-14 Intel Corporation Electronic system and method for controlling access through user authentication
US20050044363A1 (en) * 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US20110246757A1 (en) * 2010-04-02 2011-10-06 Gyan Prakash Unattended secure remote pc client wake, boot and remote login using smart phone
CN102460458A (zh) * 2009-06-17 2012-05-16 微软公司 存储设备的远程访问控制
US20140325639A1 (en) * 2013-04-26 2014-10-30 Kabushiki Kaisha Toshiba Electronic device and authentication method
CN104885093A (zh) * 2012-12-12 2015-09-02 思杰系统有限公司 基于加密的数据访问管理
US9288208B1 (en) * 2013-09-06 2016-03-15 Amazon Technologies, Inc. Cryptographic key escrow
US20170019396A1 (en) * 2009-02-03 2017-01-19 Inbay Technologies Inc. Method and system for establishing trusted communication using a security device
US20170168851A1 (en) * 2015-12-09 2017-06-15 Quanta Computer Inc. System and method for managing bios setting configurations
US20170286705A1 (en) * 2016-04-05 2017-10-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Tpm 2.0 platform hierarchy authentication after uefi post
US20170302640A1 (en) * 2016-04-18 2017-10-19 Atmel Corporation Message authentication with secure code verification

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19732872C2 (de) 1997-07-30 2002-04-18 Vacuumschmelze Gmbh Anzeigeelement für die Verwendung in einem magnetischen Diebstahlsicherungssystem
US7467399B2 (en) * 2004-03-31 2008-12-16 International Business Machines Corporation Context-sensitive confidentiality within federated environments
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7900252B2 (en) 2006-08-28 2011-03-01 Lenovo (Singapore) Pte. Ltd. Method and apparatus for managing shared passwords on a multi-user computer
JPWO2010097925A1 (ja) 2009-02-26 2012-08-30 株式会社日立製作所 情報処理装置
US8893215B2 (en) 2010-10-29 2014-11-18 Nokia Corporation Method and apparatus for providing distributed policy management
US20130019281A1 (en) 2011-07-11 2013-01-17 Cisco Technology, Inc. Server Based Remote Authentication for BIOS
DE102012101876A1 (de) 2012-03-06 2013-09-12 Wincor Nixdorf International Gmbh PC Absicherung durch BIOS/(U) EFI Erweiterungen
US10498623B2 (en) * 2012-06-27 2019-12-03 Ubiquiti Inc. Method and apparatus for monitoring and processing sensor data using a sensor-interfacing device
US8782774B1 (en) * 2013-03-07 2014-07-15 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US10389709B2 (en) 2014-02-24 2019-08-20 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources
US9563773B2 (en) 2014-02-26 2017-02-07 Dell Products L.P. Systems and methods for securing BIOS variables
US10069623B2 (en) * 2015-09-14 2018-09-04 Oath Inc. Method and system for exchanging cryptographic keys with an unauthenticated device
CN106648591A (zh) 2016-09-29 2017-05-10 济南浪潮高新科技投资发展有限公司 一种基于硬件加密的uefi bios系统安全升级方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633981B1 (en) * 1999-06-18 2003-10-14 Intel Corporation Electronic system and method for controlling access through user authentication
US20030084342A1 (en) * 2001-10-30 2003-05-01 Girard Luke E. Mechanism to improve authentication for remote management of a computer system
US20050044363A1 (en) * 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US20170019396A1 (en) * 2009-02-03 2017-01-19 Inbay Technologies Inc. Method and system for establishing trusted communication using a security device
CN102460458A (zh) * 2009-06-17 2012-05-16 微软公司 存储设备的远程访问控制
US20110246757A1 (en) * 2010-04-02 2011-10-06 Gyan Prakash Unattended secure remote pc client wake, boot and remote login using smart phone
CN104885093A (zh) * 2012-12-12 2015-09-02 思杰系统有限公司 基于加密的数据访问管理
US20140325639A1 (en) * 2013-04-26 2014-10-30 Kabushiki Kaisha Toshiba Electronic device and authentication method
US9288208B1 (en) * 2013-09-06 2016-03-15 Amazon Technologies, Inc. Cryptographic key escrow
US20170168851A1 (en) * 2015-12-09 2017-06-15 Quanta Computer Inc. System and method for managing bios setting configurations
US20170286705A1 (en) * 2016-04-05 2017-10-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Tpm 2.0 platform hierarchy authentication after uefi post
CN107292176A (zh) * 2016-04-05 2017-10-24 联想企业解决方案(新加坡)有限公司 用于访问计算设备的可信平台模块的方法和系统
US20170302640A1 (en) * 2016-04-18 2017-10-19 Atmel Corporation Message authentication with secure code verification

Also Published As

Publication number Publication date
EP3891619A4 (en) 2022-06-29
US11914713B2 (en) 2024-02-27
EP3891619B1 (en) 2023-09-27
EP3891619A1 (en) 2021-10-13
WO2020176110A1 (en) 2020-09-03
US20210382996A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
US10541995B1 (en) First factor contactless card authentication system and method
JP6703151B2 (ja) ブルートゥースインタフェースを備える認証装置
KR102117584B1 (ko) 로컬 디바이스 인증
US9185096B2 (en) Identity verification
US9467430B2 (en) Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware
US20180082050A1 (en) Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US20210399895A1 (en) Systems and Methods for Single-Step Out-of-Band Authentication
US9992029B1 (en) Systems and methods for providing authentication to a plurality of devices
US8468361B2 (en) System and method for securely provisioning and generating one-time-passwords in a remote device
JP6399382B2 (ja) 認証システム
US11544365B2 (en) Authentication system using a visual representation of an authentication challenge
US7581111B2 (en) System, method and apparatus for transparently granting access to a selected device using an automatically generated credential
US10411894B1 (en) Authentication based on unique encoded codes
CN112425114A (zh) 受公钥-私钥对保护的密码管理器
US8397281B2 (en) Service assisted secret provisioning
US9942042B1 (en) Key containers for securely asserting user authentication
CN110874478A (zh) 密钥处理方法及装置、存储介质和处理器
US11914713B2 (en) Access to firmware settings with asymmetric cryptography
KR102012262B1 (ko) 키 관리 방법 및 fido 소프트웨어 인증장치
WO2021111824A1 (ja) 電子署名システム及び耐タンパ装置
JP2018117185A (ja) 情報処理装置、情報処理方法
CN114760070A (zh) 数字证书颁发方法、数字证书颁发中心和可读存储介质
JP2020078067A (ja) モバイルデバイスを有するユーザがスタンドアロンコンピューティングデバイスの能力にアクセスすることをセキュアに可能にするためのシステム及び方法
Mitra et al. TUSH-Key: Transferable User Secrets on Hardware Key

Legal Events

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