Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
nearlink-sdr 1.0.9 文档
nearlink-sdr 1.0.9 文档
  • 快速入门
  • 操作指南
    • 运行链路仿真
    • 添加新的调制方式
    • QoS 服务质量管理
    • 使用 SLE 节点实体
    • Rust 加速模块
    • SDR E310 部署规划
    • 构建文档
  • 技术参考
    • nearlink_sdr
      • nearlink_sdr.mac
        • nearlink_sdr.mac.access
        • nearlink_sdr.mac.broadcast
        • nearlink_sdr.mac.crypto
        • nearlink_sdr.mac.frame
        • nearlink_sdr.mac.link_control
        • nearlink_sdr.mac.link_manager
        • nearlink_sdr.mac.power_control
        • nearlink_sdr.mac.qos
        • nearlink_sdr.mac.scheduler
        • nearlink_sdr.mac.security
        • nearlink_sdr.mac.security_manager
        • nearlink_sdr.mac.signaling
        • nearlink_sdr.mac.smf
        • nearlink_sdr.mac.smf_scheduler
      • nearlink_sdr.sim
        • nearlink_sdr.sim.link_sim
        • nearlink_sdr.sim.usrp_sim
      • nearlink_sdr.common
        • nearlink_sdr.common.bch
        • nearlink_sdr.common.code_block_seg
        • nearlink_sdr.common.crc
        • nearlink_sdr.common.m_sequence
        • nearlink_sdr.common.mcs
        • nearlink_sdr.common.polar
        • nearlink_sdr.common.prbs
        • nearlink_sdr.common.scrambler
      • nearlink_sdr.phy
        • nearlink_sdr.phy.channel
        • nearlink_sdr.phy.control_info
        • nearlink_sdr.phy.data_link
        • nearlink_sdr.phy.equalizer
        • nearlink_sdr.phy.frame
        • nearlink_sdr.phy.freq_hopping
        • nearlink_sdr.phy.gfsk
        • nearlink_sdr.phy.mac_interface
        • nearlink_sdr.phy.measurement
        • nearlink_sdr.phy.measurement_frame
        • nearlink_sdr.phy.measurement_tx
        • nearlink_sdr.phy.mock_backend
        • nearlink_sdr.phy.multitone
        • nearlink_sdr.phy.pilot
        • nearlink_sdr.phy.pluto_backend
        • nearlink_sdr.phy.preamble
        • nearlink_sdr.phy.psk
        • nearlink_sdr.phy.rf_compliance
        • nearlink_sdr.phy.rx_pipeline
        • nearlink_sdr.phy.sdr_backend
        • nearlink_sdr.phy.sync_sequence
        • nearlink_sdr.phy.tx_pipeline
        • nearlink_sdr.phy.uhd_backend
        • nearlink_sdr.phy.usrp
        • nearlink_sdr.phy.uwb_measurement_security
        • nearlink_sdr.phy.uwb_pulse
      • nearlink_sdr.node
  • 设计说明
    • SparkLink SLE 协议总览
    • 物理层原理
    • 物理层详解
    • MAC 层详解
    • 安全子系统详解
    • 端到端数据流
    • 系统架构
    • 标准条款映射
  • 更新日志
  • API Reference
    • nearlink_sdr
      • nearlink_sdr.mac
        • nearlink_sdr.mac.access
        • nearlink_sdr.mac.broadcast
        • nearlink_sdr.mac.crypto
        • nearlink_sdr.mac.frame
        • nearlink_sdr.mac.link_control
        • nearlink_sdr.mac.link_manager
        • nearlink_sdr.mac.power_control
        • nearlink_sdr.mac.qos
        • nearlink_sdr.mac.scheduler
        • nearlink_sdr.mac.security
        • nearlink_sdr.mac.security_manager
        • nearlink_sdr.mac.signaling
        • nearlink_sdr.mac.smf
        • nearlink_sdr.mac.smf_scheduler
      • nearlink_sdr.sim
        • nearlink_sdr.sim.link_sim
        • nearlink_sdr.sim.usrp_sim
      • nearlink_sdr.common
        • nearlink_sdr.common.bch
        • nearlink_sdr.common.code_block_seg
        • nearlink_sdr.common.crc
        • nearlink_sdr.common.m_sequence
        • nearlink_sdr.common.mcs
        • nearlink_sdr.common.polar
        • nearlink_sdr.common.prbs
        • nearlink_sdr.common.scrambler
      • nearlink_sdr.phy
        • nearlink_sdr.phy.channel
        • nearlink_sdr.phy.control_info
        • nearlink_sdr.phy.data_link
        • nearlink_sdr.phy.equalizer
        • nearlink_sdr.phy.frame
        • nearlink_sdr.phy.freq_hopping
        • nearlink_sdr.phy.gfsk
        • nearlink_sdr.phy.mac_interface
        • nearlink_sdr.phy.measurement
        • nearlink_sdr.phy.measurement_frame
        • nearlink_sdr.phy.measurement_tx
        • nearlink_sdr.phy.mock_backend
        • nearlink_sdr.phy.multitone
        • nearlink_sdr.phy.pilot
        • nearlink_sdr.phy.pluto_backend
        • nearlink_sdr.phy.preamble
        • nearlink_sdr.phy.psk
        • nearlink_sdr.phy.rf_compliance
        • nearlink_sdr.phy.rx_pipeline
        • nearlink_sdr.phy.sdr_backend
        • nearlink_sdr.phy.sync_sequence
        • nearlink_sdr.phy.tx_pipeline
        • nearlink_sdr.phy.uhd_backend
        • nearlink_sdr.phy.usrp
        • nearlink_sdr.phy.uwb_measurement_security
        • nearlink_sdr.phy.uwb_pulse
      • nearlink_sdr.node
