个人信息安全素养评测
有效的信息安全意识教育方法能够帮助终端用户学习信息安全知识,提高信息安全意识,来应对各类信息安全问题。目前已有的信息安全意识教育方法在实施过程中,面临如何了解学习者的学习需求以及评估教育效果等问题。本文为此设计实现了Android系统上的个人信息安全素养评测手机软件。该软件将信息安全相关问题以问答的形式呈现给用户,检测并记录用户的知识水平和基本技能水平,并能够根据用户的评估结果,确认用户信息安全素养水平的高低,并向用户推荐适合自身安全知识掌握程度的学习内容。该软件采用移动客户端和服务器端架构,借助移动平台的优势,方便用户进行自测和学习。该软件能够为信息安全意识教育的途径普及和手段创新提供借鉴。
1 引言
在应对信息安全威胁的防护体系中,人的安全意识和安全知识对于维护信息安全至关重要,提高个人的信息安全意识是信息安全防护体系中不可或缺的一个环节。人是信息活动的主体,相对于渗透防护系统,欺骗用户更容易实现,攻击者通常优先选择这条路径发起攻击。随着社交网络以及移动互联网的发展,组织员工从事的在线活动越来越多,如逛社交网站、博客,利用即时聊天工具通信等,面临的网络危险越来越多,但他们中大部分人缺乏信息安全意识,不能感知身边的威胁。
因此,如何提高人们的信息安全意识教育已经成为大家重视的课题。卡巴斯基实验室的信息安全专家就提醒用户:信息安全不能完全依赖外部机制,用户还需从自身出发,提升自我保护意识。来自全球1000名大公司信息安全高管提出,有必要加强用户意识培训来防范针对社会工程学为主要攻击手段的网络威胁,如网络钓鱼、APT攻击等。专家们也注意到,那些不理解或不遵循指令的用户经过培训后愿意遵循安全指令,从而提高组织的整个安全态势。
有效的信息安全意识教育方法能够帮助终端用户学习信息安全知识,提高信息安全意识,来应对各类信息安全问题。目前已有一些信息安全意识教育方法,主要包括六类:1)以纸质材料和电子资料为媒介来教育并影响用户的传统信息安全教育方法;2)主要通过专家面向大众的方式来影响个人的导师为主的安全教育方法;3)将传统培训资料以Web页面的方式呈现给用户的基于Web页面的安全教育方法;4)基于视频的安全教育方法;5)基于游戏的安全教育方法;6)基于攻击情境模拟的安全教育方法。
在这些信息安全意识教育方法的实施过程中,面临一个很重要的问题,如何了解学习者的需求?如何评估教育的效果?
为此,本文设计并实现了Android平台上的个人信息安全素养评测手机软件。该软件借助手机这个广泛拥有、携带方便的通讯工具,为用户提供方便、快捷地信息安全素养自测和学习。一方面,各种组织可以通过该软件了解学习者目前知识的掌握程度,以便组织教学内容;另一方面也可以在信息安全意识教育后了解学习者的学习情况,以评估教育效果。该软件还能够根据用户的评估结果,确认用户信息安全意识水平的高低,并向用户推荐适合用户自身安全知识程度的学习材料。
2 软件设计
本软件为用户提供的是移动客户端的服务形式,可以使用户在任何时间、地点都能方便地进行信息安全素养的自我测评,并学习推送的安全知识,以不断提高自我的信息安全意识。用户既可以凭借游客身份快速进行安全素养测试,也可以通过登录/注册安全途径进行测试,软件要求注册用户设置口令,保护用户测试结果,以此保证用户的隐私。一方面用户可以自由选择测试的主题,测试题的难度,另一方面软件服务端可以参考注册用户历史测评结果,推荐适合用户信息安全意识水平的题目,为其提供人性化、智能化的信息安全知识推送服务。
2.1 架构设计
本软件采用手机客户端和服务器端架构。软件结构如图1所示。
(1)服务端
本软件服务器端主要的功能:在移动客户端接入网络时,接收客户端用户的注册请求,审核验证用户的登录身份是否正确,管理用户个人账户信息;完成用户身份认证后,接收客户端知识库、测试题目更新请求,判断服务器试题库版本信息是否优于客户端,若前者优于后者,则推送最新知识库、测试题目给客户端,完成安全测试试题和知识更新工作;记录用户历史测评记录信息,包括测评得分、试题知识类型、试题难度,并参考用户的历史评估成绩,分析错题涉及的主要知识类型,推荐适应用户安全水平的信息安全知识测试题,并推送错题所属知识类型的安全建议。主要工作流程如图2所示。
(2)移动客户端
移动客户端主要功能包括:用户登录,接受软件推荐的信息安全测试题,或者自主设定自己感兴趣的测试题;答题完毕后提交试题,查看本次户答题后的得分,并获取相应的安全素养评价;查看所回答题目的正确答案,弥补自己的安全意识漏洞,详细学习相关安全知识,以提高用户自身的安全意识。主要工作流程如图3所示。
2.2 功能设计
本软件采用模块化组织形式,通过模块分区,进行各种功能的管理与应用。该软件的核心结构主要包括登录/注册模块、测评答题模块、素养评测模块、正解回放模块、知识推送模块、系统管理模块,以上各功能模块相互配合,发挥各自作用,构成整个信息安全素养评测的应用程序,主要模块功能设计涉及几方面。
1)登录/注册。软件对用户注册的口令要求至少由数字、小写字母、大写字母、特殊字符中的任意两项组成,同时规定口令必须由6~12个字符组成。软件对所有的口令使用Hash函数进行消息摘要后存储在数据库中。此外,本软件通过访问控制等手段确保注册用户的测试结果不会被非授权的第三方获取。以上这些功能将确保系统的安全性和保护用户的隐私。
2)测评答题。软件会提供包括身份(密码)安全、数据安全、设备和环境安全、主机安全、网络安全、无线安全、应用软件安全、社交安全这九大知识类型,难度涉及高、中、低三种等级的题目给用户,以适应不同领域、不同知识程度、不同安全需求的用户进行自我评测和学习。
3)素养评测。软件为用户提供当次答题后的得分,并给出相应的评价。另外,通过雷达图显示用户各种知识类型掌握程度强弱的分布,方便用户更直观的了解自身哪一部分的安全知识有待提高,使得用户可以有针对性地弥补自己安全意识的缺陷。
4)正解回放。用户可以在每次答题结束之后用该功能查看当次评测中每道题的正确答案,了解自己哪里出错,并获取有关题目知识点的详细点评。这样由点及面,层层推进,强化用户的自我学习,提高用户的安全意识。
5)知识推送。用户登录后,软件服务器参考用户的历史评估分数,分析错题涉及的主要知识类型,推荐适应用户安全水平的信息安全知识测试题,并推送错题所属知识类型相关安全建议,以个性化和智能化的服务帮助用户提高信息安全知识。此外,软件可以在用户接入网络时,通过比较本次评分与预先设置的报警值的大小给出用户警示,评分偏小时,软件将会推送安全提醒信息,提示用户保护网络环境下个人隐私。
6)系统管理。用户可以每隔一段时间更改自己的账户口令,切实维护口令安全。此外,用户可以在连接网络的情况下,申请试题更新,客户端下载最新的信息安全意识测试题库,获得最新安全知识。
3 软件实现
3.1 开发环境及工具
1)JDK。JDK(Java SE Development Kit),也就是Java标准开发包,是Sun公司提供的基础Java语言开发工具,该工具系统包含Java语言的编译工具、运行工具以及执行程序的环境(即JRE)。系统选用JDK1.6作为Java的开发工具。
2)Eclipse IDE,一个多用途的开发工具平台。系统选用Eclipse 3.7(代号Indigo)版作为本次开发平台。
3)Android开发工具。ADT,基于Eclipse的Android开发工具扩充套件(Android Development Tools plugin),Eclipse的ADT插件通过把包括模拟器、.class-to-.dex转换器等开发工具直接集成到IDE中来简化Android开发;Android SDK,即Android程序开发包(Software Development Kit),Android程序开发套件。
4)SQLite。它是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用可它。SQLite占用资源非常的低,它能够支持主流操作系统,并可以很好地和很多程序语言结合。
5)Tomcat,是Apache旗下的一款免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。
3.2 软件界面实现
Android为开发人员提供了基于XML(Extensible Markup Language)文件的用户界面(UI)开发模块,通过采用XML文件来进行界面布局,将布局界面的代码和逻辑控制的Java代码分离开来,使应用程序的结构更加清晰,为软件提供了一种非常简单、方便的方法来控制UI界面[5]。本软件参考界面设计的“黄金规则”[6],组合使用View(视图)、Textview(文本框)、EditText(编辑框)、Button(按钮)、Menu(菜单)、Layout(布局)等Android系统自带的界面设置控件,设计出软件各个界面,整体软件界面格调基于偏蓝色,呈现安全主题的厚重感,尽可能确保了软件设计的一致性。设计的主界面包含“开始评估”、“评估结果”、“安全Tips”、“关于我们”、“登录”、“注册”的形象化按钮,如图4所示,让不同层次用户直观了解软件提供的功能,实现了普遍而可用的特性;设计了友好的会话交互框,如软件退出时的提示信息,如图5所示;设计了丰富的软件反馈信息,如注册时,使用正则表达式判断密码长度、密码类型是否符合设计准则要求,通过Toast控件给用户带来软件操作温馨提示,易于用户接受。
另外,使用RadioButton、CheckBox控件以及LinearLayout线性布局,设计出单选题、多选题、判断题的Activity界面,如图6所示的多选题。
3.3 软件关键技术实现
3.3.1数据库设计
软件采用SQLite数据库存储数据,创建数据库InformationSecurity。首先创建题目表Question,这是整个题库设计的关键点。在Question表里,系统创建题目难度等级的字段rank,主要包括低、中、高,来区分不同难度的试题;创建题目主题字段category,主要包含身份(密码)安全、数据安全、设备和环境安全、主机安全、网络安全、无线安全、应用系统安全、社交安全,通过表中一个字段囊括当前主要的安全子领域,为用户提供更加丰富的安全知识;创建能力级别字段abilityrank,主要包括安全常识、安全原理、安全技术;创建安全场景字段context,包括公用场景、工作场景、家庭场景以及三者之间的相互组合。
3.3.2 试题生成
试题集中判断题、单选题、多选题分别有对应的三种Activity界面。软件会根据用户选择的试题难度和主题类别,从试题数据库里按照关键字:题目主题字段category、题目难度等级字段rank,抽取出试题集生成临时试题库。然后,使用Java中Set集合,其特点是不允许包含相同的元素,存储10道题的题号。具体过程就是重复10次,每次随机取临时试题库中题目的题号,放入Set集合中,直到Set集个数为10时,即Set集中已生成各不相同的10道试题号,终止试题生成过程,最终按照生成的试题号,抽取出此次的测试题,按照试题的题目类型(判断题、多选题、单选题),分别跳转到对应的activity界面,形成每一次的测试题集。
3.3.3 评估及结果可视化
用户完成试题并提交后,软件通过记录用户当前各题的选项结果,判断是否匹配对应试题库中题目的正确选项,按照每道题的设定的分数,计算当次得分。
3.3.4感知和知识推荐
软件通过一个全局字符串数组,来记录用户当前试题集的各题选项,全面感知用户的答题情况,再与各题的正确选项进行匹配,便于软件对试题评分;通过用户评测得分表userscore,记录注册用户的历史测评成绩,方便与当前的测试结果纵向比较,帮助用户更好地了解自己的安全意识。
4 软件运行情况及特色总结
4.1 软件运行情况
用户首先下载本软件的安装包,安装软件后,用户点击应用图标,进入软件的首页面。用户输入自己的账户、口令,进入答题系统,开始评估,如图8所示,用户可选择“低”、“中”、“高”三种难度类型,也可以选择自己感兴趣的测试主题。软件会根据用户的选择,生成对应的试题集,生成的答题题型包括判断题、单选题、多选题。答题结束后,提交答卷,点击“测评结果”,如图7所示,获取本次的评测结果;点击“安全Tips”,将会向用户提供这次答题的答案和参考建议,用户点击每题列表,如图9所示,就可以查看此题的详细解答,系统会提供详细的安全知识参考,以便用户进行安全知识学习。
4.2 软件特色
1)评估和教育相结合。用户通过答题,获取相应的评估结果,软件会给出用户的安全素养评估结果,并且会提供用户所做题目的正确答案以及详细的安全知识介绍,方便用户在安全评估的同时,学习对应的安全知识。
2)感知和知识推荐。软件一方面可以记录用户评估试题的各个选项,以及相应的试题难度和主题类别信息;另一方面可以记录用户的测评得分,提供历史测评结果回放,方便纵向比较用户信息安全意识水平。此外,软件根据用户的评估结果,确认用户信息安全意识水平的高低,并向用户推荐适合自身安全知识掌握程度的题目。
3)客观评估与结果可视化。软件感知用户答题选项,判断是否匹配对应题目的正确选项,参照题目的分数设定,客观计算用户评估成绩,并将评估成绩通过雷达图直观显示出来,全方位分析用户的信息安全素养水平。
4)提供碎片化学习途径。用户通过移动客户端,可以在任意时间、任意地点、任意场景下,进行信息安全知识的学习,充分体现了泛在学习的特点。用户使用该系统短短几分钟就可以完成一次测试和学习,不断的碎片化测试和学
5 结束语
提高个人的信息安全意识是信息安全防护体系中不可或缺的一个环节,这已经成为人们的共识。目前已有一些信息安全意识教育方法能够帮助终端用户学习信息安全知识,提高信息安全意识,来应对各类网络安全问题。本文设计实现的基于Android系统上的个人信息安全素养评测手机软件,能够解决这些方法在实施中面临的如何了解学习者的需求以及评估教育效果等问题。
作者:陈波 朱汉 刘亚尚 来源:信息安全与技术 2014年10期
上一篇:面向信息安全专业的软件工程实践
下一篇:信息安全技术双语教学