密碼管理系統理論與實作:使用 Python 的 Crypto、Tkinter 與 Django 套件
主編林岱銳;共同編著陳仕勳、陳語軒、廖翊辰
買這商品的人也買了...
-
$602IP 路由協議疑難解析
-
$534$507 -
$414$393 -
$714$678 -
$780$616 -
$454從實踐中學習 Kali Linux 無線網絡滲透測試
-
$880$695 -
$474$450 -
$474$450 -
$284Web 數據庫技術與 MySQL 應用教程
-
$480$379 -
$590$460 -
$600$468 -
$560$437 -
$719$683 -
$580$458 -
$780$608 -
$880$695 -
$600$468 -
$600$468 -
$680$537 -
$599$569 -
$800$632 -
$780$616 -
$860$679
相關主題
商品描述
- 特權帳號與密碼是企業IT部門各項系統的命脈,同時也是資訊安全在管理上的弱點。近年來的入侵攻擊事件,就是利用公司的系統漏洞沒有即時修補,再加上內控不嚴謹所造成的系統帳密被盜用,不僅影響到公司的商譽,還有可能造成難以估計的財損。為了解決特權帳密控管問題,本書將透過現行 Python 所提供的套件(Crypto, Django, Tkinter),研發特權帳密的控管機制並將其實作。
全書分成4章,分別帶領讀者進入密碼學的領域進行編程,除了有密碼學理論進行對照,還用時下最廣泛使用的程式語言 Python,進行密碼系統的開發。
|密碼學的數論基礎與 ISO27001|
總覺得密碼學是難以探究的學門嗎?其實只要有高中的數學程度與耐心,在實作後與理論相呼應,學苟知本會更扎實;此外,依據 ISO27001 的附錄A.10 密碼學的控制措施,可以了解特權帳密管理的必要性。
|使用 PyCryptodome 在 Python 中實現加密演算法程式|
PyCryptomdome 提供了所有加解密的函式庫,即使對理論不清楚,也可以進行實作。Python 易學易懂,有許多函式庫與社群支持,相關技術可以藉由網路搜尋,相輔相成加速開發。
|Tkinter 搭配 Crypto 實作加解密的應用介面|
Tkinter 是視窗程式的開發套件,可實作使用者端的 UI,是 Python 用來開發應用程式的熱門函式庫。本書在每個範例程式碼都有說明與解釋,確定資料流後,完成實作上的輸入與輸出。
|用 Django 來 Web化密碼管理系統|
Django 是網頁應用程式的框架,MVC(Model-View-Controller)的架構。本書實作的密碼管理系統,結合了 SQLite 資料庫,將密碼管理系統架在網路上,實現 Web化。
本書特色
🔑從基礎數論到密碼學
密碼學的基礎就是數論,每個理論都有數學作為對照,協助讀者了解基本原理。
🔑特權帳密管理系統實作
Crypto 套件提供豐富的加解密演算法,確定加解密流程後,用 Tkinter 設計 UI介面,並透過 Django套件將應用程式 Web化。
🔑ISO27001管理機制
依照 ISO27001(資訊安全管理國際標準)的「存取控制」、「密碼」、「作業的安全」等相關條文進行實作,以符合管理需求。
專業推薦
密碼學是所有應用程式的安全基礎,若您在未來想要進入資訊安全的研究領域,推薦您研習本書。它會協助您從實務上返回到理論,建構一個完整而深入的密碼學基礎知識,若您對密碼系統的應用有所發想,本書可以協助您開發並實踐。
—— 郭文中|雲林科技大學資訊工程系主任
本書剖析了ISO27001 的密碼管理的實務面,並且透過實作解決了特權帳密管理問題,加上理論基礎得以學苟知本。作者群對於密碼系統實作的過程,有助於理解密碼系統的開發與應用。無論您是對密碼學感興趣的讀者,或是資安業界的從業人員,這本書都可為您充實相關知識,滿足您的需求。
—— 李南逸 博士|國立成功大學計網中心教授兼網路與資安組組長
目標讀者
☑ 製作密碼學專題的高中、大專學生
☑ 針對密碼學研究領域的碩博士生
☑ 業界資訊安全研發人員
☑ 對密碼學理論與實作有興趣的人
|本書「實作範例檔」,請至博碩官網下載|
作者簡介
- 主編
林岱銳 博士
專長於密碼學、資訊安全與網頁程式設計。憑藉著業界豐富的實務經驗,結合理論,並傳授給學生,培育業界所需的資訊人才。
現職
.台灣中油大林廠資訊組經理
.國立雲林科技大學資工系助理教授(兼)
.國立成功大學計算機中心石化專題課程業師(兼)
共同編著
陳仕勳
畢業於雲林科技大學資工系,目前正攻讀雲科大資工所,擅長的領域為密碼學與網頁全端設計。
陳語軒
畢業於雲林科技大學資工系,擅長的領域為密碼學以及機器學習。
廖翊辰
畢業於雲林科技大學資工系,擅長的領域為密碼學與嵌入式系統。
目錄大綱
- CHAPTER 01 常用計算函數
1.1 基礎數論
1.1.1 本書會用到的數學符號定義
1.1.2 模運算(Modular)
1.1.3 原根(Primitive roots)
1.1.4 階(Order)
1.1.5 有限域(Finite field)
1.1.6 橢圓曲線密碼學概念(Elliptic Curve Cryptography, ECC)
1.2 對稱式加密系統(Symmetric Encryption System)
1.2.1 AES(Advanced Encryption Standard,進階加密標準)
1.3 非對稱式加密系統(Asymmetric Encryption System)
1.3.1 加密
1.3.2 驗證
1.4 數位簽章(Digital Signature)
1.4.1 RSA 演算法
1.4.2 ElGamal 加密演算法
1.4.3 橢圓曲線數位簽章演算法(Elliptic Curve Digital Signature Algorithm, ECDSA)
1.5 金鑰交換密碼系統(Diffie-Hellman Key Exchange System)
1.5.1 Elliptic Curve Diffie-Hellman, ECDH
1.6 簽章加密(Signcryption)
1.7 其他電子簽章
1.7.1 盲目簽章(Blind Signature)
1.7.2 變色龍簽章(Chameleon Signature)
1.7.3 單次簽章(One-time Signature)
1.7.4 門檻式簽章((t,n) Threshold Signature)
1.8 雜湊函式(Hash Function)
1.8.1 Hash:單向雜湊函數(One-way Hash Function)
1.8.2 雜湊函數的種類
1.9 變色龍雜湊函數(Chameleon Hash Function)
1.9.1 單一後門雜湊函數(Single-trapdoor hash Function)
1.9.2 雙後門雜湊函數(Double-trapdoor hash Function)
1.9.3 三後門雜湊函數(Triple-trapdoor hash Function)
1.10 ISO27001:2022
1.10.1 A.09 存取控制
1.10.2 A.10 密碼學
1.10.3 A.12 運作安全
CHAPTER 02 使用 PyCryptodome 在 Python 中實現加密演算法程式
2.1 安裝 PyCryptodome 模組
2.1.1 替代舊版 PyCrypto 模組的安裝方法
2.1.2 舊版 PyCrypto 與新版 PyCryptodome 模組同時並存的安裝方法
2.2 加密與解密的前置準備
2.2.1 開啟與關閉檔案
2.2.2 讀取與寫入檔案
2.3 實作字元編碼(Character Encoding)
2.3.1 base64 編碼
2.3.2 hash:單向雜湊函數(One-way Hash Function)
2.3.3 hmac:金鑰訊息鑑別碼(Message Authentication Code)
2.4 對稱式加密演算法(Symmetric Encryption)
2.4.1 DES 演算法:資料加密標準
2.4.2 AES 演算法:進階加密標準
2.5 非對稱式加密演算法(Asymmetric Cryptography)
2.5.1 RSA 演算法:質數分解演算法
2.5.2 ECC 演算法:橢圓曲線密碼學
2.6 數位簽章標準(Digital Signature Standard)
2.6.1 DSA 演算法:數字簽名演算法
2.6.2 RSASSA 演算法:概率簽名演算法
2.6.3 ECDSA 演算法:數字簽名演算法
CHAPTER 03 用 Tkinter 搭配 Crypto 做出實用加解密APP
3.1 介紹 Tkinter
3.1.1 Tkinter 簡介
3.1.2 Tkinter 安裝
3.1.3 Tkinter 實作會用到的函式
3.2 使用 Tkinter 實作專題 - 特權帳戶密碼管理
3.2.1 製作前的使用流程介紹
3.2.2 使用者間的相互關係
3.2.3 事前準備工作
3.2.4 實作介面
CHAPTER 04 使用 Python 的 Crypto、Tkinter 與Django 套件實作密碼管理專題
4.1 介紹 Django
4.1.1 基本的 Django 介紹 - 理論基礎
4.1.2 基本的 Django 介紹 - 範例
4.2 實作 Django
4.2.1 前置作業
4.2.2 新建 app
4.2.3 template & views & URL
4.2.4 model
4.2.5 功能實現
4.3 Django 實作密碼管理系統 - 登入頁面
4.3.1 template
4.3.2 model
4.3.3 views
4.4 Django 實作密碼管理系統 - 註冊頁面
4.4.1 template
4.4.2 views
4.5 Django 實作密碼管理系統 - 使用者加密
4.5.1 使用者 - 登入主頁面
4.5.2 使用者 - 加密頁面
4.6 Django 實作密碼管理系統 - 管理者解密
4.6.1 管理者第一階段解密 - model
4.6.2 管理者第一階段解密 - template
4.6.3 管理者第一階段解密 - views
4.6.4 使用者第一階段解密 - template
4.6.5 使用者第一階段解密 - views
4.6.6 管理者第二階段解密 - template
4.6.7 管理者第二階段解密 - views
4.6.8 管理者頁面中顯示解密任務狀態 - template
4.6.9 執行解密任務