不正アクセスから守る暗号化とは 話題の「パスキー」にも暗号化の仕組み

Google、Apple、Microsoftなどが活用推進中の「パスキー(Passkeys)」、パスワードにかわるものとして注目されており、今後、利用が広がると思います。

この「パスキー」、「公開鍵方式」という暗号方式を使うもので、仕組みはなかなか難解です。そこで、今回は「暗号化」について少しまとめてみました。

 

家で使う鍵にもいろいろあるように、データを読めないようにする暗号化にも、簡単な鍵・複雑な鍵と様々あります。なお、暗号化方式には大きく分けて2つあり、ひとつは共通鍵方式、もうひとつは公開鍵方式です。

 

なお、暗号化についての基本的な言葉は以下になります。

・暗号文に変換する作業のことを「暗号化」

・暗号文を元の文章に戻すことを「復号化」

・変換するときの規則を「鍵」と呼びます。

 

暗号化にも、簡単に見破られる古い暗号化方式と、簡単には見破られない暗号化方式があります。家の鍵と同じですね。簡単な鍵だとすぐに開けることができます。

 

暗号化方式、ややこしいですが、今の時点では、

 暗号化方式「RC4」、「DES」は古い暗号化方式で使わないほうが良く

 使うならば「AES」暗号化方式

ということさえ覚えておけば良いですね。

 

なお、無線LANの暗号化の種類は以下のようになっています。

「WEP」の暗号化方式は「RC4」は古い暗号化で安全ではなく、

「WPA」も「WEP」よりは強い暗号化方式ですが 「RC4」なので安全の強度は弱く、

「WPA2」は強い「AES」暗号化方式が使われ安全です。

 

■■□―――――――――――――――――――□■■

暗号方式は大きく2つに分かれます

(共通鍵方式、公開鍵方式)

■■□―――――――――――――――――――□■■

 

暗号化方式には大きく分けて2つあり、ひとつは共通鍵方式、もうひとつは公開鍵方式です。

 

共通鍵方式は、いわゆる「鍵」のイメージそのもので、暗号化する鍵と復号化する鍵は、一つの同じ鍵を使います。

 

共通鍵方式の場合、誰かと暗号データをやりとりする場合は、お互いに同じ鍵(共通の鍵)を持っている必要があり、他の人には秘密にしなければならないので、この方式は秘密鍵方式とも呼ばれています。

 

一方公開鍵方式は、暗号用と復号用に別の鍵を使います。一つは秘密鍵として自分だけの秘密にし、厳重に保管します。もう一つは公開鍵といって、一般に公開します。なかなか面倒なので、以下紹介します。

 

公開鍵方式の仕組み

 

公開鍵暗号方式は、文書を書いた人を証明する『電子署名』としても使われています。

 

BさんがAさんに手紙を出したいとします。その場合は、Bさんは自分の秘密鍵を使って手紙を暗号化した上で送ります。

受け取ったAさんは、Bさんの公開鍵を使って暗号を復号化することができます。

 

そして、その手紙が復号化できるということは、その手紙はBさんだけが持っている秘密鍵によって暗号化されたということを意味するので、その手紙はBさんから来たとみなすことができるのです。これが、本人認証の仕組みです。

 

■■□―――――――――――――――――――□■■

共通鍵方式の代表的な暗号化方式

■■□―――――――――――――――――――□■■

 

共通鍵方式で使用する方式(アルゴリズム)には「RC4、DES、3DES、AES」などがあります。現在主流な暗号化方式は「AES」です。AESは、無線LANのWPA2でも採用されている暗号化方式です。

 

暗号化方式によっては、今では古くなってすぐに見破られる暗号化方式(RC4、DESなど)があるので注意しましょう。

 

(1) RC4(Ron's Code 4 / ARCFOUR)方式

 

1ビット単位で暗号化・復号が可能なストリーム暗号(stream cipher)で、WEPやWPA、SSL/TLS、sshなど様々なプロトコルの暗号方式の一つとして採用された。しかし、現代の攻撃では数時間から数日で破られることが実証され、今はほとんど利用されていない。

 

(2) DES(Data Encryption Standard)方式

 

1977年にアメリカ商務省標準局(現在のNIST)が公布した「データ暗号化規格」。IBM社が開発した共通鍵暗号の一方式で、米国の銀行、商用UNIXのパスワードなどに使われてきました。最近の技術では解読が容易になり、DESに代わるものとして、トリプルDES等が考案されています。

 

(3) AES(Advanced Encryption Standard)方式

 

DESに代わる次世代の暗号標準として、AES候補となる暗号方式を全世界から公募し、 2000年10月に選ばれました。米国政府の次世代標準暗号化方式(AES)は、暗号強度と速度の双方に優れた暗号化アルゴリズムとして高く評価されています。

 

AESには鍵長に応じて「AES-128」「AES-192」「AES-256」の3種類があります。鍵長を長くすれば、それだけ安全性が増します。ただし、鍵長を長くするぶん、処理時間はかかります。

 

■■□―――――――――――――――――――□■■

公開鍵方式の代表的な暗号化方式

■■□―――――――――――――――――――□■■

 

公開鍵方式で使用する方式(アルゴリズム)の代表的なものは、RSAとECCの2種類です。

 

(1) RSA

RSAは、公開鍵暗号方式の中でも代表的な暗号アルゴリズムです。RSAは、素数の積を元に公開鍵を作成し、2つの素数を元に秘密鍵を作成します。電子署名など広く利用されているアルゴリズムです。

 

(2) ECC(楕円曲線暗号)

RSAよりも鍵のサイズは小さくて済み、処理コストもRSAに比べて少ないことから、ICカードなど処理能力が限られた機器で実用化。近年ではビットコインの暗号化方式に用いられていることで有名です。

 

■■□―――――――――――――――――――□■■

話題の「パスキー」とは

■■□―――――――――――――――――――□■■

 

「パスキー」は公開鍵方式を使うので、暗号用と復号用に別の鍵を準備します。

常にペアで使い、一つは秘密鍵として自分のパソコンやスマホに持ち、厳重に保管。もう一つは公開鍵ととして、Webサイトに持ちます。

 

この公開鍵暗号化を使ったパスキーでは、例えば、iPhoneに登録されている「Touch IDやFace IDの生体情報をもとにした鍵を1つ作ります(秘密鍵)。次に、その鍵を使って、もう1つの鍵を作ります(公開鍵)。そして、デバイス側に「秘密鍵」を、Webサイトに「公開鍵」を保存。

 

まだまだ「パスキー」に関する情報は少なく、詳しいパスキーの仕組みは、分かりませんが、大体、次のような仕組みだと思います。

 

デバイス側から通信内容を「秘密鍵」で暗号化して送信。Webサイトでは受信した情報を「公開鍵」で復号化して確認。

また、Webサイトは「公開鍵」で暗号化して情報を送信、デバイス側では「秘密鍵」で復号して確認します。

 

なお、「秘密鍵」で暗号化した情報は、対応する「公開鍵」でしか元に復号化できず、「秘密鍵」は手元のデバイスに保存するので、パスワードのように情報が漏えいし不正アクセスされる心配は無く、パスワードより安全な仕組みです。

 

《補足》パスワードからパスキーへ

 

現時点で使われているパスワードは、インターネットにおける最大のセキュリティ問題となっています。

情報漏洩の分析では、最も使用されているパスワードは「123456789」と「password」で、かなり危険。

「すべてのパスキーは強力です。推測されたり、再利用されたり、弱くなったりすることはありません」と、アップルはパスキーについての資料で説明しています。

また、「パスワードの問題に対処するには、パスワードを超える必要があります」と、グーグルも伝えています。

パスキーは、フィッシング詐欺の防止にもつながり、パスキーの「秘密鍵」はサーバーに保存されていないので、ハッカーの標的にもなりにくいですね。

パスワードはまだまだ使われると思いますが、徐々にパスキーに置き換わると思います。