質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.36%

  • HTTP

    409questions

    HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

  • SSH

    371questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

  • SSL

    343questions

    SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

HTTPSでSSL(TLS)が必要な理由

受付中

回答 2

投稿 2017/12/02 21:29

  • 評価
  • クリップ 2
  • VIEW 325

node

score 4

SSHでは通信内容を暗号化して通信しますが、HTTPSではわざわざSSLを用意してサーバーに設置する必要があります。

SSHでも公開鍵(秘密鍵)を用意してサーバーに配置しますが、
パスワードでログインしたとしても内容の暗号化はされると思います。

HTTPSでもそうしなかった理由はなんでしょう?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+6

Webサイトの閲覧時にサイト毎に毎回パスワードを入れられるということでしょうか。
手間が大きすぎると思います。

SSHの場合サーバー側の鍵の設定をしていないというご認識かと思いますが、それはsshdのインストール時や初回起動時に自動的に設定が行われているためで、設定が不要なわけではありません。

また、SSHでもTLSでも鍵交換をして暗号化しているので暗号化の仕組みはおおよそ同じです。
SSHで証明書を使用する場合、クライアント証明書になるかと思いますが、同様の認証の仕組みはHTTPでも利用することが可能かと思います。


追記:

SSHの場合、初回接続時にサーバの公開鍵を受け取って、known_hostsに登録するかと思います。
この鍵がHTTPSでのサーバ証明書と同様の内容になります。
HTTPSではknown_hostsへの登録がないのは、ブラウザにルート証明書というあらかじめ信頼済みの証明書の一覧が含まれているためです。
オレオレ証明書などで例外設定を行っている場合などは、known_hosts相当のことを行っているということになります。
また、HTTPSで使うサーバ証明書では、組織認証(OV)のような、付加的な証明も併せて行っている場合があります。

投稿 2017/12/02 21:42

編集 2017/12/02 22:53

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

SSHはサーバーに公開鍵をインストールし、ユーザーが保持している秘密鍵を用いて認証することで、正規のユーザーである事を認証するための仕組み。

TLSはサーバーに秘密鍵をインストールし、認証局に登録されれている公開鍵を用いて検証することで、正規のサーバーである事を認証するための仕組み。

この両者は目指していることが違います。そもそも通信経路の暗号化だけが目的ではありません。SSHではユーザが偽装していないことを、TLSではサーバーが偽装していないことを確認するための手段です。

投稿 2017/12/03 11:50

編集 2017/12/03 11:51

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.36%

関連した質問

  • 解決済

    httpとhttps

    CMSを本サーバへアップロードしたら、httpsが通りません。 初歩的なことなんですが、httpsをサーバ側(もしくはEC-CUBE)で有効にするにはどうすればいいでしょうか?

  • 解決済

    openssl genrsa と ssh-keygenについて

    基本がよくわかっていないのですが、 用途と違いについておしえてください。

  • 解決済

    下層ディレクトリのリバースプロキシの設定(SSL込)について

    初めて質問させていただきます。 apache、リバースプロキシ、SSL、nginxの 記述方法について不明点がありご質問させていただきます。 ■サーバー構成 下記の

  • 解決済

    C# SharpSshのエラーの解決法

    初心者です VSのC#です。 サーバにssh接続を行い、サーバ上のプログラムを起動したいのですが、できません。 SherpSshというライブラリを参照し、usingには

  • 解決済

    AppサーバへのSSH接続方法について

    前提・実現したいこと AppサーバへのSSH接続 Webサーバを踏み台にしPrivateIPに対して接続したい サーバーへの接続手順をできれば具体的に指南していただけると

  • 解決済

    SSLHandshakeException

    JavaでECサイトのシステムを作っています OMSのWEB API を使ってデータ参照をしようとしているのですが、以下例外が発生しております。 SSLHandshak

  • 受付中

    レンタルサーバー上でのSSL化のテスト方法

    Wordpressでマルチサイトを構築しています。 今http環境下でテストしていますが、 本番ではSSL化する予定です。 公開する前に、SSL化のテストをしたいのですが

  • 解決済

    移行先サーバでcertbotのSAN証明書発行を旧サーバのFQDN込で行えますか?

    前提・実現したいこと サーバ移行を控えています。移行元サーバではcertbotを入れられなかったためLet's Encryptを使用していませんが、移行先サーバはSNI対応のngi

同じタグがついた質問を見る

  • HTTP

    409questions

    HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

  • SSH

    371questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

  • SSL

    343questions

    SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。