Mac公証サービスチームとのQ&A

グレーのグリットが斜めに描かれた背景に配置された、赤い鍵のアイコン。

セキュリティは、すべてのAppleプラットフォームの中核をなすものです。Mac公証サービスチームはApple Security Engineering and Architectureに属するチームです。このQ&Aでは、Macデベロッパの体験をスムーズなものにし、ユーザー保護を提供するためのアプリの配信およびアカウントのセキュリティに関する当チームからのアドバイスを紹介します。

新しいアプリはどのタイミングで公証に提出すべきですか?

公証を行う際は、アプリの実装がほぼ完成している必要があります。十分に機能しないアプリを公証する必要はありません。

アプリはどれくらいの頻度で公証に提出すべきですか?

ベータ版を含めて、配信するすべてのバージョンを公証に送る必要があります。これは、Appleが、デベロッパのアプリをその他のデベロッパのアプリやマルウェアと区別するため、デベロッパの各ソフトウェア固有のプロファイルを作成しているためです。Appleではマルウェアをブロックする新しい署名をリリースしており、このプロファイルは公証したソフトウェアがその影響を受けないようにする上で役立ちます。

アプリが追加の分析対象になった場合はどうなりますか?

公証サービスにアップロードしたアプリに、追加の評価が求められることがあります。アプリがその対象になった場合でも、Appleはファイルを受領しており、それをもとに追加の分析を行うため、ご安心ください。ただし、追加のプロセスにより、公証完了まで通常より時間がかかる場合があります。また、前回のアップロードのプロセスに時間がかかっている間にアプリに変更を加えた場合、新しいビルドをアップロードしても問題ありません。

自分のアプリが却下された場合はどうすればよいですか?

空のアプリや、他者のコンピュータに害を与える(所有者が認識することなく重要なシステム設定を変更するなど)可能性があるアプリは、悪意のあるアプリではなくても却下される場合があります。アプリが却下された場合は、まずアプリにマルウェアが含まれていないことを確認してください。その後、MDM経由での社内配信など、非公開で配信すべきかを判断してください。

自分のビジネスに変更があった場合はどうすればよいですか?

ビジネスの名前、連絡先情報、住所、各種の契約/規約など、デベロッパアカウントの情報は常に最新の状態に保ってください。アカウントのアクティビティや公証するソフトウェアに大きな変更があった場合、アカウントや証明書に不正アクセス/不正使用があった可能性があります。Appleは、このようなアクティビティが検出された場合、詳細を調査するため、その間該当のアカウントを停止することがあります。

私は契約社員ですが、責任を持って開発に取り組むためのヒントを教えてください。

自身が開発したものでないバイナリの署名、公証、配信を依頼された場合は注意が必要です。

  • 既存のソフトウェアの複製のように見えるソフトウェアの開発。
  • 企業内アプリケーションの開発(依頼者が当該企業の従業員でない場合)。
  • VPN、システムユーティリティ、金融/ファイナンス、監視やモニタリングのためのアプリなど、リスクの高いカテゴリのソフトウェアの開発。このようなカテゴリのソフトウェアは、個人データへの特権的なアクセスが伴うことが多いため、ユーザーに高いリスクが生じます。

デベロッパは、自分が構築および/または署名するすべてのソフトウェアについて、その機能と依頼主を把握することに責任を負います。

自分のデベロッパアカウントを適切に管理し、健全性を保つには、どうすればよいですか?

マルウェアのデベロッパは 自分たちのアクティビティが明るみに出ないよう、正規のアカウントへのアクセスを試みる場合があります。そのため、必ず2ファクタ認証を有効にしてください。悪意のある人物がコンサルタントや従業員になりすまし、あなたのデベロッパチームに加えてもらうようリクエストする場合もあります。このような場合のシンプルな対応策としては、自分のアカウントへのアクセスを決して共有しないことです。

チームから離れたデベロッパのアクセス権は削除すべきですか?

はい。これらのアカウントによる不正アクセス/不正使用の疑いがある場合、Appleが当該のDeveloper IDの証明書を無効化することもできます。

公証についてさらに詳しく

Notarizing macOS software before distribution

Developer agreement for notarizing macOS applications

Two-factor authentication for developer accounts