- 博客(14)
- 收藏
- 关注
原创 鸿蒙3.1 基于Token的访问控制
security_access_token: ATM(AccessTokenManager)是OpenHarmony上基于AccessToken构建的统一的应用权限管理能力。ATM(AccessTokenManager)是OpenHarmony上基于AccessToken构建的统一的应用权限管理能力。应用的Accesstoken信息主要包括应用身份标识APPID、用户ID,应用分身索引、应用APL(Ability Privilege Level)等级、应用权限信息等。
2023-08-17 22:14:22
1451
1
原创 鸿蒙3.1 设备管理DeviceManager
DeviceManager组件在OpenHarmony上提供账号无关的分布式设备的认证组网能力,并为开发者提供了一套用于分布式设备间监听、发现和认证的接口。设备管理模块其实就是软总线的包皮服务。目前权限都是控制系统uid,但是根据官方介绍,后续可能开放出去。所以大致的思路就是,设备管理模块代替软总线提供设备相关的能力,软总线只开放给系统服务使用。然后设备管理模块目前主要实现了就是自己的认证逻辑,这部分主要就是使用deviceauth模块,来进行图形化的认证能力。
2023-08-17 22:06:51
2326
2
原创 OpenHarmony3.1安全子系统-签名系统分析
应用签名系统主要负责鸿蒙hap应用包的签名完整性校验,以及应用来源识别等功能。应用完整性校验模块给其他模块提供的接口;通过验签,保障应用包完整性,防篡改;通过匹配签名证书链与可信源列表,识别应用来源。
2023-05-17 21:30:13
2614
1
原创 FastDDS安全机制1 - 安全配置
这里的ecparam参数主要是生成对应的ecdsaparam的参数,指定对应的算法名称,方便后续openssl生成密钥时自动查找算法。通过配置文件,定义了证书的一些基本信息,因此通过配置文件,调用openssl生成对应的ecdsa密钥对。我们都知道,通信过程中,主要存在着如上图的对应安全风险,例如:未授权访问,通信信道窃听,重放攻击等等。我们知道,其实身份认证主要做了两件事,一件是标识不同的身份,第二件就是保证身份是可信的。而这些安全问题,目前业界普遍的解法就是对应的身份认证,访问控制和通信加密机制。
2023-05-17 21:11:46
929
原创 DDS开源库FastDDS分析-helloworld程序
根据之前的文章,我们知道了,gen工具生成的代码结构,这篇文章主要就是针对具体的代码做分析。其实根据官方文档的介绍,dds主要是用来传输数据的,所以整体的设计也是以数据作为核心来设计的。例如pub-sub模型,其实就是一个发布数据,一个订阅数据。这里和我们传统的C/S架构还是有些区别的,不过也可以做一个类比。传统的C/S架构中,server端主要是提供服务,而对应到pub-sub模型,其实也可以认为pub就是提供服务的一方。很简单的一个结构,主要就是定义一个string类型,先跑通整个流程。{......
2022-07-25 22:37:28
5755
3
原创 DDS开源库FastDDS分析-fastddsgen工具使用
FastDDS-gen是一个java的自动化代码工具,可以根据idl自动生成对应的fastdds代码。极大的减少了代码的开发工作。本文主要介绍一下fastddsgen工具如何快速的生成代码。(目前仅是简单介绍使用,后续解锁更多姿势时会追加更新)...
2022-07-25 22:33:03
5123
原创 DDS开源库FastDDS分析 - 安装
FastDDS是由eProsima实现的一个开源的dds库。目前主要用于机器人的ROS2以及一些工业领域设备间通信。本文主要从Fastdds的安装开始,分别介绍其相关使用,以及对应的实现。
2022-07-19 22:43:05
4546
1
原创 SOME/IP开源库Vsomeip分析5 - 策略加载
之前我们主要针对服务的启动和使用来进行分析。但是在整个使用过程中,也不可避免的需要进行相关的配置。而目前vsomeip提供的配置是比较丰富的,但是官方文档介绍的比较少,以及对应策略插件的相关信息也没有介绍。本文主要从策略加载,使用配置等等方面进行介绍。之前的文章中,我们知道,整个application在init的时候会去初始化configuration相关的逻辑。configuration是以插件的形式加载的,在编译完成之后,我们也可以看到对应的...
2022-07-10 12:07:56
1939
原创 SOME/IP开源库Vsomeip E2E保护实现分析
1. 背景E2E保护是autosar标准中定义的,主要是为了保护通信安全(功能安全相关)。因此在原有的通信协议上增加了对应E2E的保护头部分。相关E2E会修改整体的通信协议的payload部分,因此如果需要支持E2E保护,那么通信双方都需要增加E2E的保护机制。E2E保护其实主要是在原有的包中增加了CRC校验的部分来保证消息的完整性(从安全角度来说,并不能完全保证),以及增加对应的引用计数,来判断消息是否有缺失,重复等等现象。1.1. autosar描述profile4在E2E pr
2022-03-21 21:10:07
9440
11
原创 SOME/IP开源库Vsomeip分析4-服务注册过程
前言前面主要对vsomeip中helloworld程序运行进行了分析,本篇文章主要针对helloworld运行时的服务注册过程进行深入分析。hello_world_service::offer_service首先还是从examples/hello_world/hello_world_service.hpp文件开始。void on_state_cbk(vsomeip::state_type_e _state){ if(_state == vsomeip::state_type_e::ST
2022-03-21 21:07:14
10815
原创 SOME/IP开源库Vsomeip分析3-hello_world_client分析
前言前一章我们主要分析了hello_world_service的运行过程进行了简单的分析,这一章我们会对client进行更深层次的分析。init这里初始化其实和之前service端类似,也是注册了几个回调函数,其中比service端多注册了一个回调函数就是on_availability_cbk这个函数,这个函数在上一章也提到了,service端在offer server操作成功后,会通知client端,最终就调用到了这个函数。 // Get the vSomeIP runtime
2022-03-21 21:06:01
12647
4
原创 SOME/IP开源库Vsomeip分析2-hello_world_service分析
前言上一篇文章中我们主要介绍了vsomeip库如何编译,以及成功的运行了helloworld的程序。这一篇主要分析helloworld程序的服务端的运行。相关代码目录:examples/hello_world/hello_world_service_main.cppexamples/hello_world/hello_world_service.hppMain函数首先从main函数开始分析,这里helloworld主要调用了hello_world_service类去做初始
2022-03-21 20:51:41
9271
原创 SOME/IP开源库Vsomeip分析
vsomeip是BMW实现的开源someip库,目前主要实现了someip的通信和服务发现功能,并在此基础上增加了少许的安全机制。本文主要从vsomeip的环境搭建,编译,以及对应helloworld程序分析开始,目的在于分析整套vsomeip库的运行机制。由于目前基于vsomeip的安全相关分析文章相对较少,笔者也会对vsomeip库整体的安全机制进行分析,去深入的了解vsomeip库在不修改协议栈的情况下,如何做到相应的访问控制能力。
2022-03-21 20:48:35
11948
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人