這是英特爾支持下的,如果想進(jìn)行密碼操作的話,比如對數(shù)據(jù)進(jìn)行簽名,如果想用硬件來做的話,這個(gè)操作是阻塞的,必須得等硬件返回,代碼流程才能繼續(xù)往下走。很多加密卡的廠商不得不去發(fā)布一個(gè)OpenSSL版本,這個(gè)東西的升級和維護(hù)特別困難,所以英特爾在1.1.0版本里面提供了資金支持去進(jìn)行開發(fā)。
另外一個(gè)算法層面的就是ChaCha20和Ploy1305,這兩個(gè)算法是谷歌貢獻(xiàn)的,主要是使安卓在Lilnx環(huán)境下的數(shù)據(jù)加密性能下使得手機(jī)電量性能變小。我們重構(gòu)了SSL協(xié)議的狀態(tài)機(jī)和PACKET機(jī)制。
在開發(fā)流程的變化,早年OpenSSL開發(fā)的時(shí)候非常不規(guī)范,內(nèi)部有一個(gè)封閉的代碼庫,基本社區(qū)覺得這個(gè)好,就把一個(gè)貢獻(xiàn)代碼合并到庫里。我們現(xiàn)在最新的策略是從2014年開始把所有的開發(fā)重心全部轉(zhuǎn)移到Github,大量使用了Travis—CI,AppVeyor等集成插件,所有的代碼評審核定到代碼庫當(dāng)中必須經(jīng)過公開Pull Raques評審。OpenSSL一方面會(huì)提供很多的庫名調(diào)用,本身也是一個(gè)工具集,所以有時(shí)候直接用OpenSSL到各種產(chǎn)品里,比如說很多密鑰管理系統(tǒng)都會(huì)直接用到這個(gè)。
在社區(qū)建設(shè)方面,我們在2014年底仿照其他開源社區(qū),上線了一個(gè)官方博客,會(huì)時(shí)不時(shí)發(fā)布一些社區(qū)的事,各種跟項(xiàng)目相關(guān)的事。官方改版,以前的版本是九幾年設(shè)計(jì)的,2015年的時(shí)候也是在其他人的幫助之下,把這個(gè)官方改得還算是比較現(xiàn)代化。
另外一個(gè)比較大的事就是啟動(dòng)License切換,之前的協(xié)議寫得比較糟糕,國內(nèi)關(guān)心的人可能不是那么多,但是在國外的開源社區(qū)是比較大的一個(gè)事,因?yàn)樗赡軙?huì)引起法律的問題,你的開源項(xiàng)目是不是被其他的產(chǎn)品更多的使用,或者被其他的開源項(xiàng)目集成進(jìn)來,后續(xù)我會(huì)具體講。
去年9月份,我們邀請社區(qū)當(dāng)中的五個(gè)比較核心的人來到中國,在上海、深圳、北京這幾個(gè)地方分別拜訪了一些中國比較大的IT公司,主要目的是探討中國市場的需求,以及希望中國能涌現(xiàn)更多的社區(qū)參與。另外就是希望把這個(gè)項(xiàng)目推到國際上,OpenSSL的市場占有率特別大,如果我們自己國家有一個(gè)標(biāo)準(zhǔn),對于在國內(nèi)的推廣可能會(huì)更一些。
開源許可證更換,我們已經(jīng)確定在下一個(gè)版本1.1.1的版本中直接切換到Apache License2.0上,切換原則上是要經(jīng)過所有提交代碼的人同意,如果你不同意的話,我只能給你剔了。這個(gè)事2015年9月開始啟動(dòng),2017年開始提交用戶,我們現(xiàn)在能拿到的只有一個(gè)姓名和郵件,梳理出600多個(gè)人,三萬多的提交。比較幸運(yùn)的是99%的人都同意,但是也有一些人不同意,所以我們刪的一些東西,現(xiàn)在感覺對整個(gè)項(xiàng)目的功能影響不是很大。
但是現(xiàn)在大概有十多個(gè)人聯(lián)系不上,因?yàn)?.1.1這個(gè)版本今年5月份左右就要釋放,還有十一二個(gè)人,現(xiàn)在正在全球范圍內(nèi)各個(gè)社交媒體尋找最后的十多人。OpenSSL官網(wǎng)上有一個(gè)鏈接,如果大家有興趣幫我們?nèi)フ疫@些人的話,可以去看一下,如果這里面有你認(rèn)識的,麻煩跟他們說一下是同意還是不同意,如果到期要是不同意的話,沒有明確表態(tài),只能把你當(dāng)成拒絕切換的這種情況來進(jìn)行處理了。
社區(qū)策略的變更在去年年底又進(jìn)行了一次討論,還要再公開一下,要徹底取消OpenSSL—dev郵件列表,合并到OpenSSL—user.任何加入到OpenSSL的算法應(yīng)該基于國家或者國際標(biāo)準(zhǔn),相當(dāng)于給我們的算法提供了合法性,這些東西以前沒有,以前什么算法都可以加入到OpenSSL,所以我覺得這是一個(gè)比較好的事。
OpenSSL1.1.1這是今年馬上要發(fā)布的一個(gè)非常關(guān)鍵的版本,重要性不比1.1.0差。有6個(gè)pre版,按照時(shí)間節(jié)點(diǎn),我們現(xiàn)在剛過pre3,剛過beta版,4月3號到17號,一直到5月1號再經(jīng)過三個(gè)beta版,如果沒有問題的話,5月份會(huì)啟動(dòng)流程,再觀察一周,沒有問題的話,預(yù)計(jì)5月15號左右正式發(fā)布這一版。
這個(gè)版本的特性大概有以下幾個(gè),當(dāng)然最關(guān)鍵就是TLSv1.3,這是整個(gè)互聯(lián)網(wǎng)安全鏈最近幾年非常關(guān)注的,因?yàn)門LSv1.2協(xié)議被關(guān)注很久了,1.3在性能和安性方面提升特別多。隨機(jī)數(shù)生成器比以前更安全,增加了SHA—3,和STORE模塊,支持之后你可以把管理工作當(dāng)成一個(gè)小的密鑰管理系統(tǒng)來用了。支持多素?cái)?shù)RSA,可以減小對硬件的損耗,提高預(yù)算性能。中國國密算法SM3和SM4也會(huì)發(fā)布,SM2算法最近也公布了,所在1.1.1版本當(dāng)中,我們會(huì)看到來自我國的三個(gè)算法,就是SM2、3、4. TLSv1.3的協(xié)議在標(biāo)準(zhǔn)化過程中會(huì)影響我們這個(gè)版本的釋放,我得到最新的消息應(yīng)該是明天會(huì)最終提交到委員會(huì),在這個(gè)月或者下月初就會(huì)釋放。全新的隨機(jī)數(shù)生成器,這個(gè)就不具體聊了。