字库安全使用的方法和装置的制作方法

文档序号:6364161阅读:132来源:国知局
专利名称:字库安全使用的方法和装置的制作方法
技术领域
本发明涉及到字符信息处理领域,尤其涉及到一种字库安全使用的方法和装置。
背景技术
在字库中,一个字符的字符编码是I到4个字节,但字符编码并不能直接显示出一个字符,需要把字符编码转换成点阵数据,才能显示出一个字符。然而,点阵数据往往是比较大的,例如在某终端设备的屏幕上显示一个汉字,它的点阵数据是32字节。目前有方案将字符的点阵数据全部保存在终端设备内部,并且点阵数据是加密保存的,外部只要传入字符编码就可以了,此方案中,由于终端设备要保存字库内全部字符的点阵数据,因此需要较大的存储空间,从而增加了成本。此外,目前也有方案提出终端设备不保存点阵数据,由外部传入字符编码和点阵数据,此方案中,如果点阵数据被非法篡改,由于需显示字符的字符编码与点阵数据不对应,可能导致显示的是另一个字符,而终端设备并不知道,因此存在安全隐患。

发明内容
本发明的主要目的为提供一种字库安全使用的方法和装置,实现字库的安全使用,同时又节约了使用字库的终端设备的存储空间。本发明提出一种字库安全使用的方法,包括步骤接收待显示字符的字符编码和点阵数据和所述索引表;计算所述点阵数据的第一校验码;根据所述字符编码以及预存的从字符编码到对应的点阵数据的第二校验码的索引表,查找对应的点阵数据的第二校验码;比较所述第一校验码和查找到的第二校验码,一致则显示所述待显示字符,否则不显示。优选地,在执行所述接收待显示字符的字符编码和点阵数据之前,还包括预置每个字符的点阵数据的第二校验码;所述第二校验码的算法与所述第一校验码的计算算法相同;建立每个字符的字符编码至第二校验码的索引表。优选地,所述计算点阵数据的第一校验码具体为根据预存的校验密钥及加密算法对接收的点阵数据进行计算,生成第一校验码。优选地,所述校验密钥为预置的第一密钥。优选地,所述校验密钥为由预置的第二密钥对字符编码、第二校验码的存储地址和/或第二校验码的存储地址的偏移地址进行分散计算生成。本发明还提出一种字库安全使用的装置,包括接收模块,用于接收待显示字符的字符编码和点阵数据;计算模块,用于计算所述点阵数据的第一校验码;
查找模块,用于根据所述字符编码以及预存的从字符编码到对应的点阵数据的第二校验码的索引表,查找对应的点阵数据的第二校验码;显示模块,用于比较所述第一校验码和查找到的第二校验码,一致则显示所述待显示字符,否则不显示。优选地,还包括预置模块,用于预置每个字符的点阵数据的第二校验码和所述索引表;所述第二校验码的算法与所述第一校验码的计算算法相同。优选地,所述计算模块具体用于根据预存的校验密钥及加密算法对接收的点阵数据进行计算,生成第一校验码。优选地,所述校验密钥为预置的第一密钥。优选地,所述校验密钥为由预置的第二密钥对字符编码、第二校验码的存储地址和/或第二校验码的存储地址的偏移地址进行分散计算生成。本发明提出的字库安全使用的方法和装置,因为在终端设备内部只保存每个字符的点阵数据的第二校验码和通过字符编码找到第二校验码的索引,相较直接保存字符的点阵数据,大大缩小了终端设备的存储空间。在终端设备收到待显示字符的字符编码和点阵数据后,可以通过字符编码找到它对应的第二校验码,然后计算收到的待显示字符的点阵数据的第一校验码,比较计算出的第一校验码和终端设备保存在内部的第二校验码,如果相同,可以显示待显示字符,如果不相同,那就提示错误,从而保证了显示的信息和真实信息的一致性,消除了因显示的信息和真实信息不一致导致的安全隐患。


图I为本发明字库安全使用的方法一实施例的流程示意图;图2为本发明字库安全使用的方法一实施例中计算第二校验码一示例的流程示意图;图3为本发明字库安全使用的方法一实施例中计算第二校验码一示例的流程示意图;图4为本发明字库安全使用的装置一实施例的结构示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参照图1,提出本发明字库安全使用的方法一实施例,包括步骤S10、预置每个字符的点阵数据的第二校验码和每个字符的字符编码至第二校验码的索引表;S11、接收待显示字符的字符编码和点阵数据;S12、计算待显示字符的点阵数据的第一校验码;所述第一校验码的计算算法与所述第二校验码的算法相同;S13、根据待显示字符的字符编码以及预存的从字符编码到对应的点阵数据的第二校验码的索引表,查找对应的点阵数据的第二校验码;S14、比较所述第一校验码和查找到的第二校验码,一致则显示所述待显示字符,否则不显示。本实施例的方法适用于带显示功能或外置显示装置的终端设备如USBKEY、动态令牌或嵌入式系统等。首先,根据预置的算法计算终端设备所支持字库中每一字符的点阵数据的第二校验码,即每一字符对应一字符编码、一点阵数据以及该点阵数据的第二校验码,并将该第二校验码预置于终端设备中。预置的算法可以有多种如DES/3DES/MD5/AES/SMS4或其它的分组算法,也可根据终端设备的需要设置算法。如图2所示即为本实施例计算第二校验码一示例,包括步骤S101、用预置的第二密钥对一字符的字符编码进行分散运算生成二级密钥即校验密钥;该二级密钥可以是一种MAC码(Message Authentication Code,消息认证码),上述的第二密钥可以是保存于终端设备的一固定密钥。所述的分散运算可以是加密算法或非加密算法,如基于密码杂凑算法构造消息认证码的HMAC算法。S102、用上述二级密钥对该字符的点阵数据加密生成点阵数据密文;在该过程中使用的加密算法可以是对称算法,如EncData = AlgEnc (Key2 ;Data),其中Key2即为步骤 SlOl中产生的二级密钥,Data为点阵数据,得到EncData为点阵数据密文。点阵数据密文与点阵数据对应。S103、用第三密钥对点阵数据密文或者字符编码和点阵数据密文的组合加密,生成第二校验码,该第二校验码可以是一种MAC码。第三密钥可以和第二密钥或二级密钥相同,也可以不相同。此处使用第三密钥对点阵数据密文单独加密,或对字符编码和点阵数据密文的组合加密,使用的加密算法可以是将任意长度的原始数据(点阵数据、字符编码和点阵数据密文的组合)生成固定长度的第二校验码,且原始数据的任意一比特被修改,得到的第二校验码将不同。参照图3,图3所示为本实施例计算第二校验码另一示例,包括步骤S201、用预置的第二密钥对一字符的第二校验码的存储地址进行分散运算生成二级密钥即校验密钥;上述的第二密钥可以是保存于终端设备的固定密钥。所述的分散运算可以是加密算法或非加密算法,如DES/3DES/MD5/AES/SMS4或其它的分组算法,以DES算法为例,该二级密钥的生成方式为Key2 = DES(Keyl ;Data),其中,Keyl为第二密钥,Key2为二级密钥,Data为点阵数据,二级密钥与点阵数据一一对应。可以理解,本步骤中也可以用预置的第二密钥对字符编码、第二校验码的存储地址的偏移地址进行分散计算生成。S202、用第三密钥对点阵数据或者字符编码和点阵数据的组合进行计算,生成第二校验码,该第二校验码可以是一种MAC码。该第三密钥可以和第二密钥或二级密钥相同, 也可以不相同。此处使用第三密钥对点阵数据单独加密,或对字符编码和点阵数据密文的组合加密,使用的加密算法可以是DES/3DES/MD5/AES/SMS4或其它的分组算法,以采用MD5 算法、二级密钥作为第三密钥,只对点阵数据单独加密生成MAC码为例,该MAC码的生成方式为MAC = MD5(Key2 ;Data)。因生成的MAC码与点阵数据相关,不同的点阵数据得到的第二校验码将不同。本实施例的生成第二校验码的方式不仅限于图2或图3所示之示例,上述校验密钥也可直接设置为某一预置的第一密钥,如当终端设备为USBKEY等智能安全设备时,可根据智能安全设备预存的密钥及算法进行计算,而无须另行设置校验密钥或加密算法。重复步骤S101-S103或步骤S201-S202,可得到字库内所有字符的第二校验码,建立字库内字符的字符编码至第二校验码的索引,得到索引表并保存于终端设备。此时终端设备只需保存该索引表和第二校验码,无须保存字库中所有字符的点阵数据,大大地节约了终端设备的存储空间。而该索引表中的第二校验码通过一定算法生成,大大降低了被篡改的可能性。当需要显示某一字符时,终端设备接收该待显示字符的字符编码和点阵数据。为防止外部传入的点阵数据被非法篡改,本实施例的方法并不直接显示点阵数据,首先计算接收的点阵数据的第一校验码(区别第二校验码的一校验码),其计算方法必须和计算第二校验码的计算方法一致,得到待显示字符的第一校验码。其次通过接收的字符编码和终端设备已保存的索引表,查到对应该字符编码的点阵数据的第二校验码。将上述第一校验码和查找得到的第二校验码进行比较,如两者一致,表明输入的点阵数据为合法数据,即显示该待显示的字符,如两者不一致,则表明输入的点阵数据错误,则不显示,并提示相关的错误信息。本实施例的字库安全使用的方法,可确保待显示的字符被正确显示,即终端设备显示的信息与真实信息一致,防止输入字符被篡改。同时又无需保存字库的点阵数据,大大节约了存储空间。参照图4,提出本发明字库安全使用的装置一实施例,包括预置模块20,用于预置字库中每个字符的点阵数据的第二校验码,以及字符编码至第二校验码的索引表。接收模块30,用于接收待显示字符的字符编码和点阵数据。计算模块10,用于计算接收到的点阵数据的第一校验码;所述第一校验码的计算算法与所述第二校验码的算法相同。查找模块40,用于根据接收到的字符编码以及索引表,查找对应的点阵数据的第二校验码;显示模块50,用于比较所述第一校验码和查找到的第二校验码,一致则显示所述待显示字符,否则不显示。本实施例的装置可以是带显示功能或外置显示装置的终端设备如USBKEY、动态令牌或嵌入式系统等。首先,可与终端设备进行数据交换的其它设备或终端设备本身的预置模块20根据预置的算法计算终端设备所支持字库中每一字符的点阵数据的第二校验码,即每一字符对应一字符编码、一点阵数据以及该点阵数据的第二校验码,预置模块20将该第二校验码预置于本实施例的装置中。预置的算法可以有多种如DES/3DES/MD5/AES/SMS4或其它的分组算法,也可根据终端设备的需要设置算法,下述为本实施例中计算第二校验码或第一校验码之示例。用预置的第二密钥对一字符的字符编码进行分散运算生成二级密钥即校验密钥; 该二级密钥可以是一种MAC码,上述的第二密钥可以是保存于终端设备的一固定密钥。所述的分散运算可以是加密算法或非加密算法,如基于密码杂凑算法构造消息认证码的HMAC 算法。
用上述二级密钥对该字符的点阵数据加密生成点阵数据密文;在该过程中使用的加密算法可以是对称算法,如EncData = AlgEnc (Key2 ;Data),其中Key2即为二级密钥, Data为点阵数据,得到EncData为点阵数据密文。点阵数据密文与点阵数据一一对应。用第三密钥对点阵数据密文或者字符编码和点阵数据密文的组合加密,生成第二校验码,该第二校验码可以是一种MAC码。第三密钥可以和第二密钥或二级密钥相同,也可以不相同。此处使用第三密钥对点阵数据密文单独加密,或对字符编码和点阵数据密文的组合加密,使用的加密算法可以是将任意长度的原始数据(点阵数据、字符编码和点阵数据密文的组合)生成固定长度的第二校验码,且原始数据的任意一比特被修改,得到的第二校验码将不同。本实施例中计算第二校验码或第一校验码之另一示例为用预置的第二密钥对一字符的第二校验码的存储地址进行分散运算生成二级密钥即校验密钥;上述的第二密钥可以是保存于终端设备的固定密钥。所述的分散运算可以是加密算法或非加密算法,如DES/3DES/MD5/AES/SMS4或其它的分组算法,以DES算法为例,该二级密钥的生成方式为Key2 = DES(Keyl ;Data),其中,Keyl为第二密钥,Key2为二级密钥,Data为点阵数据,二级密钥与点阵数据一一对应。可以理解,本步骤中也可以用预置的第二密钥对第二校验码的存储地址的偏移地址进行分散计算生成。用第三密钥对点阵数据或者字符编码和点阵数据的组合进行计算,生成第二校验码,该第二校验码可以是一种MAC码。该第三密钥可以和第二密钥或二级密钥相同,也可以不相同。此处使用第三密钥对点阵数据单独加密,或对字符编码和点阵数据密文的组合加密,使用的加密算法可以是DES/3DES/MD5/AES/SMS4或其它的分组算法,以采用MD5算法、 二级密钥作为第三密钥,只对点阵数据单独加密生成MAC码为例,该MAC码的生成方式为 MAC = MD5(Key2 ;Data)。因生成的MAC码与点阵数据相关,不同的点阵数据得到的第二校验码将不同。本实施例的生成第二校验码或第一校验码的方式不仅限于上述示例,上述校验密钥也可直接设置为某一预置的第一密钥,如当终端设备为USBKEY等智能安全设备时,可根据智能安全设备预存的密钥及算法进行计算,而无须另行设置校验密钥或加密算法。预置模块20预置字库内所有字符的第二校验码以及字库内字符的字符编码至第二校验码的索引表。此时只需保存该索引表,无须保存字库中所有字符的点阵数据,大大地节约了存储空间。而该索引表中的第二校验码通过一定算法生成,降低了被篡改的可能性。当需要显示某一字符时,接收模块30接收该待显示字符的字符编码和点阵数据。 为防止外部传入的点阵数据被非法篡改,本实施例并不直接显示点阵数据,首先计算模块 10计算终端设备接收的点阵数据的第一校验码(区别第二校验码的一校验码),其计算方法必须和计算第二校验码的计算方法一致,得到待显示字符的第一校验码。其次查找模块 40通过接收的字符编码和已保存的索引表,查到对应该字符编码的点阵数据的第二校验码。显示模块50将上述第一校验码和查找得到的第二校验码进行比较,如两者一致, 表明输入的点阵数据为合法数据,即允许终端设备显示该待显示的字符,如两者不一致,则表明输入的点阵数据错误,则不显示,并提示相关的错误信息。
本实施例的字库安全使用的装置,可确保终端设备待显示的字符被正确显示,即终端设备显示的信息与真实信息一致,防止输入字符被篡改。同时又无需保存字库的点阵数据,大大节约了存储空间。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种字库安全使用的方法,其特征在于,包括步骤接收待显示字符的字符编码和点阵数据;计算所述点阵数据的第一校验码;根据所述字符编码以及预存的从字符编码到对应的点阵数据的第二校验码的索引表, 查找对应的点阵数据的第二校验码;比较所述第一校验码和查找到的第二校验码,一致则显示所述待显示字符,否则不显/Jn ο
2.如权利要求I所述的方法,其特征在于,在执行所述接收待显示字符的字符编码和点阵数据之前,还包括预置每个字符的点阵数据的第二校验码和所述索引表;所述第二校验码的算法与所述第一校验码的计算算法相同。
3.如权利要求I或2所述的方法,其特征在于,所述计算点阵数据的第一校验码具体为根据预存的校验密钥及算法对接收的点阵数据进行计算,生成第一校验码。
4.如权利要求3所述的方法,其特征在于,所述校验密钥为预置的第一密钥。
5.如权利要求3所述的方法,其特征在于,所述校验密钥为由预置的第二密钥对字符编码、第二校验码的存储地址和/或第二校验码的存储地址的偏移地址进行分散计算生成。
6.一种字库安全使用的装置,其特征在于,包括接收模块,用于接收待显示字符的字符编码和点阵数据;计算模块,用于计算所述点阵数据的第一校验码;查找模块,用于根据所述字符编码以及预存的从字符编码到对应的点阵数据的第二校验码的索引表,查找对应的点阵数据的第二校验码;显示模块,用于比较所述第一校验码和查找到的第二校验码,一致则显示所述待显示子付,否则不显不。
7.如权利要求6所述的装置,其特征在于,还包括预置模块,用于预置每个字符的点阵数据的第二校验码和所述索引表;所述第二校验码的计算算法与所述第一校验码的计算算法相同。
8.如权利要求6或7所述的装置,其特征在于,所述计算模块具体用于根据预存的校验密钥及算法对接收的点阵数据进行计算,生成第一校验码。
9.如权利要求8所述的装置,其特征在于,所述校验密钥为预置的第一密钥。
10.如权利要求8所述的装置,其特征在于,所述校验密钥为由预置的第二密钥对字符编码、第二校验码的存储地址和/或第二校验码的存储地址的偏移地址进行分散计算生成。
全文摘要
本发明揭示了一种字库安全使用的方法和装置,该方法包括步骤接收待显示字符的字符编码和点阵数据;计算所述点阵数据的第一校验码;根据所述字符编码以及预存的从字符编码到对应的点阵数据的第二校验码的索引表,查找对应的点阵数据的第二校验码;比较所述第一校验码和查找到的第二校验码,一致则显示所述待显示字符,否则不显示。本发明提供的一种字库安全使用的方法和装置,实现字库的安全使用,同时又节约了使用字库的终端设备的存储空间。
文档编号G06F21/00GK102609648SQ201210023378
公开日2012年7月25日 申请日期2012年2月2日 优先权日2012年2月2日
发明者陈柳章 申请人:深圳市文鼎创数据科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1