什么是滚动码?什么工作原理?

一、什么是滚动码?

        这里我们将简单了解什么是滚动码及其工作原理。首先简要描述其概念和操作。然后,我们将看一个示例来进一步阐明。最后,我们将研究滚动代码以防止攻击的原因。

        滚动码,也称为跳跃码,是远程无钥匙进入系统中常用的一种安全技术。实际上,当前的许多系统都采用这种技术,包括车辆锁定系统、车库门开启器和其他无线遥控系统。在这样的系统中,我们有两个设备:发射器和接收器。发射器设备向接收器发送数字代码。如果接收器确认代码有效,则依次执行操作(例如开门)。因此,滚动码的主要目的是防止对系统的未经授权的访问。基本思想是使攻击者难以拦截和复制发送器和接收器之间交换的任何代码。

        因此,每次我们按下按钮时,使用滚动代码功能的遥控器都会生成一个新代码。发送和接收设备都使用允许接收器检查每个代码是否有效的策略。另外,接收设备在收到有效代码后,只会再次响应下一个有效代码。

        这种机制使得被盗的代码对入侵者毫无用处,因为代码仅有效一次。

        接下来,让我们看一个使用滚动代码技术的示例,以了解其工作原理。

二. 一个例子

        在此示例中,我们描述了滚动代码应用于汽车远程锁定系统时的工作原理。在所描述的情况下,远程控制设备是汽车钥匙扣,并且接收设备是汽车的中央锁定系统。

        下图说明了这种情况。完整的过程包含四个步骤:(1) 初始同步,(2) 代码生成,(3) 计数器递增,以及 (4) 接收器验证:

        在第一步中,我们需要将汽车钥匙扣与汽车的中控锁系统配对。这样,两个设备建立同步的起始码和计数器。

        从那时起,每次我们按下遥控器上的按钮时,它都会生成一个唯一的代码并将其发送到接收设备(步骤 2)。

        在此步骤中,算法会考虑同步代码和计数器来生成唯一代码。每次传输后,传输设备都会递增其计数器(步骤 3)。

        这确保了下一个发送的代码将与上一个不同。

        接收设备对接收到的每个代码执行验证检查(步骤4)。执行此验证的常见方法是检查接收到的代码是否存在于接下来k个有效代码的窗口中。

        更准确地说,假设n是用于生成先前有效代码的计数器。因此,只有当接收设备确认发射机使用范围[n+1,n+k]中的计数器生成代码时,接收设备才会接受接收到的代码。否则,接收设备将拒绝该代码。

        此外,在步骤4中,在成功验证代码并执行预期动作之后,接收设备更新其本地计数器。换言之,它将在最近接收的代码的验证过程中发现的范围[n+1,n+k]中的值分配给计数器。

三、为什么滚动代码可以防止攻击?

        一个重要的好处是滚动代码技术消除了固定代码技术中存在的漏洞。例如,这可以防止重放攻击,其中攻击者故意重复甚至延迟代码。滚动代码功能提供的安全性在于代码仅有效一次。也就是说,即使攻击者拦截了传输的代码,该代码在使用后也会变得过时,因为计数器会在下一次传输时递增。

        此外,在不知道同步代码和计数器值的情况下,攻击者很难预测或复制未来的代码。设备仅在同步阶段交换代码。因此,必须仅在安全环境中同步设备,远离可能的入侵者。否则,入侵者可能会在同步阶段危害系统。

        在本文中,我们研究了滚动代码的概念。滚动代码是一种安全技术,可以显着降低未经授权访问无钥匙进入系统的风险。

        其操作基于这样的理念:一个设备通过先前建立的计数器生成的代码向另一个设备发送命令。鉴于该技术在无钥匙进入系统中的广泛使用,我们可以得出结论,滚动代码可能会使入侵者更难以进入车辆、车库门或其他安全区域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/598616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里的通义灵码在android studio上的使用方法

通义灵码是阿里推出的免费AI编程工具,基于通义大模型,国内Copilot平替产品, 1,提供行级/函数级实时续写、 2,自然语言生成代码、 3,单元测试生成、 4,代码注释生成、 5,代码解释…

两整数之和 -- 位运算

个人主页:Lei宝啊 愿所有美好如期而遇 本题链接 力扣(LeetCode) 输入描述 输入两个要相加的数,a和b 输出描述 返回a和b的和,这里其实直接return ab; 直接就过了,但是人题目要求还是给点面子~ 算法…

【mars3d】批量关闭矢量数据的startFlicker()闪烁或者全部关闭startFlicker()

问题 1.graphic/entity/billboard怎么能够批量关闭startFlicker()闪烁或者 全部关闭startFlicker()呢? 相关链接 1.http://mars3d.cn/editor-vue.html?idgraphic/entity/billboard 2.http://mars3d.cn/apidoc.html#FlickerEntity 期望效果 1.graphic.stopFlic…

国图公考:2024年上半年中小学教师资格考试(笔试)报考须知

(一)信息填报时间:2024年1月12日9:00至1月15日16:00 (二)信息确认时间:2024年1月13日9:00至1月16日16:00 (三)网上缴费时间:2024年1月13日9:00至1月17日24:00

【Pyhton】多年dat数据波段合成为一个dat

