找回密碼
 註冊
搜索
查看: 2427|回復: 2

[分享] Wii軟改原理解析(一)Hash、RSA、電子簽證

[複製鏈接]
發表於 2011-2-21 03:56:59 | 顯示全部樓層 |閱讀模式
 
Push to Facebook
在進入實際軟改的解說前,先講一些相關的基本概念。

1. Hash(雜湊函數)
  我們一般在生活中,有許多Hash運用的實例,例如最常見的CRC32,以及MD5、SHA-1等等,廣泛應用在文件檢查的上面。

  ZIP/RAR在解壓縮的時候,會比對原始記錄的CRC32碼,和解出來的CRC32,以判斷此檔案是否有毀損的問題,而我們如果從網絡下 載了文件,例如linux安裝光碟。往往也會用md5碼來確認此iso檔是否正確無誤。

檔案 ----------> Hash值
        Hash演算法

  那麼究竟什麼是Hash? 我以任意長度的檔案,不管是64kb,或64MB,甚至64GB,都可以用很快的速度,計算出一個固定長度的Hash值,當原始檔案變動任何一個位元,Hash值都會產生天翻地覆的變化。

  所以,兩個檔案得到同一個Hash值的機率是非常的小的,是以可以拿來當做檢查檔案的依據。

2. RSA
  RSA演算法普遍用於Wii上面的資料加解密和簽章檢查,我用比較簡單的方法來說明。

  傳統的加密屬於一對一的對應,舉個不是很貼切但是比較容易理解的概念就是,今天你家的門,要關上和打開,用的都是同一把鑰匙。

  我加密資料,加密和解密所用的'key'(鑰匙),也是同一個,就好像ZIP/RAR的加密,你用abc123對檔案上鎖,那要解壓縮的時候,同樣也要用abc123把檔案打開來。

傳統加解密

檔案 ----------> 加密資料
         abc123加密

加密資料 ----------> 檔案
         abc123解密

  而比較現代的加密演算法如RSA,則改變了這個概念,這個演算法會有成對的兩鑰匙(key),這邊先用A和B來稱呼,用A鑰匙加密的資料,必須用B鑰匙才能打開,而且用B無法直接反推回A 。

RSA加解密

檔案 ----------> 加密資料
         A鑰匙加密

加密資料 ----------> 檔案
         B鑰匙解密

  那麼,這樣的加密方法,有什麼用處?如果我今天有這對鑰匙,A和B,那麼我用A加密的資料,傳給別人。

  我不需要把A鑰匙給別人,只需要B鑰匙告訴別人,別人就可以解開這個資料,而且附加的優點是,可以確定這一定是我加密的資料,別人無法偽造我的身份發出也就可以達到驗證的功能。

  上面講的A鑰匙,必須好好保密,也叫做'private key'(私密金鑰) ,而上面講的B鑰匙,可以公開,也叫做'public key'(公開金鑰) 。

3. 電子簽章(Electronic Signature)

  那麼,什麼是電子簽章?

  因為RSA很慢的緣故,所以如果要達到前述驗證檔案是由特定某人所發出,加密整個檔案是很沒效率的作法。所以,就有人想到,何不綜合Hash和RSA的原理?

  一個好的Hash演算法,如SHA-1,是不容易由人為的方法去創造出Hash重覆的檔案的。

  所以我只要對文件做Hash,然後再用私密金鑰加密這個Hash。那麼驗證這個Hash的真實性,也就驗證了這個文件的真實性。

簽章:

檔案 ----------> Hash
     Hash演算法

Hash ----------> 加密過的Hash(簽章)
     A鑰匙加密

驗證:

檔案 ----------> Hash
     Hash演算法

簽章 ----------> Hash'
     B鑰匙解密

如果Hash = Hash' ---> 文件為真

4. Wii驗證
  後面講到Wii系 統架構的時候,會再詳述。Wii在很多地方會使用電子簽章的演算法來驗證軟體的真偽。不讓人執行和安裝非官方授權的軟件。

  而實際上,每個被任天堂授權的官方的個人或公司,都有自己的金鑰。在發行的軟件中,會放入這家公司的簽章,驗證這套軟體。當然也會隨之附上供檢查的公司公開金鑰。

  但是,怎麼驗證這家公司是官方授權的公司呢?伴隨著公開金鑰,每個公開金鑰會伴隨著一個「憑證」,任天堂會用任天堂自己本家的金鑰去幫個人或公司的憑證簽章,被認可的憑證,裡面的公開金鑰才是有效的公開金鑰。

任天堂---->公司憑證---->Wii軟體
          簽章              簽章

  以原始的設計概念來說。Wii的軟體有兩條路可以進入Wii裡面,一是光驅,二是網絡,而光碟機還有硬件保護。

  就算用硬改的方式破解光驅的硬件保護。基本上Wii還是只能執行有授權的遊戲(因為簽章需正確) 。

  而就算黑客攔截網絡,用個人的程序取代官方下載,因為簽章不對的關係,所以還是無法進入Wii。

  不過就算看似萬無一失的防護,卻還是有不少漏洞,在接下來的文章會再做詳細說明。
 
發表於 2013-8-9 00:35:14 | 顯示全部樓層
寫得好啊 估計有馬甲
版主招募中
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2025-5-4 23:34 , Processed in 0.019247 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表