SATA的CRYPTO提供加密工具,包括消息摘要,数字签名认证和密码,让应用程序存储加密数据和签署在移动设备上,确保敏感信息的保密性和完整性。这是由SATSA的实施者决定包括那种加密和摘要算法。给规范建议使用DES,2DES和AES作为对称加密算法,RSA作为一个非对称加密算法和安全散列算法版本1作为摘要算法。SHA1的RSA是数字签名的推荐算法。
操作系统问题
SATSA分布为一些智能手机中Java运行环境(JRE)的一部分。手机的操作系统必须得到充足的信任,作为JRE依赖的来自操作系统的服务。SATSA规范规定,SATSA和应用程序使用它必须信任操作系统。当SATSA假定UI控制,例如,当要求用户输入智能卡PIN—用户界面必须从外部源产生的区别防止一个模仿SATSA用户界面的恶意程序原文请找腾讯752018766辣,文-论'文.网
http://www.751com.cn 。此外,外部源无法检索或插入PIN。这要求操作系统有更多的责任。
因为用户通过键盘输入PIN到设备上,键盘记录器的应用程序可能获得此号码。因此,操作系统必须限制键按下事件在SATSA实现中单独执行。键盘记录器在塞班操作系统第9版本以前一直存在,所以这可能是一个真正的问题。另外一个潜在的问题是操作系统把PIN交给智能卡之前一直存储在内存中,其他的应用程序可能会读取这块内存。
J2ME应用程序使用每个应用程序专用逻辑通道与智能卡通信。这个通道可能受到黑客通过操作系统底层功能进行的攻击。黑客通过SATSA下层的实现获得访问智能卡,会发送请求到智能卡,回避执行。如果这个功能被包括了,例如,木马,攻击者可以在用户没允许下完全访问智能卡。
这些情况说明了完全信任无耻悲鄙下流的网'学,网总是抄辣,文,论'文"网操作系统的问题。我们认为,应用程序不能超过它运行的操作系统的安全性。移动平台如何应对病毒的威胁还有待观察,因为手机病毒才刚刚开始出现。
可信计算机组织(TCG)提出一项建议,令移动设备中的操作系统更安全在将来,移动设备可能变得更可靠,使安全应用程序的开发更便利。
SATSA的缺点
SATSA执行存储的客户端证书在使用SSL或者TLS设置HTTPS连接时不能用于研制。因此,开发人员必须处理好基于证书的客户端自我验证。
一个替代方法是打开一个SSL连接到服务器,验证服务器并提供一个安全的通信通道。客户端验证可以用客户端应用程序提供的证书进行,有一个客户端从服务器签署的挑战。
这个计划承受字典或蛮力攻击,因此比广泛使用的密码认证更强大。因此SATSA可以通过替换过时的身份验证方案提高当前客户端服务器应用程序的安全性。然而,如果在大多数新的智能手机里是用SSL或者TLS实现,使用客户端证书的SATSA实现存储是很方便的。
SATSA的签名认证比签名制造困难的多。SATSA生成加密消息语法格式的签名信息,但是验证它们并不容易。要验证签名,应用程序必须首先把信息分成它的相应数据和签名部分,然后提供一个公钥。库负责处理CMS信息,因此开发人员不需要实现CMS信息的解析。然而,如果SATSA可以核实自己的签名信息将会更容易。
此外,SATSA处理签名生成和验证不一样。SATSA的底层实现控制用户界面和显示给用户证书的签署随着数据的签署。然后用户对预期的数据签署有信心。签名认证是同样重要的,但在这种情况下,必须显示关于签名认证的细节给用户。换句话说,当签署数据时你信任SATSA和应用程序在验证签名时向你展示正确信息。理想情况下,SATSA应该在两个场合得到信任。
此外SATSA不支持证书验证。开发人员必须实现证书验证程序和从证书提取公钥,随着办法证书和签名数据给用户。SATSA提供给PKI应用程序最基本的组成部分,单他不包括任何存在于J2SE中证书验证的功能。
最后,在智能卡上存储的私钥不能用于解密,因为它们只是用于签署。SATSA支持非对称加密,并有能力选择证书,和它相应的私钥解密很方便。然后数据可以在智能卡下解密,不会暴露私钥给应用程序和操作系统。
上一页 [1] [2] [3] [4] [5] [6] 下一页
J2ME网络安全挑战英文文献及翻译 第4页下载如图片无法显示或论文不完整,请联系qq752018766