安全接口

個(gè)人總結(jié)接口安全需要注意以下幾點(diǎn)
一、避免明文:
  1. post —— post幔欧、get等請(qǐng)求方式只是語義不同罪治,本質(zhì)都是基于TCP/IP協(xié)議的http數(shù)據(jù)傳輸,在安全性上區(qū)別很小礁蔗,在開發(fā)者眼里等于是沒有區(qū)別觉义。
  • get在請(qǐng)求地址上明文拼接參數(shù),請(qǐng)求會(huì)被瀏覽器記錄浴井,數(shù)據(jù)會(huì)被緩存晒骇;
  • post參數(shù)不會(huì)被瀏覽器記錄或緩存,也不會(huì)被服務(wù)器日志記錄磺浙;
  1. cookie —— cookie主要作用就是會(huì)話保持洪囤,它本身其實(shí)并不是什么安全機(jī)制,要保證cookie安全仍然需要配合其它安全機(jī)制撕氧,如設(shè)置過期時(shí)間瘤缩、數(shù)據(jù)加密。

  2. 編碼 —— 使用類似base64等編碼的自定義編碼方式呵曹,或者用通用的加密算法,如md5何暮,DES奄喂,AES,根據(jù)安全性需求自己決定使用什么算法和編碼海洼。

二跨新、防止信息截取,偽造用戶行為坏逢,篡改
  1. 前端和后端以約定的算法加密參數(shù)拼接在一起字符串域帐,后端拿到加密串后解密驗(yàn)證參數(shù),驗(yàn)證一致才接受請(qǐng)求是整。
  • 這種方式存在app被反編譯算法泄露的風(fēng)險(xiǎn)肖揣,也存在開發(fā)者泄露算法的風(fēng)險(xiǎn)。
  1. 登錄的時(shí)候后端生成token并返回給前端浮入,token使用公鑰龙优、uid、時(shí)間戳等來計(jì)算后生成事秀,請(qǐng)求接口時(shí)再帶上token彤断。
  • 使用非對(duì)稱加密算法野舶,前端數(shù)據(jù)全部使用公鑰加密,后端使用私鑰來解密和驗(yàn)證宰衙。需要注意的是:后端私鑰要妥善保管平道。
  • 這種方式需要讓用戶隔一段時(shí)間自動(dòng)退出(可以通過設(shè)置token時(shí)效實(shí)現(xiàn)),使token只在用戶人為登錄登出之間有用供炼。token可以放進(jìn)redis緩存等一段時(shí)間自動(dòng)失效一屋,也可以存在數(shù)據(jù)庫,但需要在登錄登出時(shí)修改數(shù)據(jù)庫使token失效或刪除token劲蜻。
三陆淀、防止中間人攻擊

對(duì)于開發(fā)者來說避免MITM攻擊最有效的方式就是使用https接口。https本質(zhì)也是非對(duì)稱加密先嬉,是在http協(xié)議上添加了SSL協(xié)議轧苫。

  • 需要先向服務(wù)器發(fā)起一個(gè)無保護(hù)的請(qǐng)求,來初始化SSL疫蔓,因?yàn)榈谝淮芜B接https服務(wù)器要先把證書和簽名發(fā)給客戶端含懊。
  • https首次連接時(shí)比較慢,因?yàn)镾Sl協(xié)議包含兩部分衅胀,握手協(xié)議和記錄協(xié)議岔乔,握手協(xié)議部分需要使用非對(duì)稱算法計(jì)算出當(dāng)前通信的秘鑰。這個(gè)秘鑰是當(dāng)前通信的對(duì)稱加密秘鑰滚躯。
四雏门、防內(nèi)鬼

