CN1353365A - 在非安全编程环境中安全密码的使用方法 - Google Patents

在非安全编程环境中安全密码的使用方法 Download PDF

Info

Publication number
CN1353365A
CN1353365A CN01137830A CN01137830A CN1353365A CN 1353365 A CN1353365 A CN 1353365A CN 01137830 A CN01137830 A CN 01137830A CN 01137830 A CN01137830 A CN 01137830A CN 1353365 A CN1353365 A CN 1353365A
Authority
CN
China
Prior art keywords
password
routine
memory
private data
operating system
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.)
Granted
Application number
CN01137830A
Other languages
English (en)
Other versions
CN1185584C (zh
Inventor
约瑟夫·W·弗里曼
兰达尔·S·斯普灵费尔德
史蒂文·D·古德曼
埃萨安·卡伯尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1353365A publication Critical patent/CN1353365A/zh
Application granted granted Critical
Publication of CN1185584C publication Critical patent/CN1185584C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Abstract

在开电初始化期间,保密数据(比如存储于可锁存储器的密码和其它敏感数据)被读取并复制到受保护的系统管理中断(SMI)内存空间,接受SMI内存空间中运行的代码的校验,验证写保密数据的调用是否来自可信实体。保密数据一旦复制到SMI内存空间就从常规系统内存中删除,而可锁存储器在启动操作系统前将被死锁(解锁需一个复位信号)以防直接访问。在SMI内存空间中的保密数据备份,对操作系统而言是不可见的。另一方面,操作系统可以给SMI内存空间中运行的代码发送调用,以检查用户所输密码,并用SMI代码返回“匹配”或“不匹配”指示。于是,在可锁存储器被死锁且启动操作系统之后,可以使用保密数据。

Description

在非安全编程环境中安全密码的使用方法
技术领域
本发明主要涉及数据处理系统访问控制,具体而言是涉及开电初始化期间的密码控制访问。更具体的说,本发明涉及开电初始化期间,当操作系统认可所用密码时,该密码的安全保护。
背景技术
很多个人计算机系统在操作系统启动之前,使用各种密码配置来控制系统行为。例如,多用户使用一个系统时,为选定操作系统性能,可用密码设置“参数选择”或操作系统行为的用户特殊属性。
一个潜在的安全问题出在密码如何存于系统中。特别是在低成本系统上,此类密码一般存于CMOS存储器中,操作系统启动后运行一个程序可以很容易地读出它来。可采用很多存储技术来存储密码,使其比普通ASCII文本串更难访问。比如存储键盘扫描码串,以及存储ASCII文本串或键盘扫描码串的哈希表。
最安全的密码存储技术,是将密码保存于一非易失性存储器中,该存储器在操作系统启动之前,可被“死”锁(即解锁需要复位)。在一些系统上,其它几种敏感的信息(比如启动设备列表的顺序)也存于该可锁存储器中。
由于该技术防止在操作系统启动后访问密码,在非“启动前”环境的其它任何环境中,都不使用密码。然而,在某些情况下,可能需要在启动操作系统之后在操作中用密码来校验用户身份。
因而,可能需这样一种机制,既能维护“启动前”密码的安全,同时又允许在操作系统启动后使用这些密码。
发明内容
因此,本发明的一个目标是,提供改进的数据处理系统访问控制。
本发明的另一个目标是,在开电初始化期间及之后,提供改进的密码控制访问。
本发明还有一个目标就是,提供这样一种机制,既能保证在开电初始化期间所用密码的安全,又允许由操作系统使用该密码。
现在说明如何达成上述目标。在开电初始化期间,保密数据(比如可锁存储器中存储的密码和其它敏感数据)被读取并复制到受保护的系统管理中断(SMI)内存空间,接受SMI内存空间中运行的代码校验,验证写保密数据的命令是否来自可信实体。保密数据一旦复制到SMI内存空间,就从常规系统内存中删除,可锁存储器被死锁(解除锁定需要复位)以防在启动操作系统前的直接访问。SMI内存空间中的保密数据备份对操作系统是不可见的。另一方面,操作系统可发送一个命令给SMI内存空间中运行的代码,来检测用户所输密码,并用SMI代码返回“匹配”或“不匹配”指示。因此,在可锁存储器被死锁和启动操作系统之后,就可使用保密数据。
本发明的上述以及其它目标、功能和优点,在下面的详细说明中将变得一目了然。
附图的简要说明
本发明具显著特征的新功能,在后面的权利要求中说明。参照下述对实施例的详细说明,并结合附图,该发明本身、优选实施模式及其它进一步的目标和优点,将得到最好的理解。其中:
图1是一个数据处理系统的高级方框图,本发明的优选实施例在该系统中执行;
图2是一个进程的高级流程图,根据本发明的优选实施例,在开电初始化期间,该进程从非易失性存储器中采集保密数据,确保这些SMI内存空间中数据的安全,以便稍后在操作系统环境中使用;
图3是一个进程的高级流程图,根据本发明的优选实施例,检查执行特定操作所需密码的有效性。
具体实施方式
现在参照附图,特别是图1,描述一个实施了本发明优选实施例的数据处理系统的高级模块图。数据处理系统102包含一个处理器104,它通过高速缓冲存储器106与系统总线108连接。各种常用的存储器被连接到系统总线108上,它们包括系统内存110(典型随机存储器),一组非易失性只读存储器(ROM)和/或电可擦除可编程只读存储器(EEPROM)112。在本发明中,数据处理系统102还包含一个“可锁定”的EEPROM设备114,它在操作系统启动前可被死锁,解锁需要复位。
连在系统总线108上的还有非易失性存储器116(比如硬盘驱动器),和一组用户输入/输出(I/O)设备118,它通常包括键盘、鼠标或其它光标控制(“指针”)设备。其它存储介质(比如CR-ROM或DVD驱动器、软盘驱动器等),以及其它用户I/O设备(比如麦克风、扬声器/耳机等),也可用于数据处理系统102中。
数据处理系统102的操作在相关技术中广为人知,这里将只描述理解本发明所需的操作。在数据处理系统102的初始开电(一般称作“开电自检”或“POST”)期间,一个包含基本输入/输出系统(BIOS)120的启动例程,由非易失性存储器112加载到系统内存110中,通过加载设备驱动程序和/或设置系统参数等执行该例程以配置数据处理系统102中的各种硬件设备。随后,操作系统从非易失性存储器116中加载和启动。
在操作系统启动之前,启动例程提示用户输入密码。一旦用户输入密码,启动例程比较输入密码和可锁存储器114所存密码。若匹配,启动操作系统;若不匹配,操作系统要么不启动,要么启动后缺少一些功能。无论如何,启动操作系统前,可锁存储器114将被死锁,以防操作系统上运行的程序对其内容的任何直接访问。
要在启动例程的“引导前”环境外也能应用密码,则在系统启动过程中,当BIOS仍在完全控制数据处理系统102时,则读取包含密码和其它敏感数据的可锁存储器114,并将其内容复制到系统内存110的保密分区122中。系统内存110的保密分区122对操作系统是不可见的,要访问保密分区122的内容,须紧密结合规定的方法。
对于Intel兼容处理器,范例102中的保密存储区域122是系统管理中断(SMI)内存空间。SMI内存空间包含低级的、操作系统独立的系统控制功能所需的代码和数据,并且采用一种方法,来验证请求将数据放入SMI内存空间的调用程序是否为可信实体(BIOS启动例程属这种可信实体)。对于其它类型的处理器,可使用一个类似的受限存储空间,它(1)对于操作系统和操作系统下运行的程序是不可见的,且(2)限于访问可信实体。
在密码和其它敏感数据被复制到SMI内存空间之后,可锁存储器114被死锁以确保内容安全,避免由操作系统下运行的程序的直接存取。既然密码和其它敏感数据在SMI内存空间中仍然可用,它们在操作系统引导后也仍可用。
参照图2,这是一个进程的高级流程图,根据本发明的优选实施例,在开电初始化期间,从非易失性存储器中采集保密数据,并确保SMI内存空间中这些数据的安全以便稍后在操作系统环境中使用。该流程图描述了哪些步骤由常规POST代码执行,哪些步骤由SMI内存空间运行的代码执行。
进程从步骤202开始,在这一步,在开电初始化(POST)期间,给出开电复位信号,作为对系统加电(之前电源断开)或对系统内某输入/输出设备写入的结果。开电复位信号复位非易失性存储器(范例中的EEPROM)的锁定状态,该存储器包含密码和其它敏感数据,并且允许使用POST BIOS代码读出EEPROM的内容。
进程首先执行至步骤204,在这一步,将保密数据(密码和其它敏感数据)由EEPROM加载入常规系统内存,随后执行步骤206,在这一步,用“由常规内存获取保密数据并送入SMI内存”命令,调用SMI内存空间中的代码。初始化SMI空间运行的代码、命令调用规范和传递据指针等方法,都是众所周知的技术,这里不再重述。
对下一步而言,重要的是,当POST代码调用SMI空间中运行的代码时,一个标识被放入紧跟调用SMI代码的命令的源代码中。当汇编BIOS时,为便于下一步操作,该标识的地址被置于SMI代码内。BIOS代码内,只有一个位置可发出对SMI代码的调用,同时使SMI代码能够确定该调用是否来自“可信”调用程序。
进程随后执行步骤208,在这一步判断请求是否为第一个请求。范例中,对于每次开电周期,通过将向SMI内存空间复制数据的能力限于单一请求,使得只有一个请求能将数据复制到SMI内存空间。也可选用其它类似的保密方法,限制向SMI内存空间复制数据。若步骤208处的请求被判定非第一请求,则进程执行步骤214;若是第一请求,则进程执行步骤210,在这一步在堆栈上检查返回地址(用来判断调用是否来自BIOSPOST代码中的唯一可信例程),然后执行步骤212,在这一步判断调用是否来自BIOSPOST代码中的可信例程。若否,进程执行步骤214,在这一步立即返回调用程序,对SMI内存空间的保密数据区不做任何操作。若调用不是来自BIOS POST可信例程,调用实质上被取消,同时阻挡试图将伪保密数据加载入SMI内存空间的程序的侵袭。
若调用来自BIOS POST代码内的可信调用程序,则进程执行步骤216,在这一步SMI内存空间中运行的代码将保密数据从常规系统内存移入SMI内存空间。SMI内存空间对于常规系统内存运行的代码是不可见的,对于操作系统运行时执行的任何应用程序都是如此。进程随后执行步骤218,在这一步为访问SMI内存空间的保密数据,将重试计数器复位。
由步骤214或218,进程执行至步骤220,在这一步,删除常规系统内存中的保密数据,并向EEPROM发送命令,“死锁”EEPROM以防任何读或写EEPROM的企图(即,读EEPROM中数据返回空;写数据至EEPROM无效)。这个“死锁”状态只有通过前述开电复位信号(与步骤202有关)才能清除。
进程随后执行步骤222,在这一步运行任何“不可靠”的BIOS扩展,并加载操作系统,然后执行步骤224,此处,进程停顿直至再次给出复位信号。
现在参照图3,描述一个进程的高级流程图,根据本发明的优选实施例,该进程检查执行特定操作所需密码的有效性。尽管此例明确涉及密码,但对那些本领域熟练的技术人员,显然也可将它扩展到其它类型敏感数据。进程始于步骤302,在这一步,操作系统下运行的应用程序,调用SMI内存空间中的代码确定系统上是否已设置了密码。
进程执行至步骤304,在这一步SMI代码检查SMI内存空间中的保密数据以确定密码是否存在,并返回“是”或“否”响应调用程序,表明是否设置了密码。进程随后执行步骤306,在这一步操作系统下运行的应用程序根据响应判断是否要求密码。若设置了密码,进程执行步骤308,在这一步操作系统下运行的应用程序提示用户输入一个密码串,并调用SMI代码来判断所输密码串是否匹配SMI内存空间中的密码串。
进程执行至步骤310,在这一步重试计数器(在图2的步骤216中复位)加1,接着执行步骤312,在这一步判断重试计数器值是否超出预定的、可重试的最大数。这一步在用户所输密码与SMI内存空间所存密码不匹配时,只允许重试几次,以阻止一些代码试图通过反复提交不同密码来破解密码(例如,向操作系统下运行的应用程序提供一个字典)。
若重试计数器值超出允许重试的最大数,进程执行步骤314,在这一步向操作系统下运行的应用程序返回“不匹配”指示。若重试计数器值未超出允许重试的最大数,则进程执行步骤316,在这一步SMI代码以SMI内存空间内的密码为对照,检查用户所输密码,并对操作系统下运行的应用程序,相应返回“匹配”或“不匹配”指示。
由步骤314或316,进程执行至步骤318,在这一步检查返回指示,随后到步骤320,在这一步判定返回的是否为“匹配”指示。若否,进程返回到步骤308,提示用户重输密码。若是,进程转至步骤322,在这一步,应用程序继续执行要求密码的任务,直至要求另一个密码。
如何使用本发明的一个例子是,对于快速内存更新操作要求密码认可。在过去,对于使用存于可锁非易失性内存的密码来更新快速内存而言,在非最基本DOS环境的任何操作系统下,要求密码认可都是不切实际的。然而,采用本发明,快速内存更新程序可调用SMI内存空间内的代码,并询问执行快速内存更新操作前是否要求密码。若答案为“是”,快速内存更新程序提示用户输入密码。密码输入后,调用SMI代码,来检查输入密码的有效性。SMI代码将输入密码与安全存储于SMI内存空间的数据进行比较,并对快速内存更新程序返回好/坏的指示。
对操作系统下运行的应用程序而言,当允许以安全的方式使用密码时,本发明使在操作系统启动之前锁定的存储器中所存密码的安全得到保护。SMI内存空间内运行的代码用来校验输入密码,由于该密码对于操作系统不可见,从而保护了密码的安全。
重要的是应注意到,虽然本发明是在全功能的数据处理系统和/或网络的环境中进行说明的,那些本领域的技术人员应该认识到本发明的机制能够以各种形式配置于计算机指令的可用介质形式中,并且无论实际实现分配所用的具体信号承载介质类型如何,本发明的效果都是等同的。计算机可用介质的例子包括:非易失性、硬编码式介质,比如只读存储器(ROM)或电可擦除可编程只读存储器(EEPROM),可记录介质,比如软盘、硬盘驱动器和CD-ROM,以及传输介质,比如数字式和模拟式通信链路。
虽然本发明是参照优选实施例进行具体说明和描述,那些本领域的技术人员应该明白,只要不偏离本发明的本质和范围,在形式和细节上可进行各种变化。

Claims (33)

1.可使用安全密码的方法,包含:
在开电初始化期间,启动操作系统之前,将保密数据从存储器复制到系统内存的保密分区(对操作系统是不可见的)中;
在启动操作系统之前,死锁存储器以防直接存取,解除锁定需要一个复位信号。
2.根据权利要求1的方法,进一步包含:
作为对操作系统下接收输入密码的响应,调用系统内存的保密分区内运行的例程,来校验该密码;
从该例程接收关于所输密码是否匹配从存储器复制到保密分区的保密数据中的密码的指示。
3.根据权利要求1的方法,其中,将保密数据从存储器复制到系统内存的保密分区(对操作系统是不可见的)的步骤,进一步包含:
检查复制保密数据的调用请求的返回地址,验证该调用是否来自可信例程。
4.根据权利要求3的方法,其中,对于复制保密数据的调用请求检查其返回地址,以校验该调用是否来自可信例程的步骤,进一步包含:
在基本输入/输出服务例程内设置一个标识,在复制保密数据的调用请求指令后,立即执行复制保密数据的过程;
为系统内存的保密分区内运行的代码中的标识设置一个地址,并检查复制保密数据调用请求的返回地址;
比较返回地址和标识地址;
作为对判定返回地址不匹配标识地址的响应,对复制保密数据的调用请求返回空;
作为对判定返回地址匹配标识地址的响应,复制保密数据至系统内存的保密分区并复位重试计数器。
5.根据权利要求1的方法,其中,将保密数据从存储器复制到系统内存的保密分区(该分区对操作系统是不可见的)的步骤,进一步包含:
复制密码和其它需要保护以避免操作系统下访问的敏感数据。
6.根据权利要求1的方法,其中,将保密数据从存储器复制到系统内存的保密分区(该分区对操作系统是不可见的)的步骤,进一步包含:
在初启复制保密数据的调用请求前,将保密数据加载到常规系统内存中;以及
在接收到复制保密数据请求的任何响应后,在启动操作系统之前,从常规系统内存中删除保密数据。
7.可使用安全密码的方法,包含:
作为对操作系统下接收输入密码的响应,调用系统内存的保密分区内运行的例程,来校验该密码,其中保密分区对操作系统是不可见的,并且操作系统与运行于保密分区的例程之间的通信符合调用规范;以及
从系统内存的保密分区内运行的例程只接受关于所输密码是否匹配保密分区所存密码的一个指示。
8.根据权利要求7的方法,进一步包含:
在开电初始化期间,启动操作系统之前,将密码从存储器复制到系统内存的保密分区;以及
在启动操作系统之前,死锁存储器以防直接存取,解除锁定需要一个复位信号。
9.根据权利要求7的方法,进一步包含:
通过检查系统内存的保密分区内运行的例程检验密码是否存在,以判定一个操作是否需要密码。
10.根据权利要求7的方法,进一步包含:
限制用户重新输入密码的重试次数。
11.根据权利要求7的方法,进一步包含:
将用户所输密码以符合调用规范的方式,传送给系统内存的保密分区内运行的例程;以及
从内存保密分区内运行的例程接收所输密码匹配保密分区所存密码的指示,作为对该指示的响应,继续执行需要所输密码才可执行的操作。
12.一个数据处理系统,包含:
一个存储器,它可被死锁以防直接存取,解除锁定需要一个复位信号;
一个数据处理系统中运行的开电初始化例程,其中,该开电初始化例程在启动操作系统之前,将保密数据从存储器复制到系统内存的保密分区中(该分区对操作系统是不可见的),并死锁存储器。
13.根据权利要求12的数据处理系统,其中,开电初始化例程,作为对接收一个操作系统下输入密码的响应,调用系统内存的保密分区中运行的例程,来校验该密码,并从该例程中接收关于所输密码是否匹配从存储器复制到保密分区的保密数据中密码的一个指示。
14.根据权利要求13的数据处理系统,其中,在系统内存的保密分区内运行的例程,检查复制保密数据的调用请求的返回地址,以校验该调用是否来自可信例程。
15.根据权利要求13的数据处理系统,其中,开电初始化例程,为便于通过检查复制保密数据的调用请求的返回地址来检验该调用是否来自可信例程,在基本输入/输出服务例程中设置一个标识,在复制保密数据的请求指令之后,立即执行复制保密数据的过程,其中,在系统内存的保密分区内运行的例程包含该标识地址,检查复制保密数据调用请求的返回地址,并比较返回地址和标识地址,并且作为对判断二者不匹配的响应,对复制保密数据的调用请求返回空,作为对判断二者匹配的响应,将保密数据复制到系统内存的保密分区,并复位重试计数器。
16.根据权利要求12的数据处理系统,其中,开电初始化例程复制密码和其它需要保护以避免操作系统下访问的敏感数据。
17.根据权利要求12的数据处理系统,其中,开电初始化例程,在初启复制保密数据的调用请求前,将保密数据加载到常规系统内存中,并在接收到复制保密数据调用请求的任何响应后,在启动操作系统之前,从常规系统内存中删除保密数据。
18.数据处理系统,包含:
一个操作系统;
一个存储器,它可被死锁以防直接存取,解除锁定需要一个复位信号;
一个系统内存,它包含一个操作系统不可见的保密分区,其中,操作系统与运行于系统内存的保密分区内的例程之间的通信符合调用规范;
数据处理系统中运行的开电初始化例程,其中,开电初始化例程作为对操作系统下接收输入密码的响应,调用系统内存的保密分区内运行的例程,来校验该密码,并从内存保密分区中运行的例程中只接收关于输入密码是否匹配保密分区所存密码的一个指示。
19.根据权利要求18的数据处理系统,其中,开电初始化例程,在开电初始化期间,启动操作系统之前,将密码从存储器复制到系统内存的保密分区,并且在启动操作系统之前,死锁存储器以防直接存取,解除锁定需要一个复位信号。
20.根据权利要求18的数据处理系统,其中,开电初始化例程,通过检查系统内存的保密分区内运行的例程来验证密码是否存在,以判定一个操作是否需要密码。
21.根据权利要求18的数据处理系统,其中,在系统内存的保密分区内运行以校验密码的例程,限定用户重新输入密码的重试次数。
22.根据权利要求18的数据处理系统,其中,开电初始化例程,以符合调用规范的方式,将用户输入密码传送至系统内存的保密分区内运行的例程,并且响应从内存保密分区中运行的例程中接收的、所输密码匹配保密分区所存密码的指示,继续执行需要所输密码才能执行的操作。
23.可使用安全密码的、计算机可用介质上的计算机程序产品,包含:
开电初始化期间,启动操作系统之前,将保密数据从存储器复制到系统内存的保密分区(对操作系统不可见)的指令;
死锁存储器以防直接存取的指令,启动操作系统前,解除锁定需要一个复位信号。
24.根据权利要求23的计算机程序产品,进一步包含:
作为操作系统下接收输入密码的响应,调用系统内存的保密分区内运行的例程以校验该密码的指令;
从该例程中接收一个指示的指令,该指示反映所输密码是否匹配从存储器复制到系统内存的保密分区的保密数据中的密码。
25.根据权利要求23的计算机程序产品,其中,将保密数据从存储器复制到系统内存的保密分区(对操作系统不可见)的指令,进一步包含:
检查复制保密数据的调用请求的返回地址以验证该调用是否来自可信例程的指令。
26.根据权利要求25的计算机程序产品,其中,检查复制保密数据的调用请求的返回地址以验证该调用是否来自可信例程的指令,进一步包含:
在基本输入/输出服务例程内设置标识,在复制保密数据调用请求指令后,立即执行复制保密数据过程的指令;
在系统内存的保密分区内运行且检查复制保密数据的调用请求的返回地址的代码内的标识地址;
比较返回地址和标识地址的指令;
作为对判定返回地址不匹配标识地址的响应,对复制保密数据的调用请求返回空的指令;
作为对判定返回地址匹配标识地址的响应,复制保密数据至系统内存的保密分区并复位重试计数器的指令。
27.根据权利要求23的计算机程序产品,其中,将保密数据从存储器复制到系统内存的保密分区(对操作系统而言是不可见的)的指令,进一步包含:
复制密码和其它需要保护以避免操作系统下访问的敏感数据的指令。
28.根据权利要求23的计算机程序产品,其中,将保密数据从存储器复制到系统内存的保密分区(对操作系统而言是不可见的)的指令,进一步包含:
在初启复制保密数据的调用请求之前,将保密数据加载到常规系统内存的指令;以及
在接收到复制保密数据的调用请求的任何响应后,启动操作系统之前,将保密数据从常规系统内存中删除的指令。
29.能使用安全密码的、计算机可用介质上的计算机程序产品,包含:
作为对操作系统下接收输入密码的响应,调用系统内存的保密分区内运行的例程来校验该密码的指令,其中,系统内存的保密分区对操作系统不可见,且操作系统与保密分区内运行的例程之间的通信符合调用规范;
从内存保密分区内运行的例程只接收关于所输密码是否与保密分区所存密码匹配的指示的指令。
30.根据权利要求29的计算机程序产品,进一步包含:
在开电初始化期间,启动操作系统之前,将密码从存储器复制到系统内存的保密分区的指令;以及
死锁存储器以防直接访问的指令,在启动操作系统前解除锁定需要一个复位信号。
31.根据权利要求29的计算机程序产品,进一步包含:
通过检查系统内存的保密分区内运行的例程以验证密码是否存在,来判断一个操作是否需要密码的指令。
32.根据权利要求29的计算机程序产品,进一步包含:
限制用户重新输入密码的重试次数的指令。
33.根据权利要求29的计算机程序产品,进一步包含:
以符合调用规范的方式,将用户所输密码传送给系统内存的保密分区内运行的例程的指令;以及
响应从内存保密分区中运行的例程接收到所输密码与保密分区所存密码匹配的指示,继续执行需所输密码才可执行的操作的指令。
CNB011378301A 2000-11-09 2001-11-08 在非安全编程环境中安全密码的使用方法 Expired - Fee Related CN1185584C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/711,028 US7200761B1 (en) 2000-11-09 2000-11-09 Method to use secure passwords in an unsecure program environment
US09/711,028 2000-11-09

Publications (2)

Publication Number Publication Date
CN1353365A true CN1353365A (zh) 2002-06-12
CN1185584C CN1185584C (zh) 2005-01-19

Family

ID=24856491

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011378301A Expired - Fee Related CN1185584C (zh) 2000-11-09 2001-11-08 在非安全编程环境中安全密码的使用方法

Country Status (4)

Country Link
US (1) US7200761B1 (zh)
KR (1) KR100486639B1 (zh)
CN (1) CN1185584C (zh)
TW (1) TW546565B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100356351C (zh) * 2002-11-21 2007-12-19 国际商业机器公司 用于进行代码验证的系统和方法
CN100369009C (zh) * 2004-12-30 2008-02-13 英业达股份有限公司 使用系统管理中断信号的监控系统及方法
CN101387990B (zh) * 2007-09-14 2011-06-08 盛群半导体股份有限公司 微控制器程序内存的数据封锁方法、系统及微控制器
CN101369304B (zh) * 2007-08-13 2011-08-24 华硕电脑股份有限公司 计算机系统开机和硬盘数据保护方法,与其数据保护模块
CN1910531B (zh) * 2003-12-30 2012-05-30 意大利电信股份公司 数据资源的密钥控制使用的方法和系统以及相关网络
CN102682227A (zh) * 2011-03-09 2012-09-19 国民技术股份有限公司 一种增强tcm应用的方法及系统、可信计算处理方法
US8775799B2 (en) 2006-05-09 2014-07-08 Samsung Electronics Co., Ltd. Apparatus and method of securely moving security data

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395434B2 (en) * 2002-05-01 2008-07-01 Hewlett-Packard Development Company, L.P. Method for secure storage and verification of the administrator, power-on password and configuration information
US7974416B2 (en) 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
US20060294364A1 (en) * 2003-10-02 2006-12-28 Toru Sasabe Security system for electronic device
JP4550526B2 (ja) * 2004-08-27 2010-09-22 レノボ シンガポール プライヴェート リミテッド 情報処理システム、情報処理装置、登録サーバ、制御プログラム、及び制御方法
US8613107B2 (en) * 2005-03-16 2013-12-17 Dt Labs Development, Llc System, method and apparatus for electronically protecting data associated with RFID tags
US8261058B2 (en) * 2005-03-16 2012-09-04 Dt Labs, Llc System, method and apparatus for electronically protecting data and digital content
US10636040B2 (en) 2005-03-16 2020-04-28 Dt Labs, Llc Apparatus for customer authentication of an item
US7937579B2 (en) * 2005-03-16 2011-05-03 Dt Labs, Llc System, method and apparatus for electronically protecting data and digital content
US20100005509A1 (en) * 2005-03-16 2010-01-07 Dt Labs, Llc System, method and apparatus for electronically protecting data and digital content
US7941376B2 (en) * 2005-03-16 2011-05-10 Dt Labs, Llc System and method for customer authentication of an item
US7552467B2 (en) * 2006-04-24 2009-06-23 Jeffrey Dean Lindsay Security systems for protecting an asset
US8285851B2 (en) * 2007-01-08 2012-10-09 Apple Inc. Pairing a media server and a media client
JP4359636B2 (ja) * 2007-07-06 2009-11-04 京セラミタ株式会社 認証装置、認証方法及び認証プログラム
KR101249831B1 (ko) * 2007-08-06 2013-04-05 삼성전자주식회사 컴퓨터 시스템 및 그 부팅 방법
TW200907803A (en) * 2007-08-13 2009-02-16 Asustek Comp Inc Method for excuting power-on procedure and protecting hard disk drive data of computer and data protection module thereof
CN101216807B (zh) * 2008-01-03 2010-12-01 无敌科技(西安)有限公司 一种硬盘的防拷方法
US8924306B2 (en) * 2008-02-20 2014-12-30 International Business Machines Corporation Remote computer rebooting tool
WO2010134902A1 (en) * 2009-05-18 2010-11-25 Hewlett-Packard Development Company, L.P. Systems and methods of determining a trust level from system management mode
US9355282B2 (en) * 2010-03-24 2016-05-31 Red Hat, Inc. Using multiple display servers to protect data
CN102270162B (zh) * 2011-07-29 2013-01-16 中国航天科技集团公司第五研究院第五一三研究所 一种应用于sparcv8结构计算机的容错引导方法
US20140283060A1 (en) * 2013-03-15 2014-09-18 Oracle International Corporation Mitigating vulnerabilities associated with return-oriented programming
US9734326B2 (en) * 2014-02-04 2017-08-15 Nxp Usa, Inc. Dynamic interrupt stack protection
US9230093B1 (en) * 2014-10-13 2016-01-05 Celestica Technology Consultancy (Shanghai) Co., Ltd. Protection method and system for computer security
JP6438353B2 (ja) * 2015-05-27 2018-12-12 ルネサスエレクトロニクス株式会社 半導体装置及び診断テスト方法
US10691447B2 (en) * 2016-10-07 2020-06-23 Blackberry Limited Writing system software on an electronic device
US11520895B2 (en) 2020-12-07 2022-12-06 Samsung Electronics Co., Ltd. System and method for dynamic verification of trusted applications

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63148358A (ja) * 1986-12-12 1988-06-21 Canon Inc プロテクト装置
KR890015103A (ko) * 1988-03-31 1989-10-28 최근선 컴퓨터의 동작 보호 시스템
US6009495A (en) 1989-12-29 1999-12-28 Packard Bell Nec Protected address range in an electrically erasable programmable read only memory
EP0449242A3 (en) * 1990-03-28 1992-10-28 National Semiconductor Corporation Method and structure for providing computer security and virus prevention
US5537544A (en) * 1992-09-17 1996-07-16 Kabushiki Kaisha Toshiba Portable computer system having password control means for holding one or more passwords such that the passwords are unreadable by direct access from a main processor
KR940020215A (ko) * 1993-02-18 1994-09-15 박표서 컴퓨터 정보의 보안 방법
US6032256A (en) * 1995-01-09 2000-02-29 Bernard; Peter Andrew Power controlled computer security system and method
US6178550B1 (en) * 1995-01-31 2001-01-23 Dell Usa Mechanism for optimizing location of machine-dependent code
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US5742758A (en) * 1996-07-29 1998-04-21 International Business Machines Corporation Password protecting ROM based utilities in an adapter ROM
US5850559A (en) * 1996-08-07 1998-12-15 Compaq Computer Corporation Method and apparatus for secure execution of software prior to a computer system being powered down or entering a low energy consumption mode
US5887131A (en) * 1996-12-31 1999-03-23 Compaq Computer Corporation Method for controlling access to a computer system by utilizing an external device containing a hash value representation of a user password
US5953422A (en) * 1996-12-31 1999-09-14 Compaq Computer Corporation Secure two-piece user authentication in a computer network
US6343338B1 (en) * 1997-04-01 2002-01-29 Microsoft Corporation System and method for synchronizing disparate processing modes and for controlling access to shared resources
US5964877A (en) 1997-04-07 1999-10-12 Victor; David William Method and system for programming a security system to protect a protected unit
JP3943665B2 (ja) * 1997-09-01 2007-07-11 株式会社東芝 スリープ制御方法、およびイベント通知方法
US5974500A (en) 1997-11-14 1999-10-26 Atmel Corporation Memory device having programmable access protection and method of operating the same
US6128732A (en) * 1997-12-15 2000-10-03 Compaq Computer Corporation Implementing universal serial bus support with a minimum of system RAM
US6223284B1 (en) * 1998-04-30 2001-04-24 Compaq Computer Corporation Method and apparatus for remote ROM flashing and security management for a computer system
KR100310093B1 (ko) * 1998-07-15 2001-11-15 윤종용 패스워드를 이용한 개인용 컴퓨터의 보안방법
US6212592B1 (en) * 1998-09-17 2001-04-03 Micron Technology, Inc. Computer system for processing system management interrupt requests
US6336185B1 (en) * 1998-09-24 2002-01-01 Phoenix Technologies Ltd. Use of other processors during BIOS boot sequence to minimize boot time

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100356351C (zh) * 2002-11-21 2007-12-19 国际商业机器公司 用于进行代码验证的系统和方法
CN1910531B (zh) * 2003-12-30 2012-05-30 意大利电信股份公司 数据资源的密钥控制使用的方法和系统以及相关网络
CN100369009C (zh) * 2004-12-30 2008-02-13 英业达股份有限公司 使用系统管理中断信号的监控系统及方法
US8775799B2 (en) 2006-05-09 2014-07-08 Samsung Electronics Co., Ltd. Apparatus and method of securely moving security data
CN101369304B (zh) * 2007-08-13 2011-08-24 华硕电脑股份有限公司 计算机系统开机和硬盘数据保护方法,与其数据保护模块
CN101387990B (zh) * 2007-09-14 2011-06-08 盛群半导体股份有限公司 微控制器程序内存的数据封锁方法、系统及微控制器
CN102682227A (zh) * 2011-03-09 2012-09-19 国民技术股份有限公司 一种增强tcm应用的方法及系统、可信计算处理方法
CN102682227B (zh) * 2011-03-09 2015-08-12 国民技术股份有限公司 一种增强tcm应用的方法及系统、可信计算处理方法

Also Published As

Publication number Publication date
KR100486639B1 (ko) 2005-05-03
CN1185584C (zh) 2005-01-19
US7200761B1 (en) 2007-04-03
TW546565B (en) 2003-08-11
KR20020036696A (ko) 2002-05-16

Similar Documents

Publication Publication Date Title
CN1185584C (zh) 在非安全编程环境中安全密码的使用方法
US6253324B1 (en) Server verification of requesting clients
JP4728120B2 (ja) ポータブル・データを保護するためのシステム及び方法
US7313705B2 (en) Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
US5012514A (en) Hard drive security system
US6266773B1 (en) Computer security system
US8195938B2 (en) Cloud-based application whitelisting
US8402269B2 (en) System and method for controlling exit of saved data from security zone
US6189099B1 (en) Notebook security system (NBS)
US20090150631A1 (en) Self-protecting storage device
WO2005081115A1 (en) Application-based access control system and method using virtual disk
MX2007011377A (es) Arranque seguro.
US20180330076A1 (en) Hacking-Resistant Computer Design
US20030070099A1 (en) System and methods for protection of data stored on a storage medium device
CN101046776A (zh) Bios自动生成的用于保护数据存储设备的随机密码
US20020152396A1 (en) Method for secure restoration of a database stroring non-secure content
KR20010100011A (ko) 보안 카운터를 경유하여 데이터 통합성을 보증하는 방법
US6763465B1 (en) Method of ensuring that the PC is not used to make unauthorized and surreptitious telephone calls
CN110807186B (zh) 一种存储设备安全存储的方法、装置、设备和存储介质
US7694154B2 (en) Method and apparatus for securely executing a background process
GB2372592A (en) Information system
KR20030049387A (ko) 확장 스마트 카드 시스템 및 그 제어 방법
Kim et al. Linux based unauthorized process control
Goovaerts et al. Assessment of palm OS susceptibility to malicious code threats
JPH02216561A (ja) 多レベル機密保護方式

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050119

Termination date: 20101108