黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

微軟企業(yè)庫4.1學習筆記(二十一)加解密模塊1

系統(tǒng) 2063 0

  加解密模塊使得開發(fā)者可以很容易的在應(yīng)用中使用加解密的相關(guān)功能,例如,加密信息,創(chuàng)建一個數(shù)據(jù)的hash值,比較hash值,看看數(shù)據(jù)是否被修改。

  模塊具有下列功能:

  •   減少實現(xiàn)標準功能的開發(fā)代碼,加解密模塊實現(xiàn)了常用的加解密功能。
  •   在應(yīng)用和跨企業(yè)之間提供一致的加解密策略。
  •   降低了開發(fā)者為應(yīng)用建立一致的加解密架構(gòu)所需的學習曲線
  •   是可擴展的,意味著它支持自定義加解密的provider

  一、加解密模塊簡介

  包括下列主題:

  •   通用解決方案
  •   示例代碼
  •   什么時候使用加解密模塊
  •   Key的管理和分布
  •   選擇算法

  1.1通用解決方案

  開發(fā)者在開發(fā)的時候,經(jīng)常需要加密數(shù)據(jù)和hash功能來滿足企業(yè)組織的安全需要。應(yīng)用創(chuàng)建數(shù)據(jù)和管理數(shù)據(jù),也包括配置信息,通常需要加密。另外,訪問系統(tǒng)需要的密碼和其他信息也需要hash。

  加解密模塊通過提供抽象出來的加解密provider來簡化開發(fā)者的工作,可以通過配置,再不修改代碼的情況下改變provider。

  模塊只支持對稱加密算法,對稱加密算法使用相同的key加密和解密。模塊不支持非對稱(也就是公鑰)加密解密,使用一個key加密信息,使用另外一個key解密信息。

  加解密模塊的設(shè)計滿足了開發(fā)者在開發(fā)應(yīng)用的時候這方面的常用需求,下面列出了一些常用的解決方案,以供參考:

  •   配置信息加密
  •   加密數(shù)據(jù)
  •   解密數(shù)據(jù)
  •   獲取數(shù)據(jù)的hash值
  •   檢查hash值是否和數(shù)據(jù)匹配

  1.2示例代碼

代碼
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->
????????????
// Encrypt?the?Sensitive?Data?String
???????????? string ?encryptedContentBase64 = Cryptographer?.EncryptSymmetric?( " symmProvider " ,
???????????????????????????????????????????????????????????????????????????
" SensitiveData " );
????????????
????????????
// Decrypt?the?base64?encoded?string
???????????? string ?readableString = string .Empty?;
????????????readableString?
= Cryptographer?.DecryptSymmetric?( " symmProvider " ,encryptedContentBase64?);
????????}

?

?

  1.3什么時候使用加解密模塊

  在你需要hash數(shù)據(jù),或者是對稱加解密的時候,可以選擇企業(yè)庫的加解密模塊。你也可以自定義加解密的provider。如果數(shù)據(jù)只需要加密,不需要解密,例如:密碼??梢允褂胔ash。如果數(shù)據(jù)需要加密和解密,那就選擇對稱加密算法。

  使用對稱加密的一個先決條件是發(fā)送數(shù)據(jù)的應(yīng)用和接受數(shù)據(jù)的應(yīng)用之間是可信任的。例如,發(fā)送方和接受方是同一個應(yīng)用。這種限制通常會不適合一些需要網(wǎng)絡(luò)傳輸數(shù)據(jù)的應(yīng)用。在使用加解密模塊的時候,有兩點也需要考慮:

  1)對稱密鑰的管理

  2)選擇hash值,還是選擇對稱加密算法

  1.4管理和分布key

  對稱加密算法在加密和解密的時候使用同一個key,發(fā)送數(shù)據(jù)和接受數(shù)據(jù)的雙方都必須要具有key。任何拿到這個key的應(yīng)用也都可以加密和解密數(shù)據(jù)。這就意味著,如果攻擊者獲得key,就可以拿到加密的數(shù)據(jù)內(nèi)容。攻擊者也可以通過刪除或者是破壞key,使得正常應(yīng)用無法讀取數(shù)據(jù)。一個key文件是一個加密文件,里面包括了加解密所需要的key。需要很小心的管理key,可以考慮下面的方式:

  •   使用Access Control List (ACL訪問控制列表)保護key,只有授權(quán)才可以訪問key文件。
  •   在高危環(huán)境關(guān)閉電腦的遠程調(diào)試。例如,服務(wù)器的匿名訪問。

  加解密模塊將每一個key文件存在在本地計算機,配置節(jié)<securityCryptographyConfiguraion>中包含了每個文件的絕對地址。為了保護key,在寫入文件的時候使用了DPAPI加密了key信息。如果使用加解密,一定要保證路徑地址也是加密值。例如,你可以將ACLs值包含在路徑加密值中。如果應(yīng)用需要其他硬件輔助的加密,需要修改模塊的源代碼來滿足需求。

  模塊不完全解決key的分發(fā)問題。如果key只是在自己的安全的計算機上使用的話,很容易解決分發(fā)問題。但是,如果是在多個地方共享key,需要仔細的計劃。一個辦法是用企業(yè)庫的配置工具,在你分發(fā)之前導出key文件。導出key的時候設(shè)置一個password。在另外的地方使用企業(yè)庫配置工具導入key的時候需要輸入密碼。

  1.5算法的選擇

如果一個加解密算法被破解,或者算法是很容易被暴力破解的,加解密provider就不是安全的。自定義的算法在沒有測試的時候是很容易被破解的。相反,使用公用的,著名的加密算法是經(jīng)得起考驗的。

  如果計算能力增加的話,推薦增加key的長度。目前情況,加密key的長度在128-256位之間是較為安全的,目前大多算法至少都是128位。

  hash算法中,推薦用 SHA256 算法,算法使用的hash大小是256位。SHA1 hash算法是16位的,這種算法是可以接受的,但是不夠的。MD4和MD5不在推薦使用。

  對稱加密算法中,推薦使用 AES ,也叫做Rijndael。這個算法的key長度支持128、192、256位。DES算法不在推薦使用。

  未完待續(xù)。。。。。。。。。。。。。。。。。。。。

微軟企業(yè)庫4.1學習筆記(二十一)加解密模塊1 簡介


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發(fā)表我的評論
最新評論 總共0條評論