.NET安全揭秘

出版時(shí)間:2012-5  出版社:機(jī)械工業(yè)出版社  作者:楊文海,魯鳳芝,何平  頁(yè)數(shù):671  
Tag標(biāo)簽:無(wú)  

前言

前言:為什么要寫這本書我從小就喜歡讀武俠小說(shuō),想成為絕世高手,風(fēng)度翩翩,武功高強(qiáng),行俠仗義。大學(xué)讀了計(jì)算機(jī)專業(yè),我又認(rèn)為黑客就是計(jì)算機(jī)世界里的大俠。工作之后,我與C#一見(jiàn)鐘情,她的優(yōu)雅和簡(jiǎn)潔令我著迷。從認(rèn)識(shí)她的那一刻開始,我拋棄了C++和Java,發(fā)誓只愛(ài)她一個(gè)。愛(ài)屋及烏,我成了.NET的忠實(shí)信徒,虔誠(chéng)而狂熱。也正是因?yàn)閷?duì).NET的狂熱,我希望她更安全。當(dāng)安全問(wèn)題日益嚴(yán)重時(shí),.NET沒(méi)有令我失望,依然優(yōu)秀。當(dāng)我再次投身安全領(lǐng)域,我的世界不再只有.NET,這也使我換了一個(gè)角度來(lái)審視她,來(lái)研究她的安全。對(duì)于專注業(yè)務(wù)的程序員來(lái)說(shuō),重新構(gòu)建一個(gè)安全的系統(tǒng)成本太高。即使是一個(gè)安全專家,也面臨著將許多的安全方案用代碼來(lái)實(shí)現(xiàn)的困境。雖然不能實(shí)現(xiàn)不用敲一行代碼就解決這些問(wèn)題,但是作為.NET開發(fā)人員,可以將問(wèn)題變得更簡(jiǎn)單。因?yàn)?NET在設(shè)計(jì)之初就考慮了安全性問(wèn)題,而且在邁向面向服務(wù)的進(jìn)程中,還誕生了專注于安全的框架。但是可惜的是,大部分開發(fā)人員竟然對(duì).NET安全性一無(wú)所知。因此,我想將自己在實(shí)踐中總結(jié)出來(lái)的經(jīng)驗(yàn)和體會(huì)與大家分享,希望每一個(gè).NET開發(fā)人員都能從中受益,讓應(yīng)用更安全、更健壯,讓自我開發(fā)的安全框架更簡(jiǎn)潔,讓開發(fā)過(guò)程更輕松。本書特點(diǎn)在創(chuàng)作本書的過(guò)程中,我也在不斷地思考安全原理和安全應(yīng)用的取舍問(wèn)題,思慮再三,最后決定按照自己的實(shí)踐經(jīng)驗(yàn)和想法來(lái)決定重點(diǎn)知識(shí)的結(jié)構(gòu)安排。本書立足.NET平臺(tái),但是所講的內(nèi)容并不只針對(duì).NET開發(fā)人員。我更想通過(guò)這本書,將這些安全基礎(chǔ)理論和安全架構(gòu)的方式傳達(dá)給更多的讀者。在對(duì)一些通用的安全基礎(chǔ)進(jìn)行講解的時(shí)候,我更傾向于將重點(diǎn)放在理論上而不是.NET平臺(tái)的實(shí)現(xiàn)上,在對(duì)其他內(nèi)容進(jìn)行講解時(shí)則又將側(cè)重點(diǎn)放在.NET本身,這樣的結(jié)構(gòu)安排是經(jīng)過(guò)仔細(xì)斟酌的。當(dāng)然,如果你有更合理的方案可以提出來(lái),很高興與你一起探討。本書包含了.NET安全性的所有核心主題。在寫這本書的時(shí)候,力求使讀者能在最短的時(shí)間內(nèi)理解每一個(gè)概念,了解基本的框架、流程、原理和使用方法。在具體的應(yīng)用上,本書沒(méi)有完整的例子,因?yàn)楸緯雮鬟_(dá)的是理念。我堅(jiān)持認(rèn)為,通過(guò)學(xué)習(xí)本書內(nèi)容之后,掌握獨(dú)立完成應(yīng)用的能力比復(fù)制代碼更重要。讀者對(duì)象這不是一本講黑客攻防的書,如果想從這本書中得到關(guān)于黑客攻擊的技術(shù)細(xì)節(jié),那么你會(huì)很失望;如果你想從這本書中得到如何防守跨站攻擊、SQL注入或者網(wǎng)頁(yè)木馬的實(shí)施細(xì)節(jié),你也將會(huì)失望。這是一本面向開發(fā)人員和安全專家的書,重點(diǎn)講解.NET平臺(tái)體現(xiàn)出來(lái)的基本安全理論,對(duì)于專注于安全的任何群體來(lái)說(shuō),這都是必須掌握的。本書的讀者對(duì)象包括:有一定開發(fā)經(jīng)驗(yàn)的.NET程序員專注于.NET安全的安全技術(shù)工程師.NET應(yīng)用架構(gòu)師高校計(jì)算機(jī)相關(guān)專業(yè)和.NET培訓(xùn)機(jī)構(gòu)的老師和學(xué)生互聯(lián)網(wǎng)架構(gòu)師對(duì)計(jì)算機(jī)和網(wǎng)絡(luò)安全感興趣的愛(ài)好者本書的內(nèi)容本書共分為五個(gè)部分,五個(gè)部分之間既相互獨(dú)立又相輔相成。第一部分(第1章~第3章)講解了.NET安全的基礎(chǔ),這是.NET架構(gòu)的核心部分。具體內(nèi)容包括.NET體系結(jié)構(gòu)、程序集和反射、應(yīng)用程序域和CLR寄宿的原理。第一部分提到的核心概念是全書所有章節(jié)都會(huì)反復(fù)提到的。如果還沒(méi)有對(duì).NET的底層原理了解得很透徹,建議認(rèn)真閱讀這一部分。第二部分(第4章~第5章)講解了.NET的平臺(tái)級(jí)安全性。這些內(nèi)容是整個(gè).NET應(yīng)用框架安全性的基礎(chǔ),沒(méi)有這些基礎(chǔ)是無(wú)法繼續(xù)閱讀的。這是本書的必讀部分。在這一部分我們將具體了解到代碼訪問(wèn)安全的原理和基于角色的安全性,這是整個(gè).NET安全性的核心概念。后文的應(yīng)用安全環(huán)節(jié)與之重復(fù)的部分大都省略了細(xì)節(jié),所以建議務(wù)必仔細(xì)閱讀此部分。第三部分(第6章~第8章)是數(shù)據(jù)安全部分。這一部分直接建立在第二部分的基礎(chǔ)之上,介于底層安全性和應(yīng)用安全之間。在這一部分中,我們會(huì)分析很多通用安全概念的原理,其中包括加密、解密、數(shù)字證書和簽名,以及數(shù)據(jù)存儲(chǔ)安全和通信安全。這部分的內(nèi)容是許多安全應(yīng)用和安全協(xié)議的基礎(chǔ),有助于了解很多基礎(chǔ)概念的原理和常用加密算法的數(shù)學(xué)解釋。第四部分(第9章~第14章)是應(yīng)用安全部分。主要內(nèi)容集中在.NET平臺(tái)的幾種常用應(yīng)用框架的安全上,是.NET開發(fā)人員的必讀部分。這一部分根據(jù)實(shí)際情況對(duì)部分應(yīng)用的安全原理作了詳細(xì)解析,并針對(duì)部分應(yīng)用給出了詳細(xì)的示例,以確保讀者能從原理和實(shí)踐上完全掌握這部分內(nèi)容。第五部分(第15章~第16章)是高級(jí)擴(kuò)展部分。這一部分介紹了最新的WIF框架和云安全的內(nèi)容,這是.NET安全的未來(lái)趨勢(shì)。勘誤和支持參加本書編寫的還有我的老師魯鳳芝女士,北森公司的同事何平、賀立華、楊博宇、武偉、郝志剛、甄建廷。由于作者水平有限,編寫時(shí)間倉(cāng)促,書中難免會(huì)出現(xiàn)一些錯(cuò)誤或疏漏,懇請(qǐng)讀者批評(píng)指正。歡迎訪問(wèn)我的博客(http://www.cnblogs.com/xuanhun)或發(fā)郵件(xuanhun521@126.com)與我交流。不論是批評(píng)還是褒揚(yáng),您的反饋都是對(duì)本書的關(guān)愛(ài)。致謝在本書的寫作過(guò)程中,我得到了很多朋友、老師、同事及家人的大力幫助。感謝機(jī)械工業(yè)出版社華章公司的編輯楊福川和白宇,沒(méi)有你們的耐心、寬容和鼓勵(lì),恐怕我連完成這本書的勇氣都沒(méi)有。最后要感謝我的父母、老師及所有培養(yǎng)我的人。當(dāng)然,還要感謝我的女朋友小白。謹(jǐn)以此書,獻(xiàn)給我最親愛(ài)的家人,以及眾多關(guān)注.NET和計(jì)算機(jī)安全的人們!楊文海2012年3月于北京

內(nèi)容概要

作為.NET程序員、.NET應(yīng)用架構(gòu)師和.NET安全工作人員,如何才能開發(fā)和設(shè)計(jì)出安全的.NET應(yīng)用?如何才能維護(hù)和保證.NET應(yīng)用系統(tǒng)的安全性?本書是資深.NET專家和安全專家多年工作經(jīng)驗(yàn)的結(jié)晶,深刻揭示了.NET系統(tǒng)(涵蓋.NET平臺(tái)本身、ASP.NET、WCF、Silverlight、Windows
Azure、 Open
XML和WIF等)的安全特性及其工作原理,系統(tǒng)而全面地講解了構(gòu)建安全的.NET應(yīng)用所必須掌握的所有理論知識(shí),并包含大量最佳實(shí)踐。
全書共分為五個(gè)部分。第一部分:.NET安全基礎(chǔ),透徹講解了.NET體系結(jié)構(gòu)、程序集與反射、應(yīng)用程序域和CLR寄宿等核心技術(shù),這部分內(nèi)容是.NET架構(gòu)的核心,同時(shí)也是理解.NET底層安全機(jī)制的基礎(chǔ);第二部分:.NET平臺(tái)安全性,深入分析了代碼訪問(wèn)的安全性和基于角色的安全性的原理,這部分內(nèi)容既是.NET應(yīng)用框架安全性的基礎(chǔ),也是整個(gè).NET平臺(tái)體系安全性的核心;第三部分:數(shù)據(jù)安全,深刻闡述了數(shù)據(jù)加密、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)通信的安全性,這部分內(nèi)容介于.NET平臺(tái)底層安全性與.NET應(yīng)用安全性之間,是聯(lián)系二者的紐帶;第四部分:.NET應(yīng)用安全性,全面講解.NET平臺(tái)下ASP.NET、WCF、WPF、Silverlight和Open
XML等常用框架和技術(shù)的安全機(jī)制與原理;第五部分:高級(jí)擴(kuò)展,重點(diǎn)介紹了最新的WIF框架和Windows
Azure的安全性,這是.NET安全領(lǐng)域未來(lái)的重心之一。
本書是構(gòu)建安全.NET應(yīng)用的百科全書,適合所有關(guān)注和學(xué)習(xí).NET安全的讀者閱讀。

作者簡(jiǎn)介

楊文海(筆名:玄魂)資深.NET開發(fā)工程師(常以“代碼狂人”自居)和安全技術(shù)專家,有多年.NET開發(fā)經(jīng)驗(yàn),對(duì).NET平臺(tái)以及ASP.NET、WPF、WCF、Silverlight、Open
XML、WIF等技術(shù)的底層原理和安全機(jī)制有深入的研究。崇尚黑客精神,活躍于國(guó)內(nèi)外各大安全論壇,教學(xué)相長(zhǎng),樂(lè)此不疲。目前致力于打造最好的.NET安全編程框架,傳播真正的黑客精神。

書籍目錄

前言
第一部分 .NET安全基礎(chǔ)
第1章 .NET 體系結(jié)構(gòu)/ 2
1.1公共語(yǔ)言運(yùn)行時(shí)/ 2
1.2公共類型系統(tǒng)/ 3
1.2.1CTS基本結(jié)構(gòu)/ 3
1.2.2公共語(yǔ)言規(guī)范/ 5
1.3中間語(yǔ)言/ 7
1.3.1托管PE文件/ 7
1.3.2元數(shù)據(jù)/ 14
1.3.3IL常用指令/ 17
1.3.4IL與代碼驗(yàn)證/ 19
1.4基礎(chǔ)類庫(kù)和框架類庫(kù)/ 19
1.4.1BCL 基本命名空間/ 20
1.4.2.NET Framework 4.0中對(duì)BCL的更新/ 21
1.4.3FCL命名空間/ 23
1.5即時(shí)編譯和預(yù)編譯/ 23
1.6動(dòng)態(tài)語(yǔ)言運(yùn)行時(shí)/ 25
1.7本章小結(jié)/ 26
第2章 程序集與反射/ 27
2.1程序集/ 27
2.1.1模塊的操作/ 27
2.1.2程序集概念/ 29
2.1.3強(qiáng)名稱程序集/ 31
2.1.4共享程序集/ 33
2.1.5創(chuàng)建多文件程序集 / 34
2.2使用反射操作程序集/ 36
2.2.1反射程序集/ 36
2.2.2加載和卸載程序集/ 39
2.2.3動(dòng)態(tài)創(chuàng)建程序集/ 40
2.3本章小結(jié)/ 42
第3章 應(yīng)用程序域與CLR寄宿/ 44
3.1應(yīng)用程序域基礎(chǔ)/ 44
3.1.1 應(yīng)用程序域的特點(diǎn)/ 44
3.1.2創(chuàng)建應(yīng)用程序域/ 45
3.1.3卸載應(yīng)用程序域/ 45
3.2CLR寄宿/ 48
3.2.1核心組件MSCOREE.DLL/ 48
3.2.2托管exe文件的加載和執(zhí)行/ 57
3.2.3ASP.NET Web窗體和Web Service / 58
3.3高級(jí)宿主控制/ 63
3.3.1托管宿主/ 63
3.3.2托管環(huán)境下的線程注入實(shí)例/ 65
3.4本章小結(jié)/ 66
第二部分  .NET平臺(tái)級(jí)安全性
第4章 代碼訪問(wèn)安全性/ 68
4.1代碼訪問(wèn)安全性機(jī)制/ 68
4.1.1代碼訪問(wèn)安全性機(jī)制的作用/ 68
4.1.2工作方式/ 70
4.1.3安全性語(yǔ)法/ 73
4.2代碼組/ 75
4.2.1對(duì)代碼組的管理/ 75
4.2.2成員條件/ 81
4.2.3屬性/ 85
4.3權(quán)限和權(quán)限集/ 86
4.3.1權(quán)限操作的基本概念/ 86
4.3.2.NET提供的代碼訪問(wèn)權(quán)限/ 92
4.3.3操作權(quán)限集/ 96
4.4代碼訪問(wèn)安全性編程實(shí)踐/ 98
4.4.1實(shí)現(xiàn)自定義權(quán)限的構(gòu)造函數(shù)/ 99
4.4.2實(shí)現(xiàn)屬性類/ 102
4.4.3安裝到安全策略中/ 103
4.5本章小結(jié)/ 104
第5章 基于角色的安全性/ 105
5.1.NET Framework基于角色的安全性/ 105
5.2基于角色的安全性編程實(shí)戰(zhàn)/ 106
5.3主體和標(biāo)識(shí)/ 110
5.3.1主體對(duì)象/ 110
5.3.2標(biāo)識(shí)對(duì)象/ 117
5.4安全檢查/ 123
5.4.1基于角色的安全性權(quán)限對(duì)象/ 123
5.4.2命令式安全檢查/ 125
5.4.3聲明式安全檢查/ 127
5.4.4直接訪問(wèn)主體對(duì)象/ 128
5.5本章小結(jié)/ 129
第三部分 數(shù)據(jù)安全
第6章 數(shù)據(jù)加密/ 132
6.1加密技術(shù)簡(jiǎn)介/ 132
6.2對(duì)稱加密/ 132
6.2.1對(duì)稱加密原理/ 133
6.2.2對(duì)稱加密算法/ 134
6.2.3.NET對(duì)稱加密體系/ 142
6.2.4對(duì)稱加密實(shí)踐/ 147
6.3非對(duì)稱加密/ 152
6.3.1非對(duì)稱加密原理/ 152
6.3.2非對(duì)稱加密算法/ 153
6.3.3.NET 非對(duì)稱加密體系/ 158
6.3.4非對(duì)稱加密實(shí)踐/ 161
6.4消息摘要和Hash算法/ 168
6.4.1Hash原理/ 168
6.4.2Hash算法/ 169
6.4.3.NET中的Hash算法/ 175
6.4.4消息摘要編程實(shí)例/ 179
6.5數(shù)字簽名和數(shù)字證書/ 182
6.5.1數(shù)字簽名/ 182
6.5.2使用.NET進(jìn)行數(shù)字簽名/ 183
6.5.3數(shù)字證書/ 186
6.5.4在.NET中操作數(shù)字證書/ 190
6.6本章小結(jié)/ 196
第7章 數(shù)據(jù)存儲(chǔ)安全/ 198
7.1磁盤文件安全/ 198
7.1.1文件的基本操作/ 199
7.1.2文件和目錄的訪問(wèn)控制/ 209
7.1.3安全刪除數(shù)據(jù)/ 216
7.1.4文件加密/解密/ 218
7.2數(shù)據(jù)庫(kù)安全/ 221
7.2.1SQL Server的CLR集成/ 221
7.2.2CLR集成的功能/ 222
7.2.3編譯過(guò)程/ 223
7.3SQL Server的CLR集成安全性/ 223
7.3.1CLR集成代碼訪問(wèn)的安全性/ 223
7.3.2宿主保護(hù)特性和CLR集成編程/ 227
7.3.3CLR 集成安全性中的鏈接/ 228
7.3.4模擬和CLR集成安全性/ 229
7.3.5允許部分可信任的調(diào)用方/ 231
7.3.6應(yīng)用程序域和CLR集成安全性/ 232
7.4本章小結(jié)/ 232
第8章 數(shù)據(jù)通信安全/ 233
8.1SSL原理及應(yīng)用/ 233
8.1.1SSL協(xié)議體系結(jié)構(gòu)/ 233
8.1.2配置HTTPS / 238
8.1.3在.NET開發(fā)中處理HTTPS / 250
8.2會(huì)話狀態(tài)安全/ 252
8.2.1會(huì)話狀態(tài)安全基礎(chǔ)/ 253
8.2.2會(huì)話狀態(tài)安全攻略/ 262
8.3本章小結(jié)/ 263
第四部分 .NET應(yīng)用安全
第9章 應(yīng)用程序保護(hù)/ 266
9.1反編譯/ 266
9.1.1反編譯工具Reflector / 266
9.1.2.NET反編譯原理/ 269
9.2強(qiáng)名稱/ 274
9.2.1使用強(qiáng)名稱保護(hù)代碼完整性/ 275
9.2.2引用強(qiáng)名稱簽名的程序集/ 280
9.2.3強(qiáng)名稱的脆弱性/ 282
9.2.4保護(hù)強(qiáng)名稱/ 283
9.3代碼混淆/ 283
9.3.1名稱混淆/ 283
9.3.2流程混淆/ 286
9.3.3語(yǔ)法混淆/ 294
9.4加殼/ 297
9.5本章小結(jié)/ 304
第10章 ASP.NET應(yīng)用安全/ 305
10.1ASP.NET安全性工作原理/ 305
10.1.1ASP.NET安全性體系結(jié)構(gòu)/ 305
10.1.2ASP.NET安全數(shù)據(jù)流/ 308
10.1.3ASP.NET模擬/ 311
10.1.4ASP.NET身份驗(yàn)證/ 312
10.1.5ASP.NET授權(quán)/ 325
10.1.6ASP.NET SQL Server注冊(cè)工具/ 327
10.2ASP.NET成員資格/ 331
10.2.1ASP.NET成員資格的功能/ 331
10.2.2ASP.NET成員資格類/ 333
10.2.3配置成員資格/ 338
10.2.4成員資格的應(yīng)用/ 342
10.2.5自定義成員資格提供程序/ 349
10.2.6WCF身份驗(yàn)證服務(wù)/ 358
10.3ASP.NET角色管理/ 362
10.3.1ASP.NET角色和訪問(wèn)規(guī)則/ 362
10.3.2ASP.NET角色管理類/ 365
10.3.3ASP.NET角色管理提供程序/ 367
10.3.4自定義ASP.NET角色管理提供程序/ 368
10.3.5WCF角色服務(wù)/ 370
10.4受保護(hù)配置/ 371
10.4.1管理受保護(hù)配置/ 371
10.4.2受保護(hù)配置提供程序/ 373
10.4.3RSA密鑰容器/ 379
10.5本章小結(jié)/ 381
第11章 WCF應(yīng)用安全/ 382
11.1WCF安全基本概念/ 382
11.1.1綁定/ 383
11.1.2安全模式/ 394
11.1.3身份驗(yàn)證憑據(jù)/ 396
11.1.4保護(hù)級(jí)別/ 398
11.1.5授權(quán)/ 400
11.1.6模擬/ 400
11.2WCF局域網(wǎng)安全/ 400
11.2.1NetTcpBinding Transport安全模式/ 401
11.2.2NetTcpBinding Message安全模式/ 422
11.2.3局域網(wǎng)綁定安全/ 429
11.2.4局域網(wǎng)環(huán)境下的授權(quán)策略/ 434
11.3WCF互聯(lián)網(wǎng)安全/ 444
11.3.1BasicHttpBinding示例/ 445
11.3.2BasicHttpBinding安全項(xiàng)/ 449
11.3.3BasicHttpBinding安全應(yīng)用/ 454
11.3.4WsHttpBinding簡(jiǎn)介/ 477
11.4WCF安全認(rèn)證流程/ 478
11.5本章小結(jié)/ 479
第12章 WPF應(yīng)用安全/ 480
12.1WPF應(yīng)用程序/ 480
12.1.1WPF獨(dú)立應(yīng)用程序/ 480
12.1.2WPF瀏覽器應(yīng)用程序/ 483
12.2WPF應(yīng)用程序安全性/ 485
12.2.1安全導(dǎo)航/ 486
12.2.2Web瀏覽安全設(shè)置/ 487
12.2.3安全沙箱/ 500
12.2.4部分信任安全/ 501
12.2.5部分信任安全策略/ 506
12.2.6松散XAML文件的沙箱行為/ 510
12.3部分受信任代碼的庫(kù)調(diào)用/ 511
12.4本章小結(jié)/ 513
第13章 Silverlight應(yīng)用安全/ 514
13.1Silverlight運(yùn)行機(jī)制 / 514
13.1.1Silverlight運(yùn)行環(huán)境/ 515
13.1.2Silverlight架構(gòu)/ 516
13.1.3CoreCLR安全模型/ 518
13.2Silverlight運(yùn)行在沙箱中/ 519
13.3透明模型/ 524
13.3.1透明代碼的調(diào)用/ 525
13.3.2透明代碼、SafeCritical代碼和關(guān)鍵代碼的比較/ 527
13.3.3Silverlight透明模型的優(yōu)勢(shì)/ 528
13.4網(wǎng)絡(luò)通信/ 529
13.4.1基本HTTP功能/ 529
13.4.2HTTP調(diào)用/ 530
13.4.3跨域通信/ 532
13.4.4網(wǎng)絡(luò)安全訪問(wèn)限制/ 536
13.4.5URL訪問(wèn)限制/ 548
13.5Silverlight安全策略/ 550
13.5.1XSS問(wèn)題/ 550
13.5.2代碼隔離/ 551
13.5.3用戶數(shù)據(jù)保護(hù)/ 554
13.5.4保護(hù)xap文件/ 558
13.6本章小結(jié)/ 559
第14章 Open XML應(yīng)用安全/ 561
14.1Open XML規(guī)范/ 561
14.1.1文檔格式/ 561
14.1.2開放打包協(xié)定/ 563
14.1.3Open XML標(biāo)記語(yǔ)言/ 566
14.2Open XML開發(fā)基礎(chǔ) / 573
14.2.1操作ZIP / 574
14.2.2操作XML / 577
14.2.3Open XML API / 582
14.3Open XML應(yīng)用安全/ 586
14.3.1宏安全/ 586
14.3.2OLE機(jī)制/ 587
14.3.3隱藏?cái)?shù)據(jù)/ 590
14.3.4文檔校驗(yàn)/ 592
14.3.5數(shù)字簽名/ 593
14.4本章小結(jié)/ 599
第五部分 高級(jí)擴(kuò)展
第15章 WIF開發(fā)框架/ 602
15.1WIF基本原理/ 602
15.1.1標(biāo)識(shí)庫(kù)/ 603
15.1.2基于聲明的標(biāo)識(shí)模型/ 604
15.1.3安全令牌服務(wù)/ 609
15.1.4聯(lián)合身份驗(yàn)證實(shí)例/ 614
15.1.5WIF的功能/ 616
15.2WIF編程模型/ 617
15.2.1WIF編程模型的優(yōu)勢(shì)/ 617
15.2.2WIF基本行為/ 618
15.2.3IClaimsIdentity和IClaimsPrincipal / 619
15.3WIF與ASP.NET實(shí)踐/ 620
15.3.1準(zhǔn)備工作/ 620
15.3.2將認(rèn)證外包給STS / 622
15.3.3基本編程概念/ 625
15.4本章小結(jié)/ 638
第16章 微軟云安全/ 639
16.1云計(jì)算/ 639
16.1.1云計(jì)算的演進(jìn)/ 639
16.1.2云計(jì)算的特點(diǎn)/ 640
16.2微軟的云計(jì)算/ 642
16.2.1Windows Azure平臺(tái)的架構(gòu)/ 643
16.2.2應(yīng)用模式/ 644
16.3Windows Azure安全/ 645
16.3.1安全模式/ 645
16.3.2云安全設(shè)計(jì)/ 648
16.3.3開發(fā)生命周期安全/ 654
16.3.4服務(wù)的運(yùn)營(yíng)方式/ 654
16.4本章小結(jié)/ 656

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   第1章.NET體系結(jié)構(gòu) 本章將基于.NET4.0從整體上論述.NET框架的體系結(jié)構(gòu),并會(huì)從新的角度對(duì)與安全性較為相關(guān)的內(nèi)容進(jìn)行介紹。由于本書不同于編程類教程,因此許多細(xì)節(jié)問(wèn)題只能進(jìn)行簡(jiǎn)略概括或略掉不講,有疑惑的讀者可查找相關(guān)資料自行修煉。從.NET安全的需要出發(fā),本章主要介紹公共語(yǔ)言運(yùn)行時(shí)(CLR)、公共類型系統(tǒng)(CTS)、公共語(yǔ)言規(guī)范(CLS)、中間語(yǔ)言(IL)、框架類庫(kù)(FCL)、基礎(chǔ)類庫(kù)(BCL)、即時(shí)編譯(JIT)和預(yù)編譯,以及動(dòng)態(tài)語(yǔ)言運(yùn)行時(shí)(DLR),并且會(huì)從底層進(jìn)行詳細(xì)的解析。建議讀者不要跳過(guò)本章。 1.1公共語(yǔ)言運(yùn)行時(shí) 公共語(yǔ)言運(yùn)行時(shí)(CommonLanguageRuntime,CLR)為.NETFramework提供了托管運(yùn)行環(huán)境,它負(fù)責(zé)運(yùn)行托管代碼,進(jìn)行安全檢查,垃圾回收等環(huán)節(jié)。本節(jié)只會(huì)對(duì)運(yùn)行庫(kù)進(jìn)行概述,與安全相關(guān)的詳細(xì)內(nèi)容將在后續(xù)章節(jié)進(jìn)行詳細(xì)剖析。 微軟公司為開發(fā)人員開發(fā)由CLR負(fù)責(zé)運(yùn)行的程序創(chuàng)造了非常便利的條件,比如,開發(fā)工具及編譯器會(huì)不斷升級(jí),且有豐富的文檔詳細(xì)介紹.NET開發(fā)的方方面面。使用基于CLR的語(yǔ)言編譯器開發(fā)的代碼稱為托管代碼。托管代碼具有許多優(yōu)點(diǎn),例如跨語(yǔ)言集成、跨語(yǔ)言異常處理、增強(qiáng)的安全性、版本控制和部署支持、簡(jiǎn)化的組件交互模型、調(diào)試和分析服務(wù)等。 若要使CLR能夠向托管代碼提供服務(wù),語(yǔ)言編譯器必須生成一些元數(shù)據(jù)來(lái)描述代碼中的類型、成員和引用。元數(shù)據(jù)與代碼一起存儲(chǔ),每個(gè)可加載的CLR可移植執(zhí)行(PortableExecutable,PE)文件都包含元數(shù)據(jù)。CLR使用元數(shù)據(jù)來(lái)完成以下任務(wù):查找和加載類、在內(nèi)存中安排實(shí)例、解析方法調(diào)用、生成本機(jī)代碼、強(qiáng)制安全性,以及設(shè)置運(yùn)行時(shí)上下文邊界。 CLR自動(dòng)處理對(duì)象布局并管理對(duì)象引用,當(dāng)不再使用對(duì)象時(shí)就會(huì)釋放它們。按這種方式實(shí)現(xiàn)生存期管理的對(duì)象稱為托管數(shù)據(jù)。如果編寫的代碼是托管代碼,可以在.NETFramework應(yīng)用程序中使用托管數(shù)據(jù)、非托管數(shù)據(jù),或者同時(shí)使用這兩種數(shù)據(jù)。由于語(yǔ)言編譯器會(huì)提供自己的類型(如基元類型),因此你可能并不總是知道(或需要知道)這些數(shù)據(jù)是否是托管的。 有了CLR,就可以很容易地設(shè)計(jì)出對(duì)象能夠跨語(yǔ)言交互的組件和應(yīng)用程序。也就是說(shuō),用不同語(yǔ)言編寫的對(duì)象可以互相通信,并且它們的行為可以緊密集成。例如,可以定義一個(gè)類,然后使用不同的語(yǔ)言從原始類派生出另一個(gè)類或調(diào)用原始類的方法,還可以將一個(gè)類的實(shí)例傳遞到用不同的語(yǔ)言編寫的另一個(gè)類的方法。這種跨語(yǔ)言集成之所以成為可能,是因?yàn)榛贑LR的語(yǔ)言編譯器和工具使用了由CLR定義的通用類型系統(tǒng),而且它們遵循CLR關(guān)于定義新類型以及創(chuàng)建、使用、保持和綁定到類型的規(guī)則。

媒體關(guān)注與評(píng)論

隨著互聯(lián)網(wǎng)及其相關(guān)技術(shù)的成熟,以及各類社交網(wǎng)站和電子商務(wù)網(wǎng)站的不斷崛起,我們的生活的網(wǎng)絡(luò)化程度隨之不斷加深,與我們個(gè)人的隱私相關(guān)的各種數(shù)據(jù)都“搬”到了網(wǎng)上。對(duì)于為我們提供各類服務(wù)的網(wǎng)站來(lái)說(shuō),保障用戶信息的安全性已成為他們最重要和最頭疼的工作之一。要確保網(wǎng)站的安全性,根本上還是要從構(gòu)建網(wǎng)站系統(tǒng)的底層技術(shù)和安全框架抓起。本書是.NET技術(shù)人員的福音,它系統(tǒng)講解了.NET安全技術(shù)的方方面面,能為我們構(gòu)建各種類型的.NET應(yīng)用提供完善的實(shí)踐指導(dǎo),既可以作為深入學(xué)習(xí).NET安全技術(shù)的寶貴資料,又可以作為開發(fā)和架構(gòu).NET應(yīng)用的案頭備查手冊(cè),強(qiáng)烈推薦。——51CTO(www.51cto.com,中國(guó)領(lǐng)先的IT技術(shù)網(wǎng)站)2011年,國(guó)內(nèi)安全領(lǐng)域最大的新聞莫過(guò)于數(shù)十家網(wǎng)站的用戶數(shù)據(jù)被泄露的事件了。這件事情在當(dāng)時(shí)影響極為廣泛,它促使了國(guó)內(nèi)的互聯(lián)網(wǎng)企業(yè)重新思考網(wǎng)站安全的重要性并紛紛加強(qiáng)了網(wǎng)站的安全建設(shè)。網(wǎng)站安全的根基在于它的架構(gòu)和具體實(shí)現(xiàn),架構(gòu)和實(shí)現(xiàn)過(guò)程中是否充分利用了技術(shù)的手段來(lái)保障安全性直接決定了網(wǎng)站是否安全可靠。如果你打算用.NET技術(shù)開發(fā)網(wǎng)站或相關(guān)的應(yīng)用,抑或是你要負(fù)責(zé)維護(hù)用.NET技術(shù)開發(fā)的網(wǎng)站和應(yīng)用的安全性,本書將為你提供全面的指導(dǎo),它幾乎講解了.NET技術(shù)安全性的方方面面,值得學(xué)習(xí)和參考!——馬偉 資深微軟技術(shù)專家和微軟MVP/暢銷書《ASP.NET 4權(quán)威指南》作者 安全永遠(yuǎn)是IT領(lǐng)域最重要、最熱門的話題之一,它是IT產(chǎn)品和服務(wù)的核心。對(duì)于軟件產(chǎn)品而言,它的安全性在最初的架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中就已經(jīng)決定了,也就是說(shuō)軟件的安全性其實(shí)掌握在架構(gòu)師和程序員手里。如果你是一位.NET程序員或架構(gòu)師,你必須了解.NET平臺(tái)的安全機(jī)制,以及各種.NET應(yīng)用涉及的安全技術(shù)的細(xì)節(jié),只有這樣才能為你開發(fā)或架構(gòu)的系統(tǒng)提供安全上的技術(shù)保障。目前市面上系統(tǒng)、深入講解.NET安全知識(shí)的書不多,本書不可多得。——郝冠軍 資深微軟技術(shù)專家和微軟MVP/暢銷書《ASP.NET本質(zhì)論》作者

編輯推薦

《.NET安全揭秘》全面、系統(tǒng)、深刻揭示.NET平臺(tái)的安全機(jī)制和工作原理,為構(gòu)建安全的.NET應(yīng)用以及ASP.NET、WCF、WPF、Silverlight、OpenXML和WIF等應(yīng)用提供絕佳實(shí)踐指導(dǎo)。

名人推薦

隨著互聯(lián)網(wǎng)及其相關(guān)技術(shù)的成熟,以及各類社交網(wǎng)站和電子商務(wù)網(wǎng)站的不斷崛起,我們的生活的網(wǎng)絡(luò)化程度隨之不斷加深,與我們個(gè)人的隱私相關(guān)的各種數(shù)據(jù)都被“搬”到了網(wǎng)上。對(duì)于為我們提供各類服務(wù)的網(wǎng)站來(lái)說(shuō),保障用戶信息的安全性已成為他們最重要和最頭疼的工作之一。要確保網(wǎng)站的安全性,根本上還是要從構(gòu)建網(wǎng)站系統(tǒng)的底層技術(shù)和安全框架抓起。本書是.NET技術(shù)人員的福音,它系統(tǒng)講解了.NET安全技術(shù)的方方面面,能為我們構(gòu)建各種類型的.NET應(yīng)用提供完善的實(shí)踐指導(dǎo),既可以作為深入學(xué)習(xí).NET安全技術(shù)的寶貴資料,又可以作為開發(fā)和架構(gòu).NET應(yīng)用的案頭備查手冊(cè),強(qiáng)烈推薦。 ——51CTO(www.51cto.com,中國(guó)領(lǐng)先的IT技術(shù)網(wǎng)站) 2011年,國(guó)內(nèi)安全領(lǐng)域最大的新聞莫過(guò)于數(shù)十家網(wǎng)站的用戶數(shù)據(jù)被泄露的事件了。這件事情在當(dāng)時(shí)影響極為廣泛,它促使了國(guó)內(nèi)的互聯(lián)網(wǎng)企業(yè)重新思考網(wǎng)站安全的重要性并紛紛加強(qiáng)了網(wǎng)站的安全建設(shè)。網(wǎng)站安全的根基在于它的架構(gòu)和具體實(shí)現(xiàn),架構(gòu)和實(shí)現(xiàn)過(guò)程中是否充分利用了技術(shù)的手段來(lái)保障安全性直接決定了網(wǎng)站是否安全可靠。如果你打算用.NET技術(shù)開發(fā)網(wǎng)站或相關(guān)的應(yīng)用,抑或是你要負(fù)責(zé)維護(hù)用.NET技術(shù)開發(fā)的網(wǎng)站和應(yīng)用的安全性,本書將為你提供全面的指導(dǎo),它幾乎講解了.NET技術(shù)安全性的方方面面,值得學(xué)習(xí)和參考! ——馬偉 資深微軟技術(shù)專家和微軟MVP/暢銷書《ASP.NET 4權(quán)威指南》作者 安全永遠(yuǎn)是IT領(lǐng)域最重要、最熱門的話題之一,它是IT產(chǎn)品和服務(wù)的核心。對(duì)于軟件產(chǎn)品而言,它的安全性在最初的架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中就已經(jīng)決定了,也就是說(shuō)軟件的安全性其實(shí)掌握在架構(gòu)師和程序員手里。如果你是一位.NET程序員或架構(gòu)師,你必須了解.NET平臺(tái)的安全機(jī)制,以及各種.NET應(yīng)用涉及的安全技術(shù)的細(xì)節(jié),只有這樣才能為你開發(fā)或架構(gòu)的系統(tǒng)提供安全上的技術(shù)保障。目前市面上系統(tǒng)、深入講解.NET安全知識(shí)的書不多,本書不可多得。 ——郝冠軍 資深微軟技術(shù)專家和微軟MVP/暢銷書《ASP.NET本質(zhì)論》作者

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    .NET安全揭秘 PDF格式下載


用戶評(píng)論 (總計(jì)13條)

 
 

  •   這本書從整個(gè)框架上介紹了安全方面對(duì)內(nèi)容,比較全名系統(tǒng)對(duì)介紹,我喜歡。
  •   為數(shù)不多的專門講解安全的****書藉,很不錯(cuò),****高級(jí)學(xué)習(xí)推薦
  •   以前沒(méi)有時(shí)間學(xué)習(xí)****安全方面的知識(shí),買這本數(shù)來(lái)充饑。
  •   值得一看,安全不容忽視
  •   書的品質(zhì)不錯(cuò),講的比較全面
  •   這本書從安全角度去看**** 很值得閱讀
  •   還沒(méi)沒(méi)有來(lái)得及研究
  •   粗粗看了一樣。發(fā)現(xiàn)比想象的要復(fù)雜多了。
  •   這個(gè)類別的書都很好
  •   能開闊視野
  •   還沒(méi)有看,看后在評(píng)
  •   完全是在湊字?jǐn)?shù),600多頁(yè)的書,400頁(yè)是在廢話,200頁(yè)足夠了;而且這200頁(yè)里說(shuō)的話到滿篇的語(yǔ)法錯(cuò)誤
  •   講述.Net安全方面的書太少了,大部分書都是蜻蜓點(diǎn)水,這本書不錯(cuò),非常值得仔細(xì)研讀
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7