Wii軟改觀念解析(一) Hash/RSA/電子簽章 - 改機

By Edith
at 2010-07-12T13:35
at 2010-07-12T13:35
Table of Contents
從六月底才開始接觸Wii軟改,算是軟改新手
不過個人背景的關係,相信應該比一般人容易抓到重點
最近會寫一些文章,針對Wii軟改的基本架構、觀念來解析
本著拋磚引玉的心態,希望各方高手也能不嗇指教
對一般軟改單純只是拿來備份遊戲的人,相信也可以提升觀念,減少盲試的次數
本文會以一般無資訊背景的板友為對象來說明
不過有可能還是會有點無趣,有興趣的再看吧!
在進入實際軟改的解說前,先講一些相關的基本概念
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
不過就算看似萬無一失的防護
卻還是有不少漏洞,在接下來的文章會再做詳細說明
--
不過個人背景的關係,相信應該比一般人容易抓到重點
最近會寫一些文章,針對Wii軟改的基本架構、觀念來解析
本著拋磚引玉的心態,希望各方高手也能不嗇指教
對一般軟改單純只是拿來備份遊戲的人,相信也可以提升觀念,減少盲試的次數
本文會以一般無資訊背景的板友為對象來說明
不過有可能還是會有點無趣,有興趣的再看吧!
在進入實際軟改的解說前,先講一些相關的基本概念
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
不過就算看似萬無一失的防護
卻還是有不少漏洞,在接下來的文章會再做詳細說明
--
Tags:
改機
All Comments

By Edith
at 2010-07-14T08:47
at 2010-07-14T08:47

By Doris
at 2010-07-16T01:43
at 2010-07-16T01:43

By Skylar DavisLinda
at 2010-07-19T07:25
at 2010-07-19T07:25

By Robert
at 2010-07-23T11:26
at 2010-07-23T11:26

By Hazel
at 2010-07-27T06:57
at 2010-07-27T06:57

By Gary
at 2010-07-27T10:02
at 2010-07-27T10:02

By Kristin
at 2010-07-28T03:34
at 2010-07-28T03:34

By Delia
at 2010-07-28T11:25
at 2010-07-28T11:25

By Poppy
at 2010-08-02T00:47
at 2010-08-02T00:47

By Olivia
at 2010-08-02T03:38
at 2010-08-02T03:38

By Olive
at 2010-08-07T00:31
at 2010-08-07T00:31

By Rachel
at 2010-08-11T07:32
at 2010-08-11T07:32

By Brianna
at 2010-08-14T09:44
at 2010-08-14T09:44

By Edward Lewis
at 2010-08-17T16:00
at 2010-08-17T16:00
Related Posts
內湖/汐止 徵軟改

By Tracy
at 2010-07-12T12:16
at 2010-07-12T12:16
軟改

By Yedda
at 2010-07-12T08:08
at 2010-07-12T08:08
gba備份卡買哪張比較好

By Lucy
at 2010-07-12T03:01
at 2010-07-12T03:01
wood1.09的金手指怎麼打開QAQ

By Lucy
at 2010-07-12T01:40
at 2010-07-12T01:40
R4卡 升級問題 快來救救我

By Damian
at 2010-07-11T22:38
at 2010-07-11T22:38