blog

なぜアンドロイドは弱い暗号化アルゴリズムを使うのか?

Android 2.2.1で使用されるデフォルトの暗号化アルゴリズムはAES 256-SHA1ですが、2010年にリリースされたAndroid 2.3以降は、より弱い暗号化アルゴリズムであるRC4-M...

Jul 13, 2025 · 1 min. read
シェア

Android 2.2.1で使用されるデフォルトの暗号化アルゴリズムはAES 256-SHA1ですが、2010年にリリースされたAndroid 2.3以降は、より弱い暗号化アルゴリズムであるRC4-MD5がデフォルトとなります。AndroidアプリがSSL暗号化接続を確立する際、指定されていない場合は、暗号化にRC4-MD5を使用することがデフォルトとなります。

NSAはAndroidユーザーをスパイするために、暗号化された接続を破ることを難しくしないようにAndroid開発者に賄賂を贈ったのではないかと疑うかもしれません。しかし、Androidのソースコードを分析した結果、Georg Lukas氏は、デフォルトの暗号化アルゴリズムの順番はSun/OracleのJavaによって定義されており、TLS Secure Transport ProtocolのJava仕様によって定義されたリストの最初の2つの暗号化アルゴリズムはRC4とMD5であったこと、2011年にリリースされたJava 7でElliptic Curve Encryptionが追加され、暗号化アルゴリズムのリストが改善されたことを発見しましたが、AndroidはJDK 6をベースにしており、10年前に定義された同じリストにまだ従っています。AndroidはJDK 6をベースにしており、10年前に定義された暗号化アルゴリズムのデフォルトリストをまだ使用しています。

Read next

C++開発者がObjective-C言語のコア構文を素早く学ぶ

この記事では、Objective-C を取り上げ、この言語の中核となる構文について説明します。このセクションでは、具体的な構文のいくつかを詳しく説明します。予想されるように、定義とクラスがカバーされています。

Jul 13, 2025 · 9 min read