يوفر نظام التعريف الآلي (AIS) خدمات آلية للتحكم في الحركة وتجنب الاصطدام لقطاع النقل البحري في جميع أنحاء العالم. ونظرًا لافتقار نظام AIS إلى آليات الأمان، فإنه عرضة لسوء الاستخدام والاستغلال من قبل الخصوم غير المشروعين (مثل قراصنة البحر والإرهابيين والمهربين). ولمعالجة القضايا الأمنية لنظام AIS، اقترحنا في ورقة سابقة [1] نشر بنية تحتية للتشفير بالمفتاح العام القائم على الهوية دون شهادات في المجال البحري (mIBC) تعزز نظام AIS بقدرات إخفاء الهوية عند الطلب والمصادقة والتشفير. تتناول هذه الورقة جوانب تنفيذ تلك البنية التحتية. وعلى وجه الخصوص، نقترح استخدام نهج التشفير القائم على الهوية لساكاي-كاساهارا (IBE) لتنفيذ بنية mIBC، وفقًا لمعيار IEEE 1363.3-2013 للتشفير القائم على الهوية.
نظام التعريف الآلي (AIS) هو نظام اتصالات بحري لسلامة الملاحة [2]؛ وهدفه الرئيسي هو تحسين الوعي بالمجال البحري بما يتجاوز قيود الرادارات. تعطي الرادارات منظورًا جيدًا للساحل والأهداف المتحركة، لكن دقتها محدودة بوجود العوائق (مثل الجزر الصغيرة) وقيمة المقطع الراداري للأهداف والظروف الجوية. في المقابل، تظل إرسالات AIS دقيقة في الظروف الجوية الجيدة أو السيئة، وفي المناطق ذات العوائق المادية الكثيرة أو الحركة البحرية المزدحمة (مثل مضيق ملقا). تبث أجهزة AIS المحمولة على السفن دوريًا بيانات ثابتة (مثل اسم السفينة ورقم MMSI ورقم IMO والنوع والأبعاد وميناء المغادرة وميناء الوصول والشحنة وغيرها) وبيانات ملاحية ديناميكية لحظية (مثل النظام العالمي للملاحة بالأقمار الصناعية (GNSS) والتوجيه وعداد السرعة وغيرها) [3]. وعند تجميع هذه المعلومات الواردة من جميع أجهزة AIS القريبة وتراكبها على مخطط الملاحة الإلكتروني للسفينة، يحصل ضابط المناوبة على نظرة شاملة جيدة للحركة البحرية القريبة. ويخضع استخدام AIS للائحة 19 من الفصل الخامس لاتفاقية SOLAS، تحت إشراف المنظمة البحرية الدولية (IMO) والاتحاد الدولي للاتصالات (ITU).
تقوم العديد من المحطات الشاطئية المجهزة بمستقبلات AIS بإعادة توجيه بيانات AIS المستلمة إلى مواقع إنترنت متاحة للعموم. ولا شك أن هذه الممارسة توفر أداة قيمة للمجتمع البحري الدولي، لكنها قد تصبح أيضًا أداة مريحة للخصوم غير المشروعين. فالكشف غير المقيد عن بيانات AIS المذاعة عبر الإنترنت يمكن أن يعين قراصنة البحر وقد ينتهك خصوصية الركاب [4]، [5]. وبالإضافة إلى ذلك، تنعدم مصادقة البيانات المرسلة، إذ تعتمد أصالة مصدر بيانات AIS على رقم MMSI المرسل للسفينة واسمها. ومع ذلك، لا شيء منهما مُثبَّت رسميًا في أجهزة AIS، كما أن الرسائل ذات الصلة غير موقعة وغير معتمدة. وهكذا يمكن لأي شخص لديه معرفة بسيطة بآلية عمل AIS أن يستخدم مرسل AIS لإنشاء بيانات AIS مزيفة تنتحل سفنًا غير موجودة أو مساعدات ملاحية (AtoN) أو عمليات بحث وإنقاذ (SAR) [6]، [7]. وبدون مصادقة AIS، قد يكون المجال البحري حقيقيًا أو تمثيلًا مزيفًا للحركة البحرية في المنطقة. ويمثل التمثيل المزيف المحتمل للحركة البحرية تهديدًا شديد الخطورة للمجتمع البحري الدولي. وقد دُرس مشهد التهديدات لمنظومة AIS في [8]. وبناءً عليه، يصبح تعزيز أمن AIS مسألة ذات أهمية للمجتمع البحري. ويُنظر إلى نظام تبادل البيانات في النطاق VHF (VDES) بوصفه استخدامًا فعالًا للطيف الراديوي، يبني على قدرات AIS ويعالج المتطلبات المتزايدة للبيانات عبر النظام، بما في ذلك بعض الجوانب الأمنية. كما أن VDES آمن بالتصميم. غير أن الاعتماد الكامل لـ VDES غير متوقع قريبًا [9].
في [1] قدمنا مفهوم بنية التشفير بالمفتاح العام القائم على الهوية دون شهادات في المجال البحري (ويُشار إليها اختصارًا بـ mIBC)، واقترحنا حلًا لتعزيز أمن AIS. في هذه الورقة، نُصقل ذلك العمل ونبني عليه ونناقش قضايا التنفيذ. وعلى وجه التحديد، نناقش تنفيذ أنماط التشغيل الإضافية لـ AIS المقترحة في [1] باستخدام بروتوكول AIS ومواصفات بنية الرسائل، ومعيار IEEE 1363.3-2013، ومخطط ساكاي-كاساهارا للتشفير القائم على الهوية (IBE).
تنظم بقية هذه الورقة على النحو التالي: في القسم الثاني نناقش الأعمال ذات الصلة. ويستعرض القسم الثالث بإيجاز مقترح تأمين AIS في عملنا السابق [1]، لجعل هذه الورقة مكتفية بذاتها. وفي القسم الرابع نناقش التنفيذ السلس لأنماط استخدام AIS عبر بروتوكول النقل التقليدي لـ AIS. وتناقش الأقسام الفرعية الإعداد الأولي وتشغيل أنماط استخدام mIBC-AIS الثلاثة (3 و4 و5) التي تستخدم التشفير وتحيد عن الأنماط القياسية. ويعرض القسم الخامس بنية رسائل AIS في mIBC-AIS ويصف تشغيل تطبيق mIBC-App، وهو تطبيق مصمم لضمان الإرسال/الاستقبال الشفاف لرسائل mIBC-AIS عبر بروتوكول AIS التقليدي. وفي القسم السادس نناقش العبء التشغيلي الذي تفرضه بنية mIBC المقترحة. وأخيرًا، يلخص القسم السابع استنتاجاتنا.
في [10] اقتُرح بروتوكول جديد لـ AIS يعتمد على نهج أمني من ثلاث طبقات مع التحقق من هوية السفينة عبر شهادات تصدرها سلطة اعتماد. يفترض هذا الحل وجود بنية تحتية تشفيرية تزود المجتمع البحري ببعض القدرات التشفيرية التي يفتقر إليها AIS كمصدر. ويستخدم المؤلفون في [11] نظام AIS وهويات الخدمة المتنقلة البحرية (MMSI) للسفن وأطرافًا ثالثة موثوقة لاقتراح مخطط مصادقة متبادلة من ثلاث خطوات يستخدم AIS كوسيلة اتصال لتوفير قدرات المصادقة للسفن بدلًا من تزويد AIS نفسه بقدرات أمنية إضافية.
اقترح المؤلفون في [12] حلًا يقوم على إنشاء بنية مفاتيح عامة (PKI) بحرية عالمية على غرار x.509، حيث تكون سلطات التسجيل والاعتماد هي المنظمة البحرية الدولية والسلطات البحرية الوطنية. يعاني هذا المقترح من صعوبات تنفيذية، لأن تنفيذ بنية PKI في بيئة بحرية عالمية قد يكون مهمة شاقة ومعقدة، ولأن الشهادات مكلفة جدًا للموارد في بيئة الاتصالات البحرية اللاسلكية الصعبة والمكلفة. وللأسباب نفسها، فإن الأعمال التي تهدف إلى تحسين أمن أنظمة مماثلة، مثل نظام البث التلقائي المعتمد على المراقبة (ADS-B) في الطيران، وتقترح استخدام التشفير القائم على الهوية والتشفير المتماثل [13]، [14]، غير قابلة للتطبيق في البيئة البحرية. كما أن هناك أعمالًا جارية لم يتضح بعد ما إذا كانت ستؤثر في مستقبل أمن AIS وكيف [15]. توجد منتجات AIS تجارية تستخدم التشفير المتماثل (مثل [16]). ومع ذلك، فإنها توفر AIS مشفرًا خاصًا فقط في السفن المجهزة بالمنتج نفسه. وبالإضافة إلى ذلك، فإن الاعتماد العالمي لنظام تشفير متماثل يتطلب إدارة مفاتيح متماثلة على عدد هائل من السفن في جميع أنحاء العالم هو مهمة معقدة للغاية إن لم تكن مستحيلة. لذا فإن مثل هذا الحل غير آمن للأنظمة ذات الخصائص المشابهة لـ AIS [17].
تستند المخططات التشفيرية التي نستخدمها لتنفيذ mIBC إلى مخططات تشفير قائمة على الهوية مؤسسة على مسألة انعكاس ديفي-هيلمان الثنائية من الرتبة q (q-BDHIP)، وتحديدًا مخطط ساكاي-كاساهارا للتشفير القائم على الهوية [18]، الذي أُثبت أمنه في [19]. يحدد معيار IEEE 1363.3-2013 «المعيار الخاص بتقنيات التشفير القائمة على الهوية باستخدام الاقترانات» [20] مخططات تشفير قائمة على الهوية تستند إلى التطبيقات الثنائية الخطية على المنحنيات الإهليجية المعروفة بالاقترانات. يصف هذا المعيار ثمانية مخططات تشفير قائمة على الهوية تستخدم الاقترانات في تنفيذها. تشمل هذه المخططات مناهج للتشفير والتوقيعات الرقمية والتوقيع المشفر وتبادل المفاتيح. ويمكن استخدام هذه المخططات لتشفير كل من البيانات المخزنة والبيانات العابرة. ويصف المعيار خوارزميات لحساب الاقترانات ويعطي معلمات مناسبة لتنفيذ المخططات المحددة بمستويات أمنية معيارية في الصناعة [21]. وتُوصف تطبيقات التشفير القائم على الهوية دون شهادات (IBC) في الملاحة في [17]، [22]. كما يُناقش استخدام الأسماء المستعارة في تطبيقات النقل في [23]، [24].
في [1]، اقترحنا تعزيز أمن AIS باستخدام التشفير بالمفتاح العام القائم على الهوية (IBC) [25]، [20] كأساس لبنية تحتية دولية بحرية للتشفير القائم على الهوية (mIBC)، تحت إشراف المنظمة البحرية الدولية. التشفير القائم على الهوية هو نوع من التشفير بالمفتاح العام اقترحه شامير عام 1985 [25]. في البنى التحتية للمفاتيح العامة (PKIs)، يمتلك كل كيان زوجًا من المفاتيح المرتبطة رياضيًا، مفتاحًا خاصًا (سريًا) ومفتاحًا عامًا. فالبيانات المشفرة بالمفتاح الخاص تُفك بالمفتاح العام المقابل والعكس صحيح. ومن عيوب البنى التحتية للمفاتيح العامة [26] أن الكيانات المشاركة يجب أن تحصل بطريقة ما على المفاتيح العامة للكيانات الأخرى المشاركة. والحل هو استخدام شهادات خاصة تربط اسم الكيان بمفتاحه العام. لكن هذا يطرح مشكلة جديدة؛ إذ يجب أن تكون الكيانات المشاركة قادرة على الحصول بشكل آمن على شهادات المشاركين الآخرين. وبدلًا من الشهادات، تستخدم أنواع التشفير القائم على الهوية تعريفًا فريدًا معروفًا للعموم للكيان كمفتاح عام له (مثل اسم الكيان أو بريده الإلكتروني أو رقم MMSI أو رقم MMSI المستعار في [1]).
لسوء الحظ، تأتي هذه الميزة بثمن؛ فالبنى التحتية للتشفير القائم على الهوية تحتاج إلى وجود منسق مركزي جدير بالثقة. يقوم المنسق المركزي الموثوق بإعداد بنية IBC، ويولد جميع المفاتيح الخاصة (السرية) للكيانات المشاركة في IBC. ثم تحصل الكيانات المشاركة، عبر قناة آمنة، على مفاتيحها الخاصة (السرية) من المنسق المركزي الموثوق. والعيب الرئيسي للتشفير القائم على الهوية هو أنه، بالإضافة إلى مالك المفتاح، يعرف المنسق المركزي الموثوق المفاتيح الخاصة (السرية). ومن ناحية أخرى، فإن المزايا الرئيسية للتشفير القائم على الهوية مقارنة بالبنية التقليدية للمفاتيح العامة هي بساطة البنية التحتية وتوفير الموارد والمعلومات المثبتة ذاتيًا عن المفتاح العام [22]، [27]، [28]، [29].
يمكن تنفيذ وظيفة مولد المفاتيح الخاصة في mIBC (mIBC-PKG) إما بواسطة سلطة واحدة (مثل المنظمة البحرية الدولية) أو بواسطة عدد من بنى mIBC المتعددة الموثوقة فيما بينها والتي تعمل بالتوازي. وللتبسيط، نفترض فيما يلي وجود مولد مفاتيح خاصة دولي بحري واحد فقط (IMO-mIBC-PKG) كوكالة تابعة للمنظمة البحرية الدولية. ومع ذلك، فإن تنفيذ الخيار الآخر مباشر. يتضمن النهج تعريف خمسة أنماط استخدام متميزة لـ AIS بميزات أمنية متنوعة للاختيار من بينها وفقًا لاحتياجات السفينة أثناء الرحلة، وهي:
تظهر علاقاتها المتبادلة في الشكل 1. وترد تفاصيل بنية الرسائل في القسم الخامس.
الكيانات المشاركة في تنفيذ mIBC هي منسق موثوق (يُشار إليه أيضًا باسم خادم المفاتيح [20] أو مولد المفاتيح الخاصة PKG [1]) والمشاركون في mIBC. والمنسق الموثوق هو كيان يثق به جميع المشاركين في المخطط. في هذا العمل، ولأجل الكفاءة والتبسيط، نُسند هذا الدور إلى جزء من المنظمة البحرية الدولية نسميه مولد المفاتيح الخاصة لبنية mIBC في المنظمة البحرية الدولية (IMO-mIBC-PKG). ويمكن أن يكون المشاركون في mIBC أجهزة AIS أو خفر السواحل أو سفن الدوريات أو شركات الشحن أو السفن وغيرها. وقد يتولى المشاركون دور المرسل أو المستقبل لرسائل AIS أو كليهما. ويكون IMO-mIBC-PKG مسؤولًا عن عمليتين أوليتين في mIBC، وهما الإعداد الأولي للمخطط واستخراج (إنشاء) المفاتيح الخاصة (السرية) لكل كيان مشارك. ونصفهما فيما يلي.
تتمثل العملية الأولى لـ IMO-mIBC-PKG في تعريف عدد من المعلمات التشفيرية، على النحو المحدد في [20] و[31]، والتي تؤدي إلى توليد مفتاح الخادم السري الرئيسي ومفتاح الخادم العام الرئيسي المقابل. وتحديدًا: إنشاء مولد أرقام عشوائية (باتباع معايير RFC5091 أو FIPS186-2 أو X9.62)؛ واختيار معلمة الأمن t، وهي حجم (بالبتات) عدد أولي p سيكون رتبة زمر دورية ثلاثية للتطبيق الثنائي الخطي G1 وG2 وGT (وكلما كبرت قيمة t زاد أمن المخطط)؛ وإيجاد عدد أولي p حيث p > 2^t [31]؛ وتوليد ثلاث زمر دورية للتطبيق الثنائي الخطي من الرتبة الأولية p باتباع [19]، [32]، [31]؛ واختيار PG2 مولدًا عشوائيًا لـ G2؛ وإيجاد PG1 عنصرًا من G1 كمولد عشوائي لـ G1 بحيث توجد مُشاكَلة فعالة φ من G2 إلى G1 بحيث φ(PG2) تساوي PG1؛ وتعريف التطبيق الاقتراني الثنائي e من G1 × G2 إلى GT؛ واختيار مفتاح سري رئيسي عشوائي للخادم (Mskey) من Zp؛ والحساب المسبق لقيمة الاقتران e(PG1, PG2) في GT؛ وحساب مفتاح الخادم العام الرئيسي المقابل (MPUB). أما العملية الثانية لـ IMO-mIBC-PKG فهي تعريف دوال التجزئة التشفيرية التي ستستخدمها جميع الكيانات المشاركة: (H1) لتجزئة رقم MMSI الخاص بالمستقبل؛ و(H2) كدالة تجزئة تشفيرية للتحقق من التوقيع؛ و(H3) للجمع الحصري (XOR) مع بيانات AIS أو مفتاح AES؛ و(H4) لاشتقاق معامل التعمية؛ و(H5) للجمع الحصري مع النص الصريح. وأخيرًا، ينشر IMO-mIBC-PKG المعلمات العامة لـ mIBC (mIBC-PP) على جميع معدات AIS الممكّنة لـ mIBC باستخدام قناة آمنة (مثل البطاقات الذكية أو الرموز الذكية). كما أن IMO-mIBC-PKG مسؤول عن الحفاظ على سرية مفتاح الخادم السري الرئيسي (Mskey)، الذي يؤدي دور المفتاح الخاص لسلطة الاعتماد في بنية X.509، فيتطلب المستوى نفسه من الحماية المتقدمة وخطط التعافي من الكوارث في حال الاختراق.
يستخدم IMO-mIBC-PKG رقم MMSI (أو أرقام MMSI المستعارة) كتعريف معروف للعموم للسفينة ويجمعه مع المعلمات العامة (PP) ومفتاح الخادم السري الرئيسي (Mskey) لاستخراج المفتاح الخاص (السري) المقابل (SK_MMSI) للسفينة. فالاستخدام الإلزامي لمفتاح الخادم السري الرئيسي (Mskey) في عملية الاستخراج يمنع الخصم من إنشاء مفاتيح خاصة (سرية) مزيفة حتى عندما يعرف رقم MMSI (المتاح للعموم) للكيان والمعلمات العامة (المتاحة للعموم) لـ mIBC. والخطوات هي: تمثيل رقم MMSI أو رقم MMSI المستعار كسلسلة بتات؛ وحساب التجزئة التشفيرية H1(MMSI) أو H1(MMSI المستعار)؛ ثم حساب المفتاح الخاص (السري) SK_MMSI الذي يساوي (H1(MMSI) زائد Mskey) مرفوعًا للأس سالب واحد مضروبًا في Q2 عنصرًا من G2. وتكمن المشكلة الرئيسية لمخطط التشفير القائم على الهوية في هذه العملية. فلأن المفتاح الخاص SK_MMSI يُولَّد مركزيًا بواسطة IMO-mIBC-PKG، على عكس البنية التقليدية للمفاتيح العامة، تنشأ مشكلتان. أولًا، يعرف IMO-mIBC-PKG المفتاح الخاص للكيان، ومن ثم يعتمد أمن البنية التحتية وخاصة عدم الإنكار اعتمادًا كبيرًا على جدارة IMO-mIBC-PKG بالثقة. وثانيًا، يجب نقل المفتاح الخاص من IMO-mIBC-PKG إلى جهاز AIS الخاص بالكيان عبر قناة آمنة (مثل البطاقات الذكية أو الرموز الذكية). في [1] اقترحنا النقل اليدوي على أجهزة مقاومة للعبث بواسطة موظفين مخولين، لكن يمكن إيجاد حلول أكثر ملاءمة (مثل اتصالات الإنترنت الآمنة).
يوقع جهاز AIS للكيان المرسل بيانات AIS المراد إرسالها بمفتاحه الخاص (SK_MMSI). يستخدم المرسل المعلمات العامة لـ mIBC ورقم MMSI الخاص به ومفتاحه الخاص وعددًا عشوائيًا وبيانات AIS المراد توقيعها. ثم يرسل المرسل بيانات AIS الموقعة. والعملية هي: المدخلات هي الرسالة المراد توقيعها AISdata، والمعلمات العامة mIBC-PP، وعدد صحيح عشوائي r (بين 0 وp-1) مولد بمولد الأرقام العشوائية، والمفتاح الخاص للموقّع. والحساب هو: u يساوي e(PG1, PG2) مرفوعًا للأس r؛ وh يساوي H2(AISdata, u)؛ وS يساوي (r ناقص h) مضروبًا في SK_SIGNER. والمخرجات هي الرسالة الموقعة وهي الثلاثية (AISdata, h, S). يمكن لأي كيان مستقبل التحقق من أصالة بيانات AIS المستلمة باستخدام رقم MMSI (أو رقم MMSI المستعار) المتاح للعموم للمرسل والمعلمات العامة لـ mIBC (mIBC-PP). وقد يكون المتحقق أي معدات (عتاد/برمجيات) يمكنها استقبال بيانات AIS مباشرة (مثل جهاز AIS) أو بيانات AIS المعاد توجيهها عبر الأقمار الصناعية أو الإنترنت (مثل برمجيات خاصة في وحدات إنفاذ القانون أو سلطات الموانئ أو شركات الشحن). والعملية هي: المدخلات هي الثلاثية الموقعة (AISdata, h, S) والمعلمات العامة الرسمية ورقم MMSI الخاص بالموقّع (لاحظ أن H3 وH4 وH5 لا تُستخدم في هذه العملية). والحساب هو: u يساوي e(S, H1(MMSI_SIGNER) PG1 زائد MPUB) مضروبًا في e(PG1, PG2)؛ والتحقق: التوقيع صحيح إذا كان h يساوي H2(AISdata, u) وغير صحيح خلاف ذلك. والمخرجات هي توقيع صحيح أو غير صحيح، وبالتالي بيانات AIS صحيحة أو غير صحيحة.
يستخدم المرسل المعلمات العامة لـ mIBC ورقم MMSI الخاص بالمستقبل لتشفير بيانات AIS (التي يمكن أن تكون مفتاح AES)، ويرسل النص المشفر عبر جهاز AIS عادي. وخطوات التشفير هي: المدخلات هي النص الصريح AISdata والمعلمات العامة الرسمية وعدد صحيح عشوائي σ ورقم MMSI الخاص بالمستقبل. والحساب هو: r يساوي H4(σ, AISdata)؛ وgr يساوي e(PG1, PG2) مرفوعًا للأس r؛ وU يساوي r مضروبًا في (H1(MMSI_RECEIVER) PG1 زائد MPUB)؛ وV يساوي σ XOR مع H3(gr)؛ وW يساوي AISdata XOR مع H5(σ). والنص المشفر الناتج هو الثلاثية c التي تساوي (U, V, W). يمكن لجميع أجهزة AIS الممكّنة في النطاق استقبال البيانات المشفرة، لكن المستقبل الوحيد الذي يعرف المفتاح الخاص في mIBC المقابل لرقم MMSI الخاص بالمستقبل هو من يستطيع فك تشفير البيانات. والخطوات هي: المدخلات هي المعلمات العامة الرسمية والمفتاح الخاص للمستقبل والنص المشفر c الذي يساوي (U, V, W). والحساب هو: g يساوي e(U, SK_RECEIVER)؛ وσ يساوي V XOR مع H3(g)؛ والنص الصريح AISdata يساوي W XOR مع H5(σ)؛ وr يساوي H4(σ, AISdata). والمخرجات هي: صحيح إذا كان U يساوي r مضروبًا في (H1(MMSI_RECEIVER) PG1 زائد MPUB)، وإلا فالبيانات المستلمة غير صحيحة.
إن استخدام AIS المشفر بين سفن ما يسمى «القوة الزرقاء» ليس جديدًا، وتوجد منتجات تجارية تنفذه باستخدام التشفير المتماثل. ومع ذلك، فإنها توفر AIS مشفرًا خاصًا فقط في السفن المجهزة بالمنتج نفسه. فعلى سبيل المثال، يدعم نظام SAAB R5 Supreme W-AIS الشفرات المتماثلة DES وAES وBlowfish. ومن الأمثلة الأخرى على نهج متوافق مع عملنا نظام التعريف الآلي المشفر (EAIS) الذي اقترحه خفر السواحل الأمريكي في [33]. ويكمن ابتكارنا في استخدام وضع mIBC-SK-IBE-AIS (mode 4) لنشر المفتاح المتماثل للسماح للمجتمع البحري ووحدات إنفاذ القانون بإنشاء «قوات زرقاء» مخصصة، أو شبكات AIS مخصصة (AISANETs) [1]. ووفقًا للتحليل في [33]، يكفي مفتاح AES بطول 128 بت للبيانات المشفرة لـ AIS بين أعضاء «قوة زرقاء» لإنفاذ القانون. غير أن «القوات الزرقاء» تميل إلى استخدام تركيبات قوية من الشفرات وأحجام المفاتيح، لأن المفتاح المتماثل في النهج الحالي يُولَّد مرة واحدة ويُحمَّل مسبقًا على أجهزة AIS ويُتوقع أن يظل آمنًا لفترة أطول بكثير من يوم أو يومين. ومن ناحية أخرى، يستخدم نهجنا لشبكات AIS المخصصة (AISANETs) مفتاحًا متماثلًا لفترة بضع ساعات فقط، ثم يُولَّد مفتاح جديد ويُنشر على السفن المشاركة.
يجب أن تكون بنية mIBC شفافة قدر الإمكان لتطبيقات AIS الحالية. لذلك، يجب ألا تغير أنماط mIBC-AIS الجديدة بروتوكول AIS المستخدم حاليًا. ولتحقيق هذا الهدف، نقدم تطبيقًا جديدًا باسم «mIBC-AIS-App»، موصوفًا في القسم 5.3، ليُستخدم كواجهة لتنفيذ مخطط mIBC-AIS عبر البنية التحتية المتاحة حاليًا لـ AIS. ومن المهم ملاحظة أننا نستخدم بروتوكول AIS فقط كبروتوكول نقل حامل أساسي لإرسال بيانات mIBC-AIS الموقعة/المشفرة. وعلى وجه الخصوص، تُغلَّف بيانات mIBC-AIS بواسطة تطبيق mIBC-AIS-App في القسم الفرعي لحمولة البيانات في رسائل AIS الحالية ذات المعرف 6 والمعرف 8. وكما سنرى، فإن هاتين الرسالتين الخاصتين تسمحان بتغليف بيانات تطبيقات اعتباطية غير مرتبطة بـ AIS. فينشئ تطبيق mIBC-AIS-App الخاص بالمرسل بيانات mIBC المناسبة ثم يغلفها في رسائل AIS الخاصة (المعرف 6 و8) التي تُرسل عبر البنية التحتية القياسية لـ AIS. وفي الطرف الآخر، يفك تطبيق mIBC-AIS-App الخاص بالمستقبل التغليف ويعالج بيانات mIBC المستلمة. وهذا مشابه لتغليف بيانات بروتوكول التحكم في الإرسال (TCP) داخل حزم بروتوكول الإنترنت (IP).
يعرّف نظام AIS سبعة وعشرين نوعًا مختلفًا من رسائل AIS تُميَّز بمعرف الرسالة [2]. فالرسائل ذات المعرف 1 و2 و3 هي تقارير المواقع، والرسائل ذات المعرف 4 هي تقارير المحطة الأساسية، والرسائل ذات المعرف 21 هي تقارير محطة المساعدات الملاحية (AtoN) وغيرها. وقد تستخدم كل رسالة AIS من فترة زمنية واحدة إلى خمس فترات. وبيانات الحمولة المتاحة في كل فترة زمنية هي 168 بت، وتوجد أنواع من رسائل AIS (مثل «رسالة AIS الثنائية المعنونة» (المعرف 6) و«رسالة AIS الثنائية المذاعة» (المعرف 8)) التي قد تستخدم الحد الأقصى وهو 5 فترات زمنية، أي ما يزيد قليلًا عن 900 بت من بيانات الحمولة. كما تُصنف رسائل AIS وفقًا لأولويتها (من 1 إلى 5) في تسلسل الفترات الزمنية. وتشغل غالبية رسائل AIS ذات الأولوية الأولى فترة زمنية واحدة فقط، أي 168 بت من بيانات الحمولة. ومن الاستثناءات البارزة تقرير المساعدات الملاحية (ATON) (المعرف 21) الذي يحتاج إلى 272–360 بت. ويوضح الجدول 1 مثالًا لبنية تقرير موقع AIS نموذجي من الفئة A (المعرف 1) مكوّن من 168 بت تشمل: معرف الرسالة (6 بتات)، ومعرف المستخدم أي رقم MMSI (30 بتًا)، والحالة الملاحية (4 بتات)، ومعدل الدوران (8 بتات)، والسرعة فوق الأرض (10 بتات)، ودقة الموقع (بت واحد)، وخط الطول (28 بتًا)، وخط العرض (27 بتًا)، والمسار فوق الأرض (12 بتًا)، والاتجاه الحقيقي (9 بتات)، والطابع الزمني (6 بتات)، ومؤشر المناورة الخاصة (بتان)، والاحتياطي (3 بتات)، وعلم RAIM (بت واحد)، وحالة الاتصال (19 بتًا). ويملي معيار AIS البنية الدقيقة لكل رسالة، بما في ذلك المعلمات العامة الموجودة في جميع رسائل AIS والمعلمات الخاصة بكل رسالة. وتتضمن رسائل AIS طابعًا زمنيًا (بطول 6 بتات) هو الثانية من التوقيت العالمي المنسق (UTC) التي أُنشئ فيها التقرير بواسطة نظام تحديد الموقع الإلكتروني.
ثمة رسالتا AIS، وهما الرسالة ذات المعرف 6 والرسالة ذات المعرف 8، مثيرتان للاهتمام بشكل خاص لإرسال بيانات AIS الموقعة/المشفرة من/إلى تطبيق mIBC-AIS-App. ومن خصائصهما المفيدة وجود قسم فرعي معزول لحمولة البيانات يمكن للتطبيقات المسجلة غير المرتبطة بـ AIS استخدامه لنقل بياناتها [2]. وعلى وجه التحديد، تخصص الرسالتان ذاتا المعرف 6 والمعرف 8 قسم حزمة البيانات الثنائية على النحو التالي: أ) 16 بتًا كمعرف للتطبيق، وب) 920/952 بتًا لحمولة بيانات التطبيق الاعتباطية للتطبيقات المسجلة. وهكذا يمكن تسجيل تطبيق mIBC-AIS-App كتطبيق AIS إضافي بمعرف فريد، ويمكن استخدام حمولة بيانات التطبيق في الرسالتين ذاتي المعرف 6 والمعرف 8 لنقل بيانات تطبيق mIBC-AIS-App. توفر «رسالة AIS الثنائية المعنونة» (المعرف 6) مساحة قصوى قدرها 920 بتًا لبيانات التطبيق الاعتباطية المعنونة إلى مستقبل محدد (أي أن جميع أجهزة AIS التي لا تحمل رقم MMSI المعنون المحدد ستتجاهل الرسالة المستلمة ذات المعرف 6). ويوضح الجدول 2 رسالة AIS ثنائية معنونة نموذجية (المعرف 6) مع بيانات mIBC-AIS-App مغلفة في قسم «البيانات الثنائية». يتضمن هذا القسم قسمين فرعيين يُستخدمان لإرسال بيانات mIBC-AIS اللازمة لتنفيذ الوضع الآمن 4. ووفقًا لمواصفات AIS للرسالة ذات المعرف 6، فإن التطبيق الوحيد المشار إليه بمعرفه في القسم الفرعي «معرف التطبيق» هو المسؤول عن البيانات المغلفة داخل القسم الفرعي «بيانات التطبيق». لذلك نستخدم «معرف التطبيق» للإشارة إلى تطبيق mIBC-AIS-App بوصفه التطبيق المسؤول عن بيانات mIBC-AIS المغلفة داخل القسم الفرعي «بيانات التطبيق». وبما أن البنية التحتية القياسية لـ AIS لا تتفاعل مع حمولة البيانات المخزنة داخل قسم «البيانات الثنائية» للرسالة ذات المعرف 6، فإن بيانات mIBC-AIS المغلفة تكون معزولة.
يمكن اتباع نهج مطابق للإرسال الشفاف لبيانات mIBC-AIS مع «رسالة AIS الثنائية المذاعة» (المعرف 8). توفر «رسالة AIS الثنائية المذاعة» (المعرف 8) مساحة قصوى قدرها 952 بتًا لبث حمولة التطبيق الاعتباطية. ويُستخدم هذا النوع من رسائل AIS لنقل البيانات اللازمة لتنفيذ أنماط AIS الآمنة 2 و3 و5. وبنية رسالة AIS الثنائية المذاعة (المعرف 8)، كما هو مبين في الجدول 3، مطابقة لبنية الرسالة ذات المعرف 6، مع فارق ملحوظ وهو غياب قسم «معرف الوجهة» في الرسالة المذاعة (المعرف 8)، مما يوفر 30 بتًا. ويجعل عزل حمولات بيانات mIBC-AIS المغلفة تنفيذ mIBC-AIS المقترح شفافًا للبنية التحتية القياسية الحالية لـ AIS. أما رسالة mIBC-Authenticated-AIS (mode 2) فهي إرسال إذاعي نغلفه داخل «رسالة AIS ثنائية مذاعة» نموذجية (المعرف 8)، التي توفر مساحة قصوى قدرها 952 بتًا لبيانات التطبيق الاعتباطية. فإذا استخدمنا منحنيات MNT مع مفتاح بطول 128 بت، فإن التوقيع وحده بطول 768 بت؛ وهذا يتيح حمولة مفيدة قدرها 168 بت لبيانات AIS الأصلية. وغالبية رسائل AIS «ذات الأولوية» النموذجية التي يبثها AIS أقصر من 168 بت. ومن ثم يمكن تغليفها، مع توقيع mIBC-AIS الخاص بها، داخل «رسالة AIS ثنائية مذاعة» واحدة (المعرف 8). ولسوء الحظ، توجد رسائل AIS مهمة، مثل تقرير المساعدات الملاحية (ATON) (الرسالة 21)، التي تحتاج إلى 272–360 بت من المساحة؛ وهذه لا يمكن تغليفها مع توقيعها داخل رسالة «AIS ثنائية مذاعة» واحدة (المعرف 8). وبالإضافة إلى ذلك، قد يستخدم مستوى أمني أعلى لـ mIBC معلمات تشفيرية تُنتج توقيعات أطول يستحيل تغليفها ضمن رسالة واحدة ذات معرف 8. ولحل ذلك، يوفر التنفيذ المقترح تقسيم التوقيع وبيانات AIS الأصلية إلى رسائل «AIS ثنائية مذاعة» متعددة (المعرف 8)، كما في الشكل 2. ويكون تطبيق mIBC-AIS-App عند طرفي قناة الاتصال مسؤولًا عن التقسيم وإعادة البناء المناسبين للتوقيع وبيانات AIS الأصلية في رسائل المعرف 8 المتعددة. وتُبنى الرسالتان الأولى والثانية كما في الجدولين 4 و5 على التوالي. وكما سنرى في القسم التالي، فإن عبء النطاق الترددي لوضع mIBC-SK-IBE-AIS (mode 4) كبير. ولهذا نقترح استخدام وضع mIBC-SK-IBE-AIS (mode 4) أساسًا لنشر مفاتيح AES المتماثلة الجديدة لوضع mIBC-AES-AIS (mode 5). ونعتقد أن خوارزمية AES-128 بطول مفتاح 128 بت توفر أمنًا أكثر من كافٍ لـ AIS في المناطق غير الآمنة. وتذكر أننا في حالتنا لا نحتاج إلى تخزين بيانات سرية لسنوات، بل فقط لحماية بيانات AIS المرسلة لساعات أو حتى بضعة أيام. في هذه الحالة، سيكون النص المشفر مساويًا تقريبًا للمفتاح، أي بطول 128 بت. لذلك تكفي على الأكثر رسالتان ثنائيتان معنونتان (المعرف 6) بحمولتي حزمة مدمجتين تزيدان عن 1800 بت لنقل بيانات وضع mIBC-SK-IBE-AIS (mode 4). وتفاصيل تقسيم الرسائل مطابقة لبناء الرسائل لوضع mIBC-Authenticated-AIS (mode 2). وتُظهر بنية الرسالة الأولى «رسالة AIS معنونة» (المعرف 6) المغلفة لمفتاح AES بطول 128 بت في وضع mIBC-SK-IBE-AIS (mode 4) في الجدول 6. ولاحظ أن تطبيق mIBC-AIS-App يحسب الحجم الإجمالي لمفتاح AES مع الثلاثية المشفرة للنص المشفر (U, V, W) ويحدد عدد الرسائل ذات المعرف 6 (أي الأجزاء) التي يجب إرسالها. أما بنية رسالة AIS المشفرة المحتملة عبر تطبيق mIBC-AIS-App في وضع التشفير (mode 5) فتظهر في الجدول 7. ولاحظ أن تطبيق mIBC-AIS-App يحسب الحجم الإجمالي لبيانات AIS المشفرة. واعتمادًا على الشفرة المتماثلة (مثل AES128) والوضع (مثل CBC أو CTR) والمعلمات الأخرى، يتراوح العبء من 16 بايت (مثلًا للقيمة الأولية IV بالإضافة إلى الحشو من 1 إلى 16 بايت لحشو PKCS#5 إذا استخدمنا وضع CBC). لذلك، بالنسبة لرسالة AIS قياسية، تكفي رسالة AIS ثنائية مذاعة واحدة (المعرف 8) (أي من فترة واحدة إلى 5 فترات).
تطبيق mIBC-AIS-App هو قطعة برمجية يمكن تنفيذها إما كتحديث للبرامج الثابتة على أجهزة AIS الحالية أو على عتاد منفصل يُوصَل بين جهاز AIS وهوائي AIS. وفي كلتا الحالتين، سيكون تطبيق mIBC-AIS-App وسيطًا بين نظام AIS العامل حاليًا وهوائي AIS للسفينة. ويتولى تطبيق mIBC-AIS-App المسؤولية الوحيدة عن إرسال جميع رسائل AIS الممكّنة لـ mIBC. فيعترض رسائل AIS ويستخرج بياناتها ويعالجها تشفيريًا ويغلفها في رسائل AIS ذات المعرف 6 و/أو 8 ويوجهها إلى هوائي AIS. وعلى وجه الخصوص، يقوم تطبيق mIBC-AIS-App بما يلي: يوجه رسائل AIS النموذجية دون تغيير إلى هوائي AIS/جهاز AIS على التوالي عند وضع mIBC-Standard-AIS (mode 1)؛ وينفذ أنماط mIBC-AIS 2 و3 و4 و5؛ ويخزن (أو يصل إلى) المعلمات التشفيرية (أي المعلمات العامة ورقم MMSI أو رقم MMSI المستعار وزوج مفاتيح mIBC للسفينة)؛ وينفذ جميع العمليات والحسابات والإجراءات التشفيرية؛ ويوجه بيانات AIS الموقعة/المشفرة إلى الأجهزة الطرفية المناسبة، أي شاشات AIS أو ECDIS أو أي برمجيات/عتاد متوافق آخر للسفينة؛ ويغلف/يفك تغليف بيانات mIBC-AIS من/إلى رسائل AIS ذات المعرف 6 و8. ويوضح الشكلان 3 و4 استخدام تطبيق mIBC-AIS-App وتفاعله مع أجهزة AIS. ففي الشكل 3 يُحوَّل تطبيق mIBC-AIS-App إلى وضع mIBC-Standard-AIS (mode 1) وبالتالي لا يتدخل في تشغيل AIS. فيرسل جهاز AIS المرسل — عبر رسالة AIS قياسية ذات معرف 1 — البيانات الثابتة وبيانات الرحلة والبيانات الموضعية والملاحية المجمعة للسفينة. ويستقبل جهاز AIS المستقبل بيانات AIS ويعرضها على معدات الملاحة المناسبة. وفي كلتا الحالتين، يوجه تطبيق mIBC-AIS-App الرسالة الأصلية ذات المعرف 1 دون تغييرها. وفي المقابل، في الشكل 4 يُحوَّل تطبيق mIBC-AIS-App إلى أحد أنماط AIS الآمنة (أي الأنماط 2–5). فيجمع جهاز AIS المرسل البيانات الثابتة وبيانات الرحلة والبيانات الموضعية والملاحية للسفن وينشئ رسالة AIS موضعية قياسية ذات معرف 1. ثم يقوم تطبيق mIBC-AIS-App الخاص بالمرسل بما يلي: أ) يعترض رسالة AIS الموضعية ذات المعرف 1 قبل إرسالها؛ ب) يقرأ بيانات رسالة AIS ذات المعرف 1؛ ج) يوقع البيانات المناسبة أو يشفرها وفقًا لوضع استخدام mIBC-AIS؛ د) يغلف البيانات الموقعة/المشفرة داخل قسم «بيانات التطبيق» للرسائل ذات المعرف 6 و/أو 8؛ هـ) يرسل — عبر هوائي AIS — الرسائل الجديدة المنشأة ذات المعرف 6 و/أو 8. وفي جهة المستقبل، يقوم تطبيق mIBC-AIS-App بما يلي: أ) يعترض الرسائل ذات المعرف 6 و/أو 8 المستلمة بواسطة هوائي AIS؛ ب) يفك تغليف بيانات mIBC من كل رسالة مستلمة ذات معرف 6 و/أو 8 ويربطها؛ ج) يتحقق من بيانات mIBC المستلمة أو يفك تشفيرها وفقًا لوضع استخدام mIBC-AIS؛ د) يعيد بناء رسالة AIS الأصلية ذات المعرف 1 ويوجهها إلى جهاز AIS المستقبل؛ هـ) تُعرض رسالة AIS الأصلية ذات المعرف 1 على معدات الملاحة.
يتمثل عبء النطاق الترددي لوضع mIBC-Authenticated-AIS (mode 2) في البتات الإضافية على بيانات AIS الصريحة اللازمة لكل إرسال موقع. والبيانات الموقعة المرسلة هي الثلاثية (AISdata, h, S). ووفقًا للجدول 7 في [32]، نقدّر عبء النطاق الترددي، مع «ضغط النقاط» على المنحنيات فوق المفردة (SS) بأمن 80 بت، ومنحنيات MNT بأمن 80 بت، ومنحنيات MNT بأمن 128 بت. فتكون القيم h في Zq بطول 160 بت و160 بت و256 بت على التوالي، وتكون S في G1 بطول 512 بت و171 بت و512 بت على التوالي، أي أن عبء النطاق الترددي المقدّر وهو المجموع (h زائد S) يساوي 672 بت و331 بت و768 بت على التوالي.
تتمتع جميع الكيانات المشاركة في البنية التحتية بقدرة حسابية وافرة، ومن ثم لا ينبغي أن يمثل العبء الحسابي مشكلة. ومع ذلك، نعرض على سبيل المثال تقديرات العبء الحسابي التالية: تعد منهجيات المقارنة الحسابية العامة العمليات الرياضية المنفصلة اللازمة في كل تنفيذ مقترح للتشفير القائم على الهوية. والعمليات الرياضية هي الأسيات وضرب النقاط القياسية وتقييمات الاقتران. ففي مخطط IBC المقترح تستخدم عملية التوقيع ضرب نقطتين قياسيتين، وتستخدم عملية التحقق ضرب نقطة قياسية واحدة وتقييم اقتران واحد. وهكذا وفقًا لـ [31]، يحتاج التنفيذ أعلاه إلى 1.56 مللي ثانية لتوقيع رسالة، و3.60 مللي ثانية للتحقق من توقيع. ومع ذلك، يجب أن نأخذ في الاعتبار أن [31] نُشرت عام 2005 واستخدمت تنفيذات بلغة C++ على معالج Athlon XP بسرعة 2GHz لحساب مخططات المصادقة والتوقيع المشفر تحت منحنى فوق مفرد (SS) بدرجة تضمين k=6 على الحقل F397. ومن المتوقع أن تحقق التقنية الحديثة سرعات أفضل بكثير.
تستند تقديراتنا لوضع mIBC-SK-IBE-AIS (mode 4) إلى العمل في [32] و[31]. ونؤكد أنه في الحالة التي تكون فيها البيانات السرية المرسلة مفتاحًا متماثلًا (أي مفتاح AES)، يجب أن يكون مستوى الأمن الذي يوفره وضع mIBC-SK-IBE-AIS (mode 4) مساويًا لمستوى الأمن الذي يوفره مفتاح AES المنشور. وبشكل عام، فإن مستوى أمن المخطط التشفيري الهجين هو الحد الأدنى بين مستوى الأمن الذي يوفره المفتاح التشفيري ومستوى أمن آلية نشر ذلك المفتاح. أما عبء النطاق الترددي فهو البتات الإضافية على بيانات AIS الصريحة اللازمة لإرسالها لكل إرسال بيانات سرية في وضع mIBC-SK-IBE-AIS (mode 4). والبيانات المشفرة المرسلة هي الثلاثية النص المشفر (c) التي تساوي (U, V, W). ووفقًا للجدول 8 في [32]، نقدّر عبء النطاق الترددي، مع «ضغط النقاط» على المنحنيات فوق المفردة (SS) بأمن 80 بت ومنحنيات MNT بأمن 80 بت ومنحنيات MNT بأمن 128 بت: فتكون المعلمات العامة (التي لا تُرسل عبر mIBC-AIS وبالتالي لا تضاف إلى عبء mIBC-AIS) بطول 2048 بت و1368 بت و4096 بت على التوالي، ويكون عبء النطاق الترددي للنص المشفر (باستثناء الرسالة) مساويًا 672 بت و331 بت و768 بت على التوالي. وتسري هنا الشروط نفسها كما في مثال المصادقة. وتستند تقديرات العبء الحسابي العامة المقدمة هنا إلى العمل في [32]: فللمنحنى الإهليجي فوق المفرد (SS) بأمن 80 بت تكون الأحجام Zp=160 بت وG1=512 بت وG2=512 بت وGT=1024 بت؛ ولمنحنى MNT بأمن 128 بت تكون Zp=256 بت وG1=512 بت وG2=3072 بت وGT=3072 بت. ويعرّف [32] وحدة زمنية «إرشادية» بأنها الوقت اللازم لضرب نقطة على منحنى إهليجي عشوائي بطول 171 بت لأس عشوائي بطول 160 بت. وبموجب الإعدادات أعلاه، تُستمد النتائج الإرشادية التالية لـ SK-IBE: فللمنحنى فوق المفرد (SS) بأمن 80 بت يكلف استخراج المفتاح الخاص وحدتين زمنيتين، والتشفير 6 وحدات، وفك التشفير 104 وحدات؛ ولمنحنى MNT بأمن 128 بت يكلف استخراج المفتاح الخاص 100 وحدة، والتشفير 36 وحدة، وفك التشفير 1506 وحدات. وأخيرًا، يحتاج مخطط BLMQ للتوقيع المشفر، الذي له خصائص مماثلة، إلى 2.65 مللي ثانية للتوقيع والتشفير لأُسّ زمرة واحدة وضربي نقطتين قياسيتين [31]. أما وقت المعالجة لفك التشفير والتحقق فهو 6.09 مللي ثانية لأُسّ زمرة واحدة وتقييمي اقتران.
في عملنا السابق [1] قدمنا مفهوم نظام AIS آمن مؤسس على التشفير القائم على الهوية. في هذا العمل، ركزنا على إثبات جدوى فكرتنا بوصف نموذج عمل يستند إلى سمات AIS محددة ومخططات تشفير قائمة على الهوية محددة. وقد اقترحنا بنية تحتية بحرية للتشفير القائم على الهوية (mIBC) تحت المنظمة البحرية الدولية. ووصفنا خمسة أنماط استخدام لنظام mIBC-AIS الآمن المقترح. يعمل وضع mIBC-Typical-AIS (mode 1) مثل نظام AIS النموذجي؛ وهو وضع استخدام mIBC-AIS الافتراضي. ويعزز وضع mIBC-Authenticated-AIS (mode 2) إرسالات AIS بقدرات مصادقة المصدر؛ ويستند تنفيذه إلى عمليات التوقيع القائمة على الهوية لـ BLMQ المُوحَّدة في معيار IEEE 1363.3-2013. ويستخدم وضع mIBC-Anonymous-AIS (mode 3) أرقام MMSI المستعارة لتزويد AIS بإخفاء الهوية، كما هو موصوف بالتفصيل في [1]. وعندما يكون نظام mIBC-AIS في وضع استخدام mIBC-SK-IBE-AIS (mode 4)، يمكن لنظام mIBC-AIS إرسال بيانات مشفرة اعتباطية إلى أي كيان تحت mIBC دون أي اتصال مسبق أو تهيئة مسبقة مع الكيان المستقبل. ولتنفيذ وضع mIBC-SK-IBE-AIS (mode 4)، استخدمنا إثبات أمن مخطط ساكاي-كاساهارا للتشفير القائم على الهوية في [19]. أما وضع الاستخدام الأخير فهو mIBC-AES-AIS (mode 5)، الذي يوفر اتصالًا آمنًا (جماعيًا) مشفرًا لـ AIS بالتشفير المتماثل (مثل AES). واليوم، يُعرض AIS المشفر بالشفرات المتماثلة (مثل AES) من قبل بائعين مختلفين لأجهزة AIS التجارية لكن دائمًا لـ «قوات زرقاء» محددة مسبقًا تستخدم مفاتيح AES متماثلة مثبتة مسبقًا. وفي المقابل، نستخدم وضع mIBC-SK-IBE-AIS (mode 4) لنشر مفاتيح AES المتماثلة لوضع mIBC-AES-AIS (mode 5)، إلى أي كيان جدير بالثقة، بشكل مخصص، دون أي اتصال مسبق أو تثبيت مسبق للمفتاح المتماثل. والمسؤول عن وظيفة mIBC-AIS المقترحة هو التطبيق الوسيط mIBC-AIS-App، الذي يقع بين جهاز AIS النموذجي وهوائي AIS الخاص به. ويتولى تطبيق mIBC-AIS-App مسؤولية اعتراض بيانات AIS الأصلية، وتنفيذ العمليات التشفيرية، وتغليف/فك تغليف بيانات mIBC-AIS في رسائل AIS القياسية ذات المعرف 6/8 كحمولات بيانات اعتباطية. وبهذه الطريقة، يستخدم تنفيذ mIBC-AIS البنية التحتية المتاحة حاليًا لـ AIS لكنه لا يتفاعل معها مباشرة. وهذا يمكّن نظام mIBC-AIS من أن يكون إضافة شفافة للبنية التحتية المتاحة حاليًا لـ AIS.
نستنتج أن التنفيذ العملي لنهجنا ممكن. ونعتزم المضي قدمًا في تنفيذ نموذج أولي للمخطط المقترح، بما في ذلك تطبيق mIBC-App، والتجريب عليه لتقييم أدائه.
The Automatic Identification System (AIS) offers automatic traffic control and collision avoidance services to the maritime transportation sector worldwide. Because AIS lacks security mechanisms, it is vulnerable to misuse and exploitation by unlawful adversaries (e.g. sea-pirates, terrorists, smugglers). To address the security issues of the AIS, in an earlier paper [1], we proposed the deployment of a Maritime Certificate-less Identity-Based (mIBC) public-key cryptography infrastructure that enhances AIS with on-demand anonymity, authentication, and encryption capabilities. In this paper we address implementation aspects of that infrastructure. In particular, we propose to use the Sakai-Kasahara Identity-Based Encryption (IBE) approach to implement the mIBC infrastructure, following the IEEE 1363.3-2013 standard for Identity-Based Cryptography.
The Automatic Identification System (AIS) is a maritime navigation safety communications system [2]; its main aim is to improve the maritime domain awareness beyond the limitations of the radars. Radars give a good perspective of the shoreline and of moving targets but their accuracy is limited by the presence of obstacles (e.g., small islands), the Radar-Cross Section (RCS) value of the targets and the weather conditions. In contrast, AIS transmissions remain accurate, with good or adverse weather conditions, in areas with many physical obstacles or heavy marine traffic (e.g., Malacca Straits). Shipborne AIS devices periodically transmit static data (i.e. vessel's name, MMSI, IMO-number, type, dimensions, departure port, arrival port, cargo, etc.) and dynamic real-time navigation data (i.e., Global Navigation Satellite System (GNSS), steering, speedometer, etc.) [3]. When this information, as received from all nearby AIS devices, is aggregated and overlaid on a vessel's electronic navigation chart, the officer-on-watch obtains a good overview of the nearby marine traffic. The use of the AIS is regulated by "Regulation 19" of SOLAS Chapter V, under the supervision of the International Maritime Organization (IMO) and the International Telecommunications Union (ITU).
Many shore stations equipped with AIS receivers forward received AIS data to various publicly available internet sites. Undoubtedly, this practice offers a valuable tool for the international maritime community but may also become a convenient tool for unlawful adversaries. Unrestrained disclosure of the AIS broadcasted data via the internet can be an aid to sea-pirates and may violate the privacy of passengers [4], [5]. Additionally, the authentication of the transmitted data is missing, as source authenticity of AIS data relies on the transmitted MMSI number of the ship and its name. However, none of these is officially hardcoded on the AIS devices, nor are the relevant messages signed and certified. Thus, anyone with little knowledge of AIS workings can use an AIS transmitter to create fake AIS data that impersonate non-existing ships, AtoN (Aid to Navigation) or SAR (Search And Rescue Operations) [6], [7]. Without AIS authentication, the maritime domain may be the true one or a fake representation of the marine traffic in the area. A possibly fake representation of the marine traffic in an area poses a very severe threat to the international maritime community. The threat landscape of the AIS ecosystem has been examined in [8]. Accordingly, enhancing the security of AIS becomes an issue of importance to the maritime community. The VHF Data Exchange System (VDES) is seen as an effective and efficient use of radio spectrum, building on the capabilities of AIS and addressing the increasing requirements for data through the system, including some security aspects. VDES is also secure by design. However, full take up of VDES is not expected to happen soon [9].
In [1] we introduced the concept of the Maritime Certificate-less Identity-Based Public Key Cryptography infrastructure (annotated for simplicity "maritime IBC" or "mIBC"), and proposed a solution to enhance the security of the AIS. In this paper, we refine and build upon that work and discuss implementation issues. Specifically, we discuss the implementation of the additional AIS modes of operation proposed in [1] using the AIS protocol and message structure specifications, the IEEE 1363.3-2013 standard, and the Sakai-Kasahara IBE scheme.
The remaining of this paper is organized as follows: In section two we discuss related work. Section 3 briefly reviews the AIS security proposal in our earlier work [1], so as to make the present paper self-sustained. In section 4 we discuss the seamless implementation of AIS usage modes over the conventional AIS transport protocol. The initial setup and the operation of the three mIBC-AIS usage modes (3, 4, 5) that use cryptography and divert from the standard ones are discussed in section 4. Section 5 presents the structure of the AIS messages in the mIBC-AIS and describes the operation of the mIBC-App, an application designed to ensure transparent transmission/reception of the mIBC-AIS messages over the conventional AIS protocol. In Section 6 we discuss the operational overhead imposed by the proposed mIBC. Finally, section 7 summarizes our conclusions.
In [10] a new protocol for AIS that relies on a three-tiered approach to security with vessel identity verified by certificates assigned by an approving authority was proposed. This solution assumes the existence of a cryptographic infrastructure that provides the maritime community with some source cryptographic capabilities that AIS lacks. The authors in [11] use AIS, the Maritime Mobile Service Identities (MMSIs) of the vessels and Trusted Third Parties to propose a three-step mutual authentication scheme that uses AIS as the communication means to provide authentication capabilities to the ships rather than endowing the AIS itself with additional security capabilities.
The authors in [12] proposed a solution based on the creation of a global, x.509-like Maritime PKI, where the registration and Certification Authorities would be the IMO and the National Maritime Authorities. This proposal suffers from implementation difficulties, because implementing a PKI infrastructure in a global maritime environment may prove to be quite a demanding and complicated task, and because certificates are very resource demanding in the challenging and costly maritime wireless communication environment. For these same reasons, works that aim at improving the security of similar systems, such as the Automatic Dependent Surveillance-Broadcast (ADS-B) in aviation, and propose the use of identity-based cryptography and symmetric cryptography [13], [14] are inapplicable in the maritime environment. Work that is not yet clear whether or how it may affect the future of AIS security is also underway [15]. Commercial AIS products that use symmetric cryptography exist (e.g. [16]). Nevertheless, they provide proprietary encrypted AIS only in vessels equipped with the same AIS product. Additionally, a worldwide adoption of a symmetric cryptography system that would need to manage symmetric keys on a vast number of vessels worldwide is a very complex if at all possible task. Therefore, such a solution is insecure for systems with characteristics similar to those of AIS [17].
The cryptographic schemes that we use to implement mIBC are identity-based cryptographic schemes founded on the q-Bilinear Diffie-Hellman Inversion problem (q-BDHIP), based on the Sakai-Kasahara Identity-Based Encryption scheme [18], whose security was proved in [19]. The IEEE 1363.3-2013 "Standard for Identity-Based Cryptographic Techniques using Pairings" [20] specifies identity-based cryptographic schemes based on the bilinear mappings over elliptic curves known as pairings. This standard describes eight identity-based cryptographic schemes that use pairings in their implementation. The schemes include approaches to encryption, digital signatures, signcryption, and key exchanges. These schemes may be used to encrypt both stored data as well as data in transit. The standard describes algorithms for calculating pairings and gives parameters suitable for implementing the specified schemes at industry-standard security levels [21]. Applications of certificate-less Identity-Based Cryptography (IBC) to navigation are described in [17], [22]. The use of pseudonyms in transportation applications is discussed in [23], [24].
In [1], we proposed the security enhancement of AIS with the use of Identity-Based Public Key Cryptography (IBC) [25], [20] as the foundation of an International Maritime Identity-Based Cryptographic infrastructure (mIBC), under the supervision of the IMO. IBC is a variation of public key cryptography proposed by Shamir in 1985 [25]. On public-key cryptography infrastructures (PKIs), each entity has a pair of mathematically connected keys, a Private (Secret) key and a Public Key. Data that are encrypted with the Private (Secret) key are decrypted with the corresponding Public Key and vice versa. A disadvantage of the PKIs [26] is that the participating entities have to somehow obtain the public keys of the other participating entities. The solution is the use of special certificates that bind the name of the entity with its public key. However, this poses a new problem; the participating entities in the PKI should have the ability to obtain securely the certificates of the other participants. Instead of certificates, the IBC variations use a publicly known unique identification of an entity as its Public key (e.g., entity's name, email address, MMSI or pseudo-MMSI number in [1]).
Unfortunately, that convenience comes with a cost; IBC infrastructures need the existence of a trustworthy central coordinator. The trusted central coordinator sets up the IBC infrastructure, and generates all the Private (Secret) keys of the IBC participated entities. Then, the participating entities obtain, by means of a secure channel, their Private (Secret) keys from the trusted central coordinator. The main disadvantage of the IBC is that, beyond the owner of the key, the Trusted Central Coordinator knows the Private (Secret) keys. On the other hand, the main advantages of IBC over traditional PKI are the simplicity of the infrastructure, resources savings, and self-proved information on the public key [22], [27], [28], [29].
The mIBC-PKG functionality can either be implemented by a single authority (e.g. IMO) or by a number of multiple inter-trusted mIBCs operating in parallel. For simplicity, in the sequel we assume the existence of only one International Maritime mIBC Private key generator (IMO-mIBC-PKG) as an IMO agency. However, the implementation of the other option is straightforward. The approach involves defining five distinct AIS usage modes with various security features to choose from, according to the needs of the vessel during the trip, as follows:
Their interrelationships are depicted in Figure 1. Details on the structure of the messages are given in Section 5.
The entities involved with the implementation of the mIBC are a trusted coordinator (also referred to as Key Server [20] or Private Key Generator - PKG [1]) and the mIBC participants. The trusted coordinator is an entity trusted by all the participants of the scheme. In this work, for efficiency and simplicity, we assign this role to a part of the IMO that we call International Maritime Organization mIBC Private Key Generator (IMO-mIBC-PKG). mIBC participants can be AIS devices, coast guards, patrol vessels, shipping companies, vessels, etc. mIBC participants may assume the role of sender or receiver of AIS messages, or both. The IMO-mIBC-PKG is responsible for two initial operations of the mIBC, namely the initial setup of the scheme and the extraction (creation) of the Private (secret) keys of each participating entity. These are described in the sequel.
In practice, the first operation of the IMO-mIBC-PKG is to define a number of cryptographic parameters, as specified in [20] and [31], that lead to the generation of the Master Secret Key and of the corresponding Master Public Key. Specifically: establish a random number generator (e.g. following the RFC5091, FIPS186-2 or X9.62 standards); choose the security parameter t, which is the size (in bits) of a prime number p that will be the order of the generated bilinear map cyclic groups G1, G2, GT (the larger the value of t, the more secure the scheme is); find a prime number p where p > 2^t [31]; generate three bilinear map cyclic groups G1, G2, GT of prime order p, by following [19], [32], [31]; choose PG2, a random generator of G2; find PG1 in G1 as a random generator of G1, so that an efficient isomorphism from G2 to G1 mapping PG2 to PG1 exists; define the bilinear pairing mapping e from G1 x G2 to GT; pick a random Master (Server) Secret key (Mskey) in Zp; pre-calculate the pairing value e(PG1, PG2) in GT; and compute the corresponding Master (Server) Public key (MPUB). The second operation of the IMO-mIBC-PKG is to define the cryptographic hash functions to be used by all the participating entities: (H1) for hashing the MMSI of the receiver of the encrypted data; (H2) as a cryptographic hash function for signature verification; (H3) for XOR-ing with the AIS data or AES key; (H4) for deriving a blinding coefficient; and (H5) for XOR-ing with the plaintext. Finally, the IMO-mIBC-PKG publishes/disseminates the mIBC Public Parameters (mIBC-PP) to all mIBC-enabled AIS equipment, using a secure channel (e.g., smart cards, smart tokens, etc.). The IMO-mIBC-PKG is also responsible for safekeeping the secrecy of the Master (Server) Secret key (Mskey). Because the Master (Server) Secret key (Mskey) plays the role of the Private Key of a Certification Authority in an X.509 Public Key Infrastructure, it requires the same level of advanced protection and disaster recovery plans must exist in case of compromise.
The IMO-mIBC-PKG uses the MMSI (or the pseudo-MMSIs) as the publicly known ID of a vessel and combines it with the Public Parameters (PP) and the Master (Server) Secret key (Mskey) of the mIBC to extract the corresponding Private (Secret) Key (SK_MMSI) of the vessel. The mandatory use of the Master (Server) Secret key (Mskey) on the extraction operation prohibits an adversary to create fake Private (Secret) Keys even when they know the (publicly available) MMSI of the entity and the (publicly available) Public Parameters of the mIBC. The steps are: represent the MMSI or the pseudo-MMSI as a string of bits; compute the cryptographic hash H1(MMSI) or H1(pseudo-MMSI); then compute the Private (Secret) Key SK_MMSI equal to (H1(MMSI) plus Mskey) raised to the power minus one multiplied by Q2 in G2. Note that the main disadvantage of the Identity Based Cryptography scheme lies in this operation. Because, in contrast to the PKI, the Private (Secret) Key SK_MMSI is generated centrally by the IMO-mIBC-PKG, two problems arise. First, the IMO-mIBC-PKG knows the Private (Secret) Key of the entity. Thus the security and especially the non-repudiation of the infrastructure relies heavily on the trustworthiness of the IMO-mIBC-PKG. Second, the Private (Secret) Key should be transferred from the IMO-mIBC-PKG to the AIS-device of the entity on a secure channel (e.g., smart cards, smart tokens, etc.). In [1] we proposed the manual transfer on tamper-proof devices by authorized personnel, but more convenient solutions can be found (e.g., secure internet connections).
The AIS device of the sending entity (the sender) signs the AIS data to be transmitted with its private key (SK_MMSI). The sender uses the Public Parameters of the mIBC, its MMSI, its Private (Secret) Key, a random number and the AIS data to be signed. Then, the sender transmits the signed AIS data. The operation is: the inputs are the message to be signed AISdata, the Public Parameters mIBC-PP, a random integer r (0 < r < p-1) generated with the random number generator, and the Private (Secret) Key of the signer. The computation is: u equals e(PG1, PG2) raised to r; h equals H2(AISdata, u); S equals (r minus h) multiplied by SK_SIGNER. The output is the signed message, the triplet (AISdata, h, S). Any receiving entity can verify the authenticity of the received AIS data by using the (publicly available) MMSI (or the pseudo-MMSI) of the sender and the mIBC Public Parameters (mIBC-PP). The verifier may be any equipment (hardware/software) that can receive AIS data directly (e.g. an AIS device) or forwarded AIS data via satellites or the internet (e.g., special software on law enforcement units, port authorities, shipping companies, etc.). The operation is: the inputs are the signed message triplet (AISdata, h, S), the official Public Parameters, and the MMSI of the signer (note that H3, H4, H5 are not used in this operation). The computation is: u equals e(S, H1(MMSI_SIGNER) PG1 plus MPUB) multiplied by e(PG1, PG2); verification: the signature is Valid if h equals H2(AISdata, u) and Invalid otherwise. The output is a valid or invalid signature, and accordingly valid or invalid AIS data.
The sender/transmitter uses the Public Parameters of the mIBC and the MMSI of the receiver to encrypt the AIS data (that can be an AES key), and transmits the ciphertext via a typical AIS device. The encryption operation steps are: the inputs are the cleartext AISdata, the official Public Parameters, a random integer sigma, and the MMSI of the receiver. The computation is: r equals H4(sigma, AISdata); gr equals e(PG1, PG2) raised to r; U equals r multiplied by (H1(MMSI_RECEIVER) PG1 plus MPUB); V equals sigma XOR H3(gr); W equals AISdata XOR H5(sigma). The resulting ciphertext is the triplet c equal to (U, V, W). All the AIS-enabled devices in range can receive the encrypted data, but only the receiver who knows the mIBC Private (Secret) key corresponding to the MMSI of the receiver can decrypt the data. The steps are: the inputs are the official Public Parameters, the Private (Secret) Key of the receiver, and the ciphertext c equal to (U, V, W). The computation is: g equals e(U, SK_RECEIVER); sigma equals V XOR H3(g); the cleartext AISdata equals W XOR H5(sigma); r equals H4(sigma, AISdata). The output is: valid if U equals r multiplied by (H1(MMSI_RECEIVER) PG1 plus MPUB), else the received data is not valid.
The use of encrypted AIS between the vessels of a so-called "blue-force" is not new and commercial products that implement it using symmetric cryptography exist. Nevertheless, they provide proprietary encrypted AIS only in vessels equipped with the same AIS product. For example, the SAAB R5 Supreme W-AIS System supports the DES, AES, and Blowfish symmetric ciphers. Another example of an approach that is compatible with our work is the Encrypted Automatic Identification System (EAIS) proposed by the United States Coast Guard in [33]. Our innovation is the use of the mIBC-SK-IBE-AIS (mode 4) for disseminating the symmetric key to allow the maritime community and law enforcement units to create ad-hoc "blue forces," or AIS Ad-hoc NETworks (AISANETs) [1]. Following the analysis in [33], the 128-bit AES key is sufficient for encrypted AIS data between the members of a law-enforcement "blue-force". However, "blue-forces" tend to use strong combinations of ciphers and key sizes, because the symmetric key in the current approach is generated once, it is pre-loaded on the AIS devices, and it is expected to be secure for a time-period far longer than a day or two. On the other hand, our approach for the AIS Ad-hoc NETworks (AISANETs) uses a symmetric key only for a period of some hours, and then a new key will be generated and disseminated to the participating vessels.
mIBC needs to be as transparent as possible to current AIS implementations. Therefore, new mIBC-AIS modes should not alter the currently used AIS protocol. To achieve this goal we introduce a new application, named "mIBC-AIS-App", described in section 5.3, to be used as an interface to implement the mIBC-AIS scheme over the currently available AIS infrastructure. It is important to note that we use the AIS protocol only as the underlying transportation carrier protocol to transmit the signed/encrypted mIBC-AIS data of mIBC. In particular, mIBC-AIS data are encapsulated by the mIBC-AIS-App in the data payload subsection of existing AIS messages with ID 6 and ID 8. As we shall see, the latter are special AIS messages that permit the encapsulation of data of non-AIS dependent, arbitrary applications. The sender mIBC-AIS-App creates the appropriate mIBC data and then encapsulates it into the special AIS messages (ID 6, 8) that are transmitted via the standard AIS infrastructure. On the other end, the receiver mIBC-AIS-App decapsulates and processes the received mIBC data. This is analogous to the encapsulation of the Transmission Control Protocol (TCP) data inside the Internet Protocol (IP) packets.
AIS defines 27 different types of AIS messages that are identified by their Message-ID [2]. Messages with Message-ID 1, 2, and 3 are Position Reports, Messages with Message-ID 4 are Base Station Reports, Messages with Message-ID 21 are Aid-to-Navigation (AtoN) AIS station Reports etc. Each AIS message may use one to five timeslots. The available payload data in each timeslot is 168 bits, and there exist AIS message types (e.g. "AIS ADDRESSED BINARY MESSAGE" (MESSAGE ID: 6) and "AIS BINARY BROADCAST MESSAGE" (MESSAGE ID: 8)) that may use the maximum of the 5 timeslots i.e. just over 900 bits of payload data. AIS messages are also classified according to their priority (1 to 5) in the timeslot sequence. The majority of the AIS messages with priority one occupy only one timeslot i.e. 168 bits of payload data. A notable exception is the AIS AIDS TO NAVIGATION (ATON) REPORT (MESSAGE ID 21) that needs 272-360 bits. Table 1 shows an example of a typical Class A AIS position report (Message ID 1) of 168 bits comprising: Message ID (6 bits), User ID i.e. MMSI number (30 bits), Navigational status (4 bits), Rate of turn (8 bits), Speed over ground (10 bits), Position accuracy (1 bit), Longitude (28 bits), Latitude (27 bits), Course over ground (12 bits), True heading (9 bits), Timestamp (6 bits), Special maneuver indicator (2 bits), Spare (3 bits), RAIM-flag (1 bit), and Communication state (19 bits). The AIS standard dictates the exact structure of each message, including generic parameters found in all AIS messages and message-specific parameters. AIS messages include a Timestamp (6 bits long) that is the Coordinated Universal Time (UTC) second when the report was generated by the electronic position fixing system (EPFS).
Two AIS messages, namely Message ID 6 and Message ID 8 are particularly interesting for the transmission of the signed/encrypted AIS data from/to the mIBC-AIS-App. Their useful characteristic is the existence of an isolated data payload subsection that registered applications, not related to AIS, may use to transport their data [2]. Specifically, Message ID 6 and Message ID 8 allocate their Binary Data parameter packet section as follows: a) 16 bits as Application Identifier and b) 920/952 bits for Arbitrary Application Data payload for registered applications. Thus, the mIBC-AIS-App can be registered as an add-on AIS application with a unique ID and the Application Data payload of Message ID 6 and Message ID 8 can be used for the transport of mIBC-AIS-App data. The "AIS ADDRESSED BINARY MESSAGE" (MESSAGE ID 6) offers a maximum of 920 bits space for arbitrary application data addressed to a specific receiver (i.e., all the AIS devices that will not have the specific addressed MMSI will discard the received message ID 6). Table 2 depicts a typical AIS ADDRESSED BINARY MESSAGE (MESSAGE ID 6) with mIBC-AIS-App data encapsulated in its "Binary Data" section. This section includes two subsections to be used for the transmission of the mIBC-AIS data necessary for the implementation of secure AIS mode 4. According to the AIS specifications for Message ID 6, only the application denoted by its ID in the "Application identifier" subsection is responsible for the encapsulated data inside the "Application data" subsection. Therefore, we use the "Application identifier" to denote the mIBC-AIS-App as the responsible application for the mIBC-AIS data encapsulated inside the "Application data" subsection. Because the standard AIS infrastructure does not interact with the data payload stored inside the "Binary Data" section of the Message ID 6, the encapsulated mIBC-AIS data are isolated.
An identical approach can be followed for the transparent transmission of the mIBC-AIS data with the "AIS BINARY BROADCAST MESSAGE" (MESSAGE ID 8). The "AIS BINARY BROADCAST MESSAGE" (MESSAGE ID 8) offers a maximum of 952 bits space to broadcast arbitrary application payload data. This type of AIS message is used to transfer data necessary for the implementation of Secure AIS modes 2, 3, and 5. The structure of the AIS BROADCAST BINARY MESSAGE (MESSAGE ID 8), as shown in Table 3, is identical with that of Message ID 6, with the notable exception that the "Destination ID" section is absent in the (broadcast) Message ID 8, resulting in a savings of 30 bits. The isolation of the encapsulated mIBC-AIS data payloads makes the proposed mIBC-AIS implementation transparent to the current standard AIS infrastructure. A mIBC-Authenticated-AIS (mode 2) message is a broadcasting transmission that we encapsulate inside a typical "AIS BINARY BROADCAST MESSAGE" (MESSAGE ID 8), which offers a maximum of 952 bits space for arbitrary application data. If we use MNT curves, with a 128 bit key, the signature alone is 768 bits long; this allows for a useful payload of 168 bits for the original AIS data. The majority of the typical "priority" AIS messages broadcasted by the AIS are shorter than 168 bits. Hence, it is feasible to encapsulate them, together with their mIBC-AIS signature, inside a single "AIS BINARY BROADCAST MESSAGE" (MESSAGE ID 8). Unfortunately, there are important AIS messages, such as the AIDS TO NAVIGATION (ATON) REPORT (MESSAGE 21), that need 272-360 bits of space; these cannot be encapsulated together with their signature inside one "AIS BINARY BROADCAST MESSAGE" (MESSAGE ID 8). Besides, a higher mIBC security level may use cryptographic parameters that will yield longer signatures which would be impossible to encapsulate within only one MESSAGE ID 8. To resolve this, the proposed implementation provides for the partition of the signature and the original AIS data into multiple "AIS BINARY BROADCAST MESSAGE" (MESSAGE ID 8) messages, as in Figure 2. The mIBC-AIS-App at the two ends of the communication channel is responsible for the appropriate partition and reconstruction of the signature and of the original AIS data into the multiple ID 8 messages. The first and second messages are structured as in Tables 4 and 5 respectively. As will be seen in the next section, the overhead bandwidth for the mIBC-SK-IBE-AIS (mode 4) encryption is considerable. This is why we propose to use mIBC-SK-IBE-AIS (mode 4) mainly for the dissemination of the new AES symmetric keys of the mIBC-AES-AIS (mode 5). We believe that the 128-AES algorithm with a key length of 128 bits provides more than adequate security for the AIS in insecure areas. Bear in mind that in our case we do not need to store secret data for years but only to protect AIS transmitted data for hours or up to a few days. In this case, the ciphertext will be almost equal with the key, i.e. 128 bits long. Therefore, at most two AIS ADDRESSED BINARY MESSAGES (MESSAGE ID: 6) with over 1800 bits of combined payload packets will be enough to transfer the mIBC-SK-IBE-AIS (mode 4) data. The message partitioning details are identical to the message construction for the mIBC-Authenticated-AIS (mode 2). The structure of the 1st "AIS ADDRESSED MESSAGE" (MESSAGE ID 6) encapsulating a 128-bit AES key in mIBC-SK-IBE-AIS (mode 4) is shown in Table 6. Note that the mIBC-AIS-App computes the total size of the AES key plus the encrypted ciphertext triplet (U, V, W) and determines how many Message ID 6 (i.e., parts) have to be transmitted. A possible encrypted AIS message structure via the mIBC-AIS-App in encryption (mode 5) is shown in Table 7. Note that the mIBC-AIS-App computes the total size of the encrypted AIS data. Depending on the symmetric cipher (e.g., AES128), the mode (e.g., CBC, CTR) and other parameters, the overhead varies from 16 bytes (e.g. for the IV plus the padding of 1 to 16 bytes for PKCS#5 padding if we use the CBC mode). Therefore, for a standard AIS message, one AIS BROADCAST BINARY MESSAGE (MESSAGE ID: 8) (i.e., 1 to 5 slots) suffices.
The mIBC-AIS-App is a piece of code that may be implemented either as a firmware update on current AIS devices or on separate hardware to be connected between the AIS device and the AIS antenna. In either case, the mIBC-AIS-App will be an intermediate between the currently running AIS and the AIS antenna of the vessel. The mIBC-AIS-App assumes sole responsibility for the transmission of all mIBC enabled AIS messages. It intercepts the AIS messages, exports their data, cryptographically manipulates them, encapsulates them in AIS Messages ID 6 and/or ID 8 and forwards them to the AIS antenna. In particular, the mIBC-AIS-App: forwards the typical AIS messages unaltered to the AIS antenna/AIS device, respectively, when in mIBC-Standard-AIS (mode-1) usage mode; implements the mIBC-AIS modes 2, 3, 4, 5; stores (or accesses) the cryptographic parameters (i.e., Public Parameters, MMSI or Pseudo-MMSI, mIBC key-pair of the vessel); carries out all the cryptographic operations, computations and procedures; forwards the signed/encrypted AIS data to the appropriate end devices, i.e. AIS or ECDIS displays or any other compatible software/hardware of the vessel; and encapsulates/decapsulates the mIBC-AIS data to/from AIS Messages ID 6 and ID 8. Figures 3 and 4 depict the use of the mIBC-AIS-App and its interaction with the AIS devices. In Figure 3 the mIBC-AIS-App is switched to mIBC-Standard-AIS (mode 1) and thus does not interfere with the AIS operation. The Transmitter-AIS device transmits - via a standard AIS Message ID 1 - the collected static, voyage, positional and navigational data of the vessel. The Receiver-AIS device receives the AIS data and displays them to the appropriate navigational equipment. In both cases, the mIBC-AIS-App forwards the original Message ID 1 without altering it. In contrast, in Figure 4 the mIBC-AIS-App is switched to one of the AIS secure modes (i.e. modes 2-5). The Transmitter-AIS device collects static, voyage, positional and navigational data of the vessels and creates a standard AIS positional AIS Message ID 1. The mIBC-AIS-App of the transmitter: a) intercepts the AIS positional AIS Message ID 1 before its transmission; b) reads the data of the AIS Message ID 1; c) signs or encrypts the appropriate data according to the mIBC-AIS usage mode; d) encapsulates the signed/encrypted data inside the "Application data" section of the Messages ID 6 and/or ID 8; e) transmits - via the AIS antenna - the newly created Messages ID 6 and/or ID 8. On the receiver side, the mIBC-AIS-App: a) intercepts the Messages ID 6 and/or ID 8 received by the AIS antenna; b) decapsulates and concatenates the mIBC data from each received Message ID 6 and/or ID 8; c) verifies or decrypts the received mIBC data according to the mIBC-AIS usage mode; d) reconstructs and forwards to the Receiver AIS device the original AIS Message ID 1; e) the original AIS Message ID 1 is displayed on the navigational equipment.
The bandwidth overhead of mIBC-Authenticated-AIS (mode 2) is the bits additional to the cleartext AIS data required for each signed transmission. The transmitted signed data is the triplet (AISdata, h, S). According to Table 7 in [32], we estimate the bandwidth overhead, with "point compression" on Super Singular (SS) curves at 80 bit security, MNT curves at 80 bit security and MNT curves at 128 bit security. The values h in Zq are 160 bits, 160 bits and 256 bits respectively, and S in G1 is 512 bits, 171 bits and 512 bits respectively, so the estimated bandwidth overhead, the sum (h plus S), equals 672 bits, 331 bits and 768 bits respectively.
All the participating entities in the infrastructure have plenty of computational power, and thus the computational overhead should not be a problem. However, as an example, we present the following computational overhead estimates: the general computational overhead comparison methodologies count the separate mathematical operations needed in each proposed IBC implementation. The mathematical operations are exponentiations, scalar point multiplications, and pairing evaluations. In the proposed IBC scheme the signing process uses two scalar point multiplications and the verification process one scalar point multiplication and one pairing evaluation. Thus according to [31], the above implementation needs 1.56 milliseconds to sign a message, and 3.60 milliseconds to verify a signature. However, we must take into account that [31] was published back in 2005 and used C++ based implementations on an Athlon XP at 2GHz to compute the authentication and signcryption schemes under a supersingular curve (SS) of embedding degree k=6 over F397. It is expected that modern technology will achieve far better speeds.
Our estimates for mIBC-SK-IBE-AIS (mode 4) are based on the work in [32] and in [31]. We highlight that in case where the confidential transmitted data is a symmetric key (i.e., AES key) the security level offered by mIBC-SK-IBE-AIS (mode 4) should be equal with the security level offered by the disseminated AES key. In general, the security level of a hybrid cryptographic scheme is the minimum between the level of the security offered by the cryptographic key and the security level of the mechanism that disseminates that cryptographic key. The bandwidth overhead is the bits additional to cleartext AIS data required to be transmitted for each mIBC-SK-IBE-AIS (mode 4) confidential data transmission. The transmitted encrypted data is the ciphertext triplet (c) equal to (U, V, W). According to Table 8 in [32], we estimate the bandwidth overhead, with "point compression" on Super Singular (SS) curves at 80-bit security, MNT at 80-bit security and MNT at 128-bit security: the Public Parameters (not transmitted via mIBC-AIS, thus not adding to the mIBC-AIS bandwidth overhead) are 2048 bits, 1368 bits and 4096 bits respectively, and the ciphertext (excluding the message) mIBC-AIS overhead bandwidth equals 672 bits, 331 bits and 768 bits respectively. The same conditions stand here as in the example for authentication. The general computational overhead estimates presented here are based on the work in [32]: for the Super-Singular (SS) elliptic curve at 80-bit security the sizes are Zp=160 bits, G1=512 bits, G2=512 bits, GT=1024 bits; for the MNT elliptic curve at 128-bit security they are Zp=256 bits, G1=512 bits, G2=3072 bits, GT=3072 bits. Also [32] defines an "indicative" time-unit as the time needed for point multiplication on a random 171-bit elliptic curve for a random 160-bit exponent. Under the above settings, the following indicative results for SK-IBE are derived: for the Super-Singular (SS) elliptic curve at 80-bit security, secret (private) key extraction costs 2 time units, encryption costs 6 time units and decryption costs 104 time units; for the MNT elliptic curve at 128-bit security, secret (private) key extraction costs 100 time units, encryption costs 36 time units and decryption costs 1506 time units. Finally, the BLMQ signcryption scheme that has similar characteristics needs 2.65 milliseconds to sign and encrypt for one group exponentiation and two scalar point multiplications [31]. The processing time for decryption and verification is 6.09 milliseconds for one group exponentiation and two pairing evaluations.
In our previous work [1] we introduced the concept of a secure AIS founded on Identity Based Cryptography. In this work, we focused on proving the feasibility of our idea by describing a working model based on specific AIS attributes and specific Identity Based Cryptographic schemes. We have proposed a Maritime Identity Based Cryptographic infrastructure (mIBC) under the IMO. We described five usage modes for the proposed secure mIBC-AIS. The mIBC-Typical-AIS (mode 1) works like the typical AIS; it is the default mIBC-AIS usage mode. The mIBC-Authenticated-AIS (mode 2) enhances AIS transmissions with source authentication capabilities; its implementation is based on the BLMQ identity-based signature operations formalized in the IEEE 1363.3-2013 standard. The mIBC-Anonymous-AIS (mode 3) uses pseudo-MMSIs to provide AIS with anonymity, as described in detail in [1]. When in mIBC-SK-IBE-AIS (mode 4) usage mode, the mIBC-AIS can send arbitrary encrypted data to any entity under mIBC without any previous contact or pre-configuration with the receiver entity. For the implementation of the mIBC-SK-IBE-AIS (mode 4), we used the security proof of Sakai-Kasahara's Identity-Based Encryption scheme in [19]. The last usage mode is the mIBC-AES-AIS (mode 5), which provides for encrypted AIS secure (group) communication with symmetric cryptography (e.g., AES). Today, encrypted AIS with symmetric ciphers (e.g., AES) is offered by various vendors of commercial AIS devices but always for pre-defined "blue-forces" that use pre-installed symmetric AES keys. In contrast, we use the mIBC-SK-IBE-AIS (mode 4) to disseminate the symmetric AES keys of the mIBC-AES-AIS (mode 5), to any trustworthy entity, ad-hoc, without any pre-communication or symmetric-key pre-installation. Responsible for the proposed mIBC-AIS functionality is the mIBC-AIS-App intermediate application, that lies between the typical AIS device and its AIS antenna. The mIBC-AIS-App is responsible for intercepting the original AIS data, performing the cryptographic operations and encapsulating/decapsulating the mIBC-AIS data into standard AIS Messages ID 6/8 as arbitrary data payloads. In this way, the implementation of the mIBC-AIS uses the currently available AIS infrastructure but does not directly interact with it. This enables the mIBC-AIS to be a transparent add-on to the currently available AIS infrastructure.
We conclude that a practical implementation of our approach is feasible. We intend to proceed with a prototype implementation of the proposed scheme, including the mIBC-App, and to experiment with it in order to assess its performance.