如今,企業承受著維持業務運轉的巨大壓力。如果您的企業要無縫運營,您的安全團隊需要保護您的企業免受所有可能干擾您運營的威脅。問題是,今天安全的東西明天可能就在不安全的范圍內。造成這種現象的原因是,隨著算法的發展,新的漏洞出現,網絡攻擊者開發出破解大多數企業所依賴的密碼學的新方法。
密碼分析,也稱為代碼跟蹤,是對用于解密和查詢代碼、密碼或加密文本的技術的深入理解。密碼分析使用數字規則來搜索算法的敏感性,并進一步分支到信息安全系統中的密碼學。本指南將向您介紹所有您需要了解的有關密碼分析的知識。您將對該主題有一個詳細的了解,并學習如何使您的組織免受密碼分析的影響。
什么是密碼分析?
密碼分析過程旨在研究密碼系統以識別弱點和信息泄漏。您可以將其視為探索密碼系統底層數學架構中的缺陷,包括邊信道攻擊和弱熵輸入等實現漏洞。密碼系統是指采用密碼學的計算機系統,密碼學是一種通過代碼保護信息和通信的方法,以便只有那些打算處理它的人才能處理它。
密碼分析與密碼學
根據定義,在密碼學中,您關心的是在通過不安全的通道傳輸消息之前,通過將消息轉換為隱藏文本來隱藏消息。另一方面,密碼分析涉及您通過不安全的通道從隱藏的消息中獲取明文。
在傳輸信息時,密碼學已被證明是一種資產。展示其用例的一個很好的例子是在需要保護信息的銀行交易和電子郵件消息中。加密方案包括秘密密鑰、公共密鑰和散列函數。密碼分析是一種將密文解密為純文本的藝術。在這種情況下,授權人員會嘗試通過竊聽頻道來解密您的消息。
誰使用密碼分析?
許多組織使用密碼分析,包括想要解密其他國家的私人通信的政府、測試其安全產品的安全功能的企業、黑客、破解者、獨立研究人員以及希望識別密碼協議和算法中的漏洞的學術從業者。
密碼學的進步是由想要保護數據的密碼學家和致力于破解密碼系統的密碼分析師之間無休止的戰斗傳播的。攻擊者的目標與其執行密碼分析的特定需求相關聯。成功的密碼分析通常不會超出從隱藏文本中推斷信息的范圍。但是,根據攻擊者的需求就足夠了,其目標因攻擊者而異,但不限于:
- 徹底破解——尋找秘密鑰匙。
- 全局演繹——在不知道密鑰的情況下尋找加密和解密的等效功能算法。
- 信息推導——獲取有關密文和明文的信息。
- 區分算法——區分加密輸出與隨機位排列。
讓我們看一個易于理解的實際示例。但是,您應該知道此示例不適用于現代加密算法,但它是一個很好的加深您的理解的示例。頻率分析技術可用于基本的加密算法。基本類加密算法執行單字母表替換,用同一字母表中的預定映射字母替換每個字母。這個模型是對更基本的技術的改進,這些技術將字母移動一些固定數量的位置,并從合成的字母表位置用新字母替換舊字母。
雖然單字母替換密碼對盲目搜索有彈性,但它們也不能幸免,可以很容易地用筆和紙破解。又怎樣?頻率分析利用了自然語言不是隨機的并且單字母替換不會隱藏語言的統計特性的特征。讓我們仔細看看,將其縮小到特定字母表,例如具有特定頻率的“E” ,比如說 12.7%。當您用 E 替換得到密文時,其結果文本保留其原始頻率。如果密碼分析者知道這個頻率,他們可以快速確定替換以破譯您的密文。
密碼分析攻擊的類型
密碼分析攻擊利用您系統中的缺陷,破譯其密碼。要發起密碼分析攻擊,您需要了解方法的性質和明文的一般屬性。plain 可以是任何語言,包括英語或 Java 代碼。這是攻擊類型的列表。前五個是最常見的;其他的很少見,偶爾會被排除在外;很高興認識他們。
- 已知明文分析 (KPA):在這種情況下,攻擊者可以訪問明文-密文對。接下來,攻擊者所要做的就是映射這些對以找到加密密鑰。這種攻擊很容易使用,因為攻擊者掌握了豐富的知識。
- 選擇明文分析(CPA):在這種情況下,攻擊者隨機選擇明文,使用它們獲得相應的密文,并最終破解加密密鑰。這種方法類似于 KPA,但不太可能成功。
- Ciphertext-Only Analysis (COA):在這種情況下,攻擊者已知一些密文,因此他們試圖找到相應的明文和加密密鑰。攻擊者了解您的算法。這種技術是最具挑戰性的方法。但是,它的成功率很高,因為它只需要密文。
- 中間人 (MITM) 攻擊:當兩方使用密鑰通過看似安全但遭到破壞的渠道共享通信時,就會發生這種攻擊。
- 自適應選擇明文分析(ACPA):這種情況類似于 CPA。ACPA 根據它從過去的加密中學到的數據使用已識別的明文和密文。
- 蠻力攻擊:在這種情況下,攻擊者使用算法來預測可能的明文邏輯集。然后將猜測的純文本加密并與初始密碼進行比較。
- 字典攻擊:在這種情況下,攻擊者對字典運行明文或密鑰。在試圖破解一些加密密碼時經常使用這種技術。
密碼分析是如何工作的?
推動密碼分析的核心目標是暴露缺陷或規避密碼算法。密碼學家利用密碼分析師的研究來改進現有算法或升級低于標準的方法。另一方面,通過密碼學創建和增強加密密碼和其他技術,密碼分析專注于解密加密數據。這兩個操作相互轉換并被限制在密碼學、代碼、密碼和相關算法的數學研究領域。
研究人員密切關注開發擊敗加密方案的攻擊策略,無需加密密鑰即可啟動密文加密算法的解密。通常,您使用密碼分析來暴露您的概念和執行方法中的缺陷。
如何防范密碼分析攻擊
不幸的是,除了在整個數字基礎設施中使用安全加密方案、密碼并保持軟件更新之外,您無能為力以建立對密碼分析的免疫力。但是,您可以使用以下提示來提高安全性。
- 使用更新的加密和散列算法。一個好的方案是避免使用SHA1和MD5之類的工具,它們不再被認為是安全的。
- 使用長加密密鑰。例如,對于 VPN 握手,您的 RSA 密鑰應至少為 2048 位。
- 回想一下銷毀被取代的密鑰。
- 使用強密碼并實施經過測試的隨機數生成器來管理您的密鑰。
- 給你的哈希加鹽。在這里,您正在向哈希中添加隨機噪聲。你應該讓你的鹽長期和隨機化,就像使用密碼時一樣。
- 如果您的密鑰遭到泄露,請采用完美前向保密 (PFS) 來防止過去和未來的會話被解密。這通常用于虛擬專用網絡(VPN)。
- 混淆加密流量——您要確保您的流量看起來很正常,并且不會暴露它已加密的事實。像 Obfsproxy 這樣的軟件是一個很好的示例工具,可以很好地與 Tor 網絡配合使用。
- 將入侵檢測系統 (IDS) 集成到您的基礎設施中——該系統將通知您違規或攻擊。但是,這并不能阻止違規行為。但是,它會縮短您的響應時間,使您的系統免受嚴重損壞。最好將一個好的 IDS 集成到您的系統中。
密碼分析的應用
密碼分析有幾個實際應用。它有時可能與密碼學相結合以發揮其全部潛力。以下是一些應用程序:
#1。存儲完整性
您可以使用密碼分析來維護存儲的完整性。在這種情況下,您可以在訪問控制系統中使用鎖和鑰匙來保護數據免遭不必要的訪問。您還可以創建加密校驗和以確定存儲在動態環境中的數據的真實性,在動態環境中病毒很容易采用修改數據的方法。在數據傳輸期間生成校驗和并與預期值進行比較。密碼分析有助于保護因大量數據或長期暴露而易受攻擊的存儲介質。
#2。身份認證
在身份認證中,您的主要關注點是確認用戶訪問數據的權限。密碼分析在密碼交換期間促進了這一過程?,F代系統將密碼轉換與個人屬性相結合,以可靠有效地識別用戶。密碼以加密格式存儲,具有訪問權限的應用程序可以使用它們。由于密碼以明文形式存儲,因此不會危及系統的安全。
#3。系統憑證
您可以使用密碼分析和密碼學來創建系統的憑證。當用戶登錄到您的系統時,他們總是必須出示個人憑證證明才能被允許進入?,F在正在創建電子證書以促進電子驗證。這種技術通常應用于智能卡以進行加密操作,包括存儲數據。
#4。數字簽名
數字簽名通常用于通信以驗證消息來自已知的發件人。這類似于筆和紙文檔簽名。當然,如果數字簽名要取代模擬簽名,它們是使用密碼分析技術制作的。如果組織的團隊分布在許多地點并且尚未親自開會以執行一些協作文書工作,這似乎很有幫助。使用數字簽名格式,任何擁有公鑰的人都可以驗證文檔,這在加密貨幣領域被廣泛采用。
#5。電子資金轉賬 (ETF)
最近,您已經看到電子貨幣取代了現金交易。電子資金轉賬、虛擬貨幣、數字黃金貨幣、加密貨幣和直接存款都是基于密碼學的資產??紤] ATM 取款、借記卡支付和電匯是電子貨幣操作的例子。
如何成為一名密碼分析師
在看到廣泛的密碼分析應用程序之后,您可能會考慮成為一名密碼分析員。如果這樣做,您可能會致力于開發算法、密碼和安全系統來加密數據。您還應該期望分析和解密加密方法和電信協議中的信息。
您還可以等待執行諸如設計安全系統、保護關鍵信息不被攔截、測試計算模型的可靠性、加密財務數據、開發統計和數學模型以分析數據以及解決安全問題等角色。如果這足夠令人興奮,請繼續閱讀并了解如何成為其中一員。
您可以獲得計算機科學、工程、數學或電氣和電子工程等相關領域的學士學位。但是,一些組織仍然可以根據高強度培訓和實踐經驗雇用您,而無需獲得技術學位。擁有一些網絡安全認證是一個額外的優勢。
最后的話
密碼分析與其說是攻擊本身,不如說是網絡攻擊的一種手段。對于大多數抵抗密碼分析嘗試的加密系統,了解那些容易受到攻擊的人需要復雜的數學能力,這不是開玩笑的。 如果您正在考慮學習密碼分析,那么在金融、存儲和身份識別領域等廣泛的產品領域工作是一個令人興奮的領域。您已經了解了密碼分析的強大功能以及它對構建實際應用程序的幫助有多大。追求密碼分析是可以的,而且使用你的技能會更好,比如構建更安全的實用程序。