自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 OpenHarmony鸿蒙docker编译环境搭建

OpenHarmony docker环境的搭建

2022-05-18 19:40:03 2639 2

原创 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关注的人

提示
确定要删除当前文章?
取消 删除