auの日記

プログラミング初心者の日記。(auはハンドルネームです)

暗号化の時に使うファイル形式のPEMって何?

auです。

Pythonを使って文字列を暗号化し、セキュアなアプリを作ろうと頑張っています。

色々と調べていると、「.pem」と名前のついたファイルが多く存在することに気づきました。

この「.pem」が何なのかを調べていこうと思います。

pemとは

pemとは、前述した通りファイルの拡張子です。Privacy Enhanced Mailの頭文字を取っています。プライバシーを強化したメールが直訳なので、暗号化されたメールといったところでしょうか。

まずは、pemを使った暗号化についてです。

電子メールの暗号化と送信者の証明を定義した技術の一つです。公開鍵暗号方式RSA(Rivest Shamir Adleman)と、秘密鍵暗号方式DES(Data Encryption Standard)を組み合わせた、本文の暗号化とデジタル署名の両方が行われます。

本文はDESを用いて暗号化され、受信者は、DESの暗号鍵はRASの秘密鍵によって複合します。この複合されたDESを用いて、本文を複合します。

次にpemファイルについてです。

pemファイルは、証明書・鍵の両方、または片方の情報を入れることのできるファイルです。

書式は、任意の証明書、鍵をbase64エンコードして、BEGIN/END行で挟んでつなげただけのテキストファイルです。

ファイルの中身は、そのままだと暗号化されていて見えないので、opensslコマンドを用いて見えるようにします。



暗号化については、講義で習った知識以上のことは分からず、実際にプログラムとして触れてみるのも初めてです。恐らくつまずくと思いますが、踏ん張ってセキュリティの強いアプリを作って行きたいと思います。



参考にしたサイト
e-words.jp
www.ecoop.net