在開始本期的具體內(nèi)容之前,先給大家介紹一下STM32信息安全講座的總體結(jié)構(gòu)。
這個(gè)系列的講座主要給大家介紹STM32的安全特性,軟硬件資源。其中部分硬件IP和軟件包里某些功能的實(shí)現(xiàn),是基于密碼學(xué)原理的,所以在介紹具體STM32的安全之前,我會(huì)先給大家回顧一遍這部分的理論知識(shí)。
現(xiàn)在進(jìn)入這一期的正式內(nèi)容:信息安全的概念和方法論。
在這里,我們會(huì)了解到:什么是安全,安全有哪些屬性或者要素,哪些措施可以來(lái)保證這些要素。安全不是一個(gè)點(diǎn),它是一個(gè)整體概念,不僅是系統(tǒng)上的整體,還是時(shí)間跨度上的整體。
安全的定義
安全(security)的定義,就是保護(hù)【資產(chǎn)】不受破壞?!举Y產(chǎn)】,一定是有價(jià)值的東西,否則沒(méi)人會(huì)有興趣去破壞它來(lái)獲利。當(dāng)然,這里所有討論的前提是基于一個(gè)普世的經(jīng)濟(jì)學(xué)原理,那就是,一切人類活動(dòng)基于理智,為了利益最大化。那種殺敵一百自損三千的事情,不在今天討論的這個(gè)security范疇。 有安全的考慮,說(shuō)明這個(gè)【資產(chǎn)】一定有它的弱點(diǎn)。其實(shí)世界上一切事物都有弱點(diǎn),尤其是當(dāng)它的價(jià)值足夠引入矚目的時(shí)候,它的弱點(diǎn)就會(huì)迅速被挖掘、識(shí)別、發(fā)現(xiàn)和利用。
資產(chǎn)有多種形式,可以是數(shù)字資產(chǎn)比如軟件,比如歌曲創(chuàng)造;物理資產(chǎn)比較好理解,我的車,手表;商業(yè)資產(chǎn)包括品牌等。
弱點(diǎn)可以是系統(tǒng)中的某個(gè)部分,它的缺陷被利用起來(lái),以干擾系統(tǒng)正常運(yùn)行,從而獲取或者破壞資產(chǎn)。
這個(gè)系統(tǒng)里的弱點(diǎn)部分可以是靜態(tài)的某個(gè)模塊的問(wèn)題,或者整體架構(gòu)的不足;也可以是時(shí)間上,比如流程上某個(gè)環(huán)節(jié)。
威脅,就是利用資產(chǎn)的弱點(diǎn)來(lái)破壞系統(tǒng)運(yùn)行的一系列行為。
安全是一個(gè)在生活中方方面面都存在的問(wèn)題。從保護(hù)消費(fèi)者個(gè)人信息不泄露、到保護(hù)工業(yè)設(shè)備不受攻擊,甚至軍隊(duì)、國(guó)防,國(guó)計(jì)民生各個(gè)領(lǐng)域。To narrow down,我們今天要討論的具體內(nèi)容,是和STM32應(yīng)用領(lǐng)域相關(guān)的【信息安全】的保護(hù),即:保護(hù)完整可靠的數(shù)據(jù),僅能被授權(quán)訪問(wèn)。
另外再提一下,我們今天用中文【安全】二字表達(dá)的Security,大家不要和Safety搞混。Safety在中文里也通常用【安全】來(lái)表達(dá)。為了避免混淆,我們分別加上【信息】和【功能】?jī)蓚€(gè)限定詞,用【信息安全】來(lái)表示security;用【功能安全】來(lái)表示safety。前者是今天的討論主題,它通常是要防止人為惡意的攻擊;而后者更多是隨機(jī)的系統(tǒng)出錯(cuò)后的識(shí)別和止損。
//
消費(fèi)者個(gè)人信息 - 健康狀態(tài)、位置、賬戶、密碼,……
產(chǎn)品或者方案 – 服務(wù),軟件、品牌、流程、IP,……
工作場(chǎng)所 – 醫(yī)療器具、生產(chǎn)設(shè)備、交通工具,……
安全三要素
根據(jù)安全應(yīng)用的不同,要保護(hù)的【資產(chǎn)】的要素(或者叫屬性/property)也有所不同。
信息安全有三個(gè)基本要素:C.I.A, Confidentiality:保密,Integrity:完整,Availability:可用。
保密性,很容易理解,通俗講就是一般人不可知曉。它的另一層意思就是:只有被授權(quán)的主體才知道信息的內(nèi)容。
完整性,Integrity。英文中integrity用來(lái)形容人的時(shí)候,是“正直”的意思,說(shuō)明這個(gè)人的人品沒(méi)有污點(diǎn),在“人之初性本善” 的基礎(chǔ)上沒(méi)有被破壞。
信息的完整性,要分成兩個(gè)方面來(lái)理解,狹義的完整, 就是信息本身沒(méi)有被修改被破壞;廣義的完整性,還包括該信息的來(lái)源方是可靠的。舉個(gè)例子,有人盜取了別人的身份證,然后號(hào)稱這是他。這個(gè)身份證本身是完整的,真正的身份證,符合狹義完整性;但這個(gè)身份證不是這個(gè)人的。這就不具有廣義的信息完整性。
可用性,表示被授權(quán)的主體,在需要的時(shí)候可以訪問(wèn)到信息或者服務(wù),而不會(huì)發(fā)生DOS-Deny of Service這樣的情況。
信息安全的三要素是很有用的,在討論系統(tǒng)安全的時(shí)候,我們都要想一想:需要實(shí)現(xiàn)哪個(gè)要素的服務(wù)?不同的案例,側(cè)重點(diǎn)怎么樣?再進(jìn)一步,STM32的安全硬件模塊,它的硬件防護(hù)到底cover的是信息安全里的哪個(gè)要素?
比如,大家最熟知的讀保護(hù)RDP。大家可以想一想。屬于權(quán)限控制,都是廣義的C
我們舉一個(gè)生活中例子,幫助大家理解和接受 C. I. A的概念。
我們要保護(hù)家里的資產(chǎn),比如電視、洗衣機(jī)、冰箱等家具。
第一個(gè)措施,封上門窗。那么機(jī)密性可以滿足了,即不被授權(quán)的人進(jìn)不去。完整性也可以滿足,里面家具不會(huì)被改變。但是可用性就不行了,被授權(quán)的人,比如房屋的主人,也進(jìn)不去。
第二個(gè)措施,不是粗暴地封上門窗,而是給門窗加鎖。把鑰匙給到授權(quán)的人。那么不被授權(quán)的人沒(méi)有鑰匙,就無(wú)法進(jìn)入。機(jī)密性是可以滿足的;被授權(quán)的人,即有鑰匙的人可以隨時(shí)進(jìn)入,可用性也是滿足的。但是授權(quán)的人進(jìn)入后,移動(dòng)了家具的位置,我們是不能馬上知道的。因此完整性沒(méi)有得到滿足。
第三個(gè)措施,不僅給門窗加鎖,還在屋里安裝監(jiān)控。這樣家里的東西本拿走或者被移動(dòng),我們馬上就可以知道了。因此第三個(gè)措施,能同時(shí)保證機(jī)密性、完整性,和可用性。
安全三大工具
【信息安全】的三要素的定義,都提到了授權(quán)。機(jī)密性,并不代表誰(shuí)都看不了,是【被授權(quán)】的人才能看。完整性,不是說(shuō)信息不能被修改,是如果被【未被授權(quán)】的人修改了要能被接收方發(fā)現(xiàn)??捎眯?,更是建立在授權(quán)的基礎(chǔ)上,不是誰(shuí)都可以用,只有【被授權(quán)】的人才可以用。由此可見,【授權(quán)】在信息安全技術(shù)里是個(gè)重要的工具。
下面我們就來(lái)看看信息安全技術(shù)中的三大工具。
信息安全的三大工具,除了剛才多次提到的【授權(quán)】,還有另外兩個(gè),分別是【標(biāo)識(shí)】和【認(rèn)證】。
標(biāo)識(shí),Identity,顧名思義,用來(lái)表明主體的身份;這個(gè)是主體自己聲稱的,可能是真的,也可能是假的。
>>比如現(xiàn)在我說(shuō)我是Lilian在跟你們講課,但是我們都在線上,并沒(méi)有見面,你們?nèi)绾沃牢艺娴氖荓ilian呢。
這就需要下一步的工具:認(rèn)證,authentication,來(lái)核實(shí)“我聲稱我是lilian這件事” ??梢杂泻芏喾椒?,
>> 比如主持人是一個(gè)權(quán)威機(jī)構(gòu),主持人通過(guò)他的方式,比如他就坐在我旁邊,而且他認(rèn)識(shí)我,那么你們通過(guò)和主持人的溝通,確定我,現(xiàn)在講課的這位女士就是Lilian?;蛘咧鞒秩瞬缓臀以谝黄?,但是他事先只給我了進(jìn)入這個(gè)會(huì)議作為trainer的密碼,那么我現(xiàn)在成功登陸進(jìn)入到系統(tǒng)里,他就可以確認(rèn)我是Lilian。
對(duì)標(biāo)識(shí)的認(rèn)證完成后,就要授權(quán)該標(biāo)識(shí)所代表的主體可以做什么,不可以做什么。
>> 你們確認(rèn)了我的身份,對(duì)我做一些授權(quán),比如允許我遠(yuǎn)程操作你們的電腦,查看你們的屏幕;甚至允許我打開攝像頭,查看你們的手上板子的運(yùn)行情況。
我們來(lái)看一下,【信息安全】的三大工具,是如何支持【信息安全】的三要素的。
機(jī)密性,表示信息不能被未授權(quán)的主體獲得。有主體,就有標(biāo)志,有標(biāo)志就需要認(rèn)證;然后能訪問(wèn)和不能訪問(wèn),就是授權(quán)的不同。
完整性,表示信息被未授權(quán)的主體修改后能被立即識(shí)別。廣義的消息完整性還要保證信息來(lái)源的可靠,即主體可靠。那么自然也就需要標(biāo)志,和認(rèn)證。
可用性,表示被授權(quán)的主體,在需要的時(shí)候能夠訪問(wèn)到信息。自然也是有主體,就有認(rèn)證,然后授權(quán)他可以使用某種服務(wù)或者訪問(wèn)某種資源,比如信息。
安全分析
了解了信息安全的三要素和三大工具后,接下來(lái),我們從系統(tǒng)的角度來(lái)看一下安全分析的模型。
資產(chǎn)是指一切我們認(rèn)為有價(jià)值的對(duì)象。
威脅,就是利用系統(tǒng)弱點(diǎn)讓資產(chǎn)價(jià)值損失的行為,讓惡意第三方獲得利益的行為。如果第三方覺得不能獲利,或者獲利的大小抵消不了攻擊的成本,那么這個(gè)威脅也就不存在。
弱點(diǎn),是系統(tǒng)能夠被外界非法利用的功能。這個(gè)弱點(diǎn)不一定是功能沒(méi)做好;但系統(tǒng)沒(méi)實(shí)現(xiàn)好,肯定是弱點(diǎn)。事實(shí)上,與安全相聯(lián)系的弱點(diǎn)那是太多了。有些時(shí)候你覺得匪夷所思,那是因?yàn)楣粽撸麄兪菑膩?lái)不走尋常路。比如你覺得電磁場(chǎng),覺得跟安全沒(méi)啥關(guān)系。但是電磁場(chǎng)可以泄露信息阿,電磁場(chǎng)也可以擾亂系統(tǒng)啊。從這個(gè)角度,我們能很容易的理解:安全是一個(gè)整體。
從該模型可以看出,加入安全芯片并不能解決所有問(wèn)題,因?yàn)橐恍┵Y產(chǎn)依然存在于STM32中。
同樣,從該模型可以看出,必要時(shí)可采用兩顆STM32,其中一顆只運(yùn)行確定不變的代碼,來(lái)達(dá)到更好的安全效果。
識(shí)別安全服務(wù),需要做安全分析。而做安全分析,第一個(gè)要搞清楚的問(wèn)題就是安全保護(hù)的對(duì)象,資產(chǎn)。如果別人和你談安全,你就要問(wèn)他要保護(hù)的資產(chǎn)是什么。沒(méi)有什么好保護(hù)的,那就不用談安全了。安全畢竟也是要花成本的。談好了要保護(hù)的對(duì)象,再提他們需要什么樣的安全服務(wù),不要一下子就跳到一個(gè)AES算法。也許在方向上就錯(cuò)了。
同時(shí)系統(tǒng)需要保護(hù)的資產(chǎn)可能有多個(gè)。
為了幫助大家理解這個(gè)模型,我們先舉一個(gè)生活中的例子。
我們生活中具有重要價(jià)值的東西很多,比如我的珠寶、我的房子、我的汽車,還有人本身,都是【資產(chǎn)】,就是圖中左邊第一列。
這些資產(chǎn)并不是堅(jiān)不可摧的,在很多條件下,它們會(huì)遭受各種不同的威脅,這些條件就是我們生活中的一些具有弱點(diǎn)性質(zhì)的場(chǎng)景。比如如果我們不在,火災(zāi)發(fā)生了,可以毀壞房子,房子里的珠寶,汽車和住在里面的人。對(duì)應(yīng)這樣的風(fēng)險(xiǎn),我們可以安裝室內(nèi)消防措施,比如煙霧探測(cè)器和防火水泵系統(tǒng)。
珠寶,除了有被火燒毀的風(fēng)險(xiǎn),還可能遭到小偷的威脅。尤其是我們不在家,或者家里門窗被破壞這樣的條件下。對(duì)應(yīng)的保護(hù)措施可以是把珠寶存在銀行,或者安裝更加加固的金屬防盜門。
使用安全分析模型的基本思路就是:列出所有資產(chǎn),理解相關(guān)威脅,思考相關(guān)弱點(diǎn),然后策劃對(duì)應(yīng)的保護(hù)措施。
安全不是一個(gè)點(diǎn),它是一個(gè)整體概念,不僅是系統(tǒng)上的整體,還是時(shí)間跨度上的整體。安全的思想,應(yīng)該貫穿產(chǎn)品的整個(gè)生命周期,從功能定義,設(shè)計(jì),開發(fā),測(cè)試;到生產(chǎn)制造、傳輸,部署,以及使用壽命內(nèi)的產(chǎn)品維護(hù)。
還是剛才舉的那個(gè)生活中的例子。從威脅分析,我們得知,縱火、小偷、泳池溺水都是對(duì)我們要保護(hù)的資產(chǎn)的威脅。這是在設(shè)計(jì)一個(gè)安全的家,這個(gè)方案的功能定義時(shí),就明確識(shí)別出來(lái)的。之后的方案設(shè)計(jì),我們根據(jù)不同的威脅場(chǎng)景規(guī)劃了不同的保護(hù)措施,比如安裝消防系統(tǒng),防盜系統(tǒng)。安裝完畢,需要測(cè)試系統(tǒng)工作正常;把這個(gè)方案交付給客戶時(shí),要給出合適的文檔,包括各種系統(tǒng)的使用手冊(cè),可靠性證明等。這些系統(tǒng)工作的未來(lái)十年或更長(zhǎng)時(shí)間內(nèi),還要考慮到產(chǎn)品的維護(hù),功能升級(jí)等問(wèn)題。比如升級(jí)攝像系統(tǒng)功能,增加夜視功能,人臉識(shí)別等。
綜上所述,使用安全分析模型進(jìn)行產(chǎn)品的定義和設(shè)計(jì),識(shí)別要保護(hù)的對(duì)象、系統(tǒng)的弱點(diǎn)和對(duì)應(yīng)的保護(hù)措施;然后在產(chǎn)品開發(fā)階段,利用STM32豐富的安全特性,和安全軟件包,來(lái)構(gòu)筑強(qiáng)壯的系統(tǒng)。在隨后的產(chǎn)品生產(chǎn),部署后的產(chǎn)品升級(jí),STM32也都提供了相應(yīng)的方案。在后面的內(nèi)容,我們會(huì)一一展開。
本期回顧
安全的概念,我們首先要區(qū)分【信息安全】與【功能安全】,兩個(gè)完全不同的話題,雖然在中文里都是安全二字。理解信息安全三個(gè)要素:CIA,保密,完整與可用,和支持信息安全的三大工具:IAA,標(biāo)識(shí)、認(rèn)證、授權(quán)。
在系統(tǒng)安全分析中,我們要理解,資產(chǎn)是安全第一關(guān)注的對(duì)象;理解,安全風(fēng)險(xiǎn)來(lái)自資產(chǎn)、弱點(diǎn)、威脅的交集;運(yùn)用安全與資產(chǎn)、弱點(diǎn)、威脅的依賴關(guān)系,設(shè)計(jì)對(duì)應(yīng)的保護(hù)措施。
并且,最重要的一點(diǎn):安全是一個(gè)系統(tǒng)的設(shè)計(jì)和部署,它的安全性取決于整個(gè)系統(tǒng)中所有環(huán)節(jié)里的最短板,必須通盤考慮。不是一個(gè)加密算法,一個(gè)安全芯片就可以簡(jiǎn)單解決的。
-
STM32
+關(guān)注
關(guān)注
2270文章
10915瀏覽量
356778 -
信息安全
+關(guān)注
關(guān)注
5文章
657瀏覽量
38932
原文標(biāo)題:STM32生態(tài)系統(tǒng)第十期——信息安全(一) 信息安全的概覽和方法論
文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論