openssl中文手冊 為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?我認(rèn)為,是構(gòu)建輪子還是直接使用開源庫,很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí)
為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
我認(rèn)為,是構(gòu)建輪子還是直接使用開源庫,很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí),c開發(fā)人員熱衷于重新構(gòu)建輪子,那么為什么有些企業(yè)要自己編寫呢?我在項(xiàng)目開始時(shí)不知道這個(gè)庫的存在,我不想以后再介紹它。
2)許多第三方庫依賴于許多其他第三方庫。要引進(jìn)a館,就得引進(jìn)B館、C館、D館,這無疑增加了院系成員的學(xué)習(xí)成本。
3)第三方開源庫通常會頻繁更新。如果你知道有一個(gè)bug,你想更新它嗎?基礎(chǔ)庫的更新無疑會花費(fèi)更多的開發(fā)時(shí)間和測試時(shí)間。
4)使項(xiàng)目整體可控。一旦引入的開放源代碼庫出現(xiàn)問題并且項(xiàng)目團(tuán)隊(duì)不熟悉它,這將是災(zāi)難性的。
5)現(xiàn)有開源庫過于復(fù)雜,學(xué)習(xí)成本高,團(tuán)隊(duì)成員水平參差不齊。
最后,附上一本我前段時(shí)間讀過的書。
本文是作者《一個(gè)程序員的奮斗史》悟空問答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載,抄襲將被追究
OpenSSL是什么?真的是一種安全協(xié)議嗎?
在我看來,如果安全性滿分是100,那么封閉源代碼協(xié)議是60,而開放源代碼協(xié)議是80。它有其固有的優(yōu)勢,但我們不能盲目相信開源。從攻擊的角度來看,封閉源代碼協(xié)議只能作為一個(gè)黑盒子。如果你不能得到源代碼,開源協(xié)議可以作為一個(gè)白盒子。它更容易發(fā)現(xiàn)問題,而且商業(yè)級別非常昂貴,用戶較少。攻擊成本低(加密協(xié)議是商業(yè)級的,會有一系列的控制,如入侵檢測數(shù)據(jù)驗(yàn)證、最小權(quán)限等)。最后,還會有法律武器和公眾影響力(賠錢)。然而,如果它成功了,如果它沒有被審計(jì),它可能會被長期持有,開源和免費(fèi)。它的用途很廣,在源頭發(fā)現(xiàn)問題后,攻擊它的性價(jià)比非常高,大家會公開并修復(fù)嗎?更多的時(shí)候,工程師不是為了開源而開源,而是想做一件私事。如果他們失敗了,并且不想浪費(fèi)他們的努力,他們就會開源。大多數(shù)有辦法賣錢的人都不愿意開源。那么每個(gè)人都可以修補(bǔ)它,但是每個(gè)人都能理解它并且有能力改變它嗎?理解如何使用這種復(fù)雜的軟件并不容易。蘑菇證實(shí),確實(shí)有一些黑客找到了被利用的途徑,然后將其拿在手中。它幾乎是無敵的。如果不是谷歌安全團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)漏洞,與OpenSSL合作確認(rèn)修復(fù)計(jì)劃,然后公布,我們?nèi)匀徊恢佬枰嚅L時(shí)間才能造成嚴(yán)重破壞,因?yàn)檫@個(gè)漏洞被利用時(shí)沒有痕跡,也沒有辦法檢測到它
這是兩個(gè)問題:
1。安全協(xié)議是指公共協(xié)議標(biāo)準(zhǔn),如SSL和TLS。它是國際標(biāo)準(zhǔn)化組織為保證網(wǎng)絡(luò)通信數(shù)據(jù)的安全而制定的標(biāo)準(zhǔn)。協(xié)議本身在不斷發(fā)展,從ssl2.0、ssl3.0、tls1.2到最新的tls1.3。
2. 如何實(shí)現(xiàn)上述安全協(xié)議?安全協(xié)議就像軟件設(shè)計(jì)文檔,需要對其進(jìn)行編碼以形成可以運(yùn)行的軟件。關(guān)于TLS的實(shí)現(xiàn),目前世界上有多個(gè)版本,由不同的組織和公司來實(shí)現(xiàn)。包括谷歌的boringssl、libressl和使用最廣泛的OpenSSL。由此可見,OpenSSL只是TLS協(xié)議規(guī)范的軟件實(shí)現(xiàn)。它本質(zhì)上是一個(gè)lib庫,許多組織和個(gè)人都可以使用TLS進(jìn)行數(shù)據(jù)傳輸。
我希望以上的答案能對您有所幫助。