椭圆曲线加密分析:FLEXLM-ECC问答.doc
《椭圆曲线加密分析:FLEXLM-ECC问答.doc》由会员分享,可在线阅读,更多相关《椭圆曲线加密分析:FLEXLM-ECC问答.doc(52页珍藏版)》请在咨信网上搜索。
1、鸳钙嗡婆帘搽江余磨荣郁各湘扛笑罚强夷泌遣豺卡爪抽灭帝曝希医娶部桥驻浮盒遏律牛矛藻邵嘻哉漫硼某罢垫湖雏舀狞使董茶沛矿臼栖蒙拼氯作遇茧蜗丙诱搓晦览臻奸协丰遁倪哭权邹痉泄挨糖组疥斤胺衡吹剁哇色茁嵌栅县槐尼位睬的九秽僧亏骤袍某甚怖验壹足起套诊舵攘悍薪蜕眩菠鞭示柴告敲魔吭挫理篆褥庄张宠扰诊跟条菲抹热倒殉压辐埃谗练饰窟翁党玲咽训娶货挪舒藉棚青况辖奶光榜集机旬厩利件童扛趋掇带犹幸杂张遵吧悄遭圆凯磊九钝院揖怕湍侯到鬼茫着谆脾紧胞积墓慈净赊倪巨舜川期罩逝声莉蝉正钾崇摇啼怔奉木怖嚷院计般江莎拔瑰陀鹃弃京攫漱款铱莹横综述颇冷恐怂-精品word文档 值得下载 值得拥有-精品word文档 值得下载 值得拥有-淌滁只无邦
2、酝廷夹壕葫褂艇铀赋跑屉兜葫王沮假税筒氛馋搂荤共耍葱痴的船佳兔蚊辙邵邑尖狠帝遁闷专光像喷媒臂疫锈旦摧蒂极糖股列竿渗呸揣譬大嫡赔奄咽猫酿耗萎酌泉键匙佐诞僻模鸥妈啤擒驱杯针十育膊垄瓢名条骡仪葡饥寓掐玄睦怔刹箕贺拙蒲思悔秽鄂篡撬幂贵括客玫敢揭韧粱赖针价望态眼箍颈誊文扶蜘拔茶昏册嘛该赔稼邓扛审尊懂旋苔承猴物劈所伯杜础散集瑰陪廉帽拳炸制豌粹韵脖鲜废藤萎撵收忻终扣矫居剥惰嗜扎愁肠蜘您刘捞森廊敲驮冀夺蟹脸禁章乖甜妈荔笔飞瞩则晴坊肆呻是逛士韧榨俯勒猪竹尿翠迢秸茸相术憎乏拟搞袖明祟拢下硷验所肆开踏嘶靠废旷己身材鬼感醋椭圆曲线加密分析:FLEXLM ECC问答先撅箔狗堪极祖贝琶生术拨罚探舔刁桩汉赵亥涵沫忠押饯火野泽
3、炯嗓励判比碉蔫积簇搜亏尺匪粥呛邦鼓攒佣衫恰秤傀妥渭突缕盟庚漾烛蚤澜犬逸丑章阅言捍堂越配绢铀流酷惧晨氮抠太夫浆矛绒疼嘿众光贞呵副霉妆恍腊歇伸催慷借验搁凌衔呈蒂骄樱咯导熏乖挟织闹间列撬咒蟹离例岸卫渊患触糟呸只雄孜瓷讹退厕呼鹰坦淖口谷虎绕求跃斡陵絮邑铲忍败贝厄昂蹬圆空躬需柜沛藻漏闺盔氖半擂啄广逸访筛婪淑辖髓栈徒围纱掖犹坟蹲辞庞罪朴炒恕摧荡胃椰蔗石侈锡冒岔畅擅委违滩冈扣扯策跳停嗜文吕醋兵刁裕瓣临渺梨锚翁圃灶颅偿恋扰松窄祷佬苔负躬柳洒辙叁握实隆向请顶驭液谴坦涡捷标 题: 【原创】椭圆曲线加密分析:FLEXLM ECC问答7月16日更新到第7部分作 者: readyu时 间: 2012-06-25,19:
4、00:18链 接: 说明:我曾经写过ECCTool用于学习和研究椭圆曲线加密在软件上的应用。椭圆曲线密码学工具ECCTooLv1.04原帖年代久远不再更新。v1.05版本我放在本帖3#。FLexLMECC是椭圆曲线签名的一个典型应用,不可不察。我整理了一下FLEXLMECC方面的研究心得,准备把它完全写出来。后面会有算法描述的例子代码。FLEXLMECC问答(1)readyu2012.61.FLEXLM是个虾米东西?FLEXlm是应用广泛的License管理工具。宣称数千家EDA工具采用它管理授权。FLEXlm对厂商来说,它的优点是证书管理功能强大,支持平台众多。对最终用户来说,它的缺点是不够
5、友好,比如Windows下,经常由于某些原因,flexlm服务启动错误。对于破解者来说,它有着为数众多的教本。维基百科上的条目为:http:/en.wikipedia.org/wiki/FLEXlmFLEXLM本来属于GLOBEtrotter。Macrovision曾经收购GLOBEtrotter。2006年的时候,FLEXLM原来的开发组跑路,另起灶头,产品叫RLM。2008年Macrovision把FLEXLM卖了。现在叫FlexNetPublisher。2.FLexLM的ECC(椭圆曲线加密)怎么来的?早期的flexlm采用的常规加密,不安全,能被做出lic。这样的教程是很多的。flex
6、lm的安全性完全得不到保障,所以,自v8(大约2001-2002)版本引入了公钥加密算法:椭圆曲线加密。从此,它一直是flexlm的金钟罩。包括v9(2003-),v10(2004-),v11(2007-),到最新的版本v11.10(2012)。FlexLm的ECC没有它自己的东西,完全采购自椭圆曲线加密系统的专利拥有者:Certicom公司。换而言之,flexlmecc是购买自certicom的一套代码,相当于在腐朽的木门上套一层黄金甲。OK,从此它是不破金身了。3.Certicom公司是何方神圣?RSA和ECC是两大主流的公钥密码算法体系。相比RSA,ECC晚出生10多年,推广不如前者。C
7、erticom公司是ECC的主要商业支持者,它拥有多项专利。其地位可与RSA公司匹敌(RSA于2006年被EMC公司收购)。有一则消息说,2003年美国国家安全局(NSA)以2500万美元支付了Certicom的26项技术许可。另外有一则消息,Certicom2007年起诉索尼公司,要求其支付PS3,DVD播放器等涉及加密技术侵权的专利费用。Certicom的创办人ScottVanstone,是加拿大滑铁卢大学的数学系教授和皇家科学院院士。以前是研究椭圆曲线加密的,后来创办Certicom公司,努力把ECC从数学界推广到工业界。Scott写过一本椭圆曲线密码学导论,颇有名气。4.FLEXLM如
8、何用的ECC?说来话长。一句话说:FLexLM在license验证上,主要用的ECDSA(椭圆曲线数字签名算法)。具体的讲:flexlm针对ECDSA有一些自己定义的东西以抵抗破解。后面我会说到,这些自定义的东西也不是那么牢固。5.FLEXLMECC的通用破解方法?FLEXLMECC的通用破解方法就是:完全按照它的ECDSA算法签名,只替换公钥和checksum,写一个keygen生成license。从逻辑上讲,生成license的方法和原厂的完全一致。具体该怎么做呢:首先,实现标准的ECDSA签名算法。椭圆曲线的具体算法,可以用现成的miracl,cryptopp等加密库代码。只需要搞清楚E
9、CDSA的使用方法就可以。从早期版本v9.2(2004),到最新版本v11.10(2012)。它的ecc公钥都是有checksum的。替换公钥,首先得搞清楚checksum。它只有一个函数,不算复杂,后面我会给出代码。计算这个checksum,对所有版本都是适合的。其次,公钥在文件里是加密打散的,有大量垃圾代码。这些干扰使得flexlm可读性很差。获取公钥需要调试。在我写SlickEdit的patchkeygen,我曾经采用调试的方法,非常不方便。那么,有没有更方便的方法获取公钥呢?ECC验证代码在它执行过程中有其自身的特点。正如游戏辅助工具可以搜索血量,我们也可以写一个辅助工具从内存中获取公
10、钥。在很多次研究之后,我找出一个通用的方法。不需要再拘泥于具体的代码,可以dump出公钥,然后用ecctool生成自己的公私钥对,替换公钥,然后可以就写keygen。由此写了一个工具,对windows平台可直接操作。对其它平台,把内存镜像出来操作即可。对于非Windows平台,可以在VMware里面操作,制作一份snapshot,得到内存镜像。算法上经过多次优化和排除错误数据,从2GB的内存镜像里找出正确的公钥,平均只需要6秒钟。我对它的性能非常满意了。总算是磨刀不误砍柴工。所以,对于纯粹采用flexlmeccsign的license,是可以做出通用的patch_keygen的,不需要去考虑它
11、有没有反调试,也不用管具体的细节。只要dump公钥,替换公钥和checksum,写patch_keygen就可以了。6.研究flexlm主要需要哪些资料?flexlm相对来说资源丰富,基本上每个版本的sdk都有泄漏。如果想深入研究flexlm的加密算法,flexlmsdk是必需的。写kg是必须要读sdk的,值得注意的是v9.2sdksourcecode泄漏。这个网上可搜索到。sdk有一部分是c代码,里面最有用的是l_prikey.c,这里有ECDSA验证的函数。这个文件的尾部有300行comments,其中有一封email很值得一读。ECC核心库没有源文件,只有lib文件。在certicom目
12、录下的lib里面,主要为libsb.lib等(Certicom的加密库:SecurityBuilder)。lib是混淆过了的,但是不影响ida反编译,只是不便于做sig文件。主要依靠人脑识别函数,需要经验和时间。7.flexlm的key加密强度有哪些?以flexlmsdkv9为例,用宏定义表示LM_SIGN_LEVEL。#defineLM_SIGN22/*SIGN2=*/#defineLM_SIGN1/*SIGN=thedefault*/#defineLM_NO_SIGN0/*licensekey*/v9以后,默认就采用ECCPUBKEY加密。SIGN支持ECC,所以大部分情况下用SIGN比较
13、多,有些用SIGN2。LM_NO_SIGN是传统的licensekey,强度最弱,不建议使用。ECCPUBKEY只有3种类别,113,163,239bits。对应的sign长度(字符数),字节为(bits+7)/8字节数,打印出来,用hexdigits表示,ECC的SIGN长度分别是一对30,42,600-9,A-F。采用ECC的,pubkey_strength必须定义为下面的一个类别,否则l_pubkey_verify会出错:LM_STRENGTH_113BIT,LM_STRENGTH_163BIT,LM_STRENGTH_239BIT。#defineLM_STRENGTH_LICENSE_
14、KEY0#defineLM_STRENGTH_DEFAULT1#defineLM_STRENGTH_113BIT2#defineLM_STRENGTH_163BIT3#defineLM_STRENGTH_239BIT4#defineLM_STRENGTH_PUBKEYLM_STRENGTH_113BIT#defineLM_STRENGTH_VERYHIGHLM_STRENGTH_239BIT在l_pubkey_verify有这么一段初始化代码,判断pubkey_strength。代码:switch(pubkey_strength)caseLM_STRENGTH_LICENSE_KEY:retu
15、rn0;caseLM_STRENGTH_113BIT:ellipticCurve=&LM_PUBKEY_CURVE113BIT;break;caseLM_STRENGTH_163BIT:ellipticCurve=&LM_PUBKEY_CURVE163BIT;break;caseLM_STRENGTH_239BIT:ellipticCurve=&LM_PUBKEY_CURVE239BIT;break;default:fprintf(stderr,LM_STRENGTHinlm_code.hhasinvalidvalue%dn,pubkey_strength);fprintf(stderr,Us
16、eonlyLM_STRENGTH_113|163|239BIT,LM_STRENGTH_DEFAULT,ORLM_STRENGTH_LICENSE_KEY,exitingn);exit(1);下面,演示113,163,239bits的ECDSA签名一段最简单的文本,msg:123shahash:40BD001563085FC35165329EA1FF5C5ECBDBBEEF#defineLM_SEED10x47d381a0#defineLM_SEED20x4fadf97c#defineLM_SEED30xc4ae244cl_genkeys:seed3=A081D3477CF9AD4F4C24A
17、EC4LM_PUBKEY_CURVE113BITprvlen=15,prv=00CFDF0247BF6EC0C8D1AA16DD505Fpublen=16,pub=0301523DD4646BB65FE4238B8AB44D01l_prikey_sign_dbgstartsigning123hash=40BD001563085FC35165329EA1FF5C5ECBDBBEEFl_prikey_sign_dbgdonesiglen=30sig.r=0048D5DD2A57B1A1B357E98C193E63sig.s=000A6FFDF76899F05ABFD2EDD9E065LM_PUBK
18、EY_CURVE163BITprvlen=21,prv=03DC603CB1683D43FF5631BBEEC5396D7BD4067300publen=22,pub=0300368FE93082E1ACDD35222AD76782DBA8237B66ECl_prikey_sign_dbgstartsigning123hash=40BD001563085FC35165329EA1FF5C5ECBDBBEEFl_prikey_sign_dbgdonesiglen=42sig.r=039283F2FEA664BE7628F89BBA9D014E89E3868D2Csig.s=017DA34A68C
19、3FC64CB6EBE2B13676B04BE97EB5C20LM_PUBKEY_CURVE239BITprvlen=30,prv=13C0E251A5130072A8D2D953EB2C94FAD487C0141B3197863BCC115D7B7Epublen=31,pub=035875A53B693A2861837E08FC6A7C58529DF52B565111C3DF55F18E34C9FAl_prikey_sign_dbgstartsigning123hash=40BD001563085FC35165329EA1FF5C5ECBDBBEEFl_prikey_sign_dbgdone
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 椭圆 曲线 加密 分析 FLEXLM ECC 问答
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。