測試那些事兒(八)- 數(shù)據(jù)安全

數(shù)據(jù)安全

市面上,互聯(lián)網(wǎng)產(chǎn)品五花八門,功能各異。但是,無論什么產(chǎn)品,全都做的是數(shù)據(jù)的收集、分析、展示。數(shù)據(jù)可以說是血液,他流淌于每個(gè)產(chǎn)品的體內(nèi),給各個(gè)業(yè)務(wù)模塊輸送養(yǎng)料,讓整個(gè)產(chǎn)品正常運(yùn)轉(zhuǎn)。而今天我們要說的,就是關(guān)于測試中的數(shù)據(jù)安全問題,它們涉及到用戶的隱私,重要性可見一斑。

階段分類及舉例

在這里我們按照目前最多的一種產(chǎn)品數(shù)據(jù)流轉(zhuǎn)方式來說明和舉例 —— C/S模式下的數(shù)據(jù)流轉(zhuǎn)。我們最熟知的莫過于產(chǎn)品的注冊過程,即在用戶輸入用戶名和密碼后點(diǎn)擊提交,到用戶注冊成功,開始使用產(chǎn)品。

我們可以把數(shù)據(jù)安全要注意的點(diǎn)按照產(chǎn)品注冊的工作階段進(jìn)行分類,并給出處理方案:

階段 對應(yīng)案例 處理方案
傳輸前 用戶輸入用戶名和密碼 加密、增加復(fù)雜度
傳輸中 用戶點(diǎn)擊提交 通訊協(xié)議
傳輸后 用戶注冊成功 加密
傳輸前:加密、增加復(fù)雜度、授權(quán)
  • 加密:用戶的用戶名和密碼屬于用戶隱私,尤其是密碼,是打開用戶數(shù)據(jù)的鑰匙,要妥善保管。第一,在客戶端進(jìn)行傳輸前,可以按照和服務(wù)端商定的加密方式進(jìn)行數(shù)據(jù)加密,然后再進(jìn)入下面?zhèn)鬏敪h(huán)節(jié)。但是,需要注意客戶端代碼打包的加密(混淆),因?yàn)槿绻尣粦押靡獾娜丝梢苑淳幾g出我們的客戶端代碼,那這個(gè)加密也形同虛設(shè)了。不過,有很多加密方式也不需要客戶端和服務(wù)端事先約定,比如MD5。想破解它只能靠碰撞,幾率很低,所以一般的產(chǎn)品可以放心使用。第二,客戶端盡量不要緩存用戶的密碼等敏感信息,就算要緩存,也不要明文存儲,要加密后存儲,防止客戶端數(shù)據(jù)庫被黑后被人直接竊取用戶信息。
  • 增加復(fù)雜度:我們在上面的加密中提到了MD5,如果想破解MD5只能靠碰撞,所以想要降低被碰撞的幾率,我們需要增加密碼的復(fù)雜度。所以,很多產(chǎn)品都要求用戶設(shè)置6~18位的密碼,而且需要字母和數(shù)字的組合,就是為了增加密碼的復(fù)雜度,降低密碼被碰撞出來的幾率。
  • 授權(quán):有些產(chǎn)品有這種功能,可以幫助用戶記住用戶名密碼,方便用戶登錄。這種功能雖然方便,但是也有密碼泄露的風(fēng)險(xiǎn),畢竟會進(jìn)行存儲。所以,參考上面的做法,一個(gè)是加密存儲,再有就是需要授權(quán)后才能取得密碼。比如IPHONE輸入方上的密碼??功能,就是需要輸入手機(jī)的密碼才能獲得的。
傳輸中:通訊協(xié)議

傳輸中其實(shí)就是通訊協(xié)議的事兒了。我們熟知的傳輸協(xié)議有http和https,這也是C/S模式最常用的兩種協(xié)議。不過,現(xiàn)在http協(xié)議用的很少了,尤其是IOS系統(tǒng)已經(jīng)在很早以前嚴(yán)格規(guī)定APP中不能再出現(xiàn)http的接口,就是因?yàn)樗怯袛?shù)據(jù)安全隱患的。使用過Charles或Fiddler的童鞋都知道,http的接口抓包后是可以直接看接口內(nèi)容的,所以如果在傳輸前階段客戶端沒有對敏感信息進(jìn)行加密,接口數(shù)據(jù)就可以直接被中間人劫持造成信息泄露。而使用https就避免了這些,因?yàn)樾枰蛻舳说淖C書才能獲得接口信息,大大增加了獲取難度。所以,對外的接口盡量都要使用https協(xié)議,如果對性能要求特別高,但是接口沒有用戶信息的泄露風(fēng)險(xiǎn),再考慮使用http。

傳輸后:加密、授權(quán)

加密:我們剛才說了,傳輸中如果使用了https,那數(shù)據(jù)是中間人很難獲取到的。所以有些產(chǎn)品的客戶端沒有對用戶密碼進(jìn)行加密就傳輸了,而這些密碼到達(dá)服務(wù)端后也是要進(jìn)行加密的。為什么?為了防止內(nèi)部出現(xiàn)內(nèi)鬼或者被人黑到我們的數(shù)據(jù)庫!內(nèi)鬼可以通過明文的數(shù)據(jù)來達(dá)到自我盈利的目的,被人黑也是一樣。所以,所有用戶的敏感信息只要是落庫一定要加密,如密碼、手機(jī)號、銀行卡號等等。
授權(quán):數(shù)據(jù)庫中存儲著用戶的所有信息,其中也會包含一些圖片鏈接或者視頻等文件鏈接。這些也是用戶的敏感信息,只能用戶查閱。所以,這些文件只能是用戶鑒權(quán)信息滿足條件時(shí)才能查看,就算是庫被人黑了,拿到了這些鏈接,也一樣要是打不開的。更加安全的做法,就是在需要授權(quán)打開的情況下,文件還有過期時(shí)間,也就是在頁面上查看時(shí)間超過比如半小時(shí)后,再次查看是需要重新授權(quán)的。

測試人需關(guān)注

數(shù)據(jù)安全,包括用戶的隱私信息等,已經(jīng)越來越被用戶和業(yè)界所重視。相信我們大部分的測試童鞋已經(jīng)知道像密碼這種信息需要注意,但是上面提到的文件鏈接等信息也是很重要的,大家在測試過程中一定要多加提防,在需求確認(rèn)階段就要和產(chǎn)品討論此事,爭取把產(chǎn)品安全控制在最初階段。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容