开卡装置及利用开卡装置验证并启用数据储存装置的方法

文档序号:1521152 发布日期:2020-02-11 浏览:24次 >En<

阅读说明:本技术 开卡装置及利用开卡装置验证并启用数据储存装置的方法 (Card opening device and method for verifying and starting data storage device by using card opening device ) 是由 王德凯 黄兴郎 于 2019-05-27 设计创作,主要内容包括:本发明涉及一种开卡装置及利用开卡装置验证并且启用数据储存装置的方法,用以验证并启用数据储存装置,包括第一控制单元,透过第一接口耦接至数据储存装置,以及中央控制单元,透过系统总线排耦接至第一控制单元。中央控制单元响应于自电子装置接收的第一控制指令将第一验证数据透过系统总线排提供至第一控制单元,并且由第一控制单元透过第一接口将第一验证数据传送至数据储存装置。于第一验证数据被传送至数据储存装置后,中央控制单元响应于自电子装置接收的第二控制指令将第二验证数据透过系统总线排提供至第一控制单元,并且由第一控制单元透过第一接口将第二验证数据传送至数据储存装置。于第二验证数据的传送被执行后,经由中央控制单元的控制使开卡装置进入完全锁定阶段,于完全锁定阶段,中央控制单元执行数据储存装置的验证程序,并且于中央控制单元判断数据储存装置通过验证程序前,中央控制单元不被允许将任何数据传送给数据储存装置。(The invention relates to a card opening device and a method for verifying and starting a data storage device by using the card opening device, which is used for verifying and starting the data storage device. The central control unit responds to a first control command received from the electronic device and provides first verification data to the first control unit through the system bus line, and the first control unit transmits the first verification data to the data storage device through the first interface. After the first verification data is transmitted to the data storage device, the central control unit responds to a second control command received from the electronic device to provide second verification data to the first control unit through the system bus line, and the first control unit transmits the second verification data to the data storage device through the first interface. After the second verification data is transmitted, the card-opening device enters a full-locking stage under the control of the central control unit, the central control unit executes the verification program of the data storage device in the full-locking stage, and the central control unit is not allowed to transmit any data to the data storage device before the central control unit judges that the data storage device passes the verification program.)

开卡装置及利用开卡装置验证并启用数据储存装置的方法

技术领域

本发明有关于一种启用一数据储存装置的装置与方法,特别有关于一种利用一开卡装置验证并且启用数据储存装置的方法。

背景技术

随着数据储存装置的科技在近几年快速地成长,许多数据储存装置,如符合安全数位卡(Secure Digital Memory Card缩写为SD)/多媒体记忆卡(Multimedia MemoryCard,缩写为MMC)规格、CF规格、MS规格与XD规格的记忆卡、固态硬碟、嵌入式多媒体记忆卡(embedded Multi Media Card,缩写为eMMC)以及通用快闪存储器储存(Universal FlashStorage,缩写为UFS)已经广泛地被应用在多种用途上。

一般而言,于数据储存装置的量产阶段,需载入装置固件,以启用数据储存装置。其中装置固件通常根据客户需求而设计,因此,通常不会在芯片封装时预先写入内部的存储器装置,而是会在量产阶段才被载入。为了能更有效率且更安全的载入装置固件,需要一种新颖的启用数据储存装置的装置与方法。

发明内容

根据本发明的一实施例,一种开卡装置,用以验证并启用一数据储存装置,包括一第一控制单元以及一中央控制单元。第一控制单元透过一第一接口耦接至数据储存装置。中央控制单元透过一系统总线排耦接至第一控制单元。中央控制单元响应于自一电子装置接收的一第一控制指令将一第一验证数据透过系统总线排提供至第一控制单元,并且由第一控制单元透过第一接口将第一验证数据传送至数据储存装置。于第一验证数据被传送至数据储存装置后,中央控制单元响应于自电子装置接收的一第二控制指令将一第二验证数据透过系统总线排提供至第一控制单元,并且由第一控制单元透过第一接口将第二验证数据传送至数据储存装置。于第二验证数据的传送被执行后,经由中央控制单元的控制使开卡装置进入一完全锁定阶段,于完全锁定阶段,中央控制单元执行数据储存装置的一验证程序,并且于中央控制单元判断数据储存装置通过验证程序前,中央控制单元不被允许将任何数据传送给数据储存装置。

根据本发明的一实施例,一种利用一开卡装置验证并且启用一数据储存装置的方法,包括:响应于自一电子装置接收的一第一控制指令将一第一验证数据传送至数据储存装置;于第一验证数据被传送至数据储存装置后,响应于自电子装置接收的一第二控制指令将一第二验证数据传送至数据储存装置;于第二验证数据的传送被执行后,控制开卡装置运作于一完全锁定阶段,其中于完全锁定阶段,在开卡装置判断该数据储存装置通过一验证程序前,开卡装置与数据储存装置之间不允许数据传输;执行数据储存装置的验证程序,以判断数据储存装置是否通过验证程序;于判断数据储存装置通过验证程序后,控制开卡装置运作于一解锁阶段;以及于解锁阶段,开卡装置自电子装置接收一第三控制指令与数据储存装置的一装置固件,并且响应于第三控制指令将该装置固件传送至数据储存装置,以启用数据储存装置。

