目次 | 前の項目 | 次の項目 | Java オブジェクト直列化仕様 |
オブジェクト直列化の目標は、できる限りシンプルでありながら、既知のセキュリティの制約と一貫性があることです。システムがシンプルであるほど、安全である可能性はより高くなります。次に、オブジェクトの直列化におけるセキュリティがどのように実装されているかについての概要を示します。
java.io.Serializable
かjava.io.Externalizable
インタフェースを実装するオブジェクトだけが直列化可能。特定のフィールドや特定のクラスを直列化しないための機構がある- 直列化パッケージを使って「同じ」オブジェクトを再作成することはできない。また、オブジェクトが直列化復元で上書きされることはない。直列化パッケージでできることは、「新しい」オブジェクトを作成し、特定の方法で初期化することだけである
- オブジェクトの直列化復元によってオブジェクトのクラスのためのコードがロードされることがあるが、その際、ロードされるコードは、通常の JavaTM のコード検証とセキュリティの管理によるすべての保証によって保護される。直列化復元によってロードされるクラスは、その他の方法でロードされる場合と同じように保護される
- 外部化可能オブジェクトは、
readExternal
メソッドが public であるため、上書きされる危険がある