如何使用Phonegap/Cordova在android应用程序上加密cookie

如何使用Phonegap/Cordova在android应用程序上加密cookie,android,security,cordova,cookies,Android,Security,Cordova,Cookies,我创建了一个基于Phonegap/Cordova的Android应用程序,它使用cookies,例如用于会话身份验证/自动登录。在一次安全审查中,有人提出了这样的担忧:如果攻击者能够抓住手机,他可能会读出cookies并劫持用户的会话 有没有一种方法可以使用Android OS 4.0及更高版本以编程方式加密设备的存储或阻止访问Cookie?我更喜欢(但不是坚持)一个与Phonegap/Cordova轻松集成的解决方案。从安全角度看,这绝对不是问题,因为攻击者需要获得一个未锁定的设备,才能劫持正

我创建了一个基于Phonegap/Cordova的Android应用程序,它使用cookies,例如用于会话身份验证/自动登录。在一次安全审查中,有人提出了这样的担忧:如果攻击者能够抓住手机,他可能会读出cookies并劫持用户的会话


有没有一种方法可以使用Android OS 4.0及更高版本以编程方式加密设备的存储或阻止访问Cookie?我更喜欢(但不是坚持)一个与Phonegap/Cordova轻松集成的解决方案。

从安全角度看,这绝对不是问题,因为攻击者需要获得一个未锁定的设备,才能劫持正在进行的会话。因此,对会话cookie进行加密的想法是非常荒谬的——而且cookie将自动设置,而不可能连接到其中

即使可以对它们进行加密,当可以获得具有正在进行的会话的未锁定设备时,这也不会阻止任何事情。这个概念是有缺陷的,没有得到很好的考虑

这个问题最简单的解决方案是:如果不想让
WebView
将会话cookie保存到内部存储,只需不使用
WebView
获取它们,那么它显然不会保存它们


我首先想看看概念证明,用一个锁着的设备来绕圈子。当有一个根设备,启用调试桥和屏幕锁定被禁用,这将提供一个攻击向量,安全问题是除了<代码> WebVIEW/Cook>默认cookie存储设施之外的一个整体。

我也喜欢如何保护Cookie的答案。我尝试了http头缓存控制:no Cache=“Set Cookie”,但webview仍将会话id Cookie写入sqlite数据库。我在apache jira上打开了一个问题,描述了围绕此安全问题的情况tinytiger-您解决了此问题吗?如果现在,介意我修改一下票吗?我有大量的研究和指导试图解决这个问题……@Stevko,请便;)@Stevko您是否找到了上述问题的解决方案?如果设备已根植,并且在会话过程中有某种恶意代码将Cookie发送到另一个设备怎么办?@Patriot IP将不匹配。它需要使用来自同一IP的cookie(假设服务器端检查会话ID和IP地址是否匹配,这通常是一种良好的做法);服务器端会话通常是一个服务器端问题,而cookie只适用于一个IP地址,很快就会过期。添加另一层,类似于包签名指纹,并不少见(防止修改)。谢谢。我这样问是因为我的处境完全相同。政府对我们一个客户的审计也引起了同样的关注,并拒绝授权发布他们的移动应用程序(金融)。我到处都读到这不是问题,所以我们要么挑战它,要么找到一种加密cookies的方法,即使它并没有真正增加安全性。假设他们在同一个wifi上,他们将拥有相同的IP。这会是一个漏洞吗?“检查会话ID和IP地址是否匹配”实际上没有人这样做。@MartinFürholz Onely因为这可能是透明的,并不意味着没有人这样做。没有它,你将允许会话劫持。