一种基于混合模式移动应用的数据本地存储控制方法及装置的制造方法_4

文档序号:9352902阅读:来源:国知局
ocalStorage文件删除(步骤507)。当某一个 LocalStorage文件的删除度V小于等于删除度阀值时,则无需删除,进入步骤506判断是否 存在下一个LocalStorage文件,如果是,贝丨】返回步骤501,进入下一个LocalStorage文件的 上述处理过程,如果否,则表示所有LocalStorage文件均经过上述处理过程,则结束。
[0108] 本【具体实施方式】中,创新性的引入文件的删除度公式,利用该公式来判断文件是 否删除。需说明的是,上述确定权重系数以及定义的删除度公式也只是一种示例,其余稍作 变化的形式也是可行的,例如,在确定权重系数时,上述方式是将四个加和项都分配为" 1" 来确定权重系数的,也可以根据各项在系统的重要程度分配不同的值,例如将,其余 3个权重系数不变,即是将第一加和项分配为"2",其余三个加和项仍然分配为" 1",此种情 形下删除度判断时更加关注本地存储文件未使用天数这一项。再例如,在计算删除度时,上 述公式22也可稍作变化,例如将T、F、ff中的一者或者多者调整为平方,然后再加和。 总的来说,上述确定过程和公式只是一种示例,不构成限制。
[0109] 步骤104 :信息加密步骤:
[0110] HybridApp中LocalStorage存储信息都是以明文的方式存储在本地,这大大增 加了信息存储的风险。如果对LocalStorage中所有的信息都进行加密则可能会较大地影 响到存储性能,而如果都不加密则安全风险太大。本【具体实施方式】中,设计对重要的信息 进行加密,既不会明显影响性能,又可以大大提高存储信息的安全性。对LocalStorage文 件中的重要信息进行加密,需要对重要的信息进行精准判断,使该操作既不会影响系统对 LocalStorage数据存取速度,又可以很好的保护用户的重要信息。如对用户的ID、密码、认 证token进行加密,对商品名称、网站信息就不需要加密。本【具体实施方式】的信息加密步骤 的流程图如图6所示:
[0111] 1.判断重要信息
[0112] 判断信息是否重要是一个二分类问题,这里选用分类器进行判断。
[0113] (1)获取记录存储名称
[0114] LocalStorage的存储方式是以键值对的形式存储数据jnLocalStorage. setltem(key,value),获取key的值。
[0115] (2)获取存储数据的长度
[0116] LocalStorage存储的信息是字符串(value),获取value字符串的长度。
[0117] (3)判断提交的信息是来自页面中哪个组件
[0118] 页面比较常见的、有可能提交存储的组件有li、input、frame、dl、img、label。在 Javascript代码中要获取值,往往先要获取组件对象,用getElementByld组件对象,而其 参数便是组件的ID,在页面中寻找该ID的组件,该组件便是信息的来源组件。
[0119] (4)特征项的选取
[0120] Local Storage的存储方式是以键值对的形式存储数据jnLocalStorage. setltem(key, value),一般key的名字可以透露出一定的信息。故key可以作为一个特征 项。同时value的值来之于页面中哪一个组件,不同的组件重要性不一样,如从〈input〉中 获取的value值通常比较重要。一般重要的信息长度都不会太长,所以value值的长度也 可以作为一个特征项。
[0121]为了表述的方便,本【具体实施方式】中只选择value的来源(origin),key,value的 长度(length)为特征项生成特征向量。
[0122] (5)特征向量的构造
[0123]特征向量构造为(Tval,Tkey,Tlsn),Tval是一个 6 维的向量(<li,input,dl,frame, img,label〉),如果向量中某维对应的值为1,则表示value来自该组件,否则表示不是来自 于它;Tkey是一个 12 维的向量(〈user,pass,id,pw,token,age,info,name,address,home, private,authority>),如果向量中某维对应的值为1,则表key中包含该词;Tlsn表示value 的长度。
[0124] 具体地,对于value的来源,重要的value的来源一般来自li,input,dl,frame, ;[11^,13匕616个组件,构造向量(〈1;[,;[即111:,(11,;1^^1]16,;[11^,13匕61>),对应位置的值为1,则 表达存储信息来自于该组件,如:〈0,1,0,0,0,0>,则该向量表示存储信息的来源于input 组件。
[0125] 对于key,key的名称一般是有意义的字符串,如username,password等,这里我 们选取重要信息中经学出现的12个字符串,构造一个12维的向量(〈user,pass,id,pw, token,age,info,name,address,home,private,authority》,如果key包含向量字符串 (不区分大小写),则对应列的值为1,如username既包含user,又包含name,故username 的向量为:〈1,〇,〇,〇,〇,〇,〇, 1,〇,〇,〇, 〇>。
[0126] 对于value的长度(length)特征,只需要用value.lengthO来判断就可以得到。
[0127] 将存储信息的键值对(key, value)的每个特征的特征值组合成该词的一个特征 向量U〈origin,key,length〉,结合该(key, value)是否为重要信息(标记是否为1),作为 分类器的输入,经训练判断哪些信息是重要的。
[0128] (6)分类器算法的选取
[0129]分类器可以选择AR0W算法,SOP (Second Of Perceptron)算法,PA (Passive Aggressive Perception)算法,CW(Confidence-Weighted)算法。本【具体实施方式】中选用 AR0W算法的,AR0W算法分类的准确度较高,能将分类结果作为新的训练数据,可以实现在 线的增量学习。相对于S0P算法,PA算法,CW算法,AR0W算法抗干扰性较好,在噪声较多的 情况下,其效果优越性更强。其算法的具体内容如下所述:
[0130]
[0131] 上述算法仅为一种示例,其余可用作分类器的算法均可应用于此。
[0132] (7)判断信息是否重要
[0133] 把(6)中构造的特征向量作为基于AR0W算法分类器的输入,分类器会判断请求存 储的信息是否重要。
[0134] 具体地,对于将要存储的(key,value),按照与训练样本同样的方法提取特征,求 特征值生成该词对应的特征向量U〈origin,key,length〉。将特征向量U〈origin,key, length〉作为训练好的AR0W分类器的输入,AR0W分类器则会输出一个值,该输出值为0或 者1。如果输出为〇,说明输入的特征向量对应(key,value)不是重要信息;如果输出值为 1,说明输入的特征向量对应(key,value)是重要信息。
[0135] 2.加密重要信息
[0136] 判断出信息的重要程度后,采用加解密技术来保护重要信息。
[0137] (1)加密算法的选取
[0138] 本【具体实施方式】中选用AES(AdvancedEncryptionStandard)加密算法。AES是 一个迭代的、对称密钥分组的密码,它可以使用128、192、256位密钥。AES算法效率高于 DES(DataEncryptionAlgorithm)算法,并且AES算法更为简洁、更容易实现。AES作为新 一代的数据加密标准,其安全性也远远高于DES算法。在读取信息时利用对应的解密算法 对加密信息进行解密。此处选用AES算法仅为一种示例,DES算法以及其余加密算法均可 以应用于此。
[0139] (2)对重要信息进行加密
[0140] 在信息存储前,用AES加密算法对信息进行加密,再存入LocalStorage文件。
[0141] 步骤105 :跨目录攻击防护步骤:
[0142] LocalStorage跨目录攻击是指,localStroage存储不像Cookie存储一样可以指 定域中的路径,在localStroage存储方式中没有域路径的概念,通过同一个HybridApp访 问同一个域中的页面,该域中的本地存储都会存放在同一个LocalStorage文件中。即用同 一个HybridApp的账号A用户和账号B用户对于WWW.BAIDU.COM域下的信息会放在同一 个LocalStorage文件中,因此账号A用户就有可能获取到账号B用户的信息。为了保护每 一个账号用户的私有信息,使用户在登录状态下存储LocalStorage信息作为用户的私密 信息。这样便可以防止LocalStorage存储中存在的跨目录攻击。该防护步骤的流程图如 图7所示:
[0143] (1)判断用户是否登录
[0144] 判断Webview中的页面是否登录可以使用WebView类中 onReceive
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1