CN111124147A - 基于单键功能自定义实现敏感信息安全输入的装置 - Google Patents

基于单键功能自定义实现敏感信息安全输入的装置 Download PDF

Info

Publication number
CN111124147A
CN111124147A CN201911095338.9A CN201911095338A CN111124147A CN 111124147 A CN111124147 A CN 111124147A CN 201911095338 A CN201911095338 A CN 201911095338A CN 111124147 A CN111124147 A CN 111124147A
Authority
CN
China
Prior art keywords
symbol
input
keyboard
sensitive information
processing unit
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.)
Granted
Application number
CN201911095338.9A
Other languages
English (en)
Other versions
CN111124147B (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.)
Beijing Core Shield Group Co ltd
Original Assignee
Beijing Core Shield Group 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 Beijing Core Shield Group Co ltd filed Critical Beijing Core Shield Group Co ltd
Priority to CN201911095338.9A priority Critical patent/CN111124147B/zh
Publication of CN111124147A publication Critical patent/CN111124147A/zh
Application granted granted Critical
Publication of CN111124147B publication Critical patent/CN111124147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本发明公开了一种基于单键功能自定义实现敏感信息安全输入的装置,其包括:分别处于不同设备上的安全处理单元、单键输入单元和显示单元,所述显示单元与所述安全处理单元通信连接,用以显示安全处理单元输出的遍历符号键盘,所述遍历符号键盘为多次循环逐一显示预设符号集合中单符号的键盘,所述单键输入单元与所述安全处理单元通信连接,用以向安全处理单元传输用户输入的单符号确认信息,所述安全处理单元获得单符号确认信息后记录被确认的单符号,当遍历符号键盘结束显示后完成敏感信息输入。本发明解决了传统键盘的键盘值固定、保密性和安全性差的缺点。

Description

基于单键功能自定义实现敏感信息安全输入的装置
技术领域
本发明涉及信息安全领域。更具体地说,本发明涉及一种基于单键功能自定义实现敏感信息安全输入的装置。
背景技术
针对智能手机、PAD等设备承载的各类信息化业务涉及的敏感信息安全输入与安全确认,如果直接使用系统自带的显示与键盘输入,敏感信息会在单一系统内部形成汇聚,从而极易被同一环境中的恶意软件截取到敏感信息带来安全风险与隐患,如:手机动态键盘输入和图案轨迹敏感信息输入时,由于输入端和显示端无隔离,第三方通过向用户手机内植入录屏软件即可获取用户输入信息;网上银行专用的敏感信息键盘插件,由于输入端和显示端无法分离,直接录屏也能获取到用户敏感信息;内置安全加密芯片的保密一体机,例如金立手机,虽然其内置安全处理单元,但是输入和显示在一个终端设备上,显示端可以直接获取到用户的明文敏感信息或者键盘值。综上所述,现有的敏感信息输入设备存在以下问题:1、明文传输不安全:显示端和输入端无法有效的分离,明文敏感信息数据在传输过程中容易被窃取;2、显示端不安全:敏感信息输入,显示端明文方式显示,通过观看就可以获取到用户敏感信息,极其不安全;3、输入端不安全:独立设备不便携、全键盘、多键盘,输入时候就已经泄露明文敏感信息。
发明内容
本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
本发明还有一个目的是提供一种基于单键功能自定义实现敏感信息安全输入的装置,通过将输入端和显示端分离,一个按键多态直接接入安全处理单元,显示端遍历显示键盘,完成敏感信息的输入,解决了传统键盘的键盘值固定、保密性和安全性差的缺点。
为了实现根据本发明的这些目的和其它优点,提供了一种基于单键功能自定义实现敏感信息安全输入的装置,其包括:分别处于不同设备上的安全处理单元、单键输入单元和显示单元,所述显示单元与所述安全处理单元通信连接,用以显示安全处理单元输出的遍历符号键盘,所述遍历符号键盘为多次循环逐一显示预设符号集合中单符号的键盘,所述单键输入单元与所述安全处理单元通信连接,用以向安全处理单元传输用户输入的单符号确认信息,所述安全处理单元获得单符号确认信息后记录被确认的单符号,当遍历符号键盘结束显示后完成敏感信息输入。
优选的是,所述安全处理单元记录全部被确认的单符号后,生成一个包含全部被确认的单符号和若干干扰单符号的信息符号集合,并将信息符号集合中的单符号逐一显示于显示单元,所述单键输入单元向安全处理单元传输用户输入的单符号确认信息。
优选的是,当遍历符号键盘结束显示后所述安全处理单元还对由全部被确认的单符号组成的敏感信息加密并以密文传输。
优选的是,所述单键输入单元还用以向安全处理单元传输用户输入的复位、开始、退格删除、取消、结束信息。
优选的是,所述复位、开始、退格删除、取消、结束信息分别与同一个按键的不同按压次数和/或不同按压时长以单一或组合的按压方式相关联。
优选的是,所述预设符号集合中的单符号是单个的ASCII字符或是由多个ASCII字符组成的字符串。
优选的是,所述遍历符号键盘逐一显示预设符号集合中单符号的方式为按预设顺序逐一显示或随机逐一显示。
优选的是,所述遍历符号键盘中每个单符号的显示时长为ti,ti∈[T1,T2],T1≤T2
优选的是,当所述遍历符号键盘的实际总显示时长超过Tovertime时,所述遍历符号键盘结束显示,其中所述Tovertime为所述遍历符号键盘的预设总显示时长。
优选的是,包含所述显示单元的设备为手机、PAD、台式机、电视机其中一种,包含所述显示单元的设备通过USB、lightning、RS-232、蓝牙、WiFi和NFC其中一种方式实现显示单元与安全处理单元通信连接。
本发明至少包括以下有益效果:本发明通过敏感信息输入端和显示端分离,一个按键多态直接接入安全处理单元,显示端遍历显示键盘,完成敏感信息的输入,也可使用单键多态功能实现复位、开始、退格删除、取消等操作;敏感信息确认后直接安全处理单元加密后以密文的形式输出或者处理,显示端和输入端物理隔离,显示端无法获取到明文敏感信息;输入端也无法获取到明文敏感信息;即使他人观察到了用户的显示屏幕,仍无法通过判断确认数据获取敏感信息,而且用户可以隐蔽性输入确认动作,从而大大地提高了敏感信息输入的安全性,在根源上杜绝了敏感信息盗窃犯罪的可能。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1为本发明所述基于单键功能自定义实现敏感信息安全输入的装置的结构示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
需要说明的是,下述实施方案中所述实验方法,如无特殊说明,均为常规方法,所述试剂和材料,如无特殊说明,均可从商业途径获得;在本发明的描述中,术语“横向”、“纵向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,并不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
下面针对本发明中的自定义词语进行解释。
敏感信息:定义为涉及用户隐私安全、资产安全、信息通讯安全等相关的重要信息,例如密码、密钥、身份、账户、通讯号码、重要数据等;敏感信息的输入与结果显示如果不采取必要的安全防护措施容易被第三方非法软件截取,必需采取措施实现敏感信息的安全输入与敏感信息显示的安全确认,并将敏感信息再辅以必要的加解密保护措施指向特定应用。针对某应用需要安全输入或安全显示确认的信息定义为M,M由预设符号集合D中的符号构成,可理解为一个字符串,可能较长,可能较短,但通常较短。针对某具体应用涉及的敏感信息M包含的符号数量定义为Mcount,这里的符号可以是单个的ASCII字符,也可能是一个字符串。
预设符号集合:定义某应用对应的敏感信息包含的可显示的单符号集合D={di/di∈ASCIIor{ASCII}},不同的应用对应的预设符号集合D通常不同,注意单符号di可以是单个ASCII字符,也可以是ASCII字符串,D中符号的数量定义为Dcount
遍历符号键盘:预设符号集合D的全部符号构成一张符号键盘(所以下文又称符号键盘,常规键盘称之为字符键盘),通常用户直接在符号键盘直接选取相关符号实现信息输入或信息确认,本专利要实现敏感信息的安全输入或安全显示确认,要求用户不得直接在符号键盘上直接选择目标符号(这样容易泄露敏感信息),而是引入符号键盘遍历光标概念,符号键盘遍历光标按照某个编程设定的顺序或某种随机方式逐个显示D中的每个符号并且按照一定的循环次数循环显示,这样用户就可以针对D中的所有符号做出独立的输入选择最终实现敏感信息的安全输入或显示确认,这样具有遍历光标指引的符号键盘称之为遍历符号键盘。
如图1所示,本发明提供一种基于单键功能自定义实现敏感信息安全输入的装置,其包括:分别处于不同设备上的安全处理单元、单键输入单元和显示单元,所述显示单元与所述安全处理单元通信连接,用以显示安全处理单元输出的遍历符号键盘,所述遍历符号键盘为多次循环逐一显示预设符号集合中单符号的键盘,所述单键输入单元与所述安全处理单元通信连接,用以向安全处理单元传输用户输入的单符号确认信息,所述安全处理单元获得单符号确认信息后记录被确认的单符号,当遍历符号键盘结束显示后完成敏感信息输入。
在上述实施例中,包含所述显示单元的设备可以为手机、PAD、台式机、电视机其中一种,还可以包含其他具有输入接口的显示设备,所述显示单元通过USB、lightning、RS-232、蓝牙、WiFi和NFC其中一种方式使显示单元与安全处理单元通信连接。
在上述实施例中,所述单键输入单元可以是单独的物理按键,也可以是和其它类型的输入输出设备结合的按键,如蓝牙连接键盘或USB连接键盘,当单键输入单元为蓝牙连接键盘或USB连接键盘时,用户可以通过在安全处理单元自定义蓝牙连接键盘或USB连接键盘中某个按键为有效按键,其他按键为无效按键来实现单键输入,所述单键输入单元可以向安全处理单元输入确认、复位、开始、退格删除、取消、结束等信息,每一种信息均与一种单键的按压方式相关联,这里用户也可以通过在安全处理单元将每一种信息自定义映射一种单键的按压方式,这里所述的单键的按压方式指单键的不同按压次数或单键的不同按压时长或单键的不同按压次数和不同按压时长相组合,例如:单击、双击或者长按等,所述单击即指按压一次单键,按压时长不超过预设值a,所述双击即指连续按压两次单键,每次按压时长不超过预设值b,同时两次连续按压时间间隔不超过预设值c,所述长按即指按压一次单键的时长超过预设值d,这里a、b、c、d的值可以部分相同或都不同。
在上述实施例中,所述安全处理单元内置于具有数据存储和数据处理能力的设备中,可以通过有线或无线的方式与显示单元和单键输入单元分别连接,如微型计算机等。
在上述实施例中,所述遍历符号键盘中每个单符号的显示时长为ti,ti∈[T1,T2],T1≤T2,即每个单符号显示时长在一个范围内,T1与T2可编程设定,ti可以相同,也可以不同,也可编程设定。由于每个单符号显示时长基本确定,因此遍历符号键盘的一次循环遍历显示时长也可确定,这里将遍历符号键盘的一次循环遍历显示时长命名为遍历周期
Figure BDA0002268154960000051
又因为遍历周期Tnormal确定,因此敏感信息M中包含的全部符号输入时长也可以确定,这里将敏感信息M中包含的全部符号输入时长命名为选择输入总时长Ttotal,则Ttotal=Tnormal*Mcount
当用户输入结束后,遍历符号键盘需要结束显示,因此,这里定义遍历符号键盘的预设总显示时长为Tovertime,Tovertime≥Ttotal,当所述遍历符号键盘的实际总显示时长超过Tovertime时,所述遍历符号键盘结束显示。需要注意的是,通常不可在最后一个单符号输入完成后立即结束键盘符号遍历显示,这样容易泄露敏感信息的最后一个符号的信息。
通过情况下Ttotal=Tnormal*Mcount,但当用户在某个遍历周期中输入多个符号,或在某个遍历周期中没有输入或者输入错误时,用户可能会出现复位或退格删除操作,此时Ttotal>Tnormal*Mcount,故Tovertime还需要在Tnormal*Mcount基础上适当的增大。
上述实施例在使用过程中,将具有安全处理单元的设备与具有显示单元的设备和具有单键输入单元的设备分别连接,用户在单键输入单元上输入开始信息后,安全处理单元在显示单元上显示遍历符号键盘,用户在单键输入单元上输入单符号确认信息或复位或退格删除或取消信息,当敏感信息中包含的所有单符号均被确认后,用户在单键输入单元上输入结束信息,完成敏感信息的输入。
若用户在某一次遍历周期中停留时间过长,导致遍历符号键盘的实际显示时长超过Tovertime,则遍历符号键盘结束显示,用户需要重新输入开始信息,再次从头开始输入敏感信息中包含的所有单符号,直至敏感信息中包含的所有单符号均被确认。
上述实施例中由于显示单元没有独立的显示能力,因此当用户输入完特定敏感信息后还是无法直接确认输入的信息M是否正确。故在另一实施例中,所述安全处理单元记录全部被确认的单符号后,还生成一个包含全部被确认的单符号和若干干扰单符号的信息符号集合DM,并将信息符号集合中的单符号逐一显示于显示单元,用户可以再次向单键输入单元输入单符号确认信息,此次信息符号集合DM不循环显示,若用户确认敏感信息包含的所有单符号无遗漏,则完成敏感信息输入,若用户发现敏感信息包含的单符号有遗漏或错误,可选择复位,再采用上一实施例的方式重新输入正确的敏感信息。
为了更进一步的确保用户输入的敏感信息不被盗取,在另一实施例中,当遍历符号键盘结束显示后所述安全处理单元还对由全部被确认的单符号组成的敏感信息加密并以密文传输。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

