日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

身份证、手机号加密存储的一些思路

發(fā)布時(shí)間:2023/12/29 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 身份证、手机号加密存储的一些思路 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這兩年國家越來越重要個(gè)人敏感信息的存儲(chǔ)、傳輸與交換。在獲取敏感個(gè)人信息時(shí),例如,手機(jī)號(hào)、身份證,都需要主體的主動(dòng)授權(quán)。

0x01:敏感信息泄露有哪些途徑

  • 明文存儲(chǔ),比如直接把手機(jī)號(hào)、身份證存儲(chǔ)到數(shù)據(jù)庫。如果數(shù)據(jù)的用戶和密碼被一些不應(yīng)該的人員看到,獲取;就很容易造成泄漏

  • 明文傳輸,比如沒有對(duì)敏感信息進(jìn)行RSA或者AES加密,就在網(wǎng)絡(luò)中進(jìn)行傳輸

  • 集團(tuán)子公司或者與第三方系統(tǒng)進(jìn)行系統(tǒng)對(duì)接時(shí),交換敏感數(shù)據(jù)。就是把我方系統(tǒng)的一些敏感信息,沒經(jīng)授權(quán)就發(fā)生給了第三方公司

0x02:解決敏感信息泄漏的最佳途徑

  • 明文存儲(chǔ)

對(duì)數(shù)據(jù)敏感信息加密后,再進(jìn)行存儲(chǔ)。有這樣一個(gè)場(chǎng)景:有個(gè)用戶表除了其他字段外,還有手機(jī)號(hào) mobile_no 和身份證 identity_card ,這兩個(gè)敏感信息存儲(chǔ)字段。如果直接儲(chǔ)存mobile_no和identity_card明文,就很容易泄漏。

可以對(duì)這兩個(gè)字段進(jìn)行對(duì)稱加密或者非對(duì)稱加密存儲(chǔ),分別定義兩個(gè)加密字段 mobile_no_encrypted 和 identity_card_encrypted。但是進(jìn)行加密存儲(chǔ)到數(shù)據(jù)庫必然導(dǎo)致以下兩個(gè)問題:

如何進(jìn)行精準(zhǔn)查詢匹配

  • 如何進(jìn)行模糊查詢匹配

  • 如何進(jìn)行精準(zhǔn)查詢匹配?

為了解決這個(gè)問題,還得多加一個(gè)字段,對(duì)于手機(jī)號(hào)添加 mobile_no_sha 字段,身份證添加 identity_card_sha 字段。這兩個(gè)字段分別存儲(chǔ)手機(jī)號(hào)和身份證的SHA-1的散列碼(也可以使用md5算法)。這樣的話,如果精準(zhǔn)查詢就直接比對(duì)SHA-1散列碼就行。

select * from t_user where mobile_no_sha = sha-1(mobile_no)
如何進(jìn)行模糊查詢匹配?

對(duì)應(yīng)模糊查詢就有點(diǎn)麻煩了!!!

通常數(shù)據(jù)庫自帶有加解密函數(shù),如MySQL的PASSWORD ,MD5,AES_ENCRYPT等等。對(duì)于密碼等信息可以采用單向加密,驗(yàn)證的時(shí)候用同樣的方式加密匹配即可。而對(duì)于需要比對(duì)原內(nèi)容的模糊查詢,則需要使用雙向加密,也即可以解密,在MySQL可以使用自帶的AES加密。完成存儲(chǔ)加密,讀取解密后,就可以實(shí)現(xiàn)模糊搜索了:

select * from t_user where AES_DECRYPT(UNHEX(mobile_no_sha ),'key') like 'xxx%';

使用函數(shù)還原原始內(nèi)容然后使用like關(guān)鍵字匹配即可實(shí)現(xiàn)模糊搜索。

MySQL使用AES_ENCRYPT()/AES_DECRYPT()加解密的正確姿勢(shì)

http://blog.itpub.net/29773961/viewspace-2142305/
  • 明文傳輸

對(duì)于明文傳輸,首先的摒棄http傳輸協(xié)議,采用https傳輸協(xié)議。如果還想加強(qiáng)安全級(jí)別的話,就自己在定義一種加密方式,對(duì)敏感信息進(jìn)行額外加密。比如采用對(duì)稱加密AES或者非對(duì)稱加密RSA進(jìn)行自定義加密。

  • 集團(tuán)子公司或者與第三方系統(tǒng)進(jìn)行系統(tǒng)對(duì)接時(shí),交換敏感數(shù)據(jù)

這種情況比較比較麻煩,分為集團(tuán)內(nèi)部子公司數(shù)據(jù)交換與第三方公司之間數(shù)據(jù)交換

集團(tuán)內(nèi)部子公司數(shù)據(jù)交換

集團(tuán)公司之間是利益共同體,比如存在這樣的場(chǎng)景,A集團(tuán)公司有一個(gè)保險(xiǎn)公司和一個(gè)To C的商城系統(tǒng),那是不是存在這樣的可能呢?保險(xiǎn)公司需要收集大量個(gè)人的信息,然后大數(shù)據(jù)分析這些個(gè)人的情況看看哪個(gè)人的錢比較多,然后給他合理的推送保險(xiǎn),剛好商城做得好不錯(cuò),挺多人注冊(cè),通過商城就能拿到很多個(gè)人的手機(jī)號(hào)之類的。

第三方公司之間數(shù)據(jù)交換

對(duì)于第三方公司系統(tǒng)之間,進(jìn)行數(shù)據(jù)交換。也有可能存在接口調(diào)用時(shí),傳輸敏感的信息。記得前兩年,順豐物流和菜鳥物流發(fā)生過這樣的事,就是菜鳥物流要求順豐物流必須上傳所有物流信息,后來順豐直接斷了這兩個(gè)系統(tǒng)的交互。

對(duì)于這兩種情況,我認(rèn)為都需要在明顯的地方,給出相關(guān)的用戶協(xié)議,當(dāng)主體同意授權(quán)時(shí),才能進(jìn)行數(shù)據(jù)交換。但是這兩種情況,幾乎還沒有任何公司按照這種渠道來做的,都是偷偷的就把數(shù)據(jù)進(jìn)行了交換。

總結(jié)

以上是生活随笔為你收集整理的身份证、手机号加密存储的一些思路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。