IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネイバー コーポレーションの特許一覧

特開2023-110881IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム
<>
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図1
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図2
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図3
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図4
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図5
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図6
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図7
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図8
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図9
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図10
  • 特開-IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023110881
(43)【公開日】2023-08-09
(54)【発明の名称】IoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20230802BHJP
【FI】
H04L9/08 F
H04L9/08 B
【審査請求】有
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023006931
(22)【出願日】2023-01-20
(31)【優先権主張番号】10-2022-0013582
(32)【優先日】2022-01-28
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.ZIGBEE
3.ブルートゥース
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】パク ジュンヒョン
(72)【発明者】
【氏名】チョウ ヨンヒョン
(57)【要約】
【課題】 本開示はデバイス管理装置の少なくとも一つのプロセッサによって遂行される、IoTデバイスの安全連結のためのデバイス証明書生成方法を提供する。
【解決手段】 この方法は、IoTデバイスとネットワーク連結を設定する段階、IoTデバイスから受信された証明書署名要請をIoTプラットフォームに伝送する段階、および証明書署名要請に応じてIoTプラットフォームによって生成されたデバイス証明書をIoTデバイスに伝送する段階を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
デバイス管理装置の少なくとも一つのプロセッサによって遂行される、IoTデバイスの安全連結のためのデバイス証明書生成方法において、
前記IoTデバイスとネットワーク連結を設定する段階;
前記IoTデバイスから受信された証明書署名要請をIoTプラットフォームに伝送する段階;および
前記証明書署名要請に応じて前記IoTプラットフォームによって生成されたデバイス証明書を前記IoTデバイスに伝送する段階を含む、デバイス証明書生成方法。
【請求項2】
前記IoTデバイスの公開鍵および秘密鍵は、前記IoTデバイスの生産段階で前記IoTデバイスに保存され、
前記IoTデバイスの公開鍵は前記IoTプラットフォームに事前登録される、請求項1に記載のデバイス証明書生成方法。
【請求項3】
前記証明書署名要請は、前記IoTデバイスの秘密鍵で署名されている、請求項2に記載のデバイス証明書生成方法。
【請求項4】
前記IoTデバイスの固有情報は前記IoTプラットフォームに事前登録され、
前記証明書署名要請は、前記IoTデバイスの公開鍵または固有情報を含み、
前記証明書署名要請に含まれた前記公開鍵または固有情報は、前記IoTプラットフォームに事前登録された前記IoTデバイスの公開鍵または固有情報と比較されて検証される、請求項2に記載のデバイス証明書生成方法。
【請求項5】
前記デバイス証明書は、前記IoTプラットフォームに連動された認証機関の秘密鍵で署名されている、請求項1に記載のデバイス証明書生成方法。
【請求項6】
IoTデバイスの少なくとも一つのプロセッサによって遂行される、前記IoTデバイスの安全連結のためのデバイス証明書生成方法において、
IoTデバイスの初期設定を実行する段階;
前記初期設定が完了した場合、前記IoTデバイスの公開鍵を含む証明書署名要請を生成する段階;
前記証明書署名要請をIoTプラットフォームに伝送する段階;および
前記証明書署名要請に応じて前記IoTプラットフォームによって生成されたデバイス証明書を受信すると、前記デバイス証明書を検証および保存する段階を含む、デバイス証明書生成方法。
【請求項7】
前記IoTデバイスの公開鍵および秘密鍵の対を生成する段階;および
前記公開鍵および前記IoTデバイスのデバイス固有情報を含むデバイス情報を前記IoTプラットフォームに伝送する段階をさらに含む、請求項6に記載のデバイス証明書生成方法。
【請求項8】
前記証明書署名要請を生成する段階は、
前記証明書署名要請を前記IoTデバイスの秘密鍵で署名する段階を含む、請求項6に記載のデバイス証明書生成方法。
【請求項9】
前記デバイス証明書は、前記IoTプラットフォームに連動された認証機関の秘密鍵で署名されている、請求項6に記載のデバイス証明書生成方法。
【請求項10】
前記IoTデバイスの初期設定を実行する段階は、
前記IoTプラットフォームに連結されたデバイス管理装置に前記IoTデバイスの初期設定要請を伝送する段階を含む、請求項6に記載のデバイス証明書生成方法。
【請求項11】
前記証明書署名要請をIoTプラットフォームに伝送する段階は、
前記証明書署名要請を前記IoTプラットフォームに連結されたデバイス管理装置に伝送する段階を含む、請求項6に記載のデバイス証明書生成方法。
【請求項12】
請求項1~請求項11のいずれか一項に記載された方法をコンピュータに実行させるコンピュータ読み取り可能なコンピュータプログラム。
【請求項13】
デバイス管理装置であって、
メモリ;および
前記メモリと連結され、前記メモリに含まれたコンピュータ読み取り可能な少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサを含み、
前記少なくとも一つのプログラムは、
IoTデバイスとネットワーク連結を設定し、
前記IoTデバイスから受信された証明書署名要請をIoTプラットフォームに伝送し、
前記証明書署名要請に応じて前記IoTプラットフォームによって生成されたデバイス証明書を前記IoTデバイスに伝送するための命令語を含む、デバイス管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はIoTデバイスの安全な連結のためのデバイス証明書生成方法およびシステムに関し、具体的には、IoTデバイスの初期設定段階でデバイス証明書発行を遂行して該当デバイスの安全な連結を提供する方法およびシステムに関する。
【背景技術】
【0002】
一般的にモノのインターネットまたはIoT(Internet of Things)基盤のスマートホームシステム、スマートファクトリーなどのようなIoTプラットフォームでIoTデバイスを使用する場合において、システムセキュリティのために該当デバイスが正常に使用できる製品であるかどうかを確認することがある。また、IoTデバイスをIoTプラットフォームに安全に連結するために、デバイス証明書基盤の資格証明過程を遂行する場合もある。
【0003】
例えば、センサ、ウェアラブルデバイス、周辺装置のようなIoTデバイスの生産段階で認証機関が発行したセキュリティキーを利用してデバイス証明書を発行することができ、証明書はIoTデバイスの生産が完了した時点でIoTプラットフォームに登録され得る。このようにデバイス証明書をIoTデバイスの生産時点で発行する場合、該当証明書の有効期間以後にIoTデバイスがユーザに販売されると、デバイス証明書の有効期間満了により該当IoTデバイスを使用できない場合がある。また、IoTデバイスの証明書の有効期間満了による問題を解決するために、証明書の有効期間を限定しないことも考えられるが、これは証明書の有効期間の管理を困難にするさらに他の問題を発生させてしまう。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】韓国公開特許第10-2014-0121218号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、前記のような問題点を解決するためのIoTデバイスの安全な連結のためのデバイス証明書生成方法、コンピュータプログラムおよび装置(システム)を提供する。
【課題を解決するための手段】
【0006】
本開示は、方法、装置(システム)またはコンピュータプログラムを含んだ多様な方式で具現され得る。
【0007】
本開示の一実施例によると、IoTデバイスの安全連結のためのデバイス証明書生成方法は、IoTデバイスとネットワーク連結を設定する段階、IoTデバイスから受信された証明書署名要請をIoTプラットフォームに伝送する段階、および証明書署名要請に応じてIoTプラットフォームによって生成されたデバイス証明書をIoTデバイスに伝送する段階を含む。
【0008】
本開示の他の実施例によると、IoTデバイスの安全連結のためのデバイス証明書生成方法は、IoTデバイスの初期設定を実行する段階、初期設定が完了した場合、IoTデバイスの公開鍵を含む証明書署名要請を生成する段階、証明書署名要請をIoTプラットフォームに伝送する段階、および証明書署名要請に応じてIoTプラットフォームによって生成されたデバイス証明書を受信すると、デバイス証明書を検証および保存する段階を含む。
【0009】
本開示のさらに他の実施例によると、IoTデバイスの安全連結のためのデバイス証明書生成方法をコンピュータで実行するためのコンピュータプログラムが提供される。
【0010】
本開示のさらに他の実施例によると、メモリおよびメモリと連結され、メモリに含まれたコンピュータ読み取り可能な少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサを含み、少なくとも一つのプログラムは、IoTデバイスとネットワーク連結を設定し、IoTデバイスから受信された証明書署名要請をIoTプラットフォームに伝送し、証明書署名要請に応じてIoTプラットフォームによって生成されたデバイス証明書をIoTデバイスに伝送するための命令語を含む、ユーザ端末が提供される。
【発明の効果】
【0011】
本開示の一部の実施例によると、IoTデバイスの使用時点または初期設定時点でデバイス証明書を発行することによって、IoTデバイスの使用前にデバイス証明書の有効期間が満了して発生し得るユーザの不便さとセキュリティ問題を解決することができる。
【0012】
本開示の一部の実施例によると、IoTデバイスの検証とネットワークへの安全連結に使われるセキュリティキー(例えば、秘密鍵)をIoTデバイス自主的に生成して保存することによって、セキュリティキーがIoTデバイスの外部に露出されて発生し得るセキュリティ問題を防止することができる。
【0013】
本開示の一部の実施例によると、IoTデバイスの初期設定時にIoTデバイス自主的に生成されたセキュリティキーを利用してデバイス証明書発行過程を遂行するため、従来にデバイス証明書発行にセキュリティキーを保存した別途の物理的媒体を使う煩雑さを除去することができる。
【0014】
本開示の一部の実施例によると、IoTデバイスによって生成されたセキュリティキーのうち一部(例えば、秘密鍵)は自体保存され、残りの一部(例えば、公開鍵)はIoTプラットフォームに事前登録されるため、IoTデバイスの制御に使われるユーザ端末に対する中間者攻撃(MITM Attack;Man in the middle Attack)に効率的に対応することができる。
【0015】
本開示の一部の実施例によると、デバイス証明書がIoTプラットフォームではないユーザ端末によって任意的に発行されるセキュリティ問題が発生しても、該当証明書がIoTデバイスに事前保存されたルート/チェーン証明書で検証されるため、さらに改善されたセキュリティ環境を提供することができる。
【0016】
本開示の効果は以上で言及した効果に制限されず、言及されていない他の効果は請求の範囲の記載から本開示が属する技術分野で通常の知識を有する者(「通常の技術者」という)に明確に理解され得るであろう。
【図面の簡単な説明】
【0017】
本開示の実施例は、以下で説明する添付図面を参照して説明され、ここで類似する参照番号は類似する要素を示すが、これに限定されはしない。
図1】本開示の一実施例に係るIoTデバイスの安全連結のためのデバイス証明書生成システムの構成を示す。
図2】本開示の一実施例に係るデバイス証明書生成のために、情報処理システムが複数のユーザ端末と通信可能であるように連結された構成を示す概要図である。
図3】本開示の一実施例に係るユーザ端末および情報処理システムの内部構成を示すブロック図である。
図4】本開示の一実施例に係るユーザ端末のプロセッサの内部構成を示す図面である。
図5】本開示の一実施例に係る情報処理システムのプロセッサの内部構成を示す図面である。
図6】本開示の一実施例に係るIoTデバイスの内部構成を示す図面である。
図7】本開示の一実施例に係るIoTデバイスの生産過程で公開鍵および秘密鍵の対を生成する方法の例示を示す。
図8】本開示の一実施例に係るIoTデバイスのためのデバイス証明書の生成方法の例示を示す。
図9】本開示の一実施例に係るIoTデバイスの初期設定および証明書生成のためのデバイス管理装置のユーザインターフェースの例示を示す。
図10】本開示の一実施例に係るデバイス管理装置によって実行されるIoTデバイスの安全連結のためのデバイス証明書生成方法の例示を示すフローチャートである。
図11】本開示の一実施例に係るIoTデバイスによって実行されるIoTデバイスの安全連結のためのデバイス証明書生成方法の例示を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、本開示の実施のための具体的な内容を添付された図面を参照して詳細に説明する。ただし、以下の説明では本開示の要旨を不要に曖昧にさせ得る恐れがある場合、広く知られている機能や構成に関する具体的な説明は省略することにする。
【0019】
添付された図面で、同一または対応する構成要素には同一の参照符号が付されている。また、以下の実施例の説明において、同一または対応する構成要素を重複して記述することが省略され得る。しかし、構成要素に関する技術が省略されても、そのような構成要素がある実施例に含まれないものと意図されはしない。
【0020】
開示された実施例の利点および特徴、そして、それらを達成する方法は、添付される図面と共に後述されている実施例を参照すると明確になるであろう。しかし、本開示は以下で開示される実施例に限定されるものではなく互いに異なる多様な形態で具現され得、ただし、本実施例は本開示を完全なものとし、本開示が通常の技術者に発明の範疇を完全に知らせるために提供されるものであるだけである。
【0021】
本明細書で使われる用語について簡略に説明し、開示された実施例について具体的に説明することにする。本明細書で使われる用語は、本開示での機能を考慮しつつ、できる限り現在広く使われる一般的な用語を選択したが、これは関連分野に従事する技術者の意図または判例、新しい技術の出現などにより変わり得る。また、特定の場合は出願人が任意に選定した用語もあり、この場合、該当する発明の説明の部分で詳細にその意味を記載するであろう。したがって、本開示で使われる用語は単純な用語の名称ではない、その用語が有する意味と本開示の全般にわたった内容に基づいて定義されなければならない。
【0022】
本明細書での単数の表現は文脈上明白に単数であると特定しない限り、複数の表現を含む。また、複数の表現は文脈上明白に複数であると特定しない限り、単数の表現を含む。明細書全体において、或る部分が何らかの構成要素を含むとする時、これは特に反対の記載がない限り、他の構成要素を除くものではなく他の構成要素をさらに含み得ることを意味する。
【0023】
また、明細書で使われる「モジュール」または「部」という用語はソフトウェアまたはハードウェア構成要素を意味し、「モジュール」または「部」は何らかの役割を遂行する。ところが、「モジュール」または「部」はソフトウェアまたはハードウェアに限定される意味ではない。「モジュール」または「部」はアドレッシングできる保存媒体にあるように構成されてもよく、一つまたはそれ以上のプロセッサを再生させるように構成されてもよい。したがって、一例として、「モジュール」または「部」はソフトウェア構成要素、客体指向ソフトウェア構成要素、クラス構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシーザー、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイまたは変数のうち少なくとも一つを含むことができる。構成要素と「モジュール」または「部」で提供される機能はさらに少ない数の構成要素および「モジュール」または「部」で結合されたり、追加的な構成要素と「モジュール」または「部」にさらに分離されたりしてもよい。
【0024】
本開示の一実施例によると、「モジュール」または「部」はプロセッサおよびメモリで具現され得る。「プロセッサ」は汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、制御器、マイクロ制御器、状態マシンなどを含むように広く解釈されるべきである。いくつかの環境で、「プロセッサ」は特定用途向け半導体(ASIC)、プログラム可能ロジックデバイス(PLD)、フィールドプログラム可能ゲートアレイ(FPGA)等を指称してもよい。「プロセッサ」は、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと結合した一つ以上のマイクロプロセッサの組み合わせ、または任意の他のそのような構成の組み合わせのような処理デバイスの組み合わせを指称してもよい。また、「メモリ」は電子情報を保存可能な任意の電子コンポーネントを含むように広く解釈されるべきである。「メモリ」は任意アクセスメモリ(RAM)、読み取り-専用メモリ(ROM)、不揮発性任意アクセスメモリ(NVRAM)、プログラム可能読み取り-専用メモリ(PROM)、消去-プログラム可能読み取り専用メモリ(EPROM)、電気的に消去可能PROM(EEPROM)、フラッシュメモリ、磁気または光学データ保存装置、レジスタなどのようなプロセッサ-読み取り可能媒体の多様な類型を指称してもよい。プロセッサがメモリから情報を読み取り、メモリに情報を記録できるのであれば、メモリはプロセッサと電子通信状態にあると呼ばれる。プロセッサに集積されたメモリはプロセッサと電子通信状態にある。
【0025】
本開示で、「システム」は一つ以上のIoTデバイス、デバイス管理装置(例えば、ユーザ端末、AIスピーカーなど)を含むコンピューティング装置、サーバー装置とクラウド装置のうち少なくとも一つの装置を含むことができるが、これに限定されるものではない。例えば、システムは一つ以上のコンピューティング装置またはサーバー装置で構成され得る。他の例として、システムは一つ以上のクラウド装置で構成され得る。さらに他の例として、システムはコンピューティング装置またはサーバー装置とクラウド装置が共に構成されて動作することができる。
【0026】
本開示で、「プラットフォーム(platform)」または「クラウド(cloud)」は、ネットワーク上でサービスとして拡張可能なコンピューティング資源を提供するコンピューティングシステムまたはコンピューティングインフラストラクチャー(cloud computing infrastructure)を指称し得る。具体的には、クラウドコンピューティングは、コンピューティング資源とその内部の技術的な構造(例えば、サーバー、保存所、ネットワークなど)の間の抽象化(abstraction)を提供するコンピューティング能力を意味し得、これを利用して、サービス提供者との相互作用や管理努力を最小化しつつ速かに提供され得る構成可能なコンピューティング資源の共有プールに対するオンデマンド(on-demand)ネットワークアクセスを提供することができる。これに伴い、ユーザは、プラットフォームまたはクラウドで、コンピューティング資源の提供に使われる物理的システム(またはシステムの位置)等を知る必要なく、仮想のコンピューティング資源(例えば、保存所、データ、アプリケーション、および仮想化されたコンピューティングシステムなど)に接近することができる。
【0027】
本開示で、「複数のAのそれぞれ」または「複数のAそれぞれ」は複数のAに含まれたすべての構成要素のそれぞれを指称するか、複数のAに含まれた一部の構成要素のそれぞれを指称し得る。
【0028】
図1は、本開示の一実施例に係るIoT(Internet of Things)デバイス110の安全連結のためのデバイス証明書生成システム100の構成を示す。図示された通り、システム100はIoTデバイス110、生産ラインステーション120、デバイス管理装置130、140およびIoTプラットフォーム150を含むことができる。また、IoTデバイス110、生産ラインステーション120、デバイス管理装置130、140およびIoTプラットフォーム150は、ネットワーク160に連結されて互いに通信することができる。一方、図1にはシステム100が生産ラインステーション120、デバイス管理装置130、140をすべて含むものとして図示されているが、場合によっては生産ラインステーション120、デバイス管理装置130、140のうち少なくとも一つはシステム100に含まれないこともあり得る。
【0029】
IoTデバイス110は、ネットワークを通じて外部環境と通信できる機能を含む事物を指称し得る。例えば、IoTデバイス110は通信モジュールが装着されたセンサ、家電製品、モバイル装置、ウェアラブルデバイスなどのような事物を指称し得る。IoTデバイス110はデバイス管理装置130、140またはIoTプラットフォーム150のうち少なくとも一つによって制御され得る。例えば、IoTデバイス110はIoTデバイス110に含まれたセンサを通じて収集されたデータをIoTプラットフォーム150に提供することによって、該当データに基づいてIoTプラットフォーム150により生成された制御命令または信号により制御され得る。他の例において、IoTデバイス110はデバイス管理装置130、140により生成された制御命令または信号により制御され得る。
【0030】
IoTプラットフォーム150はIoTデバイス110を統合管理する機能を遂行するサーバー(またはコンピューティングシステム)を指称し得る。例えば、IoTプラットフォーム150はIoTデバイス110によって収集されたデータを受信および管理することができる。また、IoTプラットフォーム150は受信されたデータに基づいてIoTデバイス110に制御信号を伝送することによってIoTデバイス110を制御することができる。
【0031】
IoTプラットフォーム150はIoTデバイス110との間で送受信されるデータおよび/または制御信号のセキュリティのために、IoTデバイス110に対する検証を遂行できる。IoTプラットフォーム150はIoTデバイス110が検証された場合、IoTデバイス110にデバイス証明書を伝送することによって、IoTデバイス110が該当デバイス証明書を利用してIoTプラットフォーム150に安全に連結され得る。
【0032】
生産ラインステーション120は、IoTデバイス110が生産される過程でIoTデバイスと連結されるサーバー(またはコンピューティングシステム)を指称し得る。生産ラインステーション120はIoTデバイス110の検証に利用されるデータの生成および保存を制御することができる。また、生産ラインステーション120はIoTデバイス110に秘密鍵112、公開鍵114および/またはデバイス識別子116等を付与したり、IoTデバイス110が自ら秘密鍵112、公開鍵114および/またはデバイス識別子116等を生成および保存したりするように制御することができる。ここでは、便宜のためにデバイスを特定できるデバイス固有情報としてデバイス識別子116を例示して説明したが、デバイスを特定できる他のデバイス固有情報(例えば、ハードウェアシリアルナンバー、MACアドレスなど)を使用できることは言うまでもない。
【0033】
秘密鍵112、公開鍵114および/またはデバイス識別子116はIoTデバイス110に保存され得る。また、秘密鍵112を除いた公開鍵114および/またはデバイス識別子116はIoTデバイス110の生産過程でIoTプラットフォーム150に伝達され得る。このように、IoTデバイス110とIoTプラットフォーム150に保存された秘密鍵112、公開鍵114および/またはデバイス識別子116は、IoTデバイス110の生産後にユーザによって使用が開始される時、IoTデバイス110の検証またはデバイス証明書の生成に利用され得る。一方、秘密鍵112はIoTデバイス110の生産段階または使用段階でIoTデバイス110の外部に流出されないので、IoTデバイス110に対するセキュリティが強化され得る。
【0034】
デバイス管理装置130、140は、IoTデバイス110とIoTプラットフォーム150の間の相互作用を制御することができる。例えば、デバイス管理装置130、140はIoTデバイス110の初期設定のために、IoTデバイス110から受信された公開鍵114および/またはデバイス識別子116をIoTプラットフォーム150に伝達することができる。他の例において、デバイス管理装置130、140はIoTプラットフォーム150により生成されたデバイス証明書(図示されず)をIoTデバイス110に伝達することができる。図示された通り、デバイス管理装置130、140はユーザが携帯できるスマートフォン130のようなユーザ端末またはユーザ周辺に設置され得る人工知能スピーカー140のような周辺装置または家電製品のうち一つであり得る。以下の説明では、「デバイス管理装置」はユーザ端末(例えばスマートフォンなど)または他のIoTデバイス(例えば、人工知能スピーカーなど)を包括して指称する用語として使われ得る。
【0035】
デバイス管理装置130、140は、IoTプラットフォーム150に連結されたIoTデバイス110の動作を制御することができる。例えば、ユーザ端末130はタッチスクリーン、キーボードなどのような入出力インターフェースを通じて受信されたユーザ入力に基づいてIoTデバイス110の動作を制御することができる。他の例として、人工知能スピーカー140は音声センサを通じて受信されたユーザ入力に基づいてIoTデバイス110の動作を制御することができる。
【0036】
デバイス管理装置130、140は入出力インターフェースを通じてユーザにIoTデバイス110に関連した情報を提供することができる。例えば、デバイス管理装置130、140はディスプレイ装置および/またはオーディオ装置を通じてIoTデバイス110に関連した情報を提供することができる。この時、デバイス管理装置130、140には前述した制御および情報提供機能のためのソフトウェア(例えば、IoTサービスのためのアプリケーション)が設置され得る。
【0037】
図2は、本開示の一実施例に係るデバイス証明書生成のために、情報処理システム230が複数のユーザ端末210_1、210_2、210_3と通信可能であるように連結された構成を示す概要図である。情報処理システム230は、IoT環境でIoTデバイスを認証するためのシステムおよび/または装置(例えば、図1のIoTプラットフォーム150)を含むことができる。一実施例において、情報処理システム230はIoTサービスおよび/またはセキュリティサービスに関連したコンピュータ実行可能なプログラム(例えば、ダウンロード可能なアプリケーション)およびデータを保存、提供および実行できる一つ以上のサーバー装置および/またはデータベース、またはクラウドコンピューティングサービス基盤の一つ以上の分散コンピューティング装置および/または分散データベースを含むことができる。情報処理システム230はアプリケーションを通じて入力される信号に対応する情報を提供したり、対応する処理を遂行したりすることができる。例えば、情報処理システム230はIoTサービスおよび/またはセキュリティサービスを提供するように構成された任意のアプリケーションを通じて複数のユーザ端末210_1、210_2、210_3を制御することができる。
【0038】
情報処理システム230はネットワーク220を通じて複数のユーザ端末210_1、210_2、210_3と通信することができる。ネットワーク220は複数のユーザ端末210_1、210_2、210_3と情報処理システム230の間の通信が可能であるように構成され得る。ネットワーク220は設置環境により、例えば、イーサネット(Ethernet)、有線ホームネットワーク(Power Line Communication)、電話線通信装置およびRS-serial通信などの有線ネットワーク、移動通信網、WLAN(Wireless LAN)、Wi-Fi、BluetoothおよびZigBeeなどのような無線ネットワークまたはその組み合わせで構成され得る。通信方式は制限されず、ネットワーク220が含むことができる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網など)を活用する通信方式だけでなく、複数のユーザ端末210_1、210_2、210_3間の近距離無線通信も含まれ得る。
【0039】
図2で携帯電話端末機210_1、タブレット端末機210_2およびPC端末機210_3がユーザ端末の例として図示されたが、これに限定されず、ユーザ端末210_1、210_2、210_3は有線および/または無線通信が可能であり、IoTサービスおよび/またはセキュリティサービスを提供するように構成されたアプリケーションなどが設置されて実行され得る任意のコンピューティング装置(例えば、図1のデバイス管理装置130、140)であり得る。例えば、ユーザ端末は、スマートフォン(smart phone)、携帯電話、人工知能(AI)スピーカー、ナビゲーション、コンピュータ、ノートパソコン、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットPC、ゲームコンソール(game console)、ウェアラブルデバイス(wearable device)、IoT(internet of things)デバイス、VR(virtual reality)デバイス、AR(augmented reality)デバイスなどを含むことができる。また、図2には3つのユーザ端末210_1、210_2、210_3がネットワーク220を通じて情報処理システム230と通信するものとして図示されているが、これに限定されず、異なる数のユーザ端末がネットワーク220を通じて情報処理システム230と通信するように構成されてもよい。
【0040】
一実施例において、ユーザ端末210_1、210_2、210_3はネットワーク220を通じてIoTデバイスのデバイス証明書生成のためのデータ要請を情報処理システム230に伝送し、情報処理システム230からこれに関連したデータ(例えば、デバイス証明書など)を受信することができる。
【0041】
一実施例において、ユーザ端末210_1、210_2、210_3はAPI呼び出しのようなサービス要請または遠隔制御を通じて、IoTデバイスのデバイス証明書生成のためのデータ要請(例えば、証明書署名要請)を情報処理システム230に伝送することができる。また、ユーザ端末210_1、210_2、210_3は情報処理システム230からこれに関連したデータを(例えば、デバイス証明書など)サービス要請などに対する応答として受信することができる。
【0042】
図3は、本開示の一実施例に係るユーザ端末210および情報処理システム230の内部構成を示すブロック図である。ユーザ端末210はIoTサービスおよび/またはセキュリティサービスを提供する任意のアプリケーションなどを実行することが可能であり、有線/無線通信が可能な任意のコンピューティング装置を指称する可能性があり、例えば、図1のデバイス管理装置130、140、図2の携帯電話端末機210_1、タブレット端末機210_2およびPC端末機210_3等を含むことができる。図示された通り、ユーザ端末210はメモリ312、プロセッサ314、通信モジュール316および入出力インターフェース318を含むことができる。これと同様に、情報処理システム230はメモリ332、プロセッサ334、通信モジュール336および入出力インターフェース338を含むことができる。図3に図示された通り、ユーザ端末210および情報処理システム230はそれぞれの通信モジュール316、336を利用してネットワーク220を通じて情報および/またはデータを通信できるように構成され得る。また、入出力装置320は入出力インターフェース318を通じてユーザ端末210に情報および/またはデータを入力したり、ユーザ端末210から生成された情報および/またはデータを出力したりするように構成され得る。
【0043】
メモリ312、332は非一時的な任意のコンピュータ読み取り可能な記録媒体を含むことができる。一実施例によると、メモリ312、332はRAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)、フラッシュメモリ(flash memory)などのような非消滅性大容量保存装置(permanent mass storage device)を含むことができる。他の実施例において、ROM、SSD、フラッシュメモリ、ディスクドライブなどのような非消滅性大容量保存装置はメモリとは区分される別途の永久保存装置であって、ユーザ端末210および/または情報処理システム230に含まれ得る。また、メモリ312、332には運営体制と少なくとも一つのプログラムコード(例えば、ユーザ端末210に設置されて駆動されるIoTサービスおよび/またはセキュリティサービスを提供するアプリケーションなどのためのコード)が保存され得る。
【0044】
このようなソフトウェア構成要素は、メモリ312、332とは別途のコンピュータで読み取り可能な記録媒体からローディングされ得る。このような別途のコンピュータで読み取り可能な記録媒体は、このようなユーザ端末210および情報処理システム230に直接連結可能な記録媒体を含むことができるが、例えば、フロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含むことができる。他の例として、ソフトウェア構成要素はコンピュータで読み取り可能な記録媒体ではない通信モジュールを通じてメモリ312、332にローディングされ得る。例えば、少なくとも一つのプログラムは、開発者またはアプリケーションの設置ファイルを配布するファイル配布システムが、ネットワーク220を通じて提供するファイルによって設置されるコンピュータプログラムに基づいてメモリ312、332にローディングされ得る。
【0045】
プロセッサ314、334は基本的な算術、ロジックおよび入出力演算を遂行することによって、コンピュータプログラムの命令を処理するように構成され得る。命令はメモリ312、332または通信モジュール316、336によりプロセッサ314、334に提供され得る。例えば、プロセッサ314、334はメモリ312、332のような記録装置に保存されたプログラムコードにより受信される命令を実行するように構成され得る。
【0046】
通信モジュール316、336は、ネットワーク220を通じてユーザ端末210と情報処理システム230が互いに通信するための構成または機能を提供することができ、ユーザ端末210および/または情報処理システム230が他のユーザ端末および/または他のシステム(一例として、別途のクラウドシステムなど)と通信するための構成または機能を提供することができる。一例として、ユーザ端末210のプロセッサ314がメモリ312などのような記録装置に保存されたプログラムコードにより生成した要請またはデータ(例えば、証明書署名要請(CSR;Certificate Signing Request)、公開鍵、デバイス識別子など)は、通信モジュール316の制御によりネットワーク220を通じて情報処理システム230に伝達され得る。逆に、情報処理システム230のプロセッサ334の制御により提供される制御信号や命令が、通信モジュール336とネットワーク220を経てユーザ端末210の通信モジュール316を通じてユーザ端末210に受信され得る。
【0047】
入出力インターフェース318は入出力装置320とのインターフェースのための手段であり得る。一例として、入力装置は音声センサ、加速度センサ、ジャイロスコープ(すなわち、角速度センサ)等の慣性センサ、光学カメラ、IRカメラなどの光学センサ、ToF、LiDARセンサ、Depthカメラなどの距離感知センサを含むことができる。追加的に、入力装置はオーディオセンサおよび/またはイメージセンサを含んだカメラ、キーボード、マイクロホン、マウスなどの装置を含み、出力装置はディスプレイ、スピーカー、ハプティックフィードバックデバイス(haptic feedback device)などのような装置を含むことができる。他の例として、入出力インターフェース318はタッチスクリーンなどのように、入力と出力を遂行するための構成または機能が一つに統合された装置とのインターフェースのための手段であり得る。例えば、ユーザ端末210のプロセッサ314がメモリ312にローディングされたコンピュータプログラムの命令を処理するにおいて、情報処理システム230が提供する情報および/またはデータを利用して構成されるサービス画面などが入出力インターフェース318を通じてディスプレイに表示され得る。図3では入出力装置320がユーザ端末210に含まれないように図示されているが、これに限定されず、ユーザ端末210と一つの装置で構成され得る。また、情報処理システム230の入出力インターフェース338は、情報処理システム230と連結されたり、情報処理システム230が含んだりすることができる入力または出力のための装置(図示されず)とのインターフェースのための手段であり得る。図3では入出力インターフェース318、338がプロセッサ314、334と別途に構成された要素として図示されたが、これに限定されず、入出力インターフェース318、338がプロセッサ314、334に含まれるように構成され得る。
【0048】
ユーザ端末210および情報処理システム230は、図3の構成要素よりさらに多くの構成要素を含むことができる。しかし、大部分の従来技術的構成要素を明確に図示する必要性はない。一実施例によると、ユーザ端末210は前述された入出力装置320のうち少なくとも一部を含むように具現され得る。また、ユーザ端末210はトランシーバー(transceiver)、GPS(Global Positioning system)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含むことができる。例えば、ユーザ端末210はカメラモジュール、タッチパネル、入出力ポートなどの多様な構成要素がユーザ端末210にさらに含まれるように具現され得る。
【0049】
一実施例によると、ユーザ端末210のプロセッサ314はユーザ端末210を動作させたり、制御したりすることができる任意のアプリケーションを動作させるように構成され得る。例えば、ユーザ端末210のプロセッサ314はIoTサービスおよび/またはセキュリティサービスを提供するアプリケーションなどが動作するように構成され得る。この時、該当アプリケーションおよび/またはプログラムに関連したコードがユーザ端末210のメモリ312にローディングされ得る。アプリケーションおよび/またはプログラムが動作する間、ユーザ端末210のプロセッサ314は入出力装置320から提供された情報および/またはデータを入出力インターフェース318を通じて受信したり、通信モジュール316を通じて情報処理システム230から情報および/またはデータを受信したりすることができ、受信された情報および/またはデータを処理してメモリ312に保存することができる。また、このような情報および/またはデータは通信モジュール316を通じて情報処理システム230に提供することができる。
【0050】
IoTサービスおよび/またはセキュリティサービスを提供するアプリケーションなどのためのプログラムが動作する間に、プロセッサ314は入出力インターフェース318と連結されたタッチスクリーン、キーボード、オーディオセンサおよび/またはイメージセンサを含んだカメラ、マイクロホンなどの入力装置を通じて入力されたり選択されたりしたテキスト、イメージ、映像、音声などを受信することができ、受信されたテキスト、イメージ、映像および/または音声などをメモリ312に保存したり、通信モジュール316およびネットワーク220を通じて情報処理システム230に提供したりすることができる。
【0051】
情報処理システム230のプロセッサ334は、ユーザ端末210を含んだ複数のユーザ端末および/または複数の外部システムから受信された情報および/またはデータを管理、処理および/または保存するように構成され得る。プロセッサ334により処理された情報および/またはデータは、通信モジュール336およびネットワーク220を通じてユーザ端末210に提供することができる。一実施例において、情報処理システム230のプロセッサ334は通信モジュール336およびネットワーク220を通じてユーザ端末210からデバイス証明書生成のための要請を受信することができる。
【0052】
図4は、本開示の一実施例に係るユーザ端末のプロセッサ314の内部構成を示す図面である。図示された通り、ユーザ端末のプロセッサ314はIoTデバイス初期設定部410および証明書管理部420を含むことができる。一実施例によると、IoTデバイス初期設定部410はIoTデバイス(例えば、IoTデバイス110)の使用が開始される時、IoTデバイスの初期設定(OOBE;Out-Of-Box Experience)を制御することができる。ここで、IoTデバイスの初期設定はIoTデバイスのネットワーク連結およびIoTデバイスに対する検証のための作業を含むことができる。
【0053】
一実施例によると、IoTデバイス初期設定部410はユーザ端末に連結されたネットワークに関する情報をIoTデバイスに伝送することができる。例えば、IoTデバイス初期設定部410はユーザ端末に連結されたワイファイアクセスポイント(Wi-Fi Access Point)の識別子(SSID;Service Set Identifier)および/またはパスワード(Password)を伝送することができる。その後、IoTデバイスは受信された識別子および/またはパスワードを利用して該当ネットワークに連結され得る。
【0054】
一実施例によると、IoTデバイス初期設定部410は(ネットワークに連結された)、IoTデバイスから証明書署名要請(CSR;Certificate Signing Request)を受信することができる。それから、IoTデバイス初期設定部410は、デバイス証明書の生成のために、受信された証明書署名要請をIoTプラットフォームに伝送することができる。この場合、証明書署名要請はIoTデバイスによって生成され得る。また、証明書署名要請はIoTデバイスの識別子(例えば、デバイス識別子116)およびIoTデバイスの公開鍵(例えば、公開鍵114)を含むことができる。
【0055】
一実施例によると、証明書管理部420はIoTプラットフォームからデバイス証明書を受信することができる。それから、証明書管理部420は受信されたデバイス証明書をIoTデバイスに伝送することができる。ここで、デバイス証明書は証明書署名要請に応じてIoTプラットフォームによって生成されたデバイス証明書を指称し得る。
【0056】
図5は、本開示の一実施例に係る情報処理システムのプロセッサ334の内部構成を示す図面である。図示された通り、情報処理システムのプロセッサ334は証明書署名要請検証部510および証明書発行部520を含むことができる。一実施例によると、証明書署名要請検証部510はユーザ端末から受信した証明書署名要請に対する検証を遂行できる。一方、図5で前述した通り、証明書署名要請はIoTデバイスの固有情報(例えば、デバイス識別子116)および/またはIoTデバイスの公開鍵(例えば、公開鍵114)を含むことができる。
【0057】
一実施例によると、証明書署名要請検証部510は証明書署名要請に含まれたデバイス識別子を利用してIoTデバイスを識別することができる。具体的には、情報処理システム(例えば、情報処理システムのメモリ332)には複数のIoTデバイス生産過程で複数のIoTデバイスそれぞれから獲得されたデバイス識別子および/または該当IoTデバイスの公開鍵が保存され得る。証明書署名要請検証部510は、情報処理システムに保存された複数のデバイス識別子の中で証明書署名要請に含まれたデバイス識別子と同一のデバイス識別子を抽出することができる。それから、証明書署名要請検証部510は情報処理システムに保存された複数の公開鍵のうち抽出されたデバイス識別子に関連した公開鍵(すなわち、証明書署名要請を生成したIoTデバイスの公開鍵)を検索することができる。
【0058】
一実施例によると、証明書署名要請検証部510は証明書署名要請に含まれた公開鍵と検索された公開鍵を比較することによってIoTデバイスを検証することができる。例えば、証明書署名要請に含まれた公開鍵と検索された公開鍵が同じである場合、証明書署名要請検証部510はデバイス証明書発行に関する手続きを進めることができる。反面、証明書署名要請に含まれた公開鍵と検索された公開鍵が異なる場合、デバイス証明書は発行されないことができる。すなわち、証明書署名要請検証部510がハッキングなどの目的で任意のユーザ端末によって生成された認証署名要請を受信しても、該当認証署名要請はIoTデバイスの公開鍵を含まないのでデバイス証明書が発行されないため、IoTデバイスは中間者攻撃(MITM Attack;Man in the middle Attack)から安全に保護され得る。
【0059】
一実施例によると、証明書署名要請検証部510は証明書署名要請に含まれたデバイス固有情報を情報処理システムに保存されているデバイス固有情報と比較することによってIoTデバイスを検証することができる。デバイス固有情報の比較を通じて情報処理システムに保存された、すなわち認証されたデバイスとして登録されていることが確認される場合、証明書署名要請検証部510はデバイス証明書発行に関する手続きを進めることができる。
【0060】
一実施例によると、証明書発行部520は証明書署名要請検証部510により検証された証明書署名要請を認証サーバー(CA:Certificate Authority)に伝送することができる。例えば、証明書署名要請に含まれた公開鍵と検索された公開鍵が同一のものと判断された場合、証明書発行部520は証明書署名要請を認証サーバーに伝送することができる。ここで、認証サーバーはIoTプラットフォームと連結されてデバイス証明書を発行する別途のサーバーを指称し得る。代案として、認証サーバーはIoTプラットフォームに含まれてデバイス証明書を発行するモジュールを指称し得る。
【0061】
一実施例によると、証明書発行部520は認証サーバーによって発行されたデバイス証明書を受信することができる。それから、証明書発行部520は受信されたデバイス証明書をユーザ端末を通じてIoTデバイスに伝送することができる。ここで、デバイス証明書は認証サーバーの秘密鍵による署名を含むことができる。認証サーバーの秘密鍵による署名は該当デバイス証明書が認証サーバーから発行されたデバイス証明書であることを検証するために利用され得る。
【0062】
図6は、本開示の一実施例に係るIoTデバイスの内部構成を示す図面である。図示された通り、IoTデバイス110はSoM600を含むことができる。本開示で、「SoM(system on module)」はIoTデバイスのようなシステムまたは装置の機能を一つのモジュールに統合したボードレベルの回路を指称し得る。例えば、SoM600は、IoTデバイス110のデバイス証明書発行のためにIoTデバイス110に設置されたファームウェアまたはエンベデッドシステムを含むことができ、該当システムは少なくとも一つのマイクロプロセッサまたはプロセッサコア、ROM、RAM、EEPROM、フラッシュメモリなどのようなメモリブロック、USB、Wi-Fi、ブルートゥースなどのような通信インターフェース、計数タイマー、リアルタイムタイマーなどを含む周辺装置、A/Dコンバータ、D/Aコンバータなどを含むアナログインターフェース、電力制御回路などを含むことができるが、これに限定されるものではない。図示された通り、SoM600は、ルートCA証明書610、チェーン証明書620、秘密鍵630、公開鍵640、デバイス識別子650およびMACアドレス660のうち少なくとも一つ以上を含むことができる。ここで、SoM600に含まれた秘密鍵630および公開鍵640はそれぞれ図1の秘密鍵112および公開鍵114と対応することができる。また、SoM600に含まれたデバイス識別子650またはMACアドレス660は図1のデバイス識別子116と対応することができる。
【0063】
一実施例によると、IoTデバイス110はルートCA証明書610を利用してデバイス証明書を検証することができる。例えば、IoTデバイス110はルートCA証明書610とデバイス証明書が同一の認証サーバーの秘密鍵によって署名されたものと判断された場合、IoTデバイス110は該当デバイス証明書が認証サーバーから発行されたデバイス証明書であることを検証し、検証されたデバイス証明書を保存することができる。同様に、IoTデバイス110はチェーン証明書620を利用してデバイス証明書を検証し、検証されたデバイス証明書を保存してもよい。
【0064】
一実施例によると、IoTデバイス110は生産過程で秘密鍵630および公開鍵640の対およびデバイス識別子650を生成および保存することができる。それから、IoTデバイス110は生成された公開鍵640およびデバイス識別子650をIoTプラットフォームに伝送および登録することができる。IoTプラットフォームに登録された公開鍵640およびデバイス識別子650はIoTプラットフォームがIoTデバイス110から伝送された証明書生成要請を検証する過程で利用され得る。例えば、デバイス識別子650はIoTデバイス110を固有に識別できるハードウェアシリアル番号を含むことができる。
【0065】
一実施例によると、IoTデバイス110は生産過程でMAC(Media Access Control)アドレスを生成および保存することができる。MACアドレス660はデバイス識別子650と同様に、ネットワークに連結されたIoTデバイス110を識別するための固有のアドレスを指称し得る。したがって、IoTデバイス110はMACアドレス660を公開鍵640およびデバイス識別子650とともにIoTプラットフォームに登録することができ、IoTプラットフォームは証明書生成要請を検証する過程でMACアドレス660を選択的にまたは追加的に利用することができる。
【0066】
図7は、本開示の一実施例に係るIoTデバイスの生産過程で公開鍵および秘密鍵の対を生成する方法の例示を示す。図示された通り、IoTデバイス110は生産過程でネットワークを通じて生産ラインステーション120と連結され得る。一実施例によると、生産ラインステーション120は公開鍵および秘密鍵対の生成要請をIoTデバイス110に伝送することができる(710)。IoTデバイス110は公開鍵および秘密鍵対の生成要請を受信することに応答して、公開鍵および秘密鍵対を生成することができる(720)。また、IoTデバイス110は生成された公開鍵およびIoTデバイス110を識別するためのデバイス固有情報(例えば、デバイス識別子)をIoTプラットフォーム150に伝送することができる(730)。
【0067】
このように、IoTデバイス110の生産段階で自主的に生成された秘密鍵はIoTデバイス110内部にのみ保存されて、以後IoTデバイス110の検証またはデバイス証明書発生および検証段階で外部に露出されないことができる。また、IoTデバイス110の生産段階でIoTプラットフォーム150はIoTデバイス110から受信された公開鍵およびデバイス固有情報を事前登録し、以後IoTデバイス110から伝送される証明書署名要請の検証に使うことができる。
【0068】
図8は、本開示の一実施例に係るIoTデバイスのためのデバイス証明書の生成方法の例示を示す。図8に図示されたデバイス証明書の生成方法は、IoTデバイス110の生産段階以後にIoTデバイス110の初期設定または使用開始段階で実行され得る。図示された通り、IoTデバイス110はデバイス証明書生成過程でデバイス管理装置130と連結され得る。一実施例によると、IoTデバイス110は生産過程で生成された秘密鍵で署名された証明書署名要請(CSR)を生成することができる(812)。IoTデバイス110は生成された証明書署名要請をデバイス管理装置130に伝送し(814)、デバイス管理装置130は証明書署名要請をIoTプラットフォーム150に伝送することができる(820)。
【0069】
一実施例によると、IoTプラットフォーム150はデバイス管理装置130から、証明書署名要請を受信することに応答して、IoTデバイス110の生産過程でIoTプラットフォーム150に事前登録されたIoTデバイスの公開鍵と証明書署名要請の公開鍵を比較することができる。IoTプラットフォーム150は事前登録されたIoTデバイスの公開鍵と証明書署名要請の公開鍵が一致するものと判定すれば、証明書署名要請に基づいて認証機関(CA)(または認証サーバー)170にデバイス証明書発行要請を伝送することができる(842)。認証機関170は、IoTプラットフォーム150からデバイス証明書発行要請を受信することに応答して、認証機関の秘密鍵で署名したデバイス証明書を発行してIoTプラットフォーム150に伝送することができる。
【0070】
一実施例によると、IoTプラットフォーム150は、受信したデバイス証明書をデバイス管理装置130に伝送し(850)、ユーザ端末130は受信したデバイス証明書をIoTデバイス110に伝送することができる(860)。IoTデバイス110は、デバイス証明書を受信することに応答して、ルートCA証明書(例えば、ルートCA証明書610)および/またはチェーン証明書620を利用してデバイス証明書を検証することができる(870)。それから、IoTデバイス110は検証されたデバイス証明書をIoTデバイス110に保存することができる(880)。また、IoTデバイス110は検証されたデバイス証明書を利用してIoTプラットフォーム150とのセキュリティ連結を実行することができる(890)。
【0071】
以上、実施例において、IoTデバイス110は証明書署名要請をデバイス管理装置130を通じてプラットフォーム150に伝送し、IoTプラットフォーム150はデバイス証明書をデバイス管理装置130を通じてIoTデバイス110に伝送するものとして説明したが、これに限定されるものではない。一実施例において、IoTデバイス110は証明書署名要請を直接プラットフォーム150に伝送し、IoTプラットフォーム150はデバイス証明書を直接IoTデバイス110に伝送してもよい。
【0072】
図9は、本開示の一実施例に係るIoTデバイスの初期設定および証明書生成のためのデバイス管理装置のユーザインターフェースの例示を示す。図示された通り、デバイス管理装置のディスプレイ上に出力される、IoTデバイスの初期設定および証明書生成のためのユーザインターフェースは、第1動作段階910、第2動作段階920、第3動作段階930および第4動作段階940を含むことができる。ここで、ユーザインターフェースは、例えば、IoTプラットフォーム(例えば、情報処理システム230)が提供するIoTサービスのためのアプリケーションなどがユーザ端末に設置されて入出力装置320を通じて出力されたものであり、ユーザインターフェースの動作段階910~940はプロセッサ(例えば、プロセッサ314またはプロセッサ334)によって遂行され得る。
【0073】
一実施例によると、プロセッサは第1動作段階910でIoTデバイス(例えば、「照明」)を連結するための「連結する」ボタン912を出力することができる。例えば、IoTデバイスの使用開始または電源オン動作によりIoTデバイスからネットワーク連結要請を受信すると、プロセッサは第1動作段階910で該当IoTデバイスに関する情報とともに「連結する」ボタン912を表示することができる。それから、プロセッサは「連結する」ボタン912に対するユーザ入力に応答して、IoTデバイスに連結可能な少なくとも一つのネットワークが表示された第1インターフェース922を出力することができる。第2動作段階920で第2ユーザインターフェース922にはWi-Fiネットワークのリストが例示として図示されたが、これに限定されるものではなく、ブルートゥース、USB連結または異なる形態の無線、有線または近距離ネットワークが表示されてもよい。
【0074】
一実施例によると、プロセッサは第1インターフェース922で一つのネットワークを選択するユーザ入力に応答して、選択されたネットワークに関連した情報(例えば、Wi-FiネットワークのSSIDおよび/またはパスワード)をIoTデバイスに伝送することができる。この場合、IoTデバイスはネットワークに関連した情報に基づいて該当ネットワークに連結され、プロセッサはIoTデバイスとネットワークの連結が完了したことに応答して、第3動作段階930でネットワーク連結の完了とともにIoTプラットフォームによるデバイス証明書発行を要請する第2インターフェース932を出力することができる。
【0075】
一実施例によると、プロセッサは第2インターフェース932に対するユーザ入力に応答して、図1図8に開示されたデバイス証明書生成手続きを開始することができる。それから、プロセッサは開始された手続きを通じてデバイス証明書が生成されることに応答して、第4動作段階940でIoTデバイスのデバイス証明書発行が完了したことを示すインターフェースを出力し、デバイス証明書生成手続きを終了することができる。
【0076】
図10は、本開示の一実施例に係るデバイス管理装置によって実行されるIoTデバイスの安全連結のためのデバイス証明書生成方法1000の例示を示すフローチャートである。方法1000はデバイス管理装置のプロセッサ(例えば、プロセッサ314)により遂行され得る。図示された通り、方法1000はIoTデバイスとネットワーク連結を設定する段階(S1010)で開始され得る。例えば、プロセッサは、IoTデバイスから受信された初期設定要請に応答して、IoTデバイスとネットワーク連結を設定することができる。この場合、IoTデバイスの公開鍵および秘密鍵は、IoTデバイスの生産段階で事前生成されてIoTデバイスに保存され、IoTデバイスの公開鍵はIoTプラットフォームに事前登録され得る。
【0077】
一実施例によると、プロセッサはIoTデバイスから受信された証明書署名要請をIoTプラットフォームに伝送することができる(S1020)。ここで、証明書署名要請は、IoTデバイスの秘密鍵で署名され得る。また、証明書署名要請は、IoTデバイスの公開鍵を含み、証明書署名要請に含まれた公開鍵は、IoTプラットフォームに事前登録されたIoTデバイスの公開鍵と比較されて検証され得る。
【0078】
一実施例によると、プロセッサは証明書署名要請に応じてIoTプラットフォームによって生成されたデバイス証明書をIoTデバイスに伝送することができる(S1030)。この場合、デバイス証明書は、IoTプラットフォームに連動された認証機関の秘密鍵で署名され得る。また、デバイス証明書は、IoTデバイスに事前保存された認証機関のルートCA証明書を利用して検証され得る。
【0079】
図11は、本開示の一実施例に係るIoTデバイスによって実行されるIoTデバイスの安全連結のためのデバイス証明書生成方法1100の例示を示すフローチャートである。図示された通り、方法1100は公開鍵および秘密鍵の対を生成する段階(S1110)で開始され得る。それから、IoTデバイスは公開鍵とデバイス識別子を含むデバイス情報をIoTプラットフォームに伝送することができる(S1120)。ここで、公開鍵および秘密鍵の対を生成する段階(S1110)および公開鍵とデバイス識別子を含むデバイス情報をIoTプラットフォームに伝送する段階(S1120)は、IoTデバイスが生産される過程で遂行され得る。
【0080】
一実施例によると、IoTデバイスはデバイス管理装置に初期設定要請を伝送することができる(S1130)。ここで、初期設定はIoTデバイスのネットワーク連結要請をデバイス管理装置に伝送、IoTデバイスが連結可能なネットワークの選択、IoTデバイスを選択されたネットワークに連結のうち少なくとも一つを含むことができる。例えば、IoTデバイスの初期設定要請は、IoTデバイスを購入したユーザがはじめて使用を開始するか電源オン動作を実行することによって、デバイスに伝送され得る。他の実施例において、IoTデバイスは、デバイス管理装置に初期設定要請を伝送する段階(S1130)を省略し、自主的に初期設定を実行することができる。この場合、IoTデバイスは連結可能なネットワークを探索し、探索された一つ以上のネットワークの中の一つを選択して連結することができる。
【0081】
一実施例によると、IoTデバイスは初期設定の完了の有無を判定することができる(S1140)。例えば、IoTデバイスがネットワークに連結されたものと判定された場合、IoTデバイスは公開鍵を含む証明書署名要請をユーザ端末に伝送することができる(S1150)。反面、IoTデバイスがネットワークに連結されていないものと判定された場合、IoTデバイスはユーザ端末に初期設定要請を再伝送することができる(S1130)。ここで、証明書署名要請はIoTデバイスに事前保存された秘密鍵で署名され得る。他の実施例において、IoTデバイスがネットワークに連結されたものと判定された場合、IoTデバイスは公開鍵を含む証明書署名要請を、ユーザ端末を経由せずに直接IoTプラットフォームに伝送することができる。反面、IoTデバイスがネットワークに連結されていないものと判定された場合、IoTデバイスは初期設定を自主的に再実行することができる。
【0082】
一実施例によると、IoTデバイスはユーザ端末からデバイス証明書を受信すると、該当(デバイス)証明書を検証後保存することができる(S1160)。他の実施例において、IoTデバイスはIoTプラットフォームからデバイス証明書を受信し、該当証明書を検証後保存することができる。ここで、デバイス証明書は、IoTプラットフォームに連動された認証機関の秘密鍵で署名され得る。また、デバイス証明書は、IoTデバイスに事前保存された認証機関のルートCA証明書を利用して検証され得る。デバイス証明書の検証完了後、IoTデバイスは該当デバイス証明書を利用してIoTプラットフォームに連結され得る。
【0083】
図10および図11で図示したフローチャートおよび前述した説明は一例示に過ぎず、一部の実施例では異なって具現され得る。例えば、一部の実施例では各段階の順序が変わったり、一部の段階が繰り返し遂行されたり、一部の段階が省略されたり、一部の段階が追加され得る。
【0084】
前述した方法はコンピュータで実行するためにコンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラムで提供され得る。媒体はコンピュータで実行可能なプログラムを継続して保存するか、実行またはダウンロードのために臨時保存するものであってもよい。また、媒体は単一または数個のハードウェアが結合された形態の多様な記録手段または保存手段であり得るが、何らかのコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散存在するものであってもよい。媒体の例示としては、ハードディスク、フロッピーディスクおよび磁気テープのような磁気媒体、CD-ROMおよびDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto optical medium)、およびROM、RAM、フラッシュメモリなどを含んでプログラム命令語が保存されるように構成されたものがあり得る。また、他の媒体の例示として、アプリケーションを流通するアプリストアやその他多様なソフトウェアを供給乃至流通するサイト、サーバーなどで管理する記録媒体乃至保存媒体も挙げられる。
【0085】
本開示の方法、動作または技法は多様な手段によって具現されてもよい。例えば、このような技法はハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで具現されてもよい。本願の開示と連係して説明された多様な例示的な論理的ブロック、モジュール、回路、およびアルゴリズム段階は、電子ハードウェア、コンピュータソフトウェア、または両者の組み合わせで具現されてもよいことを通常の技術者は理解できるであろう。ハードウェアおよびソフトウェアのこのような相互の代替を明確に説明するために、多様な例示的な構成要素、ブロック、モジュール、回路、および段階がそれらの機能的観点で一般的に前記にて説明された。そのような機能がハードウェアで具現されるのかまたはソフトウェアで具現されるのかの有無は、特定のアプリケーションおよび全体システムに課される設計要求事項により変わる。通常の技術者はそれぞれの特定のアプリケーションのために多様な方式で説明された機能を具現してもよいが、そのような具現は本開示の範囲から逸脱させるものと解釈されてはならない。
【0086】
ハードウェアの具現において、技法を遂行するのに利用されるプロセッシングユニットは、一つ以上のASIC、DSP、デジタル信号プロセッシングデバイス(digital signal processing devices;DSPD)、プログラム可能論理デバイス(programmable logic devices;PLD)、フィールドプログラム可能ゲートアレイ(field programmable gate arrays;FPGA)、プロセッサ、制御器、マイクロ制御器、マイクロプロセッサ、電子デバイス、本開示に説明された機能を遂行するように設計された他の電子ユニット、コンピュータ、またはこれらの組み合わせ内で具現されてもよい。
【0087】
したがって、本開示と連係して説明された多様な例示的な論理ブロック、モジュール、および回路は汎用プロセッサ、DSP、ASIC、FPGAや他のプログラム可能論理デバイス、離散ゲートやトランジスタロジック、離散ハードウェアコンポーネント、または本願に説明された機能を遂行するように設計されたものなどの任意の組み合わせで具現化されたり遂行されたりしてもよい。汎用プロセッサはマイクロプロセッサであり得るが、代案として、プロセッサは任意の従来のプロセッサ、制御器、マイクロ制御器、または状態マシンであってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連係した一つ以上のマイクロプロセッサ、または任意の他の構成の組み合わせで具現されてもよい。
【0088】
ファームウェアおよび/またはソフトウェアの具現において、技法はランダムアクセスメモリ(random access memory;RAM)、読み取り専用メモリ(read-only memory;ROM)、不揮発性RAM(non-volatile random access memory;NVRAM)、PROM(programmable read-only memory)、EPROM(erasable programmable read-only memory)、EEPROM(electrically erasable PROM)、フラッシュメモリ、コンパクトディスク(compact disc;CD)、磁気または光学データストレージデバイスなどのようなコンピュータ読み取り可能媒体上に保存された命令で具現されてもよい。命令は一つ以上のプロセッサによって実行可能であってもよく、プロセッサ(ら)に、本開示に説明された機能の特定様態を遂行させるようにしてもよい。
【0089】
ソフトウェアで具現される場合、前記技法は一つ以上の命令またはコードでコンピュータ読み取り可能な媒体上に保存されるかまたはコンピュータ読み取り可能な媒体を通じて伝送されてもよい。コンピュータ読み取り可能媒体は一つの場所から他の場所にコンピュータプログラムの伝送を容易にする任意の媒体を含んでコンピュータ保存媒体および通信媒体の両者を含む。保存媒体はコンピュータによってアクセスされ得る任意の利用可能な媒体であってもよい。非制限的な例として、このようなコンピュータ読み取り可能媒体はRAM、ROM、EEPROM、CD-ROMまたは他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または所望するプログラムコードを命令またはデータ構造の形態で移送または保存するために使われ得、コンピュータによってアクセスされ得る任意の他の媒体を含むことができる。また、任意の接続がコンピュータ読み取り可能媒体で適切に称される。
【0090】
例えば、ソフトウェアが同軸ケーブル、光ファイバーケーブル、撚線、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波のような無線技術を使ってウェブサイト、サーバー、または他の遠隔ソースから伝送されると、同軸ケーブル、光ファイバーケーブル、撚線、デジタル加入者回線、または赤外線、無線、およびマイクロ波のような無線技術は媒体の定義内に含まれる。本願で使われたディスク(disk)とディスク(disc)は、CD、レーザーディスク、光ディスク、DVD(digital versatile disc)、フロッピーディスク、およびブルーレイディスクを含み、ここでディスク(disks)は普通磁気的にデータを再生し、反面ディスク(discs)はレーザーを利用して光学的にデータを再生する。前記の組み合わせもコンピュータ読み取り可能媒体の範囲内に含まれなければならない。
【0091】
ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、移動式ディスク、CD-ROM、または公知の任意の他の形態の保存媒体内に常駐してもよい。例示的な保存媒体は、プロセッサが保存媒体から情報を読み取ったり保存媒体に情報を記録したりすることができるように、プロセッサに連結され得る。代案として、保存媒体はプロセッサに統合されてもよい。プロセッサと保存媒体はASIC内に存在してもよい。ASICはユーザ端末内に存在してもよい。代案として、プロセッサと保存媒体はユーザ端末で個別の構成要素として存在してもよい。
【0092】
以上で説明された実施例が一つ以上の独立型コンピュータシステムで現在開示された主題の様態を活用するものとして記述されたが、本開示はこれに限定されず、ネットワークや分散コンピューティング環境のような任意のコンピューティング環境と連係して具現されてもよい。ひいては、本開示で主題の様相は複数のプロセッシングチップや装置で具現されてもよく、ストレージは複数の装置にわたって同様に影響を受けることになることもある。このような装置はPC、ネットワークサーバー、および携帯用装置を含んでもよい。
【0093】
本明細書では本開示が一部の実施例と関連して説明されたが、本開示の発明が属する技術分野の通常の技術者が理解できる本開示の範囲を逸脱しない範囲で多様な変形および変更がなされ得る。また、そのような変形および変更は、本明細書に添付された特許請求の範囲内に属するものと理解されるべきである。
【符号の説明】
【0094】
100:デバイス証明書生成システム
110:IoTデバイス
120:生産ラインステーション
130、140:デバイス管理装置
150:IoTプラットフォーム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11