CN101526926B - 数字密钥方法和*** - Google Patents
数字密钥方法和*** Download PDFInfo
- Publication number
- CN101526926B CN101526926B CN2008101276723A CN200810127672A CN101526926B CN 101526926 B CN101526926 B CN 101526926B CN 2008101276723 A CN2008101276723 A CN 2008101276723A CN 200810127672 A CN200810127672 A CN 200810127672A CN 101526926 B CN101526926 B CN 101526926B
- Authority
- CN
- China
- Prior art keywords
- memory storage
- host apparatus
- data
- key
- instruction
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种数字密钥方法和***,应用于一存储装置与一主机装置之间,可将所述存储装置作为一密钥卡。所述数字密钥方法包括下列步骤:连接所述存储装置与所述主机装置;所述主机装置将一预定数据写入并储存于所述存储装置内;所述预定数据至少包括一指令和一密钥;由所述存储装置根据所述预定数据的指令与密钥而产生对应的一回应值;由所述主机装置自所述存储装置读取所述回应值并检查所述回应值的一状态;当所述回应值的状态为有效时,所述主机装置将可以使用由所述指令所定义的功能来利用所述存储装置;当所述回应值的状态为无效时,所述主机装置的功能将受到限制。
Description
技术领域
本发明涉及一种密钥方法和***,尤其涉及一种数字密钥方法和***。
背景技术
随着信息科技的突飞猛进,人们对于各类信息的需求更是呈现***性的成长。近年来,众多小型便携式存储装置(Portable Memory Device)的普及化,例如以闪存(Flash Memory)为主要存储媒介的的USB随身盘(USB Flash Disk)、以及包括CF(Compact Flash)、MS(Memory Stick,存储棒)、安全数字卡SD(Secure Digital)、多媒体卡MMC(MultiMedia Card)、xD等等各种规格厂牌的各式闪存卡(Flash Memory Card)、使用CF或USB接口的微硬盘(MicroHard Disk)、或者甚至是采用USB或PCMCIA接口且装置于外接盒中的薄型2.5英寸硬盘机(Hard Disk)等等,更是满足了人们对于信息可携性与日俱增的渴望。
对于目前所有现有的可携式存储装置,其内部均一定包括有一非挥发性存储阵列(Non-Volatile Memory Array)、一控制器(Controller)、以及一传输接口(I/O Interface)。所述存储阵列用于储存使用者所想要储存的数据,且其必须具有在不需外界电源的情况下仍能保存所储存数据的特性,因此经常是以闪存来作为所述存储阵列,当然,其也可以是硬盘。在控制器中,则包括有用以驱动(Drive)与访问(Access)所述存储阵列所需的相关电路、接口与驱动机制。这驱动机制可以是以硬件(Hardware)的控制程序(Command Sequencer)电路形式存在以执行一连串的微码(Micro-Code)程序、或也可以是以硬件(Hardware)的微控制器/微处理器(Micro-Controller/Micro-Processor)电路形式存在以执行一连串韧件(Firmware)程序的方式存在于此便携式存储装置的控制器中。而所述传输接口则决定所述便携式存储装置是以何种通讯协议(Protocol)与外界装置结合与沟通。
而于各种规格的存储卡中,安全数字卡SD(以下将以SD卡简称之)与多媒体卡MMC(以下将以MMC卡简称之)两者具有相同的轮廓尺寸规格,除了SD卡在外壳上有多设计一防写钮、但MMC卡无此设计之外,其两者只一差别仅在于通讯协议(Protocol)的不同。所以,目前市面上已有销售一种可支持SD/MMC双通讯协议的读卡机(SD/MMC Combo Card Reader),可支持两种通讯协议以存取SD卡和MMC卡的数据。相对地,也有闪存装置(也即闪存卡)本身是同时支持SD/MMC双通讯协议。
目前,市售的现有闪存卡均只有单纯作为数据储存媒介的功能,并无提供保密或查验授权等其他额外功能。而对于闪存卡本身功能的控制,也仅有通过防写钮此一硬件元件的切换位置,来决定闪存是处于可写入或是防写只读的状态。换句话说,传统市售的闪存并无提供任何保密或授权机制,任何非授权的第三人或是应用程序,都可以随意读取甚至删改闪存内的数据,因此仍有其安全性上的顾虑,而有待进一步改善。
发明内容
本发明的第一目的是提供一种数字密钥方法和***,可将存储卡当作一密钥卡,以供启动执行于一主机上的应用程序或是所述存储卡本身的若干功能。
本发明的第二目的是提供一种数字密钥方法和***,可在存储卡中提供一保密与查验授权的机制,防止任何非授权的第三人或是应用程序来读取或删修存储卡内的数据。
为达上述目的,本发明揭露了一种数字密钥方法,其至少包括列步骤:
连接所述存储装置与所述主机装置;
所述主机装置将一预定数据写入并储存在所述存储装置内;所述预定数据包括一指令和一密钥;
由所述存储装置根据所述预定数据的指令与密钥,产生对应的一回应值;
由所述主机装置自所述存储装置读取所述回应值,并检查所述回应值的一状态;当所述回应值的状态为有效时,所述主机装置使用由所述指令所定义的功能来利用所述存储装置;当所述回应值的状态为无效时,所述主机装置限制使用所述存储装置。
为达上述目的,本发明揭露了一种数字密钥***,所述存储装置包括:其包括:
一主机装置,其设有一插槽、并执行有一应用程序;以及
一存储装置,可供插置于所述插槽内并与主机装置连接;
所述存储装置包括:
一本体;
一存储单元,装置于所述本体上,在所述存储单元中储存有至少一指令档案;
至少一端子群,装置于所述本体一侧,供与一所述主机装置电连接;
一控制单元,设置于所述本体上且连接于所述存储单元和所述端子群,用以控制所述存储单元内的数据存取,且至少以一第一通讯协议与一第二通讯协议来进行数据传输;
一检测电路,连接于所述端子群,接受并检测来自所述主机装置的一控制信号;
一防写钮,设于所述本体一侧,所述防写钮被切换于一第一位置和一第二位置之间;
一开关电路,连接于所述防写钮与所述控制单元,将所述防写钮的切换位置状态以一电气信号传输至所述控制单元。
与现有技术相比,本发明所述的数字密钥和***,可将存储卡当作一密钥卡,以供启动执行于一主机上的应用程序或是所述存储卡本身的若干功能。
附图说明
图1是本发明的数字密钥***的一实施例图;
图2是本发明的数字密钥***的存储装置的结构外观示意图;
图3为本发明的数字密钥***的存储装置内部***的电路方块示意图;
图4为本发明存储装置内的存储单元的内部架构示意图;
图5为说明本发明数字密钥方法如何派给指令至存储装置的一实施例流程图;
图6为说明本发明数字密钥方法如何初始化存储装置的一实施例流程图;
图7为说明本发明数字密钥方法如何自存储装置读取密钥的一实施例流程图;
图8为说明本发明数字密钥方法如何将密钥写入存储装置的一实施例流程图;
图9为本发明数字密钥***的存储装置中,其存储单元内部区域的架构示意图。
附图标记说明:10-存储装置;11-本体;12-存储单元;121-公共区域;122-密钥区域;13-端子群;14-控制单元;141-共享接口电路;142-检测电路;143-微处理器;144-闪存接口;145-缓冲储存单元;15-防写钮;16-开关电路;61-主机装置;62-存储卡插槽;90-存储单元;91-分割区域;92-***区域;921-分割开机区块;922、923-档案配置表;924-根目录;925、931-指令窗;93-使用者区域;932、933-应用程序;934-平移;411-417、421-426、431-436、441-446-步骤。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。
请参阅图1,为本发明的数字密钥***的一实施例图。在本实施例中,所述存储装置10是一闪存卡,其可被***一主机装置61(Host Device)的一存储卡插槽62中,使所述存储装置10与所述主机装置61相连接并以预定的通讯协议进行通讯。所述主机装置61可以是但不局限于:存储卡读卡机、电脑、手机、数字相机、个人数字助理(PDA)、印表机、数字相框、以及其他可插置存储卡的电子装置等等。在所述存储装置10内以控制芯片(Control IC)内建特别的演算法和重建程序,以提供保密机制与查验授权机制。所述保密机制以加密技术或编码技术来保护所述存储装置10内的数据,来防止任何非授权的第三人或应用程序来读取或删改所述存储装置10内的数据。当所述存储装置10被连接到所述主机装置61时,所述查验授权机制将检验所述应用程序是否有权执行若干特定功能,例如但不局限于:读取所述存储装置10内的数据、或将数据写入所述存储装置10等等的功能。倘若是有授权时,才能合法执行所述些功能;倘若是非授权时,其功能将受到限制;这样,可达到令所述存储装置10成为一用来启动或关闭特定功能的数字密钥卡(Key Card)的目的。
请参阅图2与图3,其为本发明的数字密钥***所适用的存储装置10的第一优选实施例。其中,图2是本发明的存储装置10的结构外观示意图,其以一符合SD(Secure Digital)规格的闪存卡来作为本发明的存储装置10的实施例。而图3是本发明的存储装置10内部***的电路方块示意图。
如图2与图3所示,可适用于本发明所述的数字密钥***的存储装置10的第一实施例具有包括:一本体11、一存储单元12、一端子群13、一控制单元14、一防写钮15、和一开关电路16。
所述本体11的轮廓尺寸符合安全数字卡(SD)的轮廓尺寸规格,因此也相容于多媒体卡(MMC;MultiMedia Card)的轮廓尺寸规格。当然,也可设计使所述本体11的轮廓尺寸符合多媒体卡(MMC)的轮廓尺寸规格,而同样相容于安全数字卡(SD)的轮廓尺寸规格。
所述存储单元12设置于所述本体11中,其包括可读写的非挥发性闪存。例如,在本优选实施例中,存储单元12可包括至少一闪存(Flash Memory)。
所述端子群13设置于所述本体11的一前侧边且暴露于外界。通过端子群13可与一主机装置61电连接,进行控制信号与数字数据的传输。
所述控制单元14设置于所述本体11上,且连接于所述存储单元12和所述端子群13,可用以驱动并控制所述存储单元12内的数据存取、并通过所述端子群13与所述主机装置61进行数据传输。
在本优选实施例中,所述控制单元14中还包括:一共享接口电路141、一检测电路142、一微处理器143、一闪存接口144和一缓冲储存单元145。所述共享接口电路141连接于所述端子群13,其至少可以一第一通讯协议与一第二通讯协议来进行数据传输。
在本优选实施例中,所述共享接口电路141是安全数字卡/多媒体卡(SD/MMC)的复数通讯协议共享接口电路141,且所述第一通讯协议是安全数字卡(SD)通讯协议,而所述第二通讯协议是多媒体卡(MMC)通讯协议。
所述检测电路142连接于所述共享接口电路141,可检测所述主机装置61所能支持的通讯协议规格,并切换所述控制单元14采用所述第一通讯协议或所述第二通讯协议(也即SD或MMC),来进行与所述主机装置61之间的数据传输。这样,可在单一的存储装置10上提供至少两种不同规格的通讯协议,并可通过同一组端子群13与不同通讯协议规格的主机装置61直接连接以进行数据传输。
在另一实施例中,所述共享接口电路141也可省略并内建于所述检测电路142中,此时,所述检测电路142会直接连接于所述端子群13。
所述微处理器143连接在所述检测电路142与所述存储单元12之间,使所述控制单元14可使用第一通讯协议与第二通讯协议,来将数据自所述端子群13传出或输入至所述端子群13。
所述闪存接口144(Flash Interface)连接于所述微处理器143与所述存储单元12之间,使所述控制单元14可对所述存储单元12进行数据的储存与读取动作。
所述缓冲储存单元145连接于所述微处理器143,用于暂存数据。
所述防写钮15设于所述本体11一侧,其是符合SD规格的防写钮15。所述防写钮15可被切换于一第一位置(非防写状态)和一第二位置(防写状态)之间。
所述开关电路16连接于所述防写钮15、所述控制单元14、以及所述端子群13的一VSS接点端子之间。所述开关电路16可将所述防写钮15的切换位置状态以一电气信号传输至所述控制单元14。所述控制单元14将根据所传来的电气信号(也就是防写钮15的切换位置状态),控制使用哪一通讯协议和所述主机装置61进行数据传输。例如,当所述防写钮15位于第一位置(非防写状态)时,所述控制单元14可使用第一通讯协议或第二通讯协议来和所述主机装置61进行数据双向传输。而当所述防写钮15位于第二位置(防写状态)时,所述控制单元14可使用第二通讯协议来和所述主机装置61进行数据双向传输,但仅可使用第一通讯协议来进行数据单向只读传输。
由于,对于一传统且现有的单通讯协议SD卡而言,当其防写钮被切换至第二位置(防写状态)时,所述主机装置将只能对所述单通讯协议SD卡进行数据单向只读的功能,而无法将数据写入单通讯协议SD卡中。本发明特别利用此一特性,使得当本发明的可支持复数通讯协议的存储装置10被连接到一支持SD/MMC复数通讯协议的主机装置61,且同时使用者又希望优先使用MMC通讯协议来进行数据双向传输时,使用者只要将防写钮切换至所述第二位置(防写状态),此时,所述可支持复数通讯协议的存储装置10一旦检测到主机装置61可支持MMC通讯协议时将优先以MMC通讯协议进行数据传输。而倘若主机装置61仅支持SD通讯协议时则开启数据单向只读的状态。上述的复数通讯协议控制方法,可通过硬件电路设计其控制程序、或是软件程序控制其程序的方式来执行。
本发明的数字密钥***提供了一种操作***(OS)平台而且无需修改驱动程序的方法,来控制SD/MMC存储卡或SD/MMC存储模块(eMMC/eSDmodule)。并且还提供了保护存储卡或存储模块内所储存的文件档案的功能和密码功能。大体上来说,本发明的数字密钥***具有以下功能:
1.操作***上的应用程序(Application)只需针对特定档案文件(files)读写,就能建立指令(Command)和协议(Protocol),无需修改驱动程序。这些特定档案文件,我们称之为指令窗口(Command Window)或指令档案(CommandFile)。
2.密钥卡(Key Card)以控制芯片(IC)内建特别的演算法和重建程序,提供这些特定档案文件(files)的防清除功能。
3.密钥卡(Key Card)提供由控制芯片内建读取保护功能,此功能让应用程序可见到存储卡或存储模块内的档案名称,却无法读出内容。
4.密钥卡(Key Card)提供由控制芯片内建写入保护功能,此功能可让操作***内的档案文件无法写入存储卡或存储模块。
5.密钥卡(Key Card)以控制芯片内建的方式提供32组保护密码,每组保护密码长度为512bytes(字节)。
以下将以实施例具体说明本发明的数字密钥***及其存储装置的技术特征与可达成的功效。
请参阅图4,其公开了本发明的存储装置10内的存储单元12的内部架构示意图。本发明的存储装置10可作为一密钥卡(Key Card),用来启动或关闭一执行于所述主机装置61上的应用程序的若干预定功能、或启动或关闭存储装置10本身的若干预定功能。由于此所述的存储装置10的结构已公开于图2与图3及其文字说明中,所以以下不再赘述。
如图4所示,所述存储单元12区分成两个区域,其中之一是公共区域(publicarea)121,另一是密钥区域(key area)122。所述公共区域121是可被使用者和外部应用程序所读取、删改或写入一般使用者数据的区域;所述密钥区域122是供应用程序写入和读取密钥(key)或授权字串(authority string)等特定授权数据的区域。密钥区域122通常是位于只有一些特定应用程序可以使用的区域,例如但不局限于:所述存储单元12的档案配置表(FAT)。通过检查储存在所述密钥区域122内的密钥和/或授权字串的数据,所述公共区域121可以被设定为关闭读取(READ disabled)或关闭写入(WRITE disabled)等功能,或者是设定去切换其他功能的启动与否。举例来说,倘若读取功能被密钥和/或授权字串设定关闭时,只有所述公共区域121里所储存数据档的档名可被应用程序所读取或显示给使用者观看,但是这些数据档的内容都无法被检索或阅读。倘若写入功能被密钥和/或授权字串设定关闭时,将无法将数据写入所述存储单元2或删除所述存储单元12内的数据。所述的密钥和/或授权字串可以通过特定的指令与应用程序来修改,并储存在所述密钥区域122的特定位置。这样,本发明的存储装置10将可作为一密钥卡(Key Card),并用来启动或关闭一应用程序或存储装置10本身的若干预定功能。
用来处理这些密钥与授权字串的其中一种方式,是通过提供一特定档案来作为一指令窗口(Command Window)。在本实施例中,这些特定档案包括了档名“keycard.txt”,其用来接受来自应用程序的指令,以及另一个档名“keycard01.txt”,其是由存储装置10自己根据所接受到的档名“keycard.txt”内所包含的指令的对应档案。所述“keycard01.txt”档之后会被应用程序所读取,以便用来决定有哪些功能应所述被启动或是关闭。一旦所述存储装置10被连接于所述主机装置61时,在所述主机装置61内所执行的应用程序必须把“keycard.txt”档(以下也称为写入档)写入所述存储装置10的存储单元12的密钥区122中。倘若在存储装置10的初始化过程中,应用程序没有把“keycard.txt”档写入、或是“keycard.txt”档的内容不合法时,“keycard01.txt”档内将会包含一个假的数据。如此一来,所述主机装置61所执行的应用程序将无法利用储存在存储单元12的公共区域121内的数据,或者只能读取数据的档案名称但却读不到档案的内容。这样,只有当提供正确的加密密钥时应用程序才能利用这些数据。所述写入档“keycard.txt”可以直接包含了此一加密密钥,或是包含一授权字串(authoritystring)其可用来启动预先储存在所述存储装置10的密钥区域122内的一对应的加密密钥。除了上述的加密密钥或是授权字串之外,写入档“keycard.txt”也可以还包含一些标记(tokens)和指令(commands)。倘若被写入存储装置10的写入档“keycard.txt”的内容合法有效时,则“keycard01.txt”档(以下也简称为回应档)将会对应于写入档“keycard.txt”内所包含的标记和指令而被产生,并且,这个回应档“keycard01.txt”必须被主机装置所执行的应用程序所读取。应用程序必须取得回应档“keycard01.txt”内所包含的回应值(response values)内容,以便允许应用程序去执行某些预定的功能。在本实施例中,写入档“keycard.txt”和回应档“keycard01.txt”都是包含了512字节的数据,其档案格式的范例分别如以下表一和表二所示。
表一:写入档“keycard.txt”的指令格式
位址 | 值 |
20 | 标记(Token) |
11 | 标记(Token) |
22 | 指令索引+标记(Commend Index+Token) |
3 | 指令[2](CMD[2]) |
4 | 回应档(Response File) |
17 | 保护旗标(Protect Flag) |
6 | 指令[3](CMD[3]) |
7 | 密钥索引(Key Index) |
8~15 | 保留区块(Reserve) |
21~255 | 授权标记(Authentication Token) |
256~265 | 授权字串(Authority String) |
266~511 | 假数据(Dummy Data) |
其中,所述主机装置的应用程序必须写入512字节的数据于存储装置的存储单元内,其命名为CMD[512]以作为命令指令。
标记(Token)=(CMD[11]+CMD[22]+CMD[33]);
其中,CMD[11]、CMD[22]、和CMD[33]可以变更到其他位址。
倘若写入档“keycard.txt”未被写入、或是授权字串错误时,则本发明的存储装置将会通过回应档“keycard01.txt”的内容来表现授权字串错误(AuthorityString Error)的信息。
表二:回应档“keycard01.txt”的回应格式
位址 | 值 |
23 | 标记(Token) |
24 | 标记(Token) |
25 | 标记(Token) |
9 | 0+标记(Token):正确1+标记(Token):失败2+标记(Token):CMD检查失败3+标记(Token):未定义的CMD4+标记(Token):授权字串错误 |
5+标记(Token):重复标记错误6+标记(Token):密钥索引错误7+标记(Token):复制卡错误 | |
33 | 0+标记(Token):公共区域1+标记(Token):密钥区域 |
53 | 0位:公共区域写入旗标1位:公共区域读取旗标(+标记Token) |
77 | 版本+标记(Version+Token) |
78~80 | 授权标记(Authentication Token) |
Other | 假数据(Dummy Data) |
其中,在自外界主机装置的应用程序得到指令后,本发明的存储装置将回应512字节的数据给应用程序。由于本发明的存储装置是一个主动装置,所以应用程序必须读取回应档“keycardXX.txt(于本实施例中为keycard01.txt)”以获得回应值。也就是说,当本发明的数字密钥***建立了存储装置与外界主机装置之间的连线后,主机装置的应用程序必须先送出指令(也就是写入档)后再读取回应(也就是回应档)。
请见表三,其介绍了指令的范例。
表三:指令索引
值 | 说明 |
0x00 | 重设密钥卡 |
0x01 | 进入密钥区域 |
0x02 | 进入公共区域 |
0x03 | 取得区域状态 |
0x05 | 保留 |
0x06~0x07 | 保留 |
0x08 | 读取密钥 |
0x09 | 读取公共区域状态 |
0x0A | 读取密钥卡版本 |
0x0B | 写入密钥 |
0x0E | 设定防止写入的保护旗标(公共区域)0x00:启动防写0xFF:关闭防写 |
0x0F | 设定防止读取的保护旗标(公共区域)0x00:启动防止读取0xFF:关闭防止读取 |
Other | 假数据 |
需注意的是,上述各表的内容仅为本发明的范例,本领域技术人员可以自行对上述档案格式与指令格式加以修改。
请参阅图5,其说明了本发明数字密钥方法如何派给指令至存储装置的一实施例流程图,其包括下列步骤:
步骤411:开始派给指令(CMD)的流程;
步骤412:执行在主机装置内的应用程序,将指令写入位于存储装置内的写入档“keycard.txt”中;
步骤413:应用程序自存储装置内的回应档“keycard01.txt”中读取回应值;
步骤414:应用程序检查回应档“keycard01.txt”内容中的回应格式和状态;是否合法有效;倘若检查的结果为正确“OK”,执行步骤415;并接着执行步骤417;倘若检查的结果为错误“Error”,执行步骤416;
步骤415:送出指令正确(CMD OK)的信号,转至步骤417;
步骤416:送出指令错误(CMD Error)的信号;
步骤417:结束流程。
请参阅图6,其说明了本发明所述的数字密钥方法如何初始化存储装置的一实施例流程图。为了使用前述存储装置的密钥卡功能,所述存储装置必须先通过指令0x00进行初始化。在接受到回应值且其中的位址[23]至位址[25]的值经检查为正确后,可以判定此回应的格式为合法有效,且其位址[9]的状态值可被接受。本发明初始化存储装置的流程包括下列步骤:
步骤421:开始重设密钥卡的流程(也即,重新初始化本发明的存储装置);
步骤422:执行在主机装置内的应用程序,将指令(索引0x00)写入位于存储装置内的写入档“keycard.txt”中;
步骤423:应用程序自存储装置内的回应档“keycard01.txt”中读取回应值;
步骤424:应用程序检查回应档“keycard01.txt”内容中的回应格式和状态,是否合法有效;倘若检查的结果为正确“OK”,执行步骤425;倘若检查的结果为错误“Error”,直接执行步骤426。
步骤425:送出只配目前磁盘为密钥卡的信号;
步骤426:结束流程。
请参阅图7,其说明了本发明所述的数字密钥方法如何自存储装置读取密钥的一实施例流程图。在初始化存储装置后,所述密钥可以随时从存储装置里读取出。如果在存储装置内没有任何密钥时,则将会取得回应值0xFF。为了读取密钥,应用程序必须先派给索引0x08的读取密钥指令CMD,然后读取回应并检查其状态。倘若状态正确时,则所述密钥将可自回应档“keycard01.txt”中读到。本发明自存储装置读取密钥的流程包括下列步骤:
步骤431:开始读取密钥的流程;
步骤432:执行于主机装置内的应用程序将指令(索引0x08)写入位于存储装置内的写入档“keycard.txt”中;
步骤433:应用程序自存储装置内的回应档“keycard01.txt”中读取回应值;
步骤434:应用程序检查回应档“keycard01.txt”内容中的回应格式和状态,是否合法有效;倘若检查的结果为正确“OK”,则执行步骤435;倘若检查的结果为错误“Error”,则直接执行步骤436;
步骤435:自回应档“keycard01.txt”中读出密钥;
步骤436:结束流程。
请参阅图8,其说明了本发明数字密钥方法如何将密钥写入存储装置的一实施例流程图。在初始化存储装置后,所述密钥可以随时被写入存储装置中。为了写入密钥,应用程序必须先派给索引0x0B的写入密钥指令CMD,然后读取回应并检查其状态。倘若状态正确时,则所述密钥将会被写入“keycard.txt”中。本发明将密钥写入存储装置的流程包括下列步骤:
步骤441:开始写入密钥的流程;
步骤442:执行在主机装置内的应用程序,将指令(索引0x0B)写入位于存储装置内的写入档“keycard.txt”中;
步骤443:应用程序自存储装置内的回应档“keycard01.txt”中读取回应值;
步骤444:应用程序检查回应档“keycard01.txt”内容中的回应格式和状态,是否合法有效;倘若检查的结果为正确“OK”,则执行步骤445;倘若检查的结果为错误“Error”,则直接执行步骤446;
步骤445:将密钥写入“keycard.txt”中;
步骤446:结束流程。
由上述内容可知,本发明的数字密钥方法和***,主要导入了指令档案(Command Window)的新观念。这指令档案提供一功能让不同平台或操作***(OS)可无需写驱动程序就可控制SD/MMC存储卡或存储模块。一般FAT***主机的应用程序通常只能读写档案,并无法直接控制存储卡或存储模块。本发明是利用某些特定位址的档案当成窗口,且所有应用程序都以特定格式(format)来读写这些特定档案文件。本发明密钥卡的控制芯片(IC)可解译这些特定位址的特定格式并将视为特定指令(Command),以完成相对应的工作。其步骤为:
1.先建立特定地址的指令档案(Command File,也即前述的写入档);
2.再将此地址记录于控制芯片内;
3.应用程序写数据到此指令档案;
4.控制芯片内的软件会监控相对应的地址和档案配置表(FAT)与根目录(Root Directory)。
请参阅图9,为本发明数字密钥***的存储装置中,其存储单元内部区域的架构示意图。一个典型的FAT 12/FAT 16***的存储单元90,其内部可区分为分割区域(Partition Area)91、***区域(System Area)92、以及使用者区域(UserArea)93。分割区域91包含了MBR(主引导记录;Main Bootable Record)和分割表。***区域92包括了分割开机区块(Partition Boot Sector)921、第一档案配置表(FAT 1)922、第二档案配置表(FAT 2)923、以及根目录(Root Directory)924。对于FAT 32的档案文件***而言,是没有所述根目录(Root Directory)924区域的。使用者区域93用以储存使用者数据。本发明前述的密钥区域的其中一实施例即是***区域92,而公共区域的实施例即是使用者区域93。
本发明密钥卡以控制芯片(IC)内建特别的演算法和重建程序,来提供这些特定档案文件(files)的防清除功能。一般档案文件的地址和数据被记录于档案配置表(FAT)922、923与根目录(Root Directory)924内。整个档案文件***以图9所示的FAT 12/FAT 16架构为例,本发明密钥卡的控制芯片以特定演算法和重建程序来保护指令文件的档案配置表(FAT)922、923与根目录(RootDirectory)924和使用者数据。但对储存在使用者区域93内的一般档案文件却可正常读写。此方法是对分割区域91和分割开机区块921内的指令档案数据给予保护,并监控位于档案配置表922、923和根目录924内的指令档案或指令窗925。如果主机装置的应用程序尝试改变特定文件相关的档案配置表922、923与根目录924时,本发明的密钥卡的控制芯片内的程序将重建或略过此改变,达到保护数据不被非授权第三者或应用程序删改的目的。原则上指令档案(或称指令窗)931应包括了使用者区域93的第一个区块(Sector),但也可位于其他区块。
此外,本发明密钥卡提供由控制芯片内建读取保护功能。其主要是将储存在使用者区域93内的应用程序932、933或数据施加一平移(Offset)934的偏移量,以改变数据实际储存的位址。密钥卡的控制芯片内程序会去判断指令档案(Command Window)文件地址及其相对偏移量(Offset),让应用程序(application)可见到储存于存储装置的存储单元内的档案文件名称,却无法读出内容。经由偏移量的改变,可让位于偏移量内的档案可被读取或执行,而在偏移量后的档案则可被限制读取。例如图9中的CMD档931和应用1932都可被读取内容或执行,但是档案应用2933却可被限制读取。而所谓的限制读取,是指所读出档案内容为空白或乱码。如此,便能达到保护存储装置内的数据不被非授权的第三人或应用程序所使用的目的。
以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离以下所附权利要求所限定的精神和范围的情况下,可做出许多修改,变化,或等效,但都将落入本发明的保护范围内。
Claims (10)
1.一种数字密钥方法,应用于一存储装置与一主机装置之间,其特征在于,其至少包括下列步骤:
连接所述存储装置与所述主机装置;
所述主机装置将一预定数据写入并储存在所述存储装置内;所述预定数据包括一指令和一密钥;
由所述存储装置根据所述预定数据的指令与密钥,产生对应的一回应值;
由所述主机装置自所述存储装置读取所述回应值,并检查所述回应值的一状态;当所述回应值的状态为有效时,所述主机装置使用由所述指令所定义的功能来利用所述存储装置;当所述回应值的状态为无效时,所述主机装置限制使用所述存储装置。
2.如权利要求1所述的数字密钥方法,其特征在于,所述预定数据以一写入档的格式储存于所述存储装置中;所述存储装置根据所述预定数据的所述指令与所述密钥所对应产生的所述回应值是储存于所述存储装置的一回应档中,所述回应档储存与预定数据相对应的所述回应值;所述主机装置通过读取回应档来获得所述回应值。
3.如权利要求1所述的数字密钥方法,其特征在于,所述密钥用于对所述存储装置内所储存的一使用者数据进行限制读取,以防止未经授权使用所述存储装置内所储存的使用者数据;所述存储装置将储存于其内的数据平移一偏移量以改变所述使用者数据实际储存的位址,让执行于所述主机装置内的一应用程序可见到储存于所述存储装置内的档案文件名称却无法读出内容。
4.如权利要求1所述的数字密钥方法,其特征在于,所述指令用于决定所述主机装置执行的功能,所述密钥用于检查所述主机装置的授权状态;
其中,当所述指令用于停止一读取功能时,只有存储装置内所储存的一使用者数据的档案名称被所述主机装置所读取,所述使用者数据的内容无法被所述主机装置读取;当所述指令用于停止一写入功能时,所述主机装置不能再向存储装置内写入任何数据。
5.如权利要求1所述的数字密钥方法,其特征在于,所述存储装置使用至少一第一通讯协议以及至少一第二通讯协议与外界沟通;所述预定数据内所包括的所述指令是决定通讯协议的一检测协议,所述预定数据设定通讯协议的优先选择顺序;当存储装置与所述主机装置相连接时,根据所述优先选择顺序来决定优先使用哪一通讯协议来和所述主机装置通讯。
6.一种数字密钥***,其特征在于,其包括:
一主机装置,其设有一插槽;以及
一存储装置,可供插置于所述插槽内并与主机装置连接;
当所述存储装置与主机装置连接时,所述主机装置将一预定数据写入并储存于所述存储装置内;由所述存储装置根据所述预定数据产生对应的一回应值;并由所述主机装置读取所述回应值来决定启动或关闭一预定功能;
所述存储装置包括:
一本体;
一存储单元,装置于所述本体上,在所述存储单元中储存有至少一指令档案;
至少一端子群,装置于所述本体一侧,供与一所述主机装置电连接;
一控制单元,设置于所述本体上且连接于所述存储单元和所述端子群,用以控制所述存储单元内的数据存取,且至少以一第一通讯协议与一第二通讯协议来进行数据传输;
一检测电路,连接于所述端子群,接受并检测来自所述主机装置的一控制信号;
一防写钮,设于所述本体一侧,所述防写钮被切换于一第一位置和一第二位置之间;
一开关电路,连接于所述防写钮与所述控制单元,将所述防写钮的切换位置状态以一电气信号传输至所述控制单元。
7.如权利要求6所述的数字密钥***,其特征在于,所述预定数据由所述主机装置产生,并以一写入档的格式储存于所述存储装置中;所述存储装置根据所述预定数据所对应产生的所述回应值是储存于所述存储装置的一回应档中,所述回应档储存有与所述预定数据相对应的回应值;所述主机装置通过读取所述回应档来获得所述回应值。
8.如权利要求6所述的数字密钥***,其特征在于,所述预定数据包括至少一密钥;所述密钥用于对所述存储装置内所储存的一使用者数据进行限制读取,以防止未经授权使用所述存储装置内所储存的使用者数据;所述存储装置将储存于其内的数据平移一偏移量以改变所述使用者数据实际储存的位址,让执行于所述主机装置内的一应用程序可见到储存于所述存储装置的所述存储单元内的档案文件名称却无法读出内容。
9.如权利要求6所述的数字密钥***,其特征在于,所述预定数据包括至少一指令和一密钥;所述指令用于决定所述主机装置执行的功能,所述密钥用于检查所述主机装置的授权状态;
当所述指令用于停止一读取功能时,只有所述存储装置内所储存的一使用者数据的档案名称被所述主机装置所读取,所述使用者数据的内容无法被所述主机装置读取;当所述指令用于停止一写入功能时,所述主机装置不能再向存储装置内写入任何数据。
10.如权利要求9所述的数字密钥***,其特征在于,所述存储装置使用至少一第一通讯协议以及至少一第二通讯协议与外界沟通;所述预定数据内所包括的所述指令是决定通讯协议的一检测协议,所述预定数据设定通讯协议的优先选择顺序;当存储装置与所述主机装置相连接时,根据所述优先选择顺序来决定要优先使用哪一通讯协议来和所述主机装置通讯。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/073,408 | 2008-03-05 | ||
US12/073,408 US8327099B2 (en) | 2005-04-27 | 2008-03-05 | Method for soft configuring a memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101526926A CN101526926A (zh) | 2009-09-09 |
CN101526926B true CN101526926B (zh) | 2011-07-13 |
Family
ID=39717239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101276723A Expired - Fee Related CN101526926B (zh) | 2008-03-05 | 2008-07-07 | 数字密钥方法和*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US8327099B2 (zh) |
CN (1) | CN101526926B (zh) |
TW (1) | TWI398792B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280347A (ja) * | 2006-03-14 | 2007-10-25 | Ricoh Co Ltd | メモリカード及びメモリカード制御切替方法 |
CN101685381B (zh) | 2008-09-26 | 2013-07-24 | 美光科技公司 | 固态大容量存储装置的数据串流 |
JP5319238B2 (ja) * | 2008-10-29 | 2013-10-16 | 真二 栗本 | 情報処理システム、情報処理装置、情報処理方法、および情報処理プログラム |
US20100115116A1 (en) * | 2008-11-03 | 2010-05-06 | Micron Technology, Inc. | System and method for switching communication protocols in electronic interface devices |
KR20100083373A (ko) * | 2009-01-13 | 2010-07-22 | 삼성전자주식회사 | 메모리 카드 |
US8751728B1 (en) * | 2011-04-29 | 2014-06-10 | Western Digital Technologies, Inc. | Storage system bus transfer optimization |
JP6083672B2 (ja) * | 2013-03-08 | 2017-02-22 | パナソニックIpマネジメント株式会社 | メモリカードコントローラとそれを備えたホスト機器 |
CN103838995B (zh) * | 2014-03-19 | 2018-04-27 | 北京深思数盾科技股份有限公司 | 可自定义设置的信息安全设备 |
USD736213S1 (en) * | 2014-07-01 | 2015-08-11 | Samsung Electronics Co., Ltd. | Memory card |
USD736212S1 (en) * | 2014-07-01 | 2015-08-11 | Samsung Electronics Co., Ltd. | Memory card |
USD739856S1 (en) * | 2014-07-30 | 2015-09-29 | Samsung Electronics Co., Ltd. | Memory card |
USD736216S1 (en) * | 2014-07-30 | 2015-08-11 | Samsung Electronics Co., Ltd. | Memory card |
CN105989403B (zh) * | 2015-03-02 | 2018-12-04 | 昆山纬绩资通有限公司 | 存储卡的存取装置及存储卡存取装置的控制方法 |
USD783622S1 (en) * | 2015-08-25 | 2017-04-11 | Samsung Electronics Co., Ltd. | Memory card |
USD783621S1 (en) * | 2015-08-25 | 2017-04-11 | Samsung Electronics Co., Ltd. | Memory card |
US10395036B2 (en) * | 2017-03-16 | 2019-08-27 | Dell Products, L.P. | Continued runtime authentication of information handling system (IHS) applications |
CN107122169B (zh) * | 2017-03-21 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 一种Flash函数加密的方法及装置 |
CN111352862A (zh) * | 2020-03-05 | 2020-06-30 | 中安云科科技发展(山东)有限公司 | 一种密钥销毁方法、***、密码卡及密码机 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2522936Y (zh) * | 2002-01-22 | 2002-11-27 | 茂杰国际有限公司 | Usb储存媒体读写器的数据安全装置 |
CN1916814A (zh) * | 2005-08-18 | 2007-02-21 | 瀚邦科技股份有限公司 | 一种对可携式储存装置下达命令的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6058455A (en) * | 1997-07-02 | 2000-05-02 | International Business Corporation | RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration |
US7669005B1 (en) * | 2001-06-18 | 2010-02-23 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) devices having soft priority resolution circuits therein and methods of operating same |
US7020758B2 (en) * | 2002-09-18 | 2006-03-28 | Ortera Inc. | Context sensitive storage management |
JP4308551B2 (ja) * | 2003-03-06 | 2009-08-05 | 株式会社ルネサステクノロジ | メモリカードおよびホスト装置 |
US20050216639A1 (en) * | 2003-07-24 | 2005-09-29 | Craig Sparer | Mobile memory device with integrated applications and online services |
US7594232B2 (en) * | 2004-01-29 | 2009-09-22 | Klingman Edwin E | Intelligent memory device for processing tasks stored in memory or for storing data in said memory |
TWM264642U (en) * | 2004-08-27 | 2005-05-11 | Incomm Technologies Co Ltd | Flash memory device having plural communication protocols |
-
2008
- 2008-03-05 US US12/073,408 patent/US8327099B2/en not_active Expired - Fee Related
- 2008-06-30 TW TW097124475A patent/TWI398792B/zh not_active IP Right Cessation
- 2008-07-07 CN CN2008101276723A patent/CN101526926B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2522936Y (zh) * | 2002-01-22 | 2002-11-27 | 茂杰国际有限公司 | Usb储存媒体读写器的数据安全装置 |
CN1916814A (zh) * | 2005-08-18 | 2007-02-21 | 瀚邦科技股份有限公司 | 一种对可携式储存装置下达命令的方法 |
Non-Patent Citations (1)
Title |
---|
JP特开平8-320832A 1996.12.03 |
Also Published As
Publication number | Publication date |
---|---|
US8327099B2 (en) | 2012-12-04 |
US20080209125A1 (en) | 2008-08-28 |
CN101526926A (zh) | 2009-09-09 |
TWI398792B (zh) | 2013-06-11 |
TW200939068A (en) | 2009-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101526926B (zh) | 数字密钥方法和*** | |
RU2298824C2 (ru) | Способ и устройство для шифрования/дешифрования данных в запоминающем устройстве большой емкости | |
US7747797B2 (en) | Mass storage device with near field communications | |
US8533856B2 (en) | Secure compact flash | |
EP2161673A1 (en) | Method and system for protecting data | |
US20100251358A1 (en) | Electronic device, unlocking method, and program | |
CN112560120B (zh) | 安全内存条及安全内存条的启动方法 | |
CN110929302B (zh) | 一种数据安全加密存储方法及存储装置 | |
US8219824B2 (en) | Storage apparatus, memory card accessing apparatus and method of reading/writing the same | |
CN102982265B (zh) | 存取基本输入输出***设定的认证方法 | |
US9727277B2 (en) | Storage device and method for enabling hidden functionality | |
KR100661894B1 (ko) | 서브시스템 장치를 마더보드에 바인딩하는 방법 및 구조물 | |
KR20080044502A (ko) | 메모리 카드 시스템 및 그것의 패스워드 전송 방법 | |
JP4993114B2 (ja) | 携帯型ストレージデバイスの共有管理方法、および、携帯型ストレージデバイス | |
TWI321279B (en) | Memory device and associated method | |
JP2006195629A (ja) | 携帯記憶装置 | |
US7840745B2 (en) | Data accessing system, controller and storage device having the same, and operation method thereof | |
JP5241065B2 (ja) | 外部メモリに貯蔵されたデータの変更の有無をチェックする装置及び方法 | |
KR20110023685A (ko) | 인증 기능을 구비하는 ssd 및 그 구동 방법 | |
CN103020509A (zh) | 一种终端设备加密与解密方法、装置及终端设备 | |
JP2003345657A (ja) | 記録媒体の読み出し・書き込み方式及び消去方式及び該読み出し・書き込み方式及び消去方式を実現する記録媒体 | |
US20120047582A1 (en) | Data deleting method for computer storage device | |
CN103778073B (zh) | 数据保护方法、移动通讯装置与存储器储存装置 | |
CN101661439A (zh) | 数据保护方法及*** | |
KR20070007704A (ko) | 메모리 블록을 통하여 데이터 암호화를 진행하는 데이터구조 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110713 Termination date: 20140707 |
|
EXPY | Termination of patent right or utility model |