iMessageとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > iMessageの意味・解説 

iMessage

読み方アイメッセージ

iMessageとは、AppleiOS5において追加したメッセージングサービスの名称である。

iMessageを利用すると、iOS5インストールされたiPhoneiPadiPod Touch端末同士で、テキスト写真ビデオ、あるいは位置情報連絡先情報といった情報交換することができる。SMSショートメッセージングサービス)と同様の手軽さで、個人またはグループ相手さまざまな情報やり取りできる点が大きな特徴となっている。また、開封確認」や「書き込み中」といった相手側の状況リアルタイムで知ることができる。

なお、2011年10月現在、iMessageを利用するためには、自分と相手双方iOS5インストールし、iCloud設定を行う必要がある


参照リンク
メッセージ - (Apple
スマートフォンのほかの用語一覧
iPhone:  iPhone Dev Center  iPhone 3GS  iOS 5  iMessage  iOSデバイス  iPhone 4S  iOS 5.1

IMessage インターフェイス

連携して動作する複数メッセージ シンク間で送信される通信データ格納します

名前空間: System.Runtime.Remoting.Messaging
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public Interface IMessage
[ComVisibleAttribute(true)] 
public interface IMessage
[ComVisibleAttribute(true)] 
public interface class IMessage
/** @attribute ComVisibleAttribute(true) */ 
public interface IMessage
ComVisibleAttribute(true) 
public interface IMessage
解説解説
使用例使用例
' Create a custom 'RealProxy'.
Public Class MyProxy
   Inherits RealProxy
   Private myURIString As String
   Private myMarshalByRefObject As MarshalByRefObject

   <PermissionSet(SecurityAction.LinkDemand)> _
   Public Sub New(ByVal
 myType As Type)
      MyBase.New(myType)
      ' RealProxy uses the Type to generate a transparent proxy.
      myMarshalByRefObject = CType(Activator.CreateInstance(myType), MarshalByRefObject)
      ' Get 'ObjRef', for transmission serialization between application
 domains.
      Dim myObjRef As ObjRef = RemotingServices.Marshal(myMarshalByRefObject)
      ' Get the 'URI' property of 'ObjRef' and store it.
      myURIString = myObjRef.URI
      Console.WriteLine("URI :{0}", myObjRef.URI)
   End Sub 'New

<SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags:=SecurityPermissionFlag.Infrastructure)>
 _
   Public Overrides Function
 Invoke(ByVal myIMessage As IMessage) As
 IMessage
      Console.WriteLine("MyProxy.Invoke Start")
      Console.WriteLine("")

      If TypeOf myIMessage Is
 IMethodCallMessage Then
         Console.WriteLine("IMethodCallMessage")
      End If
      If TypeOf myIMessage Is
 IMethodReturnMessage Then
         Console.WriteLine("IMethodReturnMessage")
      End If
      Dim msgType As Type
      msgType = CObj(myIMessage).GetType
      Console.WriteLine("Message Type: {0}", msgType.ToString())
      Console.WriteLine("Message Properties")
      Dim myIDictionary As IDictionary = myIMessage.Properties
      ' Set the '__Uri' property of 'IMessage' to 'URI' property of
 'ObjRef'.
      myIDictionary("__Uri") = myURIString
      Dim myIDictionaryEnumerator As IDictionaryEnumerator
 = CType(myIDictionary.GetEnumerator(), _
                                                                    IDictionaryEnumerator)

      While myIDictionaryEnumerator.MoveNext()
         Dim myKey As Object
 = myIDictionaryEnumerator.Key
         Dim myKeyName As String
 = myKey.ToString()
         Dim myValue As Object
 = myIDictionaryEnumerator.Value

         Console.WriteLine(ControlChars.Tab + "{0} : {1}",
 myKeyName, myIDictionaryEnumerator.Value)
         If myKeyName = "__Args"
 Then
            Dim myObjectArray As Object()
 = CType(myValue, Object())
            Dim aIndex As Integer
            For aIndex = 0 To myObjectArray.Length
 - 1
               Console.WriteLine(ControlChars.Tab + ControlChars.Tab + "arg:
 {0} myValue: {1}", _
                                                              aIndex, myObjectArray(aIndex))
             Next aIndex
         End If

         If myKeyName = "__MethodSignature"
 And Not Nothing Is
 myValue Then
            Dim myObjectArray As Object()
 = CType(myValue, Object())
            Dim aIndex As Integer
            For aIndex = 0 To myObjectArray.Length
 - 1
               Console.WriteLine(ControlChars.Tab + ControlChars.Tab + "arg:
 {0} myValue: {1}", _
                                                           aIndex, myObjectArray(aIndex))
            Next aIndex
         End If
      End While

        Dim myReturnMessage As IMessage

        myIDictionary("__Uri") = myURIString
        Console.WriteLine("__Uri {0}", myIDictionary("__Uri"))

        Console.WriteLine("ChannelServices.SyncDispatchMessage")
        myReturnMessage = ChannelServices.SyncDispatchMessage(CObj(myIMessage))

        ' Push return value and OUT parameters back onto stack.
        Dim myMethodReturnMessage As IMethodReturnMessage
 = CType(myReturnMessage, IMethodReturnMessage)
        Console.WriteLine("IMethodReturnMessage.ReturnValue: {0}",
 myMethodReturnMessage.ReturnValue)

        Console.WriteLine("MyProxy.Invoke - Finish")

        Return myReturnMessage
    End Function 'Invoke
