外接存储器的操作方法、装置和智能终端与流程

文档序号:12916084阅读:318来源:国知局
外接存储器的操作方法、装置和智能终端与流程

本发明涉及智能终端技术领域,具体而言,本发明涉及一种外接存储器的操作方法、装置和智能终端。



背景技术:

随着互联网技术高速发展,人们在享受技术带来便捷同时,信息安全面临着前所未有的风险,类似“棱镜门”事件的信息泄露事件频发,信息安全已经上升到国家安全的战略高度。

随着集成电路技术、和制造工艺发展,大容量存储技术已经非常成熟,作为大容量存储技术的结晶——外接存储器,例如tf卡,已经广泛运用于各个行业。

对于信息安全要求较高的场合,目前通常运用加解密技术对tf中的内容进行加密存储,该方法需要以牺牲外接存储器的读写速率为代价,导致对外接存储器中的数据进行读写整体速率降低;而且,甚至需要在tf的存储空间中内嵌专用安全算法引擎用以对内容进行加解密,导致现有的具有加解密功能的外接存储器在交付用户使用之前,需要额外设置专用安全算法引擎,导致生成的具有加解密功能的外接存储器的步骤繁琐、成本较高。



技术实现要素:

本发明针对现有方式的缺点,提出一种外接存储器的操作方法、装置和智能终端,用以解决现有技术存在对外接存储器中加密存储的数据读写速率较低、或需要在外接存储器中额外设置专用安全算法引擎导致成本较高的问题,以提升对外接存储器中的数据读写速率,降低成本。

本发明的实施例根据第一个方面,提供了一种外接存储器的操作方法,包括:

接收到针对第一外接存储器的操作请求时,获取针对第一外接存储器的当前密码,启动至少一个外接存储器的初始化直到选定第一外接存储器并中断第一外接存储器的初始化;

根据所述当前密码,对第一外接存储器进行解锁;

接收到第一外接存储器返回的解锁成功消息时,恢复第一外接存储器的初始化,并使得第一外接存储器根据所述操作请求进行操作。

本发明的实施例根据第二个方面,还提供了一种外接存储器的操作装置,包括:

密码获取和初始化中断模块,用于接收到针对第一外接存储器的操作请求时,获取针对第一外接存储器的当前密码,启动至少一个外接存储器的初始化直到选定第一外接存储器并中断第一外接存储器的初始化;

存储器加解锁模块,用于根据所述当前密码,对第一外接存储器进行解锁;

初始化恢复和操作模块,用于接收到第一外接存储器返回的解锁成功消息时,恢复第一外接存储器的初始化,并使得第一外接存储器根据所述操作请求进行操作。

本发明的实施例根据第三个方面,还提供了一种智能终端,包括:

处理器、显示单元、内置存储器和至少一个外接存储器;所述至少一个外接存储器包括第一外接存储器;

至少一个程序,存储于所述内置存储器中,被所述处理器执行时实现如下步骤:

接收到针对第一外接存储器的操作请求时,获取针对第一外接存储器的当前密码,启动至少一个外接存储器的初始化直到选定第一外接存储器并中断第一外接存储器的初始化;

根据所述当前密码,对第一外接存储器进行解锁;

接收到第一外接存储器返回的解锁成功消息时,恢复第一外接存储器的初始化,并使得第一外接存储器根据所述操作请求进行操作。

本发明实施例中,由对外接存储器本身进行加解锁,替代传统的对数据进行加解密;对外接存储器本身进行加解锁,相比于传统的对存储器中的数据进行加解密,更为快速高效;可以省去在外接存储器内部额外设置专用安全算法,降低了成本,对外接存储器本身进行加解锁不占用外接存储器用于存储数据的空间,提升了存储空间的利用水平。而且,接收到针对第一外接存储器的操作请求时,需要启动第一外接存储器的初始化并中断,表示每次对外接存储器进行操作都需要对外接存储器进行初始化;根据实时获取的当前密码对第一外接存储器进行解锁,表明将解锁功能应用于初始化识别过程中;当解锁成功时才恢复第一外接存储器的初始化并执行对应操作,意味着未解锁的外接存储器将无法完成初始化,此时智能终端中的操作系统或者恶意程序等所有程序都无法识别外接存储器(即该外接存储器对于智能终端中的恶意程序而言不存在),可以杜绝非法操作和恶意程序侵入,大大提升外接存储器中数据的安全性。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的智能终端的一个实例的框架示意图;

