暗号化HTTPSまかせだと、ネコにもネズミにも聞かれそうなので、少し悪あがきしてみた
カテゴリー:Perl・Javascript・pythonメモ(記事数:43)
 
 
 

2017/01/27

暗号化HTTPSまかせだと、ネコにもネズミにも聞かれそうなので、少し悪あがきしてみた

 この前、中国人な知り合いと話していたんだけど、中国からだと、インターネットアクセス自体が検閲されていて、しかも、HTTPS接続は禁止されていて、でも今時不便すぎるから指定のproxy経由でアクセスする事が可能とのこと、それって、この前知った、proxy利用してHTTPSの中身を傍受するman-in-the-middleじゃね?って話をしたら、衝撃受けてた。

 アメリカ入国時にブログやSNSの登録求められるような世の中だし、何か出来ることはないかと考えたんだけど(別に悪いことしないけど)、どうせ、キーワードでトラップしたり、ひっかかるとログ保存されるようなシステムだろうから、簡単に解読出来るとしてもキーワードでひっかかりにくくすれば良いんじゃねと思い、このブログに投稿するシステムに少し悪あがきしてみた。

ちなみにちょっと前に相談したけど、復元時に、WAVE DASH問題とか言って、JavascriptがShift-JIS→utf-8変換時に「〜」の変換を間違って、ff5eとして送られてくるので、unicode表に乗っている301cに書き換えるというプロセスを入れています。

いんたーねっとの偉い人、コメント、ご指導あったらよろしく。

●原理
Webから送信(GET/POST)する時に、Javascriptでプチ暗号化して、それを送信、サーバー側で復元する。具体的には「あいうえお」って送られるところが「19A1,19A2,19A3,19A4,19A5」みたいな文字列にブラウザにより変換されて送信される。

これだと暗号キーは公開されているから、少し頑張れば簡単に解読出来るだろうけど、少なくともキーワードでひっかかって、目を付けられる可能性は減ると思う

●HTML側(HTML部分)
<form method="post" action="xxx.cgi">
<input type="text" id="commentdummy" value=""> ※入力される部分、nameが無いので送信されない
<input type="hidden" name="comment" value=""> ※実際に送信される部分、非表示
<input type="button" value="send" onclick="return chk(this.form)">※送信ボタン、Javascriptを呼び出すだけ
</form>
●HTML側(Javascript部分)
<script type="text/javascript">
var str2array = function(str) { ※プチ暗号化部分、文字ごとに文字コードを2倍して16進数にして、カンマでつなげているだけ
var array = [],i,il=str.length;
for(i=0;idummy=str.charCodeAt(i)*2;
array.push(dummy.toString(16));
}
return array;
};
function chk(frm){※送信ボタンで呼び出される、commentdummyに入力された内容をプチ暗号化してcommentに入れて、送信する
frm.elements["comment"].value=str2array(document.getElementById('commentdummy').value);
frm.submit();}
</script>

Category:Perl・Javascript・pythonメモ

 Keyword:【nico/6】 【nico./8】 【SNS/34】 【ブログ/58】 【アメリカ/135】 【Java/22】 【中国/166】


■ ■ ■ コメント ■ ■ ■

いいっすね!
001 [01/27 12:48]通りすがり@Plala:peer to peer でのHTTPSを解読することは基本的に不可能です。Proxy対策で、悪あがきするならば、VPN over HTTP とかのほうが、よいかと。
002 [01/27 13:02]002@NetHine:それって、他国にサーバーが在れば送んのは簡単で不明解読後の中国受信の考えではないんですかね。中国から送りたいか受信したいでやり方が変わるんでないでしょうか。
003 [01/27 13:09]002@NetHine:言葉足らずで申し訳ないです。他国のサーバー(グーグルなんか)に、解毒置いとけば。。間違ってたらすみません。
004 [01/27 13:37]匿名さん@OCN:前の記事?で当たり前すぎて誰も詳しい突っ込み入れなかったから管理人の妄想が広がったのか・・・
005 [01/27 23:53]匿名さん@Dion:いくらリクエストいじってもレスポンスが平文なら意味ないような気が…。それに国レベルでやっていることですから、下手に暗号文っぽいものをやり取りしている方が目付けられると思いますよ。「木の葉を隠すなら森の中」です。
006 [01/30 21:30]uspkt@OCN:httpsはPCにプレインストールされてるルート証明書以外の(不正な)証明書突っ込まないとman-in-the-middle出来ないってば。それなしで出来るって事は、秘密鍵の解読に成功してるって事だからproxy関係ない。不正なルート証明書入れた場合は、SSLは台無しにされるのでproxy通さなくても危険になる。

名前 ↑B

コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事のアクセス数: 本日の記事一覧に戻る

→カテゴリー:Perl・Javascript・pythonメモ(記事数:43)

アクセス数の多い記事(過去1ヶ月)

すんげー、サイトまるごとパクられてるw(usePocket運営関連)1838access
日産が一晩中光る蓄光塗料塗布した仕様のリーフを販売(車・乗り物・車載ガジェット)1420access
糸魚川大火に耐えた奇跡の1軒、08年新築のステンレス&レンガ外壁で通常の1.5倍費用をかけた「丈夫な家」(木造2階建ての屋上に20畳のルーフテラスを付けるぞ!)1300access
まじでやめよう耳掃除。米医学会が声を枯らして警告(健康)1056access
後付けの「車線逸脱警告機能」搭載ドライブレコーダーが意外と使えるらしい(車・乗り物・車載ガジェット)1043access

すべて見る

中国
Java
nico.
nico
ブログ
SNS
アメリカ