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