图2为本发明实施例的外接存储器的初始密码的设置方法的流程示意图;

图3为本发明实施例的外接存储器的展开的操作方法的流程示意图;

图4为本发明实施例的外接存储器的展开的操作方法的一个实例的流程示意图;

图5为本发明实施例的外接存储器的操作装置的内部结构的框架示意图;

图6为本发明实施例的智能终端的内部结构的一个实例的框架示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“智能终端”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personalcommunicationsservice,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personaldigitalassistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(globalpositioningsystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“智能终端”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“智能终端”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobileinternetdevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

下面结合附图具体介绍本发明实施例的技术方案。

本发明实施例的智能终端配置有操作系统和多种应用在内的程序,可以支持网络通信、和数据处理等功能。例如,智能终端可以包括下述至少一项:智能手机、平板电脑、二合一电脑、笔记本电脑、电子阅读器、智能穿戴设备、智能摄像头、行车记录仪等等。

本发明实施例的智能终端中设置有处理器、内置存储器和至少一个外接存储器。

内置存储器中存储有至少一个程序,包括外接存储器服务程序,主要用于实现外接存储器的操作方法,该方法将在后续详细阐述,此处不赘述。

外接存储器具体为下述项之一:mmc(multi-mediacard,多媒体卡)、sd(securedigital,安全数字)卡、tf(transflash,快闪)卡、安全sdio(securedigitalinputandoutput,数字输入输出)卡、combosd(combosecuredigital,多功能安全数字)卡等等。

内置存储器和至少一个外接存储器都与处理器相电连接。

本发明实施例中的外接存储器可以通过焊接、插接、卡托固位接触等方式与对应的外接存储器接口电连接,外接存储器接口与处理器电连接。

例如,tf卡(的引脚或内部电路的引脚)焊接在智能终端的电路板上,并与外接存储器接口电连接。tf卡插接在mmc/sd/sdio接口上。tf卡设置在卡托中指定卡位中,卡托插入到智能终端中的指定深度时,tf与mmc/sd/sdio接口接触并电连通。

本发明实施例中的外接存储器可以位于智能终端本体的内部。例如焊接在智能终端内部的电路板上的tf卡,或者,插接在智能终端内部的mmc/sd/sdio接口中的tf卡等等。

外接存储器也可以位于智能终端本体的外部。例如,外部的读卡器插接在智能终端的指定总线的接口中,tf卡插接在该读卡器中,此时tf卡通过读卡器和指定总线与智能终端中的处理器电连接。

图1为本发明实施例的智能终端的一个实例的框架示意图。本发明实施例的智能设备的处理器包括mmc/sd/sdio主控制器;图1中的mmc/sd/sdio主控制器,与tf卡电连接,并对tf卡的操作进行控制。本发明实施例的智能设备的内置存储器中的至少一个程序包括:内核程序和应用层的应用程序(简称应用);内核程序包括图1中内核空间的mmc/sd/sdio驱动;应用包括用户空间的外接存储器服务程序,外接存储器服务程序包括tf卡认证工具,tf卡认证工具有加解锁(tf卡)、强制擦除(tf卡的内容)、设置密码和清除密码等功能。

应用通过内核层的驱动程序、以及硬件接口与tf卡等外接存储器进行交互。为便于理解,后续对于应用与tf卡等外接存储器之间的信息传递步骤,省略这些步骤中驱动程序以及硬件接口涉及的部分,在文字表述上简化为应用与外接存储器之间直接的信息传递。

下面介绍本发明实施例提供的一种外接存储器的操作方法,包括:接收到针对第一外接存储器的操作请求时,获取针对第一外接存储器的当前密码,启动至少一个外接存储器的初始化直到选定第一外接存储器并中断第一外接存储器的初始化;根据当前密码,对第一外接存储器进行解锁;接收到第一外接存储器返回的解锁成功消息时,恢复第一外接存储器的初始化,并使得第一外接存储器根据操作请求进行操作。

本发明实施例中的至少一个外接存储器包括第一外接存储器。当接收到针对某个外接存储器的操作请求时,就确定该外接存储器为第一外接存储器。第一外接存储器,实际上是至少一个外接存储器中的任意一个外接存储器。

本发明实施例中,由对外接存储器本身进行加解锁,替代传统的对数据进行加解密;对外接存储器本身进行加解锁,相比于传统的对存储器中的数据进行加解密,更为快速高效;对外接存储器本身进行加解锁不占用外接存储器用于存储数据的空间,提升了存储空间的利用水平。而且,接收到针对第一外接存储器的操作请求时,需要启动第一外接存储器的初始化并中断,表示每次对外接存储器进行操作都需要对外接存储器进行初始化;根据实时获取的当前密码对第一外接存储器进行解锁,表明将解锁功能应用于初始化识别过程中;当解锁成功时才恢复第一外接存储器的初始化并执行对应操作,意味着未解锁的外接存储器将无法完成初始化,此时智能终端中的操作系统或者恶意程序等所有程序都无法识别外接存储器(即该外接存储器对于智能终端中的恶意程序而言不存在),可以杜绝非法操作和恶意程序侵入,大大提升外接存储器中数据的安全性。

下面介绍本发明实施例的外接存储器的初始密码的设置方法,该方法的流程示意图如图2所示,包括下述步骤:

s201:初始化第一外接存储器。

智能终端第一次检测到第一外接存储器后,对其进行初始化。

s202:获取针对第一外接存储器的密码。

内置存储器中的外接存储器服务程序,获取针对第一外接存储器的密码。

较佳地,获取用户身份信息;获取所属智能终端系统信息;根据用户身份信息和系统信息,确定出针对第一外接存储器的密码。

系统信息包括下述至少一项:操作系统的版本号、操作系统的完整性校验码、外接存储器的固件(firmware)版本号、外接存储器的固件的完整性校验值、外接存储器的硬件信息、所属智能终端的硬件信息。外接存储器的硬件信息包括下述至少一项:外接存储器的研发单位、制造单位、制造工艺、唯一标识。智能终端的硬件信息包括下述至少一项:智能终端的研发单位、制造单位、制造工艺、处理器型号、基带型号、唯一标识。

进一步,显示用户身份信息输入界面,并在用户身份信息输入界面中显示提示用户输入用户身份信息的信息;通过用户身份信息输入界面接收用户输入的用户身份信息。

例如,在确定出为第一次检测到第一外接存储器时,使用应用层的tf卡认证工具的“设置密码”功能,显示用户身份信息输入界面,并在用户身份信息输入界面中显示提示用户输入用户身份信息的信息;通过用户身份信息输入界面接收用户输入的用户身份信息。

进一步,根据用户身份信息与系统信息,生成初始长度的杂凑值;将初始长度的杂凑值,划分为指定长度的至少两个杂凑值子序列;基于各杂凑值子序列进行指定运算,生成针对第一外接存储器的密码。

例如,利用杂凑算法,对用户身份信息与系统信息进行杂凑运行,生成32字节的杂凑值(实际上为序列);将32字节的杂凑值划分为前16个字节的第一杂凑值子序列和后16个字节的第二杂凑值子序列;将第一、二杂凑值子序列进行异或运算,得到针对第一外接存储器的16个字节的密码。进一步,密码具体为lock_unlock(加解锁)密码。

s203:根据获取的针对第一外接存储器的密码,对第一外接存储器进行初始密码的设置。

内置存储器中的外接存储器服务程序,将获取的针对第一外接存储器的密码向第一外接存储器发送,使得第一外接存储器将接收的密码作为第一外接存储器的初始密码进行存储。

较佳地,生成携带针对第一外接存储器的密码的加锁命令数据包。具体地,将加锁命令数据包设置为加锁(lock)模式,并设置加锁命令数据包中待携带的针对第一外接存储器的密码的长度(例如16个字节),将针对第一外接存储器的密码携带于加锁命令数据包中,从而得到携带针对第一外接存储器的密码的加锁命令数据包。

根据加锁命令数据包的密码长度,生成块长度设置命令并向第一外接存储器发送。外接存储器以存储块为存储单元,块长度设置命令携带有外接存储器中的存储块长度(block_length)。较佳地,块长度设置命令具体可以为cmd(command)16,即第16号命令。

第一外接存储器根据接收的块长度设置命令携带的存储块长度,对本外接存储器中的指定存储块的长度进行设定,设定成功后返回执行成功消息。存储块长度大于密码长度。

接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,根据加锁命令数据包中的针对第一外接存储器的密码,生成携带密码的加锁模式的加解锁命令向第一外接存储器发送。第一外接存储器将接收的针对第一外接存储器的密码作为本外接存储器的初始密码存储于指定区域中;例如,存储于pwd(password)寄存器中。

较佳地,接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,将加锁命令数据包中的针对第一外接存储器的密码携带于加锁模式的加解锁命令中,向第一外接存储器发送。较佳地,加解锁命令具体可以为cmd42,即第42号命令。第一外接存储器将接收的加锁模式的加解锁命令中的针对第一外接存储器的密码,作为本外接存储器的初始密码存储于指定区域中。

下面详细介绍本发明实施例的一种外接存储器的展开的操作方法,该方法的流程示意图如图3所示,包括如下步骤:

s301:接收针对第一外接存储器的操作请求。

内置存储器中的外接存储器服务程序,检测到用户通过应用触发针对第一外接存储器的操作时,确认接收到针对第一外接存储器的操作请求。针对第一外接存储器的操作请求可以包括下述至少一项:针对第一外接存储器的格式化请求、针对第一外接存储器的读写请求。

s302:获取针对第一外接存储器的当前密码。

内置存储器中的外接存储器服务程序,在上述步骤接收到针对第一外接存储器的操作请求后,本步骤中,获取针对第一外接存储器的当前密码。

较佳地,获取当前的用户身份信息;获取所属智能终端当前的系统信息;根据当前的用户身份信息和系统信息,确定出针对第一外接存储器的当前密码。

系统信息包括下述至少一项:操作系统的版本号、操作系统的完整性校验码、外接存储器的固件版本号、外接存储器的固件的完整性校验值、外接存储器的硬件信息、所属智能终端的硬件信息。外接存储器的硬件信息包括下述至少一项:外接存储器的研发单位、制造单位、制造工艺、唯一标识。智能终端的硬件信息包括下述至少一项:智能终端的研发单位、制造单位、制造工艺、处理器型号、基带型号、唯一标识。

进一步,显示用户身份信息输入界面,并在用户身份信息输入界面中显示提示用户输入用户身份信息的信息;通过用户身份信息输入界面接收用户输入的当前的用户身份信息。

进一步,根据当前的用户身份信息与系统信息,生成初始长度的杂凑值;将初始长度的杂凑值,划分为指定长度的至少两个杂凑值子序列;基于各杂凑值子序列进行指定运算,生成针对第一外接存储器的当前密码。

例如,利用杂凑算法,对当前的用户身份信息与系统信息进行杂凑运行,生成32字节的杂凑值(实际上为序列);将32字节的杂凑值划分为前16个字节的第一杂凑值子序列和后16个字节的第二杂凑值子序列;将第一、二杂凑值子序列进行异或运算,得到针对第一外接存储器的16个字节的当前密码。进一步,当前密码具体为lock_unlock(加解锁)密码。

s303:启动至少一个外接存储器的初始化直到选定第一外接存储器并中断第一外接存储器的初始化。

事实上,对于步骤s302与s303,这两个步骤可以同时执行,也可以先执行一个步骤后执行另一个步骤。

内置存储器中的外接存储器服务程序,在上述步骤中接收到针对第一外接存储器的操作请求后,本步骤中启动至少一个外接存储器的初始化直到选定第一外接存储器并中断第一外接存储器的初始化。

较佳地,图4为本发明实施例中外接存储器的展开的操作方法的一个实例的流程示意图。图4中,当至少一个外接存储器都为外接存储卡(例如tf卡)时,启动至少一个外接存储器的初始化直到选定第一外接存储器具体包括对本发明实施例中智能终端的至少一个外接存储器执行下述步骤:发送cmd0进行复位;发送cmd8检测卡操作条件;发送acmd41设置操作条件,发送cmd11进行电压切换;发送cmd2获取cid;发送cmd3设置卡地址;发送cmd7选择卡。此时,基于cmd7选择的卡即为第一外接存储器;并且,此时中断第一外接存储器的初始化,即停留在发送cmd7选择卡这一步,暂停执行后续步骤。

s304:根据当前密码,对第一外接存储器进行解锁。

内置存储器中的外接存储器服务程序,将当前密码向第一外接存储器发送,使得第一外接存储器根据其预存的初始密码与当前密码的比较结果进行解锁。

较佳地,生成携带当前密码的解锁命令数据包。具体地,将解锁命令数据包设置为解锁(unlock)模式,并设置解锁命令数据包中待携带的当前密码的长度(例如16个字节),将当前密码携带于解锁命令数据包中,从而生成得到携带当前密码的解锁命令数据包。

根据解锁命令数据包的密码长度,生成块长度设置命令并向第一外接存储器发送。外接存储器以存储块为存储单元,块长度设置命令携带有外接存储器中的存储块长度。较佳地,块长度设置命令具体可以为cmd(command)16,即第16号命令。

第一外接存储器根据接收的块长度设置命令携带的存储块长度,对本外接存储器中的指定存储块的长度进行设定,设定成功后返回执行成功消息。存储块长度大于密码长度。

接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,根据解锁命令数据包中的当前密码,生成携带当前密码的解锁模式的加解锁命令向第一外接存储器发送。较佳地,接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,将解锁命令数据包中的当前密码携带于解锁模式的加解锁命令中,向第一外接存储器发送。进一步,加解锁命令具体可以为cmd42,即第42号命令。

例如,如图4所示,紧接发送cmd7选择卡的步骤之后,先向第一外接存储器发送cmd16设置数据长度,再向第一外接存储器发送cmd42解锁命令。

第一外接存储器将其预存的初始密码,与接收的解锁模式的加解锁命令中的当前密码进行比较。较佳地,第一外接存储器将预存于pwd寄存器中的初始密码,与接收的解锁模式的cmd7中的当前密码进行比较。

当密码比较结果表明初始密码与当前密码一致时,对第一外接存储器进行解锁,允许对第一外接存储器中的数据进行操作,向外接存储器服务程序返回解锁成功消息;当密码比较结果表明初始密码与当前密码不一致时,不对第一外接存储器进行解锁,保持第一外接存储器处于加锁状态,禁止对第一外接存储器中的数据进行操作,向发送操作请求的应用返回解锁失败消息。

s305:接收到第一外接存储器返回的解锁成功消息时,恢复第一外接存储器的初始化,并使得第一外接存储器根据操作请求进行操作。

较佳地,发送操作请求的应用,接收到第一外接存储器返回的解锁成功消息时,进行系统调用,恢复第一外接存储器的初始化。

较佳地,如图4所示,当第一外接存储器为第一外接存储卡(例如tf卡)时,恢复第一外接存储器的初始化具体包括对第一外接存储器执行下述步骤:发送acmd6设置数据宽度;判断第一外接存储器是否是uhs-i(ultrahighspeedclass1,超高速1)卡;若是,则发送cmd6设置卡电气特性;发送cmd19设置采样时钟;当判断出第一外接存储器不是uhs-i卡时,跳过本段的上述几个步骤,直接确定第一外接存储器完成初始化。

例如,当第一外接存储器为tf卡时,发送acmd6设置数据宽度具体包括:根据该tf卡所支持的数据位数,组织acmd6内容,并发送至该tf卡,设置数据宽度。发送cmd6设置卡电气特性具体包括:执行cmd6命令依次设置driverstrength(驱动能力)、uhs-imode(操作模式)及currentlimit(电流限制)等电气特性参数。发送cmd19设置采样时钟具体包括:执行cmd19命令设置tf卡采样时钟。

第一外接存储卡解锁成功后,向外接存储器服务程序发送解锁成功消息。外接存储器服务程序解锁到第一外接存储卡返回的解锁成功消息后,向第一外接存储卡转发应用的操作请求。解锁后的第一外接存储器根据操作请求进行操作;操作完毕后,向外接存储器服务程序返回针对操作请求的操作完毕消息。例如图4中,完成卡识别,进行数据传输模式的步骤。

例如,根据读请求读取第一外接存储器中存储的数据;或者,根据写请求向第一外接存储器写入写请求携带的(或涉及的)数据;或者,根据写请求将第一外接存储器设置为数据传输模式,将后续源自应用的待写入的数据写入至第一外接存储器中。

s306:接收到第一外接存储器针对操作请求的操作完毕消息时,对第一外接存储器进行加锁。

外接存储器服务程序接收到第一外接存储器针对操作请求的操作完毕消息时,对第一外接存储器进行加锁。

较佳地,生成携带当前密码的加锁命令数据包。具体地,将加锁命令数据包设置为加锁(lock)模式,并设置加锁命令数据包中待携带的当前密码的长度(例如16个字节),将当前密码携带于加锁命令数据包中,从而得到携带当前密码的加锁命令数据包。

根据加锁命令数据包的密码长度,生成块长度设置命令并向第一外接存储器发送。外接存储器以存储块为存储单元,块长度设置命令携带有外接存储器中的存储块长度(block_length)。较佳地,块长度设置命令具体可以为cmd(command)16,即第16号命令。

第一外接存储器根据接收的块长度设置命令携带的存储块长度,对本外接存储器中的指定存储块的长度进行设定,设定成功后返回执行成功消息。存储块长度大于密码长度。

接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,根据加锁命令数据包中的当前密码,生成携带当前密码的加锁模式的加解锁命令向第一外接存储器发送。较佳地,接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,将加锁命令数据包中的当前密码携带于加锁模式的加解锁命令中,向第一外接存储器发送。进一步,加解锁命令具体可以为cmd42,即第42号命令。

例如,如图4所示,紧接完成卡识别,进行数据传输模式的步骤之后,先向第一外接存储器发送cmd16设置数据长度,再向第一外接存储器发送cmd42加锁命令。

第一外接存储器将其预存的初始密码,与接收的加锁模式的加解锁命令中的当前密码进行比较。较佳地,第一外接存储器将预存于pwd寄存器中的初始密码,与接收的加锁模式的cmd7中的当前密码进行比较。

当密码比较结果表明初始密码与当前密码一致时,对第一外接存储器进行加锁,向外接存储器服务程序返回加锁成功消息;当密码比较结果表明初始密码与当前密码不一致时,不对第一外接存储器进行加锁,向发送操作请求的应用返回加锁失败消息。

事实上,上述步骤s304中根据当前密码对第一外接存储器进行解锁,也有可能失败;内置存储器中的外接存储器服务程序接收到第一外接存储器返回的解锁失败消息时,判断当前的解锁失败累积次数是否达到解锁失败累积次数阈值。本领域技术人员可以根据实验数据、历史数据、和/或实际情况等预先确定出解锁失败累积次数阈值;例如,解锁失败累积次数阈值为3(次)。

当判断结果为否时,重新执行从获取针对第一外接存储器的当前密码至对第一外接存储器进行解锁的步骤,即重执行上述步骤s302至s304。

当判断结果为是时,向发送操作请求的应用返回第一外接存储器不存在的消息。具体地,当判断结果为是时,内置存储器中的外接存储器服务程序向发送操作请求的应用返回第一外接存储器不存在的消息。

基于上述外接存储器的操作方法,本发明实施例还提供了一种外接存储器的操作装置,该装置设置于本发明实施例的智能终端中,该装置的内部结构的框架示意图如图5所示,包括:密码获取和初始化中断模块501、存储器加解锁模块502和初始化恢复和操作模块503。

其中,密码获取和初始化中断模块501用于接收到针对第一外接存储器的操作请求时,获取针对第一外接存储器的当前密码,启动至少一个外接存储器的初始化直到选定第一外接存储器并中断第一外接存储器的初始化。

存储器加解锁模块502用于根据当前密码,对第一外接存储器进行解锁。

初始化恢复和操作模块503用于接收到第一外接存储器返回的解锁成功消息时,恢复第一外接存储器的初始化,并使得第一外接存储器根据操作请求进行操作。

较佳地,密码获取和初始化中断模块501具体用于获取当前的用户身份信息;获取所属智能终端当前的系统信息;根据当前的用户身份信息和系统信息,确定出针对第一外接存储器的当前密码。

较佳地,密码获取和初始化中断模块501具体用于显示用户身份信息输入界面,并在用户身份信息输入界面中显示提示用户输入用户身份信息的信息;通过用户身份信息输入界面接收用户输入的当前的用户身份信息;以及,根据当前的用户身份信息与系统信息,生成初始长度的杂凑值;将初始长度的杂凑值,划分为指定长度的至少两个杂凑值子序列;基于各杂凑值子序列进行指定运算,生成针对第一外接存储器的当前密码。

较佳地,存储器加解锁模块502具体用于将当前密码向第一外接存储器发送,使得第一外接存储器根据其预存的初始密码与当前密码的比较结果进行解锁。

较佳地,存储器加解锁模块502具体用于生成携带当前密码的解锁命令数据包;根据解锁命令数据包的密码长度,生成块长度设置命令并向第一外接存储器发送;接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,根据解锁命令数据包中的当前密码,生成携带当前密码的解锁模式的加解锁命令向第一外接存储器发送。

更优的,存储器加解锁模块502还用于接收到第一外接存储器针对操作请求的操作完毕消息时,对第一外接存储器进行加锁。

进一步,存储器加解锁模块502具体用于生成携带当前密码的加锁命令数据包;根据加锁命令数据包的密码长度,生成块长度设置命令并向第一外接存储器发送;接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,根据加锁命令数据包中的当前密码,生成携带当前密码的加锁模式的加解锁命令向第一外接存储器发送。

更优的,初始化恢复和操作模块503还用于接收到第一外接存储器返回的解锁失败消息时,判断当前的解锁失败累积次数是否达到解锁失败累积次数阈值;当判断结果为否时,向密码获取和初始化中断模块发送重新执行通知;当判断结果为是时,向发送操作请求的应用返回第一外接存储器不存在的消息。

以及,密码获取和初始化中断模块501、存储器加解锁模块502和初始化恢复和操作模块503还用于根据重新执行通知,重新执行从获取针对第一外接存储器的当前密码至对第一外接存储器进行解锁的步骤。

上述密码获取和初始化中断模块501、存储器加解锁模块502和初始化恢复和操作模块503功能的实现方法,可以参考如上述图2-4所示的步骤流程及其之前的方法的具体内容,此处不再赘述。

本发明实施例还提供了一种智能终端,该智能终端的内部结构的一个实例的框架示意图如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。

参考图6,本发明实施例的智能终端包括:内置存储器610、至少一个外接存储器620、输入单元630、显示单元640、处理器650等部件。内置存储器电路610、外接存储器620、输入单元630和显示单元640等部件都与处理器650相电连接。本领域技术人员可以理解,图6中示出的智能终端结构并不构成对智能终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图6对智能终端的各个构成部件进行具体的介绍:

内置存储器610可用于存储软件程序以及模块,包括操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)、和外接存储器服务程序等。内置存储器610可用于存储多种待处理和/或处理后的数据。内置存储器610可以包括高速随机存取存储器(又称内存)和非易失性存储器。

每个外接存储器620可以通过焊接、插接、或卡托固位接触等方式与对应的外接存储器接口电连接,外接存储器接口与处理器650电连接。外接存储器620可以位于智能终端本体的内部或外部。

输入单元630可用于接收输入信息。输入单元630可包括触控面板、物理按键、麦克风、摄像头和物理接口等。触控面板,又称触摸屏,可接收用户输入的触摸信息,例如数字或字符信息;物理按键可接收用户输入的键信号;麦克风、摄像头和物理接口可分别接收输入的声音信息(例如语音信息)、图像信息和外部信号。

显示单元640可用于显示多种人机交互界面。例如,在人机交互界面中显示由用户输入的信息、提供给用户的信息、和/或智能终端的各种菜单。显示单元640可包括显示面板。进一步的,在物理上可以将触控面板与显示面板进行集成(例如贴合在一起),从而实现智能终端的输入和输出功能。

处理器650是智能终端的控制中心,利用各种接口和线路连接整个智能终端的各个部分,通过运行或执行存储在内置存储器610内的软件程序和/或模块,以及调用存储在内置存储器610和/或外接存储器620内的数据,执行智能终端的各种功能和处理数据。例如,运行内置存储器610中的外接存储器服务程序,主要用于实现外接存储器620的操作方法。

尽管未示出,智能终端还可以包括移动通信模块、网络模块和电源等,在此不再赘述。

在本发明实施例中,该智能终端的内置存储器610中存储有至少一个程序,包括内核、多个应用、和外接存储器服务程序等程序和数据;至少一个程序,被处理器650执行时实现如下步骤:

接收到针对第一外接存储器的操作请求时,获取针对第一外接存储器的当前密码,启动至少一个外接存储器的初始化直到选定第一外接存储器并中断第一外接存储器的初始化;

根据当前密码,对第一外接存储器进行解锁;

接收到第一外接存储器返回的解锁成功消息时,恢复第一外接存储器的初始化,并使得第一外接存储器根据操作请求进行操作。

较佳地,至少一个程序在实现获取针对第一外接存储器的当前密码的步骤过程中,具体包括实现如下步骤:

获取当前的用户身份信息;

获取所属智能终端当前的系统信息;

根据当前的用户身份信息和系统信息,确定出针对第一外接存储器的当前密码。

较佳地,至少一个程序在实现获取当前的用户身份信息的步骤过程中,具体包括实现如下步骤:显示用户身份信息输入界面,并在用户身份信息输入界面中显示提示用户输入用户身份信息的信息;通过用户身份信息输入界面接收用户输入的当前的用户身份信息;以及

至少一个程序在实现根据当前的用户身份信息和系统信息确定出针对第一外接存储器的当前密码的步骤过程中,具体包括实现如下步骤:根据当前的用户身份信息与系统信息,生成初始长度的杂凑值;将初始长度的杂凑值,划分为指定长度的至少两个杂凑值子序列;基于各杂凑值子序列进行指定运算,生成针对第一外接存储器的当前密码。

较佳地,至少一个程序在实现根据当前密码对第一外接存储器进行解锁的步骤过程中,具体包括实现如下步骤:

将当前密码向第一外接存储器发送,使得第一外接存储器根据其预存的初始密码与当前密码的比较结果进行解锁。

较佳地,至少一个程序在实现将当前密码向第一外接存储器发送的步骤过程中,具体包括实现如下步骤:

生成携带当前密码的解锁命令数据包;

根据解锁命令数据包的密码长度,生成块长度设置命令并向第一外接存储器发送;

接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,根据解锁命令数据包中的当前密码,生成携带当前密码的解锁模式的加解锁命令向第一外接存储器发送。

更优的,至少一个程序还实现如下步骤:

接收到第一外接存储器针对操作请求的操作完毕消息时,对第一外接存储器进行加锁。

进一步,至少一个程序在实现对第一外接存储器进行加锁的步骤过程中,具体包括实现如下步骤:

