CN116266908A - 一种蓝牙随机地址的生成方法及相关电子设备 - Google Patents

一种蓝牙随机地址的生成方法及相关电子设备 Download PDF

Info

Publication number
CN116266908A
CN116266908A CN202111555506.5A CN202111555506A CN116266908A CN 116266908 A CN116266908 A CN 116266908A CN 202111555506 A CN202111555506 A CN 202111555506A CN 116266908 A CN116266908 A CN 116266908A
Authority
CN
China
Prior art keywords
bluetooth
rpa
host
electronic equipment
irk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111555506.5A
Other languages
English (en)
Inventor
牛永民
宋业全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111555506.5A priority Critical patent/CN116266908A/zh
Priority to PCT/CN2022/115777 priority patent/WO2023109187A1/zh
Priority to EP22905943.1A priority patent/EP4340465A1/en
Publication of CN116266908A publication Critical patent/CN116266908A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0203Power saving arrangements in the radio access network or backbone network of wireless communication networks
    • H04W52/0206Power saving arrangements in the radio access network or backbone network of wireless communication networks in access points, e.g. base stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0245Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal according to signal strength
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0258Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity controlling an operation mode according to history or models of usage information, e.g. activity schedule or time of day
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/028Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/681Types of network addresses using addresses for wireless personal area networks or wireless sensor networks, e.g. Zigbee addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供了一种蓝牙随机地址的生成方法及相关电子设备,所述方法应用于电子设备,该电子设备包括蓝牙Host和蓝牙模块,该方法包括:蓝牙Host生成身份解析密钥;在该电子设备满足第一条件的情况下,蓝牙Host将身份解析密钥发送给蓝牙模块;第一条件为触发该电子设备降低功耗的条件;蓝牙模块基于身份解析密钥IRK生成可解析私密地址RPA,并基于IRK周期性地更新RPA;在蓝牙Host要进行蓝牙业务的情况下,蓝牙Host向蓝牙模块发送RPA请求;蓝牙模块向蓝牙Host发送最新更新的RPA;蓝牙Host基于最新更新的RPA进行蓝牙业务。

Description

一种蓝牙随机地址的生成方法及相关电子设备
技术领域
本申请涉及蓝牙通信领域,尤其涉及一种蓝牙随机地址的生成方法及相关电子设备。
背景技术
随着电子设备的广泛使用,对蓝牙的使用也日渐增多,蓝牙是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用蓝牙技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。另外,蓝牙作为一种小范围无线连接技术,能在设备间实现方便快捷、灵活安全、低成本、低功耗的数据通信和语音通信,因此它是实现无线个域网(Personal Area Network,PAN)通信的主流技术之一。
发明内容
本申请实施例提供了一种蓝牙随机地址的生成方法及相关电子设备,解决了在蓝牙功能开启的情况下,部署在AP芯片上的蓝牙Host因定期更新RPA而唤醒AP芯片,进而导致AP芯片功耗增多,从而影响AP芯片工作性能的问题。
第一方面,本申请实施例提供了一种蓝牙随机地址的生成方法,应用于电子设备,该电子设备包括蓝牙Host和蓝牙模块,该方法包括:蓝牙Host生成身份解析密钥;在该电子设备满足第一条件的情况下,蓝牙Host将身份解析密钥发送给蓝牙模块;第一条件为触发该电子设备降低功耗的条件;蓝牙模块基于身份解析密钥IRK生成可解析私密地址RPA,并基于IRK周期性地更新RPA;在蓝牙Host要进行蓝牙业务的情况下,蓝牙Host向蓝牙模块发送RPA请求;蓝牙模块向蓝牙Host发送最新更新的RPA;蓝牙Host基于最新更新的RPA进行蓝牙业务。
在上述实施例中,蓝牙Host在生成IRK后,可以将该IRK发送给蓝牙模块(蓝牙模块为传感器控制中心或者蓝牙Controller),由传感器控制中心或者蓝牙Controller基于蓝牙Host发送的IRK周期性地更新RPA,在蓝牙Host需要进行蓝牙业务的情况下,传感器控制中心或者蓝牙Controller可以将最新更新的RPA发送给蓝牙Host,以便蓝牙Host可以进行蓝牙业务。由于传感器控制中心/蓝牙Controller更新RPA所消耗的功率小于蓝牙Host所消耗的功率,因此,蓝牙Host将更新RPA的功能下放到传感器控制中心/蓝牙Controller,可以减小AP芯片的功率消耗,进而提高AP芯片的工作性能。
结合第一方面,在一种可能实现的方式中,蓝牙模块为蓝牙Controller或传感器控制中心。
结合第一方面,在一种可能实现的方式中,第一条件为:该电子设备当前没有运行的应用程序;或者,该电子设备当前的电量低于第一阈值;或者,在该电子设备当前运行的应用程序中,高功耗应用程序的数目大于或等于第二阈值;其中,高功耗应用程序为在历史时间段的N次待机次数中,存在大于或等于M次、耗电量占比超过第三阈值的应用程序。结合第一方面,在一种可能实现的方式中,蓝牙模块基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于IRK周期性地更新RPA之后,还包括:当第一条件为该电子设备当前没有运行的应用程序时,定时检测该电子设备是否存在正在运行的应用程序;若检测到该电子设备存在正在运行的应用程序,蓝牙模块向蓝牙Host发送第一指示信息;第一指示信息用于指示蓝牙Host基于身份解析密钥生成RPA,并基于该身份解析密钥定时更新RPA。这样,这样,当存在应用程序需要使用RPA进行蓝牙业务时,应用程序可以直接调从AP芯片调用该RPA进行蓝牙业务。
结合第一方面,在一种可能实现的方式中,蓝牙模块基于身份解析密钥IRK生成可解析私密地址RPA,并基于该IRK周期性地更新所述RPA之后,还包括:当第一条件为该电子设备当前的电量低于第一阈值时,定时检测该电子设备的电量;若检测到该电子设备的电量大于或等于第一阈值,蓝牙模块向蓝牙Host发送第一指示信息;第一指示信息用于指示蓝牙Host基于身份解析密钥生成RPA,并基于身份解析密钥定时更新RPA。这样,由于蓝牙模块更新RPA所消耗的功率小于蓝牙Host所消耗的功率,因此,蓝牙Host将更新RPA的功能下放到蓝牙模块,可以减小AP芯片的功耗,从而减少电量的消耗,延长电子设备的待机时间。
结合第一方面,在一种可能实现的方式中,蓝牙模块基于身份解析密钥IRK生成可解析私密地址RPA,并基于IRK周期性地更新RPA之后,还包括:当第一条件为在该电子设备当前运行的应用程序中,高功耗应用程序的数目大于或等于第二阈值时,定时检测该电子设备运行的所述高功耗应用程序的数目;若检测到数目小于所述第二阈值,蓝牙模块向蓝牙Host发送第二指示信息;第二指示信息用于指示蓝牙Host基于身份解析密钥生成RPA,并基于该身份解析密钥定时更新RPA。这样,在当前AP芯片功耗较高的情况下,蓝牙Host将定期更新RPA的功能下放到传感器控制中心,从而减小AP芯片的功耗,提高AP芯片的工作效能,延长电子设备的待机时间。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括:存储器、第一处理器、蓝牙模块和触控屏;其中:该触控屏用于显示内容;存储器用于存储计算机程序,该计算机程序包括程序指令;第一处理器用于调用该程序指令,生成身份解析密钥;在该电子设备满足第一条件的情况下,将身份解析密钥发送给蓝牙模块;蓝牙模块用于基于身份解析密钥IRK生成可解析私密地址RPA,并基于该IRK周期性地更新所述RPA;在第一处理器要进行蓝牙业务的情况下,第一处理器向蓝牙模块发送RPA请求;蓝牙模块向第一处理器发送最新更新的RPA;第一处理器基于最新更新的RPA进行蓝牙业务。
结合第二方面,在一种可能实现的方式中,当第一条件为该电子设备当前没有运行的应用程序时,定时检测该电子设备是否存在正在运行的应用程序;若检测到该电子设备存在正在运行的应用程序,蓝牙模块向蓝牙Host发送第一指示信息;第一指示信息用于指示蓝牙Host基于身份解析密钥生成RPA,并基于该身份解析密钥定时更新RPA。
结合第二方面,在一种可能实现的方式中,当第一条件为该电子设备当前的电量低于第一阈值时,定时检测该电子设备的电量;若检测到该电子设备的电量大于或等于第一阈值,蓝牙模块向蓝牙Host发送第一指示信息;第一指示信息用于指示蓝牙Host基于身份解析密钥生成RPA,并基于身份解析密钥定时更新RPA。
结合第二方面,在一种可能实现的方式中,当第一条件为在该电子设备当前运行的应用程序中,高功耗应用程序的数目大于或等于第二阈值时,蓝牙模块定时检测该电子设备运行的所述高功耗应用程序的数目;若检测到数目小于所述第二阈值,蓝牙模块向蓝牙Host发送第二指示信息;第二指示信息用于指示蓝牙Host基于身份解析密钥生成RPA,并基于该身份解析密钥定时更新RPA。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、第一处理器、蓝牙模块和触控屏;所述存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述第一处理器执行所述计算机指令时,使得所述电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法,当所述蓝牙模块执行所述计算机指令时,使得所述电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
第四方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
附图说明
图1是本申请实施例提供的电子设备100的硬件结构示意图;
图2是本申请实施例提供的电子设备100的蓝牙架构图;
图3A-图3D是本申请实施例提供的一组电子设备100的示例性用户界面图;
图4是本申请实施例提供的一种蓝牙随机地址生成方法的流程图;
图5是本申请实施例提供的另一种蓝牙随机地址生成方法的流程图;
图6是本申请实施例提供的另一种蓝牙随机地址生成方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在本说明书中使用的术语“部件”、“模块”、“系统”、“单元”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先对本申请实施例涉及的名词进行示例性而非限定性的说明。
1、蓝牙物理地址(MAC地址):一个蓝牙设备可以同时具备两种类型的地址,分别为公共设备地址(Public Device Address,PDA)和随机设备地址(Rabdom Device Address,RDA)。对于蓝牙设备而言,公共设备地址是一个48bits的数字,称作“48-bit universalLAN MAC address”,该地址需要向IEEE申请,具有唯一性,可以用来识别蓝牙设备。但是,随着蓝牙技术的不断普及,以及蓝牙用户的数量不断增加,PDA的数量明显不够用,具体原因有以下三点:
(1)公共设备地址要向IEEE购买,需要一笔开销。
(2)公共设备地址的申请与管理相对繁琐、复杂,再加上蓝牙设备的数量众多,导致维护成本增大。
(3)安全因素。蓝牙很大一部分的应用场景是广播通信,这意味着只要知道设备的地址,就可以获取所有的信息,这是很不安全的。因此固定的设备地址,加大了信息泄露的风险。
为了解决上述问题,蓝牙协议新增了一种地址:随机设备地址,即设备地址不是固定分配的,而是在设备启动后随机生成的。根据不同的目的,随机设备地址分为静态设备地址(Static Device Address,SDA)和私密设备地址(Private Device Address,PDA)。
静态设备地址是设备在上电时随机生成的地址,共有48bit,最高两个bit为“11”,剩余的46bits是一个随机数,不能全为0,也不能全为1,能够保证设备地址的唯一性,且由于地址随机生成,可以解决公共设备地址申请所带来的费用和维护问题。
私密设备地址通过定时更新和地址加密两种方式,提高蓝牙地址的可靠性和安全性。根据设备地址是否加密,将私密地址分为不可解析私密地址(Non-resolvable PrivateAddress,NRPA)和可解析私密地址(Resolvable Private Address,RPA)。
其中,可解析私密地址通过一个随机数和身份解析密钥(Identity ResolvingKey,IRK)生成,因此只能被拥有相同IRK的设备扫描到,可以防止被未知设备扫描和追踪。
2、身份解析密钥(Identity Resolving Key,IRK):用于生成和解析RPA。
3、传感器控制中心(Sensor Hub,SH):可以在CPU休眠的情况下,可以实现对传感器的实时控制,从而达到降低功耗的功能,另外,传感器控制中心还可以将不同类型传感器的数据进行融合,实现多种传感器数据结合才能实现的功能。
下面,结合图1,对本申请实施例涉及的电子设备的硬件结构进行介绍,该电子设备具备蓝牙功能。请参见图1,图1是本申请实施例提供的电子设备100的硬件结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(AP芯片plication processor,AP芯片),调制解调处理器,图形处理器(grAP芯片hicsprocessing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络),蓝牙(BlueTooth,BT),BLE广播,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号、降噪、还可以识别声音来源,实现定向录音功能等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。
上述图1实施例对电子设备100的硬件结构进行了介绍,下面,结合图2,对电子设备100的蓝牙架构进行介绍。如图2所示,电子设备100蓝牙架构包括应用层、应用处理器层以及蓝牙芯片层。
其中,应用层包括蓝牙应用程序201;蓝牙应用程序可以用于接收用户指令,例如接收用户触摸、点击或长按等操作。
应用处理器层包括蓝牙主机(蓝牙Host)202。在本申请实施例中,蓝牙Host中存储有采用低功耗蓝牙(Bluetooth Low Energy,BLE)进行通信所使用到的BLE协议、生成IRK的通用访问配置文件(Generic Access Profile,GAP)等协议。可理解的是,蓝牙Host是蓝牙协议栈的核心部分,用于指定安全连接,负责协议或通道的多路复用,为上层应用提供接口支持。在本申请实施例中,电子设备100在启动蓝牙功能后,蓝牙Host可以基于GAP协议生成IRK,并根据IRK和随机数周期性地更新RPA。
在另一些实施例中,蓝牙Host在电子设备启动蓝牙功能后,可以基于GAP协议生成IRK,并将IRK发送给控制器(Controller)或者传感器控制中心,由控制器或者传感器控制中心基于IRK定时更新RPA。
蓝牙芯片层包括控制器(Controller)203,也可以理解为蓝牙芯片。蓝牙芯片中包含射频模块(Radio Frequency,RF)和链路层(Link Layer)。
RF可以用于实现射频相关的模拟和数字部分,完成最基本的数据发送和接收。也就是说,RF可以用于处理与射频信号相关的任务(例如,负责接收/发送空中的数据包)。
链路层可以决策广播通道和数据传输通道等,使得终端在RF支持的频段上可靠接收和/或发送数据。另外链路层还可以决定蓝牙所处状态,例如scanning状态和initiating状态,在scanning状态下终端可以通过广播通道接收数据(例如接收BLE广播包)。在initiating状态下,终端只接收和处理从设备发送的确认连接的确认数据,不接收或不处理BLE广播包。
上述蓝牙Host和蓝牙Controller可以通过物理接口,即主机控制器接口(HostController Interface,HCI)进行通信。例如,蓝牙Controller可以通过HCI向蓝牙Host发送数据,蓝牙Host可以通过HCI向蓝牙Controller发送命令和数据。
可理解的,关于图2所示的电子设备100的蓝牙架构属于Host+Controller双芯片标准架构,即:蓝牙Host部署在应用进程(ApplicationProcessor,AP)芯片上,蓝牙Controller部署在蓝牙芯片上,电子设备100的蓝牙架构还可以为其他架构。
例如,电子设备100的蓝牙架构还可以为单芯片架构,也即蓝牙Host和蓝牙Controller集成到一个芯片上,蓝牙Host和蓝牙Controller之间的通信不需要物理接口HCI,可以直接通过逻辑接口(例如应用程序编程接口)交互。又例如,电子设备100的蓝牙架构还可以为自定义双芯片架构,蓝牙Host和蓝牙Controller之间通过物理接口HCI通信,但所使用的通信协议由厂商自己定义。
可理解的,本申请实施例提供的方法同样适用于除Host+Controller双芯片标准架构之外的其他蓝牙架构(例如单芯片架构或自定义双芯片架构),本申请实施例对此不做任何限制。
蓝牙技术自问世以来,不仅解决了许多数据传输方面的难题,同时也开启了无线生活的大门,得到各类智能设备的青睐。但这项技术为我们生活带来便利的同时,也带来一些安全问题。其中,最严峻的问题是蓝牙设备的地址被泄露。蓝牙设备内的蓝牙地址具有唯一性,一旦用户的蓝牙地址被第三方用户解析后,第三方用户就可以基于该蓝牙地址获取用的蓝牙数据,在用户与其它用户进行蓝牙通信的过程中,第三方用户可以监听甚至篡改通信双方的内容,也可以获取用户的蓝牙数据,从而造成用户的隐私泄露的问题。
目前,在蓝牙技术领域中,应用广泛的蓝牙地址为可解析私密地址(RPA),RPA是一种由身份解析密钥(IRK)生成的私密设备地址,身份解析密钥会定期更新RPA,在更新完成后,更新前的RPA就失去了作用。第三方用户无法通过更新前的RPA确定蓝牙设备,这大大提高了蓝牙技术的安全性。
在Android R版本之前,蓝牙Host会每隔15分钟基于IRK更新RPA,由于蓝牙Host部署在AP芯片上,因此,在蓝牙功能开启且AP芯片休眠的情况下,蓝牙Host每隔15分钟就会唤醒AP芯片,AP芯片唤醒后,部署在AP芯片上的应用程序也会被唤醒,从而增大AP芯片的功耗。
在R版本之后,Google为了安全,部署在AP芯片上的蓝牙Host会在7~15分钟之内更新RPA(当前BLE配对连接需要用到1路随机地址,系统应用广播需要用到2路随机地址),这就意味着这3路随机地址的定时器在7~15分钟内可能唤醒AP芯片3~6次,这使得AP芯片被唤醒的次数增多,从而使得部署在AP芯片上的应用程序被唤醒的次数也增多,从而令AP芯片消耗的功耗更多,极大影响了AP芯片的工作性能。
为了解决在电子设备100开启蓝牙功能的情况下,蓝牙Host因定期更新RPA,消耗AP芯片功耗,进而影响AP芯片工作性能的问题,本申请实施例提供了一种蓝牙随机地址生成方法,该方法包括:蓝牙Host在生成IRK后,可以将该IRK发送给传感器控制中心或者蓝牙Controller,由传感器控制中心或者蓝牙Controller基于蓝牙Host发送的IRK周期性地更新RPA,在蓝牙Host需要进行蓝牙业务的情况下,传感器控制中心或者蓝牙Controller可以将最新更新的RPA发送给蓝牙Host,以便蓝牙Host可以进行蓝牙业务。由于传感器控制中心/蓝牙Controller更新RPA所消耗的功率小于蓝牙Host所消耗的功率,因此,蓝牙Host将更新RPA的功能下放到传感器控制中心/蓝牙Controller,可以减小AP芯片的功率消耗,进而提高AP芯片的工作性能。
下面,结合图3A-图3D对本申请实施例提供的一种蓝牙随机地址生成方法的应用场景进行举例说明。图3A-图3D是本申请实施例提供的一组电子设备100的示例性用户界面图,在图3A-图3D中包括电子设备100和电子设备200,且电子设备100和电子设备200可以通过蓝牙连接。
图3A为用户界面30,用户界面30为电子设备100的主界面,该主界面包括设置图标301和其它应用图标,当电子设备100检测到针对设置图标301的输入操作(例如,单击)后,响应该操作,电子设备100显示如图3B所示的用户界面31。
如图3B所示,用户界面31包括蓝牙设置图标311,当电子设备100检测到针对蓝牙设置图标311的输入操作后(例如,单击),响应该操作,电子设备100显示如图3C所示的用户界面32。
如图3C所示,用户界面32包括蓝牙开启控件321和蓝牙设备显示区域322。当电子设备100检测到针对蓝牙开启控件321的单击操作后,响应该操作,电子设备100开启蓝牙功能,此时电子设备100可以与其它蓝牙设备进行蓝牙配对和连接。蓝牙设备显示区域322用于显示电子设备100连接过的蓝牙设备的设备名,例如,在蓝牙设备显示区域322中,设备名“A10”为电子设备200的设备名,当电子设备100检测到针对“A10”的单击操作后,响应该操作,电子设备100与电子设备200进行蓝牙连接,连接成功后,电子设备100显示如图3D所示的用户界面33。
如图3D所示,用户界面33为电子设备100与电子设备200蓝牙连接成功后的界面,从蓝牙设备显示区域332可知,“A10”的设备显示图标显示“已连接”的字样,且用户界面33显示蓝牙图标331。
下面,结合图4对本申请实施例提出的一种蓝牙随机地址生成方法的具体流程进行说明,请参见图4,图4是本申请实施例提供的一种蓝牙随机地址生成方法的流程图,在电子设备开启蓝牙功能的情况下,AP芯片在休眠之前,蓝牙Host可以将其生成的身份解析密钥(IRK)发送给传感器控制中心,传感器控制中心在AP芯片休眠(其中,AP芯片休眠为AP芯片中的应用程序不处于运行状态)过程中基于蓝牙Host发送的IRK定期更新RPA,在AP芯片被唤醒且AP芯片需要使用RPA进行蓝牙业务的情况下,传感器控制中心可以将最新更新的RPA发送给蓝牙Host,具体流程如下:
步骤S401:蓝牙Host通过加密算法生成身份解析密钥。
具体地,电子设备在开启蓝牙功能后,蓝牙Host通过加密算法生成IRK,该IRK用于生成以及定期更新RPA。
示例性的,用户可以在电子设备中点击蓝牙应用图标,响应于用户的操作,电子设备开启蓝牙功能。可以理解的是,上述示例仅示例性的使出了通过点击方式开启蓝牙功能的场景,并不构成对本申请实施例的限定,在一些实施例中,也可以通过其它操作启动网络应用。图3A为用户界面30,如图3A所示,用于可以在用户界面30点击蓝牙开启图标,由此可以得到如图3A所示显示蓝牙连接图标,该蓝牙显示图标用于表征当前电子设备已启动蓝牙功能。
示例性的,蓝牙Host可以通过Aes_128函数生成IRK,即:IRK=Aes_128(rand,a,b)。其中,rand为蓝牙Host基于随机数函数生成的随机数,a为蓝牙Host生成IRK所需的第一参数,b为蓝牙Host生成IRK所需的第二参数。
应当理解的是,上述仅对蓝牙Host生成IRK的加密算法做示例说明,不应对本申请实施例的保护范围构成限定,蓝牙Host还可以通过其它加密算法计算IRK,本申请实施例对蓝牙Host使用加密算法的类型不做任何限制。
步骤S402:蓝牙Host将其生成的身份解析密钥发送给传感器控制中心。
具体地,蓝牙Host在生成IRK后,可以将其生成的IRK发送传感器控制中心,以便传感器控制中心可以基于蓝牙Host生成的IRK生成和定时更新RPA。蓝牙Host可以通过与传感器控制中心自行定义的接口和通信协议将IRK发送给传感器控制中心。例如,蓝牙Host可以二线式串行总线(Inter-Integrated Circuit,I2C)接口和相关通信协议将IRK发送给传感器控制中心,也可以采用其它接口将IRK发送给传感器控制中心,本申请实施例对蓝牙Host与传感器控制中心的具体通信方式不做限制。
步骤S403:传感器控制中心基于所述身份解析密钥生成RPA。
具体地,传感器控制中心在接收蓝牙Host发送的身份解析密钥后,生成RPA。示例性的,传感器控制中心可以通过函数Generate_RPA(IRK,Random)更新RPA。其中,Random为传感器控制中心基于随机函数生成的随机数。
在接收蓝牙Host发送的身份解析密钥后,传感器控制中心可以启动定时器Timer,Timer可以周期性地触发传感器控制中心更新RPA。
步骤S404:定时器周期性地触发传感器控制中心更新RPA。
具体地,在传感器控制中心启动Timer之后,Timer周期性地触发传感器控制中心基于身份解析密钥更新RPA。示例性的,Timer可以每隔6分钟向传感器控制中心发送触发指令,传感器控制中心在接收到触发指令后,可以通过函数Generate_RPA(IRK,Random)更新RPA。
步骤S405:蓝牙Host向传感器控制中心发送RPA请求。
具体地,当AP芯片中存在应用程序需要使用RPA进行蓝牙业务的情况下,蓝牙Host可以向传感器控制中心发送RPA请求。其中,该RPA请求用于指示传感器控制中心将其最新更新的RPA发送给蓝牙Host,以便部署在AP芯片上的应用程序可以使用该RPA进行蓝牙业务。在接收到蓝牙Host发送的RPA请求命令后,传感器将最新更新的RPA发送给蓝牙Host,以便部署在AP芯片中的应用程序可以使用该RPA进行相应的蓝牙业务。传感器控制中心可以通过与蓝牙Host之间自行定义的接口和通信协议将IRK发送给传感器控制中心,例如,传感器控制中心可以二线式串行总线(Inter-Integrated Circuit,I2C)接口和相关通信协议将更新后的RPA发送给传感器控制中心,也可以采用其它接口将更新后的RPA发送给蓝牙Host,本申请实施例对传感器控制中心与蓝牙Host之间的具体通信方式不做限制。蓝牙Host在接收到传感器控制中心发送的RPA后,AP芯片中需要进行蓝牙业务(例如,蓝牙配对)的应用程序调用RPA,并将RPA发送给蓝牙Controller,通过蓝牙Controller使用该RPA地址做业务广播,从而完成该应用程序的相关蓝牙业务。
示例性的,蓝牙Host可以通过调用主机控制器接口(Host ControllerInterface,HCI)将RPA发送给蓝牙Controller,也可以调用其它接口将RPA发送给Controller进行广播,本申请实施例对蓝牙Host向蓝牙Controller发送RPA所调用的接口的类型,不作限制。
步骤S406:传感器控制中心向蓝牙Host发送最新更新的RPA。
步骤S407:蓝牙Host通过蓝牙Controller使用RPA进行业务广播。
具体地,蓝牙Host在接收到传感器控制中心发送的RPA之后,AP芯片上有蓝牙业务需求的应用程序调用该RPA,然后通过蓝牙Controller将RPA进行业务广播,从而实现应用程序的蓝牙业务。
在一些实施例中,在AP芯片上的应用程序需要使用RPA进行蓝牙业务且蓝牙Host不执行定期更新RPA任务的情况下,蓝牙Host可以直接向传感器控制中心发送RPA请求,该RPA请求包括需要使用RPA进行蓝牙业务的应用程序的标识信息,该RPA请求用于指示传感器控制中心将其最新更新的RPA发送给蓝牙Controller,使得需要进行蓝牙业务的应用程序可以通过蓝牙Controller使用该RPA进行业务广播,进行相关的蓝牙业务。
可选地,在AP芯片处于休眠状态的情况下,在传感器控制中心基于蓝牙Host发送的身份解析密钥,周期性地更新RPA的过程中,传感器控制中心可以对AP芯片的状态进行监测,当传感器控制中心检测到存在应用程序运行的情况下,传感器控制中心可以向蓝牙Host发送第一指示信息,第一指示信息用于指示蓝牙Host基于IRK周期性地更新RPA,传感器控制中心不再执行周期性地更新RPA的任务,即:传感器控制中心将RPA的生成和更新功能归还给蓝牙Host。这样,当存在应用程序需要使用RPA进行蓝牙业务时,应用程序可以直接调从AP芯片调用该RPA。
可选地,在AP芯片中不存在运行的应用程序的情况下,电子设备可以基于用户数据,分析用户在历史时间段内(例如,3个月内)用户的应用使用偏好,由此可以预测用户在哪个时间段使用哪些应用,从而可以预测AP芯片在哪些时段处于可能处于活跃状态,在AP芯片可能处于活跃状态的时间段内,传感器控制中心可以将周期性地更新RPA的任务重新下发到蓝牙Host。
例如,电子设备可以根据最近3个月的用户数据,分析用户在每天15:00~16:00这个时间段,会使用电子设备播放音乐,电子设备可以预测在15:00~16:00这个时间段内,音乐应用处于运行状态(AP芯片不处于休眠状态)。因此,传感器控制中心可以在15:00这个时刻将周期性更新RPA的任务重新下放到蓝牙Host。这样,当存在应用程序需要使用RPA进行蓝牙业务时,应用程序可以直接调从AP芯片调用该RPA。
本申请实施例,在电子设备开启蓝牙功能的情况下,AP芯片在休眠之前,蓝牙Host可以将其生成的IRK发送给传感器控制中心,使得传感器控制中心可以基于蓝牙Host发送的IRK生成RPA,并周期性地更新RPA。由于传感器控制中心更新RPA所需功耗远远小于蓝牙Host更新RPA所需功耗,因此,蓝牙Host将更新RPA的功能下放到传感器控制中心,能够有效避免AP芯片在处于休眠状态下,因要定期更新RPA而被唤醒,从而增大AP芯片功耗的问题,提高了AP芯片的工作性能。
上述图4实施例介绍了在电子设备开启蓝牙功能的情况下,蓝牙Host将周期性的更新RPA的功能下放给传感器控制中心的具体过程。在一些实施例中,蓝牙Host将周期性的更新RPA的功能下放给蓝牙Controller。下面,结合图5对该过程进行说明。请参见图5,图5是本申请实施例提供的另一种蓝牙随机地址生成方法的流程图,在电子设备开启蓝牙功能的情况下,AP芯片在休眠之前,将其生成的身份解析密钥(IRK)发送给蓝牙Controller模块,蓝牙Controller模块在AP芯片休眠过程中定时基于AP芯片中的蓝牙Host发送的IRK定期更新RPA,在AP芯片被唤醒且AP芯片需要使用RPA进行蓝牙业务的情况下,蓝牙Controller模块将最新更新的RPA发送给AP芯片中的蓝牙Host,具体流程如下:
步骤S501:蓝牙Host通过加密算法生成身份解析密钥。
步骤S502:蓝牙Host将其生成的身份解析密钥发送给蓝牙Controller。
步骤S503:蓝牙Controller模块基于所述身份解析密钥生成RPA。
步骤S504:定时器周期性地触发蓝牙Controller更新RPA。
步骤S501~步骤S504请参考上述图4实施例中的步骤S401~步骤S404,本申请实施例在此不再赘述。
步骤S505:蓝牙Host向蓝牙Controller发送RPA请求。
具体地,当AP芯片中存在应用程序需要使用RPA进行蓝牙业务,蓝牙Host可以向蓝牙Controller发送RPA请求。其中,该RPA请求用于指示传感器控制中心将其最新更新的RPA发送给蓝牙Host,以便部署在AP芯片上的应用程序可以使用该RPA进行蓝牙业务。在接收到蓝牙Host发送的RPA请求命令后,蓝牙Controller将最新更新的RPA发送给蓝牙Host,以便部署在AP芯片中的应用程序可以使用该RPA进行相应的蓝牙业务。蓝牙Controller可以通过调用主机控制器接口(Host Controller Interface,HCI)将RPA发送给蓝牙Host,也可以调用其它接口将RPA发送给Host,本申请实施例对蓝牙Controller向蓝牙Host发送RPA所调用的接口的类型,不作限制。在蓝牙Host接收到蓝牙Controller发送的RPA后,有蓝牙业务需求的应用程序调用该RPA,并将该RPA通过蓝牙Controller进行业务广播,从而实现蓝牙业务。
步骤S506:蓝牙Controller向蓝牙Host发送最新更新的RPA。
步骤S507:蓝牙Host通过蓝牙Controller使用RPA进行业务广播。
具体地,蓝牙Host在接收到蓝牙Controller发送的RPA之后,AP芯片上有蓝牙业务需求的应用程序调用该RPA,然后再通过蓝牙Controller将RPA进行业务广播,从而实现应用程序的蓝牙业务。
在一些实施例中,AP芯片上的应用程序需要使用RPA进行蓝牙业务且蓝牙Host不执行周期性地更新RPA任务的情况下,蓝牙Host可以直接向Controller发送蓝牙业务请求指令,该蓝牙业务请求指令包括需要使用RPA进行蓝牙业务的应用程序的标识信息,该蓝牙业务请求指令用于指示蓝牙Controller将RPA进行业务广播,使得需要进行蓝牙业务的应用程序可以通过蓝牙Controller使用该RPA进行业务广播,进行相关的蓝牙业务。
可选地,蓝牙Controller基于蓝牙Host发送的身份解析密钥,周期性地更新RPA的过程中,蓝牙Controller可以对AP芯片的状态进行监测,当蓝牙Controller检测到AP芯片由休眠状态恢复到唤醒状态的情况下,蓝牙Controller可以向蓝牙Host发送RPA更新请求,该更新请求用于指示蓝牙Host执行周期性地更新RPA的任务,蓝牙Controller不再执行周期性地更新RPA的任务,即:蓝牙Controller将RPA的生成和更新功能归还给蓝牙Host。这样,当存在应用程序需要使用RPA进行蓝牙业务时,应用程序可以直接调从AP芯片调用该RPA。
可选地,电子设备可以基于用户数据,分析用户在一段时间内(例如,3个月)用户的应用使用偏好,由此可以预测用户在哪个时间段使用哪些应用,从而可以预测AP芯片在哪些时段处于可能处于活跃状态,在AP芯片可能处于活跃状态的时间段内,蓝牙Controller可以将周期性地更新RPA的任务重新下发到蓝牙Host。例如,电子设备可以根据最近3个月的用户数据,分析用户在每天15:00~16:00这个时间段,会使用电子设备播放音乐,电子设备可以预测在15:00~16:00这个时间段内,音乐应用处于运行状态(AP芯片不处于休眠状态),因此,蓝牙Controller可以在15:00这个时刻将周期性更新RPA的任务重新下放到蓝牙Host。这样,当存在应用程序需要使用RPA进行蓝牙业务时,应用程序可以直接调从AP芯片调用该RPA。
上述图4-图5的实施例介绍了AP芯片在处于休眠模式之前,蓝牙Host将定时更新RPA的功能下放给传感器控制中心或者蓝牙Controller,以防止AP芯片在休眠过程中,蓝牙Host因为定期更新RPA,使得处于休眠状态的AP芯片反复被唤醒,从而使得AP芯片的功耗大幅增加。在电子设备开启蓝牙功能且AP芯片处于工作状态的情况下,AP芯片可以根据当前的功耗情况,判断是否需要将蓝牙Host定期更新RPA的功能下放到传感器控制中心/蓝牙Controller,下面,结合图6,对蓝牙Host将定期更新RPA功能下方给传感器控制中心为例,进行说明。请参见图6,图6是本申请实施例提供的另一种蓝牙随机地址生成方法的流程图,在图6的流程中,AP芯片处于工作状态,具体流程如下:
步骤S601:蓝牙Host通过加密算法生成身份解析密钥。
具体地,步骤S601的具体实现过程请参见步骤S401,本申请实施例在此不赘述。
步骤S602:基于电子设备当前功耗参数判断是否要将身份解析密钥发送给传感器控制中心。
具体地,电子设备当前的功耗参数可以为电子设备电池的当前电量,当电池的当前电量小于第一阈值时,蓝牙Host可以将定期更新RPA的功能下放到传感器控制中心,即:蓝牙Host向传感器控制中心发送IRK。其中,第一阈值可以基于历史数据得到,可以基于经验值得到,还可以基于实验数据得到,本申请实施例对此不做限制。
例如,当电子设备的电量低于10%时,蓝牙Host可以将其生成的IRK发送给传感器控制中心,传感器控制中心每隔7分钟基于IRK更新RPA,当存在应用程序需要使用RPA进行蓝牙业务时,传感器控制中心可以将其最新更新的RPA发送给蓝牙Host,以便应用程序可以基于RPA进行蓝牙业务。
由于蓝牙Host定期更新RPA所需功耗远大于传感器控制中心定期更新RPA所需功耗,因此,在电子设备电量不足的情况下,蓝牙Host通过将RPA更新功能下放给传感器控制中心能够减小电子设备的整体功耗,延长电子设备的待机时间。
在一些实施例中,电子设备的功耗参数可以为电子设备当前运行的应用程序中,高功耗的应用程序的数目。电子设备可以基于用户数据/系统数据分析一段时间内(例如,近3个月内)应用程序的耗电情况,根据应用程序的耗电情况将应用程序分为高功耗应用程序和非高功耗应用程序,当在电子设备当前运行的应用程序中,高功耗的应用程序的数目大于或等于第二阈值时,蓝牙Host可以向传感器控制中心发送IRK。
例如,可以统计电子设备历史时间段(例如,近3个月)的待机次数N以及在每次待机过程中,应用程序的耗电量的百分比,若存在应用程序在超过M次的待机过程中,其耗电量所占的百分比大于第三阈值(例如,30%),则将该应用程序标记为高功耗应用程序,否则,将该应用程序标记为非高功耗应用程序。若当前在AP芯片上运行的高功耗应用程序的数目大于或等于第二阈值(例如,第二阈值为3),蓝牙Host向传感器控制中心发送IRK,从而使得传感器控制中心可以基于IRK生成RPA,并周期性地更新RPA。
步骤S603:在判断要将身份解析密钥发送给传感器控制中心的情况下,蓝牙Host将身份解析密钥发送给传感器控制中心。
步骤S604:传感器控制中心基于所述身份解析密钥生成RPA。
步骤S605:定时器周期性地触发传感器控制中心更新RPA。
步骤S606:蓝牙Host向传感器控制中心发送RPA请求。
步骤S607:传感器控制中心向蓝牙Host发送最新更新的RPA。
步骤S608:蓝牙Host通过蓝牙Controller使用RPA进行业务广播。
步骤S603-步骤S608的具体过程请参见步骤S402-步骤S407,本申请实施例在此不赘述。
应当理解的是,步骤S601可以在步骤S602之前执行,也可以在步骤S602之后执行,只要步骤S601在步骤S603之前执行即可,本申请实施例对步骤S601和步骤S602的先后执行次序不做限制。
在一些实施例中,在AP芯片上的应用程序需要使用RPA进行蓝牙业务且蓝牙Host不执行周期性地更新RPA任务的情况下,蓝牙Host可以直接向传感器控制中心发送蓝牙业务请求指令,该蓝牙业务请求指令包括需要使用RPA进行蓝牙业务的应用程序的标识信息,该蓝牙业务请求命令用于指示传感器控制中心将其最新更新的RPA发送给蓝牙Controller,使得需要进行蓝牙业务的应用程序可以通过蓝牙Controller使用该RPA进行业务广播,进行相关的蓝牙业务。
可选地,在AP芯片处于休眠状态的情况下,在传感器控制中心基于蓝牙Host发送的身份解析密钥,周期性地更新RPA的过程中,传感器控制中心可以对AP芯片的状态进行监测,当传感器控制中心检测到AP芯片由休眠状态恢复到唤醒状态的情况下,传感器控制中心可以向蓝牙Host发送第二指示信息,该第二指示信息用于指示蓝牙Host执行周期性地更新RPA的任务,传感器控制中心不再执行周期性地更新RPA的任务,即:传感器控制中心将RPA的生成和更新功能归还给蓝牙Host。这样,当存在应用程序需要使用RPA进行蓝牙业务时,应用程序可以直接调从AP芯片调用该RPA。
可选地,在AP芯片处于休眠状态的情况下,电子设备可以基于用户数据,分析用户在一段时间内(例如,3个月)用户的应用使用偏好,由此可以预测用户在哪个时间段使用哪些应用,从而可以预测AP芯片在哪些时段处于可能处于活跃状态,在AP芯片可能处于活跃状态的时间段内,传感器控制中心可以将周期性地更新RPA的任务重新下发到蓝牙Host。相关。详细叙述请参见图4实施例中对应的内容,在此不再赘述。
本申请实施例,在蓝牙功能开启且AP芯片处于工作状态的情况下,AP芯片可以根据当前的功耗情况,判断是否需要将蓝牙Host定期更新RPA的功能下放到传感器控制中心/蓝牙Controller,若当前AP芯片功耗较高,蓝牙Host将定期更新RPA的功能下放到传感器控制中心,从而减小AP芯片的功耗,提高AP芯片的工作效能,延长电子设备的待机时间。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本发明技术方案的实施例,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种蓝牙随机地址的生成方法,其特征在于,应用于电子设备,所述电子设备包括蓝牙Host和蓝牙模块,所述方法包括:
所述蓝牙Host生成身份解析密钥;
在所述电子设备满足第一条件的情况下,所述蓝牙Host将所述身份解析密钥发送给所述蓝牙模块;所述第一条件为触发所述电子设备降低功耗的条件;
所述蓝牙模块基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于所述IRK周期性地更新所述RPA;
在所述蓝牙Host要进行蓝牙业务的情况下,所述蓝牙Host向所述蓝牙模块发送RPA请求;
所述蓝牙模块向所述蓝牙Host发送最新更新的RPA;
所述蓝牙Host基于所述最新更新的RPA进行蓝牙业务。
2.如权利要求1所述的方法,其特征在于,所述蓝牙模块为蓝牙Controller或传感器控制中心。
3.如权利要求1-2任一项所述的方法,其特征在于,所述第一条件为:
所述电子设备当前没有运行的应用程序;
或者,所述电子设备当前的电量低于第一阈值;
或者,在所述电子设备当前运行的应用程序中,高功耗应用程序的数目大于或等于第二阈值;
其中,所述高功耗应用程序为在历史时间段的N次待机次数中,存在大于或等于M次、耗电量占比超过第三阈值的应用程序。
4.如权利要求3所述的方法,其特征在于,所述蓝牙模块基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于所述IRK周期性地更新所述RPA之后,还包括:
当所述第一条件为所述电子设备当前没有运行的应用程序时,定时检测所述电子设备是否存在正在运行的应用程序;
若检测到所述电子设备存在正在运行的应用程序,所述蓝牙模块向所述蓝牙Host发送第一指示信息;所述第一指示信息用于指示所述蓝牙Host基于所述身份解析密钥生成RPA,并基于所述身份解析密钥定时更新所述RPA。
5.如权利要求3所述的方法,其特征在于,所述蓝牙模块基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于所述IRK周期性地更新所述RPA之后,还包括:
当所述第一条件为所述电子设备当前的电量低于第一阈值时,定时检测所述电子设备的电量;
若检测到所述电子设备的电量大于或等于所述第一阈值,所述蓝牙模块向所述蓝牙Host发送第一指示信息;所述第一指示信息用于指示所述蓝牙Host基于所述身份解析密钥生成RPA,并基于所述身份解析密钥定时更新所述RPA。
6.如权利要求3所述的方法,其特征在于,所述蓝牙模块基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于所述IRK周期性地更新所述RPA之后,还包括:
当所述第一条件为在所述电子设备当前运行的应用程序中,高功耗应用程序的数目大于或等于第二阈值时,定时检测所述电子设备运行的所述高功耗应用程序的数目;
若检测到所述数目小于所述第二阈值,所述蓝牙模块向所述蓝牙Host发送第二指示信息;所述第二指示信息用于指示所述蓝牙Host基于所述身份解析密钥生成RPA,并基于所述身份解析密钥定时更新所述RPA。
7.一种电子设备,其特征在于,包括:存储器、第一处理器、蓝牙模块和触控屏;其中:
所述触控屏用于显示内容;
所述存储器用于存储计算机程序,所述计算机程序包括程序指令;
所述第一处理器用于调用所述程序指令,生成身份解析密钥;
在所述电子设备满足第一条件的情况下,将所述身份解析密钥发送给所述蓝牙模块;
所述蓝牙模块用于基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于所述IRK周期性地更新所述RPA;
在所述蓝牙Host要进行蓝牙业务的情况下,所述蓝牙Host向所述蓝牙模块发送RPA请求;
所述蓝牙模块向所述蓝牙Host发送最新更新的RPA;
所述蓝牙Host基于所述最新更新的RPA进行蓝牙业务。
8.如权利要求7所述的方法,其特征在于,所述蓝牙模块基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于所述IRK周期性地更新所述RPA之后,还包括:
当所述第一条件为所述电子设备当前没有运行的应用程序时,定时检测所述电子设备是否存在正在运行的应用程序;
若检测到所述电子设备存在正在运行的应用程序,所述蓝牙模块向所述蓝牙Host发送第一指示信息;所述第一指示信息用于指示所述蓝牙Host基于所述身份解析密钥生成RPA,并基于所述身份解析密钥定时更新所述RPA。
9.如权利要求7所述的方法,其特征在于,所述蓝牙模块基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于所述IRK周期性地更新所述RPA之后,还包括:
当所述第一条件为所述电子设备当前的电量低于第一阈值时,定时检测所述电子设备的电量;
若检测到所述电子设备的电量大于或等于所述第一阈值,所述蓝牙模块向所述蓝牙Host发送第一指示信息;所述第一指示信息用于指示所述蓝牙Host基于所述身份解析密钥生成RPA,并基于所述身份解析密钥定时更新所述RPA。
10.如权利要求7所述的方法,其特征在于,所述蓝牙模块基于所述身份解析密钥IRK生成可解析私密地址RPA,并基于所述IRK周期性地更新所述RPA之后,还包括:
当所述第一条件为在所述电子设备当前运行的应用程序中,高功耗应用程序的数目大于或等于第二阈值时,定时检测所述电子设备运行的所述高功耗应用程序的数目;
若检测到所述数目小于所述第二阈值,所述蓝牙模块向所述蓝牙Host发送第二指示信息;所述第二指示信息用于指示所述蓝牙Host基于所述身份解析密钥生成RPA,并基于所述身份解析密钥定时更新所述RPA。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-6中任意一项所述的方法。
12.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-6中任意一项所述的方法。
CN202111555506.5A 2021-12-17 2021-12-17 一种蓝牙随机地址的生成方法及相关电子设备 Pending CN116266908A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111555506.5A CN116266908A (zh) 2021-12-17 2021-12-17 一种蓝牙随机地址的生成方法及相关电子设备
PCT/CN2022/115777 WO2023109187A1 (zh) 2021-12-17 2022-08-30 一种蓝牙随机地址的生成方法及相关电子设备
EP22905943.1A EP4340465A1 (en) 2021-12-17 2022-08-30 Bluetooth random address generation method and related electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111555506.5A CN116266908A (zh) 2021-12-17 2021-12-17 一种蓝牙随机地址的生成方法及相关电子设备

