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