生成携带当前密码的加锁命令数据包;

根据加锁命令数据包的密码长度,生成块长度设置命令并向第一外接存储器发送;

接收到第一外接存储器针对块长度设置命令返回的执行成功消息时,根据加锁命令数据包中的当前密码,生成携带当前密码的加锁模式的加解锁命令向第一外接存储器发送。

更优的,至少一个程序还实现如下步骤:

接收到第一外接存储器返回的解锁失败消息时,判断当前的解锁失败累积次数是否达到解锁失败累积次数阈值;

当判断结果为否时,重新执行从获取针对第一外接存储器的当前密码至对第一外接存储器进行解锁的步骤;

当判断结果为是时,向发送操作请求的应用返回第一外接存储器不存在的消息。

本发明实施例中,由对外接存储器本身进行加解锁,替代传统的对数据进行加解密;对外接存储器本身进行加解锁,相比于传统的对存储器中的数据进行加解密,更为快速高效;可以省去在外接存储器内部额外设置专用安全算法,降低了成本,对外接存储器本身进行加解锁不占用外接存储器用于存储数据的空间,提升了存储空间的利用水平。而且,接收到针对第一外接存储器的操作请求时,需要启动第一外接存储器的初始化并中断,表示每次对外接存储器进行操作都需要对外接存储器进行初始化;根据实时获取的当前密码对第一外接存储器进行解锁,表明将解锁功能应用于初始化识别过程中;当解锁成功时才恢复第一外接存储器的初始化并执行对应操作,意味着未解锁的外接存储器将无法完成初始化,此时智能终端中的操作系统或者恶意程序等所有程序都无法识别外接存储器(即该外接存储器对于智能终端中的恶意程序而言不存在),可以杜绝非法操作和恶意程序侵入,大大提升外接存储器中数据的安全性。

而且,本发明实施例中,基于用户实时输入的用户身份信息和系统信息,生成实时的当前密码。一方面,系统信息的构成较为复杂且构成具有不确定(技术人员可以灵活地确定系统信息的构成),使得恶意程序难以获取构成较为复杂且灵活的系统信息;另一方面,用户身份信息未保存在智能终端中,而是用户实时输入的,使得恶意程序难以获取用户身份信息。从而根据实时获取的用户身份信息和构成较为复杂且灵活的系统信息,生成的当前密码,也难以被恶意程序获取,大大降低了当前密码泄露的几率,提升当前密码的安全性,可以提升根据当前密码对外接存储器进行加解锁的安全性,从而从整体上提升基于外接存储器加解锁的操作方法的安全性。

进一步,本发明实施例中,对实时获取的用户身份信息和构成较为复杂且灵活的系统信息进行杂凑运算,得到初始长度的杂凑值;进一步将初始长度的杂凑值划分为指定长度的两个以上杂凑值子序列后进行指定运算,生成针对外接存储器的当前密码。由于恶意程序难以获取下述至少一项:杂凑算法、杂凑值的初始长度、杂凑值子序列的个数和指定长度、指定运算的算法,因此恶意程序难以破解本发明实施例生成的当前密码,大大提升了当前密码的安全性,可以提升根据当前密码对外接存储器进行加解锁的安全性,从而从整体上提升基于外接存储器加解锁的操作方法的安全性。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1