Back to top
View this page

nearlink_sdr.mac.security¶

安全层配对与鉴权信令 -- TXS-10002-2025 标准 9.2

实现 SLE 配对和鉴权管理所需的信令消息编解码。

Module Contents¶

Classes¶

AddrType

媒体接入层标识类型 (标准 9.3.3)。

GNodeAddress

G 节点媒体接入层标识信息 (标准 9.3.3)。

GNodeConfirmCode

G 节点确认码 (标准 9.2)。

GNodeConfirmCodeWithRandom

G 节点确认码与随机数 (标准 9.2)。

GNodeDHKeyVerify

G 节点 DH 密钥校验码 (标准 9.2)。

GNodeIRK

G 节点身份解析密钥信息 (标准 9.3.3)。

MulticastAlgorithmConfig

组播安全算法指示消息 (标准 9.3.2)。

MulticastKeyConfig

组播密钥配置消息 (标准 9.3.2)。

PairingConfirm

配对确认 (标准 9.2)。

PairingFailure

配对失败 (标准 9.2, 表68)。

PairingInitialInfo

配对初始信息 (标准 9.2): T 节点公钥。

PairingInitiate

配对发起 (标准 9.2)。

PairingRequest

配对请求 (标准 9.2)。

PairingResponse

配对响应 (标准 9.2)。

RaMessage

Ra 随机数消息 (标准 9.2)。

RbMessage

Rb 随机数消息 (标准 9.2)。

ResolutionAlgorithm

解析算法枚举 (标准 9.3.3)。

RgMessage

Rg 随机数消息 (标准 9.2)。

RtMessage

Rt 随机数消息 (标准 9.2)。

TNodeAddress

T 节点媒体接入层标识信息 (标准 9.3.3)。

TNodeConfirmCode

T 节点确认码 (标准 9.2)。

TNodeConfirmCodeWithRandom

T 节点确认码与随机数 (标准 9.2)。

TNodeDHKeyVerify

T 节点 DH 密钥校验码 (标准 9.2)。

TNodeIRK

T 节点身份解析密钥信息 (标准 9.3.3)。

API¶

class nearlink_sdr.mac.security.AddrType[源代码]¶

媒体接入层标识类型 (标准 9.3.3)。

UNION_ALLOCATED¶

0

THIRD_PARTY_LOCAL¶

2

UNION_RESERVED¶

5

PRIVATE¶

6

class nearlink_sdr.mac.security.GNodeAddress[源代码]¶

G 节点媒体接入层标识信息 (标准 9.3.3)。

addr_type: int¶

None

addr: bytes¶

None

DATA_TYPE_INDEX: int¶

325

BYTE_LENGTH: int¶

7

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.GNodeAddress[源代码]¶
class nearlink_sdr.mac.security.GNodeConfirmCode[源代码]¶

Bases: nearlink_sdr.mac.security._BytesMessage

G 节点确认码 (标准 9.2)。

confirm_code: bytes¶

None

DATA_TYPE_INDEX: int¶

319

BYTE_LENGTH: int¶

16

class nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom[源代码]¶

Bases: nearlink_sdr.mac.security._TwoBytesMessage

G 节点确认码与随机数 (标准 9.2)。

confirm_code: bytes¶

None

ra: bytes¶

None

DATA_TYPE_INDEX: int¶

315

BYTE_LENGTH: int¶

32

class nearlink_sdr.mac.security.GNodeDHKeyVerify[源代码]¶

Bases: nearlink_sdr.mac.security._BytesMessage

G 节点 DH 密钥校验码 (标准 9.2)。

verify_code: bytes¶

None

DATA_TYPE_INDEX: int¶

321

BYTE_LENGTH: int¶

16

class nearlink_sdr.mac.security.GNodeIRK[源代码]¶

G 节点身份解析密钥信息 (标准 9.3.3)。

resolution_algorithm: int¶

None

irk: bytes¶

None

irk_id: int¶

None

DATA_TYPE_INDEX: int¶

323

BYTE_LENGTH: int¶

18

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.GNodeIRK[源代码]¶
class nearlink_sdr.mac.security.MulticastAlgorithmConfig[源代码]¶

组播安全算法指示消息 (标准 9.3.2)。

rand: bytes¶

None

kdf_type: int¶

None

encryption_algo: int¶

None

integrity_algo: int¶

None

DATA_TYPE_INDEX: int¶

328

BYTE_LENGTH: int¶

19

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.MulticastAlgorithmConfig[源代码]¶
class nearlink_sdr.mac.security.MulticastKeyConfig[源代码]¶

组播密钥配置消息 (标准 9.3.2)。

c: bytes¶

None

DATA_TYPE_INDEX: int¶

329

BYTE_LENGTH: int¶

16

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.MulticastKeyConfig[源代码]¶
class nearlink_sdr.mac.security.PairingConfirm[源代码]¶

配对确认 (标准 9.2)。

字段:

  • key_length: 1 字节, 密钥长度

  • auth_method: 1 字节, 鉴权方法

  • crypto_algorithm: 4 字节, 加密算法能力

  • g_public_key_x: 32 字节, G 节点公钥 X 分量

  • g_public_key_y: 32 字节, G 节点公钥 Y 分量

key_length: int¶

None

auth_method: int¶

None

crypto_algorithm: bytes¶

None

g_public_key_x: bytes¶

None

g_public_key_y: bytes¶

None

DATA_TYPE_INDEX: int¶

310

BYTE_LENGTH: int¶

70

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.PairingConfirm[源代码]¶
class nearlink_sdr.mac.security.PairingFailure[源代码]¶

配对失败 (标准 9.2, 表68)。

reason 取值 0x01-0x0C: 0x01 通行码输入失败 0x02 OOB 不可用 0x03 鉴权请求不匹配 0x04 确认值不匹配 0x05 不支持的配对方式 0x06 加密密钥长度不足 0x07 不支持的命令 0x08 未确认的配对 0x09 重复的配对尝试 0x0A 无效参数 0x0B DHKey 校验失败 0x0C 数字比较失败

reason: int¶

None

DATA_TYPE_INDEX: int¶

327

BYTE_LENGTH: int¶

1

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.PairingFailure[源代码]¶
class nearlink_sdr.mac.security.PairingInitialInfo[源代码]¶

Bases: nearlink_sdr.mac.security._TwoBytesMessage

配对初始信息 (标准 9.2): T 节点公钥。

t_public_key_x: bytes¶

None

t_public_key_y: bytes¶

None

DATA_TYPE_INDEX: int¶

311

BYTE_LENGTH: int¶

64

class nearlink_sdr.mac.security.PairingInitiate[源代码]¶

配对发起 (标准 9.2)。

auth_request 字段布局 (8 bits): 安全属性(2bit) | 防中间人攻击指示位(1bit) | 按键提示(1bit) | 保留(4bit)

auth_request: int¶

None

DATA_TYPE_INDEX: int¶

307

BYTE_LENGTH: int¶

1

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.PairingInitiate[源代码]¶
class nearlink_sdr.mac.security.PairingRequest[源代码]¶

配对请求 (标准 9.2)。

字段:

  • io_capability: 1 字节, I/O 能力

  • oob_data_flag: 1 字节, OOB 数据标志

  • auth_request: 1 字节, 鉴权请求

  • max_key_length: 1 字节, 最大密钥长度

  • security_dist_info: 1 字节, 安全分发信息

  • crypto_capability: 4 字节, 加密能力

  • psk_indication: 1 字节, PSK 指示

io_capability: int¶

None

oob_data_flag: int¶

None

auth_request: int¶

None

max_key_length: int¶

None

security_dist_info: int¶

None

crypto_capability: bytes¶

None

psk_indication: int¶

None

DATA_TYPE_INDEX: int¶

308

BYTE_LENGTH: int¶

10

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.PairingRequest[源代码]¶
class nearlink_sdr.mac.security.PairingResponse[源代码]¶

配对响应 (标准 9.2)。

字段与 PairingRequest 完全相同。

io_capability: int¶

None

oob_data_flag: int¶

None

auth_request: int¶

None

max_key_length: int¶

None

security_dist_info: int¶

None

crypto_capability: bytes¶

None

psk_indication: int¶

None

DATA_TYPE_INDEX: int¶

309

BYTE_LENGTH: int¶

10

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.PairingResponse[源代码]¶
class nearlink_sdr.mac.security.RaMessage[源代码]¶

Bases: nearlink_sdr.mac.security._BytesMessage

Ra 随机数消息 (标准 9.2)。

ra: bytes¶

None

DATA_TYPE_INDEX: int¶

313

BYTE_LENGTH: int¶

16

class nearlink_sdr.mac.security.RbMessage[源代码]¶

Bases: nearlink_sdr.mac.security._BytesMessage

Rb 随机数消息 (标准 9.2)。

rb: bytes¶

None

DATA_TYPE_INDEX: int¶

314

BYTE_LENGTH: int¶

16

class nearlink_sdr.mac.security.ResolutionAlgorithm[源代码]¶

解析算法枚举 (标准 9.3.3)。

HMAC_SM3¶

1

AES_CMAC_128¶

2

class nearlink_sdr.mac.security.RgMessage[源代码]¶

Bases: nearlink_sdr.mac.security._TwoBytesMessage

Rg 随机数消息 (标准 9.2)。

rg_x: bytes¶

None

rg_y: bytes¶

None

DATA_TYPE_INDEX: int¶

328

BYTE_LENGTH: int¶

64

class nearlink_sdr.mac.security.RtMessage[源代码]¶

Bases: nearlink_sdr.mac.security._TwoBytesMessage

Rt 随机数消息 (标准 9.2)。

rt_x: bytes¶

None

rt_y: bytes¶

None

DATA_TYPE_INDEX: int¶

329

BYTE_LENGTH: int¶

64

class nearlink_sdr.mac.security.TNodeAddress[源代码]¶

T 节点媒体接入层标识信息 (标准 9.3.3)。

addr_type: int¶

None

addr: bytes¶

None

DATA_TYPE_INDEX: int¶

326

BYTE_LENGTH: int¶

7

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.TNodeAddress[源代码]¶
class nearlink_sdr.mac.security.TNodeConfirmCode[源代码]¶

Bases: nearlink_sdr.mac.security._BytesMessage

