セキュアコンテキストとは

セキュアコンテキストは、ウェブ環境において、通信が暗号化され、内容が改ざんされていないこと、および通信相手が信頼できることを保証する安全な状況のことです。

HTTPS接続がその代表例であり、この安全な状況下でしか利用できないウェブ機能が増えています。

セキュアコンテキストの概要

ウェブ技術の進化と、オンラインにおけるプライバシーとセキュリティの重要性の高まりに伴い、ウェブサイトやアプリケーションが安全な環境で提供されることが不可欠となっています。ここで登場するのが「セキュアコンテキスト」という概念です。

セキュアコンテキストとは、ウェブブラウザとサーバー間の通信が安全であることを技術的に保証する状況を指します。

具体的には、通信経路が盗聴や改ざんから保護され、通信相手が本物であることを証明できる状態です。この「安全な状況」が確立されていることで、ユーザーの個人情報や機密データが保護され、ウェブアプリケーションの提供する機能が意図した通りに動作することが期待されます。

セキュアコンテキストが要求される背景

かつてはHTTP(Hypertext Transfer Protocol)による非暗号化通信が一般的でしたが、以下の理由からセキュアコンテキストの必要性が高まりました。

  • プライバシーの保護: ユーザー名、パスワード、クレジットカード情報などの個人データがネットワーク上で盗聴されるリスクを排除するため。
  • データの完全性: 送受信されるデータが、通信中に第三者によって改ざんされることを防ぐため。
  • ウェブサイトの信頼性: ユーザーがアクセスしているウェブサイトが、悪意のあるフィッシングサイトなどではなく、正規のものであることを証明するため。
  • 最新のウェブ機能の利用: セキュリティ上のリスクが高いとされるAPI(Geolocation, Service Worker, Web Crypto APIなど)は、セキュアコンテキスト下でしか利用できないように設計されています。これは、これらのAPIが悪用された場合にユーザーに甚大な被害を及ぼす可能性があるためです。

セキュアコンテキストの主要な要素

セキュアコンテキストを構成する主な要素は以下の通りです。

1. HTTPS接続

最も一般的なセキュアコンテキストの要件であり、ほぼ同義とされています。HTTP通信をSSL/TLS(Secure Sockets Layer/Transport Layer Security)プロトコルで暗号化したものです。

  • 暗号化: 送受信されるすべてのデータは暗号化され、第三者による盗聴を防ぎます。
  • データの完全性: データが通信中に改ざんされていないことを検証できます。
  • サーバー認証: サーバーがデジタル証明書を提示し、それが信頼できる認証局によって発行されたものであることをブラウザが確認することで、アクセスしているウェブサイトが正規のものであることを証明します。

2. ローカル環境

開発中のローカル環境(http://localhosthttp://127.0.0.1 など)からのアクセスも、ブラウザのセキュリティポリシーによりセキュアコンテキストとみなされます。これは、ローカル環境からの通信は外部に漏れるリスクが極めて低いためです。

セキュアコンテキストが必須となる主要なウェブ機能

近年、多くの強力なウェブAPIや機能が、セキュアコンテキスト下でのみ利用可能となっています。これにより、ユーザーのプライバシーとセキュリティが確保されます。具体的な機能の例を以下に挙げます。

  • Service Worker: オフライン機能やプッシュ通知など、ウェブアプリケーションにネイティブアプリのような体験をもたらす機能。ユーザーのプライバシーやセキュリティに深く関わるため、HTTPSが必須です。
  • Geolocation API: ユーザーの地理的位置情報を取得するAPI。プライバシー侵害のリスクがあるため、セキュアコンテキストが必要です。
  • Web Crypto API: 暗号化、復号化、ハッシュ化などの暗号操作をウェブブラウザで行うためのAPI。セキュリティ上極めて重要であり、セキュアコンテキストが要求されます。
  • Payment Request API: ウェブ上での支払いプロセスを簡素化するためのAPI。クレジットカード情報などの機密情報を扱うため、必須です。
  • getUserMedia API: カメラやマイクへのアクセスを許可するAPI。盗聴や盗撮のリスクがあるため、セキュアコンテキストが必須です。
  • Push API / Notifications API: プッシュ通知を送信・受信するためのAPI。ユーザーのプライバシーに関わるため、セキュアコンテキストが必要です。
  • Credential Management API: ユーザーの認証情報を安全に管理するためのAPI。セキュリティ上、セキュアコンテキストが必要です。

これらの機能は、セキュアコンテキストではないHTTP接続の場合、ブラウザによって利用がブロックされるか、警告が表示されることになります。

セキュアコンテキストは、ウェブ通信の信頼性、プライバシー、およびデータ完全性を保証する基盤であり、今日の安全なインターネット利用に不可欠な概念です。HTTPS接続はその主要な実現手段であり、多くの最新かつ強力なウェブ機能は、この安全なコンテキスト下でのみ提供されるようになっています。

ウェブサイトやアプリケーションを開発・運用する際には、セキュアコンテキストの要件を理解し、適切に対応することが、ユーザーの信頼を得て、安定したサービスを提供するための必須条件と言えるでしょう。

関連用語

サービスワーカー | 今更聞けないIT用語集
API Gateway | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。