❶ 安全設計原則
1、 開放設計原則:設計不應該是秘密,開放設計更安全
現在更關注在 秘鑰上,而不是演算法上。演算法很多都是開源的,公開的。
不要用「私有」的加密演算法
2、 失敗-默認安全原則:白名單比黑名單好
失敗安全:任何一個負責熊應該有一個處理功能失效後的應急安全機制,另外對錯誤消息和日誌要小心,防止信息泄露。比如 登錄失敗過多,鎖定賬戶
默認安全:默認配置就應該是安全狀態。
例子:客服發現 設備的管理埠可以通過手機來直接訪問,存在安全漏洞。由於初始安裝後沒有進行安全設置。
3、許可權分離原則:一種機制需要兩把 鑰匙 來解鎖,這樣會只比一把鑰匙 更高健壯和更靈活一些。
亞里士多德三權分立: 立法,行政,司法
系統管理員, 安全管理員,安全審計員
例子:IIS6,微軟將 外部網伺服器請求分成兩個賬戶執行,一個普通用戶,一個高許可權用戶。提升了安全性。
4、最小許可權原則
例子:手機手電筒軟體申請了 存儲,通訊錄等許可權
5、 經濟適用原則: 設計應該盡量 簡單,緊湊
比如AK47, 簡單好用
雙重加密: 即採用了SSL協議,又採用了對稱加密演算法。影響了性能
加密組件,組件化設計
6、最小公共化原則:盡量避免提供多個對象共享同一資源的場景,對資源訪問的共享數量和使用應該最小化。
共享內存的最小化
7、安全仲裁原則:
對每次訪問都必須經過安全檢查審核
客戶端少做安全機制,因為黑客會繞過他
例子: 用戶通過URL可以換成日誌,沒有進行許可權校驗
DNS投毒,黑客篡改客戶端HOST文件
8、心理可承受原則:
12306,下面圖片誰最帥
終端軟體可以記住密碼。其他安全性比較高的,禁止使用。
9、縱深防禦原則:保護最薄弱環節
蘇聯和德國之戰
❷ 弱點掃描提示安全風險存在,建議關閉弱加密演算法,linux怎麼關閉啊弱
1、確保你的虛擬機網路設置正確。 2、如果採用的是獨立無線網卡那麼要確保獨立網卡能被虛擬機識別,虛擬機安裝了獨立無線網卡的驅動
❸ weblogic下怎麼禁用弱ssl加密演算法
預設安裝中使用DemoIdentity.jks和DemoTrust.jks KeyStore實現SSL,需要配置伺服器使用Enable SSL,配置其埠,在產品模式下需要從CA獲取私有密鑰和數字證書,創建identity和trust keystore,裝載獲得的密鑰和數字證書。可以配置此SSL連接是單向還是雙向的。
❹ 關於文件夾加密的問題! 請懂的朋友教教我 謝謝
用壓縮軟體,在壓縮的時候加密
如何給RAR加密
RAR 和 ZIP 兩種格式均支持加密功能。
若要加密文件,在壓縮之前你必須先指定密碼,或直接在 壓縮文件名和參數 對話框中指定。
在 命令行 模式時使用開關 -p[密碼]。
而在 WinRAR 圖形界面時,要輸入密碼你可以按下 Ctrl+P 或者是在 文件菜單 選擇「設置默認密碼」命令。
另一種方式是單擊 WinRAR 窗口底部左下角的鑰匙圖標。在 壓縮文件名和參數對話框 里的「高級選項」組中按下「設置密碼」按鈕輸入密碼。
和 ZIP 不同,RAR 格式不只允許數據,而且其它的可感知的壓縮文件區域:文件名、大小、屬性、注釋和其它塊都可加密。如果你希望這樣做,你需要在密碼對話框中設置「加密文件名」 選項,或在命令行模式使用 -p[密碼] 的開關 -hp[密碼]。以這種方式加密的文件,如果沒有密碼甚至不可能查看文件列表。
當不再需要的時候,別忘了將輸入的密碼刪除。不然你或許又加密了別的壓縮文件,但卻不希望使用同一組密碼。要刪除密碼時,只需要輸入空字元串來替換原先的密碼,或者先關閉WinRAR 並重新啟動一次。當有密碼存在時,鑰匙的圖標是紅色的,否則它是黃色的。而且,當你使用密碼開始壓縮操作時,標題欄 壓縮文件名和參數對話框 也會閃爍兩次。
如果你在 壓縮文件名和參數 對話框直接輸入它,你不需要刪除密碼。這不同於其它方式,此類密碼僅在單一壓縮操作有效,並在完成後它會自動刪除。
當解壓加密的文件時,開始操作之前你也可以不需要事先輸入密碼。如果 WinRAR 遇到加密的文件,而解壓之前未先輸入密碼的話,它便會提示用戶輸入密碼。
WinRAR 支持 ZIP 2.0 格式使用私有加密演算法。 RAR 壓縮文件使用更強大的 AES-128 標准加密。如果你需要加密重要的信息,選擇 RAR 壓縮文件格式會比較好一些。為了確實的安全性,密碼長度請最少要 8 個字元。不要使用任何語言的單詞作為密碼,最好是任意的隨機組合字元和數字,並且要注意密碼的大小寫。請記住,如果你遺失你的密碼,你將無法取出加密的文件,就算是 WinRAR 的作者本身也無法解壓加密過的文件。
❺ Android 的幾種加密方式
Android 中的最常用得到有三種加密方式:MD5,AES,RSA.
1.MD5
MD5本質是一種散列函數,用以提供消息的完整性保護。
特點:
1.壓縮性:任意長度的數據,算出的MD5值長度都是固定的;
2.容易計算:從原數據計算出MD5值很容易;
3.抗修改性:對原數據進行任何改動,哪怕只修改一個位元組,所得到的MD5值都有很大的區別
4.強抗碰撞:已知原數據和其MD5值,想找到一個具有相同MD5值的數據(及偽造數據)是非常困難的;
2.RSA加密
RSA加密演算法是一種非對稱加密演算法,非對稱加密演算法需要兩個密鑰:公共密鑰和私有密鑰。公鑰和私鑰是配對的,用公鑰加密的數據只有配對的私鑰才能解密。
RSA對加密數據的長度有限制,一般為密鑰的長度值-11,要加密較長的數據,可以採用數據截取的方法,分段加密。
3.AES加密
AES加密是一種高級加密的標准,是一種區塊加密標准。它是一個對稱密碼,就是說加密和解密用相同的密鑰。WPA/WPA2經常用的加密方式就是AES加密演算法。
❻ ssl安全 怎麼禁用RC4加密演算法
SCHANNEL\Protocols 子項
協議 的注冊表項下 SCHANNEL
鍵用於的控制項使用的協議支持由 Schannel.dll 文件,並限制該協議使用 TLS 伺服器或 TLS 的客戶端。
若要禁止使用的 SSL
3.0 或 TLS 1.0 之外的其他協議,請將 Enabled 值的 DWORD 鍊兼暟鎹改為 0x0 中下面的注冊表項,在 協議 鍵下的每個:
目前的 Microsoft 消息隊列使用的客戶端和伺服器之間只有 PCT 1.0
SCHANNEL\Ciphers 子項
密碼 的注冊表項下 SCHANNEL 鍵用於控制如 DES 或 RC4
對稱演算法的使用。 以下是在 密碼 鍵下的有效注冊表項。
SCHANNEL\Ciphers\RC4
128/128 子項:
rc4 128/128
此子項是指 128 位 RC4。
要允許此密碼演算法、 0xffffffff 到更改
啟用 值的 DWORD 值數據,否則更改為 0x0 的 DWORD
值數據。 如果不配置 啟用 值,啟用了默認值。 此注冊表項不能應用於不具備 SGC
證書
---------------------------------------------------------------------------------------
des:有好幾種:0xffffffff 到更改 啟用,否則更改為 0x0 ,不配置 啟用
值,啟用了默認值,但有很多不允許禁用的演算法。。。
TLS 1.0 和SSL 3.0
:{}是要在regedit里建的值:
ssl_rsa_export_with_rc4_40_md5
{0x00,0x03}
ssl_rsa_with_rc4_128_md5
{0x00,0x04}
SSL_RSA_WITH_DES_CBC_SHA
{0x00,0x09}
ssl_rsa_with_3des_ede_cbc_sha
{0x00,0x0A}
ssl_rsa_export1024_with_des_cbc_sha
{0x00,0x62}
ssl_rsa_export1024_with_rc4_56_sha
{0x00,0x64}
TLS_RSA_WITH_DES_CBC_SHA
{0x00,0x09}
tls_rsa_with_3des_ede_cbc_sha
{0x00,0x0A}
tls_rsa_export1024_with_des_cbc_sha
{0x00,0x62
tls_rsa_export_with_rc4_40_md5
{0x00,0x03}
tls_rsa_with_rc4_128_md5
{0x00,0x04}
1
。。。。SCHANNEL\Ciphers\Triple
DES 128/128 子項:
三重 DES 168/168
2
。。。。SCHANNEL\Ciphers\RC2 56/56
子項:
DES 56/56
3
SCHANNEL\Hashes\MD5
子項:
md5
=====
例子:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA]
"Enabled"=dword:ffffffff
SCHANNEL\Protocols\PCT 1.0\Client
SCHANNEL\Protocols\PCT 1.0\Server
SCHANNEL\Protocols\SSL 2.0\Client
SCHANNEL\Protocols\SSL 2.0\Server
❼ 如何禁用的SSLv3在IIS和RC4加密演算法
為一個基於密碼學的安全開發包,OpenSSL提供的功能相當強大和全面,囊括了主要的密碼演算法、常用的密鑰和證書封裝管理功能以及SSL協議,並提供了豐富的應用程序供測試或其它目的使用。
1.對稱加密演算法
OpenSSL一共提供了8種對稱加密演算法,其中7種是分組加密演算法,僅有的一種流加密演算法是RC4。這7種分組加密演算法分別是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持電子密碼本模式(ECB)、加密分組鏈接模式(CBC)、加密反饋模式(CFB)和輸出反饋模式(OFB)四種常用的分組密碼加密模式。其中,AES使用的加密反饋模式(CFB)和輸出反饋模式(OFB)分組長度是128位,其它演算法使用的則是64位。事實上,DES演算法裡面不僅僅是常用的DES演算法,還支持三個密鑰和兩個密鑰3DES演算法。
2.非對稱加密演算法
OpenSSL一共實現了4種非對稱加密演算法,包括DH演算法、RSA演算法、DSA演算法和橢圓曲線演算法(EC)。DH演算法一般用戶密鑰交換。RSA演算法既可以用於密鑰交換,也可以用於數字簽名,當然,如果你能夠忍受其緩慢的速度,那麼也可以用於數據加密。DSA演算法則一般只用於數字簽名。
3.信息摘要演算法
OpenSSL實現了5種信息摘要演算法,分別是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA演算法事實上包括了SHA和SHA1兩種信息摘要演算法,此外,OpenSSL還實現了DSS標准中規定的兩種信息摘要演算法DSS和DSS1。
4.密鑰和證書管理
密鑰和證書管理是PKI的一個重要組成部分,OpenSSL為之提供了豐富的功能,支持多種標准。
首先,OpenSSL實現了ASN.1的證書和密鑰相關標准,提供了對證書、公鑰、私鑰、證書請求以及CRL等數據對象的DER、PEM和BASE64的編解碼功能。OpenSSL提供了產生各種公開密鑰對和對稱密鑰的方法、函數和應用程序,同時提供了對公鑰和私鑰的DER編解碼功能。並實現了私鑰的PKCS#12和PKCS#8的編解碼功能。OpenSSL在標准中提供了對私鑰的加密保護功能,使得密鑰可以安全地進行存儲和分發。
在此基礎上,OpenSSL實現了對證書的X.509標准編解碼、PKCS#12格式的編解碼以及PKCS#7的編解碼功能。並提供了一種文本資料庫,支持證書的管理功能,包括證書密鑰產生、請求產生、證書簽發、吊銷和驗證等功能。
事實上,OpenSSL提供的CA應用程序就是一個小型的證書管理中心(CA),實現了證書簽發的整個流程和證書管理的大部分機制。
5.SSL和TLS協議
OpenSSL實現了SSL協議的SSLv2和SSLv3,支持了其中絕大部分演算法協議。OpenSSL也實現了TLSv1.0,TLS是SSLv3的標准化版,雖然區別不大,但畢竟有很多細節不盡相同。
雖然已經有眾多的軟體實現了OpenSSL的功能,但是OpenSSL裡面實現的SSL協議能夠讓我們對SSL協議有一個更加清楚的認識,因為至少存在兩點:一是OpenSSL實現的SSL協議是開放源代碼的,我們可以追究SSL協議實現的每一個細節;二是OpenSSL實現的SSL協議是純粹的SSL協議,沒有跟其它協議(如HTTP)協議結合在一起,澄清了SSL協議的本來面目。
6.應用程序
OpenSSL的應用程序已經成為了OpenSSL重要的一個組成部分,其重要性恐怕是OpenSSL的開發者開始沒有想到的。現在OpenSSL的應用中,很多都是基於OpenSSL的應用程序而不是其API的,如OpenCA,就是完全使用OpenSSL的應用程序實現的。OpenSSL的應用程序是基於OpenSSL的密碼演算法庫和SSL協議庫寫成的,所以也是一些非常好的OpenSSL的API使用範例,讀懂所有這些範例,你對OpenSSL的API使用了解就比較全面了,當然,這也是一項鍛煉你的意志力的工作。
OpenSSL的應用程序提供了相對全面的功能,在相當多的人看來,OpenSSL已經為自己做好了一切,不需要再做更多的開發工作了,所以,他們也把這些應用程序成為OpenSSL的指令。OpenSSL的應用程序主要包括密鑰生成、證書管理、格式轉換、數據加密和簽名、SSL測試以及其它輔助配置功能。
7.Engine機制 Engine機制的出現是在OpenSSL的0.9.6版的事情,開始的時候是將普通版本跟支持Engine的版本分開的,到了OpenSSL的0.9.7版,Engine機制集成到了OpenSSL的內核中,成為了OpenSSL不可缺少的一部分。 Engine機制目的是為了使OpenSSL能夠透明地使用第三方提供的軟體加密庫或者硬體加密設備進行加密。OpenSSL的Engine機製成功地達到了這個目的,這使得OpenSSL已經不僅僅使一個加密庫,而是提供了一個通用地加密介面,能夠與絕大部分加密庫或者加密設備協調工作。當然,要使特定加密庫或加密設備更OpenSSL協調工作,需要寫少量的介面代碼,但是這樣的工作量並不大,雖然還是需要一點密碼學的知識。Engine機制的功能跟Windows提供的CSP功能目標是基本相同的。目前,OpenSSL的0.9.7版本支持的內嵌第三方加密設備有8種,包括:CryptoSwift、nCipher、Atalla、Nuron、UBSEC、Aep、SureWare以及IBM 4758 CCA的硬體加密設備。現在還出現了支持PKCS#11介面的Engine介面,支持微軟CryptoAPI的介面也有人進行開發。當然,所有上述Engine介面支持不一定很全面,比如,可能支持其中一兩種公開密鑰演算法。
8.輔助功能
BIO機制是OpenSSL提供的一種高層IO介面,該介面封裝了幾乎所有類型的IO介面,如內存訪問、文件訪問以及Socket等。這使得代碼的重用性大幅度提高,OpenSSL提供API的復雜性也降低了很多。
OpenSSL對於隨機數的生成和管理也提供了一整套的解決方法和支持API函數。隨機數的好壞是決定一個密鑰是否安全的重要前提。
OpenSSL還提供了其它的一些輔助功能,如從口令生成密鑰的API,證書簽發和管理中的配置文件機制等等。如果你有足夠的耐心,將會在深入使用OpenSSL的過程慢慢發現很多這樣的小功能,讓你不斷有新的驚喜。
❽ getInstance方法會使用弱加密演算法怎麼解決
極度不安全。
只能調用getInstance方法來得到對象,而getInstance保證了每次調用都返回相同的對象。數據加密標准演算法DES,是極度不安全的。使用類似EFF(ElectronicFrontierFoundaton)DeepCra(see)k的計算機在一天內可以暴力破解由DES加密的消息。
❾ 為什麼Android使用弱加密演算法
Android使用弱加密演算法的原因:
Android 2.2.1默認使用的加密演算法是AES 256-SHA1,但從2010年發布的Android 2.3開始,它默認使用的是一種更弱的加密演算法 RC4-MD5。 當Android應用建立SSL加密連接,如果沒有指定的話它將默認使用RC4-MD5進行加密。
Georg Lukas 在分析了 Android 源代碼之後發現, 默認加密演算法的次序是 Sun/甲骨文的 Java 定義的,Java 規格定義的 TLS 安全傳輸協議加密演算法列表中前兩種為 RC4 和 MD5,2011 年發布的 Java 7 加入橢圓曲線加密演算法改進了加密列表,但 Android 是基於 JDK 6,仍然沿用十年前定義的默認加密演算法列表。