End Class 'MyProxy
// Create a custom 'RealProxy'.
public class MyProxy : RealProxy
{
   String myURIString;
   MarshalByRefObject myMarshalByRefObject;   

   [PermissionSet(SecurityAction.LinkDemand)]
   public MyProxy(Type myType) : base(myType)
   {
      // RealProxy uses the Type to generate a transparent proxy.
      myMarshalByRefObject = (MarshalByRefObject)Activator.CreateInstance((myType));
      // Get 'ObjRef', for transmission serialization between application
 domains.
      ObjRef myObjRef = RemotingServices.Marshal(myMarshalByRefObject);
      // Get the 'URI' property of 'ObjRef' and store it.
      myURIString = myObjRef.URI;
      Console.WriteLine("URI :{0}", myObjRef.URI);
   }

   [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)]
   public override IMessage Invoke(IMessage myIMessage)
   {
      Console.WriteLine("MyProxy.Invoke Start");
      Console.WriteLine("");

      if (myIMessage is IMethodCallMessage)
         Console.WriteLine("IMethodCallMessage");

      if (myIMessage is IMethodReturnMessage)
         Console.WriteLine("IMethodReturnMessage");

      Type msgType = myIMessage.GetType();
      Console.WriteLine("Message Type: {0}", msgType.ToString());
      Console.WriteLine("Message Properties");
      IDictionary myIDictionary = myIMessage.Properties;
      // Set the '__Uri' property of 'IMessage' to 'URI' property of
 'ObjRef'.
      myIDictionary["__Uri"] = myURIString;
      IDictionaryEnumerator myIDictionaryEnumerator = 
         (IDictionaryEnumerator) myIDictionary.GetEnumerator();

      while (myIDictionaryEnumerator.MoveNext())
      {
         Object myKey = myIDictionaryEnumerator.Key;
         String myKeyName = myKey.ToString();
         Object myValue = myIDictionaryEnumerator.Value;

         Console.WriteLine("\t{0} : {1}", myKeyName, 
            myIDictionaryEnumerator.Value);
         if (myKeyName == "__Args")
         {
            Object[] myObjectArray = (Object[])myValue;
            for (int aIndex = 0; aIndex <
 myObjectArray.Length; aIndex++)
               Console.WriteLine("\t\targ: {0} myValue: {1}", aIndex, 
                  myObjectArray[aIndex]);
         }

         if ((myKeyName == "__MethodSignature") &&
 (null != myValue))
         {
            Object[] myObjectArray = (Object[])myValue;
            for (int aIndex = 0; aIndex <
 myObjectArray.Length; aIndex++)
               Console.WriteLine("\t\targ: {0} myValue: {1}", aIndex, 
                  myObjectArray[aIndex]);
         }
      }
      
      IMessage myReturnMessage;

      myIDictionary["__Uri"] = myURIString;
      Console.WriteLine("__Uri {0}", myIDictionary["__Uri"]);

      Console.WriteLine("ChannelServices.SyncDispatchMessage");
      myReturnMessage = ChannelServices.SyncDispatchMessage(myIMessage);

      // Push return value and OUT parameters back onto stack.

      IMethodReturnMessage myMethodReturnMessage = (IMethodReturnMessage)
         myReturnMessage;
      Console.WriteLine("IMethodReturnMessage.ReturnValue: {0}", 
         myMethodReturnMessage.ReturnValue);

      Console.WriteLine("MyProxy.Invoke - Finish");

      return myReturnMessage;
   }
}
// Create a custom 'RealProxy'.
/** @attribute SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.Infrastructure)
 */
public class MyProxy extends RealProxy
{
    private String myURIString;
    private MarshalByRefObject myMarshalByRefObject;

    public MyProxy(Type myType)
    {
        super(myType);

        // RealProxy uses the Type to generate a transparent proxy.
        myMarshalByRefObject = 
            (MarshalByRefObject)(Activator.CreateInstance(myType));

        // Get 'ObjRef', for transmission serialization between 
        // application domains.
        ObjRef myObjRef = RemotingServices.Marshal(myMarshalByRefObject);

        // Get the 'URI' property of 'ObjRef' and store it.
        myURIString = myObjRef.get_URI();
        Console.WriteLine("URI :{0}", myObjRef.get_URI());
    } //MyProxy

    public IMessage Invoke(IMessage myIMessage)
    {
        Console.WriteLine("MyProxy.Invoke Start");
        Console.WriteLine("");
        if (myIMessage instanceof IMethodCallMessage) {
            Console.WriteLine("IMethodCallMessage");
        }

        if (myIMessage instanceof IMethodReturnMessage) {
            Console.WriteLine("IMethodReturnMessage");
        }

        Type msgType = myIMessage.GetType();

        Console.WriteLine("Message Type: {0}", msgType.ToString());
        Console.WriteLine("Message Properties");

        IDictionary myIDictionary = myIMessage.get_Properties();

        // Set the '__Uri' property of 'IMessage' to 'URI' property of
 'ObjRef'.
        myIDictionary.set_Item("__Uri", myURIString);

        IDictionaryEnumerator myIDictionaryEnumerator = 
            (IDictionaryEnumerator)(myIDictionary.GetEnumerator());
        while (myIDictionaryEnumerator.MoveNext()) {
            Object myKey = myIDictionaryEnumerator.get_Key();
            String myKeyName = myKey.ToString();
            Object myValue = myIDictionaryEnumerator.get_Value();
            Console.WriteLine("\t{0} : {1}", myKeyName, 
                myIDictionaryEnumerator.get_Value());

            if (myKeyName.Equals("__Args")) {
                Object myObjectArray[] = (Object[])myValue;
                for (int aIndex = 0; aIndex
 < myObjectArray.length; aIndex++) {
                    Console.WriteLine("\t\targ: {0} myValue: {1}", 
                        (Int32)aIndex, myObjectArray.get_Item(aIndex));
                }
            }

            if (myKeyName.Equals("__MethodSignature")
 && null != myValue) {
                Object myObjectArray[] = (Object[])myValue;
                for (int aIndex = 0; aIndex
 < myObjectArray.length; aIndex++) {
                    Console.WriteLine("\t\targ: {0} myValue: {1}", 
                        (Int32)aIndex, myObjectArray.get_Item(aIndex));
                }
            }
        }

        IMessage myReturnMessage;
        myIDictionary.set_Item("__Uri", myURIString);
        Console.WriteLine("__Uri {0}", myIDictionary.get_Item("__Uri"));
        Console.WriteLine("ChannelServices.SyncDispatchMessage");
        myReturnMessage = ChannelServices.SyncDispatchMessage(myIMessage);

        // Push return value and OUT parameters back onto stack.
        IMethodReturnMessage myMethodReturnMessage = 
            (IMethodReturnMessage)myReturnMessage;
        Console.WriteLine("IMethodReturnMessage.ReturnValue: {0}", 
            myMethodReturnMessage.get_ReturnValue());
        Console.WriteLine("MyProxy.Invoke - Finish");
        return myReturnMessage;
    } //Invoke
} //MyProxy
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IMessage メンバ
System.Runtime.Remoting.Messaging 名前空間

IMessage プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

IMessage インターフェイス
System.Runtime.Remoting.Messaging 名前空間

IMessage メンバ


iMessage

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/09/27 08:25 UTC 版)

iMessage
運営元 Apple
種類 インスタントメッセージ
サービス開始日 2011年10月12日 (12年前) (2011-10-12)
プラットフォーム iPhoneiPadiPod touchApple WatchMac
OS iOSiPadOSmacOSwatchOS
現況 サポート中
ウェブサイト iMessage - Apple サポート
テンプレートを表示

iMessage(アイメッセージ)は、Appleが開発しているインスタントメッセージサービスである[1]。Appleのプラットフォーム(iOSiPadOSmacOSwatchOS)でのみ機能する[2]

概要

iMessageの主な機能は、Appleを含む送受信者以外に読まれないエンドツーエンド暗号化されたテキスト、書類、写真、ビデオ、音声メッセージ、位置情報、ステッカーなどの送受信であり、対応するすべてのプラットフォームで利用できる[3][1]。iOSおよびiPadOSでは、iMessageの機能を拡張することができるiMessage向けApp Storeがある[4]2011年iOS 5で登場したiMessageは、2012年OS X(現macOS)にも搭載された[5][6]

歴史

iMessageは、2011年6月6日に開催されたAppleWWDC 2011の基調講演で、スコット・フォーストールによって発表された[5][7]。iMessageに対応したiOSメッセージAppのバージョンは、同年10月12日に配信が開始されたiOS 5に搭載された[8][9]2012年2月16日、AppleはiMessagesに対応したOS X(現macOS)の「メッセージ」AppをiChatの後継としてOS X Mountain Lionの一部になることを発表した[10][11]メッセージAppを搭載したMountain Lionは同年7月25日に提供を開始した[12][6]

2012年10月23日、Appleの最高経営責任者(CEO)であるティム・クックは、Apple端末の利用者がiMessageを使って3,000億件のメッセージを送信し、1秒間に平均28,000件のメッセージを送受信していると発表した[13]2016年2月、Appleのインターネットソフトウェア・サービス上級副社長であるエディ・キューは、1秒間に送信されるiMessageの数が20万件になったことを発表した[14]

2014年5月、Apple端末からApple以外の端末に乗り換えた場合、iMessageで送信しているメッセージが宛先に届かないという問題で、Appleが提訴された[15][16]。同年11月、Appleはこの問題に対処するため、iMessageの登録を解除する手順とオンラインツールを提供した[17][18]アメリカ合衆国連邦裁判所は、この訴訟をAppleに有利な形で却下した[19]

2016年3月21日、ジョンズ・ホプキンズ大学の研究者グループは、iMessageの暗号文を手に入れた攻撃者が、同サービスで送信された写真や動画を解読できる可能性があることを実証する報告書を発表した。この研究者らは、Appleがこの脆弱性にパッチを当てた後に研究結果を発表した[20][21]

2016年6月13日、AppleはiMessageにAppを追加できることを発表した。会話から離れることなく、iMessageでコンテンツの作成や共有、ステッカーの追加、ゲーム、支払いなどを行うことができる。独自のiMessage Appや、既存のiOS Appの拡張として開発することが可能になっており、コードを書かずに独自のステッカーAppを作成することも可能になっている[4]Sensor Towerによると、2017年3月現在、iMessage App Storeには約5,000のメッセージ対応Appが掲載されている[22]

Appleは、2020年6月22日に開催されたWWDC 2020の基調講演において、macOS Big Surを発表した。これまでiOS端末でしか利用できなかったメッセージエフェクトや位置情報の共有などの機能を搭載した、デザインを一新したメッセージAppを搭載した[23]

機能

iMessageは、テキスト、書類、写真、ビデオ、オーディオメッセージ、グループメッセージなどを、Wi-Fiやモバイルデータ通信で他のiOSまたはmacOSユーザーに送信することができる[1]。「メッセージAppで「SMSとして送信」を設定すると、送信者がインターネット接続を持っていない場合、SMSとして送信される。受信者がインターネットに接続していない場合は、接続が回復するまでメッセージをサーバーに保存している[24]

iMessageは、iOS 5以降を搭載したiPhoneiPadiPod touch、またはOS X Mountain Lion以降を搭載したMacのメッセージAppから利用できる。これらの端末を所有している場合、1つまたは複数のメールアドレスをiMessageに登録することができる。また、iPhoneの通信事業者が対応している場合、電話番号をiMessageに登録することもできる[25]。携帯電話番号にメッセージを送信する際、メッセージAppは、その携帯電話番号がiMessageに登録されているかを確認し、登録されていない場合は、SMSとして送信される[26]

メッセージAppでは、送信したメッセージが青い吹き出しで右に整列し、受信したメッセージがグレーの吹き出しで左に整列する。送信側の返信が開始されると、受信側のにグレーの吹き出しにリーダー記号が表示される[26]。iMessageで送信されたメッセージはすべてエンドツーエンド暗号化され、送信確認を活用して追跡できる[27]。また、既読した時間を表示させる既読機能も有効化できる[28]

iOS 10では、「吹き出しエフェクト」や「フルスクリーンエフェクト」といった様々なアニメーション効果をつけてメッセージを送る機能を搭載した[29][30]。送信ボタンを長押しするとエフェクトの種類が表示され、受信者に送信するエフェクトを選択できる[31]

iOS 14とmacOS 11 Big Surのリリースにより、個々の会話のピン留め、特定のメッセージの返信、メンション機能、グループ会話に画像の設定などの機能を搭載した[23]。また、iOSおよびiPadOSの多くのメッセージAppの機能が、macOSのメッセージAppに移植された[23]

技術

iMessageのプロトコルは、独自のバイナリ転送プロトコルであるApple Push Notification Service(APN)を多用している[32]。AppleのサーバーとKeep-Aliveを設定しており、接続ごとに特定の端末へのメッセージを送る時に使用される経路を認証する独自のデバイストークンを取得している。接続はiMessageのアクティベーション上での端末がリクエストしたクライアントサイドの証明書を使ったTLSで暗号化される[33]。メッセージはエンドツーエンド暗号化によって保護されているため、送受信者以外はアクセスができない仕様になっている[34]

Appleの白書によれば、iMessageを有効にした場合、端末上でRSA1280ビット、NIST P-256、EC256ビットの鍵を使用している暗号化の鍵と楕円曲線DSA(ECDSA)256ビットを使用している署名の鍵のペアを生成している。秘密鍵は端末に保存、公開鍵はApple Identity Service(IDS)に送信され、端末の電話番号やメールアドレス、APNアドレスと関連付けられる。また、iMessageは1つのアカウントで複数の端末から使用できるため、新たな端末を追加すると、その端末の暗号化・署名用公開鍵、APNアドレス、および関連する電話番号がディレクトリ・サービスに追加される。その際、既に登録されていた端末には警告メッセージが表示されることになっている[34][35]

送信者が受信者の電話番号やメールアドレスを入力すると、Apple Identity Service(IDS)から受信端末の公開鍵とAPNアドレスを取得、または名前を入力すると送信者の連絡先Appから関連する電話番号やメールアドレスを取得した後にIDSから受信端末の公開鍵とAPNアドレスを取得している。受信者の端末ごとにメッセージは暗号化され、公開暗号鍵と署名鍵をIDSから取得している[34][36][37]

送信側の端末は、受信側の端末ごとにランダムに生成された88ビットの値とHMAC-SHA256の鍵が送受信者の公開鍵とプレーンテキストからなる40ビットの値を構成し、連結すると128ビットの鍵となる。これを用いてカウンターモード(CTR)のAESでメッセージを暗号化している。40ビットの値は、受信側が復号されたプレーンテキストの整合性を確認するために使用され、メッセージ単位のAES鍵はRSA-OAEPを用いて受信端末の公開鍵に暗号化される。その後、暗号化されたメッセージと暗号化されたメッセージ鍵の組み合わせをSHA-1ハッシュ化し、送信端末の秘密署名鍵を用いてECDSAで署名する仕組みとなっている[34][36][37]

iOS 13以降およびiPadOS 13.1以降では、RSA暗号の代わりに楕円曲線統合暗号化スキーム(ECIES)暗号を使用することが可能になっている。これにより、受信端末ごとに1つずつ、暗号化されたメッセージテキスト、メッセージ鍵、および送信者のデジタル署名からなるメッセージが生成される。タイムスタンプやAPNのルーティングなどのメタデータは暗号化されず、APNとの通信は、前方秘匿TLSチャネルを用いて暗号化される。メッセージのテキストが長すぎる場合や、写真などの添付ファイルが含まれている場合、CTRモードのAESを用いてランダムに生成された256ビットの鍵で暗号化され、AppleのクラウドサービスであるiCloudにアップロードされる。添付ファイルのAES鍵、Uniform Resource Identifier(URI)、暗号化されたSHA-1ハッシュが、iMessageの暗号化によって受信側に送信される。グループメッセージの場合、各受信側の端末に上記の過程が繰り返される[34]

受信側では、各端末がAPNからメッセージのコピーを受信し、必要に応じてiCloudから添付ファイルを受信する仕組みになっている。他のプッシュ通知と同様にメッセージは配信されるとAPNから削除されるが、受信端末がオフライン状態の場合、メッセージは待ち行列に入り、最大30日間保存される[34]

評価

2012年11月12日、技術・戦略コンサルティング会社のチェタン・シャルマは、「2012年第3四半期の米国モバイルデータ市場の動向(US Mobile Data Market Update Q3 2012)」を発表し、アメリカ合衆国におけるSMS/MMSの利用の減少を指摘し、iMessageなどの代替となる無料メッセージングサービスを利用していることが原因ではないかと述べた[38]

セキュリティとプライバシー

2014年11月4日、電子フロンティア財団(EFF)は、iMessageを「Secure Messaging Scorecard」に掲載し、7点満点中5点の評価を与えた[39]

通信が送受信中に暗号化されていること、プロバイダーがアクセスできない鍵で通信が暗号化されていること(エンドツーエンド暗号化)、鍵が盗まれても過去の通信が安全であること(前方秘匿性)、セキュリティ設計が文書化されていること、最近の独立したセキュリティ監査を受けたことなどが評価された[39]

一方で、送信者が相手の身元を確認できないことや、ソースコードが第三者によるレビューを受けられないことなどが、評価の対象外となった[39]

2015年9月、暗号技術者およびセキュリティ技術者であるマシュー・グリーンは、iMessageが帯域外検証のための指紋を表示しないため、中間者攻撃が発生していないことを利用者が確認できないと指摘した。この投稿では、iMessageがRSA鍵交換を使用していることも指摘しており、EFFが主張しているのとは逆に、iMessageは前方秘匿性機能を備えていないと指摘している[40]

脚注

