跳转至

MIT6.1600: Foundations of Computer Security

课程简介

  • 所属大学:MIT
  • 先修要求:离散数学,编程基础,计算机系统基础
  • 编程语言:Python3
  • 课程难度:🌟🌟🌟
  • 预计学时:50小时

MIT 的计算机系统安全本科生课程,共分为 authentication, transport security, platform security, software security, 和 human/end-user security 五个模块。课程组织还是相当清晰的:authentication 关注于认证安全,即如何证明计算机世界的“你”确实是“你”。接着讲解大家了解较多的通信安全,例如数据传输的加密解密,密钥的交换等。但传输是一方面,代码最终需要在终端上执行,这就涉及到运行代码的平台本身甚至软件代码本身的安全性。最后课程还会讲一些关于隐私安全的内容,上升到社会学的范畴去讨论群体信息安全。学完该课程,你将会掌握计算机安全的很多重要基本概念,例如公钥私钥加密算法、哈希算法、电子签名、密钥交换算法等等。除了稍显复杂枯燥的数学和定理证明外,课程中还会结合具体知识点讲解很多现实发生的安全漏洞,让你对这些安全概念有更感性的认识。此外,还有6个课程实验让你通过编程实现很多漏洞的利用,在实际中加深对知识的理解,个人感觉还是很有意思的。

课程资源

  • 课程网站:fall23, fall22
  • 课程视频:参见课程网站
  • 课程教材:没有指定教材,每节课有 notes
  • 课程作业:一共6个实验,难度适中

资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/MIT6.1600 - GitHub 中。