Claims (10)

1.基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,包括:分别处于不同设备上的安全处理单元、单键输入单元和显示单元,所述显示单元与所述安全处理单元通信连接,用以显示安全处理单元输出的遍历符号键盘,所述遍历符号键盘为多次循环逐一显示预设符号集合中单符号的键盘,所述单键输入单元与所述安全处理单元通信连接,用以向安全处理单元传输用户输入的单符号确认信息,所述安全处理单元获得单符号确认信息后记录被确认的单符号,当遍历符号键盘结束显示后完成敏感信息输入。
2.如权利要求1所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,所述安全处理单元记录全部被确认的单符号后,生成一个包含全部被确认的单符号和若干干扰单符号的信息符号集合,并将信息符号集合中的单符号逐一显示于显示单元,所述单键输入单元向安全处理单元传输用户输入的单符号确认信息。
3.如权利要求1所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,当遍历符号键盘结束显示后所述安全处理单元还对由全部被确认的单符号组成的敏感信息加密并以密文传输。
4.如权利要求1所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,所述单键输入单元还用以向安全处理单元传输用户输入的复位、开始、退格删除、取消、结束信息。
5.如权利要求4所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,所述复位、开始、退格删除、取消、结束信息分别与同一个按键的不同按压次数和/或不同按压时长以单一或组合的按压方式相关联。
6.如权利要求1所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,所述预设符号集合中的单符号是单个的ASCII字符或是由多个ASCII字符组成的字符串。
7.如权利要求1所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,所述遍历符号键盘逐一显示预设符号集合中单符号的方式为按预设顺序逐一显示或随机逐一显示。
8.如权利要求1所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,所述遍历符号键盘中每个单符号的显示时长为ti,ti∈[T1,T2],T1≤T2
9.如权利要求1所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,当所述遍历符号键盘的实际总显示时长超过Tovertime时,所述遍历符号键盘结束显示,其中所述Tovertime为所述遍历符号键盘的预设总显示时长。
10.如权利要求1所述的基于单键功能自定义实现敏感信息安全输入的装置,其特征在于,包含所述显示单元的设备为手机、PAD、台式机、电视机其中一种,包含所述显示单元的设备通过USB、lightning、RS-232、蓝牙、WiFi和NFC其中一种方式实现显示单元与安全处理单元通信连接。
CN201911095338.9A 2019-11-11 2019-11-11 基于单键功能自定义实现敏感信息安全输入的装置 Active CN111124147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911095338.9A CN111124147B (zh) 2019-11-11 2019-11-11 基于单键功能自定义实现敏感信息安全输入的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911095338.9A CN111124147B (zh) 2019-11-11 2019-11-11 基于单键功能自定义实现敏感信息安全输入的装置

Publications (2)

Publication Number Publication Date
CN111124147A true CN111124147A (zh) 2020-05-08
CN111124147B CN111124147B (zh) 2023-07-21

Family

ID=70495223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911095338.9A Active CN111124147B (zh) 2019-11-11 2019-11-11 基于单键功能自定义实现敏感信息安全输入的装置

Country Status (1)

Country Link
CN (1) CN111124147B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540738A (zh) * 2008-12-31 2009-09-23 北京飞天诚信科技有限公司 信息安全中间设备及其使用方法
CN102262760A (zh) * 2010-05-28 2011-11-30 杨筑平 交易保密方法、受理装置和提交软件
CN103425944A (zh) * 2013-07-16 2013-12-04 深圳市文鼎创数据科技有限公司 信息安全输入方法及信息安全装置
CN104573476A (zh) * 2013-10-09 2015-04-29 纬创资通股份有限公司 防止密码信息被偷窥的电子设备及方法
KR20150100130A (ko) * 2014-02-24 2015-09-02 주식회사 엠엘정보기술 보안 키보드 제공 시스템
CN108229217A (zh) * 2017-11-24 2018-06-29 西安电子科技大学 一种防偷窥的密钥输入系统和方法
CN208781357U (zh) * 2018-08-24 2019-04-23 深圳合纵富科技有限公司 一种安全金融支付装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540738A (zh) * 2008-12-31 2009-09-23 北京飞天诚信科技有限公司 信息安全中间设备及其使用方法
CN102262760A (zh) * 2010-05-28 2011-11-30 杨筑平 交易保密方法、受理装置和提交软件
CN103425944A (zh) * 2013-07-16 2013-12-04 深圳市文鼎创数据科技有限公司 信息安全输入方法及信息安全装置
CN104573476A (zh) * 2013-10-09 2015-04-29 纬创资通股份有限公司 防止密码信息被偷窥的电子设备及方法
KR20150100130A (ko) * 2014-02-24 2015-09-02 주식회사 엠엘정보기술 보안 키보드 제공 시스템
CN108229217A (zh) * 2017-11-24 2018-06-29 西安电子科技大学 一种防偷窥的密钥输入系统和方法
CN208781357U (zh) * 2018-08-24 2019-04-23 深圳合纵富科技有限公司 一种安全金融支付装置

