摘要:上篇鏈接年,用更現(xiàn)代的方法使用上年,用更現(xiàn)代的方法使用中公鑰的發(fā)布與交換討論公鑰安全交換的中文文章比較少,而這一環(huán)是整個(gè)加密體系的重中之重。年月,有攻擊者惡意向公鑰服務(wù)器提交了對(duì)兩個(gè)著名網(wǎng)友的簽名背書(shū)。此事件中的受害者的證書(shū)就被簽名了次。
2021年,用更現(xiàn)代的方法使用PGP(上)
2021年,用更現(xiàn)代的方法使用PGP(中)
討論公鑰安全交換的中文文章比較少,而這一環(huán)是整個(gè)加密體系的重中之重。 大部分的PGP教程最后一步就是讓小白用戶(hù)將公鑰上傳,這是非常過(guò)時(shí),且不負(fù)責(zé)任的,所以這里來(lái)詳細(xì)介紹下PGP 公鑰的 發(fā)布 與 交換。
首先明確一點(diǎn): 上傳公鑰到 公鑰服務(wù)器 不是必要的,甚至是危險(xiǎn)的。
如果你是新手,請(qǐng)不要發(fā)布你的公鑰到 公鑰服務(wù)器。
通過(guò)前文,你已經(jīng)熟悉了gpg的本地使用, 并且生成了自己的PGP 密鑰對(duì)。
想象一下, 如果你生活在1980年代, 想和遠(yuǎn)方的朋友加密通信,需要先交換彼此的公鑰,又沒(méi)有一個(gè)統(tǒng)一的可信的認(rèn)證機(jī)構(gòu),這時(shí)會(huì)有什么問(wèn)題?
當(dāng)面交換嗎?當(dāng)然是個(gè)辦法,但是相信你不會(huì)想要將下列
這么長(zhǎng)的公鑰抄寫(xiě)到紙上,然后開(kāi)車(chē)送到朋友那里,再讓朋友照著這個(gè)輸入他的電腦。如果中間有變動(dòng),需要重復(fù)以上過(guò)程n次。
那么還有其他辦法嗎?
那個(gè)時(shí)代還沒(méi)有l(wèi)ine、wechat這類(lèi)即時(shí)通訊軟件,而郵件提供商默認(rèn)是不可靠的,不然也不會(huì)有PGP的誕生。 并且彼時(shí)https還未出現(xiàn),用郵件交換PGP交換公鑰顯然不太安全。
你們雙方都需要便捷地交換公玥, 并且確認(rèn)彼此得到的公鑰確實(shí)是未經(jīng)篡改過(guò)的,真實(shí)有效的,就成了一個(gè)難題,這樣,公鑰服務(wù)器也就呼之欲出了。
公鑰服務(wù)器使得人們只需要交換他們短短的key id 或者user id就可以方便地從公鑰服務(wù)器下載公鑰。
第一個(gè)KeyServer 叫做 HKP( web-ba
雖然服務(wù)器有了, 但開(kāi)發(fā)者們擔(dān)心政府會(huì)試圖強(qiáng)迫鑰匙服務(wù)器運(yùn)營(yíng)商用政府選擇的各種證書(shū)來(lái)替換證書(shū)。
所以他們做出了一個(gè)決定:公鑰服務(wù)器永遠(yuǎn)不會(huì)刪除信息。公鑰服務(wù)器可以為現(xiàn)有的證書(shū)添加信息(比如可以revoke/sign或者調(diào)整expire時(shí)間),但永遠(yuǎn)永遠(yuǎn)永遠(yuǎn)不會(huì)刪除證書(shū)或證書(shū)的信息。
為了達(dá)到這個(gè)目標(biāo),他們開(kāi)始運(yùn)行一個(gè)分布式的國(guó)際公鑰服務(wù)器網(wǎng)絡(luò),這就是現(xiàn)在的KeyServer。世界各地的公鑰服務(wù)器會(huì)定期相互通信,同步,比較目錄。如果政府強(qiáng)迫公鑰服務(wù)器運(yùn)營(yíng)商刪除或修改證書(shū),那么在比較步驟中就會(huì)被發(fā)現(xiàn)。殘缺的公鑰服務(wù)器會(huì)用完好鑰匙服務(wù)器目錄中的內(nèi)容更新自己。
任何東西都不會(huì)被刪除,聽(tīng)起來(lái)很美好,也是解決政府審查問(wèn)題的一個(gè)簡(jiǎn)單而有效的辦法,可是正是這個(gè)原則后來(lái)給KeyServer帶來(lái)了無(wú)窮無(wú)盡的問(wèn)題。
好了,現(xiàn)在我們有了一個(gè)可以方便地上傳和下載公鑰的地方, 這樣是不是就萬(wàn)事大吉了呢?
對(duì)于KeyServer 來(lái)說(shuō),任何人都可以上傳公鑰并聲稱(chēng)自己是Linus 是Zuckerberg或是任何其他人,而KeyServer并不會(huì)去驗(yàn)證你是否是你所聲稱(chēng)的人(因?yàn)镵eyServer本來(lái)就沒(méi)有一個(gè)中心化的運(yùn)營(yíng)者)。
如果你有一些密碼學(xué)的基礎(chǔ), 那么就會(huì)知道, PGP協(xié)議依靠的非對(duì)稱(chēng)加密算法, 最脆弱的點(diǎn)就在于公鑰的交換這一步。公鑰交換時(shí)最容易收到中間人攻擊,你一定要確定你接收到的公鑰確實(shí)是你想交流的人的,由此TSL引入了CA證書(shū)認(rèn)證體系,由一個(gè)可信的權(quán)威第三方來(lái)認(rèn)證并頒發(fā)證書(shū)來(lái)解決身份的認(rèn)證問(wèn)題。 (具體可參見(jiàn)https系列沒(méi)那么淺地談?wù)凥TTP與HTTPS)。
“信任一個(gè)權(quán)威的第三方” 對(duì)于最初的極具有hack精神的開(kāi)發(fā)者們來(lái)說(shuō), 顯然是無(wú)法接受的。
當(dāng)然,你可以說(shuō)下載公鑰后,通過(guò)電話(huà)等手段驗(yàn)證下公鑰的指紋(fingerprint),就可以確認(rèn)正確與否。 但是想象一下, 如果你在公鑰服務(wù)器找到一個(gè)聲稱(chēng)自己Linus Torvalds 的人 你并沒(méi)有他的其他聯(lián)系方式,將永遠(yuǎn)無(wú)法確定這個(gè)公鑰持有者到底是誰(shuí)、這個(gè)公鑰可信與否 , 這樣無(wú)疑是低效的,并且使整個(gè)系統(tǒng)淪為了熟人之間的小網(wǎng)絡(luò)。
要知道,根據(jù)六度分隔理論(Six Degrees of Separation),世界上任何互不相識(shí)的兩人,平均通過(guò)六個(gè)人就可以產(chǎn)生聯(lián)系。 那么可以不可以這么思考, 假設(shè)我和小A見(jiàn)過(guò)面并檢查過(guò)他的公鑰,因而知道小A的公鑰的的確確屬于他本人,我選擇信任小A。而小A同樣驗(yàn)證了小B的證書(shū)并為小B的證書(shū)簽名背書(shū)——小A的證書(shū)的持有人在此證明該證書(shū)是真實(shí)屬于小B。那么我無(wú)須見(jiàn)親見(jiàn)小B本人,也可以通過(guò)小A的背書(shū)而接受小B的證書(shū)。
如此循環(huán)下去,就形成了一張網(wǎng), 這就是信任網(wǎng)絡(luò)。
當(dāng)今世界最大的Key Server 池, 符合它的標(biāo)準(zhǔn)的世界各地的公鑰服務(wù)器會(huì)定期相互通信,同步,比較目錄,數(shù)據(jù)完全開(kāi)放下載。 現(xiàn)在一般說(shuō)起KeyServer說(shuō)的就是這個(gè)。
KeyServer雖然一直是PGP的重要基礎(chǔ)設(shè)置 但SKS Keyserver Pool 其實(shí)目前只有不到20臺(tái)服務(wù)器,GnuPG默認(rèn)用的服務(wù)器是其中的 HKPS pool只有四臺(tái)服務(wù)器。
有一些KeyServer 沒(méi)有用SKS的軟件,運(yùn)行的是更下現(xiàn)代和穩(wěn)定的軟件,比較有代表性的是 Ubuntu keyserver 基于Hockeypuck , 這些服務(wù)器仍然會(huì)和SKS pool保持同步。
這些服務(wù)器不與SKS pool同步數(shù)據(jù),由中心化的運(yùn)營(yíng)者運(yùn)行, 會(huì)對(duì)公鑰上傳者做一定的認(rèn)證, 并且支持刪除自己的公鑰。
比較有代表性的有, keys.openpgp.org ,Keyba
gpg --send-keys {keyid/uid}
gpg --recv-keys {keyid/uid}
此時(shí)有可能報(bào)錯(cuò)
gpg: "xxxxxr" not a key ID: skipping
這時(shí)換個(gè)KeyServer就行:
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys {keyid/uid}
驗(yàn)證公鑰真實(shí)性 依靠多渠道確認(rèn)的 公鑰指紋。
一般來(lái)說(shuō)為別人的公鑰簽名后,需要發(fā)還給他,或者發(fā)到公鑰服務(wù)器(最好經(jīng)過(guò)本人同意)。
gpg --sign-key {keyid/uid} # 為已經(jīng)導(dǎo)入的 他人鑰簽名, 你為他簽名,意味著你將為他的身份真實(shí)性背書(shū),請(qǐng)謹(jǐn)慎
因?yàn)椴⒉煌扑]大家使用KeyServer,所以這里只列舉了基礎(chǔ)操作。
如果你決定使用KeyServer的話(huà),可以參考 OpenPGP 最佳實(shí)踐 - 密鑰服務(wù)器設(shè)置你的客戶(hù)端與服務(wù)器通信使用 HKPS (HKP On SSL)協(xié)議, 并定期更新從服務(wù)器下載的公鑰。
在20世紀(jì)90年代初,開(kāi)發(fā)者們懷著對(duì)技術(shù)的信心和人性的希望,期望創(chuàng)建一個(gè)友善 、純粹、沒(méi)有審查的凈土, 在當(dāng)時(shí)背景下,KeyServer不能刪除任何已上傳的東西,聽(tīng)起來(lái)是美好的,設(shè)計(jì)似乎是合理的。
但是事實(shí)是,網(wǎng)絡(luò)匿名環(huán)境中充滿(mǎn)了不那么友好的, 甚至是惡意的使用者,在當(dāng)今看來(lái) ,KeyServer這個(gè)系統(tǒng)并不健壯,問(wèn)題重重,許多問(wèn)題已經(jīng)被發(fā)現(xiàn)十多年,而且無(wú)望解決。
按照官方推薦, UID (User ID) 是用來(lái)存儲(chǔ)用戶(hù)信息的,應(yīng)該在里面填上你的名字和郵箱,一個(gè) GPG 帳號(hào)下可以有若干個(gè) UID。
而其實(shí)這個(gè)UID是沒(méi)有任何強(qiáng)制限制的,也就是說(shuō)你可以在UID中放入任何東西,可以是小說(shuō)片段,可以是磁力鏈接可是以編碼后的圖像、音頻或視頻......
當(dāng)上傳到KeyServer時(shí) UID限制了2k的字符 . 以至于有人寫(xiě)了個(gè)用KeyServer存文件的項(xiàng)目keyserver-fs)。
再次想象一下,你往網(wǎng)盤(pán)傳了一個(gè)文件,共享給其他人,全世界的人都可以往這個(gè)網(wǎng)盤(pán)文件中添加文件,而且永遠(yuǎn)無(wú)法刪除,情況會(huì)變得有多糟糕。
見(jiàn)過(guò)一些生成 PGP“靚號(hào)”的工具,就是指定你喜歡的ID規(guī)則,工具會(huì)暴力生成PGP密鑰, 從中返回給你想要的密鑰。
由此很容易想到,若攻擊者知道了目標(biāo)的KeyID, 完全可以通過(guò)工具來(lái)生成完全一樣的KeyID(這就是碰撞) 并上傳到KeyServer,來(lái)冒充目標(biāo)。
而偽造一個(gè)KeyID有多容易呢,有研究人員借助scallion程序,使用了普通的GPU(Nvidia GeForce GTX)進(jìn)行碰撞,花了4秒的時(shí)間就生成了一個(gè)指定的32 bit的 KeyID。
官方推薦公布自己的KeyID時(shí),最少應(yīng)該公布64 bit(也就是長(zhǎng)16位16進(jìn)制數(shù)啦 ),但是研究表明64 bit的KeyID也是可以 被碰撞的。
公鑰服務(wù)器任何人都可以上傳公鑰,甚至你可以上傳別人的公鑰,比如你可以將自己簽名過(guò)的別人的公鑰,再次上傳到KeyServer。
在WOT認(rèn)證體系的設(shè)計(jì)中, 當(dāng)客戶(hù)端收到一份未知證書(shū)時(shí),它應(yīng)當(dāng)從公鑰服務(wù)器拉取所有為這張證書(shū)簽過(guò)名的人的證書(shū),逐層上溯,看看是否能夠找到一張已經(jīng)被用戶(hù)信任的證書(shū)。如果能的話(huà),就視信任這張為可信的。
2019年6月,有攻擊者惡意向公鑰服務(wù)器提交了對(duì)兩個(gè)著名網(wǎng)友的簽名背書(shū)。此事件中的受害者 Robert J. Hansen 的證書(shū)就被簽名了 15000 次。因而任何人的 GPG 在嘗試驗(yàn)證他的證書(shū)時(shí),都會(huì)拉取 15000 個(gè)簽名。而 GPG 在驗(yàn)證這么多簽名的過(guò)程中會(huì)卡住很久。
由于被攻擊的兩個(gè)人在 GPG 社區(qū)中中地位很高,他們?cè)?GPG 信任網(wǎng)絡(luò)中處于相當(dāng)核心的位置。這意味著——當(dāng)你驗(yàn)證任意一份證書(shū)的時(shí)候,有不小的概率你會(huì)不小心拉取到他們倆的證書(shū),然后你的 GPG 就會(huì)卡住。不但他們倆的證書(shū)沒(méi)法用了,他們倆簽名過(guò)的證書(shū)也都面臨危險(xiǎn),乃至于他們倆簽名過(guò)的證書(shū)所簽名的證書(shū)……
而上傳到KeyServer的所有東西都是不可刪除的...為了解決這個(gè)問(wèn)題, GnuPG 2.2.17 LWN.net 開(kāi)始, 從KeyServer下載公鑰時(shí)默認(rèn)不再下載關(guān)聯(lián)的公鑰, 如果你想要感受證書(shū)DoS攻擊的話(huà),可以在設(shè)置中開(kāi)啟:
# ~/.gnupg/gpg.conf
keyserver-options no-self-sigs-onlyno-import-clean
有個(gè)很厲害的程序媛Yegor Timoshenko(前面的SKS文件存儲(chǔ)項(xiàng)目也是她的杰作),寫(xiě)了個(gè)工具SKS-Exploit,可以將任何人的PGP公鑰損壞,變得不可導(dǎo)入。
這個(gè)工具同時(shí)還可以給任意人的公鑰 追加偽造的UID(不是KeyID),并騙過(guò)KeyServer。
另外能直接讓KeyServer宕機(jī)。
諷刺的是, 最初為了保護(hù)人們隱私而生的PGP 卻因?yàn)椴荒軡M(mǎn)足保護(hù)隱私的法規(guī)GDPR ,而使一個(gè)公開(kāi)的 SKS 公鑰服務(wù)器在歐洲處于違法狀態(tài)(GDPR規(guī)定: 服務(wù)商必須提供刪除個(gè)人信息的選項(xiàng))。
許多新手按照教程提示的在創(chuàng)建PGP 密鑰的時(shí)候填上了自己的真實(shí)姓名,并按照那些教程將公鑰上傳到了KeyServer,在人肉社工猖獗的今天,簡(jiǎn)直是個(gè)災(zāi)難。
我試著在KeyServer搜過(guò)一些博客作者留下的PGP Key, 不乏有些比較注重自身隱私的,可是他們大部分都將自己真實(shí)的名字(漢字或拼音)和郵箱一起發(fā)到了服務(wù)器上,要知道那里的數(shù)據(jù)是公開(kāi)且永遠(yuǎn)不能刪除的。 也有些人意識(shí)到問(wèn)題之后revoke了帶有真實(shí)姓名的公鑰,可是仍然可以查到,并且變得更加顯眼(revoke過(guò)的key會(huì)變紅)。
WKD 的工作過(guò)程是 ,通過(guò)郵箱客戶(hù)端 在域名服務(wù)器檢查一個(gè)"well known" 的URL, 如果匹配到了郵箱地址對(duì)應(yīng)的公鑰,會(huì)使用https下載,并且不需要用戶(hù)進(jìn)行其他操作。用戶(hù)不需要gpg 命令行等等復(fù)雜操作,讓PGP加密回歸單純的郵件加密本身,用起來(lái)有些像S/MIME但其實(shí)不一樣。
比如這樣一個(gè)URL: https://intevation.de/.well-known/openPGPkey/hu/g8td9rsyatrazsoiho37j9n3g5ypp34h
就對(duì)應(yīng) "aheinecke@intevation.de"這個(gè)郵箱地址。
這是通過(guò)Gpg4win的使用的一個(gè)示例,
](https://files.intevation.de/users/aheinecke/wkd-autoencrypt.gif)
這種方法不會(huì)泄露自己的郵箱,也不需要驗(yàn)證指紋, 但是需要你的郵件服務(wù)商提供支持。
proton郵箱是原生支持 WKD的, 但是它使用的是自己私鑰,似乎沒(méi)辦法使用使用自己本地的公鑰,其他也有支持。
如果你有自己的郵箱服務(wù)器,并且想折騰的話(huà),可以參照WKD Hosting。
如果是和熟識(shí)的朋友,你可以約在任何合適地方,用你喜歡的方式交換密鑰, 比如交換紙條,交換TF卡 或者usb設(shè)備,互相簽名認(rèn)證,互相得到公鑰。
如果是想認(rèn)識(shí)更多的人,并讓自己的公鑰被更多的人認(rèn)證, 你可以參加「公鑰簽名派對(duì)(Key signing party)」。參與派對(duì)的人們相互交換公鑰的指紋(公鑰一般是存在服務(wù)器或是一個(gè)別人可以下載到的地方,這里只交換指紋),甚至需要相互出示身份證、護(hù)照、駕照、出身證明,以驗(yàn)明正身。
有很多種方法將你的公鑰通過(guò)DNS服務(wù)發(fā)布,但是有些一些方法只適用于老版本的GnuPG,有些方法只適用與新版本的GnuPG,兼容性不佳,而且搞起來(lái)比較繁瑣,有興趣的可以自行查找資料。在這里并不推薦使用。
現(xiàn)在中文世界, PGP的使用者中 有很多都是 獨(dú)立的博客作者, 如果你擁有自己的博客或者個(gè)人網(wǎng)站,當(dāng)然可以選擇將自己的公鑰發(fā)布在上面,最好給你的網(wǎng)站上一個(gè)Https 。
很多社交網(wǎng)站的個(gè)人展示頁(yè),可以自由編輯你的信息,你可以將PGP的 公鑰發(fā)布在這里, 或者將 指紋 放在這, 這樣通過(guò)其他渠道下載到公鑰的人,也可以確認(rèn)身份。
無(wú)論你是不是開(kāi)發(fā)者, 都可以擁有一個(gè)Github賬號(hào), 你可以開(kāi)一個(gè)倉(cāng)庫(kù)專(zhuān)門(mén)用來(lái)發(fā)布自己的公鑰,或者將公鑰發(fā)布到Gist。
Notion或者印象筆記等可以共享筆記的地方,都可以貼出你的公鑰。
使用分散的、多渠道的、可能是線(xiàn)下的方式來(lái)交換和確認(rèn)公鑰 ,不要相信在放一處的 公鑰 和指紋。
去驗(yàn)證緊跟在公鑰后面的指紋 , 就像你去問(wèn)一個(gè)詐騙者,他是不是一個(gè)詐騙者一樣無(wú)用。
如果不是當(dāng)面,請(qǐng)至少?gòu)膬蓚€(gè)渠道進(jìn)行驗(yàn)證,比如你從一個(gè)渠道(比如這里)得到了我的公鑰 你想和我安全通信的話(huà),導(dǎo)入前一定要從另一處(比如我公布的其他賬號(hào)的簡(jiǎn)介)得到我的指紋, 驗(yàn)證是否一致后再進(jìn)行操作。
而且每次使用前,請(qǐng)重復(fù)以上步驟,確保你手上的公鑰是最新的。
[1]. 用 PGP 保護(hù)代碼完整性系列
[2]. GnuPG: 用多個(gè)sub keys保護(hù)primary key | missing idea (wordpress.com)
[3]. PGP 自我掃盲
[4]. GPG 的正確使用姿勢(shì)
[5]. 電子郵件加密指南
[6]. Short key IDs are bad news (with OpenPGP and GNU Privacy Guard)
[7]. gnupg密鑰簽署原理和過(guò)程 // Shells Home (shell909090.org)
[8]. PGP Key Server| Roll Your Own Network
[9]. Are SKS keyservers safe? Do we need them?
[10]. SKS Keyserver Network Under Attack
[11]. OpenPGP 最佳實(shí)踐 - 公鑰服務(wù)器
[12]. GPG SKS 同步網(wǎng)絡(luò)被投毒事件及其影響
[13]. where-to-upload-PGP-public-key-are-keyservers-still-surviving
[14]. GPG簡(jiǎn)明介紹
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/126027.html
摘要:世界上有兩種密碼一種是防止你的小妹妹偷看你的文件另一種是防止當(dāng)局閱讀你的文件應(yīng)用密碼學(xué)上篇鏈接年,用更現(xiàn)代的方法使用上三安全使用和備份準(zhǔn)備為了安全性,建議在一臺(tái)斷網(wǎng)的或者系統(tǒng)上生成你的密鑰對(duì)。世界上有兩種密碼:一種是防止你的小妹妹偷看你的文件;另一種是防止當(dāng)局閱讀你的文件.? ...
摘要:作為一個(gè)老牌的反核能活躍分子,齊默曼為了讓所有有相似傾向的人們可以安全的使用并且安全存儲(chǔ)消息和文件而創(chuàng)造了加密。建議為不同環(huán)境,不同用途都單獨(dú)生成子密鑰,互不干擾。世界上有兩種密碼:一種是防止你的小妹妹偷看你的文件;另一種是防止當(dāng)局閱讀你的文件.? ...
摘要:一密碼學(xué)的術(shù)語(yǔ)分類(lèi)術(shù)語(yǔ)密碼體制明文空間密文空間密鑰空間加密算法和解密算法五部分構(gòu)成。柯克霍夫原則是現(xiàn)代密碼學(xué)設(shè)計(jì)的基本原則。特性散列函數(shù)特性消息的長(zhǎng)度不受限制。 一、密碼學(xué)的術(shù)語(yǔ)、分類(lèi) 1、術(shù)語(yǔ) 密碼體制:明文空間、密文空間、密鑰空間、加密算法和解密算法五部分構(gòu)成。 密碼協(xié)議:有時(shí)稱(chēng)為安全協(xié)議,指以密碼學(xué)為基礎(chǔ)的消息交換的通信協(xié)議,目的是在網(wǎng)絡(luò)環(huán)境 中提供各種...
摘要:全球云計(jì)算廠(chǎng)商躬身入局,開(kāi)啟現(xiàn)代化應(yīng)用之旅事實(shí)上,包括亞馬遜云科技華為云在內(nèi)的全球云計(jì)算廠(chǎng)商已在這一領(lǐng)域進(jìn)行了多年實(shí)踐。過(guò)去年,亞馬遜云科技一直在持續(xù)不斷地突破很多現(xiàn)代化應(yīng)用技術(shù)。年,亞馬遜云科技發(fā)布第一個(gè)消息隊(duì)列的服務(wù),至今已有年歷史。 2006年,是云計(jì)算滾滾浪潮的開(kāi)端,這場(chǎng)IT技術(shù)變革始于亞馬遜AWS的成立,它讓公有云成為整個(gè)云行業(yè)的標(biāo)桿,也形成了...
閱讀 3514·2023-04-25 20:09
閱讀 3720·2022-06-28 19:00
閱讀 3035·2022-06-28 19:00
閱讀 3058·2022-06-28 19:00
閱讀 3132·2022-06-28 19:00
閱讀 2859·2022-06-28 19:00
閱讀 3014·2022-06-28 19:00
閱讀 2610·2022-06-28 19:00