专利名称:一种嵌入式设备保密通讯的方法
技术领域:
本发明涉及通讯领域和嵌入式系统领域,具体涉及一种嵌入式设备保密通讯的方法。
背景技术:
随着嵌入式技术的发展,嵌入式设备的应用越来越广泛,同时对嵌入式设备的保密通讯的需求也日渐增多,不论是在通讯、家电和航空航天领域,还是在普通的IC识别领域,都有很多保密通讯的需求,比如保密电话、安全路由器、电子侦查设备等,都要求通讯保密。
嵌入式设备的保密通讯,要求安全可靠、高效率,保密通讯的目的主要是防伪、防窃、防抵赖。在信息加密、解密方面,目前普遍使用的成熟的加、解密算法有RSA,DES算法等。RSA是非对称密钥算法,加密密钥和解密密钥不相同,可用于电子签名和信息的加密、解密。DES算法采用对称密钥,加密、解密的密钥相同,用于信息的加密和解密。DES是基于迭代的分组加密算法,可有16轮迭代,使用时减少其迭代次数,可以提高信息的加密、解密效率,但安全性会下降。
随着电子商务和电子政务、网上银行、网上证券的建设和应用,基于Internet产生了一些保密通讯模式,主要以使用公开密钥和认证中心CA为其特征。
目前,Internet上的这些比较成熟的保密通讯模式,尚未在嵌入式设备通讯中得到应用,嵌入式设备保密通讯的方法还不能同时满足开放、高效率、安全性的要求。
发明内容
本发明的目的是借鉴Internet上用于网上银行,网上证券的保密通讯模式,设计一种适用于嵌入式设备保密通讯的方法,在应用层和传输层之间建立保密通讯层,使设备之间能够安全高效地进行语音、数据、传真等业务数据的保密通讯。
本发明的技术方案如下一种嵌入式设备保密通讯的方法,其特征在于,其系统包括认证中心和多台嵌入式设备,所述嵌入式设备之间的会话信息采用对称加密方法加密,所述对称加密方法的对称密钥的交换,采用非对称加密方法加密,每次会话生成不同的所述对称密钥作为会话密钥;所述方法包括以下步骤第一步保密通讯的双方交换公开密钥;第二步保密通讯的双方相互进行身份认证并提取对方的公开密钥;第三步保密通讯的双方交换对称密钥;第四步保密通讯的双方进行保密通讯。
所述的方法,还具有特征所述第一步包括以下步骤a1)保密通讯的发起方第一嵌入式设备检查保密通讯的响应方第二嵌入式设备是否在其允许保密通讯的设备列表中,所述第二嵌入式设备的证书是否有效,如果该设备不在所述允许保密通讯的设备列表中,或其证书已失效,则保密通讯过程终止;a2)所述第一嵌入式设备检查其公开密钥库中有没有所述第二嵌入式设备的公开密钥和该公开密钥的有效期,然后,所述第一嵌入式设备向所述第二嵌入式设备发出希望保密通讯的消息;该消息中包括其设备标识符,如果所述第一嵌入式设备没有所述第二嵌入式设备的公开密钥或者其不在有效期内,该消息中还包括需要对方公开密钥的信息;
a3)所述第二嵌入式设备收到所述消息后,如果不同意对话则丢掉该消息,所述保密通讯过程终止;否则根据对方的设备标识符,检查自己的公开密钥库中有没有对方的公开密钥和其有效期,然后向对方发应答消息,如果所述第二嵌入式设备没有所述第一嵌入式设备的公开密钥或者其不在有效期内,该应答消息中包括需要对方公开密钥的信息;a4)所述第一嵌入式设备收到所述应答消息,检查所述第二嵌入式设备是否需要自己的公开密钥,如果双方都不需要对方的公开密钥,转到所述第三步;否则如果所述第一嵌入式设备需要对方的证书,则请求对方将其证书传给自己;如果对方同意,则将其证书传给所述第一嵌入式设备,不同意则所述保密通讯过程终止;如果所述第二嵌入式设备需要对方的证书,则请求对方将其证书传给自己;如果对方同意,则将其证书传给所述第二嵌入式设备,不同意则所述保密通讯过程终止。
所述的方法,还具有特征所述第二步包括以下步骤保密通讯双方收到对方的证书后,对证书的合法性进行验证,如果合法,则从证书中提取对方的公开密钥,存储至自己的公开密钥库中,否则,所述保密通讯过程终止。
证书的生成过程是,认证中心使用RSA或其他公开密钥算法的密钥生成算法,为注册的设备生成一对密钥(公开密钥、私有密钥),并保证在该认证中心范围内,设备之间的公开密钥是不重复的。注册设备保存设备的私有密钥,和公开密钥,认证中心只保存注册设备的公开密钥。认证中心生成一份文件,里面有设备的标识符,公开密钥,有效期,认证中心的标识,认证中心不对该文件进行加密,但根据该文件的内容用md5算法或其他算法生成一个散列值,然后认证中心用自己的私有密钥,采用RSA算法对该散列值进行加密,加密后的值是认证中心的数字签名。数字签名和文件构成了注册设备的证书,发给注册设备。
证书的验证就是采用认证中心的公开密钥和公开密钥算法,解密证书的数字签名得到一个数值,然后对证书文件,求散列值,如果两个值是相等的,则该证书是合法的,否则为非法的。
所述的方法,还具有特征所述第三步包括以下步骤保密通讯双方从各自的公开密钥库中获取对方的公开密钥,然后进入以下步骤b1)所述第一嵌入式设备随机生成一定bit的第一密钥,并确定所述第一密钥的有效期,用自己的私有密钥对所述第一密钥加密,然后,传给所述第二嵌入式设备;b2)所述第二嵌入式设备随机生成一定bit的第二密钥,并确定密钥的有效期,用自己的私有密钥对所述第二密钥加密,然后,传给所述第一嵌入式设备;b3)所述第一嵌入式设备收到所述第二嵌入式设备的消息后,用所述第二嵌入式设备的公开密钥,和相应的解密算法解密,得到所述第二嵌入式设备的对称密钥第三密钥,再用所述第二嵌入式设备的公开密钥加密所述第三密钥后,应答给所述第二嵌入式设备;b4)所述第二嵌入式设备收到所述第一嵌入式设备的消息后,用所述第一嵌入式设备的公开密钥,和相应的解密算法解密,得到所述第一嵌入式设备的对称密钥第四密钥,再用所述第一嵌入式设备的公开密钥加密所述第四密钥后,应答给所述第一嵌入式设备;b5)所述第一嵌入式设备收到所述第二嵌入式设备的应答消息,用自己的私有密钥对所述第四密钥解密后,和所述所述第一密钥比较,如果两者不一样则所述保密通讯过程终止;b6)所述第二嵌入式设备收到所述第一嵌入式设备的应答消息,用自己的私有密钥对所述第三密钥解密后,和所述第二密钥比较,如果两者不一样则所述保密通讯过程终止。
所述的方法,还具有特征所述第一嵌入式设备和所述第二嵌入式设备使用相同的加、解密算法,进行会话信息的保密、解密;所述第一嵌入式设备使用所述第一密钥进行加密,使用所述第二密钥进行解密;所述第二嵌入式设备使用所述第二密钥进行加密,使用所述第一密钥进行解密;会话期间,如果所述第一密钥或所述第二密钥的有效期期满,需超时更新,包括以下步骤c1)如果所述第一嵌入式设备的所述第一密钥使用超时,所述第一嵌入式设备在当前的消息中携带自己将更改密钥的信号,并使用该消息与所述第一密钥根据生成算法计算出新的加密密钥,使用所述第一密钥加密和发送当前消息,等待对方的应答;c2)接收方所述第二嵌入式设备取得对方密钥更新的信号,在当前消息中携带应答信号,表明已收到更改信号;如果所述第二嵌入式设备没有需要发送的当前消息,则应答一条空消息,然后,所述第二嵌入式设备使用所述第一嵌入式设备的消息和所述第一密钥根据所述生成算法计算出新的密钥,并启用该新的密钥进行解密;c3)所述第一嵌入式设备收到所述第二嵌入式设备的应答后,启用所述新的加密密钥;所述第一嵌入式设备在等待所述第二嵌入式设备的应答时,设置超时定时器,如果所述超时定时器超时,没有得到对方的应答消息,则终止当前会话。
所述的方法,还具有特征所述生成算法包括如下步骤使用md5算法求当前消息的128位的散列值,将前64位和后64位作异或运算,得到64位散列值,再与当前的密钥按位异或生成新的密钥。所述的方法,还具有特征所述一定bit的第一密钥的位数设置为64bit,所述一定bit的第二密钥的位数设置为64bit。
所述的方法,还具有特征所述对称加密方法的算法采用DES算法,所述非对称加密方法的算法采用RSA算法。
所述的方法,还具有特征所述对称加密方法的算法采用8轮迭代的DES算法。
本发明的系统架构的设计是开放的,新的设备能够很容易地加入到系统中。认证中心只负责向设备发送证书,不参与具体的会话,减少了认证中心的流量和负荷,明确了其职责。会话密钥本次会话结束后,就作废,提高了通讯的安全性,也降低了密钥管理的复杂性。设备唯一需要严格保密的就是用于会话密钥交换的设备自己的私有密钥。由于会话密钥一次性使用和超时更新,会话采用基于迭代的加解密算法,可降低其迭代次数,以提高保密通讯的通讯效率。在传输层和应用之间,建立保密通讯层,使本方法结构清晰,易于实现。
综上所述,本发明满足嵌入式设备保密通讯开放、高效率、安全的要求,适用于不同种类嵌入式设备的保密通讯,具有广阔的应用前景。
图1是本发明的系统组成示意图;图2是本发明的消息格式;图3是本发明的保密会话状态机示意图。
具体实施例方式
下面结合附图对本发明的技术方案的实施作进一步的详细描述。
本发明的系统组成如图1所示,系统由通讯设备和认证中心组成,由第三方机构充当认证中心,它包括人和计算机,认证中心的可靠性至关重要。认证中心有以下职责
1、为注册的设备和其它认证中心生成证书,并保存这些证书;2、向请求者发送证书;3、通知证书失效。
认证中心不保存设备的私有密钥,只对设备的标识符和公开密钥进行认证,不参与设备的具体保密通讯。中心设立专门的服务器,存放有效期内的证书,和尚在有效期内但被撤销的证书。
加入系统的设备需要生成一对非对称密钥(公开密钥,私有密钥)、唯一的标识符,比如PDA(Personal Digital Assistant,个人数字助理)手机的手机号,和认证中心的证书。设备能实现RSA和DES算法,最好是硬件实现。
PDA用户将手机号和公开密钥拿到认证中心注册,认证中心生成该PDA设备的证书,证书主要包括设备的标识符、公开密钥和有效期。PDA设备将证书和认证中心的公开密钥存放在芯片或文件系统中。
证书的销毁认证中心签发证书是为了用户身份和公开密钥的绑定,如果设备被盗,私有密钥被窃等原因需要销毁证书,用户需要向认证中心报案,认证中心将该设备的证书标记为撤消。并将该设备标识符加入到证书失效的数据库中。认证中心根据紧急程度,定期广播新近失效的设备标识符,该广播消息使用认证中心的数字签名。
设备有自己的安全访问列表,该访问列表确定可以和哪些PDA进行保密通讯。PDA收到认证中心的消息后,检查通告的设备标识符是否在自己的许可访问列表中,是则打上证书无效标志。
实现保密会话的数据结构定义和状态机消息类型1.HELLO消息 2.密钥交换消息 3.会话消息图2说明了消息的格式。只有会话消息和会话密钥交换消息的消息体需要加密。会话消息的消息体,是加密后的会话内容,由于DES是分组加密算法,明文和密文以64bit为一组进行加密和解密。
HELLO消息option选项值的含义0表示希望和对方进行保密通讯;1表示消息体中有发送者的证书。
flag标志项值的含义0不需要对方传送证书;1需要对方传送证书。
密钥交换消息flag标志项值的含义0不需要对方传送密钥;1需要对方传送密钥。
会话消息flag标志项的含义0密钥不需要更改1表示需要更改密钥2表示已经更改密钥会话的数据结果定义{dstId; 对端标识state; 会话状态flag; 标志项selfKey;64位自己的密钥dstKey; 64位对端的密钥newKey; 64位新密钥keyUseTime; 密钥的使用寿命
rcvQue; 接收消息队列sendQue;发送消息队列rcvTaskId; 接收任务标识sendTaskId; 发送任务标识appId; 上层应用标识}接收消息队列和发送消息队列只存放应用层的会话消息。
接收任务取接收消息队列中的消息,进行解密,交给上层应用。
发送任务取发送消息队列的消息,进行加密,交给传输层。
图3是保密会话状态机的示意图。
事件定义1创建会话;2删除会话;3收到HELLO消息;4收到密钥交换消息;5收到会话消息。
会话长时间没有消息发送和接收、链路断开、会话结束、证书失效等将导致删除会话事件的发生。
状态定义关闭状态 DOWN;初始化状态 INIT;密钥交换状态 EXCHANGE_KEY;会话状态 DIALOG。
会话状态机描述
状态 DOWN;事件 1创建一个会话;下一个状态 取决于活动;活动检查是否允许和对方进行保密通讯,如果不允许,下一个状态为DOWN,会话结束。否则,进入INIT状态,检查是否有对方的证书,没有会话flag设为1,有flag设为0;向对方发送HELLO消息,消息中的标志flag的值为本次会话中的flag值,消息中的option为0;消息体长度为0。
事件 3收到HELLO消息;下一个状态 取决于活动;活动检查是否允许和对方进行保密通讯,如果不允许则进入DOWN状态,会话结束。创建相应的上层应用,如果不成功,则进入DOWN状态,会话结束。
创建一个会话,将会话状态设置于INIT状态。检查是否有对方的证书,没有flag设为1,有flag设为0;检查对方是否需要自己的证书,如果不需要,flag|=0x0000,否则flag|=0x0010。
向对方发送HELLO消息,并告诉对方是否需要对方的证书,如果对方需要自己的证书,在HELLO消息的消息体中附加自己的证书。如果双方都不需要对方的证书flag为0,则生成一个64位的密钥,保存在本次会话的SelfKey中,进入EXCHANGE_KEY状态;否则进入INIT状态。
其它事件下一个状态 DOWN;活动 结束会话;INIT状态
事件收到HELLO消息活动如果消息中option为1且会话flag & 0x0001为1,则对消息中证书的合法性进行验证,如果验证不合法则进入DOWN状态。否则,将对方的Id、公开密钥以及密钥的有效期保存在数据库中。会话的flag=flag & 1110。如果对方需要自己的证书,则发送HELLO消息,附上自己的证书,和是否需要对方证书的标识。如果双方都不需要对方的证书即会话中flag为0,则进入EXCHANGE_KEY密钥交换状态,生成64位密钥保存在本次会话的selfKey中,用私有密钥加密后,发送给对方密钥交换消息,消息的flag设为1,表明需要对方的密钥。
证书的生成过程是,认证中心使用RSA或其他公开密钥算法的密钥生成算法,为注册的设备生成一对密钥(公开密钥、私有密钥),并保证在该认证中心范围内,设备之间的公开密钥是不重复的。注册设备保存设备的私有密钥,和公开密钥,认证中心只保存注册设备的公开密钥。认证中心生成一份文件,里面有设备的ID号,公开密钥,有效期,认证中心的标识,认证中心不对该文件进行加密,但根据该文件的内容用MD5算法或其他算法生成一个散列值,然后认证中心用自己的私有密钥,采用RSA算法对该散列值进行加密,加密后的值是认证中心的数字签名。数字签名和文件构成了注册设备的证书,发给注册设备。
证书的验证就是采用认证中心的公开密钥和公开密钥算法,解密证书的数字签名得到一个数值,然后对证书文件,求散列值,如果两个值是相等的,则该证书是合法的,否则为非法的。
事件 2删除会话下一个状态 DOWN活动 结束会话,释放本次会话所占有的资源。
其他事件
下一个状态INIT活动无密钥交换状态事件 3收到密钥交换消息;下一个状态取决于活动;活动检查对方是否需要自己的密钥,如果需要将自己的64位密钥传给对方,并表明不需要对方的密钥,会话flag设为0。如果对方不需要自己的密钥,则进入DIALOG,否则将自己的密钥发送给对方,并表明不需要对方的密钥,下一个状态为EXCHANGE_KEY。
事件2关闭会话;下一个状态 DOWN;活动 删除会话;其它事件下一个状态EXCHANGE_KEY;活动无;会话状态事件 收到对方的会话消息;下一个状态DIALOG;活动将该会话消息的消息体挂接到接收消息队列。
事件 2删除会话;下一个状态 DOWN;活动结束会话,释放本次会话所占有的资源。
其它事件下一个状态会话状态;
活动无。
以上是本方法的具体实现。不同认证中心的两台设备要进行保密通讯,必须是它们所属的认证中心建立了相互信任的关系,需要先向自己所属认证中心请求对方认证中心的的证书,对该证书验证后,再用对方认证中心的公开密钥验证对方设备的合法性。
权利要求
1.一种嵌入式设备保密通讯的方法,其特征在于,其系统包括认证中心和多台嵌入式设备,所述嵌入式设备之间的会话信息采用对称加密方法加密,所述对称加密方法的对称密钥的交换,采用非对称加密方法加密,每次会话生成不同的所述对称密钥作为会话密钥;所述方法包括以下步骤第一步保密通讯的双方交换公开密钥;第二步保密通讯的双方相互进行身份认证并提取对方的公开密钥;第三步保密通讯的双方交换对称密钥;第四步保密通讯的双方进行保密通讯。
2.根据权利要求1所述的方法,其特征是所述第一步包括以下步骤a1)保密通讯的发起方第一嵌入式设备检查保密通讯的响应方第二嵌入式设备是否在其允许保密通讯的设备列表中,所述第二嵌入式设备的证书是否有效,如果该设备不在所述允许保密通讯的设备列表中,或其证书已失效,则保密通讯过程终止;a2)所述第一嵌入式设备检查其公开密钥库中有没有所述第二嵌入式设备的公开密钥和该公开密钥的有效期,然后,所述第一嵌入式设备向所述第二嵌入式设备发出希望保密通讯的消息;该消息中包括其设备标识符,如果所述第一嵌入式设备没有所述第二嵌入式设备的公开密钥或者其不在有效期内,该消息中还包括需要对方公开密钥的信息;a3)所述第二嵌入式设备收到所述消息后,如果不同意对话则丢掉该消息,所述保密通讯过程终止;否则根据对方的设备标识符,检查自己的公开密钥库中有没有对方的公开密钥和其有效期,然后向对方发应答消息,如果所述第二嵌入式设备没有所述第一嵌入式设备的公开密钥或者其不在有效期内,该应答消息中包括需要对方公开密钥的信息;a4)所述第一嵌入式设备收到所述应答消息,检查所述第二嵌入式设备是否需要自己的公开密钥,如果双方都不需要对方的公开密钥,转到所述第三步;否则如果所述第一嵌入式设备需要对方的证书,则请求对方将其证书传给自己;如果对方同意,则将其证书传给所述第一嵌入式设备,不同意则所述保密通讯过程终止;如果所述第二嵌入式设备需要对方的证书,则请求对方将其证书传给自己;如果对方同意,则将其证书传给所述第二嵌入式设备,不同意则所述保密通讯过程终止。
3.根据权利要求2所述的方法,其特征是所述第二步包括以下步骤保密通讯双方收到对方的证书后,对证书的合法性进行验证,如果合法,则从证书中提取对方的公开密钥,存储至自己的公开密钥库中,否则,所述保密通讯过程终止。
4.根据权利要求3所述的方法,其特征是所述第三步包括以下步骤保密通讯双方从各自的公开密钥库中获取对方的公开密钥,然后进入以下步骤b1)所述第一嵌入式设备随机生成一定bit的第一密钥,并确定所述第一密钥的有效期,用自己的私有密钥对所述第一密钥加密,然后,传给所述第二嵌入式设备;b2)所述第二嵌入式设备随机生成一定bit的第二密钥,并确定密钥的有效期,用自己的私有密钥对所述第二密钥加密,然后,传给所述第一嵌入式设备;b3)所述第一嵌入式设备收到所述第二嵌入式设备的消息后,用所述第二嵌入式设备的公开密钥,和相应的解密算法解密,得到所述第二嵌入式设备的对称密钥第三密钥,再用所述第二嵌入式设备的公开密钥加密所述第三密钥后,应答给所述第二嵌入式设备;b4)所述第二嵌入式设备收到所述第一嵌入式设备的消息后,用所述第一嵌入式设备的公开密钥,和相应的解密算法解密,得到所述第一嵌入式设备的对称密钥第四密钥,再用所述第一嵌入式设备的公开密钥加密所述第四密钥后,应答给所述第一嵌入式设备;b5)所述第一嵌入式设备收到所述第二嵌入式设备的应答消息,用自己的私有密钥对所述第四密钥解密后,和所述所述第一密钥比较,如果两者不一样则所述保密通讯过程终止;b6)所述第二嵌入式设备收到所述第一嵌入式设备的应答消息,用自己的私有密钥对所述第三密钥解密后,和所述第二密钥比较,如果两者不一样则所述保密通讯过程终止。
5.根据权利要求4所述的方法,其特征是所述第一嵌入式设备和所述第二嵌入式设备使用相同的加、解密算法,进行会话信息的保密、解密;所述第一嵌入式设备使用所述第一密钥进行加密,使用所述第二密钥进行解密;所述第二嵌入式设备使用所述第二密钥进行加密,使用所述第一密钥进行解密;会话期间,如果所述第一密钥或所述第二密钥的有效期期满,需超时更新,包括以下步骤c1)如果所述第一嵌入式设备的所述第一密钥使用超时,所述第一嵌入式设备在当前的消息中携带自己将更改密钥的信号,并使用该消息与所述第一密钥根据生成算法计算出新的加密密钥,使用所述第一密钥加密和发送当前消息,等待对方的应答;c2)接收方所述第二嵌入式设备取得对方密钥更新的信号,在当前消息中携带应答信号,表明已收到更改信号;如果所述第二嵌入式设备没有需要发送的当前消息,则应答一条空消息,然后,所述第二嵌入式设备使用所述第一嵌入式设备的消息和所述第一密钥根据所述生成算法计算出新的密钥,并启用该新的密钥进行解密;c3)所述第一嵌入式设备收到所述第二嵌入式设备的应答后,启用所述新的加密密钥;所述第一嵌入式设备在等待所述第二嵌入式设备的应答时,设置超时定时器,如果所述超时定时器超时,没有得到对方的应答消息,则终止当前会话。
6.根据权利要求5所述的方法,其特征是所述生成算法包括如下步骤使用md5算法求当前消息的128位的散列值,将前64位和后64位作异或运算,得到64位散列值,再与当前的密钥按位异或生成新的密钥。
7.根据权利要求4所述的方法,其特征是所述一定bit的第一密钥的位数设置为64bit,所述一定bit的第二密钥的位数设置为64bit。
8.根据权利要求1至7任一所述的方法,其特征是所述对称加密方法的算法采用DES算法,所述非对称加密方法的算法采用RSA算法。
9.根据权利要求8所述的方法,其特征是所述对称加密方法的算法采用8轮迭代的DES算法。
全文摘要
本发明公开了一种嵌入式设备保密通讯的方法,其系统包括认证中心和多台嵌入式设备;嵌入式设备之间的会话信息采用对称加密方法加密,对称加密方法的对称密钥的交换,采用非对称加密方法加密,每次会话生成不同的所述对称密钥作为会话密钥;该方法的保密通讯过程分为四个步骤第一步双方交换公开密钥;第二步相互进行身份认证并提取对方的公开密钥;第三步双方交换对称密钥;第四步双方进行保密通讯。该方法在传输层和应用层之间,建立保密通讯层,结构清晰,易于实现,同时支持多种应用的保密通讯,能够安全高效地实现嵌入式设备的保密通讯。
文档编号H04L9/30GK1555151SQ20031011754
公开日2004年12月15日 申请日期2003年12月26日 优先权日2003年12月26日
发明者左雪梅, 芦东昕, 王陈, 缪敬, 黄烨明, 张芝萍 申请人:中兴通讯股份有限公司