Also Published As

Publication number Publication date
CN111124147B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
US8892901B2 (en) Method and apparatus for encrypting user data
CN103092484B (zh) 解锁屏幕的方法、装置及终端
US10216935B2 (en) Mobile device resistant to malware
WO2015149582A1 (zh) 密码输入方法、智能密钥设备以及客户端装置
CN101796764A (zh) 生物特征认证设备、生物特征认证系统和方法
US9219609B2 (en) Method and system for multiple passcode generation
CN102750497B (zh) 一种解密隐私内容的方法及装置
CN103905188B (zh) 利用智能密钥设备生成动态口令的方法和智能密钥设备
US9848324B1 (en) Mobile device password management and escrow with keyfob
CN106255976A (zh) 机密数据管理方法及装置以及安全认证方法及系统
CN103929306A (zh) 智能密钥设备和智能密钥设备的信息管理方法
US10019913B2 (en) Information encryption system and information encryption method using optical character recognition
CN104933343A (zh) 一种应用程序的保密方法及装置、电子设备
CN104408363A (zh) 安全密码系统
CN105915336A (zh) 一种对象协同解密方法及其装置
CN103929312A (zh) 一种移动终端及其个人信息保护方法和系统
CN105354458A (zh) 密码输入验证方法和系统
CN105391677A (zh) 一种信息传递方法及移动终端
CN102262760A (zh) 交易保密方法、受理装置和提交软件
CN106600767A (zh) 一种基于身份证验证的方法及系统
CN106797381A (zh) 认证棒
CN108229217A (zh) 一种防偷窥的密钥输入系统和方法
CN111124147B (zh) 基于单键功能自定义实现敏感信息安全输入的装置
CN106815907A (zh) 一种基于图片密码管理智能门禁的方法及智能门禁系统
EP3346406A1 (en) Data input method, and electronic device and system for implementing the data input method

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