附图说明

图1是显示根据本发明的一实施例所述的数据储存装置的示意图。

图2是显示根据本发明的一实施例所述的一开卡装置范例方块图。

图3是显示根据本发明的一实施例所述的一电子装置系统架构。

图4是显示根据本发明的一实施例所述的利用一开卡装置验证并且启用一数据储存装置的方法流程图。

图5是显示根据本发明的第一实施例所述的利用开卡装置验证并且启用一数据储存装置的讯息流程图。

图6是显示根据本发明的第二实施例所述的利用开卡装置验证并且启用一数据储存装置的讯息流程图。

图7是显示根据本发明的第三实施例所述的利用开卡装置验证并且启用一数据储存装置的讯息流程图。

符号说明

21A-中央控制单元;

21B-UFS控制单元;

100-数据储存装置;

110-存储器控制器;

112-微处理器;

112M-只读存储器;

112C-程序码;

114-控制逻辑;

116-缓冲存储器;

118-接口逻辑;

120-存储器装置;

130-主机装置;

132-编码器;

134-解码器;

140-处理器;

200-开卡装置;

210-主要部分;

211-USB实体层电路单元;

212-USB MAC层电路单元;

213、CPU-中央处理单元;

214、ROM-只读存储器;

215、DMA装置-直接存储器存取装置;

216、SRAM-静态随机存取存储器;

217-UFS主机控制器;

218-UniPRO电路单元;

219-M-PHY层电路单元;

220-SD主机控制器;

221-eMMC主机控制器;

222-系统总线排;

230-存储器装置;

Interface_1、Interface_2、Interface_3、Interface_4、Interface_5-接口;

Tiny_code-程序码。

具体实施方式

为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。

图1是显示根据本发明的一实施例所述的数据储存装置100的示意图。数据储存装置100包括一存储器装置120,例如,一NAND型快闪存储器(NAND Flash Memory)模块,以及一存储器控制器110,且存储器控制器110用来存取(Access)存储器装置120。根据本发明一实施例,存储器控制器110包含一微处理器112、一只读存储器(Read Only Memory,ROM)112M、一控制逻辑114、一缓冲存储器116、与一接口逻辑118。只读存储器112M用来储存一程序码112C,而微处理器112则用来执行程序码112C以控制对存储器装置120的存取。控制逻辑114包含了一编码器132以及一解码器134。编码器132用来对写入到存储器装置120中的数据进行编码以产生对应的校验码(或称,错误更正码(Error Correction Code),ECC)。解码器134用来对从存储器装置120所读出的数据进行解码。

于典型状况下,存储器装置120包含了多个快闪存储器芯片,而每一个快闪存储器芯片包含多个存储器区块(Block),而控制器(例如,透过微处理器112执行程序码112C的存储器控制器110)对存储器装置120进行抹除数据运作是以区块为单位来进行。另外,一存储器区块可记录(包含)特定数量的数据页(Page),其中该控制器(例如,透过微处理器112执行程序码112C的存储器控制器110)对存储器装置120进行写入数据的运作是以数据页为单位来进行写入。

实作上,透过微处理器112执行程序码112C的存储器控制器110可利用其本身内部的元件来进行诸多控制运作,例如:利用控制逻辑114来控制存储器装置120的存取运作(尤其是对至少一区块或至少一数据页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与一主机装置(Host Device)130沟通。缓冲存储器116是以随机存取存储器(Random Access Memory,RAM)来实施。例如,缓冲存储器116可以是静态随机存取存储器(Static RAM,SRAM),但本发明不限于此。

一般而言,主机装置130可对数据储存装置100发出指令,例如,读取指令或写入指令,用以存取存储器装置120所储存的数据,或者进一步控制、管理数据储存装置100。数据储存装置100可被配置于一数位相机、一手机、一消费型电子装置、或其他。在一实施例中,数据储存装置100可以是可携式存储器装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡),且主机装置130为一可与数据储存装置连接的电子装置。而在另一实施例中,数据储存装置100可以是固态硬碟或符合通用快闪存储器储存(Universal Flash Storage,UFS)或嵌入式多媒体记忆卡(Embedded Multi Media Card,EMMC)规格的嵌入式储存装置,以设置在一电子装置中,而此时主机装置130可以是该电子装置的一处理器或者可与数据储存装置连接的另一电子装置。其中,UFS和eMMC是目前常见的快闪存储器规范,可为快闪存储器快闪存储器带来更高的数据传输速度和更高的可靠性。

如上述,于数据储存装置100的量产阶段,需载入装置固件,以启用数据储存装置100。一般而言,装置固件的载入可透过与数据储存装置100连接的主机装置130完成。此时,与数据储存装置100连接的主机装置130可以是一开卡装置或者一读卡机(card reader)。

图2是显示根据本发明的一实施例所述的一开卡装置范例方块图。于本发明的实施例中,开卡装置200可以是如图1所示的主机装置130,透过一既定接口与数据储存装置100连接,用以验证数据储存装置100,并且于确认数据储存装置100通过验证后,将数据储存装置100所需的装置固件载入数据储存装置100。

