教 案
课题名称 |
登录中的信息安全 |
授课教师 |
胡军 |
所属课程 |
Web应用程序开发(ASP.NET) |
授课班级 |
20计信(1)(大专) |
授课时间 |
2024.4.12第2节 |
授课时数 |
1 |
学情分析 |
学生掌握了注册登录基本实现流程,对加密有一定了解,对于项目中登录密码这种关键信息的保护还没有很好的意识,以职业化的精神和实践来完成项目注册登录功能比较欠缺,本课以登录中的信息安全为主题,提升学生Web应用开发项目中的职业化程度。 |
||
教学目标 |
1.掌握常规加密解密和哈希加密概念,掌握项目中用户密码保护的基本思路和实践方法 2.在逐步提升登录密码的的安全的任务中,提升解决问题的能力 3.提升学生的网络安全意识与职业化精神 |
||
教学重点 |
登录中的用户登录密码安全保护 |
||
教学难点 |
对登录密码安全保护后,处理改造注册和登录实现过程 |
||
教学方法 |
渐进性问题探究教学;项目任务教学 |
||
特色创新 |
引导学生渐进式探究如何解决登录中的密码保护问题,根据探究完成三个项目实践任务,提升学生在应用开发中的职业化精神和实践能力。 |
||
课后反思 |
|
||
课堂教学过程
教学环节 |
教学内容 |
师生活动 |
设计意图 |
导入 |
复习之前课程所做的“可可网上商城”项目迭代一已完成的首页、注册和登录功能,在进行下一步购物开发功能前,查看考虑后台数据库中登陆用到的用户表数据存在的问题。 课前调查:作为一个用户,如果你看到这样的后台数据,现在你需要注册登录网上商城购买一本书,你的选择: A.正常注册登录,使用常用密码 B.使用一个类似123456简单密码注册 C.使用一个特定的专用于该网站密码 D.放弃注册登录购买 分析讨论,在项目的快速迭代开发中,也要考虑到信息安全问题。导入本节课主题,登录中的信息安全,保护用户的密码安全。 |
投票与讨论分析 |
引导学生在快速迭代开发中考虑基础安全问题,并从用户的角度,切身体会一个应用中保护用户密码安全的重要性。 |
项目 任务 分解 分析 |
登录中的信息安全,用户密码保护的重要性:没有网络安全就没有国家安全。 类似心理学“墨菲定律”,分析密码安全问题的四条定律,设计对应的三个任务。 第一定律:该出问题的一般都会出现问题 任务一:密码初步加密保护 第二定律:越担心出问题的地方总会出问题 第三定律:解决问题的根源才能避免出现问题 任务二:MD5处理密码,根源上避免泄露 第四定律:问题往往没有你想得那么简单 任务三:MD5加盐值加强密码保护
|
讲授与听讲 |
加强学生网络安全意识 培养学生逐步探究,不断深入 解决问题的精神与能力 |
任务一 密码加密保护 讲解实践 |
用户登录信息安全问题第一定律: 该出问题的一般都会出现问题 例证:密码泄露案例讲解,CSDN和Facebook明文密码泄露事件。
密码学加密解密基础: 明文:没有进行加密,能够直接代表原文含义的信息。 密文:经过加密处理处理之后,隐藏原文含义的信息。 加密:将明文转换成密文的实施过程。 解密:将密文转换成明文的实施过程。 加密密钥:通过加密算法进行加密操作时用的秘钥。 解密密钥:通过解密算法进行解密操作时用的秘钥。 加密算法:将明文转为密文的转换算法。 解密算法:将密文转为明文的转换算法
任务一密码加密实践 使用加密算法保护用户密码,修改注册与登录流程中的相关代码。
任务一学生实践。 学生演示注册和登录流程的实现代码。 讨论演示中的问题:加密方式处理登录密码后,怎样找回密码? 由密码的可找回,总结加密密码存在的缺陷,导入任务二要处理的问题。
用户登录信息安全问题第二定律: 越担心出问题的地方总会出问题 加密保护密码的方式并不安全,加密算法与密钥会泄露,并没有启动保护密码的作用。产生了一个更让人担心的问题:加密算法与密钥的保护不被泄露。
|
讲解
学生实践 巡回答疑
分析总结 |
引导学生 独立实践去解决问题
任务一加密虽不能解决问题,但是可以引导学生由浅入深去探究 |
任务二 MD5处理密码 讲解实践 |
用户登录信息安全问题第三定律: 解决问题的根源才能避免出现问题
真正保护用户的密码,除了用户,谁也不知用户的密码,也是目前主流的处理密码的方式,比如很多应用有找回密码功能,能实际找回原来的密码吗
MD5哈希与加密对比:
哈希(Hash)是将目标文本转换成具有相同长度的、不可逆的杂凑字符串(或叫做消息摘要),而加密(Encrypt)是将目标文本转换成具有不同长度的、可逆的密文。
任务二MD5处理密码实践 使用MD5处理密码,改写登录与注册流程代码 任务二学生实践与测试观察数据。 学生分享讲解代码。演示MD5加密之后用户注册,分析注册后数据库中用户表的密码字段。
|
讲解
学生实践 巡回答疑
分析总结 |
任务二初步解决了密码保护的问题,让学生通过简单的几行代码实现密码的保护,提升学生自我效能感。
|
任务三 MD5+Salt处理密码 讲解实践 |
用户登录信息安全问题第四定律 问题往往没有你想得那么简单
MD5暴力破解分析,虽然MD5不能逆转还原出原始密码,但是可以通过暴力枚举来破解密码。
MD5密码破解分析: MD5密码的破解难度取决于密码的复杂度 如何增加密码复杂度?
任务三盐值结合哈希的处理密码 给密码加点盐(salt) 为了加强MD5的安全性,给密码加上一段随机字符串,即加盐值,然后散列,再比较散列值,已确定密码是否正确。 相当于系统给所有密码增加了复杂度。 使用此方法改造注册登录流程。
学生实践:根据学生自己特长与实践水平,自由选择编写代码、伪代码、文字描述、流程图中的一种方式描述任务三的实现。 实践成果总结讨论。
任务三工作量分析:需要多少代码?多少工作量?为什么如此简单的事情,CSDN、 FACEBOOK等著名公司没有做到呢? 比技术更重要的职业精神分析。强调职业精神在Web应用程序项目开发的重要性。 |
讲解
实践
分析总结 |
理解MD5加密的缺陷 引导学生不断改进密码保护的方法,对齐业界主流实践
根据学生水平特长,以不通 形式完成任务
引导学生理解职业精神的重要性 |
总结与 作业 |
本节课面对用户登录密码安全问题:首先认识到明文密码不安全性;然后使用加密方式密码(因为加密可逆,实际不采用);常规的MD5处理密码;最后介绍了业界主流实践MD5+Salt处理密码。比较完整地解决登录的信息安全问题 作业:按照本节课的思路,面对攻击者暴力破解登录密码,如何阻止? |
总结
作业布置 |
加深本课所学知识与技能的印象 引导学生使用本课思路解决新问题 |