CN114979066A - 基于证书的设备id生成方法 - Google Patents
基于证书的设备id生成方法 Download PDFInfo
- Publication number
- CN114979066A CN114979066A CN202210507009.6A CN202210507009A CN114979066A CN 114979066 A CN114979066 A CN 114979066A CN 202210507009 A CN202210507009 A CN 202210507009A CN 114979066 A CN114979066 A CN 114979066A
- Authority
- CN
- China
- Prior art keywords
- certificate
- bits
- group
- characters
- equipment
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004891 communication Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明涉及基于证书的设备ID生成方法,包括:⑴首次启动时,系统为应用创建证书,借助于OpenSSL生成私钥,基于私钥生成自签名证书;⑵读取证书的内容,使用摘要算法SHA256计算出256bit摘要信息;⑶Base32将每个字符编码成5bit(2~5=32),生成的ID类似于:MFZWI3DBONSGYYLTMRWGC43ENRQXGZDMMFZWI3DBONSGYYLTMRWA====;⑷设备ID制作完成;⑸分组,将填充产生的4个等号去掉,剩下52位,将13个字符1组,分为4组;⑹设计校验位,采用:(a[1]*W1+a[2]*W2+a[3]*W+....+a[13]*W13)%23,求和对23这个质数取余,将余数作为校验位拼接到每组最后,设备ID的总长度变成56位字符;⑺将56位的设备ID,每7个字符一组,共8组,每组之间使用破折号连接,设备ID:FZWI3D‑BONSGYC‑YLTMRWG‑C43ENR5‑QXGZDMM‑FZWI3DP‑BONSGYY‑LTMRWAD;基于证书的设备ID制作完成。
Description
技术领域
本发明属于点对点通信技术领域,特别涉及一种基于证书的设备ID生成方法。
背景技术
有设备ID可以解决很多通信问题,最大程度保持网络联通,网络联通了才能保证很多业务功能稳步进行。但是现实情况却有诸多问题:
设备ID差异化大无标准:随着物联网的成熟,各种智能设备层出不穷,各个设备的标准不一样,有的设备存在唯一ID标识,有的设备不存在设备ID。设备ID涉及隐私:比如安卓,苹果,鸿蒙手机上,基于设备ID还可以进行广告跟踪。
如果只考虑唯一性的话,设备ID可能有很多种方法可以实现,比如直接随机生成一个全球唯一的UUID字符串作为设备ID。但是综合考虑,这种方式存在如下几种问题:
1.需要额外存储,倒不是因为占用存储空间,而是要考虑其安全性,所以要解决安全性问题又会使应用程序复杂度提升。
2.设备ID的本质目的是定位设备的网络位置建立通信,如果要建立通信,那么就需要将这个随机生成的设备ID通过网络发生出去,把自己的设备ID暴露在外并不安全。
发明内容
本发明的目的是提供一种在点对点个人网盘模式下,每个客户端第一次启动时,就基于自己独有的客户端证书生成自己的设备ID,并将自己的网络信息告知给发现服务器。将此设备ID,通过线下渠道发送给另一个客户端,另一个客户端就能从发现服务器上获取到此设备ID对应客户端的网络访问属性,就能够建立网络连接,完成文件的点对点传输以及更加复杂功能的基于证书的设备ID生成方法。本发明的另一目的是提供一种解决在复杂的网络环境里唯一定位设备所在网络位置的的技术;统一的屏蔽设备差异的设备ID生成方法,屏蔽设备差异,最大程度保护用户隐私的基于证书的设备ID生成方法。
本发明的技术解决方案是所述基于证书的设备ID生成方法,其特殊之处在于,包括以下步骤:
⑴在应用首次启动时,为与服务器端进行安全通信,系统为应用创建证书,借助于OpenSSL生成私钥,基于私钥生成自签名证书;
⑵读取证书的内容,使用摘要算法SHA256计算出256bit摘要信息;
⑶Base32将每个字符编码成5bit(2~5=32),需要256/5=51.2个字符来编码设备ID;生成的ID类似于:
MFZWI3DBONSGYYLTMRWGC43ENRQXGZDMMFZWI3DBONSGYYLTMRWA====即56位字符的设备ID,末尾的4个等号,系填充而来;
⑷此时设备ID已制作完成;
⑸分组,将填充产生的4个等号去掉,剩下52位,然后将13个字符1组,分为4组;
⑹设计校验位,采用类似身份证校验的算法:
(a[1]*W1+a[2]*W2+a[3]*W+....+a[13]*W13)%23
W[i]为每组第i个元素的权重,a[i]代表字符在ascii上对应的数值,求和之后对23这个质数取余,将余数作为校验位拼接到每组最后,每组从13个字符变成14个字符,每个设备ID将有4个校验字位,设备ID的总长度变成56位字符;
⑺将56位的设备ID,每7个字符一组,一共8组,每组之间使用破折号连接,最终的设备ID将如下所示:
MFZWI3D-BONSGYC-YLTMRWG-C43ENR5-QXGZDMM-FZWI3DP-BONSGYY-LTMRWAD
其中,第2组末尾的C,第4组末尾的5,第6组末尾的P,第8组末尾D都是额外附加的校验位;
⑻基于证书的设备ID制作完成。
作为优选:步骤⑵所述的256bit摘要信息采用二进制格式,由0,1组成,为可读字符串,方便查看拷贝,通过线下安全通道传播,采用base32将二进制编码成文本字符串。
作为优选:步骤⑶中,由于字符不能被分割,需要向上取整,就变成了52个字符,但base32的52个字符将解码为260bit,多出来的4bit是向上取整补齐的,260bit不是字节的整数倍,1个字节8bit;base32编码将填充添加到280位,既要保持base32编码的完备性,又能转成ascii字符串,依需使用,5和8的最公倍数40*N,而280是离260最近的一个倍数,所以取280。
与现有技术相比,本发明的有益效果:
⑴本发明基于可设备ID进行网络属性绑定与发现,校验通信链路。
⑵本发明利用HTTPS进行通信,本身就需要进行证书的协商握手,服务器端获取到客户端证书后,按照约定的方式即可从证书映射出设备ID,避免了设备ID在服务器和客户端之间传输的问题,进一步提升了安全。
⑶证书存在有效期,有效期过后,通信无法建立,从证书映射出来的设备ID也随之失效,那些基于该设备ID进行追踪的功能自然也就失效了,本发明所述的设备ID就无法滥用,可以有效避免侵害用户隐私。
⑷使用证书来生成设备ID是一种比较优秀的方案,其安全性直接由HTTPS本身的安全结构保障(CA中心+非对称加密),只需要根据算法映射出设备ID即可,简单方便。
附图说明
图1是本发明证书的内容。
具体实施方式
本发明下面将结合附图作进一步详述:
基于证书的设备ID生成方法,包括:
⑴在应用第一次启动时,为与服务器端进行安全通信,系统为应用创建证书,借助于OpenSSL生成私钥,基于私钥生成自签名证书;
如下命令,创建一个3072bit RSA摘要算法的私钥:
openssl req-newkey rsa:3072-nodes-keyout rsa_private.key-x509-days365-out cert.crt-subj"/C=CN/ST=GD/L=SZ/O=abc/OU=com/CN=abc.com"
这里私钥组织单元O=abc,真实创建时,需保证组织单元的唯一性,比如使用UUID,设备ID基于证书而来,即便现实中3072bit的私钥重复可能性几乎为0,但从理论上保持唯一则更安全;接下来创建基于私钥证书:
openssl req-new-x509-days 365-key rsa_private.key-out cert.crt
证书内容如图1所示;
⑵读取证书的内容,使用摘要算法SHA256计算出256bit摘要信息;这里256bit的摘要是二进制格式,由0,1组成,为了形成可读的字符串,方便查看拷贝,通过线下安全通道传播,采用base32将二进制编码成文本字符串;
⑶Base32将每个字符编码成5bit(2~5=32),需要256/5=51.2个字符来编码设备ID;由于字符不能被分割,需要向上取整,就变成了52个字符,但是base32的52个字符将解码为260bit(多出来的4bit是向上取整补齐的),但260bit这不是字节(1个字节8bit)的整数倍;base32编码将填充添加到280位(既要保持base32编码的完备性,又要能转成ascii字符串,就需要使用,5和8的最公倍数40*N,而280是离260最近的一个倍数,所以取280),因此生成的ID类似于:
MFZWI3DBONSGYYLTMRWGC43ENRQXGZDMMFZWI3DBONSGYYLTMRWA====即56位字符的设备ID,末尾的4个等号,就是填充而来。
⑷此时设备ID已制作完成,但毕竟有56位长度,看起来不直观,人为使用分享传播时容易出错,好比我们的身份证号码,其实是有其内在组织规律的且有校验位,我们需要进一步设计;
⑸进行分组,将填充产生的4个等号去掉(因为转成字符设备ID后已经没有意义了),剩下52位,然后将13个字符1组,分为4组;
⑹设计校验位,采用类似身份证校验的算法:
(a[1]*W1+a[2]*W2+a[3]*W+....+a[13]*W13)%23
W[i]为每组第i个元素的权重,a[i]代表字符在ascii上对应的数值,求和之后对23这个质数取余,将余数作为校验位拼接到每组最后,每组从13个字符变成14个字符,每个设备ID将有4个校验字位,设备ID的总长度变成56位字符;基本上可以杜绝弄混设备ID的情况,具体的权重值可以灵活制定,只要确保校验时保持一致即可,这样每一个使用本专利的用户都可以制定自己专属的校验逻辑,从很多个设备ID里识别出自己所需要的设备ID,不至于弄混;
⑺为了视觉上更加值观,我们将56位的设备ID,每7个字符一组,一共8组,每组之间使用破折号连接,最终的设备ID将如下所示:
MFZWI3D-BONSGYC-YLTMRWG-C43ENR5-QXGZDMM-FZWI3DP-BONSGYY-LTMRWAD
其中,第2组末尾的C,第4组末尾的5,第6组末尾的P,第8组末尾D都是额外附加的校验位;
至此,基于证书的设备ID制作完成。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。
Claims (3)
1.一种基于证书的设备ID生成方法,其特征在于,包括以下步骤:
⑴在应用首次启动时,为与服务器端进行安全通信,系统为应用创建证书,借助于OpenSSL生成私钥,基于私钥生成自签名证书;
⑵读取证书的内容,使用摘要算法SHA256计算出256bit摘要信息;
⑶Base32将每个字符编码成5bit(2~5=32),需要256/5=51.2个字符来编码设备ID;生成的ID类似于:
MFZWI3DBONSGYYLTMRWGC43ENRQXGZDMMFZWI3DBONSGYYLTMRWA====
即56位字符的设备ID,末尾的4个等号,系填充而来;
⑷此时设备ID已制作完成;
⑸分组,将填充产生的4个等号去掉,剩下52位,然后将13个字符1组,分为4组;
⑹设计校验位,采用类似身份证校验的算法:
(a[1]*W1+a[2]*W2+a[3]*W+....+a[13]*W13)%23
W[i]为每组第i个元素的权重,a[i]代表字符在ascii上对应的数值,求和之后对23这个质数取余,将余数作为校验位拼接到每组最后,每组从13个字符变成14个字符,每个设备ID将有4个校验字位,设备ID的总长度变成56位字符;
⑺将56位的设备ID,每7个字符一组,一共8组,每组之间使用破折号连接,最终的设备ID将如下所示:
MFZWI3D-BONSGYC-YLTMRWG-C43ENR5-QXGZDMM-FZWI3DP-BONSGYY-LTMRWAD
其中,第2组末尾的C,第4组末尾的5,第6组末尾的P,第8组末尾D都是额外附加的校验位;
⑻基于证书的设备ID制作完成。
2.根据权利要求1所述基于证书的设备ID生成方法,其特征在于,步骤⑵所述的256bit摘要信息采用二进制格式,由0,1组成,为可读字符串,方便查看拷贝,通过线下安全通道传播,采用base32将二进制编码成文本字符串。
3.根据权利要求1所述基于证书的设备ID生成方法,其特征在于,步骤⑶中,由于字符不能被分割,需要向上取整,就变成了52个字符,但base32的52个字符将解码为260bit,多出来的4bit是向上取整补齐的,260bit不是字节的整数倍,1个字节8bit;base32编码将填充添加到280位,既要保持base32编码的完备性,又能转成ascii字符串,依需使用,5和8的最公倍数40*N,而280是离260最近的一个倍数,所以取280。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210507009.6A CN114979066A (zh) | 2022-05-10 | 2022-05-10 | 基于证书的设备id生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210507009.6A CN114979066A (zh) | 2022-05-10 | 2022-05-10 | 基于证书的设备id生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114979066A true CN114979066A (zh) | 2022-08-30 |
Family
ID=82981351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210507009.6A Pending CN114979066A (zh) | 2022-05-10 | 2022-05-10 | 基于证书的设备id生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979066A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6745327B1 (en) * | 1998-05-20 | 2004-06-01 | John H. Messing | Electronic certificate signature program |
US20050132194A1 (en) * | 2003-12-12 | 2005-06-16 | Ward Jean R. | Protection of identification documents using open cryptography |
CN104219055A (zh) * | 2014-09-10 | 2014-12-17 | 天津大学 | 一种基于nfc的点对点可信认证方法 |
CN106789004A (zh) * | 2016-12-15 | 2017-05-31 | 国云科技股份有限公司 | 一种高效安全的网络通信方法 |
CN109995699A (zh) * | 2017-12-29 | 2019-07-09 | 上海智显光电科技有限公司 | 多媒体设备管理系统及管理方法 |
CN117201546A (zh) * | 2023-09-28 | 2023-12-08 | 重庆长安汽车股份有限公司 | 车载设备绑定方法、装置、电子设备及存储介质 |
CN117353932A (zh) * | 2023-09-19 | 2024-01-05 | 浪潮云信息技术股份公司 | 一种基于p2p的跨平台剪贴数据共享方法 |
-
2022
- 2022-05-10 CN CN202210507009.6A patent/CN114979066A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6745327B1 (en) * | 1998-05-20 | 2004-06-01 | John H. Messing | Electronic certificate signature program |
US20050132194A1 (en) * | 2003-12-12 | 2005-06-16 | Ward Jean R. | Protection of identification documents using open cryptography |
CN104219055A (zh) * | 2014-09-10 | 2014-12-17 | 天津大学 | 一种基于nfc的点对点可信认证方法 |
CN106789004A (zh) * | 2016-12-15 | 2017-05-31 | 国云科技股份有限公司 | 一种高效安全的网络通信方法 |
CN109995699A (zh) * | 2017-12-29 | 2019-07-09 | 上海智显光电科技有限公司 | 多媒体设备管理系统及管理方法 |
CN117353932A (zh) * | 2023-09-19 | 2024-01-05 | 浪潮云信息技术股份公司 | 一种基于p2p的跨平台剪贴数据共享方法 |
CN117201546A (zh) * | 2023-09-28 | 2023-12-08 | 重庆长安汽车股份有限公司 | 车载设备绑定方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202034654A (zh) | 用於透過區塊鏈網路有效安全處理、存取及傳輸資料之系統與方法(三) | |
CN110224999B (zh) | 信息交互方法、装置及存储介质 | |
CN107241188A (zh) | 一种量子存储数据编解码方法、装置及系统 | |
CN115842621B (zh) | 一种基于大数据与云边协同的智慧医疗系统 | |
CN111611621A (zh) | 基于区块链的分布式数据加密存储方法和电子设备 | |
CN114448605A (zh) | 加密密文校验方法、系统、设备及计算机可读存储介质 | |
CN114329536A (zh) | 数据加密方法及装置、数据解密方法及装置、电子设备 | |
CN112235104B (zh) | 一种数据加密传输方法、系统、终端及存储介质 | |
CN115860768B (zh) | 一种基于区块链的溯源方法、装置及其电子设备 | |
CN114979066A (zh) | 基于证书的设备id生成方法 | |
CN112953716A (zh) | 一种兑换码生成及其验证方法和装置 | |
CN114065269B (zh) | 无绑定型非同质化代币的生成方法和解析方法和存储介质 | |
CN111931205A (zh) | 一种加密着色器文件的方法和装置 | |
CN109905241B (zh) | 一种椭圆曲线公钥的短汉字编码、解码方法 | |
CN113762958A (zh) | 一种生成电子凭证的方法和装置 | |
CN109257341B (zh) | 一种区块链地址的管理方法和设备 | |
CN113987556A (zh) | 数据处理方法和装置、电子设备、存储介质 | |
CN113918517A (zh) | 多类型文件集中管理方法、装置、设备及存储介质 | |
CN111931204A (zh) | 用于分布式系统的加密去重存储方法、终端设备 | |
CN112181308A (zh) | 基于区块链的分布式数据存储方法和电子设备 | |
CN115361680B (zh) | 医保数据智能共享交换系统 | |
CN113656816B (zh) | 一种文本加密方法 | |
KR101632651B1 (ko) | 바이너리 데이터 전송 방법, 서버 및 컴퓨터 프로그램 | |
CN116880778B (zh) | 一种基于再生编码及分布式存储的用户隐私保护方法 | |
CN117880804A (zh) | 一种wapi可信无线局域网设备 |
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 |