出典

  1. ^ a b c iPhone、iPad、iPod touch でメッセージ App を使う”. Apple Support. 2021年5月24日閲覧。
  2. ^ iMessage と SMS/MMS について”. Apple Support. 2021年5月24日閲覧。
  3. ^ Hoffman, Chris. “Apple’s iMessage Is Secure … Unless You Have iCloud Enabled” (英語). How-To Geek. 2021年5月24日閲覧。
  4. ^ a b iMessage Appとステッカー”. Apple Developer. 2021年5月23日閲覧。
  5. ^ a b iOSの新バージョンは、Notification Center、iMessage、Newsstand、Twitterとの連携など、200の新機能を搭載”. Apple Newsroom (日本). 2021年5月24日閲覧。
  6. ^ a b アップル、OS X Mountain Lionを7月25日に発売すると発表”. ギズモード・ジャパン (2012年7月25日). 2021年5月24日閲覧。
  7. ^ 米Apple、「iOS 5」と「iCloud」を発表”. ケータイ Watch. 株式会社インプレス (2011年6月7日). 2021年5月24日閲覧。
  8. ^ Apple、iPhone 4S、iOS 5およびiCloudの提供を開始”. Apple Newsroom (日本). 2021年5月24日閲覧。
  9. ^ iOS 5アップデート、10月12日に配信開始 iCloudも同日スタート”. ITmedia Mobile. 2021年5月24日閲覧。
  10. ^ Apple、100以上の新機能を搭載したOS X Mountain Lionのデベロッパプレビューをリリース”. Apple Newsroom (日本). 2021年5月24日閲覧。
  11. ^ アップル、Mac向けOSの最新版「OS X Mountain Lion」を発表”. MdN Design Interactive. 2021年5月24日閲覧。
  12. ^ Mountain Lion、Mac App Storeを通じて本日より提供開始”. Apple Newsroom (日本). 2021年5月24日閲覧。
  13. ^ Epstein, Zach (2012年10月23日). “Apple kicks off iPad mini event: 3 million new iPods sold, iOS 6 now on 200 million devices” (英語). BGR. 2021年5月23日閲覧。
  14. ^ Leswing, Kif. “Apple says people send as many as 200,000 iMessages per second” (英語). ビジネスインサイダー. 2021年5月23日閲覧。
  15. ^ Edwards, Jim. “Apple Has Been Sued Because iPhones Often Don't Deliver Text Messages To Android Users” (英語). ビジネスインサイダー. 2021年5月23日閲覧。
  16. ^ Apple Sued Over Vanishing Texts After IPhones Swapped Out”. ブルームバーグ. 2021年5月23日閲覧。
  17. ^ iPhone またはオンラインで iMessage の登録を解除する”. Apple Support. 2021年5月23日閲覧。
  18. ^ 電話番号の登録を削除して iMessage をオフにする - Apple サポート”. Apple Support. 2021年5月23日閲覧。
  19. ^ Slotnick, Stacy (2015年8月12日). “Apple Avoids Class Action Lawsuit Over iMessages” (英語). UrbanGeekz. 2021年5月23日閲覧。
  20. ^ Dancing on the Lip of the Volcano: Chosen Ciphertext Attacks on Apple iMessage”. ジョンズ・ホプキンズ大学. 2021年5月23日閲覧。
  21. ^ Nakashima, Ellen (2016年3月21日). “Johns Hopkins researchers poke a hole in Apple’s encryption” (英語). ワシントン・ポスト. ISSN 0190-8286. https://www.washingtonpost.com/world/national-security/johns-hopkins-researchers-discovered-encryption-flaw-in-apples-imessage/2016/03/20/a323f9a0-eca7-11e5-a6f3-21ccdbc5f74e_story.html 2021年5月23日閲覧。 
  22. ^ Six months in, iMessage App Store growth slows as developers lose interest” (英語). TechCrunch. 2021年5月23日閲覧。
  23. ^ a b c macOS「Big Sur」まとめ。iOSっぽくなったけどどう? #WWDC20”. ギズモード・ジャパン (2020年6月23日). 2021年5月23日閲覧。
  24. ^ What’s the Difference Between iMessage vs SMS?” (英語). Xfinity. 2021年5月24日閲覧。
  25. ^ How to use Apple’s iMessage on iOS 14”. Digital Trends. 2020年5月24日閲覧。
  26. ^ a b Apple Has Finally Stuck A Dagger Into SMS. I Love It.” (英語). TechCrunch. 2021年5月23日閲覧。
  27. ^ iMessage と SMS/MMS について”. Apple Support. 2021年5月23日閲覧。
  28. ^ iPhoneの「メッセージ」機能の既読表示って使ってますか? | エンジョイ!マガジン”. BIGLOBE (2016年1月17日). 2021年5月24日閲覧。
  29. ^ iOS 14: How to Use Bubble and Screen Effects in iMessage” (英語). iGeeksBlog (2020年3月12日). 2021年5月23日閲覧。
  30. ^ How to use and send effects to iMessage (Bubble and Screen)” (英語). iTechCliq (2021年5月8日). 2021年5月23日閲覧。
  31. ^ iPhoneのメッセージでアニメーション効果を送信する”. Apple Support. 2021年5月23日閲覧。
  32. ^ Apple Explains Exactly How Secure iMessage Really Is” (英語). TechCrunch. 2021年5月23日閲覧。
  33. ^ IMessage - IMFreedom Wiki, https://imfreedom.org/wiki/IMessage 
  34. ^ a b c d e f Apple Platform Security”. Apple. 2020年5月24日閲覧。
  35. ^ ECDSA: The digital signature algorithm of a better internet” (英語). The Cloudflare Blog (2014年3月10日). 2021年5月24日閲覧。
  36. ^ a b This Is How Apple Secures Your iMessage Messages And FaceTime Calls On Your Apple iPhone” (英語). News18 (2021年2月19日). 2021年5月24日閲覧。
  37. ^ a b Hauk, Chris (2021年1月11日). “Encrypted Messaging – What Is It, Why Should You Use It and What Are the Best Apps?” (英語). Pixel Privacy. 2021年5月24日閲覧。
  38. ^ Text messaging is on decline in US, says report - Technology on NBCNews.com”. NBC. 2012年11月14日時点のオリジナルよりアーカイブ。2021年5月23日閲覧。
  39. ^ a b c Secure Messaging Scorecard” (英語). 電子フロンティア財団 (2019年10月16日). 2021年5月23日閲覧。
  40. ^ Green, Matthew. “A Few Thoughts on Cryptographic Engineering” (英語). A Few Thoughts on Cryptographic Engineering. 2021年5月24日閲覧。

外部リンク



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「iMessage」の関連用語

iMessageのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



iMessageのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【iMessage】の記事を利用しております。
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのiMessage (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS