- 博客(174)
- 资源 (49)
- 收藏
- 关注
原创 【计算机网络】网络编程接口 Socket API 解读(8)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 本文主要描述 Linux 网络套接字层的用户编程接口。 BSD 兼容的套接字是用户进程和内核网络协议栈的统一接口。各协议模块被分配不同的协议家族(AF_IN
2023-10-04 21:05:46
10
2
原创 【计算机网络】Linux 内核网络概述
网络应用程序的开发过去这些年按照指数级增长,这样增加了对系统网络子系统的速度要求和产品化要求。网络子系统不是 Linux 内核必须的组件(Linux 内核可以在没有网络支持的情况下编译通过)。然而非常少的计算系统(即便是嵌入式设备)很难没有网络支持,因为它们都需要联网。现代操作系统使用 TCP/IP 协议栈,协议栈实现了传输层以下的所有协议层,应用层协议通常在用户空间实现(HTTP、FTP、SSH等)。
2023-09-30 11:49:59
864
51
原创 【IPC 通信】信号处理接口 Signal API(7)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.接口定义3.接口描述 exit() 函数会导致普通程序终止并将 status 的低字节返回给父进程。 通过 atexit(3) 和 on_exit(3) 注册的所有函数都会被调到,顺序和注册顺序相反。如果这些函数中有函数没有返回(
2023-09-29 20:27:30
290
15
原创 【IPC 通信】信号处理接口 Signal API(6)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。
2023-09-28 23:48:02
252
7
原创 【IPC 通信】信号处理接口 Signal API(5)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。
2023-09-28 15:57:43
1327
86
原创 【IPC 通信】信号处理接口 Signal API(4)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.接口定义3.接口描述 raise() 函数向调用进程或者调用线程发送一个信号,在单线程程序中它相当于: 在多线程程序中,它相当于: 如果信号导致信号处理函数调用了,那么 raise() 函数只
2023-09-24 10:30:00
468
84
原创 【IPC 通信】信号处理接口 Signal API(1)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。
2023-09-23 10:35:04
344
50
原创 【IPC 通信】信号处理接口 Signal API(3)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.头文件3.接口定义4.接口描述 sigaction() 系统调用用来改变进程对指定信号采取的行动。(参考 signal(7) 来总体看下各种信号。) signum 指定了信号对应的编号,这个值可以是 SIGKILL 和 S
2023-09-19 15:10:06
1198
118
原创 【IPC 通信】信号处理接口 Signal API(2)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.头文件3.接口定义4.接口描述 注意:signal() 的行为会根据不同的 UNIX 版本而变化,同样它也会根据 Linux 版本的不同而不同。考虑到程序的可移植性,尽量避免 signal() 的使用,而是使用 sigacton(2)
2023-09-18 16:08:29
589
32
原创 【四万字】网络编程接口 Socket API 解读大全
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 socket() 创建一个通信端点并返回一个指向该端点的文件描述符。返回的文件描述符号是当前进程没有打开的号最小的文件描述符。 d
2023-09-15 13:49:05
1061
95
原创 【计算机网络】网络编程接口 Socket API 解读(7)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 send()、sendto()、sendmsg() 调用用来向另一个套接字发送消息。 send() 通常只能用在连接状态(即接收者
2023-09-15 09:21:58
264
13
原创 【计算机网络】网络编程接口 Socket API 解读(6)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。
2023-09-13 15:42:51
383
29
原创 【计算机网络】网络编程接口 Socket API 解读(5)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 connect() 系统调用在 sockfd 指定的 socket 上连接 addr 指定的地址,addrlen 参数指定了 addr 的大小,addr
2023-09-12 18:22:08
1655
89
原创 【计算机网络】网络编程接口 Socket API 解读(4)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x 及不同版本会有些出入)。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 listen() 标记 sockfd 指定的 socket 为被
2023-09-10 12:59:01
1019
63
原创 【计算机网络】网络编程接口 Socket API 解读(3)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x 及不同版本会有些出入)。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 poll() 和 select() 做的事情差不多,它等待一个文
2023-09-09 12:19:15
2252
117
原创 【计算机网络】网络编程接口 Socket API 解读(2)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x 及不同版本会有些出入)。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 首先,我们需要注意 select 只能监听少于 FD_SETSI
2023-09-08 10:45:38
1210
45
原创 【计算机网络】网络编程接口 Socket API 解读(1)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x 及不同版本会有些出入)。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 创建一个通信端点(endpoint,通信的每一端都可以成为一个
2023-09-07 18:01:47
808
23
原创 【机密计算实践】支持 Intel SGX 的 LibOS 项目介绍(二)
Mystikos 是一个运行库和一组工具,用于在硬件可信执行环境(TEE)中运行 Linux 应用程序。当前版本支持英特尔 SGX,而未来版本可能支持其他 TEE。
2023-08-22 16:56:36
242
18
原创 【机密计算实践】支持 Intel SGX 的 LibOS 项目介绍(一)
(Library Operating System,简称 LibOS)是根据某类应用的特殊需求,由某一高级编程语言将原本属于操作系统内核的某些资源管理功能,如文件磁盘 I/O、网络通信等,按照模块化的要求,以库的形式提供给应用程序的特殊操作系统。它能代替操作系统内核合理地管理和控制所涉及的计算机资源,并将所涉及的计算机资源直接暴露给应用程序,让应用程序直接访问底层(虚拟)硬件,以便应用程序能够高效地运行。
2023-08-22 11:41:59
578
92
原创 【机密计算实践】OPEN Enclave SDK 安装与构建
机密计算是基于硬件支持的可信执行环境的,比如 Intel SGX 硬件技术上面的 enclave 以及 Arm Trustzone 上的 OT-TEE,不过这些异构的 TEE 之间差异还是蛮大的,所以亟需一种能够屏蔽 TEE 差异软件中间件或者 SDK,这就是本文将要提到的微软 Open Enclave SDK。Open Enclave 提供了异构 TEE (SGX 和 OP-TEE)的兼容,为上层机密应用提供了同一的接口,同时为机密计算提供了远程证明、多高级语言支持等功能。
2023-08-14 16:10:52
900
133
原创 【ARM 调试】如何从 crash 信息找出问题原因
粉丝在进行 ARM-A 系列软件编程时遇到以下问题,串口打印这段日志后就重启了,粉丝求助问是什么原因?
2023-08-11 14:14:01
1275
47
原创 【机密计算-大厂有话说】微软 Open Enclave SDK
Open Enclave SDK 是一个与硬件无关的开源库,用于开发基于硬件的可信执行环境的应用程序,即飞地(Enclave)。Open Enclave (OE) 是一个 SDK,基于 C 和 C++ 语言构建安全区应用程序。不受信任的部分(组件)(称为 host)受信任的部分(组件)(称为 enclave)enclave是受保护的内存区域,可为数据和代码提供机密访问运行的环境。它是可信执行环境 (TEE) 的一种实例,通常由硬件保护,例如英特尔软件防护扩展 (SGX)。
2023-08-11 14:04:49
1961
112
原创 【机密计算-大厂有话说】AMD
VirTEE/sev 工具箱提供了一套基于 rust 语言的简单易用的 API 来访问 AMD EPYC 处理器内的安全处理器,这个库已经早已经支持传统的 SEV 固件,最近在 VirTEE 社区中又增加了新的 SEV-SNP 固件的支持,主要是第三代和新上市的 AMD EPYC 处理器。平台所有者:管理用来部署虚拟机、容器系统软件,比如主机或者云服务商。这些系软件主要指的是运行机密虚拟机、机器容器的虚拟机监视器 hypervisor。来宾所有者:指的是部署工作负载者。
2023-08-07 17:06:59
658
89
原创 【机密计算-大厂有话说】NVIDIA Hopper H100 上的机密计算
在过去的四代中,NVIDIA 一直在不断提高安全性和设备的完整性。最早有文献记载的工作之一是在 NVIDIA V100 GPU 中,为设备上运行的固件提供了 AES 身份验证。身份验证可以保证用户可以信任启动固件没有被破坏,也没有被篡改。随着时间的推移,NVIDIA 推出了诸如对 T4 中的固件进行加密,使恶意攻击者无法轻松查看潜在安全漏洞, Ampere 节点添加了外部微控制器审查固件(ERoT)以确保固件的有效性,到后来的 Hopper:一个完全保密的具有计算能力的GPU。
2023-08-05 11:34:49
417
54
原创 【机密计算标准解读】 基于TEE的安全计算(IEEE 2952)
随着全球数据日益呈几何级数增长,数据共享和数据机密性要求的矛盾变得越来越严重。在数据挖掘和增值数据推导过程中对保护数据安全至关重要。基于可信执行环境的安全计算有助于防止在执行计算任务时泄露和滥用数据。对安全计算的需求来自许多方面。首先,用户需要在不可信环境中保护数据安全。其次,企业本身有数据防御要求,以抵御日益增加的内部和外部攻击。第三,在多个组织之间的共享数据的场景,相互信任不足的不同合作伙伴仍然渴望相互合作,训练出更智能的模型。目前,有许多场景需要安全计算技术。
2023-08-04 15:04:03
1445
24
原创 【机密计算-大厂有话说】微软 Azure
机密计算是由(CCC) 定义的一个行业术语,CCC 是专注于定义并加速机密计算落地的基金会。CCC 给机密计算的定义是:通过在基于硬件的可信执行环境 (TEE) 中执行计算来保护使用中的数据。TEE 是是一个只能执行授权代码并对齐进行保护的环境,TEE 外部的任何代码都无法读取或篡改该环境中的任何数据。机密计算威胁模型旨在消减云提供商和运营商以及租户域中的其他行动者访问正在执行的代码和数据的能力。数据加密能够对数据存储和数据传输进行保护,但是加密最大的挑战是保护运行中数据;
2023-07-29 09:21:45
441
40
原创 【机密计算技术】ARM 新一代机密计算架构 CCA
CCA 硬件架构引入两种新的状态 Realm 和 Root,Realm 状态下运行机密计算程序,Root 运行 EL3 firmware。Armv9 硬件架构分为 4 种特权模式和 4 种状态:特权模式分别为EL3,EL2,EL1,EL0;状态分别为 Root,Realm,Secure, Non-Secure。状态控制寄存器位于 SCR_EL3 的 NS 和 NSE位,状态关系如图。Root 状态包含 EL3 模式Realm 状态包含 EL2,EL1,EL0 模式。
2023-07-24 17:22:59
469
36
原创 【机密计算-大厂有话说】Alibaba Cloud
本文介绍如何使用阿里云虚拟化 Enclave 创建一个可信的隔离空间,从而保护您的应用程序和数据的安全。阿里云方案是基于虚拟化 Enclave 实现的,即通过虚拟机技术。
2023-07-21 15:44:37
98
7
转载 2023,到底有多少人选择了降薪跳槽
所谓跳槽,不仅仅在于薪水的变化,我们更需要考虑薪酬与机会的平衡,如果现在的岗位或者行业已经到了天花板,那我们越努力坚持,可能离自己想要的结果就越远。任何一次机会的选择往往都伴随着风险性,不是说你愿意降薪跳槽了,就能换到一个前景更好的工作,毕竟越跳越迷茫、越跳越错的职场人比比皆是。招聘市场的不景气,AIGC的兴起,也让很多人陷入失业的恐慌中,还没攒够退休金的职场人,不得不盘算起降薪跳槽的可能性。根据CGL大数据,即使在今年行情较好的医疗行业,招聘企业愿意提供的涨薪幅度也出现了约50%的下降。
2023-07-20 23:14:29
144
3
原创 移动机器人那些事(写于 2017 年)
机器人如果想室内定位,也就是知道自己在哪里,那么得需要定位的传感器,这个时候gps、北斗等室外定位方式肯定不行了,这个可以自己研发了,目前市面上室内定位的也就是上面底盘上那个定位系统了,不过那个使我们开发的,大家也可以自己开发,是基于mems的。)是亚太区的一项机器人竞赛,由日本发起,目前举办了16届,前面链接是国内赛链接,这项比赛难度高,技术含量高,门槛高,已经是一个三高状态,在行业内的认可度也高,每年为社会输送机器人技术人才数以千计。不得不说两家公司,一个是伟大的ARM,一个是意法半导体。
2023-07-20 16:04:11
273
5
原创 【机密计算标准解读】GB/T 机密计算通用框架(下)
国家标准计划《信息安全技术 机密计算通用框架》由 TC260(全国信息安全标准化技术委员会)归口 ,主管部门为国家标准化管理委员会。主要起草单位 华为技术有限公司 、中国电子技术标准化研究院 、中国移动通信集团有限公司 、蚂蚁科技集团股份有限公司 、北京冲量在线科技有限公司 、北京百度网迅科技有限公司 、北京数字认证股份有限公司 、深圳致星科技有限公司 、北京数牍科技有限公司 、上海富数科技有限公司 、北京八分量信息科技有限公司 、中国科学院软件研究所 、中国科学院信息工程研究所。
2023-07-20 15:50:13
88
1
原创 【机密计算标准解读】GB/T 机密计算通用框架(中)
国家标准计划《信息安全技术 机密计算通用框架》由 TC260(全国信息安全标准化技术委员会)归口 ,主管部门为国家标准化管理委员会。主要起草单位 华为技术有限公司 、中国电子技术标准化研究院 、中国移动通信集团有限公司 、蚂蚁科技集团股份有限公司 、北京冲量在线科技有限公司 、北京百度网迅科技有限公司 、北京数字认证股份有限公司 、深圳致星科技有限公司 、北京数牍科技有限公司 、上海富数科技有限公司 、北京八分量信息科技有限公司 、中国科学院软件研究所 、中国科学院信息工程研究所。
2023-07-20 14:30:56
91
2
原创 【机密计算-大厂有话说】IBM
机密计算技术可在数据处理过程中保护数据,加密密钥的排他控制可在云端提供更强的端到端数据安全性。保密计算是一种云计算技术,可在数据处理过程中将敏感数据隔离在受保护的 CPU 围圈中。围圈中的内容 — 正在处理的数据以及用于处理它的技术 — 只能由授权编程代码访问,对任何其他人(包括云提供商)都是不可见和不可知的。随着公司领导人越来越依赖公共及混合云服务,云中的数据隐私已势在必行。
2023-07-18 15:57:56
245
5
原创 【机密计算技术】ITEF 远程证明架构 RATS
A 通常想要使用 B 提供的服务时,B 会要求 A 证明其处于正常、健康的状态下,A 即是 证明方(Attester),而 B 称为依赖方(Relying Party)。这个和身份认证模型类似,但是证明涉及的会更多一些;如果以生活中以进出某些场所核验身份证进行身份认证外,还需要核对本人的状态是否正常,比如是否醉酒、是否发烧、精神是否正常等等。通常依赖方 B 并不能直接验证证明者 A 提供的证据(表明其正常),需要依赖C 来对证据进行核验并将核验结果告知 B,C 即是验证方(Verifier)。
2023-07-18 11:44:17
270
2
原创 【机密计算标准】GB/T 41388-2022 可信执行环境基础安全规范
为了兼顾安全与开放,通常会在一个设备上基于硬件级隔离同时建立起两个完整的执行环境。其中,一个环境负责处理对功能性、开放性等要求较高的业务,定义为富执行环境;另一个负责处理对安全性、机密性要求较高的业务,定义为可信执行环境。两个执行环境在同一个设备上同时并存,其运行所需要的CPU、内在、外设等资源在硬件级安全机制基础上严格隔离,隔离机制按GB/T 20271-2006中4.2.5关于特别安全防护规定的要求。富执行环境中的客户端应用和可信执行环境中的可信应用相互通信、相互协作,共同构成一个完整的应用。
2023-07-17 08:10:00
326
2
原创 【机密计算组织】机密计算联盟
对于机密计算联盟,其官方网站机密计算联盟是一个社区,专注于一些保护使用中数据的项目,通过开放合作,加速机密计算技术的落地应用。机密计算联盟 (CCC) 将硬件供应商、云提供商和软件开发人员聚集在一起,以加速可信执行环境 (TEE) 相关技术和标准的落地使用。CCC 是Linux 基金会的一个项目社区,致力于定义和加速机密计算的使用。从中我们能看到开放的管理和合作,这更有助于让我们的付出得到回报。这项付出包括来自众多成员组织的投入以及来自几个开源项目的贡献。
2023-07-16 21:24:47
256
4
原创 「TCG 规范解读」TCG 规范架构概述(下)
这是对 CC 的介绍,它定义了 IT 安全评估的一般概念和原则,并展示了一个通用模型的评估;同时,这部分也讲述了 IT 安全目标的表示结构来选择和定义 IT 安全要求、编写产品、系统的高级别规范。b)第二部分是。
2023-07-04 09:08:21
831
2
转载 SGX的内部组件概述
而且执行SGX的权限非常高,特权或者非特权的软件都无法访问enclave,也就是说,一旦软件和数据位于enclave中,即便操作系统管理员和VMM(Hypervisor)也无法影响enclave里面的代码和数据。当然,在TZ的安全的环境内部实现多个相互隔离的安全服务亦可达到同样的效果。每个enclave都与一个SIGSTRUCT结构相关联,该结构由管理者签名并包含enclave方法,签名者公钥,版本号(ISV,反映安全级别)和产品标识符(ISVPRODID,以区分同一管理者的enclave)。
2023-03-26 21:53:05
711
7
Intel SGX 软件包安装指南,非常适合 SGX 初学者
2023-08-22
8 个非常优秀的计算机课件:清华、北大、上交大、国防科大、哈工大、浙大
2023-08-21
ADM 芯片版本背书密钥证书和密钥发布系统接口规范
2023-08-14
AMD 基于 SEV-SNP 技术的远程证明技术,用于机密计算
2023-08-14
Intel 安全防护扩展 SGX 开发指南,非常适合 SDK 初学者或者入门者
2023-08-14
微软基于异构 TEE 构建的开源机密计算 SDK,屏蔽 TEE 细节,增加机密计算 SDK 易用性
2023-08-14
NVIDIA Hopper H100, GPU 机密计算白皮书
2023-08-04
IEEE 基于TEE的安全计算 2023 标准规范
2023-08-04
7 个非常好的嵌入式开源实时操作系统源代码和文档
2023-07-25
移植 FreeRTOS 到 RISC-V S 模式和 U 模式实现运行模式隔离,运行在 M 模 secure monitor 上
2023-07-24
百度基于 Intel SGX 的机密计算 SDK 源代码和文档
2023-07-21
66 份 Common Criteria 信息安全通用准则技术规范,用于对信心安全产品进行评估保障评级 EAL
2023-07-21
如何高效的学习一门知识
2023-02-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人