- 博客(179)
- 资源 (49)
- 收藏
- 关注
原创 【高性能网络协议栈】openonload 篇
Onload 是 Solarflare 公司开发的加速的网络中间件。它在用户空间实现了 TCP/IP 网络协议栈,能在用户空间直接访问(安全的)网络适配器硬件访问权限硬件。网络数据可以直接在网络和应用之间收发,而不必通过操作系统,这种技术称为“内核旁路”。
2023-11-04 20:19:28 1261 92
原创 【虚拟文件系统】文件系统 API 解读(1)
Linux 是近年来发展起来的一种新型的操作系统,其最重要的特征之一就是支持多种文件系统,使其更加灵活,从而与许多其它的操作系统共存。Linux支持ext,ext2,xia,minix,umsdos,msdes,fat32 ,ntfs,proc,stub,ncp,hpfs,affs 以及 ufs 等多种文件系统。为了实现这一目的,Linux 对所有的文件系统采用统一的文件界面,用户通过文件的操作界面来实现对不同文件系统的操作。对于用户来说,我们不要去关心不同文件系统的具体操作过程
2023-10-17 17:46:45 651 68
原创 【计算机网络】网络编程接口 Socket API 解读(11)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 shutdown() 调用会将 sockfd 指定的套接字上全双工连接上的一端或者两端关闭。如果 how 指定为 SHUT_RD,那么套接字上将不允许接收;
2023-10-14 08:48:24 1731 98
原创 【计算机网络】网络编程接口 Socket API 解读(10)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述续 【计算机网络】网络编程接口 Socket API 解读(8) SO_PEEK_OFF(Linux 3.4 后) 这个选项目前只有 unix
2023-10-10 20:09:21 1885 103
原创 【计算机网络】网络编程接口 Socket API 解读(9)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述续 【计算机网络】网络编程接口 Socket API 解读(8) SO_PEEK_OFF(Linux 3.4 后) 这个选项目前只有 unix
2023-10-07 09:27:35 2036 78
原创 【计算机网络】网络编程接口 Socket API 解读(8)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 本文主要描述 Linux 网络套接字层的用户编程接口。 BSD 兼容的套接字是用户进程和内核网络协议栈的统一接口。各协议模块被分配不同的协议家族(AF_IN
2023-10-04 21:05:46 1550 91
原创 【计算机网络】Linux 内核网络概述
网络应用程序的开发过去这些年按照指数级增长,这样增加了对系统网络子系统的速度要求和产品化要求。网络子系统不是 Linux 内核必须的组件(Linux 内核可以在没有网络支持的情况下编译通过)。然而非常少的计算系统(即便是嵌入式设备)很难没有网络支持,因为它们都需要联网。现代操作系统使用 TCP/IP 协议栈,协议栈实现了传输层以下的所有协议层,应用层协议通常在用户空间实现(HTTP、FTP、SSH等)。
2023-09-30 11:49:59 1726 60
原创 【IPC 通信】信号处理接口 Signal API(7)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.接口定义3.接口描述 exit() 函数会导致普通程序终止并将 status 的低字节返回给父进程。 通过 atexit(3) 和 on_exit(3) 注册的所有函数都会被调到,顺序和注册顺序相反。如果这些函数中有函数没有返回(
2023-09-29 20:27:30 430 22
原创 【IPC 通信】信号处理接口 Signal API(6)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。
2023-09-28 23:48:02 366 12
原创 【IPC 通信】信号处理接口 Signal API(5)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。
2023-09-28 15:57:43 1427 90
原创 【IPC 通信】信号处理接口 Signal API(4)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.接口定义3.接口描述 raise() 函数向调用进程或者调用线程发送一个信号,在单线程程序中它相当于: 在多线程程序中,它相当于: 如果信号导致信号处理函数调用了,那么 raise() 函数只
2023-09-24 10:30:00 524 87
原创 【IPC 通信】信号处理接口 Signal API(1)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。
2023-09-23 10:35:04 450 51
原创 【IPC 通信】信号处理接口 Signal API(3)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.头文件3.接口定义4.接口描述 sigaction() 系统调用用来改变进程对指定信号采取的行动。(参考 signal(7) 来总体看下各种信号。) signum 指定了信号对应的编号,这个值可以是 SIGKILL 和 S
2023-09-19 15:10:06 1326 118
原创 【IPC 通信】信号处理接口 Signal API(2)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.头文件3.接口定义4.接口描述 注意:signal() 的行为会根据不同的 UNIX 版本而变化,同样它也会根据 Linux 版本的不同而不同。考虑到程序的可移植性,尽量避免 signal() 的使用,而是使用 sigacton(2)
2023-09-18 16:08:29 647 32
原创 【四万字】网络编程接口 Socket API 解读大全
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 socket() 创建一个通信端点并返回一个指向该端点的文件描述符。返回的文件描述符号是当前进程没有打开的号最小的文件描述符。 d
2023-09-15 13:49:05 1600 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 337 15
原创 【计算机网络】网络编程接口 Socket API 解读(6)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。
2023-09-13 15:42:51 505 30
原创 【计算机网络】网络编程接口 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 2143 90
原创 【计算机网络】网络编程接口 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 1373 64
原创 【计算机网络】网络编程接口 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 2719 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 1389 46
原创 【计算机网络】网络编程接口 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 974 24
原创 【机密计算实践】支持 Intel SGX 的 LibOS 项目介绍(二)
Mystikos 是一个运行库和一组工具,用于在硬件可信执行环境(TEE)中运行 Linux 应用程序。当前版本支持英特尔 SGX,而未来版本可能支持其他 TEE。
2023-08-22 16:56:36 319 19
原创 【机密计算实践】支持 Intel SGX 的 LibOS 项目介绍(一)
(Library Operating System,简称 LibOS)是根据某类应用的特殊需求,由某一高级编程语言将原本属于操作系统内核的某些资源管理功能,如文件磁盘 I/O、网络通信等,按照模块化的要求,以库的形式提供给应用程序的特殊操作系统。它能代替操作系统内核合理地管理和控制所涉及的计算机资源,并将所涉及的计算机资源直接暴露给应用程序,让应用程序直接访问底层(虚拟)硬件,以便应用程序能够高效地运行。
2023-08-22 11:41:59 791 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 1159 133
原创 【ARM 调试】如何从 crash 信息找出问题原因
粉丝在进行 ARM-A 系列软件编程时遇到以下问题,串口打印这段日志后就重启了,粉丝求助问是什么原因?
2023-08-11 14:14:01 2368 48
原创 【机密计算-大厂有话说】微软 Open Enclave SDK
Open Enclave SDK 是一个与硬件无关的开源库,用于开发基于硬件的可信执行环境的应用程序,即飞地(Enclave)。Open Enclave (OE) 是一个 SDK,基于 C 和 C++ 语言构建安全区应用程序。不受信任的部分(组件)(称为 host)受信任的部分(组件)(称为 enclave)enclave是受保护的内存区域,可为数据和代码提供机密访问运行的环境。它是可信执行环境 (TEE) 的一种实例,通常由硬件保护,例如英特尔软件防护扩展 (SGX)。
2023-08-11 14:04:49 3679 113
原创 【机密计算-大厂有话说】AMD
VirTEE/sev 工具箱提供了一套基于 rust 语言的简单易用的 API 来访问 AMD EPYC 处理器内的安全处理器,这个库已经早已经支持传统的 SEV 固件,最近在 VirTEE 社区中又增加了新的 SEV-SNP 固件的支持,主要是第三代和新上市的 AMD EPYC 处理器。平台所有者:管理用来部署虚拟机、容器系统软件,比如主机或者云服务商。这些系软件主要指的是运行机密虚拟机、机器容器的虚拟机监视器 hypervisor。来宾所有者:指的是部署工作负载者。
2023-08-07 17:06:59 725 89
原创 【机密计算-大厂有话说】NVIDIA Hopper H100 上的机密计算
在过去的四代中,NVIDIA 一直在不断提高安全性和设备的完整性。最早有文献记载的工作之一是在 NVIDIA V100 GPU 中,为设备上运行的固件提供了 AES 身份验证。身份验证可以保证用户可以信任启动固件没有被破坏,也没有被篡改。随着时间的推移,NVIDIA 推出了诸如对 T4 中的固件进行加密,使恶意攻击者无法轻松查看潜在安全漏洞, Ampere 节点添加了外部微控制器审查固件(ERoT)以确保固件的有效性,到后来的 Hopper:一个完全保密的具有计算能力的GPU。
2023-08-05 11:34:49 623 54
原创 【机密计算标准解读】 基于TEE的安全计算(IEEE 2952)
随着全球数据日益呈几何级数增长,数据共享和数据机密性要求的矛盾变得越来越严重。在数据挖掘和增值数据推导过程中对保护数据安全至关重要。基于可信执行环境的安全计算有助于防止在执行计算任务时泄露和滥用数据。对安全计算的需求来自许多方面。首先,用户需要在不可信环境中保护数据安全。其次,企业本身有数据防御要求,以抵御日益增加的内部和外部攻击。第三,在多个组织之间的共享数据的场景,相互信任不足的不同合作伙伴仍然渴望相互合作,训练出更智能的模型。目前,有许多场景需要安全计算技术。
2023-08-04 15:04:03 1718 24
原创 【机密计算-大厂有话说】微软 Azure
机密计算是由(CCC) 定义的一个行业术语,CCC 是专注于定义并加速机密计算落地的基金会。CCC 给机密计算的定义是:通过在基于硬件的可信执行环境 (TEE) 中执行计算来保护使用中的数据。TEE 是是一个只能执行授权代码并对齐进行保护的环境,TEE 外部的任何代码都无法读取或篡改该环境中的任何数据。机密计算威胁模型旨在消减云提供商和运营商以及租户域中的其他行动者访问正在执行的代码和数据的能力。数据加密能够对数据存储和数据传输进行保护,但是加密最大的挑战是保护运行中数据;
2023-07-29 09:21:45 541 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 706 37
原创 【机密计算-大厂有话说】Alibaba Cloud
本文介绍如何使用阿里云虚拟化 Enclave 创建一个可信的隔离空间,从而保护您的应用程序和数据的安全。阿里云方案是基于虚拟化 Enclave 实现的,即通过虚拟机技术。
2023-07-21 15:44:37 138 8
转载 2023,到底有多少人选择了降薪跳槽
所谓跳槽,不仅仅在于薪水的变化,我们更需要考虑薪酬与机会的平衡,如果现在的岗位或者行业已经到了天花板,那我们越努力坚持,可能离自己想要的结果就越远。任何一次机会的选择往往都伴随着风险性,不是说你愿意降薪跳槽了,就能换到一个前景更好的工作,毕竟越跳越迷茫、越跳越错的职场人比比皆是。招聘市场的不景气,AIGC的兴起,也让很多人陷入失业的恐慌中,还没攒够退休金的职场人,不得不盘算起降薪跳槽的可能性。根据CGL大数据,即使在今年行情较好的医疗行业,招聘企业愿意提供的涨薪幅度也出现了约50%的下降。
2023-07-20 23:14:29 253 3
原创 移动机器人那些事(写于 2017 年)
机器人如果想室内定位,也就是知道自己在哪里,那么得需要定位的传感器,这个时候gps、北斗等室外定位方式肯定不行了,这个可以自己研发了,目前市面上室内定位的也就是上面底盘上那个定位系统了,不过那个使我们开发的,大家也可以自己开发,是基于mems的。)是亚太区的一项机器人竞赛,由日本发起,目前举办了16届,前面链接是国内赛链接,这项比赛难度高,技术含量高,门槛高,已经是一个三高状态,在行业内的认可度也高,每年为社会输送机器人技术人才数以千计。不得不说两家公司,一个是伟大的ARM,一个是意法半导体。
2023-07-20 16:04:11 371 6
原创 【机密计算标准解读】GB/T 机密计算通用框架(下)
国家标准计划《信息安全技术 机密计算通用框架》由 TC260(全国信息安全标准化技术委员会)归口 ,主管部门为国家标准化管理委员会。主要起草单位 华为技术有限公司 、中国电子技术标准化研究院 、中国移动通信集团有限公司 、蚂蚁科技集团股份有限公司 、北京冲量在线科技有限公司 、北京百度网迅科技有限公司 、北京数字认证股份有限公司 、深圳致星科技有限公司 、北京数牍科技有限公司 、上海富数科技有限公司 、北京八分量信息科技有限公司 、中国科学院软件研究所 、中国科学院信息工程研究所。
2023-07-20 15:50:13 165 2
原创 【机密计算标准解读】GB/T 机密计算通用框架(中)
国家标准计划《信息安全技术 机密计算通用框架》由 TC260(全国信息安全标准化技术委员会)归口 ,主管部门为国家标准化管理委员会。主要起草单位 华为技术有限公司 、中国电子技术标准化研究院 、中国移动通信集团有限公司 、蚂蚁科技集团股份有限公司 、北京冲量在线科技有限公司 、北京百度网迅科技有限公司 、北京数字认证股份有限公司 、深圳致星科技有限公司 、北京数牍科技有限公司 、上海富数科技有限公司 、北京八分量信息科技有限公司 、中国科学院软件研究所 、中国科学院信息工程研究所。
2023-07-20 14:30:56 228 4
原创 【机密计算-大厂有话说】IBM
机密计算技术可在数据处理过程中保护数据,加密密钥的排他控制可在云端提供更强的端到端数据安全性。保密计算是一种云计算技术,可在数据处理过程中将敏感数据隔离在受保护的 CPU 围圈中。围圈中的内容 — 正在处理的数据以及用于处理它的技术 — 只能由授权编程代码访问,对任何其他人(包括云提供商)都是不可见和不可知的。随着公司领导人越来越依赖公共及混合云服务,云中的数据隐私已势在必行。
2023-07-18 15:57:56 364 6
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关注的人