CN101281580B - 一种扩展信息安全设备的存储器的方法 - Google Patents

一种扩展信息安全设备的存储器的方法 Download PDF

Info

Publication number
CN101281580B
CN101281580B CN2008101065648A CN200810106564A CN101281580B CN 101281580 B CN101281580 B CN 101281580B CN 2008101065648 A CN2008101065648 A CN 2008101065648A CN 200810106564 A CN200810106564 A CN 200810106564A CN 101281580 B CN101281580 B CN 101281580B
Authority
CN
China
Prior art keywords
information safety
safety devices
data
memory
described information
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
CN2008101065648A
Other languages
English (en)
Other versions
CN101281580A (zh
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.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senselock Software Technology Co Ltd
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 Beijing Senselock Software Technology Co Ltd filed Critical Beijing Senselock Software Technology Co Ltd
Priority to CN2008101065648A priority Critical patent/CN101281580B/zh
Publication of CN101281580A publication Critical patent/CN101281580A/zh
Application granted granted Critical
Publication of CN101281580B publication Critical patent/CN101281580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种扩展信息安全设备的存储器的方法。信息安全设备通过数据交换使用外部存储器,从而实现扩展信息安全设备的存储器的目的。在数据交换过程中,数据总是以密文的形式传出到外部存储器中,攻击者即使截获数据也无法得到明文。如果在数据的交换过程中进行校验码校验,则攻击者也无法对数据进行篡改。从而保证了信息的安全性。

Description

一种扩展信息安全设备的存储器的方法
技术领域
本发明涉及信息安全领域,特别是涉及一种扩展信息安全设备的存储器的方法。
背景技术
外部存储器,软件保护装置主芯片以外的存储器。如片外扩展的存储器,与软件保护装置连接的计算机主机中的内存,硬盘等。
COS(Card Operating System),卡片操作系统,运行在信息安全设备内的小型操作系统。
信息安全设备,指对软件进行加密保护以及身份验证等的设备。
但是,现有的信息安全设备,一般都是使用智能卡芯片作为硬件平台,内部存储器的容量较小,性能受到很大限制。一些内存需求大的应用,如多进程运行,很难实现。而信息安全设备与普通电子设备又有很大不同,普通的电子设备一般没有安全性的要求,设备中的数据即使被外部得到也没有关系,而信息安全设备是为数据的安全性设计的,如果直接使用外部存储器,则数据可能被攻击者截获或者篡改,信息的安全性可能被破坏。
发明内容
有鉴于此,本发明提供了一种扩展信息安全设备的内部存储器的方法。
本发明提出的技术方案为:信息安全设备通过数据交换使用外部存储器,从而实现扩展信息安全设备的存储器的目的。在数据交换过程中,数据总是以密文的形式传出到外部存储器中,攻击者即使截获数据也无法得到明文。如果在数据的交换过程中进行校验码校验,则攻击者也无法对数据进行篡改,从而保证了信息的安全性。
根据本发明的一个方面,提供一种扩展信息安全设备的存储器的方法,所述信息安全设备用于对软件进行加密保护以及身份验证,并且所述信息安全设备与外部计算机主机连接,所述信息安全设备包括:
内部存储器;
卡片操作系统;
内存映射表,其中记录每个内存块起始物理地址和起始虚拟地址的映射;
该方法包括步骤:
(1)当所述信息安全设备内的程序申请一块新的内存时,如果所述内部存储器没有全部被使用,则分配一块新的内存给所述程序;如果所述内部存储器全部使用,则需要进行数据交换,进入步骤(2)-(5);
(2)所述信息安全设备将最不常使用的内存块加密,用所述内存块的起始虚拟地址作为加密后数据块的标识;
(3)所述信息安全设备将加密后的数据块连同其标识一同传送到所述主机;
(4)所述主机的驱动程序接收到所述信息安全设备传送来的所述数据块,将所述数据块存放在内存中,并且记录其标识;
(5)所述信息安全设备将所述内存块分配给所述程序,并且改写所述内存映射表的相应表项;
(6)当所述信息安全设备内的程序需要用到所述交换到所述主机的内存中的所述数据时,则需要进行内存交换,进入步骤(7)-(9);
(7)所述信息安全设备向所述主机发送取数据块的请求,请求中包括请求的所述数据块的标识;
(8)所述主机的驱动程序接收到所述信息安全设备的取数据块请求,找到所述数据块,将所述数据块传送到所述信息安全设备;
(9)所述信息安全设备将接收到的数据块解密得到原始数据;如果所述信息安全设备有未使用的内存块,则将所述原始数据写入该内存块,并更新所述内存映射表相应表项;如果所述信息安全设备没有未使用的内存块,则进行上述步骤(2)-(4)的操作,将所述原始数据写入得到的内存块中;
(10)结束数据交换。
根据本发明的另一个方面,提供一种扩展信息安全设备的存储器的方法,所述信息安全设备用于对软件进行加密保护以及身份验证,并且采用信息安全设备主芯片外扩展的存储器作为外部存储器,所述信息安全设备包括:
内部存储器;
卡片操作系统;
其中,所述外部存储器对传送数据的处理由所述卡片操作系统完成;
该方法包括步骤:
(1)当所述信息安全设备内发生进程切换时,则需要进行数据交换,进入步骤(2)-(5);
(2)所述信息安全设备加密所述内部存储器的数据,用当前的进程ID作为标识;
(3)所述信息安全设备将加密后的数据连同其标识一同传送到所述外部存储器;
(4)所述信息安全设备切换到新的进程;
(5)所述信息安全设备根据所述新的进程的ID作为标识,找到相应数据块,将该数据块解密到内存中;
(6)结束数据交换。
根据本发明的另一个方面,还包括为加密后的数据生成校验码。
根据本发明的另一个方面,还包括导出校验码。
根据本发明的另一个方面,还包括在解密数据之前校验其校验码。
根据本发明的另一个方面,加密或解密所采用的算法包括:对称加密算法、非对称加密算法、混合加密算法、信息安全设备自身所设定的算法。
根据本发明的另一个方面,所述加密算法如果需要密钥,那么密钥存放在信息安全设备中且不能被导出或读出。
根据本发明的另一个方面,用散列算法生成所述校验码。
根据本发明的另一个方面,用散列算法校验生成的校验码。。
附图说明
图1是本发明的结构示意图。
图2是本发明的流程图。
图3是本发明一个实施例的流程图。
图4是本发明另一个实施例的流程图。
具体实施方式
下面结合具体实施例对本发明作进一步详细的说明。
本发明实现中需要考虑的问题有:
1.信息安全设备中内存块的划分。传送数据按照该内存块划分进行。
2.数据交换的策略。
3.外部存储器对传送数据的处理。
本发明中,信息安全设备的核心为一个单片机或智能卡芯片,包括中央处理单元CPU,与CPU相连的存储器和接口控制芯片。CPU可以采用任意的,如Intel MCS8051、Philips 80C31等微处理器。存储器可以采用RAM、ROM、EEPROM、Flash或上述存储器的组合。接口控制芯片可以是USB控制芯片、firewire控制芯片等。
图1为本发明的结构示意图,如图1所示:
当信息安全设备需要与外部存储器进行数据交换时,由存储器控制单元发起数据交换的请求。信息安全设备内部存储器的数据经过数据加解密单元加密后传出信息安全设备并保存在外部存储器中。外部存储器的数据传入信息安全设备内部后,经过数据加解密单元解密后保存在信息安全设备的内部存储器中。
上述的存储器控制单元可以是由运行于信息安全设备内部或者外部的一段程序代码实现或者由硬件实现。
上述的数据加解密单元可以由运行于信息安全设备内部的一段程序代码实现或者由硬件实现。该数据加解密单元也可以在数据加密后为其生成校验码,并可以在数据解密之前校验该校验码。
图2为本发明的流程图,如图所示:
步骤200,存储器控制单元发起数据交换的请求。
步骤201,存储器控制单元判断是否需要导出信息安全设备内部存储器中的数据。如果需要,执行步骤202至步骤204。
步骤202,数据加解密单元加密信息安全设备内部存储器的数据,而且可以为加密后的数据生成校验码。
步骤203,存储器控制单元导出加密后的数据及校验码。
步骤204,存储器控制单元将导出的数据及校验码保存到外部存储器。
步骤205,存储器控制单元判断是否需要导入数据到信息安全设备内部存储器中。如果需要,执行步骤206至步骤208。
步骤206,存储器控制单元将数据导入到信息安全设备。
步骤207,数据加解密单元解密导入的数据,而且可以在解密数据之前校验其校验码。
步骤208,存储器控制单元将解密后的数据保存到信息安全设备内部存储器中。
步骤209,数据交换结束。
步骤202所述加密所采用的算法可以包括:对称加密算法、非对称加密算法、混合加密算法、信息安全设备自身所设定的算法。
步骤202所述加密算法如果需要密钥,那么该密钥存放在信息安全设备中,且不可以导出或是读出。
步骤202所述校验码可以用任何散列算法生成。
步骤207所述解密所采用的算法与步骤202所述加密采用的算法一致。
步骤207所述校验码的校验,使用步骤202中的所述算法。
步骤202中的加密是出于安全目的,防止数据在传送过程中或者在外部存储器中被非法获取
步骤202、207中的校验码是为了防止数据在传送过程中或者在外部存储器中被非法篡改。该校验码不是必须的。
步骤207中的解密是为了从步骤202中加密后数据中还原原始数据。
由于从信息安全设备传送到外部存储器中的数据是经过加密的,所以本发明提出的方案安全有效。
实施例1
本实施例中的外部存储器为与信息安全设备连接的计算机主机中的内存。
本实施例中,信息安全设备中的内存,划分成相同大小的内存块。软件保护装置的COS维护一个内存映射表。表内记录每个内存块起始物理地址和起始虚拟地址的映射。
数据交换的策略采用LRU(Least Recently Used)算法,即最近最久未使用算法。将最不常使用的内存块传送到主机端。
主机端由信息安全设备的驱动程序负责处理信息安全设备传送过来的数据块。该驱动程序维护一个块表,块表中记录每个被传送到主机端的内存块的起始虚拟地址。
当信息安全设备内的程序申请一块新的内存时,如果信息安全设备的内存没有全部被使用,则分配一块新的内存给该程序。如果信息安全设备的内存全部使用,则需要进行数据交换。如图3,步骤如下:
301、信息安全设备的COS根据LRU算法,将最不常使用的内存块加密,用该内存块的起始虚拟地址作为加密后数据块的标识。
302、信息安全设备的COS将加密后的数据块连同其标识一同传送到主机端。
303、主机端的驱动程序接收到信息安全设备传送来的数据块,将该数据块存放在内存中,并且在上述块表中记录其标识,即上述内存块的起始虚拟地址。
304、信息安全设备的COS将上述内存块分配给该程序,并且改写内存映射表相应表项。
当信息安全设备内的程序需要用到上述交换到主机端内存中的数据时,则需要进行内存交换。步骤如下:
311、信息安全设备的COS向主机端发送取数据块的请求,请求中包括请求的数据块的标识。
312、主机端的驱动程序接收到信息安全设备的取数据块请求,根据块表,找到该数据块,将该数据块传送到信息安全设备端,并且在块表中清除相应记录。
313、信息安全设备的COS将接收到的数据块解密得到原始数据。如果信息安全设备有未使用的内存块,则将上述原始数据写入该内存块,并更新内存映射表相应表项。如果信息安全设备没有未使用的内存块,则进行上述步骤301~303的操作,将上述原始数据写入得到的内存块中。
应用上述步骤,可以将最不常使用的内存块交换到主机端内存中,从而实现了使用主机端内存扩展信息安全设备内部存储器的目的。
实施例2
本实施例中的外部存储器为信息安全设备主芯片外扩展的存储器。
本实施例通过使用片外扩展的存储器实现多进程运行。
本实施例中,信息安全设备中的内存整体划分为一个内存块,即数据交换的单元是内存中的全部数据。
数据交换的策略为,当发生进程切换时,随之发生数据交换。
片外扩展存储器由信息安全设备主芯片控制,即外部存储器对传送数据的处理也由COS来完成。
当信息安全设备内发生进程切换时,则需要进行数据交换。如图4,步骤如下:
401、信息安全设备的COS将内存中的数据加密,用当前的进程ID作为标识。
402、信息安全设备的COS将加密后的数据块连同其标识一同传送到外部存储器。
403、信息安全设备切换到新的进程。
404、信息安全设备的COS根据新进程的ID作为标识,找到相应数据块,将该数据块解密到内存中。
应用上述步骤,可以将挂起进程的内存数据交换到片外扩展存储器中,从而实现了使用片外扩展存储器扩展内部存储器的目的。

Claims (8)

1.一种扩展信息安全设备的存储器的方法,所述信息安全设备用于对软件进行加密保护以及身份验证,并且所述信息安全设备与外部计算机主机连接,其特征在于,所述信息安全设备包括:
内部存储器;
卡片操作系统;
内存映射表,其中记录每个内存块起始物理地址和起始虚拟地址的映射;
该方法包括步骤:
(1)当所述信息安全设备内的程序申请一块新的内存时,如果所述内部存储器没有全部被使用,则分配一块新的内存给所述程序;如果所述内部存储器全部使用,则需要进行数据交换,进入步骤(2)-(5);
(2)所述信息安全设备将最不常使用的内存块加密,用所述内存块的起始虚拟地址作为加密后数据块的标识;
(3)所述信息安全设备将加密后的数据块连同其标识一同传送到所述主机;
(4)所述主机的驱动程序接收到所述信息安全设备传送来的所述数据块,将所述数据块存放在内存中,并且记录其标识;
(5)所述信息安全设备将所述内存块分配给所述程序,并且改写所述内存映射表的相应表项;
(6)当所述信息安全设备内的程序需要用到所述交换到所述主机的内存中的所述数据时,则需要进行内存交换,进入步骤(7)-(9);
(7)所述信息安全设备向所述主机发送取数据块的请求,请求中包括请求的所述数据块的标识;
(8)所述主机的驱动程序接收到所述信息安全设备的取数据块请求,找到所述数据块,将所述数据块传送到所述信息安全设备;
(9)所述信息安全设备将接收到的数据块解密得到原始数据;如果所述信息安全设备有未使用的内存块,则将所述原始数据写入该内存块,并更新所述内存映射表相应表项;如果所述信息安全设备没有未使用的内存块,则进行上述步骤(2)-(4)的操作,将所述原始数据写入得到的内存块中;
(10)结束数据交换。
2.根据权利要求1的方法,其特征在于,步骤(2)中还包括为加密后的数据生成校验码。
3.根据权利要求1的方法,其特征在于,步骤(3)中还包括导出校验码。
4.根据权利要求1的方法,其特征在于,步骤(9)中还包括在解密数据之前校验其校验码。
5.根据权利要求2的方法,其特征在于,加密或解密所采用的算法包括:对称加密算法、非对称加密算法、混合加密算法、信息安全设备自身所设定的算法。
6.根据权利要求5的方法,其特征在于,所述加密算法如果需要密钥,那么密钥存放在信息安全设备中且不能被导出或读出。
7.根据权利要求2的方法,其特征在于,用散列算法生成所述校验码。
8.根据权利要求4的方法,其特征在于,用散列算法校验生成的校验码。
CN2008101065648A 2008-05-14 2008-05-14 一种扩展信息安全设备的存储器的方法 Active CN101281580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101065648A CN101281580B (zh) 2008-05-14 2008-05-14 一种扩展信息安全设备的存储器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101065648A CN101281580B (zh) 2008-05-14 2008-05-14 一种扩展信息安全设备的存储器的方法

Publications (2)

Publication Number Publication Date
CN101281580A CN101281580A (zh) 2008-10-08
CN101281580B true CN101281580B (zh) 2011-08-10

Family

ID=40014041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101065648A Active CN101281580B (zh) 2008-05-14 2008-05-14 一种扩展信息安全设备的存储器的方法

Country Status (1)

Country Link
CN (1) CN101281580B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106295267B (zh) * 2015-06-09 2019-04-19 阿里巴巴集团控股有限公司 一种访问电子设备的物理内存中私密数据的方法和装置
CN109710373B (zh) * 2018-11-22 2021-02-12 海光信息技术股份有限公司 实现内存与外部存储器交换功能的方法和装置、安全处理器

Also Published As

Publication number Publication date
CN101281580A (zh) 2008-10-08

Similar Documents

Publication Publication Date Title
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
CN103348357B (zh) 敏感数据处理装置及方法
CN103413159B (zh) 一种基于cpk的rfid电子凭证离线鉴真防伪实现方法及系统
CN101582109A (zh) 数据加密方法及装置、数据解密方法及装置、固态硬盘
CN102693385A (zh) 基于sd可信计算模块的嵌入式终端及实现方法
CN107908574A (zh) 固态盘数据存储的安全保护方法
CN102737270A (zh) 一种基于国产算法的银行智能卡芯片安全协处理器
CN104901810A (zh) 一种基于国产密码算法的数据加密存储的方法
CN102855161A (zh) 用于安全微控制器的外部存储器的数据交织方案
CN105678173A (zh) 基于硬件事务内存的vTPM安全保护方法
US20130322619A1 (en) Information processing apparatus, ic chip, and information processing method
CN111884814B (zh) 一种用于智能终端防伪造的方法和系统
CN107911221B (zh) 固态盘数据安全存储的密钥管理方法
CN104463020A (zh) 存储器数据完整性保护的方法
CN101132276A (zh) 一种通过sam卡进行的终端数据对称加密方法及系统
CN106027237B (zh) 一种rfid系统中基于组的密钥矩阵安全认证方法
CN105205416A (zh) 一种移动硬盘密码模块
CN105515757A (zh) 基于可信执行环境的安全性信息交互设备
CN101281580B (zh) 一种扩展信息安全设备的存储器的方法
CN101127062A (zh) 电子钥匙与计算机之间实现绑定功能的方法
CN201498001U (zh) 一种基于对称密钥密码的可信计算平台
CN103490875A (zh) 一种大容量智能卡密钥的保护方法
CN202600714U (zh) 基于sd可信计算模块的嵌入式终端
CN109726584B (zh) 云数据库密钥管理系统
CN101539978B (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING SHENSI SHUDUN SCIENCE + TECHNOLOGY CO., LT

Free format text: FORMER OWNER: BEIJING SENSELOCK SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20150120

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100086 HAIDIAN, BEIJING TO: 100872 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20150120

Address after: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee after: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201

Patentee before: Beijing Senselock Software Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee before: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder