论文部分内容阅读
[摘 要] 本文将RSA公钥签名体制引入到财务软件设计中,解决了密钥分发和管理中的难题,提高了财务管理系统的安全性,使得非法操作有处可查。
[关键词] RSA算法;数字签名;财务软件;加密狗
[中图分类号]F232[文献标识码]A[文章编号]1673-0194(2008)01-0019-02
一、引 言
与财物安全问题相比,存储在计算机中的财务数据安全问题更为重要,同时也更加难以保护防范。目前几乎所有财务管理软件都实现了密码控制、角色管理和用户权限控制,不同用户使用自己的密码登录系统后,可做的操作以及对数据的访问方式不同。用户除了可以对财务数据进行访问,还可以更改自己的密码。这样通过提高密码强度和采取保密措施(例如对密码进行加密以及物理保密不泄露密码)可以在一定程度上保证财务系统的安全。但是,通过高超的破译技术以及数据库系统或软件设计的漏洞非法获得用户密码是完全可能甚至是很容易的。在大多数财务用户的安全防范意识不够强的情况下,增加一道保护措施以进一步提高财务管理系统安全性就显得尤为重要。
二、RSA算法原理
RSA是一种典型的非对称密钥密码体制,即从加密密钥和解密密钥中的任何一个推导出另一个在计算上是不可行的。RSA的安全性建立在“大数分解和素性检测”这一已知的著名数论难题的基础上。公钥对可以完全公开,不需要进行保密,但必须提供完整性检测机制以保证其不被篡改;而私钥由用户自己保存。通信双方无需实现交换密钥就可以进行保密通信。
RSA密码体制算法如下:
(1)由用户选择两个互异并且距离较远的大素数p和q;
(2)计算n=pq以及f(n)=(p-1)(q-1), f(n)表示小于n的自然数中与n互质的数的个数。
(3)选择正整数e,使其与f(n)的最大公约数为1,即gcd(e, f(n))=1;然后计算正整数d,使得ed对f(n)的余数为1,即ed≡1 mod f(n),最后销毁p和q。
经过以上步骤,得出公钥对(n,e)和私钥对(n,d)。设M为明文,C为对应的密文,则加密变换为:C=Memod n;解密变换为:M= Cdmod n。
举一个简单的例子,假设用户选择p=3,q=7,则n=21, f(n)=12,选择e=5,计算出d=17,则公钥对为(21,5),私钥对为(21,17)。设要加密的明文为M=2,则使用C=Memod n加密得到密文为C=11,使用M=Cdmod n进行解密变换得到M=2。
由于公钥系统中生成签名的密钥只存储于用户的计算机中或由用户秘密保存,不存在密钥分发与管理的问题,减少了密钥泄露的可能性,也就减少了签名被篡改、伪造和否认的可能性,其安全系数更大。Microsoft、IBM、Sun、Macintosh等多个公司都分别与RSA数据安全公司签订了许可协议以在其生产线上加入类似的签名机制。
基于RSA密码体制的签名算法基本与RSA密码算法类似,只是把变换M=Cemod n修改为S=Memod n,其中S是签名;而变换M=Cdmod n则演变为验证过程Verk(M,S)为真等价于M≡Sdmod n。RSA签名过程如图1所示。
(3)在不使用软件时,把软件关闭,并取出加密狗,在需要使用软件时再插入加密狗,并且要保证加密狗的安全,防止别人非授权使用。
五、应用前景预测
财务数据是每个单位经营过程和结果的数据化体现,是该单位所有数据的核心部分,在办公自动化、信息化时代的今天,如何加强财务管理系统的安全,避免财务数据的损坏、丢失、外泄是十分重要的。传统的财务软件只考虑使用用户口令来保证系统的安全,但这样使得用户口令成为财务系统安全的瓶颈,一旦密码被破译,造成的损失将是不可估量和无法挽回的。财务软件如果配合使用加密狗,在增加少量成本的情况下,会大幅度提高整个财务管理系统的安全性,有效地弥补财务数据安全的漏洞,为财务数据安全建立起新的防线。可以预见,采用加密狗技术的财务软件系统将更安全、更可靠且更加实用,加密狗技术的应用前景广阔。
主要参考文献
[1] 赖溪松,韩亮,张真诚. 计算机密码学及其应用[M]. 北京:国防工业出版社,2001.
[2] 吴世忠,祝世雄,张文政. 应用密码学——协议、算法与C源程序[M]. 北京:机械工业出版社,2004.
[3] 李辉. 计算机安全学[M]. 北京:机械工业出版社,2005.
[4] 刘光. C Builder程序设计导学[M]. 北京:清华大学出版社,2002.
[关键词] RSA算法;数字签名;财务软件;加密狗
[中图分类号]F232[文献标识码]A[文章编号]1673-0194(2008)01-0019-02
一、引 言
与财物安全问题相比,存储在计算机中的财务数据安全问题更为重要,同时也更加难以保护防范。目前几乎所有财务管理软件都实现了密码控制、角色管理和用户权限控制,不同用户使用自己的密码登录系统后,可做的操作以及对数据的访问方式不同。用户除了可以对财务数据进行访问,还可以更改自己的密码。这样通过提高密码强度和采取保密措施(例如对密码进行加密以及物理保密不泄露密码)可以在一定程度上保证财务系统的安全。但是,通过高超的破译技术以及数据库系统或软件设计的漏洞非法获得用户密码是完全可能甚至是很容易的。在大多数财务用户的安全防范意识不够强的情况下,增加一道保护措施以进一步提高财务管理系统安全性就显得尤为重要。
二、RSA算法原理
RSA是一种典型的非对称密钥密码体制,即从加密密钥和解密密钥中的任何一个推导出另一个在计算上是不可行的。RSA的安全性建立在“大数分解和素性检测”这一已知的著名数论难题的基础上。公钥对可以完全公开,不需要进行保密,但必须提供完整性检测机制以保证其不被篡改;而私钥由用户自己保存。通信双方无需实现交换密钥就可以进行保密通信。
RSA密码体制算法如下:
(1)由用户选择两个互异并且距离较远的大素数p和q;
(2)计算n=pq以及f(n)=(p-1)(q-1), f(n)表示小于n的自然数中与n互质的数的个数。
(3)选择正整数e,使其与f(n)的最大公约数为1,即gcd(e, f(n))=1;然后计算正整数d,使得ed对f(n)的余数为1,即ed≡1 mod f(n),最后销毁p和q。
经过以上步骤,得出公钥对(n,e)和私钥对(n,d)。设M为明文,C为对应的密文,则加密变换为:C=Memod n;解密变换为:M= Cdmod n。
举一个简单的例子,假设用户选择p=3,q=7,则n=21, f(n)=12,选择e=5,计算出d=17,则公钥对为(21,5),私钥对为(21,17)。设要加密的明文为M=2,则使用C=Memod n加密得到密文为C=11,使用M=Cdmod n进行解密变换得到M=2。
由于公钥系统中生成签名的密钥只存储于用户的计算机中或由用户秘密保存,不存在密钥分发与管理的问题,减少了密钥泄露的可能性,也就减少了签名被篡改、伪造和否认的可能性,其安全系数更大。Microsoft、IBM、Sun、Macintosh等多个公司都分别与RSA数据安全公司签订了许可协议以在其生产线上加入类似的签名机制。
基于RSA密码体制的签名算法基本与RSA密码算法类似,只是把变换M=Cemod n修改为S=Memod n,其中S是签名;而变换M=Cdmod n则演变为验证过程Verk(M,S)为真等价于M≡Sdmod n。RSA签名过程如图1所示。
(3)在不使用软件时,把软件关闭,并取出加密狗,在需要使用软件时再插入加密狗,并且要保证加密狗的安全,防止别人非授权使用。
五、应用前景预测
财务数据是每个单位经营过程和结果的数据化体现,是该单位所有数据的核心部分,在办公自动化、信息化时代的今天,如何加强财务管理系统的安全,避免财务数据的损坏、丢失、外泄是十分重要的。传统的财务软件只考虑使用用户口令来保证系统的安全,但这样使得用户口令成为财务系统安全的瓶颈,一旦密码被破译,造成的损失将是不可估量和无法挽回的。财务软件如果配合使用加密狗,在增加少量成本的情况下,会大幅度提高整个财务管理系统的安全性,有效地弥补财务数据安全的漏洞,为财务数据安全建立起新的防线。可以预见,采用加密狗技术的财务软件系统将更安全、更可靠且更加实用,加密狗技术的应用前景广阔。
主要参考文献
[1] 赖溪松,韩亮,张真诚. 计算机密码学及其应用[M]. 北京:国防工业出版社,2001.
[2] 吴世忠,祝世雄,张文政. 应用密码学——协议、算法与C源程序[M]. 北京:机械工业出版社,2004.
[3] 李辉. 计算机安全学[M]. 北京:机械工业出版社,2005.
[4] 刘光. C Builder程序设计导学[M]. 北京:清华大学出版社,2002.