首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

USB初学(一)---USB-HID的初步认识【转】

HID是一种USB通信协议,无需安装驱动就能进行交互,在学习HID之前,先来复习一下USB协议的相关内容。 USB设备描述符-概述 当插入USB设备后,主机会向设备请求各种描述符来识别设备。...bDeviceSubClass; //usb分配的子类代码,同上,值由USB规定和分配的,HID设备此值为0 BYTE bDeviceProtocl; //USB分配的设备协议代码,同上HID...当插入USB设备后,主机会向设备请求各种描述符来识别设备。 为了把一个设备识别为HID类别,设备在定义描述符的时候必须遵守HID规范。 ?...USB HID类可采用的通信管道 所有的HID设备通过USB的控制管道(默认管道,即端点0)和中断管道与主机通信。...表1、USB HID规范定义的HID设备可用端点 管道 要求 说明 控制(端点0) 必须 传输USB描述符、类请求代码以及供查询的消息数据等 中断输入 必须 传输从设备到主机的输入数据 中断输出 可选

10.4K50

SSH与内置USB HID支持的完美结合

本文将深入探讨SSH的内置USB HID支持及其对用户和管理员的益处。 USB HID简介 USB HID是指通过USB接口连接的人机接口设备,例如键盘、鼠标和安全密钥。...在安全领域,USB HID设备通常用于存储和处理身份验证信息,如数字签名和加密密钥。 SSH的内置USB HID支持 SSH协议内置的USB HID支持允许用户使用USB安全密钥进行身份验证。...USB HID的优势 简便性: 用户只需插入USB安全密钥,即可完成身份验证,极大简化了登录过程。 安全性: 私钥存储在USB安全密钥中,不会在网络上传输,降低了被攻击的风险。...总结 SSH的内置USB HID支持为用户和管理员提供了一个简单、安全的身份验证解决方案。...随着安全需求的不断增加,利用SSH和USB HID技术的身份验证方案将会得到更广泛的应用。

21630
您找到你想要的搜索结果了吗?
是的
没有找到

IOT安全 :HID

如今,使用USB设备进行攻击的案例也屡见不鲜。本文将介绍常见的利用USB设备进行钓鱼攻击的手段。...--- 什么是HID攻击 HID 全称为 Human Interface Device,直译为人类接口设备,也被称为人体学输入设备,是指与人类直接交互的计算机设备,而pc端上的”HID”一般指的是USB-HID...而HID攻击就是攻击者将USB设备模拟成为键盘,让电脑识别成为键盘,再进行脚本模拟按键进行攻击。...Badusb也属于HID攻击的一种,在badusb之前还有两种HID攻击,分别是USB RUBBER DUCKY(usb橡皮鸭)和Teensy....HID攻击需配合社会工程学才能进行攻击,因此除了设备上的防护能力要增强,个人的安全意识也需要增强。 --- 本文作者 r0fus0d

1.6K11

基于STM32CUBE的USB键盘例程.docx

前面说了USB鼠标,这次趁热打铁,说一下USB键盘。依然只说如何修改,不说背后的原理。原因你懂的,涉及的知识点太多了。 会不会写成USB三部曲? 不知道 猜猜我下一步再写个啥?...2 修改usbd_hid.c文件 其次,生成工程后打开,修改usbd_hid.c文件。配置集合(USBD_HID_CfgFSDesc)要做一些改动,首先是长度: ?...之前是:HID_MOUSE_REPORT_DESC_SIZE,长度是74,现在改成: HID_KEYBOARD_REPORT_DESC_SIZE,长度63....上面提到了,之前是鼠标描述符,长度74,现在改成键盘描述符,长度63. 4 生成键盘的报告描述符 把USB鼠标的报告描述符删掉,换成USB键盘的报告描述符。...不会写USB键盘的报告描述符怎么办? USB官方提供了一个USB报告描述符自动配置的工具,打开!里面有各种例程,我们直接复制一个USB键盘的报告描述符即可。 ?

64320

BadUSB的前世今生:USB RUBBER DUCKY和Teensy USB

USB RUBBER DUCKY和Teensy都可用于实施HID模拟攻击,其中USB RUBBER DUCKY入手简单,傻瓜式操作,但价格不菲啊;而Teensy USB性价比比较高,也可用来制作各种酷炫的...这就是为什么会有一个无处不在的USB标准HID或人机接口设备(Human Interface Device)。任何一个宣称是键盘HID的设备都能够被大多数操作系统自动的探测和接入。...Freebuf小科普 HID(Human Interface Device)人机接口设备类别是Windows最早支持的USB类别。...由其名称可以了解HID设备是计算机直接 与人交互的设备,例如键盘、鼠标和游戏杆等。不过HID设备不一定要有人机接口,只要符合HID类别规范,就都是HID设备。 ?...结合计算机对键盘的固有信任和速度超过1000字/分钟的通过脚本模拟的按键操作,传统的安全对策都能够被USB橡皮鸭轻易的绕过,即HID模拟攻击。

3.4K100

基于STM32CUBE的USB鼠标键盘二合一

看来你们对USB兴趣一般,所以这次我把它放在次条。感兴趣的就看一眼,没兴趣的就算了。 前面两篇文章分别说了如何实现基于STM32的USB鼠标和基于STM32的USB键盘。...这篇文章,我们试着同时在一个USB设备上,实现USB的鼠标与键盘二合一。花一份的钱,实现两样东西,它不香吗? 这里要说一下,实现鼠标键盘二合一的功能,方法有多种,这里只说其中一种。...第二,修改usbd_hid.c中的配置集合(USBD_HID_CfgFSDesc)。如下图所示,框住的地方是个宏定义。配置集合的长度,由之前的34,变为41. ? 端点个数,由1变成2..../*bInterval: Polling Interval */ 第三,修改HID描述符中,报告描述符的长度: ?...向USB主机发送数据的时候,数组的第一个元素是报告ID,后面才是键盘数据或鼠标数据。实现前面两节的例程的时候,USB键盘我们定义了一个8元素的数组,USB鼠标我们定义了一个4元素的数组。

1.9K41

原创 Paper | USB设备开发:从入门到实践指南(一)

,还包含了接口描述符,端点描述符,并且因为USB键盘注册的是一个USB HID设备,所以在配置描述符中还包含着HID描述符,如图14所示: 图14:Wireshark中查看配置描述符 使用USB Tree...├── hid.usb0 -> ../../../../usb_gadget/g1/functions/hid.usb0 │?? ├── MaxPower │??...2.1.6 HID报告描述符 当USB主机通过接口描述符得知USB设备是USB HID设备时,将会再获取HID报告描述符,在USBPcap中捕获到的HID报告描述符如图21所示: 图21:Wireshark...报告描述符来源于Linux内核示例,如图22所示: 图22:Linux USB HID gadget 驱动文档 所以下一步我们需要能顺利阅读HID报告描述符,可以参考官方文档,官方文档的优点是内容齐全,...在大致了解了如何向USB主机发送数据后,再来看看HID的报告描述符: static struct hidg_func_descriptor my_hid_data = { .subclass

23600

给MacBook写一个更好的Windows触摸板驱动程序

微软建议是用硬件( USB 或者 I2C )来实现 PTP 的 HID 设备,对于像 MacBook 这种不是原生 PTP HID 的设备来说,我们可以写一个 HID Miniport 驱动来把它变成一个...PTP HID 设备。...所需要的所有 HID 描述符和 Top-level Collection。HID 的描述符会被对应到相应的 C Struct 里。 之后需要配置和读取设备。...配置设备其实就是给触摸板写一个 HID Feature Report 来打开触摸板模式,在基于 USB 的 MacBook 触摸板可以用 USB Control Transfer,基于 SPI 的触摸板需要给...在基于 USB 的 MacBook 触摸板上,可以使用中断,而 SPI 的需要使用轮询。按照 PTP 的 HID 描述符要求把数据喂回去然后完成请求即可。

1.4K10

【STM32F429】第3章 RL-USB协议栈介绍

3.2 RL-USB系统特色 RL-USB支持USB Host和USB Device。 RL-USB可以同时管理芯片的多个USB外设。...USB Host支持的类:HID,CDC,MSC,自定义类。 USB Device支持的类:HID,CDC,MSC,ADC和自定义类。 支持多线程和线程安全操作。...所以大家配置的stack大小要大于512字节: 3.3.3 任务栈需求 RL-USB的Device内核要占用一个任务,然后每创建一个HID类,MSC类,CDC类,ADC类或者自定义类都需要单独占用一个任务...3.3.4 RTX5定时器组 使用RL-USB Device的HID类需要使能RTX5的定时器组。...所以大家配置的stack大小要大于512字节: 3.4.3 任务栈需求 RL-USB的Host内核要占用一个任务,然后每创建一个HID类,MSC类,CDC类或者自定义类都需要单独占用一个任务。

57310
领券