T 节点确认码 (标准 9.2)。

confirm_code: bytes¶

None

DATA_TYPE_INDEX: int¶

312

BYTE_LENGTH: int¶

16

class nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom[源代码]¶

Bases: nearlink_sdr.mac.security._TwoBytesMessage

T 节点确认码与随机数 (标准 9.2)。

confirm_code: bytes¶

None

rb: bytes¶

None

DATA_TYPE_INDEX: int¶

316

BYTE_LENGTH: int¶

32

class nearlink_sdr.mac.security.TNodeDHKeyVerify[源代码]¶

Bases: nearlink_sdr.mac.security._BytesMessage

T 节点 DH 密钥校验码 (标准 9.2)。

verify_code: bytes¶

None

DATA_TYPE_INDEX: int¶

322

BYTE_LENGTH: int¶

16

class nearlink_sdr.mac.security.TNodeIRK[源代码]¶

T 节点身份解析密钥信息 (标准 9.3.3)。

resolution_algorithm: int¶

None

irk: bytes¶

None

irk_id: int¶

None

DATA_TYPE_INDEX: int¶

324

BYTE_LENGTH: int¶

18

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.security.TNodeIRK[源代码]¶
Next
nearlink_sdr.mac.security_manager
Previous
nearlink_sdr.mac.scheduler
Copyright ©
Made with Sphinx and @pradyunsg's Furo
On this page
  • nearlink_sdr.mac.security
    • Module Contents
      • Classes
      • API
        • AddrType
          • AddrType.UNION_ALLOCATED
          • AddrType.THIRD_PARTY_LOCAL
          • AddrType.UNION_RESERVED
          • AddrType.PRIVATE
        • GNodeAddress
          • GNodeAddress.addr_type
          • GNodeAddress.addr
          • GNodeAddress.DATA_TYPE_INDEX
          • GNodeAddress.BYTE_LENGTH
          • GNodeAddress.pack()
          • GNodeAddress.unpack()
        • GNodeConfirmCode
          • GNodeConfirmCode.confirm_code
          • GNodeConfirmCode.DATA_TYPE_INDEX
          • GNodeConfirmCode.BYTE_LENGTH
        • GNodeConfirmCodeWithRandom
          • GNodeConfirmCodeWithRandom.confirm_code
          • GNodeConfirmCodeWithRandom.ra
          • GNodeConfirmCodeWithRandom.DATA_TYPE_INDEX
          • GNodeConfirmCodeWithRandom.BYTE_LENGTH
        • GNodeDHKeyVerify
          • GNodeDHKeyVerify.verify_code
          • GNodeDHKeyVerify.DATA_TYPE_INDEX
          • GNodeDHKeyVerify.BYTE_LENGTH
        • GNodeIRK
          • GNodeIRK.resolution_algorithm
          • GNodeIRK.irk
          • GNodeIRK.irk_id
          • GNodeIRK.DATA_TYPE_INDEX
          • GNodeIRK.BYTE_LENGTH
          • GNodeIRK.pack()
          • GNodeIRK.unpack()
        • MulticastAlgorithmConfig
          • MulticastAlgorithmConfig.rand
          • MulticastAlgorithmConfig.kdf_type
          • MulticastAlgorithmConfig.encryption_algo
          • MulticastAlgorithmConfig.integrity_algo
          • MulticastAlgorithmConfig.DATA_TYPE_INDEX
          • MulticastAlgorithmConfig.BYTE_LENGTH
          • MulticastAlgorithmConfig.pack()
          • MulticastAlgorithmConfig.unpack()
        • MulticastKeyConfig
          • MulticastKeyConfig.c
          • MulticastKeyConfig.DATA_TYPE_INDEX
          • MulticastKeyConfig.BYTE_LENGTH
          • MulticastKeyConfig.pack()
          • MulticastKeyConfig.unpack()
        • PairingConfirm
          • PairingConfirm.key_length
          • PairingConfirm.auth_method
          • PairingConfirm.crypto_algorithm
          • PairingConfirm.g_public_key_x
          • PairingConfirm.g_public_key_y
          • PairingConfirm.DATA_TYPE_INDEX
          • PairingConfirm.BYTE_LENGTH
          • PairingConfirm.pack()
          • PairingConfirm.unpack()
        • PairingFailure
          • PairingFailure.reason
          • PairingFailure.DATA_TYPE_INDEX
          • PairingFailure.BYTE_LENGTH
          • PairingFailure.pack()
          • PairingFailure.unpack()
        • PairingInitialInfo
          • PairingInitialInfo.t_public_key_x
          • PairingInitialInfo.t_public_key_y
          • PairingInitialInfo.DATA_TYPE_INDEX
          • PairingInitialInfo.BYTE_LENGTH
        • PairingInitiate
          • PairingInitiate.auth_request
          • PairingInitiate.DATA_TYPE_INDEX
          • PairingInitiate.BYTE_LENGTH
          • PairingInitiate.pack()
          • PairingInitiate.unpack()
        • PairingRequest
          • PairingRequest.io_capability
          • PairingRequest.oob_data_flag
          • PairingRequest.auth_request
          • PairingRequest.max_key_length
          • PairingRequest.security_dist_info
          • PairingRequest.crypto_capability
          • PairingRequest.psk_indication
          • PairingRequest.DATA_TYPE_INDEX
          • PairingRequest.BYTE_LENGTH
          • PairingRequest.pack()
          • PairingRequest.unpack()
        • PairingResponse
          • PairingResponse.io_capability
          • PairingResponse.oob_data_flag
          • PairingResponse.auth_request
          • PairingResponse.max_key_length
          • PairingResponse.security_dist_info
          • PairingResponse.crypto_capability
          • PairingResponse.psk_indication
          • PairingResponse.DATA_TYPE_INDEX
          • PairingResponse.BYTE_LENGTH
          • PairingResponse.pack()
          • PairingResponse.unpack()
        • RaMessage
          • RaMessage.ra
          • RaMessage.DATA_TYPE_INDEX
          • RaMessage.BYTE_LENGTH
        • RbMessage
          • RbMessage.rb
          • RbMessage.DATA_TYPE_INDEX
          • RbMessage.BYTE_LENGTH
        • ResolutionAlgorithm
          • ResolutionAlgorithm.HMAC_SM3
          • ResolutionAlgorithm.AES_CMAC_128
        • RgMessage
          • RgMessage.rg_x
          • RgMessage.rg_y
          • RgMessage.DATA_TYPE_INDEX
          • RgMessage.BYTE_LENGTH
        • RtMessage
          • RtMessage.rt_x
          • RtMessage.rt_y
          • RtMessage.DATA_TYPE_INDEX
          • RtMessage.BYTE_LENGTH
        • TNodeAddress
          • TNodeAddress.addr_type
          • TNodeAddress.addr
          • TNodeAddress.DATA_TYPE_INDEX
          • TNodeAddress.BYTE_LENGTH
          • TNodeAddress.pack()
          • TNodeAddress.unpack()
        • TNodeConfirmCode
          • TNodeConfirmCode.confirm_code
          • TNodeConfirmCode.DATA_TYPE_INDEX
          • TNodeConfirmCode.BYTE_LENGTH
        • TNodeConfirmCodeWithRandom
          • TNodeConfirmCodeWithRandom.confirm_code
          • TNodeConfirmCodeWithRandom.rb
          • TNodeConfirmCodeWithRandom.DATA_TYPE_INDEX
          • TNodeConfirmCodeWithRandom.BYTE_LENGTH
        • TNodeDHKeyVerify
          • TNodeDHKeyVerify.verify_code
          • TNodeDHKeyVerify.DATA_TYPE_INDEX
          • TNodeDHKeyVerify.BYTE_LENGTH
        • TNodeIRK
          • TNodeIRK.resolution_algorithm
          • TNodeIRK.irk
          • TNodeIRK.irk_id
          • TNodeIRK.DATA_TYPE_INDEX
          • TNodeIRK.BYTE_LENGTH
          • TNodeIRK.pack()
          • TNodeIRK.unpack()