Scrapboxと公開鍵暗号で、Scrapbox上で秘密のメッセージをやりとりする
from 2021/01/17
送り主とメッセージをまとめて増井俊之.iconの公開鍵で暗号化してどこかに置いておく @増井俊之#5ff8439e8ee92a000031772e
ちょっと妄想
@ページに「秘密のメッセージ」を書きたいってことか
暗号化、UserScriptでできねえかな
そもそも鍵使って暗号化する方法がわからん
これで行けそう
Javascriptで公開鍵ペア生成・暗号化/復号をしてみた - Qiita
node-rsa-js.jsをESModuleで使えるようにした後、minifyしてscrapboxに貼り付ければ使える
おお、そういうふうに工夫するのですね(全く思いつかなかった)sta.icon*2
userscriptで外部のjsを読み込
こっちのほうが楽かも
https://cdnjs.com/libraries/crypto-js
なんかコマンド使う?
RSA 鍵ペアを使って任意の文字列を暗号化・復号する - Qiita
opensslコマンドみたいだ
ちょっと後で適当に暗号化したメッセージはっつけて一人ロールプレイしてみるやる気さんなくなった
たぶんこういう感じだろう
送りたい人
curl (送り先の人の公開鍵のURL) | openssl (暗号化するオプション)
つくった暗号化メッセージは code:xxxx.message などで書く
受け取った人
curl (/api/code/(暗号化メッセージの場所)) | openssl (暗号化するオプション) (自分の秘密鍵を指定)
これで解読されたメッセージを読める
受け取った側が返信するときは?
「送ってきた人」の公開鍵で暗号化する
公開鍵はページに書いておけばいい
あ、まさに@以外の特殊ページを考えてみるだ
いや、ページにするまでもないか
staに「私の公開鍵はこれです」エリアをつくっておく
巧妙な荒らし問題がある
Aさんに秘密のメッセージを送りたいBさん
Bさんは、Aさんのページの公開鍵をつかって暗号化
しかし実は「Aさんのページの公開鍵」は、悪い人Cさんがつくった公開鍵だった!
Cさん(ヒッヒッヒ、俺の公開鍵にしといてやるぜ)
この場合、Cさんが「Bさん宛の秘密のメッセージ」を解読できてしまう
テロメアクリックでユーザー名を確認できるので(googleアカウントの乗っ取り、scrapboxの脆弱性を悪用しないことを前提に)確認を徹底しておけば問題ないです
試しにどう見えるか書いてみた
sta#60037ee479d3a90000553ee8