发明内容
本发明目的是提供一种基于数字证书的短信认证加密系统及相应的短信认证加密方法,其解决了现有短信收发方式缺乏认证机制且无法加密传送的技术问题。
本发明的技术解决方案是:
一种基于数字证书的短信认证加密系统,其特殊之处是:所述短信认证加密系统包括短信认证中心、被认证机构短信中心以及手机;所述短信认证中心包括数字证书管理服务单元以及公共数字证书库;所述数字证书管理服务单元用于管理数字证书生成程序和生成被认证机构的用户标示;所述公共数字证书库用于存放数字证书的公钥及用户标示;所述被认证机构短信中心包括短信收发服务器、数字签名服务器、证书生成单元以及被认证机构数字证书库;所述短信收发服务器用于收发短信;所述数字签名服务器可对所发送的短信进行数字签名;所述证书生成单元用于下载数字证书生成程序并根据数字证书生成程序生成数字证书的公钥和私钥;所述被认证机构数字证书库用于存放数字证书的私钥;所述手机包括手机本体、设置在手机本体内的短信认证和加密客户端以及手机数字证书库;所述手机数字证书库用于存放数字证书的公钥;所述短信认证和加密客户端可根据数字证书的公钥对手机本体所接收短信进行认证。
上述被认证机构短信中心还可包括解密单元,所述解密单元可根据数字证书的私钥对手机用户发送短信进行解密;所述短信认证和加密客户端还可根据手机数字证书库中的公钥实现手机发送短信的加密。
一种基于数字证书的短信认证加密方法,该方法主要用于认证,包括以下步骤:
1]生成被认证机构的数字证书:
1.1]被认证机构短信中心向短息认证中心提交短信认证申请;
1.2]短信认证中心生成被认证机构的用户标示;
1.3]被认证机构的证书生成单元从短信认证中心下载用户标示和数字证书生成程序;
1.4]被认证机构的证书生成单元根据数字证书生成程序生成数字证书的密钥对;其中密钥对的私钥存放在被认证机构数字证书库中;
1.5]证书生成单元将用户标识和密钥对的公钥发送到短信认证中心的公共数字证书库;
2]手机数字证书下载:
2.1]被认证机构短信中心向手机发送具有预先约定下载地址标识的短信;
2.2]手机根据短信内容提供的下载地址从被认证机构数字证书库下载数字证书的公钥;
3]被认证机构发送认证短信:
3.1]被认证机构短信中心将手机号码和短信内容送至数字签名服务器;
3.2]数字签名服务器根据数字证书的私钥对手机号码和短信内容进行数字签名;
3.3]数字签名服务器将数字签名内容放到短信内容的后面构成数字签名字符串,发送至被认证机构短信中心;
3.4]被认证机构短信中心将数字签名字符串发送至短信收发服务器;
3.5]短信收发服务器将数字签名字符串发送至与手机号码相应的手机上;
4]短信认证:
4.1]手机接收短信并监测短信内容和发送号码;
4.2]短信认证和加密客户端从手机数字证书库中找出发送号码对应的数字证书,对收到的短信进行认证;
4.3]显示认证结果。
上述短信认证的步骤还包括认证前检查证书有效期的步骤:
在使用数字证书认证前,检查当前日期时间是否超过该证书的有效期;如果没有超过证书的有效期,则进行短信认证步骤;如果超过证书的有效期,且已经下载了新的数字证书,则删除当前数字证书,并将已经下载的新的数字证书更名为当前有效的数字证书,然后进行短信认证步骤;如果当前数字证书已经超过证书的有效期,且未下载新的数字证书,则进行数字证书更新,然后进行短信认证步骤。
上述数字证书更新的步骤包括:
手机的认证和加密客户端下载新的数字证书,所述新下载的数字证书的名称或后缀与当前仍然在使用的数字证书不同;然后删除当前数字证书,并将已经下载的新的数字证书更名为当前有效的数字证书。
上述数字签名服务器根据数字证书的私钥对手机号码和短信进行数字签名时还可在短信内容前增加一个表示为加密内容的标识。
上述数字签名服务器根据数字证书的私钥对手机号码和短信进行数字签名是采用HTTP协议请求对发送号和短信内容进行数字签名;所述用户标示为一个随机数;所述被认证机构数字证书库为移动闪存盘。
上述短信认证的具体步骤如下:
手机接收短信并监测短信内容和发送号的具体;如果发送号是需要进行认证的发送者,则检查该短信是否有数字签名字符串;如果有数字签名字符串,则根据该发送者号码对应的数字证书做签名认证,如果认证通过,则提示该短信可信;如果发送号不在列表中但发送内容包含需要认证方预设的名称,或者短信没有数字签名字符串,或者认证没有通过,则提示该短信不可信。
一种基于数字证书的短信认证加密方法,该方法主要用于加密,其包括以下步骤:
1]生成被认证机构的数字证书:
1.1]被认证机构短信中心向短息认证中心提出交短信认证申请;
1.2]短信认证中心生成被认证机构的用户标示;
1.3]被认证机构的证书生成单元从短信认证中心下载用户标示和数字证书生成程序;
1.4]被认证机构的证书生成单元根据数字证书生成程序生成数字证书的密钥对;其中密钥对的私钥存放在被认证机构数字证书库中;
1.5]证书生成单元将用户标识和密钥对的公钥发送到短信认证中心的公共数字证书库;
2]手机数字证书下载:
2.1]被认证机构短信中心向手机发送具有预先约定下载地址标识的短信;
2.2]手机根据短信内容提供的下载地址从被认证机构数字证书库下载数字证书的公钥;
3]手机用户发送加密短信:
3.1]手机用户输入短信内容;
3.2]手机认证和加密客户端检查数字证书库是否有用户输入的接收方的号码;如果没有,则直接发送;如果有,则短信认证和加密客户端根据数字证书的公钥加密待发送的短信内容;
3.3]手机本体将加密后的短信内容发送到被认证机构的短信收发服务器;
4]被认证机构接收并解密短信:
4.1]被认证机构的短信收发服务器接收短信;
4.2]被认证机构的解密单元根据数字证书的私钥对手机用户发送的短信进行解密。
上述手机用户发送加密短信的步骤还包括发送前检查证书有效期的步骤:
在使用数字证书加密前,要检查当前日期时间是否超过该证书的有效期;如果没有超过证书的有效期,则发送加密短信;如果超过证书的有效期,且已经按照数字证书更新步骤下载了新的数字证书,则删除当前证书,并将已经下载的新数字证书更名为当前有效地数字证书;如果当前数字证书已经超过证书的有效期,且该手机未下载新的数字证书,则在加密前,从短信认证中心服务器下载新的数字证书,然后删除当前证书,并将已经下载的新数字证书更名为当前有效的数字证书。
本发明系统和方法具有以下优点:
1、本发明可对收到的短信内容进行认证,确保发送的内容未被篡改以及发送方的真伪。本发明通过短信认证中心的数字证书管理服务单元根据用户标识提供被认证机构唯一的数字证书生成程序,保证被认证中心的唯一性和保密性,从而保证了数字证书的安全性;本发明数字证书包括公钥和私钥,私钥不在系统内部传输,公钥在系统内部传输,保证了证书的安全性和认证过程的可靠,确保发送的内容未被篡改以及发送方的真伪。另外,本发明为数字证书设置了有效期,可有效防止数字证书的泄露。
2、本发明可使手机发送只有被认证机构才能解密的加密短信。本发明的手机利用公钥对短信内容进行加密,只有被认证机构的解密单元利用私钥才能解密,保证了手机用户上行传送短信内容的安全。
3、本发明可对手机短信进行认证,可对上行传送短信进行加密解密,保证了双向短信通信的安全,可应用在金融交易等领域。
4、本发明只需在普通手机中安装一个短信认证和加密程序作为短信认证和加密客户端,就可实现以短信号为基础实现多个不同接收方分别根据自己的密钥进行加密传送的方式,应用和使用十分方便。
5、本发明借鉴HTTPS协议的数字证书方式,用于手机短信发送内容和发送方的认证,以及手机上行发送加密内容,保密性好,对现有短信系统的改变较少,占用资源少,易于实现。
6、本发明可在普通短信中出现被认证机构的文字时提醒该短信非指定机构(即被认证机构)发送的短信,防止短信诈骗。
具体实施方式
本发明的一种基于数字证书的短信认证加密系统,包括短信认证中心、被认证机构短信中心以及手机。
短信认证中心包括数字证书管理服务单元以及公共数字证书库;数字证书管理服务单元用于管理数字证书生成程序和生成被认证机构的用户标示;公共数字证书库用于存放数字证书的公钥及用户标示。
被认证机构短信中心包括短信收发服务器、数字签名服务器、证书生成单元以及被认证机构数字证书库;短信收发服务器用于收发短信;数字签名服务器可对所发送的短信进行数字签名;证书生成单元用于下载数字证书生成程序并根据数字证书生成程序生成数字证书的公钥和私钥;被认证机构数字证书库用于存放数字证书的私钥。
手机包括手机本体、设置在手机本体内的短信认证和加密客户端以及手机数字证书库;手机数字证书库用于存放数字证书的公钥;短信认证和加密客户端可根据数字证书的公钥对手机本体所接收短信进行认证。
为了能对手机上行传送的短信内容进行保密,本发明系统中的手机短信认证和加密客户端可根据手机数字证书库中的公钥实现手机发送短信的加密,同时在被认证机构短信中心设置一个解密单元,该解密单元可根据数字证书的私钥对手机用户发送短信进行解密。
本发明基于数字证书的短信认证加密方法,包括以下步骤:
1]生成被认证机构的数字证书:
1.1]被认证机构短信中心向短息认证中心提交短信认证申请;
1.2]短信认证中心生成被认证机构的用户标示;
1.3]被认证机构的证书生成单元从短信认证中心下载用户标示和数字证书生成程序;
1.4]被认证机构的证书生成单元根据数字证书生成程序生成数字证书的密钥对;其中密钥对的私钥存放在被认证机构数字证书库中;
1.5]证书生成单元将用户标识和密钥对的公钥发送到短信认证中心的公共数字证书库;
2]手机数字证书下载:
2.1]被认证机构短信中心向手机发送具有预先约定下载地址标识的短信;
2.2]手机根据短信内容提供的下载地址从被认证机构数字证书库下载数字证书的公钥;
3]被认证机构发送认证短信:
3.1]被认证机构短信中心将手机号码和短信内容送至数字签名服务器;
3.2]数字签名服务器根据数字证书的私钥对手机号码和短信内容进行数字签名;
3.3]数字签名服务器将数字签名内容放到短信内容的后面构成数字签名字符串,发送至被认证机构短信中心;
3.4]被认证机构短信中心将数字签名字符串发送至短信收发服务器;
3.5]短信收发服务器将数字签名字符串发送至与手机号码相应的手机上;
4]短信认证:
4.1]手机接收短信并监测短信内容和发送号码;
4.2]短信认证和加密客户端从手机数字证书库中找出发送号码对应的数字证书,对收到的短信进行认证;
4.3]显示认证结果。
具体认证时,手机接收短信并监测短信内容和发送号的具体内容;如果发送号是需要进行认证的发送者,则检查该短信是否有数字签名字符串;如果有数字签名字符串,则根据该发送者号码对应的数字证书做签名认证,如果认证通过,则提示该短信可信;如果发送号不在列表中但发送内容包含需要认证方预设的名称,或者短信没有数字签名字符串,或者认证没有通过,则提示该短信不可信。
为了防止长时间使用同一个数字证书造成证书泄露,本发明方法可要求对数字证书进行定期更新。相应的,短信认证的步骤还可包括认证前检查证书有效期的步骤:
在使用数字证书认证前,检查当前日期时间是否超过该证书的有效期;如果没有超过证书的有效期,则进行短信认证步骤;如果超过证书的有效期,且已经下载了新的数字证书,则删除当前数字证书,并将已经下载的新的数字证书更名为当前有效的数字证书,然后进行短信认证步骤;如果当前数字证书已经超过证书的有效期,且未下载新的数字证书,则进行数字证书更新,然后进行短信认证步骤。
其中,数字证书更新的步骤包括:
被认证机构短信中心,在证书过期前一段时间,生成新的数字证书;
被认证机构短信中心将新生成的数字证书公钥发送到短信认证中心;
手机的认证和加密客户端下载新的数字证书,要求该新下载的数字证书的名称或后缀与当前仍然在使用的数字证书不同;然后删除当前数字证书,并将已经下载的新的数字证书更名为当前有效的数字证书。
为了方便手机认证和加密客户端对短信内容的鉴别,数字签名服务器根据数字证书的私钥对手机号码和短信进行数字签名时还可在短信内容前增加一个表示为加密内容的标识。
为了实现保密的同时提高短信收发效率,数字签名服务器根据数字证书的私钥对手机号码和短信进行数字签名是采用HTTP协议请求对发送号和短信内容进行数字签名。
短信认证中心所生成的用户标示可为一个随机数。
为方便管理,被认证机构数字证书库可采用移动闪存盘。
当手机用户需要主动上行传送短消息或者收到被认证机构的短信后需要回复时,可采用加密短信方式进行,具体步骤如下
1]手机用户发送加密短信:
1.1]手机用户输入短信内容;
1.2]手机认证和加密客户端检查数字证书库是否有用户输入的接收方的号码;如果没有,则直接发送;如果有,则短信认证和加密客户端根据数字证书的公钥加密待发送的短信内容;
1.3]手机本体将加密后的短信内容发送到被认证机构的短信收发服务器;
2]被认证机构接收并解密短信:
2.1]被认证机构的短信收发服务器接收短信;
2.2]被认证机构的解密单元根据数字证书的私钥对手机用户发送的短信进行解密。
同样,手机用户发送加密短信前还应检查证书有效期,具体如下:
在使用数字证书加密前,要检查当前日期时间是否超过该证书的有效期;如果没有超过证书的有效期,则发送加密短信;如果超过证书的有效期,且已经按照数字证书更新步骤下载了新的数字证书,则删除当前证书,并将已经下载的新数字证书更名为当前有效地数字证书;如果当前数字证书已经超过证书的有效期,且该手机未下载新的数字证书,则在加密前,从短信认证中心服务器下载新的数字证书,然后删除当前证书,并将已经下载的新数字证书更名为当前有效的数字证书。
本发明应用在利用短信在银行提取现金的交易过程如下:
银行签约手机用户输入提款账户及金额等短信内容,加密后上行传送至银行短信中心;短信中心将当次的提款密码信息签名后发送至用户手机,用户手机认证通过后,显示出提款密码,用户根据提款密码和提款账号在柜台或自助提款机前实现无存折无卡提取现金。