翻譯|使用教程|編輯:吳園園|2020-05-11 14:30:33.893|閱讀 915 次
概述:在第二篇文章中,我們將看看在您信任應用程序證書并在OPC UA端點上啟用安全性之后消息將如何處理。具體來說,“簽名和加密”在端點上意味著什么,以及我們如何確保數據真正安全。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
TOP Server OPC Server采用業界領先的Kepware技術,是Software Toolbox's OPC和原生HMI設備的連接軟件,也是一款多線程應用程序,能夠利用最新的雙核處理器和多處理器技術最大化您的性能。其靈活而強大的功能可最大程度降低項目的生命周期成本;模塊化架構和通用用戶界面可以降低您的培訓成本,因為在不同的驅動程序中使用了100種常用方法,幫助您學習TOP Server,并快速應用與其他驅動程序相同的知識。
點擊下載TOP Server OPC Server最新試用版
在正在進行的“ 探索OPC UA”博客系列的第一篇文章中,我們介紹了OPC UA證書(也稱為應用程序證書)在OPC UA安全性上下文中發揮的三個功能。
在第二篇文章中,我們將看看在您信任應用程序證書并在OPC UA端點上啟用安全性之后消息將如何處理。具體來說,“簽名和加密”在端點上意味著什么,以及我們如何確保數據真正安全。
要真正了解兩個應用程序之間的OPC UA安全性是如何工作的,我們需要了解對稱和非對稱(或公鑰)加密的工作原理,因為最終它們之間并沒有太大的區別。從最基本的角度(這是我們在這樣的博客中所花的全部時間),對稱和非對稱加密并不那么復雜,因此讓我們看一下它們如何執行其工作。
對稱加密如何工作?
對稱加密之所以這樣命名(非常恰當)是因為同一密鑰既用于加密和解密編碼的消息,又不同于物理鎖,在物理鎖中,同一密鑰用于鎖定和解鎖該鎖。這種對稱性非常好,因為這是加密/解密信息的非常快速的方法,因為兩者都使用相同的密鑰,并且由于它相當安全(盡管不如其非對稱兄弟安全)。
對稱加密的工作方式示例:
如果運行在服務器B上的OPC UA服務器想要發送加密的響應,則只需使用相同的密鑰(先前已交換過)來加密消息,過程將反向重復。
由于使用相同的密鑰進行加密和解密,因此對稱加密速度很快–相對于非對稱加密,它的主要優勢就在于此。速度。但是這種速度是有代價的,而代價就是安全。
該示例僅簡要地談到了對稱加密的最關鍵步驟,那就是密鑰交換。您如何安全地執行保護惡意者無法訪問密鑰的交換,并且如果舊密鑰遭到破壞,又可以輕松地與新密鑰交換新密鑰呢?
由于同一密鑰同時用于加密和解密,因此,如果惡意方獲得了對該密鑰的訪問權,則他們不僅能夠解密雙方的消息,而且還能夠生成自己的消息,這些消息現在可能被視為有效。
對稱加密的另一個不太理想的方面是,當處理多于兩臺計算機時,證書的數量也可能會過高。對于單個客戶機/服務器對,只需要一個密鑰,但是對于100個服務器/客戶機,每臺計算機可能希望與系統中的其他每臺計算機進行通信,因此所需證書的數量呈指數增長。非對稱加密解決了許多這些問題……
非對稱加密如何工作?
非對稱加密或公共密鑰加密(也很恰當地命名)被認為是非對稱的,因為不再使用同一密鑰進行加密和解密。你怎么可能問?如何使用一個密鑰來加密數據,而另一個密鑰來解密數據呢?
我希望我有時間在這里更詳細地介紹該概念,但是現在,我們將需要選擇簡短的版本(因為較長的版本涉及大量的數學運算)。使用非對稱加密,每個應用程序將具有兩個以數學方式鏈接的證書(更多信息將在第二秒顯示):
這些密鑰在數學上是鏈接的,這意味著僅可以使用相應的私鑰解密使用公鑰加密的消息。使用非對稱加密的任何連接的第一步是交換公共密鑰。
由于只能使用相應的私鑰來解密加密的消息,因此應用程序可以非常自由地將其公開密鑰提供給誰,因為任何截獲加密消息的人都不能解密該消息(即使他們使用了公開密鑰的副本)執行加密)。這也意味著一個應用程序只需要一個可以被許多應用程序使用的公共密鑰,從而解決了我們在使用對稱加密時看到的證書計數問題。
非對稱加密如何工作的示例:
還有一個很酷的功能,就是上述私鑰和公鑰之間的數學聯系為我們帶來了好處。不僅可以使用公鑰來加密只有相應的私鑰才能解密的流量。服務器還可以使用私鑰對消息進行簽名,并生成消息哈希(與公鑰進行比較時),以確保消息未更改,并且消息源自我們認為是的機器。
剛才我說過,公鑰和私鑰在數學上是鏈接的,所以我想重新審視這個概念。這意味著一個密鑰(或一個密鑰的一部分)是使用另一密鑰以某種方式生成的,或者兩個密鑰都是從相同的大隨機素數生成的。
生成的完成方式取決于所使用的算法(RSA,橢圓曲線等),但重要的是,由于該操作,兩者之間存在數學關系。僅知道私鑰就幾乎不可能導出公鑰,而僅僅知道公鑰就幾乎不可能導出私鑰。(鑒于有足夠的時間,足夠的計算能力和足夠的數學腦力,沒有什么是牢不可破的,因此適用“幾乎不可能”。)
雖然比對稱加密安全得多,但非對稱加密有一個主要缺點,那就是速度。這些“數學鏈接”鍵雖然很棒,但必須對每條消息進行數學運算會增加大量的計算開銷。這使我們可以進行比較-哪個更好?
比較對稱和非對稱加密
對稱加密
非對稱加密
優點
缺點
優點
缺點
難以置信的安全
用于加密和解密的密鑰相同(泄露的密鑰具有很高的影響力)
比對稱更安全
比對稱加密慢(不容小margin)
加密和解密更快
沒有好的方法來安全地交換密鑰
公開密鑰可以自由共享(只要私有密鑰保持安全)
沒有復雜的數學關系
密鑰泄露只會影響一個方向的通信
Bad actors截取公鑰的影響很小
最終,要回答該問題,您將需要考慮特定項目的目標。如果無論其他因素如何,最高的安全級別都至關重要,那么非對稱加密顯然是正確的選擇。如果您的項目可以接受安全性稍低的加密級別以換取更高的性能和更少的開銷,那么對稱加密可能是正確的選擇。
對稱和非對稱加密如何應用于OPC UA?
當您為客戶端和服務器交換應用程序/ OPC UA證書時,您將交換公鑰作為這些證書的一部分。這意味著,當您選擇加密OPC UA連接時,OPC UA使用非對稱加密來保護初始連接,但是,為了解決非對稱加密帶來的較慢的通信性能,一旦通道安全了,就交換一個對稱加密密鑰用于通訊。
這使兩種加密標準都不再關注兩個主要問題:
為了長期保持連接的安全,定期更新“ SecureChannel”(在本系列博客的第三部分中對此進行了詳細介紹),因此長期不使用相同的對稱密鑰。 因此,當OPC UA端點引用“簽名”與“簽名和加密”術語時,它實際上是指將使用公鑰和私鑰的方式(即,應使用私鑰對消息進行簽名,和/或應使用公鑰對消息進行加密) 。
了解OPC UA更多相關信息,歡迎持續關注后續文章
要購買該產品正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: