Re: [程式] 更新程式

看板GameDesign (遊戲設計)作者 (紅茶犬)時間16年前 (2008/06/13 14:05), 編輯推噓14(14043)
留言57則, 8人參與, 最新討論串7/11 (看更多)
我想和其他板友討論技術問題, 不想跟 gamblemaker 吵架, 所以刪推文也就算了, 後面不管你說什麼我都不予回應。 ※ 引述《gamblemaker (GambleMaker)》之銘言: : 我是想回這位大大的推文 感謝你的推 我也回報你一下 : 你不知道 TCP 裡面有 CRC 嗎?? : checksum 那欄幹麼用的.... TCP/IP 是有 checksum, 但那是維持他自己的封包完整性, 我們站在 application layer 不能相信 "TCP 傳輸不會傳壞" 這件事... 實務上最常見的是截尾, 而且最糟的是 socket 還是正常 shutdown 沒有 error, 所以 run length 一定要檢查, 比如說 MD5 前置處理就有包含 total length ... 如果各位要自己發明 hash function, 千萬記得把 length 加進去一起 hash ... 打個比方, 品酒師推薦的酒當然不會差, 但你當主人的話還是得自己先嚐一口, 因為自己的舌頭才是酒有沒有臭酸掉的最後一道防線... 截尾最常見沒錯, 但不是只有截尾這個問題, 可以出錯的地方太多了... : 還有 crc 怎樣確保檔案是唯一的?? 還有所謂強固性是什麼東西??? : → GALINE:P2p跟ftp跨nat一樣可以用,列表公開只要你不讓人上傳就沒事 06/13 12:41 : p2p跟ftp跨nat當然可以用 但是你有辦法解決嗎? : 也許你很強花一天就解決這個問題了 : 那我們假設 server 後面也是 nat ? 請問哪個比較方便?? server 也是 NAT, 這是個非常 trivial 的問題, 解決方法太多了... http 怎麼解, ftp 和 p2p 就怎麼解... server 是自己家的東西, 愛怎麼設定就怎麼設定... 非用 http 不可的狀況我遇過, 因為老闆要省錢, 用免費網頁空間當 server , 專門放要下載的檔案, 頻寬用別人的, 檢查 checksum 才連回自家 server 檢查... : 列表公開真的不上傳就沒事嗎?我中間給你 proxy 你怎麼辦? : 在加上你只有 CRC , 檔案要被換爽的喔? 安全性是另外一個考量了, 那 MD5 checksum 一起被 forge 怎麼辦? 如果 client 是破解過的偽版, 他可以上傳假 checksum 假 length 假版本編號... 如果 proxy 是 "壞" 的, 他一樣可以攔截 checksum 檢查... CRC 是純粹偵測傳輸錯誤用的, 他不太能抵抗人工偽造一個相同 CRC 的檔案, MD4 就是加密等級的 hash 了, 但是他速度爆慢... 所以又出了一個折衷的 MD5, 又快一點, 強度又還沒弱到可以人工製造 collision 事實上只需要有夠強悍的 block cipher 就能夠衍生出相對的 hash function, 所以挑個 Blowfish, IDEA, 看你喜歡哪種, 拿來做 hash 就有很高的強度... 不考慮真假貨問題而只討論檔案完整性的話, GALINE 說的是對的... 要考慮的話, 我們就得開始做 threat 分析了, 也不是 MD5 用下去就一切沒問題, 要針對可能的攻擊方式做因應, 這要認真講的話, 還有很深奧的問題要討論... -- 桃樂絲: 可是, 如果你沒有頭腦, 為什麼會說話? 稻草人: ㄝ, 我也不知... 但是有些人沒有頭腦也能說超~多話呢。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.239.118

06/13 14:09, , 1F
一篇文章釣出三篇這樣的回應,這對原po來說真算夠本了[汗]
06/13 14:09, 1F

06/13 14:11, , 2F
XDDD
06/13 14:11, 2F

06/13 14:12, , 3F
樓上這就錯了 一連三篇都是大家知道的東西...
06/13 14:12, 3F

06/13 14:12, , 4F
用 CRC MD5 SHA都是碰撞機率問題 CRC最容易被碰撞
06/13 14:12, 4F

06/13 14:15, , 5F
原來樓上還有話呀,不過反正您都刪問題了,就當您沒問吧
06/13 14:15, 5F

06/13 14:15, , 6F
根本就是稍不到癢處 跟我ㄧ樣 頂多是嘴砲..
06/13 14:15, 6F

06/13 14:16, , 7F
如果這些對原po是常識,那我真的不知道原po要問什麼…
06/13 14:16, 7F

06/13 14:16, , 8F
我只是吃飽撐著來問問看有沒有現成的原始碼 免的自己
06/13 14:16, 8F

06/13 14:17, , 9F
在去寫一次
06/13 14:17, 9F

06/13 14:18, , 10F
我想砍文了,反正我不能給你什麼幫助
06/13 14:18, 10F

06/13 14:19, , 11F
無所謂啦 這個版已經淪為打嘴砲天堂了..你的文章大家
06/13 14:19, 11F

06/13 14:19, , 12F
會覺得是有價值的..我也覺得你很不錯
06/13 14:19, 12F

06/13 14:20, , 13F
對他人有幫助就好啦,吃得飽的強者是不需要我們幫助的:D
06/13 14:20, 13F

06/13 14:22, , 14F
這篇的作者有說 不考慮真假貨問題 我們是可以用CRC
06/13 14:22, 14F

06/13 14:23, , 15F
但是真正在實作上 用CRC不就是太不負責任..
06/13 14:23, 15F

06/13 14:23, , 16F
什麼, 原來這邊強不強是用吃不吃得飽來分的嗎? @.@
06/13 14:23, 16F

06/13 14:24, , 17F
我那篇已經講得很清楚了,不管你用CRC用md5還是用什麼,對
06/13 14:24, 17F

06/13 14:24, , 18F
於能置換檔案或中途攔截的cracker來說都是無意義的。
06/13 14:24, 18F

06/13 14:25, , 19F
你還一直在鑽那個問題,真不知道你是懂太多想岔了還怎樣XD
06/13 14:25, 19F

06/13 14:25, , 20F
那就是看你更新完還要不要再檢查一次而已..
06/13 14:25, 20F

06/13 14:26, , 21F
不好意思 你的文章沒有看很懂
06/13 14:26, 21F

06/13 14:29, , 22F
中間人有鬼的話,更新完再檢查也沒用。要防中間人攻擊只能
06/13 14:29, 22F

06/13 14:29, , 23F
這一篇「那 MD5 checksum 一起被 forge 怎麼辦?」講的是一
06/13 14:29, 23F

06/13 14:29, , 24F
靠CA,這麼怕中間人就花錢跟CA註冊吧。
06/13 14:29, 24F

06/13 14:30, , 25F
樣的東西。
06/13 14:30, 25F

06/13 14:31, , 26F
然後自己架ftps或https伺服器
06/13 14:31, 26F

06/13 14:31, , 27F
剛好被切…[汗]
06/13 14:31, 27F

06/13 14:31, , 28F
抱歉XD
06/13 14:31, 28F

06/13 14:32, , 29F
扯到換掉來源跟中間人 這就扯遠了喔!!
06/13 14:32, 29F

06/13 14:33, , 30F
「列表公開真的不上傳就沒事嗎?我中間給你 proxy 你怎麼
06/13 14:33, 30F

06/13 14:33, , 31F
辦?」
06/13 14:33, 31F

06/13 14:33, , 32F
你怕中間資料被竄改,那就要靠加密,加密可能被中間人攻擊
06/13 14:33, 32F

06/13 14:33, , 33F
「在加上你只有 CRC , 檔案要被換爽的喔?」
06/13 14:33, 33F

06/13 14:33, , 34F
要扯資安的話 那沒有加密法是安全的 破解只是時間問題
06/13 14:33, 34F

06/13 14:33, , 35F
那就靠認證。中間是跳了一步沒錯…[汗]
06/13 14:33, 35F

06/13 14:33, , 36F
這兩句您先提的嘛,看來您扯得很遠:)
06/13 14:33, 36F

06/13 14:34, , 37F
所以扯不完啊,就看你需要多安全
06/13 14:34, 37F

06/13 14:34, , 38F
所以結論是沒有一種安全的方法..
06/13 14:34, 38F

06/13 14:34, , 39F
CRC的安全性不是0,不喜歡就用MD5或SHA,以效能為代價
06/13 14:34, 39F

06/13 14:34, , 40F
這問題要先把 threat model 完整描述出來, 否則只會鬼打牆
06/13 14:34, 40F

06/13 14:35, , 41F
怕中間被竄改,那只能走加密,然後就到CA去…
06/13 14:35, 41F

06/13 14:35, , 42F
在沒有中間人搞鬼的狀況下, CRC 很夠用了...
06/13 14:35, 42F

06/13 14:35, , 43F
你提了一個危險,我們就幫你提一個解法,就這樣而已
06/13 14:35, 43F

06/13 14:35, , 44F
如果要防, 就得把對方可能的攻擊方式描述一下, 不能打空氣
06/13 14:35, 44F

06/13 14:35, , 45F
CRC是 client端最容易被搞鬼的方法阿
06/13 14:35, 45F

06/13 14:37, , 46F
實務上來說,檔案大小+CRC夠應付已知的威脅了
06/13 14:37, 46F

06/13 14:38, , 47F
而且不喜歡的話就用sha嘛,反正只是換個函數,其他又沒不同
06/13 14:38, 47F

06/13 14:39, , 48F
任何網安課第一堂就會講了「網路上沒有絕對安全」啊XD
06/13 14:39, 48F

06/13 14:40, , 49F
所以beagle說的沒錯,要應付要先提出要應付哪些攻擊
06/13 14:40, 49F

06/13 14:40, , 50F
可以說網安與道德經有異曲同工之妙XD
06/13 14:40, 50F

06/13 14:40, , 51F
不然應付不完啊,還要被嫌不夠安全[泣]
06/13 14:40, 51F

06/13 14:41, , 52F
看ptt 長知識啊~~~ 滿足ing.....
06/13 14:41, 52F

06/13 17:04, , 53F
其實他問的幾個問題已經讓我知道他懂到啥種程度
06/13 17:04, 53F

06/13 17:05, , 54F
我也懶的回應 =c=y-~
06/13 17:05, 54F

06/13 20:24, , 55F
都承認是來要原始碼了,就沒必要再跟他認真了吧...
06/13 20:24, 55F

06/13 21:58, , 56F
基本上 Online Game是考慮 Server 安全性 不管Client的
06/13 21:58, 56F

06/13 22:00, , 57F
所以 Client 都在你手裡了 要破就破吧
06/13 22:00, 57F
文章代碼(AID): #18KWuF0O (GameDesign)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 11 篇):
2
15
14
57
7
7
文章代碼(AID): #18KWuF0O (GameDesign)