本文へスキップ

CBORとは?

しーぼあ

CBORとは、JSONと互換性のある構造を持ちながら、バイナリ形式で効率よくデータをシリアライズできるデータフォーマットです。

CBOR(Concise Binary Object Representation)は、IETFが策定したRFC 8949(初版RFC 7049、2013年)に基づくバイナリデータシリアライゼーションフォーマットです。JSONのデータモデル(数値・文字列・配列・マップ・真偽値・null)を踏襲しながら、バイナリ形式でコンパクトかつ高速に表現することを目的に設計されました。

CBORの設計上の特徴として、

  • 小さなコードフットプリント:パーサの実装が非常に小さく、マイコン等の制約環境でも動作する
  • 拡張型のサポート:タグ(Tag)機構により、日時・UUID・BigNum・バイト列など標準外の型を定義できる
  • 自己記述性:スキーマなしでデータの型と構造を判別できる
  • ストリーミング対応:長さ不定のバイト列や配列を段階的にエンコード・デコードできる

JSONと比較した場合、同じデータをCBORでエンコードすると一般的にサイズが30〜50%程度削減され、パース速度も向上します。ただし人間が直接読むことはできないため、デバッグツールでの可視化が必要です。

CBORはCoAPの標準ペイロードフォーマットとして採用されているほか、FIDO2/WebAuthnの認証データ形式、COSE(CBOR Object Signing and Encryption)による署名・暗号化、IoTデバイスのファームウェア更新プロトコルなど、セキュリティ・IoT分野での採用が広がっています。

使い方・例文

WebAuthnでブラウザが認証器(セキュリティキー)と通信する際のデータは、CBORフォーマットでシリアライズされています。IoTセンサーがクラウドにセンサーデータを送る際にもCBORが使われる場面が増えています。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語