スキップしてメイン コンテンツに移動

投稿

ラベル(メール)が付いた投稿を表示しています

Thunderbirdで標準搭載されたPGPによる暗号化を利用する

電子メールクライアントのMozilla Thunderbird 78でやっとOpenPGPの機能が標準搭載された。 とはいっても、78.0.1ではまだ不完全で、78.1.0でほぼ完成したようだが、デフォルトではOpenPGPは使えない。今後リリース予定の78.2からデフォルトで動作するようになるらしい。 78.1.0で使うためには、「オプション」の「一般」の一番下の「設定エディター...」を開き、 mail.openpgp.enable を true にする必要がある。 ただし、設定をいじると動作保証対象外になるので、自己責任で対応すること。 今回の動作検証ではWindows 10上で実行させた 64ビット版Thunderbird 78.1.0 を使っている。 設定を済ませたら、「エンドツーエンド暗号化」のOpenPGPの「Add Key...」で秘密鍵をインポートもしくは作成する。 GnuPG などですでに鍵を作っているのであれば、それをエクスポートして読み込ませるだけだ。 公開鍵をインポートする場合、「OpenPGP Key Manager」の「Import Public Key From File」で対応可能だ。 早速、メールを作成し、「セキュリティ」から「暗号化が必要」と「このメッセージにデジタル署名」を選択して送信する。 メッセージは自分自身に送っているのであまり意味はないが、それぞれの機能がきちんと動作していることを確認することはできる。 この通り、暗号化とデジタル署名ができていることを確認できた。 PGPは昔からあるが、自分の周りでは使われているのをほとんど見たことがない。 Thunderbirdに標準搭載されたのを機に、広まってくれないだろうか。

Google Waveを使わないと人生損する

「Google Waveを使わないと人生損する」…これはちょっと大げさかもしれないが、1年半前に書いたブログ記事「 Evernoteを使わないと人生損する 」で言及したEvernoteと同じぐらい、Google Waveが重要な技術になると感じたのは本当だ。当初、 Google Wave は自分にとって、 Google App Engine (GAE) などでプログラミングできる単なるおもちゃだった。しかしながら、今になってやっと、オンラインコラボレーションプラットフォームであるGoogle Waveの潜在能力の高さを知ることになった。 大量のメールに埋もれる情報と予定の立たないミーティング 最近、仕事上のメールのやりとりが頻繁ですぐに流されてしまうことが多く、大事な知らせを失念してしまったり、大量のメールから目的の情報を探し出さなくてはならなくなったりと、メールの扱いに手を焼いていた。さらに、直接顔を合わせるミーティングにおいても、この時期は皆忙しいようで、集まりたいときにすぐに集まれない状況が続き、何かと仕事が滞りがちになっていた。 そこで、昨年にアカウントを取得していたGoogle Waveに目を付けたのだ。今までGoogle Waveを仕事で利用しなかったのは、もともと GAEと連動させてWaveボットなどを開発する のが目的であり、コラボレーションツールとしてはあまり興味を持っていなかったからだ。それに、知人や同僚にもアカウントを持っている人がいなかった。 しかし、メールでのやりとりがひどく非効率に感じられ、必要なときにミーティングもできないというこの状況を打破すべく、Google Waveのアカウントを職場で配ってみることにした。そこでまずは、IT関連の最新技術に明るい同僚に利用してもらい、しばらく一緒に使ってみたのだが、特に問題となるような点もなく、使い勝手もそれほど悪くはなかったので、他のメンバーにもアカウントを配ることにした。 本当に新しいことは理解され難い Google Waveアカウントを配ったメンバーに早速使ってみてもらったところ、おおむね好評を得られて…というほど甘くはなく、やはり第一印象は「難しい」、「使いづらい」、「メールでいいんじゃないの」という意見だった。誰もGoogle Waveの名前すら聞いたことがな...

Processingを使ってWebカメラを監視カメラにする

Processing の videoライブラリ を利用して、手持ちのWebカメラを防犯・監視カメラにしてみることにした。監視カメラとして、以下の2点を満たすこととする。 動くものを捕らえたときだけ写真を残す。 写真は指定のメールアドレスに直ちに送信される。 今回、コードを書くに当たって、Webカメラ関連については 建築発明工作ゼミ2008 、メール送信については E-mail Processing を参考にさせてもらった。特に 建築発明工作ゼミ2008 については他にもProcessing関連の有益な情報があって重宝する。 因みに、今回用いたWebカメラはずいぶん前に購入したLogitechのQuickCam for Notebooks Proだ。多分、大抵のWebカメラで問題なく動作すると思う。 それでは、早速作成してみる。 下準備 まず、ProcessingでWebカメラを利用するには、 QuickTime が必要になるので予め用意しておく。また、WindowsについてはQuickTimeでWebカメラを利用するための VDIG (QuickTime-compatible video digitizer) をインストールする必要がある。このとき、最新バージョン(1.04/1.05)では動作時にエラーが起こるようなので、バージョンは1.01を用意すること。 次に、Processingでメール送信を行うために、 JavaMail と JavaBeans Activation Framework (JAF) をダウンロードする。JavaMailからmailapi.jarとsmtp.jar、JAFからactivation.jarを取り出す。そして、Processingの作業フォルダ(コーディングしているファイルの存在するフォルダ)にcodeという名前のフォルダを作成し、その中にその3つのjarファイルをコピーする。 これで下準備は完了だ。 コーディング ライブラリについては、ビデオ関連でprocessing.video、電子メール関連でjavax.mailをインポートする。setup関数でvideoオブジェクトを作成し、draw関数で映像を表示する。今回は320×240の解像度に設定した。次にカメラの映像から、以前の画像と現...

PGP/GPGを薦めたいが…

個人情報漏洩などのセキュリティ問題が深刻になってきているが、それを防ぐための一つの手段として暗号化がある。特にメールの暗号化は重要だ。仕事で個人情報を含む文書をメールで送ったときにもし間違ったアドレスにでも送ろうものなら一大事である。このようなときでも暗号化してあれば安心だ。 ではどのようにして暗号化すればよいか。たとえばWindowsに付属しているOutlook Expressなどでは、暗号化のための仕組みが組み込まれている。しかし、これはデジタル署名が必要であり有料なのだ。もっと手軽に無料で利用できる仕組みは無いものか。実はある。それがPGP/GPGだ。 PGP はPretty Good Privacyの略で、Philip Zimmermannが開発した暗号化ソフトウェアだ。一方、 GPG はGnu Privacy Guardの略で、GnuPGとも呼ばれている。OpenPGPに準拠した無料の暗号化ソフトウェア(GPL)である。PGPとGPGの違いは、PGPは商用で利用するには有料であるが、特許を持つ暗号化アルゴリズムなども利用できる。GPGの方は商用で利用する場合でも無料であるが、特許に抵触するアルゴリズムは採用していない。個人的にはGPGを利用している。Linuxでは普通に使われているし、Windowsでも問題なく導入できる。 しかし、いくら優れた暗号化ソフトウェアであっても、周りが使っていなかったら意味が無い。暗号化して送っても読めないからだ。署名を入れても、それが正しいかどうか分からない。以前、インターネット上の電子メールが出始めた頃に電子メールアカウントを取得したのだが、アカウントを持っている知人がいなかったのでまったく無意味であったが、それと同じ状況だ。 なら、周りの人にもGPGを薦めれば良いかと思うのだが、ある理由で薦めにくいのだ。導入・使用方法が分かりづらいのである。ある程度コンピュータに詳しい人ならばまったく問題ないのだが、そうでないとちょっと面倒だ。PGPの公式サイトではWindowsのバイナリファイルも置いてあるが、それで使えるのはGUI版ではなくコマンドライン版である(個人的にはGUIよりもコマンドラインのほうが使いやすいと思っているが…)。 また、メールソフト自体が手軽にPGP/GPGを使えない場合が多い。GPGで暗号化し...

Pythonで宛先ごとにスパムメール数を調べる

1日200通ほどのスパムメールが来る。ほとんどのスパムメールはフィルターを通して処理されるので実害は少ないが、気持ちの良いものではない。ふと、複数のメールアカウントを使っていてどのアカウントが一番被害があるのかちょっと気になったので、メールアドレスごとにスパムメールを数え上げ、数の多い順に表示するPythonプログラムを書いてみた。Pythonらしからぬばっちぃコードなのであまりコーディングの参考にしないこと。 import re def read_spam(fname, pattern): data = [] for d in [[s for s in l.replace(":", " ").replace(" ", " ").strip().rstrip().split()[1:] if not re.search("\"", s) if re.search(".+@.+", s)] for l in file(fname) if re.search(pattern, l)]: data.extend(d) data_counts = {} for d in set(data): data_counts[d] = data.count(d) for d in sorted(data_counts, cmp=lambda x, y: cmp(data_counts[x], data_counts[y]), reverse=True): print "%5d %s" % (data_counts[d], d) 普段はThunderbirdを利用しており、デフォルトではスパムメールはJunkファイルに落とされる。その場合、以下のように実行すればOK。 read_spam("Junk", "^To: ") 以下のように表示される。 4652 [email protected] 3745 [email protected] 2176 [email protected] 1819 [email protected] 686...