根据本发明的一实施例,开卡装置200可包括一主要部分210与一外部存储器装置230,其中外部存储器装置230配置于主要部分210的外部。根据本发明的一实施例,开卡装置200可包括一第一接口Interface_1。开卡装置透过接口Interface_1并使用一标准通信协定与处理器140沟通,标准通信协定可以是,例如,(通用序列总线排(Universal SerialBus,缩写为USB)的通信协定、高技术组态(Advanced Technology Attachment,缩写为ATA)的通信协定、序列高技术组态(Serial ATA,缩写为SATA)的通信协定、快捷外设互联标准(Peripheral Component Interconnect-Express,缩写为PCI-E)的通信协定、或其他。根据本发明的一实施例,开卡装置200可包括一USB实体层电路单元211与一USB媒体存取控制(Media Access Control,缩写为MAC)层电路单元212,用以依循USB的通信协定执行不同层的数据处理。

开卡装置200可还包括一中央控制单元21A。中央控制单元21A包括一中央处理单元(Central Processing Unit,缩写为CPU)213、一只读存储器(Read Only Memory,缩写为ROM)214、一直接存储器存取(Direct Memory Access,缩写为DMA)装置215、以及一静态随机存取存储器(Static Random Access Memory,缩写为SRAM)216。根据本发明的一实施例,开卡装置200可包括一第二接口Interface_2。开卡装置透过接口Interface_2并使用一标准通信协定与外部存储器装置230沟通,标准通信协定可以是,例如,集成电路总线排(Inter-Integrated Circuit Bus,缩写为I2C)、串列周边接口(Serial PeripheralInterface,缩写为SPI)、或其他。ROM 214用以储存开机程序码(boot code),而外部存储器装置230则用以储存在系统程序设计(In-system programming,缩写为ISP)或在电路程序设计(In-circuit programming,缩写为ICP)的程序码。当开卡装置200被供电后,中央处理单元213可执行ROM214所储存的开机程序码,用以初始化开卡装置200,并且自外部存储器装置230读取ISP程序码,并将之载入SRAM 216,接着执行ISP程序码,用以根据ISP程序码所编译的内容提供既定的功能。中央控制单元21A可透过系统总线排222与UFS控制单元21B、SD控制单元以及eMMC控制单元沟通。UFS控制单元21B透过第三接口Interface_3与外部的UFS装置沟通,其中接口Interface_3可以是UFS接口。SD控制单元透过第四接口Interface_4与外部的SD卡沟通,其中接口Interface_4可以是SD接口。eMMC控制单元透过第五接口Interface_5与外部的eMMC卡沟通,其中接口Interface_5可以是eMMC接口。

UFS控制单元21B可包括一UFS主机控制器217、一移动产业处理器接口(MobileIndustry Processor Interface,缩写为MIPI)标准化通信协定(UniPRO)电路单元218以及MIPI实体(M-PHY)层电路单元219。UFS主机控制器217可透过系统总线排222自中央处理单元213接收指令,例如读取/写入指令,以及接收数据,并且依循UFS通信协定将接收到的指令及数据转换为既定的格式。UniPRO电路单元218与M-PHY层电路单元219用以依循UFS通信协定执行不同层(例如,数据连结层与实体层)的数据处理。于格式转换及处理后,指令与数据会被透过接口Interface_3被传送至外部的UFS装置。

SD控制单元可包括一SD主机控制器220。SD主机控制器220可透过系统总线排222自中央处理单元213接收指令,例如读取/写入指令,以及接收数据,并且依循SD通信协定将接收到的指令及数据转换为既定的格式。于格式转换及处理后,指令与数据会被透过接口Interface_4被传送至外部的SD装置。eMMC控制单元可包括一eMMC主机控制器221。eMMC主机控制器221可透过系统总线排222自中央处理单元213接收指令,例如读取/写入指令,以及接收数据,并且依循eMMC通信协定将接收到的指令及数据转换为既定的格式。于格式转换及处理后,指令与数据会被透过接口Interface_5被传送至外部的eMMC装置。

图3是显示根据本发明的一实施例所述的一电子装置系统架构。电子装置系统可包括数据储存装置100、开卡装置200与处理器140。数据储存装置100可包括存储器控制器110与存储器装置120。开卡装置200与数据储存装置100可透过上述的既定接口沟通,既定接口可以是一快闪存储器接口,例如一UFS接口或eMMC接口。此时,数据储存装置100可以是UFS装置或eMMC装置。

根据本发明的一实施例,开卡装置200(或上述的主机装置130)可为主机端用以启用数据储存装置100的一硬件装置。举例而言,如上述,开卡装置200可于数据储存装置的量产阶段验证数据储存装置100,并且于验证后启用数据储存装置100。启用流程也可被称为开卡流程,用以将对应的装置固件载入数据储存装置100,以启用数据储存装置100。开卡装置200可如上述透过一接口并使用一标准通信协定与处理器140沟通。处理器140可以是另一电子装置,例如,一电脑装置,之处理器。根据本发明的一实施例,处理器140可发出指令用以控制上述开卡流程。响应于自处理器140接收到的指令,开卡装置200可传送对应的指令(例如,UFC或eMMC等指令)以及数据至存储器控制器110,以及自存储器控制器110接收讯息。

参考回图2,根据本发明的一实施例,于开卡装置200被供电后,经由中央控制单元21A的控制(例如,经由中央控制单元21A的中央处理单元213的控制),开卡装置200会进入一第一锁定阶段。于第一锁定阶段,中央控制单元21A(或对应的开卡装置200)仅被允许对数据储存装置100执行至多一第一既定次数的数据传输。此外,于第一锁定阶段中,可被允许传送至数据储存装置100的数据量亦可被限定为不超过一既定数据量。

中央控制单元21A可自处理器140(或对应的包含处理器140的电子装置,以下亦同)接收一第一控制指令与第一验证数据。第一控制指令用以指示开卡装置200将第一验证数据传送至数据储存装置100。

响应于第一控制指令,中央控制单元21A将第一验证数据透过系统总线排222提供至另一控制单元,例如,UFS控制单元21B,并且由UFS控制单元21B经执行如上述对应的数据处理后透过对应的接口Interface_3将第一验证数据传送至数据储存装置100。于此实施例中,数据储存装置100是一UFS装置。

根据本发明的一实施例,第一验证数据可以是包含用以产生加密数据的一程序码Tiny_code,其为一笔小量的数据,用以辅助数据储存装置100于验证程序产生对应的验证回应数据。

根据本发明的一实施例,于第一验证数据被传送至数据储存装置100后,经由中央控制单元21A的控制,开卡装置200会进入一第二锁定阶段。于第二锁定阶段,中央控制单元21A(或对应之开卡装置200)仅被允许对数据储存装置100执行至多一第二既定次数的数据传输。此外,于第二锁定阶段中,可被允许传送至数据储存装置的数据量亦可被限定为不超过一既定数据量。

于第一验证数据被传送至数据储存装置100后,中央控制单元21A可自处理器140接收第二控制指令。第二控制指令用以指示开卡装置200将第二验证数据传送至数据储存装置100,其中,第二验证数据可以是由处理器140提供,或者由开卡装置200所产生(以下将于不同实施中做更详细的介绍)。

响应于第二控制指令,中央控制单元21A将第二验证数据透过系统总线排222提供至对应的控制单元,例如,UFS控制单元21B,并且由UFS控制单元21B经执行如上述对应的数据处理后透过对应的接口Interface_3将第二验证数据传送至数据储存装置100。

于第二验证数据的传送被执行后,开卡装置200会等待数据储存装置100回传对应的验证回应数据。待接收验证回应数据后,中央控制单元21A根据验证回应数据执行数据储存装置100的一验证程序。根据本发明的一实施例,于第二验证数据的传送被执行后,经由中央控制单元21A的控制,开卡装置200会进入一完全锁定阶段。于完全锁定阶段,在判断数据储存装置100通过验证程序前,中央控制单元21A不被允许再将任何数据传送给数据储存装置100。

于判断数据储存装置100通过验证程序后,经由中央控制单元21A的控制,开卡装置200进入一解锁阶段,于解锁阶段,中央控制单元21A自处理器140接收一第三控制指令与数据储存装置100的一装置固件。响应于第三控制指令,中央控制单元21A将装置固件透过系统总线排222提供至对应的控制单元,例如,UFS控制单元21B,并且由UFS控制单元21B经执行如上述对应的数据处理后透过对应的接口Interface_3将装置固件传送至数据储存装置100,以启用数据储存装置100。

图4是显示根据本发明的一实施例所述的利用一开卡装置验证并且启用一数据储存装置的方法流程图。值得注意的是,于本发明的实施例中,开卡装置亦可被称为主机装置,例如,图1所示的主机装置130。首先,开卡装置可响应于自一电子装置接收的第一控制指令将第一验证数据传送至数据储存装置(步骤S402)。接着,于第一验证数据被传送至数据储存装置后,开卡装置可响应于自电子装置接收的第二控制指令将第二验证数据传送至数据储存装置(步骤S404)。接着,于第二验证数据的传送被执行后,控制开卡装置运作于一完全锁定阶段(步骤S406),并且执行数据储存装置的一验证程序(步骤S408)。接着,开卡装置判断数据储存装置是否通过验证程序(步骤S410)。若是,控制开卡装置运作于一解锁阶段,使开卡装置可响应于自电子装置接收的第三控制指令将装置固件传送至数据储存装置,以启用数据储存装置(步骤S412)。若否,则不进行解锁,使开卡装置持续运作于完全锁定阶段。由于于完全锁定阶段,直到判断数据储存装置通过验证程序前,开卡装置不被允许将任何数据传送给数据储存装置,因此,在判断数据储存装置通过验证程序前,开卡装置不会将装置固件传送给数据储存装置。换言之,无法通过验证的数据储存装置便不会被启用。

根据本发明的第一实施例,第二验证数据包含由处理器140(或对应的包含处理器140的电子装置,以下亦同)所选择的一金钥以及一加密方法。中央控制单元21A(或对应的开卡装置200,以下亦同)自处理器140接收此第二验证数据,并且于验证程序中,中央控制单元21A进一步使用此金钥以及加密方法计算一第一加密过的金钥,并且比较第一加密过的金钥与自数据储存装置100接收的一第二加密过的金钥(即,验证回应数据)是否相同,以及于第一加密过的金钥与第二加密过的金钥相同时,判断数据储存装置通过验证程序。

图5是显示根据本发明的第一实施例所述的利用开卡装置验证并且启用一数据储存装置的讯息流程图。图5显示出电子装置(或其所包含之处理器140,以下亦同)、开卡装置200/主机装置130(或其所包含的中央控制单元21A,以下亦同)以及数据储存装置100(或其所包含的存储器控制器110,以下亦同)之间的讯息流程。

根据本发明的一实施例,于开卡装置200被供电后,开卡装置进入一第一锁定阶段。在成功地被解锁前,开卡装置200仅被允许对数据储存装置100执行第一既定次数的数据传输,并且于各数据传输中可被传送的数据量也被限定为不超过一既定数据量。

根据本发明的一实施例,于第一锁定阶段,开卡装置200仅被允许对数据储存装置100执行至多两次的数据传输,并且于第一次数据传输中由开卡装置200传送至数据储存装置100的数据量被限定为,例如,不超过64kB。

如图5所示,于开卡装置200被供电后,电子装置将第一控制指令及第一验证数据传送至开卡装置200,其中,于本发明的实施例,第一验证数据包含用以产生加密数据(例如,加密过的金钥)的一程序码Tiny_code。开卡装置200响应于第一控制指令将包含程序码Tiny_code的第一验证数据传送至数据储存装置100。

于第一验证数据被传送至数据储存装置100后,开卡装置200进入一第二锁定阶段。根据本发明的一实施例,于第二锁定阶段,开卡装置200仅被允许对数据储存装置100执行第二既定次数的数据传输,并且于各数据传输中可被传送的数据量也被限定为不超过一既定数据量,其中第二既定次数可少于第一既定次数。举例而言,于第二锁定阶段,开卡装置200仅被允许对数据储存装置100执行至多一次的数据传输,并且于此次数据传输中由开卡装置200传送至数据储存装置100的数据量被限定为,例如,不超过64kB。

于接收到包含程序码Tiny_code的第一验证数据后,数据储存装置100可回应一传输完成讯息至开卡装置200,而开卡装置200可进一步回应一传输完成讯息至电子装置。根据本发明的一实施例,数据储存装置100可将接收到的第一验证数据储存于缓冲存储器116内,藉此可执行程序码Tiny_code。值得注意的是,于本发明的实施例中,数据储存装置100并不会进一步将程序码Tiny_code存入存储器装置120内。

根据本发明的一实施例,程序码Tiny_code可包含一既定数量的加密程序码与解密程序码,以及一既定数量的虚设数据(dummy data)。即,于本发明的实施例中,真实的加密/解密程序码被嵌入程序码Tiny_code内,并且程序码Tiny_code会被虚设数据打乱。藉由执行事先储存于只读存储器112M内的内建固件,数据储存装置100的存储器控制器110可从语法上分析程序码Tiny_code,解析出真实的加密/解密程序码,并将之储存于缓冲存储器116内,以供后续执行。

根据本发明的第一实施例,于接收到传输完成讯息后,电子装置可随机地选择一加密方法以及产生一金钥。电子装置可将此金钥与所选的加密方法作为第二验证数据传送至开卡装置200。响应于电子装置所发出的对应的控制讯息,开卡装置200进一步将此金钥与加密方法的资讯作为第二验证数据传送至数据储存装置100。

于第二验证数据被传送至数据储存装置100后,开卡装置200进入一第三锁定阶段,此为一完全锁定阶段。于完全锁定阶段,开卡装置200不被允许再将任何数据传送给该数据储存装置。即,开卡装置200与数据储存装置100之间不再允许进一步的指令与数据传输。

于接收到金钥与加密方法的资讯后,数据储存装置100可执行程序码Tiny_code,用以根据加密方法与金钥产生加密过的数据。如上述,数据储存装置100的存储器控制器110可根据电子装置所指示的加密方法从语法上分析程序码Tiny_code,解析出其所需要的真实的加密/解密程序码。

根据本发明的一实施例中,数据储存装置100可计算加密过的金钥作为加密过的数据,并且可将加密过的数据回传给开卡装置200。

根据本发明的另一实施例,数据储存装置100可随机产生一笔大量的虚设数据,计算加密过的金钥,并且根据加密方法将加密过的金钥嵌入虚设数据中作为加密过的数据,再将加密过的数据回传给开卡装置200。

于接收到加密过的数据后,开卡装置200可将其自己计算的加密过的金钥与自数据储存装置100接收到的加密过的金钥做比较,比较两者是否相同,用以验证数据储存装置是否为被认可的装置。于将加密过的金钥嵌入虚设数据中作为加密过的数据的一些实施例中,开卡装置200可进一步使用加密方法找出嵌入虚设数据中的有效数据(即,加密过的金钥)所在的位置,以找出数据储存装置100所传送的加密过的金钥。于找到加密过的金钥后,开卡装置200可将其自己计算的加密过的金钥与自数据储存装置100接收到的加密过的金钥做比较,比较两者是否相同,用以验证数据储存装置是否为被认可的装置(即,装置的正直性(integrity))。

于本发明的一实施例中,开卡装置200可执行程序码Tiny_code,用以进一步根据加密方法使用金钥自行产生(计算出)加密过的金钥。于本发明的另一实施例中,开卡装置200可执行于存储器装置230内所储存的程序码,以根据加密方法使用金钥自行产生(计算出)加密过的金钥。若开卡装置200计算的加密过的金钥不符合自数据储存装置100接收到的加密过的金钥,则开卡装置200持续运作于完全锁定阶段。

若开卡装置200计算的加密过的金钥符合自数据储存装置100接收到的加密过的金钥,代表数据储存装置100通过验证程序。于判断数据储存装置100通过验证程序后,开卡装置200运作于一解锁阶段。开卡装置200可传送一解锁回应讯息至电子装置。

响应于解锁回应讯息,电子装置可确认数据储存装置100已通过验证程序,因而藉由传送启用数据储存装置100所需的装置固件至开卡装置200开始数据储存装置100的开卡程序。开卡装置200接着将装置固件传送至数据储存装置100。装置固件最终可经由存储器控制器110的控制被载入数据储存装置100的存储器装置120内。当装置固件成功被载入后,开卡程序完成,数据储存装置100可传送一开卡完成讯息至开卡装置200。

当开卡装置200接收到开卡完成讯息后,会进一步将开卡完成讯息传送至电子装置。当电子装置接收到开卡完成讯息后,电子装置可发出一指令用以关闭开卡装置200或关闭开卡装置200内用以与数据储存装置100沟通的相关电路。尔后,当开卡装置200或相关电路重新被供电后,开卡装置200将再度进入第一锁定阶段,用以为下一个数据储存装置执行验证与开卡程序。

根据本发明的第二实施例,第二验证数据包含加密过的金钥及对应的加密/解密方法。中央控制单元21A自处理器140接收由处理器140所选择的一加密方法与一金钥,并且根据此加密方法使用此金钥计算出加密过的金钥,再将加密过的金钥与对应的加密或解密方法作为第二验证数据传送给数据储存装置100。数据储存装置100需根据加密或解密方法将此加密过的金钥解密,再将其解密过的金钥(即,验证回应数据)回传给开卡装置200。于验证程序中,中央控制单元21A比较自处理器140接收的金钥与自数据储存装置100接收的解密过的金钥是否相同,以及于两者相同时,判断该数据储存装置通过验证程序。

图6是显示根据本发明的第二实施例所述的利用开卡装置验证并且启用一数据储存装置的讯息流程图。图6显示出电子装置(或其所包含的处理器140,以下亦同)、开卡装置200/主机装置130(或其所包含的中央控制单元21A,以下亦同)以及数据储存装置100(或其所包含的存储器控制器110,以下亦同)之间的讯息流程。

类似于第一实施例,于开卡装置200被供电后,开卡装置200进入一第一锁定阶段。在成功地被解锁前,开卡装置200仅被允许对数据储存装置100执行第一既定次数的数据传输,并且于各数据传输中可被传送的数据量也被限定为不超过一既定数据量。

根据本发明的一实施例,于第一锁定阶段,开卡装置200仅被允许对数据储存装置100执行至多两次的数据传输,并且于第一次数据传输中由开卡装置200传送至数据储存装置100的数据量被限定为,例如,不超过64kB。

如图6所示,于开卡装置200被供电后,电子装置将第一控制指令及第一验证数据传送至开卡装置200,其中,于本发明的实施例,第一验证数据包含用以产生加密数据(例如,加密过的金钥)的一程序码Tiny_code。开卡装置200响应于第一控制指令将包含程序码Tiny_code的第一验证数据传送至数据储存装置100。

于第一验证数据被传送至数据储存装置100后,开卡装置200进入一第二锁定阶段。根据本发明的一实施例,于第二锁定阶段,开卡装置200仅被允许对数据储存装置100执行第二既定次数的数据传输,并且于各数据传输中可被传送的数据量也被限定为不超过一既定数据量,其中第二既定次数可少于第一既定次数。举例而言,于第二锁定阶段,开卡装置200仅被允许对数据储存装置100执行至多一次的数据传输,并且于此次数据传输中由开卡装置200传送至数据储存装置100的数据量被限定为,例如,不超过64kB。

于接收到包含程序码Tiny_code的第一验证数据后,数据储存装置100可回应一传输完成讯息至开卡装置200,而开卡装置200可进一步回应一传输完成讯息至电子装置。根据本发明的一实施例,数据储存装置100可将接收到的第一验证数据储存于缓冲存储器116内,藉此可执行程序码Tiny_code。值得注意的是,于本发明的实施例中,数据储存装置100并不会进一步将程序码Tiny_code存入存储器装置120内。

根据本发明的第二实施例,于接收到传输完成讯息后,电子装置可随机地选择一加密方法以及产生一金钥。电子装置可将此金钥与所选的加密方法的资讯传送至开卡装置200。根据本发明的一实施例,开卡装置200接着可执行程序码Tiny_code或储存于存储器装置230内的程序,用以根据此加密方法使用此金钥产生加密过的金钥作为加密过的数据。根据本发明的另一实施例,开卡装置200可随机产生一笔大量的虚设数据,计算加密过的金钥,并且根据加密方法将加密过的金钥嵌入虚设数据中作为加密过的数据。

根据本发明的一实施例,开卡装置200接着将加密过的数据以及加密方法的资讯传送给数据储存装置100。

于本发明的另一实施例中,开卡装置200可将加密过的数据与解密方法的资讯传送给数据储存装置100。于此实施例中,只读存储器214或存储器装置230内可储存一对照表,用以纪录加密程序码与对应的加密方法,以及对应的解密程序码与解密方法等的对应关系。因此,此实施例中,于接收到电子装置所选择的加密方法的资讯后,开卡装置200可查找此对照表以得知哪个解密方法是对应于电子装置所选择的加密方法,并且将加密过的数据与解密方法的资讯传送给数据储存装置100。

于本发明的一实施例中,于接收到加密过的数据与加密方法的资讯后,数据储存装置100可执行程序码Tiny_code,以使用此加密方法找出嵌入虚设数据中的有效数据(即,加密过的金钥)所在的位置,以找出开卡装置200所传送的加密过的金钥。于找到加密过的金钥后,数据储存装置100进一步将此金钥解密。更具体的说,于此实施例中,程序码Tiny_code内可储存一对照表,用以纪录加密程序码与对应的加密方法,以及对应的解密程序码与解密方法等的对应关系。于接收到电子装置所选择的加密方法的资讯后,数据储存装置100可查找此对照表以得知哪个解密方法是对应于电子装置所选择的加密方法,并且取得对应的解密程序码。数据储存装置100可进一步藉由执行解密程序码将此金钥解密。于完成解密后,数据储存装置100可将解密过的金钥传送给开卡装置200。

于开卡装置200将加密过的数据与解密方法的资讯传送给数据储存装置100的另一实施例中,于接收到加密过的数据与解密方法的资讯后,数据储存装置100可执行程序码Tiny_code,以使用对应的加密方法找出嵌入虚设数据中的有效数据(即,加密过的金钥)所在的位置,用以找出开卡装置200所传送的加密过的金钥。于找到加密过的金钥后,数据储存装置100进一步藉由执行根据所接收到的解密方法的资讯而取得的解密程序码将此金钥解密。于完成解密后,数据储存装置100可将解密过的金钥传送给开卡装置200。

于接收到解密过的金钥后,开卡装置200可将此解密过的金钥与自电子装置接收到的金钥做比较,比较两者是否相同,用以验证数据储存装置是否为被认可的装置(即,装置的正直性(integrity))。

若数据储存装置100计算的解密过的金钥不符合自电子装置接收到的金钥,则开卡装置200持续运作于完全锁定阶段。

若数据储存装置100计算的解密过的金钥符合自电子装置接收到的金钥,代表数据储存装置100通过验证程序。于判断数据储存装置100通过验证程序后,开卡装置200运作于一解锁阶段。开卡装置200可传送一解锁回应讯息至电子装置。

响应于解锁回应讯息,电子装置可确认数据储存装置100已通过验证程序,因而藉由传送启用数据储存装置100所需的装置固件至开卡装置200开始数据储存装置100的开卡程序。开卡装置200接着将装置固件传送至数据储存装置100。装置固件最终可经由存储器控制器110的控制被载入数据储存装置100的存储器装置120内。当装置固件成功被载入后,开卡程序完成,数据储存装置100可传送一开卡完成讯息至开卡装置200。

当开卡装置200接收到开卡完成讯息后,会进一步将开卡完成讯息传送至电子装置。当电子装置接收到开卡完成讯息后,电子装置可发出一指令用以关闭开卡装置200或关闭开卡装置200内用以与数据储存装置100沟通的相关电路。尔后,当开卡装置200或相关电路重新被供电后,开卡装置200将再度进入第一锁定阶段,用以为下一个数据储存装置执行验证与开卡程序。

根据本发明的第三实施例,第二验证数据包含加密过的金钥及对应的加密/解密方法。中央控制单元21A自处理器140接收由处理器140所产生的金钥,自行选择一加密方法,并且根据此加密方法使用此金钥计算出加密过的金钥,再将加密过的金钥与对应的加密或解密方法作为第二验证数据传送给数据储存装置100。数据储存装置100需根据加密或解密方法将此加密过的金钥解密,再将其解密过的金钥(即,验证回应数据)回传给开卡装置200。于验证程序中,中央控制单元21A比较自处理器140接收的金钥与自数据储存装置100接收的解密过的金钥是否相同,以及于两者相同时,判断该数据储存装置通过验证程序。

图7是显示根据本发明的第三实施例所述的利用开卡装置验证并且启用一数据储存装置的讯息流程图。图7显示出电子装置(或其所包含的处理器140,以下亦同)、开卡装置200/主机装置130(或其所包含的中央控制单元21A,以下亦同)以及数据储存装置100(或其所包含的存储器控制器110,以下亦同)之间的讯息流程。

类似于第一实施例,于开卡装置200被供电后,开卡装置200进入一第一锁定阶段。在成功地被解锁前,开卡装置200仅被允许对数据储存装置100执行第一既定次数的数据传输,并且于各数据传输中可被传送的数据量也被限定为不超过一既定数据量。

根据本发明的一实施例,于第一锁定阶段,开卡装置200仅被允许对数据储存装置100执行至多两次的数据传输,并且于第一次数据传输中由开卡装置200传送至数据储存装置100的数据量被限定为,例如,不超过64kB。

如图7所示,于开卡装置200被供电后,电子装置将第一控制指令及第一验证数据传送至开卡装置200,其中,于本发明的实施例,第一验证数据包含用以产生加密数据(例如,加密过的金钥)的一程序码Tiny_code。开卡装置200响应于第一控制指令接着将包含程序码Tiny_code的第一验证数据传送至数据储存装置100。

于第一验证数据被传送至数据储存装置100后,开卡装置200进入一第二锁定阶段。根据本发明的一实施例,于第二锁定阶段,开卡装置200仅被允许对数据储存装置100执行第二既定次数的数据传输,并且于各数据传输中可被传送的数据量也被限定为不超过一既定数据量,其中第二既定次数可少于第一既定次数。举例而言,于第二锁定阶段,开卡装置200仅被允许对数据储存装置100执行至多一次的数据传输,并且于此次数据传输中由开卡装置200传送至数据储存装置100的数据量被限定为,例如,不超过64kB。

于接收到包含程序码Tiny_code的第一验证数据后,数据储存装置100可回应一传输完成讯息至开卡装置200,而开卡装置200可进一步回应一传输完成讯息至电子装置。

根据本发明的第三实施例,于接收到传输完成讯息后,电子装置可产生一金钥。电子装置可将此金钥传送至开卡装置200。于本发明的第三实施例中,开卡装置200可随机选择用以加密此金钥的一加密方法,并且可执行程序码Tiny_code或储存于存储器装置230内的程序,用以根据此加密方法使用此金钥产生加密过的金钥。于本发明的一实施例中,开卡装置200可产生加密过的金钥作为加密过的数据,并且将加密过的数据以及加密或解密方法的资讯传送给数据储存装置100。于本发明的另一实施例中,开卡装置200可随机产生一笔大量的虚设数据,产生加密过的金钥,并且根据加密方法将加密过的金钥嵌入虚设数据中作为加密过的数据。开卡装置200接着将加密过的数据以及加密或解密方法的资讯传送给数据储存装置100。

于接收到加密过的数据与加密或解密方法的资讯后,数据储存装置100可执行程序码Tiny_code,以使用此加密或解密方法找出嵌入虚设数据中的有效数据(即,加密过的金钥)所在的位置,藉由根据接收到的加密或解密方法的资讯执行解密程序码将此金钥解密。于完成解密后,数据储存装置100可将解密过的金钥传送给开卡装置200。

于接收到解密过的金钥后,开卡装置200可将此解密过的金钥与自电子装置接收到的金钥做比较,比较两者是否相同,用以验证数据储存装置是否为被认可的装置(即,装置的正直性(integrity))。

若数据储存装置100计算的解密过的金钥不符合自电子装置接收到的金钥,则开卡装置200持续运作于完全锁定阶段。

若数据储存装置100计算的解密过的金钥符合自电子装置接收到的金钥,代表数据储存装置100通过验证程序。于判断数据储存装置100通过验证程序后,开卡装置200运作于一解锁阶段。开卡装置200可传送一解锁回应讯息至电子装置。

响应于解锁回应讯息,电子装置可确认数据储存装置100已通过验证程序,因而藉由传送启用数据储存装置100所需的装置固件至开卡装置200开始数据储存装置100的开卡程序。开卡装置200接着将装置固件传送至数据储存装置100。装置固件最终可经由存储器控制器110的控制被载入数据储存装置100的存储器装置120内。当装置固件成功被载入后,开卡程序完成,数据储存装置100可传送一开卡完成讯息至开卡装置200。

当开卡装置200接收到开卡完成讯息后,会进一步将开卡完成讯息传送至电子装置。当电子装置接收到开卡完成讯息后,电子装置可发出一指令用以关闭开卡装置200或关闭开卡装置200内用以与数据储存装置100沟通的相关电路。尔后,当开卡装置200或相关电路重新被供电后,开卡装置200将再度进入第一锁定阶段,用以为下一个数据储存装置执行验证与开卡程序。

如上述,于本发明的实施例中,开卡装置于执行数据储存装置的开卡程序前,会先验证数据储存装置是否为被认可或者被允许的装置,并且于判断数据储存装置通过验证前,开卡装置会运作于完全锁定状态,使得开卡装置与数据储存装置之间不得再有数据传输,用以保护装置固件不会轻易地被载入非经认可或非经允许的装置。换言之,于本发明的实施例中,无法通过验证的数据储存装置便无法透过本发明所提出的开卡装置被启用。相较于传统技术,藉由本发明所提出的方法与开卡装置,可更有效率且更安全的启用数据储存装置。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据安全保护装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类