由內(nèi)部人員開發(fā)固定寫死的加密方案都存在被內(nèi)部人員破解的風(fēng)險(xiǎn),當(dāng)然可以引入可靠第三方的黑箱算法掸掏,而作為普通開發(fā)者最實(shí)用的方式就是在算法簽名字符串中引入隨機(jī)字符串茁影。
使用時(shí)間戳或者隨機(jī)數(shù)參與生成加密簽名,并保存在數(shù)據(jù)庫或者redis丧凤,配合使用數(shù)據(jù)庫權(quán)限和Linux用戶權(quán)限募闲,開發(fā)人員只能修改算法,數(shù)據(jù)庫只有有權(quán)限的人能獲取愿待。結(jié)合非對(duì)稱加密浩螺、隨機(jī)串、數(shù)據(jù)庫和Linux用戶權(quán)限仍侥,已經(jīng)可以很好地保證安全了要出,可以既防外又防內(nèi)。

五农渊、安全登錄

接口安全的第一道也是最重要的一道關(guān)便是安全登錄厨幻,如果用戶使用網(wǎng)站或者app登錄的過程中泄露了密碼,那什么安全機(jī)制都是空談了。
對(duì)于登錄的安全性况脆,銀行網(wǎng)站和app的實(shí)現(xiàn)方式最值得參考饭宾,主要有如下方式:

  • 短信驗(yàn)證碼
  • 密碼錯(cuò)誤次數(shù)限制
  • 異地登錄、更換設(shè)備登錄時(shí)短信通知
  • 使用https接口
  • 密碼輸入使用自定義的鍵盤
  • 登錄參數(shù)使用非對(duì)稱加密
  • 人臉識(shí)別
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末格了,一起剝皮案震驚了整個(gè)濱河市看铆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盛末,老刑警劉巖弹惦,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悄但,居然都是意外死亡棠隐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門檐嚣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來助泽,“玉大人,你說我怎么就攤上這事嚎京∥撕兀” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵鞍帝,是天一觀的道長诫睬。 經(jīng)常有香客問我,道長帕涌,這世上最難降的妖魔是什么摄凡? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蚓曼,結(jié)果婚禮上亲澡,老公的妹妹穿的比我還像新娘。我一直安慰自己辟躏,他們只是感情好谷扣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布土全。 她就那樣靜靜地躺著捎琐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裹匙。 梳的紋絲不亂的頭發(fā)上瑞凑,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音概页,去河邊找鬼籽御。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的技掏。 我是一名探鬼主播铃将,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼哑梳!你這毒婦竟也來了劲阎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鸠真,失蹤者是張志新(化名)和其女友劉穎悯仙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吠卷,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锡垄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了祭隔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片货岭。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖序攘,靈堂內(nèi)的尸體忽然破棺而出茴她,到底是詐尸還是另有隱情,我是刑警寧澤程奠,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布丈牢,位于F島的核電站,受9級(jí)特大地震影響瞄沙,放射性物質(zhì)發(fā)生泄漏己沛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一距境、第九天 我趴在偏房一處隱蔽的房頂上張望申尼。 院中可真熱鬧,春花似錦垫桂、人聲如沸师幕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霹粥。三九已至,卻和暖如春疼鸟,著一層夾襖步出監(jiān)牢的瞬間后控,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國打工空镜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浩淘,地道東北人捌朴。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像张抄,于是被迫代替她去往敵國和親砂蔽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • OAuth是一個(gè)關(guān)于授權(quán)的開放網(wǎng)絡(luò)標(biāo)準(zhǔn)署惯,在全世界得到的廣泛的應(yīng)用察皇,目前是2.0的版本。OAuth2在“客戶端”與“...
    恒宇少年閱讀 54,929評(píng)論 55 138
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,105評(píng)論 1 32
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,938評(píng)論 2 89
  • 凌晨三點(diǎn)半出發(fā)泽台,爬到五點(diǎn)半什荣,在日出趕到~ 看遠(yuǎn)方的景一點(diǎn)點(diǎn)出來 那個(gè)感覺 讓人忘記了生活上的一切煩惱 嗯。 下次再約怀酷。
    Deng等等閱讀 743評(píng)論 19 6
  • 連載卅三 如愿以償 1. 臨近五一還有幾天的時(shí)間稻爬,婚禮已經(jīng)進(jìn)入倒計(jì)時(shí)的階段。素碧的心情是這樣地激動(dòng)蜕依,又有點(diǎn)擔(dān)憂桅锄。她...
    周琦橞閱讀 543評(píng)論 7 16