CN112434320B - 海量存储类设备加密方法、主控制器及接入设备 - Google Patents

海量存储类设备加密方法、主控制器及接入设备 Download PDF

Info

Publication number
CN112434320B
CN112434320B CN202011367255.3A CN202011367255A CN112434320B CN 112434320 B CN112434320 B CN 112434320B CN 202011367255 A CN202011367255 A CN 202011367255A CN 112434320 B CN112434320 B CN 112434320B
Authority
CN
China
Prior art keywords
mass storage
encryption
storage device
storage equipment
key
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
CN202011367255.3A
Other languages
English (en)
Other versions
CN112434320A (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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011367255.3A priority Critical patent/CN112434320B/zh
Publication of CN112434320A publication Critical patent/CN112434320A/zh
Application granted granted Critical
Publication of CN112434320B publication Critical patent/CN112434320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种海量存储类设备加密方法、主控制器及接入设备,方法包括:获取海量存储类设备的特征信息;根据海量存储类设备的特征信息生成密钥;使用密钥加密传输给该海量存储类设备的普通数据。这样,通过利用海量存储类设备的特征信息来生成密钥,从而使用密钥加密传输给海量存储类设备的普通数据,提高了海量存储类设备中的数据安全性。此外,由于是利用海量存储类设备自身的特征信息来生成的密钥,从而可以降低加密成本,且减少加密对于设备的传输速度的影响。此外,本申请实施例的方案对于海量存储类设备侧不需要进行专门的改动,即不需要专门制作的带有加解密功能的海量存储类设备,具有普适性。

Description

海量存储类设备加密方法、主控制器及接入设备
技术领域
本申请涉及信息安全技术领域,具体而言,涉及一种海量存储类设备加密方法、主控制器及接入设备。
背景技术
海量存储类设备(如U盘、移动硬盘等)以其方便性,便携性,深受用户青睐。但与此同时,由于海量存储类设备承担了承载和运输数据的功能,用户在这类存储设备中可能会记录敏感或隐私的信息。如果设备不慎遗失,就容易造成信息泄露。
目前,在海量存储类设备加密领域,目前大多是通过安装加密软件的方式实现设备加密,或者使用专门制作的带有加解密功能的海量存储类设备。然而,通过安装加密软件的方式实现设备加密,由于需要安装特定的软件进行运行,会影响设备的传输速度。而专门制作的带有加解密功能的海量存储类设备则由于需要专门制作,存在适用性不高的问题。
发明内容
本申请实施例的目的在于提供一种海量存储类设备加密方法、主控制器及接入设备,用以实现对于海量存储类设备中数据的加密。
本申请实施例提供了一种海量存储类设备加密方法,应用于接入设备主控制器上,包括:获取海量存储类设备的特征信息;根据所述海量存储类设备的特征信息生成密钥;使用所述密钥加密传输给所述海量存储类设备的普通数据。
在上述实现过程中,接入设备的主控制器通过利用海量存储类设备的特征信息来生成密钥,从而使用密钥加密传输给所述海量存储类设备的普通数据。这样,就提高了海量存储类设备中的数据的安全性。此外,由于本申请实施例的方案是利用海量存储类设备自身的特征信息来生成的密钥,而对于特征信息的提取以及密钥的生成都可利用硬件实现,因此本申请可以允许通过纯硬件的形式实现,从而可以降低加密成本,且减少加密对于设备的传输速度的影响。此外,本申请实施例的方案对于海量存储类设备侧不需要进行专门的改动,即不需要专门制作的带有加解密功能的海量存储类设备,具有普适性。
进一步地,所述海量存储类设备的特征信息包括所述海量存储类设备的设备描述符。
对于海量存储类设备而言,设备描述符描述的是海量存储类设备的整体信息,与海量存储类设备本身一一对应,一个海量存储类设备只能有一个设备描述符。因此,基于设备描述符生成的密钥,对于一个海量存储类设备而言,具有唯一性,从而能够很好地实现对于一个海量存储类设备的加密,而不会造成与其余海量存储类设备的密钥冲突,确保了密钥的可靠性,进而确保了加密的可靠性。
进一步地,所述获取海量存储类设备的特征信息包括:解析与所述海量存储类设备之间的控制传输,得到所述海量存储类设备的设备描述符。
在上述实现过程中,通过解析与海量存储类设备之间的控制传输,即可很容易地获取到海量存储类设备的设备描述符。
进一步地,所述海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备。
进一步地,所述方法还包括:获取所述海量存储类设备的加解密允许状态标记;在所述加解密允许状态标记为表征允许加解密的标记时,确定所述海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备;在所述加解密允许状态标记为表征加解密允许状态待确定的标记时,解析与所述海量存储类设备之间的控制传输,获取所述海量存储类设备的传输协议类型,在所述传输协议类型为BULK-ONLY传输协议时,确定所述海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备,并更新所述加解密允许状态标记为表征允许加解密的标记。
在本申请实施例中,在解析与所述海量存储类设备之间的控制传输,获取所述海量存储类设备的传输协议类型后,即可根据解析情况进行海量存储类设备的加解密允许状态的标记,从而根据该标记(即加解密允许状态标记)快速实现对于海量存储类设备是否为采用BULK-ONLY传输协议的海量存储类设备的确定,从而可节省对控制传输的解析过程,提高方案的执行效率。
进一步地,所述普通数据为除CBW(Command Block Wrapper,命令块包)和CSW(Command Status Wrapper,命令状态包)外的数据。
应理解,在采用BULK-ONLY传输协议的海量存储类设备中,与接入设备间传输的数据仅包括三类,分别是用于实现海量存储类设备与接入设备间的操作功能的数据CBW和CSW,以及需要由接入设备读取的或需要放入海量存储类设备中保存的普通数据。为了确保海量存储类设备在接入接入设备后能够正常运行,本申请中不对CBW数据和CSW数据进行加密。
进一步地,获取海量存储类设备的特征信息之前,所述方法还包括:确定所述接入设备的BIOS(Basic Input Output System,基本输入输出系统)中已使能加密功能。
在实际应用过程中,往往存在有用户并不希望对海量存储类设备进行加密的情况。为此,在本申请实施例中,可以通过在接入设备的BIOS中配置使能项,从而供用户确定是否需要使能加密功能。只有在用户使能加密功能时,才按照前述方式进行加密,从而更贴合用户的实际需要。
进一步地,在确定所述BIOS中使能加密功能之后,所述方法还包括:获取所述BIOS中使能的加密类型;所述根据所述海量存储类设备的特征信息生成密钥,包括:按照所述加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成所述密钥。
上述实现过程中,根据BIOS中使能的加密类型,提供不同的密钥生成方式,从而可以灵活的限制加密后海量存储类设备的使用范围。
进一步地,在所述加密类型为通用加密时,所述按照所述加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成所述密钥,包括:采用预设加密算法对所述海量存储类设备的特征信息进行处理,得到所述密钥。
通过上述方式得到的密钥,由于密钥是仅根据海量存储类设备的特征信息得到,因此可以使得该海量存储类设备可以在所有采用本申请方案的接入设备上使用,通过接入设备是否采用了本申请实施例提供的加密方式,实现了对于海量存储类设备的使用范围的限定,从而提高了海量存储类设备使用的安全性。
进一步地,所述方法还包括:获取当前接入的接入设备的标识信息;在所述加密类型为仅本机使用时,所述按照所述加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成所述密钥,包括:采用预设加密算法对所述海量存储类设备的特征信息和所述标识信息进行处理,得到所述密钥。
通过上述方式得到的密钥,由于密钥是根据海量存储类设备的特征信息和接入设备的标识共同生成的,因此可以使得该海量存储类设备仅可以在该接入设备上使用,从而实现了对于海量存储类设备的使用范围的限定,提高了海量存储类设备使用的安全性。
进一步地,所述方法还包括:获取外部输入的密码;在所述加密类型为仅目标群组使用时,所述按照所述加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成所述密钥,包括:采用预设加密算法对所述海量存储类设备的特征信息和所述密码进行处理,得到所述密钥。
通过上述方式得到的密钥,由于密钥是根据海量存储类设备的特征信息和外部输入的密码共同生成的,因此可以使得该海量存储类设备仅可以被能够正确输入该密码的用户使用,从而实现了对于海量存储类设备的使用范围的限定,提高了海量存储类设备使用的安全性。
本申请实施例还提供了一种主控制器,包括:电连接的解析控制器及加解密模块;所述解析控制器用于获取海量存储类设备的特征信息,并区分出传输给所述海量存储类设备的普通数据;所述加解密模块用于根据所述海量存储类设备的特征信息生成密钥,并使用所述密钥加密传输给所述海量存储类设备的普通数据。
上述主控制器,通过解析控制器实现对于海量存储类设备的特征信息的获取以及普通数据的区分,并通过加解密模块实现密钥生成和数据加密,从而提高了海量存储类设备中的数据的安全性。此外,主控制器是通过解析控制器和加解密模块实现的数据加密,因此也可以不必借助专门的加密软件,从而可以降低加密成本,且减少加密对于设备的传输速度的影响。此外,本申请实施例的方案对于海量存储类设备侧不需要进行专门的改动,即不需要专门制作的带有加解密功能的海量存储类设备,具有普适性。
进一步地,所述解析控制器包括:控制解析器、数据判别输出解析器;所述控制解析器用于解析与所述海量存储类设备之间的控制传输,获取海量存储类设备的特征信息;所述数据判别输出解析器用于识别出传输给所述海量存储类设备的普通数据,并使能所述加解密模块进行加密。
进一步地,所述解析控制器还包括:数据判别输入解析器;所述数据判别输入解析器用于识别出所述海量存储类设备传输来的普通数据,并使能所述加解密模块进行解密。
进一步地,所述解析控制器还包括:调度器;所述控制解析器还用于解析与所述海量存储类设备之间的控制传输,确定所述海量存储类设备是否为采用BULK-ONLY传输协议的海量存储类设备,并在是时,输出第一信号给所述调度器;所述调度器用于根据所述第一信号使能所述数据判别输出解析器。
本申请实施例提供的主控制器,通过硬件电路即实现了对于海量存储类设备的加密,从而不必借助专门的加密软件,加密对于设备的传输速度影响很小。此外,本申请实施例的方案对于海量存储类设备侧不需要进行专门的改动,即不需要专门制作的带有加解密功能的海量存储类设备,具有普适性。
本申请实施例还提供了一种接入设备,包括:接口以及如上所述的主控制器;所述接口用于接入海量存储类设备。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种海量存储类设备加密方法的流程示意图;
图2为本申请实施例提供的一种主控制器的基本结构示意图;
图3为本申请实施例提供的一种主控制器较具体的结构示意图;
图4为本申请实施例提供的一种主控制器更具体的结构示意图;
图5为本申请实施例提供的一种可以对采用BULK-ONLY传输协议的海量存储类设备实现加解密的主控制器结构示意图;
图6为本申请实施例提供的一种接入设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
本申请实施例中提供了一种应用于接入设备的主控制器上的海量存储类设备加密方法,可参见图1所示,包括:
S101:获取海量存储类设备的特征信息。
在本申请实施例中,当海量存储类设备接入接入设备之后,接入设备的主控制器可以通过解析与海量存储类设备之间的控制传输,从而给解析得到海量存储类设备的特征信息。
在本申请实施例中,海量存储类设备的特征信息是指能够唯一标识出海量存储类设备的信息,比如海量存储类设备的设备描述符。
需要理解的是,海量存储类设备的设备描述符由14个字段组成。其每个字段都可独立反映海量存储类设备的某些信息。
在本申请实施例中,可以采用设备描述符的全部字段或部分字段来作为海量存储类设备的特征信息。比如,可以采用设备描述符中的idVendor(厂家标识)、idProduct(产品标识)、bcdDevice(海量存储类设备的版本号)、SerialNumber(序列号)等作为该海量存储类设备的特征信息,用来生成密钥。
S102:根据该海量存储类设备的特征信息生成密钥。
在本申请实施例中,可以采用sm3(国密3)、SHA(Secure Hash Algorithm、安全哈希算法)等方式将海量存储类设备的特征信息生成密钥。
应理解,本申请实施例中对于所采用的密钥生成算法并不限制,只要能生成密钥,并使得加密前后的明文和密文的长度保持一致即可。
S103:使用密钥加密传输给该海量存储类设备的普通数据。
需要说明的是,在对普通数据进行加密过后,若接入设备需要读取该普通数据,则需要对其进行解密。解密过程与加密过程是对应的。
在本申请实施例中,会采用与密钥的生成算法相对应的加解密算法实现对于普通数据的加密和解密。
比如,对于采用sm3得到的密钥,可以采用sm4(国密4)实现加解密,而对于采用SHA得到的密钥,可以采用AES(dvanced Encryption Standard,高级加密标准)实现加解密。
需要注意的是,在海量存储类设备与接入设备的数据交互过程中,存在有两种数据。分别是用于实现海量存储类设备与接入设备之间的操作功能的功能性数据(比如BULK设备(即采用BULK-ONLY传输协议的海量存储类设备)中的CBW和CSW数据),以及除功能性数据以外的普通数据(比如用户放入海量存储类设备保存的数据)。
由于功能性数据承担有实现海量存储类设备与接入设备之间的操作功能的作用,一旦对其进行加密,可会导致海量存储类设备与接入设备之间出现功能性错误,从而导致海量存储类设备与接入设备之间的接入出错,甚至导致海量存储类设备无法使用。因此,在本申请实施例中,主控制器会对海量存储类设备与接入设备之间的数据进行判断,识别出其中的普通数据,仅对普通数据进行加密。
应理解,功能性数据和普通数据相比,在数据格式上往往存在着区别。功能性数据通常具有设定的格式,因此可以通过判断数据的格式实现对于功能性数据和普通数据的区分。
在实际应用过程中,采用不同传输协议的海量存储类设备,其内的功能性数据格式可能不同。比如对于采用BULK-ONLY传输协议的海量存储类设备而言,CBW和CSW即为功能性数据。故而,在本申请实施例中,可以先判断当前的海量存储类设备的传输协议类型是否为本申请中所能够进行数据识别的传输协议类型。
示例性的,假设本申请实施例中配置的是可以针对CBW和CSW进行识别。那么,主控制器可以解析与海量存储类设备之间的控制传输,获取海量存储类设备的传输协议类型,进而确定该海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备。
具体的,主控制器可以解析出海量存储类设备的接口描述符:bInterfaceClass和bInterfaceProtocol。当bInterfaceClass=08h(表明该海量存储类设备为大容量存储类)且bInterfaceProtocol=50h(表明该海量存储类设备通过Bulk-Only协议传输)即可确定该海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备。在bInterfaceClass和bInterfaceProtocol为其余值时,即可确定该海量存储类设备不是采用BULK-ONLY传输协议的海量存储类设备。
在bInterfaceClass=08h且bInterfaceProtocol=50h时,主控制器可以解析和该海量存储类设备之间的BULK传输,包括BULK-IN(BULK输入)和BULK-OUT(BULK输出),识别出传输的数据中31字节的CBW和13字节的CSW,从而不对CBW和CSW进加解密处理,对其余的普通数据进行解密处理。
应当理解的是,前述示例仅是本申请实施例中的一种可行实施方式。可选的,本申请实施例所提供的方案也可以应用到采用其余传输协议的海量存储类设备中,比如可以用到采用CBI传输协议的海量存储类设备中。此时与前述示例的区别仅在于由于传输协议的差别,功能性数据的格式可能不同,从而对于功能性数据的判断标准可能存在不同,但实现方式都是一致的。
在本申请实施例的一种可行实施方式中,为了节省对控制传输的解析过程,提高方案的执行效率,可以在第一次对控制传输进行解析后,根据解析情况进行加解密允许状态的标记。进而根据该标记的不同,进行不同的操作。
示例性的,仍以海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备的情况为例,在首次进行解析时,主控制器发现没有加解密允许状态标记,正常进行控制传输的解析。此时若在解析过程中海量存储类设备与接入设备中断(即海量存储类设备与接入设备断开数据连接,比如海量存储类设备从接入设备中拔出等情况),那么可以标记2’b00,表示尚未解析到该设备的上述信息,加解密允许状态待确定;若解析发现bInterfaceClass=08h且bInterfaceProtocol=50h,则标记2’b01,表征符合要求,允许加解密;若解析发现bInterfaceClass不等于08h,或bInterfaceProtocol不等于50h,则标记2’b10,表征不符合要求,不允许加解密。
之后每一次解析前,主控制器可以先获取该标记,若该标记为2’b00,则正常解析控制传输,获取bInterfaceClass和bInterfaceProtocol,并判断bInterfaceClass是否等于08h且bInterfaceProtocol是否等于50h,进而更新该标记。若该标记为2’b01,则可以直接进入密钥生成的步骤;若该标记为2’b10,则可以直接结束加解密流程。
在本申请实施例中,加解密允许状态的标记可以标记在接入设备内存的context(背景/上下文)中,以便于主控制器获取。
应理解,在实际应用过程中,往往存在有用户并不希望对海量存储类设备进行加密的情况。为此,在本申请实施例中,可以在接入设备的BIOS中配置使能项,从而供用户确定是否需要使能加密功能。应理解,使能项为选项,用户可以通过选择确定是否需要使能加密功能。
在本申请实施例中,BIOS中使能项可以由接入设备的厂商配套提供。在BIOS和主控制器集成在同一SoC(System-on-a-Chip,系统级芯片)或芯片组上时,BIOS中使能项也可以由主控制器的SoC或芯片组厂商配套提供。
应理解,在本申请实施例中,可以仅提供一种密钥生成方式。但是在实际应用中,用户对于海量存储类设备的使用范围的需求往往是多样化的。为此,在本申请实施例中,可以在BIOS中提供多种加密类型的使能项的选项供用户选择,从而根据不同的加密类型对应的密钥生成方式,来结合海量存储类设备的特征信息生成密钥。
示例性的,可以在BIOS中提供以下使能项的选项供用户选择:
1、是否使能海量存储类设备加解密功能。
2、是否只在本机器上可用。
3、是否在组内可用。
其中,在用户通过选项“是否在组内可用”选择在组内可用时,则可以提示用户输入密码。
在本申请实施例中,可以设定用户输入的密码长度(比如设定用户需要输入6位密码,又比如设定用户需要至少输入12位的密码等)和/或密码的组成成分(比如设定用户输入的密码中需要同时存在有字母和数字)。
在上述示例中,当用户仅选择使能海量存储类设备加解密功能,此时加密类型为通用加密,可以采用预设加密算法对海量存储类设备的特征信息进行处理,得到密钥。比如,可以通过sm3算法对海量存储类设备的特征信息进行处理。
而当用户选择使能海量存储类设备加解密功能,且选择只在本机器上可用,未选择在组内可用时,此时加密类型为仅本机使用,可以采用预设加密算法对海量存储类设备的特征信息和接入设备的标识信息进行处理,得到密钥。
而当用户选择使能海量存储类设备加解密功能,且选择了在组内可用,未选择只在本机器上可用时,此时加密类型为仅目标群组使用,可以采用预设加密算法对海量存储类设备的特征信息和输入的密码进行处理,得到密钥。
当用户选择使能海量存储类设备加解密功能,且选择了只在本机器上可用,并选择了在组内可用时,此时一种可行的方式是,可以设定按照加密类型为仅本机使用的情况,或者按照加密类型为仅目标群组使用的方式进行密钥生成。而另一种可行的方式是,可以认为加密类型为仅目标群组且仅可以本机使用,此时可以采用预设加密算法对海量存储类设备的特征信息、接入设备的标识信息、输入的密码进行处理,得到密钥。
需要说明的是,本申请实施例中接入设备的标识信息可以采用接入设备的MAC(Medium Access Control,媒体访问控制)地址、fuse(主控制器唯一标识)等能够唯一标识接入设备的信息。
应理解,上述示例中的每一种密钥生成方式也可以单独被使用。也即在仅提供一种密钥生成方式时,可以采用上述任一种的密钥生成方式来实现。
还应理解的是,上述示例仅是本申请实施例中所示例的一种可行的实施方式。可选的,BIOS中提供的具体选项以及每种加密类型对应的密钥生成方式均可由工程师根据实际需要进行设定,在本申请中并不做限制。
在本申请实施例中,在首次使用海量存储类设备按照本申请的方式进行数据加密后,之后在再次使用该海量存储类设备接入接入设备时,接入设备可以自动按照BIOS中的设置,对该海量存储类设备中的普通数据进行解密,从而实现对于该海量存储类设备的使用。
本申请实施例中所述的海量存储类设备可以为U盘、移动硬盘等设备。
相应的,本申请实施例中所述的接入设备为可以允许海量存储类设备接入的电子设备,例如可以具有USB接口的主机、笔记本电脑等设备。
本申请实施例中提供的海量存储类设备加密方法,接入设备的主控制器通过利用海量存储类设备的特征信息来生成密钥,从而使用密钥加密传输给所述海量存储类设备的普通数据。这样,就提高了海量存储类设备中的数据的安全性。此外,由于本申请实施例的方案是利用海量存储类设备自身的特征信息来生成的密钥,因此可以允许通过纯硬件的形式实现,从而可以降低加密成本,且减少加密对于设备的传输速度的影响。此外,本申请实施例的方案对于海量存储类设备侧不需要进行专门的改动,即不需要专门制作的带有加解密功能的海量存储类设备,具有普适性。
实施例二:
本实施例提供了一种主控制器和接入设备。
可以参见图2所示,主控制器可以包括电连接的解析控制器(Parser Control,也称Parser_Ctrl)及加解密模块。其中:
解析控制器用于获取海量存储类设备的特征信息,并区分出传输给海量存储类设备的普通数据;
加解密模块用于根据海量存储类设备的特征信息生成密钥,并使用密钥加密传输给所述海量存储类设备的普通数据。
其中,加解密模块可以根据所采用的加解密算法的不同,选择相应的算法电路实现。比如采用sm3生成密钥,采用sm4进行加解密时,加解密模块可以采用sm3+sm4的算法电路实现。
而在本申请实施例中,为了实现对于海量存储类设备的特征信息的获取,以及实现对于与海量存储类设备之间的功能性数据和普通数据的区分,可以参见图3所示,解析控制器可以包括控制解析器和数据判别输出解析器。其中,
输出控制解析器用于解析与海量存储类设备之间的控制传输,获取海量存储类设备的特征信息;而数据判别输出解析器用于识别出传输给海量存储类设备的普通数据,并使能加解密模块进行加密。
应理解,在实际应用中,若仅能实现加密功能而不能实现解密功能,会导致加密后海量存储类设备无法使用。为此,解析控制器还需要能够使能加解密模块正确进行解密操作。为此,仍旧参见图3所示,解析控制器还可以包括有数据判别输入解析器,用于针对从海量存储类设备侧输入进主控制器的数据进行识别,识别出其中的普通数据,并使能加解密模块进行解密。
在本申请实施例中,控制解析器、数据判别输出解析器和数据判别输入解析器可以通过数值判别器电路实现,其电路逻辑可以表示为:if read_data==xxx,decrypt_en=0;else decrypt=1(如果读取到的数据等于“xxx”,输出信号“0”,否则输出信号“1”)。其中,“xxx”为根据数据格式确定出的值。
在本申请实施例中,参见图4所示,解析控制器还可以包括调度器(也称Scheduler)。而控制解析器还用于解析与海量存储类设备之间的控制传输,确定海量存储类设备是否为可加密的海量存储类设备,并在是时,输出第一信号给调度器;而调度器用于根据第一信号使能数据判别输出解析器和数据判别输入解析器。
示例性的,比如配置的数据判别输出解析器和数据判别输入解析器可以判别出数据是否为CBW和CSW,那么解析控制器会判断是否bInterfaceClass=08h且bInterfaceProtocol=50h,若是,则输出第一信号给调度器,从而使得调用器可以使能数据判别输出解析器和数据判别输入解析器。
需要理解的是,在本申请实施例中,若在第一次对控制传输进行解析后,根据解析情况进行加解密允许状态的标记。则解析控制器会先根据解密允许状态的标记进行一次判别,从而在标记为表示尚未解析到该设备的上述信息时,执行解析过程,在标记为表示符合要求,允许加解密时,直接输出第一信号给调度器,在标记为表示不符合要求,不允许加解密时,输出控制调度器不触发的第二信号给调度器。
应理解,上段中解析控制器可以通过两级数值判别器电路实现,第一级数值判别器电路用于判断标记值,第二级数值判别器电路用于解析控制传输。
需要说明的是,在本申请实施例中,如图2至图5所示,目前的主控制器中通常都会具有DMA(Direct Memory Access,直接内存传输),DMA是主控制器和内存之间做数据交换的接口。通过DMA,主控制器所在的接入设备上的应用程序或软件,可以实现对海量存储类设备的读写操作。
在本申请实施例中,可以在BIOS中提供相关的使能选项,用户通过BIOS所做的使能设置,可以直接写入USB主控制器内部的寄存器中,从而控制主控制器的加解密模块工作与否,以及采用何种方式进行密钥生成。
此外,如图2至图5所示,目前的主控制器中通常还会具有MAC,以及设置于DMA和MAC之间实现数据缓冲的RXFIFO(Receiver First In First Out,接收缓冲)和TXFIFO(Transmit First In First Out,发送缓冲)。其中MAC为主控制器实现与海量存储类设备的数据交互的接口。本申请实施例中可以如图2至图5所示,保留现有主控制器的结构。应理解,随着芯片技术的不断发展,当DMA、MAC、RXFIFO和TXFIFO的功能可以被新的结构所替换时,该采用新结构的主控制器中仍可按照本申请实施例的方式,通过接入解析控制器及加解密模块实现本申请实施例中所提供的方案。
需要说明的是,图5是本申请实施例中示例的一种可以对采用BULK-ONLY传输协议的海量存储类设备实现加解密的具体的主控制器结构示意图。其中,Bulk IN解析器为数据判别输入解析器,用于解析是被出Bulk IN传输中的CBW和CSW,Bulk OUT解析器为数据判别输出解析器,用于解析是被出Bulk OUT传输中的CBW和CSW。通过图5所示的主控制器,可以实现对于采用BULK-ONLY传输协议的海量存储类设备的数据加解密。还需要说明的是,图5加解密模块采用的是sm3+sm4电路,在实际应用过程中也可以采用其余的加解密电路实现。
本申请实施例中还提供了一种接入设备,参见图6所示,该接入设备中具有本实施例中所描述的主控制器以及接口。该接口可以接入海量存储类设备,从而通过该主控制器,实现本申请实施例中所提供的海量存储类设备加密方法。
此外,本申请实施例中的接入设备内包括BIOS。BIOS内可以提供有使能项的选项,比如实施例一种所示例的“是否使能海量存储类设备加解密功能”,“是否只在本机器上可用”,“是否在组内可用”等。
用户在BIOS内配置了使能项后,相关设置直接写入USB主控制器内部的寄存器中,从而加密传输给海量存储类设备的普通数据。
应理解,本申请实施例中的接口为USB接口。
应理解,虽然本申请实施例中可以通过上述的主控制器,基于硬件电路实现上述实施例一中所描述的海量存储类设备加密方法。但是除此之外,本申请实施例中并不限制通过配置相应的软件程序等方式实现上述实施例一中所描述的海量存储类设备加密方法。
示例性的,本申请实施例中所述的接入设备可以是带有接口的主机、笔记本电脑等设备,但不作为限制。
本实施例所提供的主控制器,通过解析控制器实现对于海量存储类设备的特征信息的获取以及普通数据的区分,并通过加解密模块实现密钥生成和数据加密,从而提高了海量存储类设备中的数据的安全性。此外,主控制器是通过硬件电路实现的传输解析和数据加解密,因此也可以不必借助专门的加密软件,从而可以降低加密成本,且减少加密对于设备的传输速度的影响。此外,本申请实施例的方案对于海量存储类设备侧不需要进行专门的改动,即不需要专门制作的带有加解密功能的海量存储类设备,具有普适性。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种海量存储类设备加密方法,其特征在于,应用于接入设备的主控制器上,包括:
在确定所述接入设备的基本输入输出系统BIOS中已使能加密功能后,获取所述BIOS中使能的加密类型;
获取海量存储类设备的特征信息;所述海量存储类设备的特征信息为能够唯一标识出所述海量存储类设备的信息;
按照所述加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成所述密钥;
使用所述密钥加密传输给所述海量存储类设备的普通数据;所述普通数据为:所述海量存储类设备与所述接入设备的数据交互过程中存在的,除用于实现所述海量存储类设备与所述接入设备之间的操作功能的功能性数据外的其他数据。
2.如权利要求1所述的海量存储类设备加密方法,其特征在于,所述海量存储类设备的特征信息包括所述海量存储类设备的设备描述符。
3.如权利要求2所述的海量存储类设备加密方法,其特征在于,所述获取海量存储类设备的特征信息包括:
解析与所述海量存储类设备之间的控制传输,得到所述海量存储类设备的设备描述符。
4.如权利要求1所述的海量存储类设备加密方法,其特征在于,所述海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备。
5.如权利要求4所述的海量存储类设备加密方法,其特征在于,所述方法还包括:
获取所述海量存储类设备的加解密允许状态标记;
在所述加解密允许状态标记为表征允许加解密的标记时,确定所述海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备;
在所述加解密允许状态标记为表征加解密允许状态待确定的标记时,解析与所述海量存储类设备之间的控制传输,获取所述海量存储类设备的传输协议类型,在所述传输协议类型为BULK-ONLY传输协议时,确定所述海量存储类设备为采用BULK-ONLY传输协议的海量存储类设备,并更新所述加解密允许状态标记为表征允许加解密的标记。
6.如权利要求4所述的海量存储类设备加密方法,其特征在于,所述普通数据为除命令块包CBW和命令状态包CSW外的数据。
7.如权利要求1所述的海量存储类设备加密方法,其特征在于,在所述加密类型为通用加密时,所述按照所述加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成所述密钥,包括:
采用预设加密算法对所述海量存储类设备的特征信息进行处理,得到所述密钥。
8.如权利要求1所述的海量存储类设备加密方法,其特征在于,所述方法还包括:获取当前接入的接入设备的标识信息;
在所述加密类型为仅本机使用时,所述按照所述加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成所述密钥,包括:
采用预设加密算法对所述海量存储类设备的特征信息和所述标识信息进行处理,得到所述密钥。
9.如权利要求1所述的海量存储类设备加密方法,其特征在于,所述方法还包括:获取外部输入的密码;
在所述加密类型为仅目标群组使用时,所述按照所述加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成所述密钥,包括:
采用预设加密算法对所述海量存储类设备的特征信息和所述密码进行处理,得到所述密钥。
10.一种主控制器,其特征在于,包括:电连接的解析控制器及加解密模块;
所述解析控制器用于获取海量存储类设备的特征信息,并区分出传输给所述海量存储类设备的普通数据;所述海量存储类设备的特征信息为能够唯一标识出所述海量存储类设备的信息;所述普通数据为:所述海量存储类设备与接入设备的数据交互过程中存在的,除用于实现所述海量存储类设备与所述接入设备之间的操作功能的功能性数据外的其他数据;
所述加解密模块用于按照所述接入设备的基本输入输出系统BIOS中使能的加密类型对应的密钥生成方式,结合所述海量存储类设备的特征信息生成密钥,并使用所述密钥加密传输给所述海量存储类设备的普通数据。
11.如权利要求10所述的主控制器,其特征在于,所述解析控制器包括:控制解析器、数据判别输出解析器;
所述控制解析器用于解析与所述海量存储类设备之间的控制传输,获取海量存储类设备的特征信息;
所述数据判别输出解析器用于识别出传输给所述海量存储类设备的普通数据,并使能所述加解密模块进行加密。
12.如权利要求11所述的主控制器,其特征在于,所述解析控制器还包括:数据判别输入解析器;
所述数据判别输入解析器用于识别出所述海量存储类设备传输来的普通数据,并使能所述加解密模块进行解密。
13.如权利要求11或是12所述的主控制器,其特征在于,所述解析控制器还包括:调度器;
所述控制解析器还用于解析与所述海量存储类设备之间的控制传输,确定所述海量存储类设备是否为采用BULK-ONLY传输协议的海量存储类设备,并在是时,输出第一信号给所述调度器;
所述调度器用于根据所述第一信号使能所述数据判别输出解析器。
14.一种接入设备,其特征在于,包括:接口以及如权利要求10-13任一项所述的主控制器;所述接口用于接入海量存储类设备。
CN202011367255.3A 2020-11-27 2020-11-27 海量存储类设备加密方法、主控制器及接入设备 Active CN112434320B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011367255.3A CN112434320B (zh) 2020-11-27 2020-11-27 海量存储类设备加密方法、主控制器及接入设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011367255.3A CN112434320B (zh) 2020-11-27 2020-11-27 海量存储类设备加密方法、主控制器及接入设备

Publications (2)

Publication Number Publication Date
CN112434320A CN112434320A (zh) 2021-03-02
CN112434320B true CN112434320B (zh) 2023-03-14

Family

ID=74698028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011367255.3A Active CN112434320B (zh) 2020-11-27 2020-11-27 海量存储类设备加密方法、主控制器及接入设备

Country Status (1)

Country Link
CN (1) CN112434320B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551784A (zh) * 2008-04-02 2009-10-07 西北工业大学 一种usb接口的ata类存储设备中数据的加密方法及装置
JP2009245020A (ja) * 2008-03-28 2009-10-22 Ikutoku Gakuen Kanagawa Koka Daigaku Usb接続による暗号化装置
CN103324587A (zh) * 2012-03-20 2013-09-25 安凯(广州)微电子技术有限公司 一种nandflash设备加解密实现方法及系统
CN105243344A (zh) * 2015-11-02 2016-01-13 上海兆芯集成电路有限公司 具有硬盘加密功能的芯片组以及主机控制器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1878055B (zh) * 2005-06-07 2010-11-03 北京握奇数据系统有限公司 一种分离式大数据量加/解密设备及实现方法
CN101630292B (zh) * 2009-07-29 2012-02-29 东南大学 一种usb可移动存储设备的文件加解密方法
EP3379445B1 (en) * 2017-03-22 2024-06-12 Diebold Nixdorf Systems GmbH System and method to generate encryption keys based on information of peripheral devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245020A (ja) * 2008-03-28 2009-10-22 Ikutoku Gakuen Kanagawa Koka Daigaku Usb接続による暗号化装置
CN101551784A (zh) * 2008-04-02 2009-10-07 西北工业大学 一种usb接口的ata类存储设备中数据的加密方法及装置
CN103324587A (zh) * 2012-03-20 2013-09-25 安凯(广州)微电子技术有限公司 一种nandflash设备加解密实现方法及系统
CN105243344A (zh) * 2015-11-02 2016-01-13 上海兆芯集成电路有限公司 具有硬盘加密功能的芯片组以及主机控制器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种安全的USB2.0设备控制器设计;李爱国等;《计算机工程》;20121220(第24期);全文 *

Also Published As

Publication number Publication date
CN112434320A (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
KR100976020B1 (ko) 접근 방법
JP2002319230A (ja) 記録媒体、情報処理装置、コンテンツ配信サーバ、方法、プログラム、その記録媒体
US20110016310A1 (en) Secure serial interface with trusted platform module
CN105701410A (zh) 一种获得源代码中信息的方法、装置及系统
JP6099384B2 (ja) 情報通信システム及び認証装置及び情報通信システムのアクセス制御方法及びアクセス制御プログラム
US8328104B2 (en) Storage device management systems and methods
US8006009B2 (en) Methods and device for implementing multifunction peripheral devices with a single standard peripheral device driver
US9282083B2 (en) Encryption system and method
CN114386104A (zh) 一种存储敏感数据的方法、数据读取方法和装置
CN108243402B (zh) 一种读写智能卡的方法及装置
CN103548030A (zh) 信息处理装置、信息处理方法及程序
CN112434320B (zh) 海量存储类设备加密方法、主控制器及接入设备
EP3451224A1 (en) Data transmission system, data transmission device, data transmission method, and computer-readable recording medium
CN109977692B (zh) 数据处理方法和装置、存储介质及电子设备
CN112328975A (zh) 一种产品软件授权管理方法、终端设备及介质
KR101043255B1 (ko) Usb 허브 보안 장치 및 이를 이용한 데이터 보안 방법
US6959390B1 (en) Data processing system and method for maintaining secure user private keys in non-secure storage
CN113141353B (zh) 一种数字证书的存储方法、读取方法、装置及网关
TWI690192B (zh) 依順序提供簽章對象簽章以產生簽章文件之系統及方法
CN108491745B (zh) 数据采集方法及装置、计算机可读存储介质
CN101617318A (zh) 用于将内容与许可证链接的方法及设备
CN112016336A (zh) 检测复制卡的方法、装置、设备及存储介质
EP3703308A1 (en) Portable electronic device and ic module
CN104580181A (zh) 加密数据的方法、装置及加密加速引擎
TWM583978U (zh) 使用實體載具儲存數位憑證以進行線上交易之系統

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Huayuan Industrial Zone, Binhai New Area, Tianjin 300450

Applicant after: Haiguang Information Technology Co.,Ltd.

Address before: 100082 industrial incubation-3-8, North 2-204, 18 Haitai West Road, Huayuan Industrial Zone, Haidian District, Beijing

Applicant before: Haiguang Information Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant