セキュリティの変更

Appleのすべてのプラットフォームにおける、セキュリティの重要な変更についてご確認ください。

iOS 12、macOS Mojaveの導入準備をする

システム管理者は、iOS 12、macOS Mojaveを導入するにあたり、以下のリストをご確認ください。

SHA-1証明書のサポート終了

2017年のAppleオペレーティングシステムのセキュリティアップデートに伴い、SafariおよびWebKitのTransport Layer Security(TLS)で使用されていた、SHA-1署名による証明書はサポートされなくなりました。今後は、SHA-256で署名された証明書を使用してください。

セキュアな接続を確立する

Appleプラットフォームの様々なAPIを採用することで、Appでセキュアなネットワーク接続を確立し、OSレベルのセキュリティポリシーの恩恵を享受することができます。

App Transport Security(ATS)

ATSは、Transport Layer Security(TLS)バージョン1.2、前方秘匿性、強力な暗号化を採用することで、Appleプラットフォームを使用したネットワークコミュニケーションを安全に保つためのベストプラクティスポリシーを確立します。

Secure Transport API

AppleのSecure Transport APIを使用し、ネットワークコミュニケーション用の最新のSecure Sockets Layer(SSL)、Transport Layer Security(TLS)、Datagram Transport Layer Security(DTLS)暗号プロトコルを採用しましょう。

サポートされるアルゴリズム

iOS 10およびmacOS v10.12以降、RC4暗号スイートはデフォルトで無効となっています。加えて、Appleでは、SHA-2暗号処理関数で署名された証明書をサーバに使用することを推奨しています。

証明書の透明性および証明書トラストAPI

ネットワーク接続に強力な暗号化を施すだけでは不十分です。Appが正しいサーバに確実に接続するようにするため、Appleの証明書トラストAPIを採用しおよび証明書の透明性を確保しましょう。

ユーザーデータを保護する

Appleプラットフォームでは、ユーザーデータを保護するための様々な機能が用意されています。

目的文字列

目的文字列により、Appが利用する機密データやリソースを静的に宣言することができます。

機密データのコピー&ペースト

iOS上で機密情報をコピー&ペーストする際もプライバシーを保護できます。

キーチェーンおよびiCloudキーチェーン

キーチェーンおよびiCloudキーチェーンは、証明書、キー、パスワード、メモなど、ユーザーの機密データを安全に保存できるリポジトリです。

コードを安全に実行する

Appleプラットフォームは、コードを安全に実行しユーザーを保護します。Appleの統合開発環境(IDE)であるXcodeでは、iOS、watchOS、tvOS Appや、Mac App Storeで配信するmacOS Appに直接コード署名することができます。

Developer IDでAppを署名する

Developer IDおよびGatekeeperは、Mac App Store以外の場所でのAppの配信をサポートします。

暗号署名

Mac App Store以外の場所でMac Appを配信する場合は、正規のAppであることを証明するため、Developer IDで暗号署名を使用してください。

暗号インターフェイス

Appleプラットフォームでは、App内で暗号ソリューションを構築するための、包括的なローレベルAPIセットを提供しています。

非対称鍵のためのSecKey API

SecKeyは、Appleプラットフォーム全体で利用できる、統一された非対称鍵APIを提供します。

スマートカードのサポートのためのCryptoTokenKit

CryptoTokenKitフレームワークは、スマートカードやその他の暗号デバイスをmacOSで利用するための優れた環境を提供します。

Common Cryptoライブラリ

Common Cryptoライブラリは、対称暗号化、HMAC(Hash-based Message Authentication Codes)、ダイジェストをサポートします。

セキュリティに関する基本情報やリソース

以下のリソースでは、Appleプラットフォームのセキュリティに関する背景、サポート、チュートリアル情報をご確認いただけます。

corecrypto

SecurityフレームワークおよびCommon Cryptoは、ローレベルの暗号プリミティブの実装を提供する上で、corecryptoライブラリに依存しています。このライブラリは、米国連邦情報処理規格(FIPS)140-2レベル1への準拠認定の際に提出されたものでもあります。corecryptoは、デベロッパ向けのプログラミングインターフェイスを直接提供しておらず、iOSやmacOS Appで使用するべきものではありませんが、Appのセキュリティ特性を確認したり、Appが正しく機能することを確認したりするため、ソースコードを公開しています。