CN110659515B - 一种开放式集成电路协同设计云平台及其方法 - Google Patents
一种开放式集成电路协同设计云平台及其方法 Download PDFInfo
- Publication number
- CN110659515B CN110659515B CN201911197863.1A CN201911197863A CN110659515B CN 110659515 B CN110659515 B CN 110659515B CN 201911197863 A CN201911197863 A CN 201911197863A CN 110659515 B CN110659515 B CN 110659515B
- Authority
- CN
- China
- Prior art keywords
- eda
- encryption
- module
- file
- key
- 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
Links
- 238000013461 design Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013475 authorization Methods 0.000 claims abstract description 95
- 238000007726 management method Methods 0.000 claims description 124
- 238000004422 calculation algorithm Methods 0.000 claims description 67
- 238000005516 engineering process Methods 0.000 claims description 45
- 238000011161 development Methods 0.000 claims description 44
- 238000004088 simulation Methods 0.000 claims description 23
- 230000003993 interaction Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000009825 accumulation Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 claims description 4
- 230000008676 import Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000005336 cracking Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 10
- 238000012827 research and development Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
一种开放式集成电路协同设计云平台,其特征在于,包括在线项目管理与协同设计模块、IP加密与授权管理模块、EDA云服务模块、AI辅助设计服务模块;所述在线项目管理与协同设计模块、IP加密与授权管理模块、EDA云服务模块、AI辅助设计服务模块基于云平台前端工作站的网络服务器和云平台后端分布式集群的应用服务器集群进行工作;一种开放式集成电路协同设计的方法,其特征在于,所述方法包括在线项目管理与协同设计步骤、IP加密与授权管理步骤、EDA云服务步骤以及AI辅助设计步骤;本发明能够有效保护IP作者或IP提供商的合法权益,防止不良企业对IP进行本地化反向破解。
Description
技术领域
本发明涉及集成电路设计领域,特别是涉及一种开放式集成电路协同设计云平台及其方法。
背景技术
随着集成电路(Integrate Circuit,IC)设计水平和工艺技术的提高,集成电路规模越来越大,芯片设计规模和设计复杂度也急剧提高,工艺流程呈现专业化。但是在集成电路领域,美国的英特尔、韩国的三星等企业有着悠久的发展历史以及丰厚的技术积累,这意味着后续的集成电路企业想要踏足集成电路领域,打破垄断局面,将会面临重重困难。目前芯片设计领域面临的三大困境包括:
(1)IP垄断现象严重、IP授权价格昂贵、知识产权保护环境恶劣。
由于系统设计日益复杂化,出现了专门从事实现不同功能电路芯片设计的专业公司和个人。芯片设计公司通过获得各个IP的使用授权,可以在较短的时间内完成芯片设计工作,从而有效地控制成本、缩短设计周期、提高产品质量,但同时带来了版权保护问题和安全风险。授权或非授权用户可以通过解剖芯片,非法复制版图的方法,获取IP核的内容,伪造IP核并进行私下交易,这类违法行为严重侵犯IP拥有者的利益,打击了从事芯片IP研发的人员或者公司的积极性。由于产权缺乏保护,导致许多芯片IP拥有者或公司无法通过正常的交易渠道和合理的价格进行IP的授权和出让。最终结果要么停止IP开发,要么被迫授予行业中仅有的几个IP公司或者EDA(Electronics Design Automation)公司。这些公司以低廉的价格获取数量可观的IP后,通过自身平台的验证,再挑选优质的IP以高价卖给需要进行设计的芯片公司。久而久之,在集成电路行业就形成了少数几家公司垄断优质IP的局面。集成电路行业的垄断行为不仅严重阻碍了该行业的公平竞争和良性发展,而且存在巨大的安全隐患,因为许多IP只有接口,而内部结构和行为并不公开,极易存有后门。
(2)EDA软件垄断现象严重、其他优秀特色EDA软件难有发展机会。
从20世纪80年代开始,EDA软件伴随着集成电路行业的不断发展和壮大,逐渐形成了当前几家大型EDA公司。它们覆盖了整个集成电路产品设计的所有环节。后来的公司很难再按这个模式从头来过。即使有些公司开发的某个模块性能更优越,也只能以插件的形式集成到几大平台上去。而且对于EDA工具来说,后期需要大量的维护和优化,才能趋于稳定,但是中小型企业很难有人力和资金进行长期的维护,形成了一个死循环。
(3)研发模式封闭。
不同于欧美与韩台企业,国内的集成电路企业基本不采用团队合作或者远程开发的模式,几乎全部采用自雇工程师进行封闭式开发的方式进行产品研发。沉重的人力成本、硬件成本和管理成本往往在产品还未上市前,就已经压垮了大多数企业。受到西方国家的各种制约和禁令,每个企业、科研单位都单独自成一个研发体系,种种因素导致国内集成电路行业进展缓慢。
为了打破上述三个困局,虽然市面上已有一些技术手段出现,但不足以解决所有的问题,缺乏完整的解决方案。现有的一些技术手段的缺陷如下:
(1)针对知识产权保护问题,近些年来出台了基于数字信封技术的IEEE1735标准,它规定了用于设计IP加密和权限管理的可嵌入和封装标记语法,以及与其他标准中描述的设计规范格式集成的建议。该标准旨在实现设计流程,以提供IP作者、工具提供商、集成商和IP用户之间的互操作性。然而该方法采用了标记语言,只适用于像VHDL语言描述的文本文件格式的数字IP的加密,而不适用于二进制IP文件(比如gds版图文件)的加密。采用许可证、加密等方式的保护手段虽然有一定作用,但是一旦被破解将无法跟踪IP的后续非法使用。此外,目前国际上已有一些研究机构在集成电路的算法级、行为级、结构级和物理级研究数字水印的插入和提取方法。芯片版图水印的核心思想就是将模块作为水印载体,通过在其电路设计的版图中隐藏特定的数字水印,来证明其产权归属或跟踪侵权行为。然而,基于数字水印的IP保护方法需要改动芯片,最好在芯片设计之初就需要考虑,对于已设计好的芯片则很难改动,因为改动可能会影响芯片的功能。由此可见,单独的加密、数字水印等技术是无法实现在线可互操作的IP交易保护和跟踪。
(2)针对EDA软件的垄断问题,由于EDA工具的形成不是一蹴而就的,需要伴随集成电路行业的不断壮大和发展而逐渐形成,所以一旦错过共同发展时期,很难再按这个模式从头来过。
(3)针对研发模式封闭问题,大多数企业要么用传统方式去购买或破解IP,要么进行封闭自主开发。对于大型企业来说,可能会采用内部私有云方式构建集群来进行芯片研发,但本质上是基于内部局域网的,而非借助全世界力量的。
发明内容
为了克服上述现有技术的不足,本发明提出一种开放式集成电路协同设计云平台及其方法。
一种开放式集成电路协同设计云平台,包括在线项目管理与协同设计模块、IP加密与授权管理模块、EDA云服务模块、AI辅助设计服务模块;所述在线项目管理与协同设计模块、IP加密与授权管理模块、EDA云服务模块、AI辅助设计服务模块基于云平台前端工作站的网络服务器和云平台后端分布式集群的应用服务器集群进行工作。
进一步的,所述在线项目管理与协同设计模块实现IC领域模块化项目管理主干分支操作、历史记录回滚、文件对比的功能,连接各类EDA工具,实现定制化的IP授权中心与加解密授权服务,使各类第三方EDA工具/模块通过网页端接口被快速调用的功能;
所述IC领域模块化项目管理包括轻量化的远程文件管理仓库;
所述AI辅助设计服务模块提供定制化的机器学习服务器,通过数据积累,建立电路,模块,单元的预测模型。
进一步的,所述IP加密与授权管理模块具有云平台上IP的远程授权管理、使用监控、权限设置的功能。
进一步的,所述EDA云服务模块将EDA的服务工具集合整理至云平台;EDA云服务模块设置有云服务接口,所述云服务接口用于接入第三方EDA用户;所述EDA云服务模块采用计时付费和流量付费模式。
进一步的,所述方法包括如下步骤:
步骤51:在线项目管理与协同开发设计模块完成在线项目管理与协同设计步骤实现IP项目开发设计;
步骤52:在线项目管理与协同设计模块向IP加密与授权管理模块发送加密请求;
步骤53:IP加密与授权管理模块接收请求通过IP加密与授权管理对IP进行加密,并将完成加密的IP发送给EDA云服务模块;
步骤54:EDA云服务模块接收加密后的IP,通过EDA云服务步骤将加密IP进行存储;
步骤55:在线项目管理与协同开发设计模块向EDA云服务模块发送调用请求;
步骤56:EDA云服务模块接收请求,通过EDA云服务步骤选出调用的IP,将调用的IP发送至IP加密与授权管理模块;
步骤57:IP加密与授权管理模块接收IP,通过IP加密与授权管理步骤,对IP进行解密以及仿真,将仿真结果发送给在线项目管理与协同开发设计模块;
步骤58:在线项目管理与协同开发设计模块接收仿真结果;
所述方法还包括AI辅助设计服务步骤;所述AI辅助设计服务步骤由AI辅助设计服务模块实现,AI辅助设计服务步骤与在线项目管理与协同开发设计以及EDA云服务步骤之间存在信息交互的步骤。
进一步的,所述在线项目管理与协同设计步骤包括:
步骤61:项目生成步骤,需求方在线导入开发项目,提出项目需求,把记录写入区块链;
步骤62:模块分拆步骤,根据开发需求将项目分拆成独立开发子模块;
步骤63:任务分配步骤,根据子模块的工作量和任务难度分配给相应的参与团队,云平台为不同团队开设独立的工作空间,把记录写入区块链;
步骤64:协作开发步骤,多团队在云平台上进行协作开发,并进行进度与节点管理;
步骤65:项目验收步骤,根据项目要求进行节点与项目验收,把记录写入区块链。
进一步的,所述EDA云服务步骤包括:
步骤71:EDA工具选择步骤,在云平台中选择需要使用的EDA工具,所述EDA工具包括电路仿真、版图参数提取、EM仿真,把请求记录写入区块链;
步骤72:云资源选择步骤,选择队列中空闲的云计算资源;
步骤73:数据文件选择步骤:在项目工程中选择需要使用的数据文件,所述数据文件包括源代码、版图文件、电路;若需要使用第三方的IP,则需要检查授权情况,把请求记录和使用记录写入区块链;
步骤74:调用工具步骤,调用工具在云平台上开展仿真计算,把使用记录写入区块链;
步骤75:获取结果步骤,步骤74仿真计算完成后,由云平台获取仿真结果,进行数据查看和导出,把使用时间和流量的记录写入区块链。
进一步的,所述IP加密与授权管理步骤与EDA云服务步骤之间的信息交互步骤,用于芯片设计企业列表,IP提供商列表,IP加密与授权管理模块,EDA云服务模块四部分的交互;所述芯片设计企业列表为IP的设计方;所述IP提供商列表为IP的版权所有者;所述IP加密与授权管理模块包括加密部分Part1和区块链部分Part2;所述交互的步骤包括:
步骤81:所述IP加密与授权管理模块接收芯片设计企业列表中的企业发送的请求;
步骤82:所述IP加密与授权管理模块通知IP提供商列表中相应的提供商;
步骤83:若提供商同意请求,则基于IP加密与授权管理模块中的入库智能合约来提交其IP数据和权限许可数据到IP加密与授权管理模块;若提供商不同意请求,结束交互;
步骤84:IP加密与授权管理模块根据权限许可数据和IP的类型对IP数据进行基于数字信封技术的加密;
步骤85:云平台接收芯片设计企业发出的调用EDA软件的请求,并通过云平台智能合约对调用EDA软件的请求进行验证;
步骤86:若验证通过,则在云平台内部调用相应的EDA软件对自行设计的IP和他人授权的IP进行基于数字信封技术的解密,对解密后的IP进行仿真,将仿真结果发送给芯片设计企业;若验证未通过,结束交互;
所述IP的类型包括文本类型以及二进制类型。
进一步的,所述基于数字信封技术的加密包括基于数字信封技术的文本类型IP加密以及基于数字信封技术的二进制类型IP加密;
所述基于数字信封技术的文本类型IP加密的步骤包括:
步骤901:接收输入的原始的IP文本文件A,权限许可数据以及EDA公钥和/或平台公钥PublicKey;所述EDA公钥可以为两个及以上;若未输入公钥的则通过云平台提供的公钥进行加密;
步骤902:根据权限许可和待加密部分对IP文本文件A进行标记,得到标记后的IP文本文件B:将EDA公钥和/或平台公钥PublicKey写入相应标记段;将所要采用的加密算法名称写入相应标记段,所述加密算法名称包括对称加密算法和非对称加密算法;将权限和许可数据写入相应标记段;
步骤903:云平台生成随机会话密钥SessionKey;
步骤904:基于会话密钥SessionKey对标记好的IP文本文件中需要加密的文本内容进行对称加密,替换IP文本文件A中的原始内容,得到新的IP文本文件C;
步骤905:用EDA软件的公钥和/或平台公钥PublicKey对会话密钥SessionKey利用标记里给定的非对称加密算法进行加密,得到加密后的会话密钥EnSessionKey,将EnSessionKey写入IP文本文件C的相应标记段中,并去掉原先的公钥标记段,并计算权限许可数据以及所用算法说明部分加上EnSessionKey部分的哈希值后写入标记段,得到最后的加密的IP文本文件D;
步骤906:将最终的加密IP文本文件D入库;
基于数字信封技术的二进制类型IP加密的步骤包括:
步骤911:通过云平台的公钥对输入的原始的IP二进制文件E,权限许可数据以及平台公钥PublicKey进行加密;
步骤912:云平台生成随机会话密钥SessionKey;
步骤913:基于会话密钥SessionKey对原始IP二进制文件E进行对称加密,得到加密后的IP二进制文件F;
步骤914:用平台公钥PublicKey对会话密钥SessionKey进行非对称加密算法进行加密,得到加密后的会话密钥EnSessionKey,将EnSessionKey写入密钥文本文件G;
步骤915:将采用的加密算法名称以及权限和许可数据写入密钥文本文件G;
步骤916:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值写入密钥文本文件G;
步骤917:将最终的加密IP二进制文件F和最终的密钥文本文件G成对入库。
进一步的,所述基于数字信封技术的包括基于数字信封技术的文本类型IP解密以及基于数字信封技术的二进制类型IP解密;
所述基于数字信封技术的文本类型IP解密的步骤包括:
步骤1001:云平台接收待解密的IP文本文件X;
步骤1002:查找权限许可数据以及所用算法说明标记段,获知对称加密算法、非对称加密算法和权限许可;
步骤1003:查找IP文本文件X里的加密会话密钥标记段得到加密会话密钥EnSessionKey;
步骤1004:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值,并与文件里的哈希值标记段进行比较;若哈希值标记段一致,则表示文件没有被篡改;若不一致,则提示文件无效,停止后续操作;
步骤1005:EDA软件或云平台根据IP文本文件X,从云平台内部查得对应私钥PrivateKey;
步骤1006:基于算法说明标记段给定的非对称加密算法,用EDA软件的私钥和/或平台私钥PrivateKey对加密的会话密钥EnSessionKey进行解密,得到解密后的会话密钥SessionKey;
步骤1007:基于会话密钥SessionKey对加密的IP文本文件中需要解密的文本内容进行解密,并替换原来加密的那部分内容,得到最终解密的IP文本文件Y;
步骤1008:根据权限许可数据授予用户相应的使用IP的权利;
基于数字信封技术的二进制类型IP解密的步骤包括:
步骤1011:云平台接收待解密的IP二进制文件P和密钥文本文件K;
步骤1012:从密钥文本文件K中获取权限许可数据以及所用算法说明,从而获知对称加密算法、非对称加密算法和权限许可;
步骤1013:从密钥文本文件K中获取加密会话密钥EnSessionKey;
步骤1014:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值,并与密钥文本文件K里的哈希值字段进行比较;若哈希值标记段一致,则表示文件没有被篡改;若不一致,则提示文件无效,停止后续操作;
步骤1015:从内部获得平台私钥PrivateKey;
步骤1016:基于密钥文本文件K指定的非对称加密算法,用平台私钥PrivateKey对加密的会话密钥EnSessionKey进行解密,得到解密后的会话密钥SessionKey;
步骤1017:基于会话密钥SessionKey对加密的IP二进制文件进行解密,得到最终解密的IP二进制文件Q;
步骤1018:根据权限许可数据授予用户相应的使用IP的权利。
本发明的有益效果在于:
通过基于数字信封技术的加密解密步骤,有效保护IP作者或IP提供商的合法权益,防止不良企业对IP进行本地化反向破解。
通过区块链记录IP数据加密、验证、授权、使用的全过程,方便日后对信息进行追溯,解决IP滥用取证困难的问题。
通过对EDA软件进行计时收费或按流量收费,对授权IP进行授权方式收费,使得EDA软件开发者得到应有的利益,也使IP作者或提供商快速得到回报。
通过设置面向企业的EDA云服务模块的云服务接口,免除企业需要独立进行服务器建设,安全管理,人员运维等一系列沉重开支。
附图说明
图1本发明提出的开放式集成电路协同设计云平台总体方案;
图2本发明提出的开放式集成电路协同设计云平台的功能模块;
图3开放式的协同设计开发的基本步骤;
图4互补型EDA云服务的基本步骤;
图5基于数字信封技术和区块链技术的IP加密保护示意图;
图6一个协同设计实施例;
图7基于数字信封技术的文本类型IP加密步骤;
图8基于数字信封技术的二进制类型IP加密步骤;
图9基于数字信封技术的文本类型IP解密步骤;
图10基于数字信封技术的二进制类型IP解密步骤。
附图标记说明:云平台前端工作站10、网络服务器101、项目管理子模块102、项目协同工作子模块103、EDA工具使用子模块104、IP授权使用子模块105、AI模型训练子模块106、云平台后端分布式集群11、应用服务器集群111、区块链及数据库集群112、AI计算集群113、IP加解密服务集群114、EDA工具集群115、项目文件仓库集群116、在线项目管理与协同设计模块201、IP加密与授权管理模块202、EDA云服务模块203、AI辅助设计服务模块204。
具体实施方式
下面结合说明书附图以及实施例对本发明做进一步说明。
实施例1:
如图1所示,一种开放式集成电路协同设计云平台包括云平台前端工作站10和云平台后端分布式集群11。
所述云平台前端工作站10包括网络服务器101、项目管理子模块102、项目协同工作子模块103、EDA工具使用子模块104、IP授权使用子模块105和AI模型训练子模块106。所述网络服务器101用于连接项目管理子模块102、项目协同工作子模块103、EDA工具使用子模块104、IP授权使用子模块105和AI模型训练子模块106,网络服务器101还能够调用云平台后端分布式集群11的相应服务。所述项目管理子模块102用于芯片研发工程文件的在线生成、管理和维护。所述项目协同工作子模块103用于企业芯片研发任务的在线生成、模块拆分、合同分配、协作开发和验收结算。所述EDA工具使用子模块104用于调用EDA软件库中的EDA工具。所述IP授权使用子模块105用于处理IP的使用申请、加密、管理、授权验证和授权使用。所述AI模型训练子模块106用于机器学习和深度学习模型参数的训练。
所述云平台后端分布式集群11包括应用服务器集群111、区块链及数据库集群112、AI计算集群113、IP加解密服务集群114、EDA工具集群115、项目文件仓库集群116。所述应用服务器集群111用于联系区块链及数据库集群112、AI计算集群113、IP加解密服务集群114、EDA工具集群115和项目文件仓库集群116,应用服务器集群111还能够与云平台前端工作站10进行信息交互。所述区块链及数据库集群112为云平台前端和云平台后端提供区块链及数据库服务,所述数据库包括区块链相关的数据库和加密IP数据库。区块链及数据库集群112的作用在于将云平台前端或云平台后端的交易操作写入区块链,以便形成不可篡改的证据链条,便于进行追溯,所述交易操作包括IP加密授权操作、项目协作开发的有关操作、项目管理的有关操作。所述AI计算集群113为云平台前端和云平台后端提供人工智能算法和应用。所述IP加解密服务集群114为云平台前端和云平台后端提供IP加密、解密、授权、许可、验证等服务。所述EDA工具集群115为云平台前端提供EDA工具,并且能够读取以IEEE1735标准进行加密授权的文本格式IP或读取通过本平台的私钥在线解密后的二进制格式IP,所述私钥经本平台许可后由平台发放给用户。所述项目文件仓库集群116用于提供在线工程项目文件的存储、管理和维护。
如图2所示,从功能上看,本发明提出的平台包括在线项目管理与协同设计模块201、IP加密与授权管理模块202、EDA云服务模块203、AI辅助设计服务模块204。这四个模块在图1所示的云平台前端工作站10的网络服务器101和云平台后端分布式集群11的应用服务器集群111的支持下开展对应的工作。所述在线项目管理与协同设计模块与IP加密与授权管理模块、EDA云服务模块两两之间存在信息的交互。所述AI辅助设计服务模块用于辅助IP加密与授权管理模块、EDA云服务模块。
所述在线项目管理与协同设计模块201是基于网页/客户端的项目管理与协同设计子系统,涵盖云平台前端工作站10里的项目管理子模块102和项目协同工作子模块103以及云平台后端分布式集群11的区块链及数据库集群112和项目文件仓库集群116。在线项目管理与协同设计模块201能够实现定制化的IC领域模块化项目管理,包括轻量化的远程文件管理仓库,所述轻量化的在线文件管理仓库具体为所有文件进行云服务器托管,大大简化本地硬件要求。在线项目管理与协同设计模块201提供主干分支操作、历史记录回滚、文件对比等便捷的功能。
所述IP加密与授权管理模块202是结合区块链技术的IP加解密及授权管理子系统,涵盖云平台前端工作站10里的IP授权使用子模块105以及云平台后端分布式集群11的区块链及数据库集群112和IP加解密服务集群114。IP加密与授权管理模块202支持平台上IP的远程授权管理、使用监控、权限设置等一系列功能。IP加密与授权管理模块202是本发明的核心模块。
所述EDA云服务模块203涵盖云平台前端工作站10里的EDA工具使用子模块104以及云平台后端分布式集群11的区块链及数据库集群112和EDA工具集群115。EDA云服务模块203提供集成化的EDA云服务,能够通过网页端支持EDA大厂的全套设计服务以及小型EDA中小服务商独立模块的远程使用。EDA云服务模块203采用计时付费的全新商业模式,是本发明的主要模块。
所述AI辅助设计服务模块204涵盖云平台前端工作站10里的AI模型训练子模块106以及云平台后端分布式集群11的区块链及数据库集群112和AI计算集群113。AI辅助设计服务模块204提供定制化的机器学习服务器,通过数据积累,为IC公司建立各类电路,模块,单元的预测模型。由于辅助设计快速迭代的特点,AI辅助设计服务模块204能够精准获取验证结果,是本发明的可扩展模块。
所述在线项目管理与协同设计模块201的特点在于能够实现模块化的IC项目管理。根据当前复杂SOC或大型芯片开发的特点,定制模块化的IC项目管理系统能够实现轻量化的在线文件管理仓库,支持工程文件仓库化管理;能够兼容主流EDA工程文件系统结构,无缝连接各大EDA工具;能够实现定制化的IP授权中心与加解密授权服务,避免IP授权中被他人侵犯产权的问题;能够使各类第三方EDA工具/模块全部通过网页端接口快速调用,同时各类第三方EDA工具/模块在云平台后台保持运行。所述定制化的IP授权中心与加解密授权服务为根据不同的用户实现用户的IP授权与加解密授权服务。
如图3所示,在线项目管理与协同设计模块201的开放式的协同设计开发的一个实施例包括5个步骤:项目生成S301,模块分拆S302,任务分配S303,协作开发S304和项目验收S305。
项目生成S301:需求方在线导入开发项目,提出项目需求等等,把记录写入区块链。
模块分拆S302:在线项目管理与协同设计模块201根据开发需求将项目分拆成独立开发子模块,分配给一个及以上的团队进行合作研发。
任务分配S303:在线项目管理与协同设计模块201根据子模块的工作量和任务难度分配给对应的参与团队,为不同团队开设独立的工作空间,把记录写入区块链。
协作开发S304:多团队在平台上进行协作开发,并进行进度与节点管理。
项目验收S305:在线项目管理与协同设计模块201根据项目要求进行节点与项目验收,把记录写入区块链。
所述EDA云服务模块203将国外主流EDA服务工具以及各类非主流但有自身特色的EDA的服务工具集合整理至云平台。EDA云服务模块203设置云服务接口,所述云服务接口用于接入第三方EDA用户。EDA云服务模块203采用计时付费和流量付费的商业模式,相比EDA软件传统的收费模式,本实施例能够帮助EDA公司快速获取商业回报。
如图4所示,EDA云服务模块203的互补型EDA云服务的一个实施例包括5个步骤:EDA工具选择S401,云资源选择S402,数据文件选择S403,调用工具S404和获取结果S405。
EDA工具选择S401:第三方EDA用户在平台中选择需要使用的EDA工具,所述EDA工具包括电路仿真、版图参数提取、EM仿真等,EDA云服务模块203把请求记录写入区块链,所述请求记录包括使用EDA工具的请求。
云资源选择S402:EDA云服务模块203选择队列中空闲的云计算资源。
数据文件选择S403:第三方EDA用户在项目工程中选择需要使用的数据文件,所述数据文件包括源代码、版图文件、电路等。若需要使用第三方的IP,则需要检查授权情况,把请求记录和使用记录写入区块链,所述请求记录和使用记录包括请求使用第三方的IP以及使用第三方的IP。
调用工具S404:EDA云服务模块203调用工具在云平台上开展仿真计算,把使用记录写入区块链,所述使用记录包括调用工具并且展开仿真计算。
获取结果S405:计算完成后,由云平台前端工作站获取仿真结果,进行数据查看和导出,把使用时间和流量的记录写入区块链。
如图5所示,所述IP加密与授权管理模块202能够与EDA云服务模块203进行交互。进行交互的目的是实现IP数据、工具与模块应用全在线化流程,让芯片设计企业无法对IP提供商的IP进行本地化反向破解,也无法获得源文件,从而保护了IP,也体现了IP和EDA工具的应有价值,并能对整个授权使用和交易记录进行追溯。所述交互的流程包括四大部分,分别为芯片设计企业列表B501,IP提供商列表B502,IP加密与授权管理模块Part1 B5031和Part2 B5032,EDA云服务模块B504。所述IP加密与授权管理模块Part1 B5031为加密部分;IP加密与授权管理模块Part2 B5032为区块链部分。所述芯片设计企业列表B501为IP的设计方,所述IP的设计方可以为IP的用户。所述IP提供商列表B502为IP的作者、拥有者或版权所有者。
在本实施例中,所述芯片设计企业列表B501中的企业先向IP加密与授权管理模块B5031发送请求;所述IP加密与授权管理模块B5031接收请求并通知IP提供商列表B502中相应的提供商。若提供商同意,则基于IP加密与授权管理模块B5032中的入库智能合约来提交其IP数据和权限许可数据到IP加密与授权管理模块B5031,所述入库智能合约为云平台在建立时就设定的关于IP入库的一系列计算机协议。IP加密与授权管理模块B5031根据权限许可数据和IP数据的格式(二进制还是文本)对IP数据进行基于数字信封技术的加密。当芯片设计企业需要对设计好的芯片进行仿真时,向EDA云服务模块B504中相应的EDA软件发出调用请求。所述调用请求经过云平台智能合约的验证后调用相应的EDA软件为云平台对自行设计的IP和他人授权的IP进行内部解密后进行仿真,将仿真结果发送给芯片设计企业,芯片设计企业无法得到解密IP,所述内部解密为在云平台内部进行的基于数字信封技术的解密,所述云平台智能合约为设定的关于云平台规则的计算机协议。在整个过程中,把所有需要写入区块链的请求消息、验证消息、调用消息、IP加密与授权管理模块B5031的交易与消息数据、智能合约的交易与消息数据都写入区块链,防止篡改以及方便日后的追溯。所述EDA软件的调用,可以采用计时收费或流量收费;所述IP的授权,可以采用授权的方式收费。这样不仅使得EDA软件开发者得到应有的利益,也使IP作者或提供商得到回报,而且在未完全卖给芯片设计企业前不会以解密的形式被芯片设计企业获得,有效保护了IP作者的知识产权。
为了更好的理解如图5所示的基于数字信封技术和区块链技术的IP加密保护示意图,通过举例加以说明。如图6所示,假设芯片设计企业1根据需求在线生成芯片研发项目。该项目的芯片功能经过模块分拆分为4个模块,其中模块1和模块2自主设计,而模块3需要IP提供商1的IP,模块4需要IP提供商2的IP。为了完成芯片研发,芯片设计企业1需要向IP加密与授权管理模块B5031提出IP授权使用请求,IP加密与授权管理模块B5031通知IP提供商1和IP提供商2。若IP提供商1和IP提供商2都同意授权,则IP提供商1和IP提供商2均发送IP数据和权限许可数据到IP加密与授权管理模块B5031。IP加密与授权管理模块B5031基于权限许可数据和IP数据的格式(二进制还是文本)对IP数据进行数字信封技术加密。经过入库智能合约和授权智能合约签署授权合同1和授权合同2后,IP提供商1的IP加密后放到芯片设计企业1芯片研发项目的模块3中,而IP提供商2的IP加密后放到芯片设计企业1芯片研发项目的模块4中,所述授权智能合约为设定的关于授权规则的协议。当要对芯片功能进行仿真验证时,假设需要调用EDA软件1和EDA软件2,则需要对加密的IP进行解密,但是芯片设计企业1不能得到解密后的IP,所以加密的IP模块需要在平台内部解密和/或EDA内部解密。EDA软件1和EDA软件2分别对解密的芯片进行仿真,然后将结果返回给芯片设计企业1。在整个过程中,把所有需要写入区块链的请求消息、验证消息、调用消息、IP加密与授权管理模块B5031的交易与消息数据、智能合约的交易与消息数据都写入区块链,防止篡改以及方便日后的追溯。对于EDA软件1和软件2而言,可以采用计时收费或流量收费。对于IP提供商1和IP提供商2的IP而言,可以采用授权的方式收费。
如图7-10所示,原始IP的类型分为文本类型(如VHDL文件)和二进制类型(如GDS版图文件)。针对文本类型的IP,目前已有IEEE 1735标准采用数字信封技术来规范IP加密和管理的推荐做法,旨在提供IP作者、EDA工具提供商、集成商和IP用户之间的互操作性,文本类型的原始IP的加密和解密过程分别如图7和9所示。针对二进制类型的IP,本实施例借鉴文本类型的做法,给出基于平台自身公私钥体制的数字信封技术,二进制类型的原始IP的加密和解密过程分别如图8和10所示。所述数字信封技术是将对称密钥通过非对称加密的结果分发对称密钥的方法。
如图7所示,基于数字信封技术的文本类型IP加密包括如下步骤:
步骤701:输入原始的IP文本文件A,输入权限许可数据,输入EDA公钥和/或平台公钥PublicKey。所述EDA公钥可以多个,因为加密后的IP文本文件可由多个EDA软件内部解密读取。此外,对于没有用EDA公钥加密的IP文本文件,能够通过本实施例中云平台提供的公钥进行加密。
假设一个原始IP文本文件A如下,该文本文件只有一个公钥PublicKey:
步骤702:根据权限许可和待加密部分对IP文本文件A进行标记,得到标记后的IP文本文件B:将EDA公钥和/或平台公钥PublicKey写入相应标记段;将所要采用的加密算法名称(包括对称加密算法和非对称加密算法)写入相应标记段;将权限和许可数据写入相应标记段。
对于步骤701举例的文本文件A的一种可能标记例子如下,包含了IP作者信息、加密算法(对称aes128-cbc,非对称rsa)、EDA公钥(key_public_key部分)和待加密部分(protect begin到protect end部分):
步骤703:平台生成随机会话密钥SessionKey。
步骤704:基于会话密钥SessionKey对标记好的IP文本文件中需要加密的文本内容进行对称加密(通常用AES128或AES256对称加密算法),替换IP文本文件A中的原始内容,得到新的IP文本文件C。
步骤705:用EDA软件的公钥和/或平台的公钥PublicKey对会话密钥SessionKey利用标记里给定的非对称加密算法进行加密(通常用RSA2048非对称加密算法)得到加密后的会话密钥EnSessionKey,将EnSessionKey写入IP文本文件C的相应标记段中,并去掉原先的公钥标记段,并计算权限许可数据以及所用算法说明部分加上EnSessionKey部分的哈希值后写入标记段,得到最后的加密的IP文本文件D。
步骤706:将最终的加密IP文本文件D入库。对于步骤702标记例子的加密文本文件D的结果如下
在上述结果中,“rwn9VvsNAjCLXbaJkyhFsoIBKSYEBxXlqbBjl/3v28s=”代表权限许可数据以及所用算法说明部分再加上EnSessionKey部分的哈希值;而“OPV9G12XZdprH1dVwXb2zJkY0BNeJe3w1TrVq/J bcvxLfT1dn8stWCcbn6wdDrYU”表示如下待加密内容
BEGIN
PROCESS(clk)
BEGIN
IF(clk'EVENT AND clk='1')
THEN
的加密结果:
而
“rKV95iusbokorUc+dL4rJAegSCe+RPmZL8NmvJ3VV1z9iwaL7blsOOGaThwM9Jqo3MSHtK2Sj9sfaRq7WgbTYNI/1fAsVyymWILVhpA1QC9i8e/hHlYz73ZG/XV0c6zaVPGEaDp0VhOanA9crFvTlKdV1dwRtnVPImowm+Kg2Ochp0JRXwYkPz1HJkasPDjNz56tPsKcHei5iv/qCTwund79YTrhmqM/U+ytUKZj5jqPYnP3jxTvuh8nMkljRggr8zUYjnhq3/j3CBvTIa6xuWma1h+l4nDwf0J9unVOZcRNnwhtZDZu1CMsPrbpPtOdriqQQ6wcjXyjq9jOegCNCA==”代表加密后的会话密钥。
如图8所示,基于数字信封技术的二进制类型IP加密步骤,可以描述如下:
步骤801:输入原始的IP二进制文件E,输入权限许可数据,输入平台公钥PublicKey。由于EDA软件暂不支持加密的IP二进制文件,所以需要采用本实施例中云平台的公钥进行加密。
步骤802:平台生成随机会话密钥SessionKey。
步骤803:基于会话密钥SessionKey对原始IP二进制文件E进行对称加密(通常用AES128或AES256对称加密算法),得到加密后的IP二进制文件F。
步骤804:用平台公钥PublicKey对会话密钥SessionKey进行非对称加密算法进行加密(通常用RSA2048非对称加密算法)得到加密后的会话密钥EnSessionKey,将加密后的会话密钥EnSessionKey写入密钥文本文件G。
步骤805:将采用的加密算法名称(包括对称加密算法和非对称加密算法)以及权限和许可数据写入密钥文本文件G。
步骤806:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值写入密钥文本文件G。
步骤807:将最终的加密IP二进制文件F和最终的密钥文本文件G成对入库。
如图9所示,基于数字信封技术的文本类型IP解密步骤,可以描述如下:
步骤901:将待解密的IP文本文件X输入云平台。
步骤902:查找权限许可数据以及所用算法说明标记段,获知对称加密算法、非对称加密算法和权限许可。以步骤706的示例结果为例,这部分内容如下:
`pragma protect version=2
`pragma protect encrypt_agent="ipecrypt"
`pragma protect encrypt_agent_info="http://ipencrypter.com Version:19.1.0"
`pragma protect author="mzhou"
`pragma protect author_info="ZJU"
`pragma protect data_method="aes128-cbc"
`pragma protect begin_commonblock
`pragma protect end_commonblock
`pragma protect begin_toolblock
`pragma protect key_keyowner="Xilinx"
`pragma protect key_keyname="xilinx_2016_05"
`pragma protect key_method="rsa"
`pragma protect rights_digest_method="sha256"
步骤903:查找IP文本文件X里的加密会话密钥标记段得到加密会话密钥EnSessionKey。以步骤706的示例结果为例,EnSessionKey为
rKV95iusbokorUc+dL4rJAegSCe+RPmZL8NmvJ3VV1z9iwaL7blsOOGaThwM9Jqo
3MSHtK2Sj9sfaRq7WgbTYNI/1fAsVyymWILVhpA1QC9i8e/hHlYz73ZG/XV0c6za
VPGEaDp0VhOanA9crFvTlKdV1dwRtnVPImowm+Kg2Ochp0JRXwYkPz1HJkasPDjNz56tPsKcHei5iv/qCTwund79YTrhmqM/U+ytUKZj5jqPYnP3jxTvuh8nMkljRggr
8zUYjnhq3/j3CBvTIa6xuWma1h+l4nDwf0J9unVOZcRNnwhtZDZu1CMsPrbpPtOd
riqQQ6wcjXyjq9jOegCNCA==
步骤904:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值,并与文件里的哈希值标记段进行比较,验证文件是否被篡改。若哈希值标记段一致,则表示文件没有受到篡改;若不一致,则提示文件无效,停止后续操作。
步骤905:根据IP文本文件X里的keyowner和keyname,EDA软件或平台从内部查得对应私钥PrivateKey。以步骤706的示例结果为例,keyowner为Xilinx,而keyname为xilinx_2016_05,表示EDA公司Xilinx的2016年5月的公私钥版本。
步骤906:基于算法说明标记段给定的非对称加密算法,用EDA软件的私钥和/或平台的私钥PrivateKey对加密的会话密钥EnSessionKey进行解密,得到解密后的会话密钥SessionKey。
步骤907:基于会话密钥SessionKey对加密的IP文本文件中需要解密的文本内容进行解密,并替换原来加密的那部分内容,得到最终解密的IP文本文件Y。注意,这里IP用户也许不能够访问文本文件Y,而是能够对EDA软件或平台内部解密的文本文件Y进行仿真。
步骤908:根据权限许可数据允许用户在EDA内部或平台内部按规定使用IP。
如图10所示,基于数字信封技术的二进制类型IP解密步骤,可以描述如下:
步骤1001:输入待解密的IP二进制文件P和密钥文本文件K。
步骤1002:从密钥文本文件K中获取权限许可数据以及所用算法说明,从而获知对称加密算法、非对称加密算法和权限许可。
步骤1003:从密钥文本文件K中获取加密会话密钥EnSessionKey。
步骤1004:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值,并与密钥文本文件K里的哈希值字段进行比较,验证文件没被篡改。若哈希值标记段一致,则表示文件没有受到篡改;若不一致,则提示文件无效,停止后续操作。
步骤1005:从内部获得平台私钥PrivateKey。
步骤1006:基于密钥文本文件K指定的非对称加密算法,用平台的私钥PrivateKey对加密的会话密钥EnSessionKey进行解密,得到解密后的会话密钥SessionKey。
步骤1007:基于会话密钥SessionKey对加密的IP二进制文件进行解密,得到最终解密的IP二进制文件Q。注意,这里IP用户也许不能够访问二进制文件Q,而是能够对平台内部解密后的二进制文件Q进行仿真。
步骤1008:根据权限许可数据允许用户在平台内部按规定使用IP。
以上所述,只是本发明的具体实施例,并非对本发明做出任何形式上的限制,在不脱离本发明的技术方案基础上,所做出的简单修改、等同变化或修饰,均落入本发明的保护范围。
Claims (7)
1.一种开放式集成电路协同设计云平台,其特征在于,包括在线项目管理与协同设计模块、IP加密与授权管理模块、EDA云服务模块、AI辅助设计服务模块;所述在线项目管理与协同设计模块、IP加密与授权管理模块、EDA云服务模块、AI辅助设计服务模块基于云平台前端工作站的网络服务器和云平台后端分布式集群的应用服务器集群进行工作;
所述EDA云服务模块将EDA的服务工具集合整理至云平台;EDA云服务模块设置有云服务接口,所述云服务接口用于接入第三方EDA用户;所述EDA云服务模块采用计时付费和流量付费模式;
IP加密与授权管理模块能够对IP进行加密和解密,加密的IP模块需要在平台内部解密和/或EDA内部解密;
所述在线项目管理与协同设计模块使各类第三方EDA工具/模块通过网页端接口实现被快速调用的功能;同时各类第三方EDA工具/模块在云平台后台保持运行;
所述在线项目管理与协同设计模块实现IC领域模块化项目管理主干分支操作、历史记录回滚、文件对比的功能,连接各类EDA工具,实现定制化的IP授权中心与加解密授权服务;
所述IC领域模块化项目管理包括轻量化的远程文件管理仓库;
所述AI辅助设计服务模块提供定制化的机器学习服务器,通过数据积累,建立电路,模块,单元的预测模型。
2.根据权利要求1所述的一种开放式集成电路协同设计云平台,其特征在于,所述IP加密与授权管理模块具有云平台上IP的远程授权管理、使用监控、权限设置的功能。
3.一种利用权利要求1所述云平台的开放式集成电路协同设计方法,其特征在于,所述方法包括如下步骤:
步骤51:在线项目管理与协同设计模块完成在线项目管理与协同设计步骤实现IP项目开发设计;
步骤52:在线项目管理与协同设计模块向IP加密与授权管理模块发送加密请求;
步骤53:IP加密与授权管理模块接收请求通过IP加密与授权管理对IP进行加密,并将完成加密的IP发送给EDA云服务模块;
步骤54:EDA云服务模块接收加密后的IP,通过EDA云服务步骤将加密IP进行存储;
步骤55:在线项目管理与协同设计模块向EDA云服务模块发送调用请求;
步骤56:EDA云服务模块接收请求,通过EDA云服务步骤选出调用的IP,将调用的IP发送至IP加密与授权管理模块;
步骤57:IP加密与授权管理模块接收IP,通过IP加密与授权管理步骤,对IP进行内部解密以及仿真,将仿真结果发送给在线项目管理与协同设计模块;
步骤58:在线项目管理与协同设计模块接收仿真结果;
所述方法还包括AI辅助设计服务步骤;所述AI辅助设计服务步骤由AI辅助设计服务模块实现,AI辅助设计服务步骤与在线项目管理与协同开发设计步骤以及EDA云服务步骤之间存在信息交互的步骤;
所述EDA云服务步骤包括:
步骤71:EDA工具选择步骤,在云平台中选择需要使用的EDA工具,所述EDA工具包括电路仿真、版图参数提取、EM仿真,把请求记录写入区块链;
步骤72:云资源选择步骤,选择队列中空闲的云计算资源;
步骤73:数据文件选择步骤:在项目工程中选择需要使用的数据文件,所述数据文件包括源代码、版图文件、电路;若需要使用第三方的IP,则需要检查授权情况,把请求记录和使用记录写入区块链;
步骤74:调用工具步骤,调用工具在云平台上开展仿真计算,把使用记录写入区块链;
步骤75:获取结果步骤,步骤74仿真计算完成后,由云平台获取仿真结果,进行数据查看和导出,把使用时间和流量的记录写入区块链;
所述IP加密与授权管理模块能够与EDA云服务模块进行在线交互,并能对授权使用和交易记录在区块链中进行追溯。
4.根据权利要求3所述的一种开放式集成电路协同设计方法,其特征在于,所述在线项目管理与协同设计步骤包括:
步骤61:项目生成步骤,需求方在线导入开发项目,提出项目需求,把记录写入区块链;
步骤62:模块分拆步骤,根据开发需求将项目分拆成独立开发子模块;
步骤63:任务分配步骤,根据子模块的工作量和任务难度分配给相应的参与团队,云平台为不同团队开设独立的工作空间,把记录写入区块链;
步骤64:协作开发步骤,多团队在云平台上进行协作开发,并进行进度与节点管理;
步骤65:项目验收步骤,根据项目要求进行节点与项目验收,把记录写入区块链。
5.根据权利要求4所述的一种开放式集成电路协同设计方法,其特征在于,所述IP加密与授权管理步骤与EDA云服务步骤之间的信息交互步骤,用于芯片设计企业列表,IP提供商列表,IP加密与授权管理模块,EDA云服务模块四部分的交互;所述芯片设计企业列表为IP的设计方;所述IP提供商列表为IP的版权所有者;所述IP加密与授权管理模块包括加密部分Part1和区块链部分Part2;所述交互的步骤包括:
步骤81:所述IP加密与授权管理模块接收芯片设计企业列表中的企业发送的请求;
步骤82:所述IP加密与授权管理模块通知IP提供商列表中相应的提供商;
步骤83:若提供商同意请求,则基于IP加密与授权管理模块中的入库智能合约来提交其IP数据和权限许可数据到IP加密与授权管理模块;若提供商不同意请求,结束交互;
步骤84:IP加密与授权管理模块根据权限许可数据和IP的类型对IP数据进行基于数字信封技术的加密;
步骤85:云平台接收芯片设计企业发出的调用EDA软件的请求,并通过云平台智能合约对调用EDA软件的请求进行验证;
步骤86:若验证通过,则在云平台内部调用相应的EDA软件对自行设计的IP和他人授权的IP进行基于数字信封技术的解密,加密的IP模块需要在平台内部解密和/或EDA内部解密,对解密后的IP进行仿真,将仿真结果发送给芯片设计企业;若验证未通过,结束交互;
所述IP的类型包括文本类型以及二进制类型。
6.根据权利要求5所述的一种开放式集成电路协同设计方法,其特征在于,所述基于数字信封技术的加密包括基于数字信封技术的文本类型IP加密以及基于数字信封技术的二进制类型IP加密;
所述基于数字信封技术的文本类型IP加密的步骤包括:
步骤901:接收输入的原始的IP文本文件A,权限许可数据以及EDA公钥和/或平台公钥PublicKey;所述EDA公钥为两个及以上;若未输入公钥的则通过云平台提供的公钥进行加密;
步骤902:根据权限许可和待加密部分对IP文本文件A进行标记,得到标记后的IP文本文件B:将EDA公钥和/或平台公钥PublicKey写入相应标记段;将所要采用的加密算法名称写入相应标记段,所述加密算法名称包括对称加密算法和非对称加密算法;将权限和许可数据写入相应标记段;
步骤903:云平台生成随机会话密钥SessionKey;
步骤904:基于会话密钥SessionKey对标记好的IP文本文件中需要加密的文本内容进行对称加密,替换IP文本文件A中的原始内容,得到新的IP文本文件C;
步骤905:用EDA软件的公钥和/或平台公钥PublicKey对会话密钥SessionKey利用标记里给定的非对称加密算法进行加密,得到加密后的会话密钥EnSessionKey,将EnSessionKey写入IP文本文件C的相应标记段中,并去掉原先的公钥标记段,并计算权限许可数据以及所用算法说明部分加上EnSessionKey部分的哈希值后写入标记段,得到最后的加密的IP文本文件D;
步骤906:将最终的加密IP文本文件D入库;
基于数字信封技术的二进制类型IP加密的步骤包括:
步骤911:通过云平台的公钥对输入的原始的IP二进制文件E,权限许可数据以及平台公钥PublicKey进行加密;
步骤912:云平台生成随机会话密钥SessionKey;
步骤913:基于会话密钥SessionKey对原始IP二进制文件E进行对称加密,得到加密后的IP二进制文件F;
步骤914:用平台公钥PublicKey对会话密钥SessionKey进行非对称加密算法进行加密,得到加密后的会话密钥EnSessionKey,将EnSessionKey写入密钥文本文件G;
步骤915:将采用的加密算法名称以及权限和许可数据写入密钥文本文件G;
步骤916:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值写入密钥文本文件G;
步骤917:将最终的加密IP二进制文件F和最终的密钥文本文件G成对入库。
7.根据权利要求5所述的一种开放式集成电路协同设计方法,其特征在于,所述基于数字信封技术的解密包括基于数字信封技术的文本类型IP解密以及基于数字信封技术的二进制类型IP解密;
所述基于数字信封技术的文本类型IP解密的步骤包括:
步骤1001:云平台接收待解密的IP文本文件X;
步骤1002:查找权限许可数据以及所用算法说明标记段,获知对称加密算法、非对称加密算法和权限许可;
步骤1003:查找IP文本文件X里的加密会话密钥标记段得到加密会话密钥EnSessionKey;
步骤1004:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值,并与文件里的哈希值标记段进行比较;若哈希值标记段一致,则表示文件没有被篡改;若不一致,则提示文件无效,停止后续操作;
步骤1005:EDA软件或云平台根据IP文本文件X,从云平台内部查得对应私钥PrivateKey;
步骤1006:基于算法说明标记段给定的非对称加密算法,用EDA软件的私钥和/或平台私钥PrivateKey对加密的会话密钥EnSessionKey进行解密,得到解密后的会话密钥SessionKey;
步骤1007:基于会话密钥SessionKey对加密的IP文本文件中需要解密的文本内容进行解密,并替换原来加密的那部分内容,得到最终解密的IP文本文件Y;
步骤1008:根据权限许可数据授予用户相应的使用IP的权利;
基于数字信封技术的二进制类型IP解密的步骤包括:
步骤1011:云平台接收待解密的IP二进制文件P和密钥文本文件K;
步骤1012:从密钥文本文件K中获取权限许可数据以及所用算法说明,从而获知对称加密算法、非对称加密算法和权限许可;
步骤1013:从密钥文本文件K中获取加密会话密钥EnSessionKey;
步骤1014:计算权限许可数据以及所用算法说明连同EnSessionKey部分的哈希值,并与密钥文本文件K里的哈希值字段进行比较;若哈希值标记段一致,则表示文件没有被篡改;若不一致,则提示文件无效,停止后续操作;
步骤1015:从内部获得平台私钥PrivateKey;
步骤1016:基于密钥文本文件K指定的非对称加密算法,用平台私钥PrivateKey对加密的会话密钥EnSessionKey进行解密,得到解密后的会话密钥SessionKey;
步骤1017:基于会话密钥SessionKey对加密的IP二进制文件进行解密,得到最终解密的IP二进制文件Q;
步骤1018:根据权限许可数据授予用户相应的使用IP的权利。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911197863.1A CN110659515B (zh) | 2019-11-29 | 2019-11-29 | 一种开放式集成电路协同设计云平台及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911197863.1A CN110659515B (zh) | 2019-11-29 | 2019-11-29 | 一种开放式集成电路协同设计云平台及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659515A CN110659515A (zh) | 2020-01-07 |
CN110659515B true CN110659515B (zh) | 2020-09-01 |
Family
ID=69043779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911197863.1A Active CN110659515B (zh) | 2019-11-29 | 2019-11-29 | 一种开放式集成电路协同设计云平台及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659515B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523285B (zh) * | 2020-04-26 | 2023-04-14 | 伟宸科技(武汉)有限公司 | 一种释放超低频波电路的设计方法 |
CN113239367B (zh) * | 2020-07-07 | 2024-05-31 | 上海超算科技有限公司 | 一种核电网络化协同计算环境下的标识数据加密存取方法 |
CN112100965B (zh) * | 2020-09-25 | 2021-08-03 | 无锡物联网创新中心有限公司 | 一种电子制造业协同创新平台及其使用方法 |
CN112685681A (zh) * | 2021-01-23 | 2021-04-20 | 灿芯半导体(上海)有限公司 | 集成电路项目设计管理系统 |
CN113034096B (zh) * | 2021-02-03 | 2022-09-06 | 浙江富安莱科技有限公司 | 一种智能研发与生产信息系统 |
CN113033126A (zh) * | 2021-04-21 | 2021-06-25 | 湖北九同方微电子有限公司 | 基于云计算的移动集成电路设计流程 |
CN115081363B (zh) * | 2022-08-16 | 2022-10-25 | 中国电子科技集团公司信息科学研究院 | 一种协同公共服务平台 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934019A (zh) * | 2018-11-08 | 2019-06-25 | 杭州基尔区块链科技有限公司 | 一种基于区块链和信息隐藏的芯片ip保护机制 |
CN109726249B (zh) * | 2018-12-12 | 2020-06-09 | 杭州基尔区块链科技有限公司 | 一种去中心化芯片研发交易数据存储方法及系统 |
CN109684869A (zh) * | 2018-12-12 | 2019-04-26 | 杭州基尔区块链科技有限公司 | 一种去中心化芯片研发交易方法及系统 |
CN110032885B (zh) * | 2019-02-19 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点和存储介质 |
-
2019
- 2019-11-29 CN CN201911197863.1A patent/CN110659515B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110659515A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659515B (zh) | 一种开放式集成电路协同设计云平台及其方法 | |
US6895503B2 (en) | Method and apparatus for hierarchical assignment of rights to documents and documents having such rights | |
CN102073826B (zh) | 利用轻量级数字水印添加组件的数字版权管理的系统和方法 | |
CN108389059A (zh) | 基于权属的数字版权作品保护、交易和发行方法及系统 | |
Hwang et al. | Modeling and implementation of digital rights | |
CN116168820A (zh) | 基于虚拟集成与区块链融合的医疗数据互操作方法 | |
CN106059762A (zh) | 数据安全处理方法及装置 | |
CN109660352A (zh) | 一种基于区块链的分销关系记录方法、装置及终端设备 | |
WO2024002102A1 (zh) | 一种数据资产主动管理系统、计算设备及存储介质 | |
CN102087688A (zh) | 一种互联网数字音像出版发行全程管理和版权保护的方法 | |
CN101042721A (zh) | 使用临时许可临时访问内容的方法和设备 | |
CN114722355A (zh) | 一种基于区块链和ipfs的版权保护系统及方法 | |
Miao et al. | Digital copyright works management system based on DOSA | |
Zhang et al. | Towards transparency and trustworthy: A used-car deposit platform based on blockchain | |
Han et al. | TSCS: A blockchain-based tokenized subtitling crowdsourcing system | |
Sung | Prospects and challenges posed by blockchain technology on the copyright legal system | |
Miao et al. | Research on the Realization Path and Application of a Data Governance System Based on Data Architecture | |
CN115660903A (zh) | 基于区块链的知识产权成果共享管理系统及方法 | |
CN114386146A (zh) | 基于区块链的bim模型保密的共享方法及系统 | |
CN103366129A (zh) | 基于网络的数据文件控管系统及其数据文件控管方法 | |
Miao et al. | Data architecture for big data service operations management (the new vision of data architecture for the future human society) | |
Gupta et al. | Using Blockchain for Digital Copyrights Management | |
Zheng et al. | Construction and implementation of trading framework for laboratory data based on DOSA | |
CN112184225B (zh) | 一种基于区块链的云渲染资源兑换方法 | |
Wang et al. | [Retracted] Design of Embedded Ai Engine Based on the Microkernel Operating System |
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 | ||
CP03 | Change of name, title or address |
Address after: Room 808, Building 8, Yunchuang Gagu R&D Center, No. 428 Zhiqiang Road, Xihu District, Hangzhou City, Zhejiang Province, 310000 Patentee after: Hangzhou Kiel Technology Co.,Ltd. Address before: Room 609, Building 5, No. 3 Xiyuan San Road, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province, 310000 Patentee before: HANGZHOU KILBY BLOCKCHAIN TECHNOLOGY Ltd. |
|
CP03 | Change of name, title or address |