信息安全基础

本文介绍了保护目标、攻击者模型以及保护方法中非密码学部分的基础知识。

学习目标

  • 诚实以及现实的自我评估

  • 对其他人、公司、组织等的评估

  • 收集信息安全和数据保护需求的能力

    • 保护目标
    • 攻击者模型与信任模型
  • Validation & Verification,及实际和理论限制

    Validation指是否满足需求,Verification指是否符合规范

    "Validation. The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers. Contrast with verification."
    "Verification. The evaluation of whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition. It is often an internal process. Contrast with validation."

  • 信息安全和数据保护机制(理解并开发)

继续阅读“信息安全基础”

Paxos 协议(Paxos Protocol)

即使无法解决分布式系统异步通信中的共识问题,放弃Termination属性后我们仍可以找到实用的解决方案(Practical Solution),Paxos就是其中之一。

系统模型

  • 进程间通过消息通信
  • 消息是异步的:不限制传输延迟,但是在正确的进程间消息最终总能送达
  • 进程可以重启并恢复状态(restart and remember)

角色

Paxos协议中进程有三种基本的角色:

  1. Proposers 提议者
    提出一个想要达成共识的数值
  2. Acceptors 接收者
    选择达成共识的数值
  3. Learners 学习者
    学习Proposers与Acceptors已达成共识的数值

一个进程可以承担多个角色。

继续阅读“Paxos 协议(Paxos Protocol)”

Consensus Problem 共识问题

系统工程课上教授讲解了Consensus问题,以及两种解决方法。本文主要介绍什么是Consensus,以及在分布式系统异步通信中的问题。

共识问题

Consensus Problem翻译为共识问题,指多个实体在某事上达成一致的过程,具体表现为所有进程决定同一个值。
Consensus is to have several different entities to agree on something.
All processes agree on a common value.

共识的应用诸如:

  • What transactions to commit to a database in which order
  • State machine replication (每个副本执行相同的客户请求集合,并且以等价的顺序处理请求,以保证副本产生相同的输出)
  • Atomic broadcast
  • Leader election
  • Mutual exclusion

与Consistency一致性的区别在于:一致性强调同一个数据的多个副本保持对外呈现状态的一致性。如当修改一个副本的数据时,其他副本如何获取到该修改。包括严格一致性、强一致性(顺序一致性、线性一致性)、弱一致性(最终一致性)等。共识问题强调达成一致性的过程

“一致性描述的是结果状态,共识则是一种手段。达成某种共识并不意味着就保障了一致性(这里的一致性指强一致性)。只能说共识机制,能够实现某种程度上的一致性。”分布式系统的一致性与共识性

继续阅读“Consensus Problem 共识问题”

把鸡蛋放在通了电的篮子里——NAS折腾 vol.1

很久之前就想拥有一台NAS,把家里人所有的照片都存进去,这样父母和我自己就不用再考虑手机存储空间不够用的问题了。但是国内运营商很早就不再给分配外网IP地址,做内网穿透又比较麻烦;加之考虑数据安全问题,多盘位组RAID必不可少,而多盘位的机器又比较贵,搞不明白NAS是什么东西的父母没有给批预算;家里放一台UPS的安全问题也需要考虑。总之种种原因下一直没有实践过。

临近回德国之前突然想起来德国这边的运营商应该给了外网IP,所以决定弄一台小猫盘带来试一试。从淘宝上购买了洗白群晖的机器,带电源,成色也很新(嗯,再新也是电子垃圾),关键是价格只要138。这两天收拾完行李就拿出来玩,群晖的系统上手非常快,孩子很满意。

继续阅读“把鸡蛋放在通了电的篮子里——NAS折腾 vol.1”

2021.09.22 生活分类的第一篇文章!

把锈湖里的“Mental Health & Fishing”疗养中心搬到这里来,用日志的形式记录一些生活琐事和想法碎片。


时间是2021年9月22日,回到德国的第3天。连续阴天了不知道多久,导致气温在十度上下徘徊,而今天傍晚难得出了太阳,忙完事情头上有些冒汗。

刚刚把走之前没来得及扔的一堆纸箱子扔到楼下,用公用洗衣机洗了走之前用的床单和回来路上穿的衣服。这些事情本来应该在第一天就处理的,自己却一直找借口路上挺累的想休息两天所以没有动。想了想这两天正是宿舍楼里大多数人要搬家的时间,估计都在用公用洗衣机洗屋里的床垫套、堆积已久的脏衣服什么的,觉得还是尽快洗了为好才强迫自己下楼。

继续阅读“2021.09.22 生活分类的第一篇文章!”

使用Certbot为网站升级HTTPS

Certbot是一个用于部署证书的开源软件工具,证书来自免费的证书授权机构(CA)Let’s Encrypt。

本文在Certbot官方安装指导的基础上介绍实际安装过程中出现的问题以及解决方法。

运行环境:CentOS 7 (release 7.9.2009),Apache

备份网站

WordPress可以使用插件UpdraftPlus,这个插件可以设置定时备份,并上传到云存储。

安装SNAP

snap 是新一代跨发行版的软件包管理技术,根据Certbot官网的安装指导推荐使用snap。以下内容参考Installing snap on CentOS

继续阅读“使用Certbot为网站升级HTTPS”

Objective-C成员变量和属性

在OC中常见两种变量的定义方式,一种是在@interface的大括号内的成员变量;另一种是在大括号外、跟在@property后面,这种被称为属性

本文介绍了OC中成员变量和属性的区别及使用中需要注意的地方。

成员变量的三种权限

@private:只有类内可以访问
@protected:类内和子类可以访问
@public:类内、其子类和类外都可以访问

子类继承父类的成员变量权限。

继续阅读“Objective-C成员变量和属性”

iOS文件加密系统——采用RNCryptor框架进行AES加解密

一个简单快速而且足够安全的加密算法对于iOS文件加密系统至关重要,RNCryptor是一个跨语言的AES加解密工具,它的设计基于苹果操作系统提供的CommonCryptor框架,采用AES-256-CBC实现对称加密,支持同步和异步使用,加解密方法调用方便,且拥有很高的加密效率。

本文介绍了RNCryptor框架的技术基础和在项目中的使用方法。

继续阅读“iOS文件加密系统——采用RNCryptor框架进行AES加解密”