我有一个文件夹,内有1961-2020年逐年平均气温栅格数据,格式为dat,dat文件不是以年份命名的,而是一长串名字的最后4位是年份,现在我要对所有年份进行波段合成,合成一个dat,dat每个波段为不同年份…

java面试题-Spring常见的异常类有哪些?

远离八股文,面试大白话,通俗且易懂 看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。 java面试题汇总-目录-持续更新中 NullPointerException&…

VUE--保留小数(过滤器)

1.cutOutNum.js export const cutOutNum (num, decimals) > {if (isNaN(num) || (!num && num ! 0)) {return "-";}function toNonExponential(_num) {var m Number(_num).toExponential().match(/\d(?:\.(\d*))?e([-]\d)/);return Number(_num).toF…

MySQL运维实战(2.4) SSL认证在MySQL中的应用

作者:俊达 引言 MySQL支持使用TLS协议进行通信,该协议在数据库通信中具有关键作用。首先,TLS能够加密客户端与服务端之间的通信数据,涵盖了客户端发送至服务端的SQL请求以及服务端返回给客户端的数据,从而确保敏感信…

宝宝洗衣机哪个牌子质量好?好用的小型洗衣机推荐

当婴儿的到来,确实会给家庭带来许多变化,就好比如对于宝宝相关衣物的清洗需求。对于新生儿及婴幼儿的衣服,一般都要给予特殊的照顾与清洗,以保证不含细菌及过敏原。尤其是刚刚出生的婴儿,这时候宝宝们的皮肤很是幼嫩。…

python实现给定两个列表,“求同存异”

目录 问题描述: 代码实现: 问题描述: 给定两个列表,list1和list2。 python实现求list1和list中重复的元素,以及在list1中,不在list2的元素。 代码实现: def common_unique(pred_list, gold_l…

k8s之pod组件

1.什么是pod pod是k8s中最小的资源管理组件 pod也是最小化运行容器化的应用的资源管理对象 pod是一个抽象的概念,可以理解为一个或者多个容器化应用的集合 一个pod内的容器,必须都运行在同一个节点。基于现代容器技术的要求,一个pod运行一…

pyparamvalidate 项目背景和需求分析

目录 一、前置说明1、总体目录2、本节目标 二、项目背景三、需求分析三、后置说明1、要点小结2、下节准备 一、前置说明 1、总体目录 《 pyparamvalidate 参数校验器,从编码到发布全过程》 2、本节目标 阐述 pyparamvalidate 项目背景和需求分析。 二、项目背景…

由浅入深理解C#中的事件

目录 本文较长,给大家提供了目录,可以直接看自己感兴趣的部分。 前言有关事件的概念示例​ 简单示例​ 标准 .NET 事件模式​ 使用泛型版本的标准 .NET 事件模式​ 补充总结 参考前言 前面介绍了C#中的委托,事件的很多部分都与委托…

sql如何获取字段是数组中的数字【搬代码】

我们可以看到表中字段是一个数组怎么获取其中的数据呢? SELECT sim->>$[0] FROM fin_xxx如果使用左外链接,如下,其他连接时一样的 SELECT a.* FROM fin_aaaa a LEFT JOIN fin_xxx b ON b.sim_r->>$[0]a.corr WHERE b.tid20210 …

【Kubernetes 】Kubernetes 安全审计实战指南

Kubernetes 审计是一项重要的安全措施,它可以帮助您监控和审计集群中的各种活动,以保障集群的安全性和合规性。本指南将带您逐步实现 Kubernetes 安全审计的配置和实战应用。 步骤 1: 检查集群是否支持审计 检查你的 Kubernetes 集群中支持的审计策略版本。使用以下命令列出…

解决java前台传递时间到后台相差8个小时的时区问题

经过查阅相关资料发现在spring转json的默认实现jackson中会根据时区去转换时间,而jackson的默认时区跟 国内应该是相差8小时,所以再时间换算上相差了8小时 解决方案一,在Model的时间字段上加上注解 JsonFormat(pattern"yyyy-MM-dd HH:…

安全典型配置(六)配置IPSG限制非法主机访问内网案例(静态绑定)

相关文章学习: 安全典型配置(一)使用ACL限制FTP访问权限案例 安全典型配置(二)使用ACL限制用户在特定时间访问特定服务器的权限案例 安全典型配置(三)使用ACL禁止特定用户上网案例安全典型配置…

对mongodb说hello会得到什么

程序员开始学习一门新的语言,编写的第一段程序往往是打印出“hello world!”. print("Hello world!") echo "Hello World!" 编程,从hello入门,打印出hello world,表示程序在开发人员手里向人类世界说出了第…

yolov8人脸识别-脸部关键点检测(代码+原理)

1. 人脸识别: Yolov8可用于人脸识别,它可以识别人脸的位置、大小和角度等信息,并对人脸进行精确的识别。通过使用Yolov8,可以实现高效准确的人脸识别,不仅可以应用于安防领域,也可以应用于人脸支付、人脸门…

x-cmd pkg | gitui - git 终端交互式命令行工具

目录 简介首次用户功能特点类似工具与竞品进一步探索 简介 gitui 由 Stephan D 于 2020 年使用 Rust 语言构建的 git 终端交互式命令行工具,旨在终端界面中便捷管理 git 存储库。 首次用户 使用 x gitui 即可自动下载并使用 在终端运行 eval "$(curl https:/…