Publications (1)

Publication Number Publication Date
CN116266908A true CN116266908A (zh) 2023-06-20

Family

ID=86743893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111555506.5A Pending CN116266908A (zh) 2021-12-17 2021-12-17 一种蓝牙随机地址的生成方法及相关电子设备

Country Status (3)

Country Link
EP (1) EP4340465A1 (zh)
CN (1) CN116266908A (zh)
WO (1) WO2023109187A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9853969B2 (en) * 2014-10-01 2017-12-26 Gopro, Inc. Bluetooth low energy hostless private address resolution
US9788351B2 (en) * 2015-03-08 2017-10-10 Apple Inc. Establishing a bluetooth classic connection using an existing bluetooth low energy connection
EP3318048B1 (en) * 2015-07-02 2019-09-04 Telefonaktiebolaget LM Ericsson (publ) Bluetooth low energy addresses generation
CN109417758B (zh) * 2016-06-27 2021-01-15 华为技术有限公司 一种蓝牙连接的方法及终端
CN108990055B (zh) * 2018-07-19 2021-07-30 深圳全志在线有限公司 一种蓝牙设备的隐私保护电路

Also Published As

Publication number Publication date
WO2023109187A1 (zh) 2023-06-22
EP4340465A1 (en) 2024-03-20

Similar Documents

Publication Publication Date Title
CN113225693B (zh) 一种蓝牙连接方法、设备及系统
CN113225690B (zh) 蓝牙连接方法、系统和电子设备
CN112449328B (zh) 一种蓝牙搜索方法、系统及相关装置
EP3822835B1 (en) Method for deleting secure service, and electronic apparatus
CN111405681B (zh) Wi-Fi Aware的建链方法、系统、电子设备和存储介质
CN112399390B (zh) 一种蓝牙回连的方法及相关装置
CN114079893B (zh) 蓝牙通信方法、终端设备及计算机可读存储介质
WO2023005282A9 (zh) 一种消息推送方法及装置
CN116361255A (zh) 数据同步方法、电子设备和计算机可读存储介质
CN110687998A (zh) 一种应用管理方法及装置
US20230297414A1 (en) Task Processing Method and Related Apparatus
CN110806926A (zh) 一种资源管控方法及设备
CN111835907A (zh) 一种跨电子设备转接服务的方法、设备以及系统
CN112860445B (zh) 一种快应用与原生应用间数据共享的方法及终端
WO2020133006A1 (zh) 基于低功耗蓝牙的通信方法及相关装置
CN115134404B (zh) 管理推送连接的方法和电子设备
EP4340465A1 (en) Bluetooth random address generation method and related electronic device
CN114116610A (zh) 获取存储信息的方法、装置、电子设备和介质
CN115278804B (zh) 一种网络选择方法及相关设备
EP4311277A1 (en) Contact tracing method and related device
CN116346982B (zh) 处理音频的方法、电子设备及可读存储介质
WO2023142993A1 (zh) 一种探测方法、相关电子设备及系统
CN115734323B (zh) 功耗优化方法和装置
CN115495716B (zh) 一种本地鉴权方法和电子设备
WO2024012443A1 (zh) 控制设备功耗的方法、系统和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination