CN111314269B - 一种地址自动分配协议安全认证方法及设备 - Google Patents

一种地址自动分配协议安全认证方法及设备 Download PDF

Info

Publication number
CN111314269B
CN111314269B CN201811513622.9A CN201811513622A CN111314269B CN 111314269 B CN111314269 B CN 111314269B CN 201811513622 A CN201811513622 A CN 201811513622A CN 111314269 B CN111314269 B CN 111314269B
Authority
CN
China
Prior art keywords
address
client
server
authentication
identity
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.)
Active
Application number
CN201811513622.9A
Other languages
English (en)
Other versions
CN111314269A (zh
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201811513622.9A priority Critical patent/CN111314269B/zh
Publication of CN111314269A publication Critical patent/CN111314269A/zh
Application granted granted Critical
Publication of CN111314269B publication Critical patent/CN111314269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种地址自动分配协议安全认证方法及设备,所述方法包括:地址分配服务器在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥;地址分配服务器广播地址发布报文,并通过私钥对地址报文进行数字签名;地址分配服务器接收客户机验证地址报文后生成的访问票据和客户机的身份认证标识;地址分配服务器根据访问票据和身份认证标识验证客户机的身份;当客户机的身份验证通过时,地址分配服务器发送分配地址报文至客户机。本申请提供的技术方案既可以认证地址分配服务器,还可以证客户机,还可以通过第三方认证服务器进行相互认证,有效避免了攻击者恶意广播非法地址,恶意主机申请地址以耗费合法地址等情况。

Description

一种地址自动分配协议安全认证方法及设备
技术领域
本发明属于网络安全技术领域,尤其涉及一种地址自动分配协议安全认证方法及设备。
背景技术
随着数据中心规模的扩大和虚拟化的引入,除了带来了物理设备的增加,数据中心的服务器、存储和网络的虚拟化更是带来了虚拟设施的指数增长。由于每个虚拟机都拥有唯一的MAC地址(Media Access Control Address,局域网地址),这导致了MAC地址的消耗急剧上升,因此MAC地址空间容量有不足的隐患。其次,MAC地址一旦分配就不能改变。这些问题带来了数据中心中的许多其他的问题,比如:路由转发耗时长、引发广播风暴和设备迁移的不方便等等。
对于本地MAC地址的自动分配方法,主要包括地址集中分配管理和分布式分配管理。其中,服务器集中分配方案中,服务器周期性主动向网络发布合法的本地地址块,并通过地址资源池集中管理网段内所有主机的本地地址信息;分布式地址分配方案中,主机通过向周围节点申请地址的方式获得本地地址,每个拥有本地地址的节点都维护一个地址资源池以向周围节点提供地址;主机还可以通过自申明的方式获得本地地址,通过某种算法随机自动生成地址串并加以冲突检测,从而保证本地地址的合法有效。
然而在本地MAC地址的自动分配技术中,存在着网络安全隐患。比如主机通过地址分配服务器获得本地地址的过程中,非法用户很容易申请到本地地址,这样很容易发生攻击者恶意消耗本地地址资源、攻击网络的问题;在地址分配服务器周期性广播本地地址的过程中,攻击者很容易冒充服务器非法散播恶意地址,造成无法正常通信。
发明内容
为了解决本地MAC地址自动分配过程中存在的安全隐患的问题,本申请提供了一种地址自动分配协议安全认证方法、装置、计算机设备和存储介质,提高地址分配过程中的安全性,实现本地MAC地址的安全分配。
本申请提供了一种地址自动分配协议安全认证方法,应用于包括地址分配服务器、认证服务器和客户机的网络中,包括:
地址分配服务器在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥;
地址分配服务器广播地址发布报文,并通过私钥对地址报文进行数字签名;
地址分配服务器接收客户机验证地址报文后生成的访问票据和客户机的身份认证标识;
地址分配服务器根据访问票据和身份认证标识验证客户机的身份;
当客户机的身份验证通过时,地址分配服务器发送分配地址报文至客户机。
进一步的,所述地址分配服务器在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥,包括:
地址分配服务器与认证服务器设定共享密钥;
地址分配服务器接收认证服务器发送的经过共享密钥加密后的私钥;
地址分配服务器解密所述经过共享密钥加密后的私钥,得到私钥。
进一步的,所述地址分配服务器根据访问票据和身份认证标识验证客户机的身份,包括:
地址分配服务器使用私钥解密所述访问票据,使用与认证服务器的共享密钥解密所述身份认证标识;
若解密后的身份信息一致,则验证时间戳信息;
若时间戳信息与当前时刻的差值在预设范围内,则验证通过;
否则验证失败。
进一步的,所述地址分配服务器发送分配地址报文至客户机,包括:
地址分配服务器保存会话密钥,并发送携带会话密钥加密后的时间戳的地址批准报文至客户机。
一种地址自动分配协议安全认证设备,该设备应用于包括地址分配服务器、认证服务器和客户机的网络中的地址分配服务器,所述设备包括:
第一注册模块,用于在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥;
报文发布模块,用于广播地址发布报文,并通过私钥对地址报文进行数字签名;
第一接收模块,用于接收客户机验证地址报文后生成的访问票据和客户机的身份认证标识;
第一验证模块,用于根据访问票据和身份认证标识验证客户机的身份;
第一发送模块,用于当客户机的身份验证通过时,发送分配地址报文至客户机。
一种地址自动分配协议安全认证方法,应用于包括地址分配服务器、认证服务器和客户机的网络中,包括:
客户机启动后在认证服务器上注册,并接收认证服务器生成的身份认证标识和地址分配服务器的公钥;
客户机接收地址分配服务器签名的地址报文并验证;
当所述地址报文验证通过时,客户机接收所述地址报文,并生成访问票据;
客户机将所述访问票据和身份认证标识发送至地址分配服务器;
客户机接收地址分配服务器发送的地址批准报文并解密。
进一步的,所述客户机启动后在认证服务器上注册,并接收认证服务器生成的身份认证标识和地址分配服务器的公钥,包括:
客户机启动后生成临时地址,并向认证服务器发起注册;
客户机接收认证服务器生成的身份认证标识以及地址分配服务器的公钥。
进一步的,所述客户机启动后生成临时地址,包括:
客户机连续广播启动消息;
若在预设时间内未接收到冲突回应,则生成临时地址;
否则,重新生成临时地址。
进一步的,所述访问票据包括:客户机身份信息、会话密钥和时间戳信息。
进一步的,所述地址批准报文包括:地址批准报文和经会话密钥加密后的时间戳。
一种地址自动分配协议安全认证设备,该设备应用于包括地址分配服务器、认证服务器和客户机的网络中的客户机,包括:
第二注册模块,用于启动后在认证服务器上注册,并接收认证服务器生成的身份认证标识和地址分配服务器的公钥;
第二验证模块,用于接收地址分配服务器签名的地址报文并验证;
第二接收模块,用于当所述地址报文验证通过时,接收所述地址报文,并生成访问票据;
第二发送模块,用于将所述访问票据和身份认证标识发送至地址分配服务器;
解密模块,用于接收地址分配服务器发送的地址批准报文并解密。
本发明提供的技术方案与现有技术相比具有如下优点:
本发明提供的技术方案通过在认证服务器上注册并获取相应的公钥、私钥或共享密钥,并通过私钥对地址报文进行数字签名,然后接收并验证客户机验证地址报文后生成的访问票据和客户机的身份认证标识等信息,验证通过则说明认证成功。本发明既可以认证地址分配服务器,还可以证客户机,还可以通过第三方认证服务器进行相互认证,有效避免了攻击者恶意广播非法地址,恶意主机申请地址以耗费合法地址等情况。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中地址自动分配协议安全认证方法流程图;
图2为一个实施例中地址分配服务器在认证服务器上注册的流程示意图;
图3为一个实施例中地址分配服务器验证客户机身份流程示意图;
图4为一个实施例中地址自动分配协议安全认证设备示意图;
图5为一个实施例中地址自动分配协议安全认证方法流程图;
图6为一个实施例中客户机在认证服务器上注册的流程示意图;
图7为一个实施例中客户机临时地址生成流程示意图;
图8为一个实施例中自定义Option180字段格式示意图;
图9为一个实施例中地址自动分配协议安全认证设备示意图;
图10为一个实施例中具体应用实例的时序图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中地址自动分配协议安全认证方法流程图。参照图1,本申请提供了一种地址自动分配协议安全认证方法。应用于包括地址分配服务器Address Server、认证服务器AS和客户机Client的网络中,该地址自动分配协议安全认证方法具体包括如下步骤:
S11、地址分配服务器在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥。
具体的,地址分配服务器在认证服务器上注册,认证服务器为其生成一对公钥Ks-1和私钥Ks,以及共享密钥Ksas。其中,共享密钥的产生采用Diffie-Hellman密钥交换算法,以保证密钥传输过程的安全。
S12、地址分配服务器广播地址发布报文,并通过私钥对地址报文进行数字签名。
具体的,地址分配服务器广播地址发布报文,并使用私钥Ks对报文进行数字签名,将签名携带在报文中,以防止恶意主机冒充和篡改。
S13、地址分配服务器接收客户机验证地址报文后生成的访问票据和客户机的身份认证标识。
S14、地址分配服务器根据访问票据和身份认证标识验证客户机的身份。
S15、当客户机的身份验证通过时,地址分配服务器发送分配地址报文至客户机。
也就是,地址分配服务器收到申请报文后,根据访问票据和身份认证标识验证客户机的身份,如果验证通过,则保存会话密钥Kcs并在随后的报文中携带会话密钥加密后的时间戳{Timestamp}Kcs,从而建立起安全通道。除此之外,还需检查时间戳与当前时间是否相差ΔT(防止重放攻击),如果满足则通过身份认证。在接下来的通信过程中,采用约定的会话密钥加密时间戳{Timestamp}Kcs来保障通信安全。
如果解密后的Client内容一致并且时间戳Timestamp在误差范围内,则认为是合法客户机。随后地址分配服务器使用约定的会话密钥Kcs对时间戳加密并携带在分配报文中,以认证服务器身份防止重放攻击。
上述地址自动分配协议安全认证方法,通过在认证服务器上注册并获取相应的公钥、私钥或共享密钥,并通过私钥对地址报文进行数字签名,然后接收并验证客户机验证地址报文后生成的访问票据和客户机的身份认证标识等信息,验证通过则说明认证成功。本发明既可以认证地址分配服务器,还可以证客户机,还可以通过第三方认证服务器进行相互认证,有效避免了攻击者恶意广播非法地址,恶意主机申请地址以耗费合法地址等情况。
在本申请的一个实施例中,如图2所示,步骤S11包括:
S111、地址分配服务器与认证服务器设定共享密钥;
S112、地址分配服务器接收认证服务器发送的经过共享密钥加密后的私钥;
S113、地址分配服务器解密所述经过共享密钥加密后的私钥,得到私钥。
其中,地址分配服务器保存自己的私钥Ks和共享密钥Ksas,其公钥Ks-1由认证服务器分发给所有合法注册的客户机。
在本申请的一个实施例中,如图3所示,步骤S14包括:
地址分配服务器使用私钥解密所述访问票据,使用与认证服务器的共享密钥解密所述身份认证标识;
若解密后的身份信息一致,则验证时间戳信息;
若时间戳信息与当前时刻的差值在预设范围内,则验证通过;
否则验证失败。
具体的,当地址分配服务器或客户机身份认证失败时,则出现异常,以下分别阐述二者身份认证失败的场景。
客户机收到广播地址报文后首先验证地址分配服务器的身份,验证方法是基于数字签名,使用服务器公钥解密数字签名,并与报文的哈希值做比较,如果不一致则地址服务器的身份验证失败,客户机认为该地址分配服务器是非法服务器,不予接受其发布的本地MAC地址。具体做法是客户机丢弃该发布报文,并继续等待广播地址发布报文。
地址分配服务器收到客户机的地址申请报文后首先验证客户机的身份,验证是基于报文携带的身份认证标识和访问票据,分别使用共享密钥和私钥解密两者可以得到明文信息,对比两者携带的身份信息是否一致,如果不一致则客户机身份验证失败,服务器认为该客户机是非法客户机。为了避免该非法用户发起DOS攻击,一旦身份信息验证不通过,服务器将该用户拉入黑名单,不予回复和接收任何该客户机的消息。如果身份信息一致则进一步验证时间戳,如果时间戳与当前时间相差超过规定阈值,则身份验证也失败,这有可能是重放攻击也有可能是网络阻塞导致的,服务器丢弃该申请报文,不为该客户机进行下一步地址分配。
本申请的实施例还提供了一种地址自动分配协议安全认证设备,如图4所示,该设备应用于包括地址分配服务器、认证服务器和客户机的网络中的地址分配服务器,包括:
第一注册模块,用于在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥;
报文发布模块,用于广播地址发布报文,并通过私钥对地址报文进行数字签名;
第一接收模块,用于接收客户机验证地址报文后生成的访问票据和客户机的身份认证标识;
第一验证模块,用于根据访问票据和身份认证标识验证客户机的身份;
第一发送模块,用于当客户机的身份验证通过时,发送分配地址报文至客户机。
在本申请的一个实施例中,第一注册模块,具体用于,
地址分配服务器与认证服务器设定共享密钥;
地址分配服务器接收认证服务器发送的经过共享密钥加密后的私钥;
地址分配服务器解密所述经过共享密钥加密后的私钥,得到私钥。
在本申请的一个实施例中,第一验证模块,具体用于,
地址分配服务器使用私钥解密所述访问票据,使用与认证服务器的共享密钥解密所述身份认证标识;
若解密后的身份信息一致,则验证时间戳信息;
若时间戳信息与当前时刻的差值在预设范围内,则验证通过;
否则验证失败。
在本申请的一个实施例中,第一发送模块,具体用于,
地址分配服务器保存会话密钥,并发送携带会话密钥加密后的时间戳的地址批准报文至客户机。
图5为一个实施例中地址自动分配协议安全认证方法流程图。参照图5,本申请提供了一种地址自动分配协议安全认证方法。应用于包括地址分配服务器、认证服务器和客户机的网络中,该地址自动分配协议安全认证方法具体包括如下步骤:
S21、客户机启动后在认证服务器上注册,并接收认证服务器生成的身份认证标识和地址分配服务器的公钥。
具体的,客户机启动后在认证服务器AS上注册,认证服务器为其生成身份认证标识{Client}Ksas,并与地址分配服务器的公钥Ks-1一起返回给客户机。
认证服务器为客户机生成身份认证标识{Client}Ksas,Client为客户机的身份特征信息(如主机名、CPU序列号等),认证标识由第三方可信认证服务器为客户机颁发,因此在后续身份认证中起到决定作用。
S22、客户机接收地址分配服务器签名的地址报文并验证。
具体的,客户机收到地址分配报文后,使用地址分配服务器的公钥Ks-1验证数字签名,从而可以验证服务器身份。
S23、当所述地址报文验证通过时,客户机接收所述地址报文,并生成访问票据。
具体的,如果验证通过,则接收发布的地址块,在随后发起的地址申请中,客户机需要证明自己的身份,这里采用访问票据和身份认证标识相结合的方式。访问票据{Client,Kcs,Timestamp}Ks -1和身份认证标识{Client}Ksas都包含客户机身份信息,前者由客户机自己生成、后者由认证服务器颁发。除了身份信息以外,访问票据中还包含约定的会话密钥和时间戳信息,可保障后续通信的安全并且防止重放攻击。
S24、客户机将所述访问票据和身份认证标识发送至地址分配服务器。
具体的,随后客户机生成与服务器之间的会话密钥Kcs,以及访问票据{Client,Kcs,Timestamp}Ks -1,并与身份认证标识{Client}Ksas一起添加到地址申请报文的option180字段中。
访问票据由客户机身份信息Client、会话密钥Kcs和时间戳Timestamp信息经过服务器的公钥Ks-1加密构成,用来向地址分配服务器验证客户机身份和约定会话密钥,并且可以防止重放攻击。其中,会话密钥Kcs是客户机生成的与地址分配服务器之间的共享密钥,可以由客户机身份信息和地址分配服务器的公钥进行哈希运算生成,即Hash(Ks-1+Client)。
S25、客户机接收地址分配服务器发送的地址批准报文并解密。
客户机收到分配报文,使用约定的会话密钥解密时间戳Timestamp,可以认证服务器的身份。若与当前时间相差在ΔT之内,则接受地址分配。
上述地址自动分配协议安全认证方法,通过在认证服务器上注册收认证服务器生成的身份认证标识和地址分配服务器的公钥,当接收到地址分配服务器签名的地址报文时进行验证,验证通过时,客户机接收所述地址报文,并生成访问票据,并将所述访问票据和身份认证标识发送至地址分配服务器,最后接收地址分配服务器发送的地址批准报文并解密。本发明既可以认证地址分配服务器,还可以证客户机,还可以通过第三方认证服务器进行相互认证,有效避免了攻击者恶意广播非法地址,恶意主机申请地址以耗费合法地址等情况。
在本申请的一个实施例中,如图6所示,步骤S21包括:
S211、客户机启动后生成临时地址,并向认证服务器发起注册;
S212、客户机接收认证服务器生成的身份认证标识以及地址分配服务器的公钥。
具体的,认证服务器收到注册申请后,为客户机生成身份认证标识{Client}Ksas。身份认证标识采用认证服务器与地址分配服务器之间的共享密钥Ksas对客户机的身份信息进行加密。客户机保存身份认证标识以备后续认证客户机身份使用。认证服务器将地址分配服务器的公钥Ks-1发送给客户机。
在本申请的一个实施例中,如图7所示,步骤S211包括:
客户机连续广播启动消息;
若在预设时间内未接收到冲突回应,则生成临时地址;
否则,重新生成临时地址。
具体的,客户机启动后生成临时地址,向认证服务器发起注册。临时地址根据客户机的身份特征信息(如主机名、CPU序列号等)进行哈希运算得到。虽然临时地址仅用来注册身份信息以及密钥交换,但仍需要在一定时间内避免冲突。具体做法是连续广播启动消息,如果在规定时间内没有收到冲突回应,则使用临时地址向认证服务器发送注册申请;否则重新生成临时地址。临时地址在客户机收到认证服务器回应后即可释放。
在本申请的一个实施例中,安全认证的相关信息携带在报文的Option180字段中,可以采取TLV编码格式,本实例阐述TLV格式的Option180字段格式,以及在认证过程中具体的作用。
如图8所示,本发明中涉及的自定义Option180字段按照TLV格式,即每个子域由类型(TLV_Type)、子域取值的长度(TLV_Length)和子域取值(TLV_Value)构成。其中Type和Length长度固定都是一个字节大小,value字段的长度由length指定,承载具体的认证信息。若一个报文要携带多个认证信息,则扩展为多个TLV格式,例如,地址申请报文中需要携带身份认证标识和访问票据,则两个认证信息都以TLV编码格式放入Option180字段中。
其中,在TLV的Value字段中,还设计了一个字节大小的算法(Algorithm)字段,用来标识采用的加密算法,规定当值为0时为明文信息,当值为1时规定为MD5算法,当值为2时规定为SHA-1算法等。Value的其余选项为认证相关的信息,命名为认证(Authentication)字段,该字段长度可变,最大上限为255字节。Authentication字段携带安全协议中认证相关的信息,比如传输的明文公钥信息、密文身份标识、访问票据等等。
根据我们的认证算法,使用MD5和SHA-1产生密文消息都不会超过255字节。本发明中所涉及的安全认证信息,都携带在分配报文中的Option180字段中,与原协议具有良好的兼容性。在具体应用中,对于地址分配报文中不存在自定义Option180的报文的处理可以根据需求让认证模块选择丢弃也可以不处理直接通过。
以客户机身份验证步骤为例,说明Option180字段的工作流程。地址分配服务器收到客户机的地址申请报文,首先从Option180字段中取出认证消息,按TLV编码格式解析认证消息。根据length字段取出第一条相应长度的认证信息,根据Type字段可知该认证信息是身份标识信息,根据Value字段的第一个字节可知该密文信息采用的是AES算法加密,接下来使用共享密钥Ksas按AES算法解密Value字段的剩余部分,可得到明文客户机身份信息。第二条认证信息按同样的方式,可以根据Type字段得知是访问票据信息,根据Value字段的第一个字节得知是采用RSA加密算法,接下来使用私钥Ks对Value字段剩余部分解密,可得到明文的访问票据。
在认证过程中采用TLV格式的Option180字段,实现了认证信息的统一存放,当有多个认证信息时可以自由地扩展,并且与原协议有良好的兼容性。
本申请的实施例还提供了一种地址自动分配协议安全认证设备,如图9所示,该设备应用于包括地址分配服务器、认证服务器和客户机的网络中的客户机,包括:
第二注册模块,用于启动后在认证服务器上注册,并接收认证服务器生成的身份认证标识和地址分配服务器的公钥;
第二验证模块,用于接收地址分配服务器签名的地址报文并验证;
第二接收模块,用于当所述地址报文验证通过时,接收所述地址报文,并生成访问票据;
第二发送模块,用于将所述访问票据和身份认证标识发送至地址分配服务器;
解密模块,用于接收地址分配服务器发送的地址批准报文并解密。
本地地址自动分配技术是为了在局域网中获取本地唯一的地址,以解决传统MAC地址空间不足等缺陷。本发明是一种安全认证方案,辅助本地地址自动分配协议,解决其存在的网络安全风险。
Client:客户机身份标识,可以是主机名、CPU序列号等特征信息。
Ks-1:地址分配服务器的公钥,由认证服务器为其生成。
Ks:地址分配服务器私钥,由认证服务器为其生成。
Ksas:认证服务器与地址分配服务器之间的共享密钥,由认证服务器生成。
Kcs:客户机与地址分配服务器之间的会话密钥,由客户机生成。
Timestamp:根据当前时间生成的一个字符串。
ΔT:误差时间,单位时间为秒,其中0<ΔT<1。
Hash:哈希算法,即散列函数,一种单向密码体制,只能加密不能解密,如MD5、SHA-1等。用于认证服务器生成密钥。
Option180:用于携带安全认证信息的选项,为了和地址分配协议报文的Option加以区分,安全认证过程中使用自定义的Option格式,选项码为180,格式如图8所示。
本发明中涉及的第三方可信认证服务器AS的数据库保存了网络中所有合法主机的身份信息、认证标识,地址分配服务器的公钥、私钥以及与认证服务器之间的共享密钥,是实现客户机和服务器之间相互认证的关键机制。
本实例以服务器广播地址的自动分配协议为具体应用实例,说明安全认证的过程。图10是具体应用实例的时序图。
地址分配服务器在认证服务器上注册,认证服务器为其生成一对公钥Ks-1和私钥Ks,以及共享密钥Ksas。其中,共享密钥的产生采用Diffie-Hellman密钥交换算法,以保证密钥传输过程的安全。其具体传输过程如图10所示,该步骤进一步包括:
S101:认证服务器首先采用Diffie-Hellman算法,与地址分配服务器约定共享密钥Ksas。双方保存共享密钥。
S102:认证服务器用共享密钥加密私钥,将加密后的私钥传输给地址分配服务器,即{Ks}Ksas。地址分配服务器接收后解密并保存私钥Ks。
客户机启动后在认证服务器上注册,认证服务器为其生成身份认证标识{Client}Ksas,并与地址分配服务器的公钥Ks-1一起返回给客户机。根据图10,该步骤进一步包括:
S201:客户机启动后生成临时地址,向认证服务器发起注册。临时地址根据客户机的身份特征信息(如主机名、CPU序列号等)进行哈希运算得到。虽然临时地址仅用来注册身份信息以及密钥交换,但仍需要在一定时间内避免冲突。具体做法是连续广播启动消息,如果在规定时间内没有收到冲突回应,则使用临时地址向认证服务器发送注册申请;否则重新生成临时地址。临时地址在客户机收到认证服务器回应后即可释放。
S202:认证服务器收到注册申请后,为客户机生成身份认证标识{Client}Ksas。身份认证标识采用认证服务器与地址分配服务器之间的共享密钥Ksas对客户机的身份信息进行加密。客户机保存身份认证标识以备后续认证客户机身份使用。
S203:认证服务器将地址分配服务器的公钥Ks-1发送给客户机。
地址分配服务器广播地址发布报文,并使用私钥Ks对报文进行数字签名,将签名携带在报文中,以防止恶意主机冒充和篡改。
S301-S401:客户机收到广播报文后,使用地址分配服务器的公钥Ks-1验证数字签名,如果验证通过,则接收发布的地址块,并生成访问票据{Client,Kcs,Timestamp}Ks -1,与身份认证标识{Client}Ksas一起发送给地址分配服务器。
其中,访问票据由客户机身份信息Client、会话密钥Kcs和时间戳Timestamp信息经过服务器的公钥Ks-1加密构成,用来向地址分配服务器验证客户机身份和约定会话密钥,并且可以防止重放攻击。其中,会话密钥Kcs是客户机生成的与地址分配服务器之间的共享密钥,可以由客户机身份信息和地址分配服务器的公钥进行哈希运算生成,即Hash(Ks-1+Client)。
S501:地址分配服务器收到申请报文后,根据访问票据和身份认证标识验证客户机的身份,如果验证通过,则保存会话密钥Kcs并在随后的报文中携带会话密钥加密后的时间戳{Timestamp}Kcs,从而建立起安全通道。
其中,验证客户机身份的流程如下。地址分配服务器使用私钥Ks解密访问票据得到{Client,Kcs,Timestamp},使用与认证服务器之间的共享密钥Ksas解密身份认证标识得到{Client},若Client身份信息对比一致,则进一步验证时间戳Timestamp信息,若时间戳与当前时间相差ΔT时间(0<ΔT<1),则验证通过。否则验证失败,丢弃报文。
S601:客户机收到地址批准报文,使用约定的会话密钥解密时间戳,可以验证地址分配服务器的身份,并在后续的会话中,都采用会话密钥加密时间戳的方式保障通信的安全。
通过前面的步骤,客户机和地址分配服务器已经互相认证了身份并获得了会话密钥,在接下来的数据通信中,只需在报文中携带{Timestamp}Kcs,即可确认身份、防止重放攻击。
本申请是一种地址自动分配协议安全认证方法,该方法不仅可以认证地址分配服务器,还可以认证客户机,利用第三方可信认证服务器实现在地址分配过程中的双方相互认证,有效避免了攻击者恶意广播非法地址,恶意主机申请地址以耗费合法地址等情况。
此外,本申请在双方相互认证身份的同时也约定了会话密钥,可以在之后的地址分配交互过程中保障通信的安全。从安全性考虑,不但能实现消息认证还能阻止常见的攻击,比如重放攻击,中间人攻击等。从兼容性考虑,由于没有更改原协议的状态和协议格式,所以可以与使用原协议的客户端服务器交互,具备良好的兼容性。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种地址自动分配协议安全认证方法,应用于包括地址分配服务器、认证服务器和客户机的网络中,其特征在于,包括:
地址分配服务器在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥;
地址分配服务器广播地址发布报文,并通过私钥对地址发布报文进行数字签名,将签名携带在地址发布报文中;
地址分配服务器接收客户机验证地址发布报文通过后生成的访问票据和客户机的身份认证标识;其中,所述访问票据由客户机身份信息、会话密钥和时间戳信息经过公钥加密构成;
地址分配服务器根据访问票据和身份认证标识验证客户机的身份;
当客户机的身份验证通过时,地址分配服务器发送分配地址报文至客户机;
其中,所述地址分配服务器根据访问票据和身份认证标识验证客户机的身份,包括:
地址分配服务器使用私钥解密所述访问票据得到客户机身份信息、会话密钥和时间戳信息,使用与认证服务器的共享密钥解密所述身份认证标识得到客户机的身份信息;
若解密所述访问票据得到的客户机身份信息与解密所述身份认证标识得到的客户机的身份信息一致,则验证时间戳信息;
若时间戳信息与当前时刻的差值在预设范围内,则验证通过;
其中,所述地址分配服务器发送分配地址报文至客户机,包括:
地址分配服务器保存会话密钥,并发送携带会话密钥加密后的时间戳的地址批准报文至客户机。
2.根据权利要求1所述的一种地址自动分配协议安全认证方法,其特征在于,所述地址分配服务器在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥,包括:
地址分配服务器与认证服务器设定共享密钥;
地址分配服务器接收认证服务器发送的经过共享密钥加密后的私钥;
地址分配服务器解密所述经过共享密钥加密后的私钥,得到私钥。
3.根据权利要求1所述的一种地址自动分配协议安全认证方法,其特征在于,若时间戳信息与当前时刻的差值不在预设范围内,则验证失败。
4.一种地址自动分配协议安全认证设备,该设备应用于包括地址分配服务器、认证服务器和客户机的网络中的地址分配服务器,其特征在于,所述设备包括:
第一注册模块,用于在认证服务器上注册,并接收认证服务器生成的公钥、私钥和共享密钥;
报文发布模块,用于广播地址发布报文,并通过私钥对地址发布报文进行数字签名,将签名携带在地址发布报文中;
第一接收模块,用于接收客户机验证地址发布报文通过后生成的访问票据和客户机的身份认证标识;
第一验证模块,用于根据访问票据和身份认证标识验证客户机的身份;其中,所述访问票据由客户机身份信息、会话密钥和时间戳信息经过公钥加密构成;
第一发送模块,用于当客户机的身份验证通过时,发送分配地址报文至客户机;
其中,所述第一验证模块具体用于:
使用私钥解密所述访问票据得到客户机身份信息、会话密钥和时间戳信息,使用与认证服务器的共享密钥解密所述身份认证标识得到客户机的身份信息;
若解密所述访问票据得到的客户机身份信息与解密所述身份认证标识得到的客户机的身份信息一致,则验证时间戳信息;
若时间戳信息与当前时刻的差值在预设范围内,则验证通过;
其中,所述第一发送模块具体用于:当客户机的身份验证通过时,保存会话密钥,并发送携带会话密钥加密后的时间戳的地址批准报文至客户机。
5.一种地址自动分配协议安全认证方法,应用于包括地址分配服务器、认证服务器和客户机的网络中,其特征在于,包括:
客户机启动后在认证服务器上注册,并接收认证服务器生成的身份认证标识和地址分配服务器的公钥;其中,身份认证标识为采用认证服务器与地址分配服务器之间的共享密钥对客户机的身份信息进行加密得到;
客户机接收地址分配服务器签名的地址发布报文并使用所述地址分配服务器的公钥验证地址发布报文中的数字签名;
当所述地址发布报文验证通过时,客户机接收所述地址发布报文中的地址块,并生成访问票据;其中,所述访问票据由客户机身份信息、会话密钥和时间戳信息经过公钥加密构成;
客户机将所述访问票据和身份认证标识发送至地址分配服务器,以使所述地址分配服务器根据所述访问票据和所述身份认证标识对所述客户机的身份进行验证;
客户机接收地址分配服务器发送的地址批准报文,所述地址批准报文包括:地址批准报文和经会话密钥加密后的时间戳,使用约定的会话密钥解密时间戳;
根据解密得到的时间戳验证所述地址分配服务器的身份;
当所述地址分配服务器的身份验证通过时,客户机保存会话密钥。
6.根据权利要求5所述的一种地址自动分配协议安全认证方法,其特征在于,所述客户机启动后在认证服务器上注册,并接收认证服务器生成的身份认证标识和地址分配服务器的公钥,包括:
客户机启动后生成临时地址,并向认证服务器发起注册;
客户机接收认证服务器生成的身份认证标识以及地址分配服务器的公钥。
7.根据权利要求6所述的一种地址自动分配协议安全认证方法,其特征在于,所述客户机启动后生成临时地址后,该方法还包括:
客户机连续广播启动消息;
若在预设时间内未接收到冲突回应,则继续执行所述向认证服务器发起注册的步骤;
否则,重新生成临时地址。
8.一种地址自动分配协议安全认证设备,该设备应用于包括地址分配服务器、认证服务器和客户机的网络中的客户机,其特征在于,所述设备包括:
第二注册模块,用于启动后在认证服务器上注册,并接收认证服务器生成的身份认证标识和地址分配服务器的公钥;其中,身份认证标识为采用认证服务器与地址分配服务器之间的共享密钥对客户机的身份信息进行加密得到;
第二验证模块,用于接收地址分配服务器签名的地址发布报文并使用所述地址分配服务器的公钥验证地址发布报文中的数字签名;
第二接收模块,用于当所述地址发布报文验证通过时,接收所述地址发布报文中的地址块生成访问票据;其中,所述访问票据由客户机身份信息、会话密钥和时间戳信息经过公钥加密构成;
第二发送模块,用于将所述访问票据和身份认证标识发送至地址分配服务器,以使所述地址分配服务器根据所述访问票据和所述身份认证标识对所述客户机的身份进行验证;
解密模块,用于接收地址分配服务器发送的地址批准报文,所述地址批准报文包括:地址批准报文和经会话密钥加密后的时间戳,使用约定的会话密钥解密时间戳;
第二验证模块还用于:根据解密得到的时间戳验证所述地址分配服务器的身份;当所述地址分配服务器的身份验证通过时,保存会话密钥。
CN201811513622.9A 2018-12-11 2018-12-11 一种地址自动分配协议安全认证方法及设备 Active CN111314269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811513622.9A CN111314269B (zh) 2018-12-11 2018-12-11 一种地址自动分配协议安全认证方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811513622.9A CN111314269B (zh) 2018-12-11 2018-12-11 一种地址自动分配协议安全认证方法及设备

Publications (2)

Publication Number Publication Date
CN111314269A CN111314269A (zh) 2020-06-19
CN111314269B true CN111314269B (zh) 2023-09-12

Family

ID=71159822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811513622.9A Active CN111314269B (zh) 2018-12-11 2018-12-11 一种地址自动分配协议安全认证方法及设备

Country Status (1)

Country Link
CN (1) CN111314269B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491836B (zh) * 2020-11-16 2022-04-22 新华三技术有限公司合肥分公司 通信***、方法、装置及电子设备
CN112953936A (zh) * 2021-02-18 2021-06-11 泰州中科树人信息科技有限公司 基于zksr协议的加密视频播放技术
CN115065559B (zh) * 2022-08-15 2022-12-27 浙江毫微米科技有限公司 一种身份认证***、方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184100A (zh) * 2007-12-14 2008-05-21 中兴通讯股份有限公司 基于动态主机配置协议的用户接入认证方法
WO2009035829A1 (en) * 2007-09-12 2009-03-19 Microsoft Corporation Improved dynamic host configuration protocol
CN102123157A (zh) * 2011-03-03 2011-07-13 上海华为技术有限公司 一种认证方法及***
CN102651736A (zh) * 2011-02-28 2012-08-29 华为技术有限公司 基于dhcp的认证方法、dhcp服务器及客户端
CN103379094A (zh) * 2012-04-18 2013-10-30 中兴通讯股份有限公司 保护动态主机配置协议的方法、发送方和接收方
WO2014069985A1 (en) * 2012-11-05 2014-05-08 Mimos Berhad System and method for identity-based entity authentication for client-server communications
CN105721496A (zh) * 2016-03-31 2016-06-29 中国人民解放军国防科学技术大学 一种轻量级地址自动分配协议安全认证方法
CN108600207A (zh) * 2018-04-12 2018-09-28 清华大学 基于802.1x与savi的网络认证与访问方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454887B2 (en) * 2015-11-18 2019-10-22 Cisco Technology, Inc. Allocation of local MAC addresses to client devices

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009035829A1 (en) * 2007-09-12 2009-03-19 Microsoft Corporation Improved dynamic host configuration protocol
CN101184100A (zh) * 2007-12-14 2008-05-21 中兴通讯股份有限公司 基于动态主机配置协议的用户接入认证方法
CN102651736A (zh) * 2011-02-28 2012-08-29 华为技术有限公司 基于dhcp的认证方法、dhcp服务器及客户端
CN102123157A (zh) * 2011-03-03 2011-07-13 上海华为技术有限公司 一种认证方法及***
CN103379094A (zh) * 2012-04-18 2013-10-30 中兴通讯股份有限公司 保护动态主机配置协议的方法、发送方和接收方
WO2014069985A1 (en) * 2012-11-05 2014-05-08 Mimos Berhad System and method for identity-based entity authentication for client-server communications
CN105721496A (zh) * 2016-03-31 2016-06-29 中国人民解放军国防科学技术大学 一种轻量级地址自动分配协议安全认证方法
CN108600207A (zh) * 2018-04-12 2018-09-28 清华大学 基于802.1x与savi的网络认证与访问方法

Also Published As

Publication number Publication date
CN111314269A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
US8196186B2 (en) Security architecture for peer-to-peer storage system
US11451614B2 (en) Cloud authenticated offline file sharing
US6993652B2 (en) Method and system for providing client privacy when requesting content from a public server
WO2018050081A1 (zh) 设备身份认证的方法、装置、电子设备及存储介质
US9219607B2 (en) Provisioning sensitive data into third party
US8285989B2 (en) Establishing a secured communication session
KR102177794B1 (ko) 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템
JP2019509667A (ja) データ転送方法、データ使用のコントロール方法、および、暗号デバイス
CN106941404B (zh) 密钥保护方法及装置
CN111314269B (zh) 一种地址自动分配协议安全认证方法及设备
CN111080299B (zh) 一种交易信息的防抵赖方法及客户端、服务器
KR20080050134A (ko) 다중 인증 수단을 가지는 시스템의 통합 사용자 인증 서버,클라이언트 및 방법
CN102082665A (zh) 一种eap认证中的标识认证方法、***和设备
He et al. An accountable, privacy-preserving, and efficient authentication framework for wireless access networks
WO2014194818A1 (zh) 一种用于发现设备的用户的方法和用户设备
CN110771087B (zh) 私钥更新
CN112600831A (zh) 一种网络客户端身份认证***和方法
WO2017008556A1 (zh) 一种无线接入点和管理平台鉴权的方法和装置
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
CN115473655A (zh) 接入网络的终端认证方法、装置及存储介质
US11570008B2 (en) Pseudonym credential configuration method and apparatus
JP6765993B2 (ja) クレデンシャル生成システム及び方法
CN111869249B (zh) 针对中间人攻击的安全ble just works配对方法
CN116506120B (zh) 密钥加载方法、密钥***以及可读存储介质
JP2013179473A (ja) アカウント生成管理システム、アカウント生成管理サーバ、アカウント生成管理方法及びアカウント生成管理プログラム

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
GR01 Patent grant
GR01 Patent grant