-
Notifications
You must be signed in to change notification settings - Fork 4
/
904.txt
1238 lines (940 loc) · 57.1 KB
/
904.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[38] [DFN[[[TLS]]]] (旧 [DFN[[[SSL]]]]) は、[[TCP]] の上、
[[アプリケーション層プロトコル]]の下で動作する[[安全な輸送路]]を提供する[[プロトコル]]です。
[134] [[HTTP]] をはじめとする[[インターネット]]上の様々な[[アプリケーション層プロトコル]]と併用されています。
[135] 1994年に [[Netscape]] によって開発され、当初は [[SSL]] と称していました。
後に [[IETF]] に移管され [[TLS]] と改称されました。現在は最新の [[TLS 1.2]]
(と [[TLS 1.1]]、[[TLS 1.0]]) が用いられています。 [[TLS 1.3]] も開発中です。
* 仕様書
[REFS[
- [105] '''[CITE@en[RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2]] ([TIME[2015-02-19 08:58:15 +09:00]] 版) <http://tools.ietf.org/html/rfc5246>'''
-- [165] [CITE@en[RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2]] ([TIME[2015-07-11 23:54:11 +09:00]] 版) <http://tools.ietf.org/html/rfc5246#section-4>
-- [128] [CITE@en[RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2]] ([TIME[2015-02-19 08:58:15 +09:00]] 版) <http://tools.ietf.org/html/rfc5246#section-7.4.1.2>
- [110] [CITE[RFC Errata Report]] ([TIME[2015-03-20 23:43:46 +09:00]] 版) <http://www.rfc-editor.org/errata_search.php?rfc=5246>
- [113] [CITE@en[RFC 6066 - Transport Layer Security (TLS) Extensions: Extension Definitions]] ([TIME[2015-02-01 18:07:52 +09:00]] 版) <http://tools.ietf.org/html/rfc6066>
- [114] [CITE[RFC Errata Report]] ([TIME[2015-03-21 15:46:48 +09:00]] 版) <http://www.rfc-editor.org/errata_search.php?rfc=6066>
- [129] [CITE[Transport Layer Security (TLS) Extensions]] ([TIME[2015-03-13 06:28:01 +09:00]] 版) <http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#tls-extensiontype-values-1>
- [153] [CITE@en[RFC 7525 - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)]] ([TIME[2015-05-29 03:22:56 +09:00]] 版) <https://tools.ietf.org/html/rfc7525>
- [157] [CITE[RFC Errata Report]] ([TIME[2015-05-30 13:55:13 +09:00]] 版) <http://www.rfc-editor.org/errata_search.php?rfc=7525>
- [161] [CITE@en[RFC 7568 - Deprecating Secure Sockets Layer Version 3.0]] ([TIME[2015-06-26 06:59:28 +09:00]] 版) <https://tools.ietf.org/html/rfc7568>
]REFS]
* プロトコル
[106] [[TLS]] は、 [[TCP]] などの[[下位層の接続]]の上で動作する
[[TLS Record Protocol]] と、更にその上で動作する [[TLS Handshake Protocol]]
で構成されます [SRC[>>105]]。
[107] [[TLS]] は単体で用いられる[[プロトコル]]ではなく、
上位層[[アプリケーション層プロトコル]]に[[セキュリティー]]機能を提供するものです。
[[TLS Handshake Protocol]] による所定の手続きの後、
[[アプリケーション層プロトコル]]による送受信が [[TLS]] 上で行われます。
[[TLS handshake]] を開始するかどうかの決定方法や、 [[TLS]]
によって交換された[[証明書]]をどう解釈するかは、 [[TLS]] 本体仕様の範囲外で、
上位層プロトコルやその実装により決定されるべきものであるとされています [SRC[>>105]]。
[EG[
[111] 例えば上位層プロトコルである [[HTTP]] では、
[[サーバー]]の[[証明書]]を[[クライアント]]が検査することが規定されています ([[HTTPS]] や
[[service identity]] を参照)。
]EG]
[112] [[TLS]] を構成する部分[[プロトコル]]は、より細かくは次のように分解できます。
[FIG(short list)[
- [[TLS Record Protocol]]
- [[alert protocol]]
-- [[closure alert]]
-- [[error alert]]
- [[TLS Handshake Protocol]]
-- [[TLS [CODE[Certificate]]]]
-- [[TLS [CODE[CertificateRequest]]]]
-- [[TLS [CODE[CertificateVerify]]]]
-- [[TLS session resumption]]
-- [[change cipher protocol]]
- [[Handshake protocol]]
]FIG]
[109] その他 [[TLS]] には次のような機能や[[プロトコル要素]]があります。
[FIG(short list)[
- [[TLSクライアント]]
- [[TLS鯖]]
- [[HTTPS鯖認証]]
- [[SSLクライアント認証]]
- [[TLS接続]]
- [[TLSセッション]]
-- [[TLSセッションID]]
-- [[セッション再開]]
- [[cipher suite]]
-- [[TLS圧縮アルゴリズム]]
- [[TLS拡張]]
- [[TLS応用データ]]
- [[incomplete close]]
- [[premature close]]
- [[PKI]]
-- [[証明書]]
-- [[certification path]]
-- [[ルート証明書]]
-- [[subjectAltName]]
-- [[EV SSL]]
-- [[ワイルドカード証明書]]
-- [[CA]]
-- [[service identity]]
- [[HSTS]]
- [[PKP]]
]FIG]
[123] [[TLS]] は、上位層プロトコルに対して[[保安輸送路]]を提供するものです。
[166] [[TLS]] を構成する各プロトコルは、 [[TLS]] 仕様上のデータ構造を[[バイト列]]として表現して送受信するものです。
仕様書では、 [[C]] 風の表記法を使って説明されています。
[167] [[データ構造]] ([CODE[[[struct]]]]) は、いくつかの[RUBYB[欄]@en[field]]の順序のある列に名前を与えたものです。
欄は、名前が与えられており、値の[[型]]が規定されています。
値の[[型]]は[[固定長]]のものもあれば、[[可変長]]の[[ベクトル]]もあります。
[[固定長]]の[[型]]の値は、そのままの[[バイト列]]で表現されます。
[[可変長]]の[[型]]の値は、実際の値の長さを表す[[数値]]の後に実際の値の[[バイト列]]となります。
[[可変長]]の[[ベクトル]]は最小と最大の長さが規定されており、
長さの[[数値]]は最大の長さを表現可能な[[数値型]]で表されます。 [SRC[>>165]]
;; [168] つまり、データ構造全体のバイト列の長さは、読んでみるまでわからないかもしれません。
またデータ構造によっては前の方の[[欄]]の値により後の方の[[欄]]の有無が条件分岐することもあります。
;; [169] [[データ構造]]の名前や[[欄]]の名前は仕様上のもので、
実際のプロトコル上のデータには現れません。
* TLS/SSL の版
[14] [[TLS]] は1994年以来[[脆弱性]]の修正などで改善を続けており、
次の各版があります。各版は互いに区別可能ですが、互換性はないそれぞれ独立したプロトコルです
(異なる版の実装が通信することはできません)。
[FIG(list short)[
= [19] [[SSL 1.0]] (1994)
= [20] [[SSL 2.0]] (1995)
= [21] [[PCT 1.0]] (1995)
= [22] [[SSL 3.0]] (1996)
= [23] [[TLS 1.0]] = [[RFC 2246]] (1999)
= [[TLS 1.1]] = [[RFC 4346]]
= [[TLS 1.2]] = [[RFC 5246]]
= [[TLS 1.3]]
]FIG]
[96] [[SSL]] は [[Netscape]] が開発し、同社サイトおよび [[Internet Draft]]
として出版しています ([[SSL/1.0]] は [[Netscape]] 社内のみだった模様)。
[[PCT]] は [[Microsoft]] が開発し、 [[Internet Draft]]
として出版しています。 [[TLS]] は [[IETF]] ([[ietf-tls]]) が開発し、 [[RFC]]
として出版しています。
[30] [[SSL 3.0]] までは[[脆弱性]]のため[[廃止]]されています。
[[SSL 2.0]] と [[SSL 3.0]] を使っては[['''なりません''']] [SRC[>>153, >>161]]。
[[TLS 1.0]] と [[TLS 1.1]] はまだ安全と考えられていますが、積極的に使う理由はありません。
[[TLS 1.0]] と [[TLS 1.1]] は、それより新しい版が使えない場合を除き、
使うよう[[折衝]]する[['''べきではありません''']] [SRC[>>153]]。
;; [124] [[Web]] の[[プロトコル]]や[[マーク付け言語]]は[[後方互換性]]を最重要視して開発されていますが、
[[TLS]] は[[セキュリティー]]に関わる機能であり、例外的に非互換変更が許容されています。
[156] 実装は [[TLS 1.2]] に対応しなければ[['''なりません''']]。
[[折衝]]時は [[TLS 1.2]] を以前の版より優先させなければ[['''なりません''']]。 [SRC[>>153]]
[207] つまり [[SSL]] はすべて廃止済みで既に用いられていないのですが、
[[TLS]] よりも [[SSL]] の方が馴染み深く [[TLS]] だと通じないこともあるため、
敢えて併記したりすることが今後も続きそうです。
;; [208] 既に浸透していたプロトコル名を変えることも無かったと思うのですが、
外部から提出されたプロトコルの名前や用語やプロトコル自体を好き放題に改変するのは
[[IETF]] のお家芸なので仕方なかったのでしょうし、今更変えるのも難しそうです。
[155] [[TLS]] とは別に、 [[UDP]] で用いる [[DTLS]] があります。
;; [152] [[DTLS 1.0]] は[[TLS 1.1]]、[[DTLS 1.2]] は [[TLS 1.2]] に相当します [SRC[>>153]]。
* TLS 拡張
[130] [[TLS]] [RUBYB[拡張]@en[extension]] [SRC[>>128]] は、当初の [[SSL]]
仕様に含まれていなかった機能です。
拡張と呼ばれてはいますが、そのうちのいくつかは必須、または実質的に必須となっています。
[131] [[TLS Handshake Protocol]] の [CODE[[[ClientHello]]]] や [CODE[[[ServerHello]]]] には、
[[TLS]] の拡張仕様に基づくデータを含めることができます。
;; [132] [[証明書拡張]]とは関係ありません。
[133] [[TLS]] 拡張については、[[IANA登録簿]] [SRC[>>129]] があります。
[149] 次のような [[TLS拡張]]があります。
[FIG(table)[
:c:数値
:n:識別子
:desc:名称
:impl:実装
:desc:'''[[SNI]]'''
:c:[CODE[[[0]]]]
:impl:[[Firefox]], [[Chrome]], [[IE]]
:c:[CODE[[[13172]]]]
:n:[CODE[[[next_protocol_negotiation]]]]
:desc:[[NPN]]
:impl:[[Firefox]], [[Chrome]]
:desc:'''[[ALPN]]'''
:c:[CODE[[[16]]]]
:impl:[[Firefox]], [[Chrome]]
:c:[CODE[[[30032]]]]
:n:[CODE[[[channel_id]]]]
:desc:旧 [[TLS-OBC]]
:impl:[[Chrome]]
:desc:[[TLSA]]
:desc:[[TLS False Start]]
:c:[CODE[[[65281]]]]
:n:[CODE[[[renegotiation_info]]]]
:impl:[[Firefox]], [[IE]]
:desc:[[TLS renegotiation]]
:desc: '''[[OCSP stapling]]'''
:c:[CODE[[[5]]]]
:n:[CODE[[[status_request]]]]
:impl:[[Firefox]], [[Chrome]], [[IE]]
:n:[CODE[[[max_fragment_length]]]]
:n:[CODE[[[CertificateURL]]]]
:n:[CODE[[[trusted_ca_keys]]]]
:c:[CODE[[[13]]]]
:n:[CODE[[[signature_algorithms]]]]
:impl:[[Firefox]], [[Chrome]]
:c:[CODE[[[10]]]]
:n:[CODE[[[supported_groups]]]]
:impl:[[Firefox]], [[Chrome]], [[IE]]
:c:[CODE[[[11]]]]
:n:[CODE[[[ec_point_formats]]]]
:impl:[[Firefox]], [[Chrome]], [[IE]]
:n:[CODE[[[truncated_hmac]]]]
:c:[CODE[[[35]]]]
:n:[CODE[[[SessionTicket]]]]
:desc:[[セッション再開]] ([[session ticket]])
:impl:[[Firefox]], [[Chrome]]
:n:[CODE[[[signed_certificate_timestamp]]]]
:c:[CODE[[[18]]]]
:impl:[[Chrome]]
:n:[[SCT]]
:n:[CODE[[[extended_master_secret]]]]
:c:[CODE[[[23]]]]
:impl:[[Chrome]]
:c:[CODE[[[21]]]]
:n:[CODE[[[padding]]]]
:impl:[[Chrome]]
:c:[CODE[[[12]]]]
:n:[CODE[[[srp]]]]
:c: [CODE[15]]
:n: [CODE[heartbeat]]
:impl: [[OpenSSL]]
]FIG]
[231] [[TLS証明書]]で使われる[[証明書拡張]]とは別なので注意。
* 下位層プロトコル
[90] [[TLS]] は、 [[TCP/IP]] 上で用います。
[91] [[HTTP]] [CODE(HTTP)@en[[[CONNECT]]]]、[[SOCKS]]、[[Unix domain socket]]、
[[EAP-TTLS]]
のような[[トンネル]]等のプロトコルの接続が下位層[[輸送路]]の一部または全部として用いられることもあります。
[92] [[TCP]] [[緊急データ]]の取り扱いは明文化されていません。
[171] [[Chrome]] と [[Firefox]] は[[緊急データ]]を無視するようです。
[[IE]] は無視しないようです (ただちにエラーとするのか、
周りのデータと区別せずに処理するのかは不明)。 [TIME[2015-08-16T02:12:41.100Z]]
[158] 下位層で意図的または障害等により[[接続]]が閉じられた際の [[TLS]]
実装の行うべき処理は不明です。
* 上位層プロトコル
[54] [[アプリケーション層プロトコル]]によって [[TLS]] の使い方はいくつかの種類があります。
[55] 次の[[プロトコル]]は [[TCP]] のかわりに [[TLS]] over [[TCP]] を使います。
[FIG(short list)[
- [[HTTPS]]
- [[WebSockets]]
- [[IRC]]
]FIG]
[56] 次の[[プロトコル]]は [CODE@en[[[STARTTLS]]]] やそれに類する仕組みで[[プロトコル]]内で[[平文]]から
[[TLS]] に切り替えます。
[FIG(short list)[
- [[FTP]]
- [[SMTP]]
- [[POP3]]
- [[IMAP4]]
- [[XMPP]]
- [[ACAP]]
- [[MySQL]]
]FIG]
[67] [[IETF]] は [[TLS]] over [[TCP]] で別の[[ポート]]を割り当てる方法は好ましくない [SRC[>>66]] と考えているようです。1997年12月の [[IETF]] 会議で
[[Applications Area Directors]] と [[IESG]] により、
別の[[ポート]]を発行することを[[非推奨]]とするべきと再確認しました [SRC[>>12]]。
以後の [[IETF]] の[[プロトコル]]は [CODE[[[STARTTLS]]]] やそれに類する方式で途中で[[平文]]から
[[TLS]] に切り替えるようになっています。
[69] しかしそれ以前から別の[[ポート]]を割り当てて使うのが一般的になっていた
[[HTTP]]/[[HTTPS]] については、その後も別々のポートが使われています。
[[IETF]] はその決定の後2年経過しても [[Web]] では新方式に移行できていないとして、
従来の [[HTTPS]] 方式を[[情報提供RFC]] ([[RFC 2818]])、
[CODE(HTTP)@en[[[Upgrade:]]]] [[ヘッダー]]を使って[[平文]]から [[TLS]]
に切り替える方式を[[提案標準]] ([[RFC 2817]]) として出版し、[[IPP]]
など新しい[[応用]]は後者を使うべき [SRC[>>12]] としました。結局前者の方式が生き残り、
後者は有名無実化しています。
[115] [[TLS]] を使う[[アプリケーションプロトコル]]は、次のような事項を規定する必要があります。
[FIG(list)[
- [116] [[TLS]] の利用開始のタイミングや手順
- [202] [[TLS]] 終了後の[[下位層の接続]]の扱い
- [117] [[サーバー証明書]]や[[クライアント証明書]]を使った[[認証]]の方法、例えば:
-- [[service identity]] の検証方法
-- [[失効][失効 (証明書)]]確認の方法
-- [[クライアント証明書]]の制約や提示するタイミング
-- [[EV]] 判定の方法
-- [[PKP]]
- [118] [[closure alert]] や [[error alert]] に関する処理
- [119] 実装するべき [[cipher suite]]
- [120] 実装するべき [[TLS拡張]]
- [121] [[SNI]] との関係
- [122] [[ALPN]] との関係
]FIG]
[176] [[TLS]] の実装は、[[アプリケーション]]に対して次の情報を提供する必要があります。
[FIG(list members)[
:[[TLS]] プロトコルの版:[[アプリケーション]]は結果に応じて接続を拒否したり
(例: [[HTTP/2]])、非安全なものとして扱ったり、[[利用者]]に情報を表示したりできます。
:折衝結果の [[cipher suite]]: [[アプリケーション]]は結果に応じて接続を拒否したり
(例: [[HTTP/2]])、非安全なものとして扱ったり (例: [[Fetch]])、
[[利用者]]に情報を表示したりできます。[[鍵長]]その他の引数も必要です。
:[[error alert]]: 少なくても受信した事実を知らせる必要があります。
[[アプリケーション]]はそれにより挙動を変えることがあります (例: [[HSTS]])。
:[[証明書]]:相手の[[証明書]] (とあれば[[中間証明書]])
を知らせる必要があります。
:[[SNI]] [[ホスト名]]:[[サーバー]]では、 [[SNI]] の[[ホスト名]]の指定があれば、
それを使いたいかもしれません。
:[[ALPN]] [[プロトコル]]名:[[ALPN]] により[[プロトコル]]が折衝されていれば、
それを知らせる必要があります。
]FIG]
[39] [[Web]] では [[TLS]] 関連の次のような機能があります。
[FIG(short list)[
- [[HTTPS]]
- [CODE(URI)@en[[[https:]]]]
- [CODE(URI)@en[[[wss:]]]]
- [[Cookie]] [CODE(HTTP)@en[[[Secure]]]]
- [[HSTS]]
- [[PKP]]
- [[Mixed Content]]
- [CODE(HTTP)@en[[[Upgrade:]]]]
- [CODE(HTTP)@en[[[HTTPS:]]]]
- [CODE(CGI)@en[[[SSL_[VAR[*]]]]]]
]FIG]
[REFS[
- [66] [CITE@en[RFC 2595 - Using TLS with IMAP, POP3 and ACAP]] ([TIME[2014-09-14 14:37:22 +09:00]] 版) <http://tools.ietf.org/html/rfc2595#section-7>
- [12] [CITE@en[RFC 2817 - Upgrading to TLS Within HTTP/1.1]] ([TIME[2015-02-22 14:29:05 +09:00]] 版) <http://tools.ietf.org/html/rfc2817#section-1>
]REFS]
* URL scheme
[36] [[SSL]] や [[TLS]] を使う場合の [[URL]] は、使わない場合の [[URL scheme]]
の末尾に [CODE[s]] を付け足すのが慣例となっています。
[EG[
[37] 例えば、 [[HTTP]] の [[URL scheme]] は [CODE(URI)@en[[[http:]]]] ですが、
[[HTTP]] と [[TLS]] を組み合わせる場合の [[URL scheme]] は [CODE(URI)@en[[[https:]]]]
です。
]EG]
[216] [CODE(URI)@en[mongodb:]] は、 [[query][URL query]] に [CODE[ssl=true]] /
[CODE[ssl=false]] ([[既定値]]) と記述することで [[TLS]] の利用の有無を指定します。
* 実装
[151] [[TLS]] の実装は多数あります。 [[Unix]] 系の環境で動作するソフトウェアや[[オープンソースソフトウェア]]の多くは
[[OpenSSL]] を使っています。
[FIG(short list)[ [227] [[TLS]] の実装
- [[OpenSSL]]
- [[LibreSSL]]
- [[BoringSSL]]
- [[NSS]]
- [[GnuTLS]]
- [[MatrixSSL]]
- [CODE[Protocol::TLS]]
]FIG]
[136] [[TLS]] 関連 [[API]] ドキュメント:
[REFS[
- [138] [CITE[SSL - OpenSSL SSL/TLS library]] ([TIME[2015-04-18 21:55:03 +09:00]] 版) <https://www.openssl.org/docs/ssl/ssl.html>
- [144] [CITE[IO::Socket::SSL - search.cpan.org]] ([TIME[2015-04-18 22:14:07 +09:00]] 版) <http://search.cpan.org/dist/IO-Socket-SSL/lib/IO/Socket/SSL.pod>
- [137] [CITE[Net::SSLeay - search.cpan.org]] ([TIME[2015-04-18 21:54:53 +09:00]] 版) <http://search.cpan.org/dist/Net-SSLeay/lib/Net/SSLeay.pod>
- [139] [CITE[AnyEvent::TLS - search.cpan.org]] ([TIME[2015-04-18 21:55:31 +09:00]] 版) <http://search.cpan.org/dist/AnyEvent/lib/AnyEvent/TLS.pm>
- [140] [CITE@en[MySQL :: MySQL 5.7 Reference Manual :: 6.3.12.4 SSL Command Options]] ([TIME[2015-04-18 21:56:59 +09:00]] 版) <https://dev.mysql.com/doc/refman/5.7/en/ssl-options.html>
- [141] [CITE@en[mod_ssl - Apache HTTP Server Version 2.4]] ([TIME[2015-04-18 05:32:10 +09:00]] 版) <http://httpd.apache.org/docs/2.4/mod/mod_ssl.html>
- [142] [CITE[Module ngx_http_ssl_module]] ([TIME[2015-04-14 21:58:20 +09:00]] 版) <http://nginx.org/en/docs/http/ngx_http_ssl_module.html>
- [143] [CITE[LWP::UserAgent - search.cpan.org]] ([TIME[2015-04-18 22:10:49 +09:00]] 版) <http://search.cpan.org/dist/libwww-perl/lib/LWP/UserAgent.pm#$ua->ssl_opts>
- [145] [CITE[Crypt::SSLeay - search.cpan.org]] ([TIME[2015-04-18 22:15:16 +09:00]] 版) <http://search.cpan.org/dist/Crypt-SSLeay/SSLeay.pm>
- [146] [CITE[LWP - search.cpan.org]] ([TIME[2015-04-18 22:16:59 +09:00]] 版) <http://search.cpan.org/dist/libwww-perl/lib/LWP.pm#HTTPS_Requests>
]REFS]
* 関連団体
[FIG(short list)[
- [[IETF]]
- [[CA/Browser Forum]]
- [[Netscape]]
]FIG]
* 互換性リスト
[71] [CITE@en-US[mozilla-aurora: security/manager/ssl/src/IntolerantFallbackList.inc@e8f0fd3fbd3b]]
([TIME[2015-02-27 17:28:31 +09:00]] 版)
<https://hg.mozilla.org/releases/mozilla-aurora/file/tip/security/manager/ssl/src/IntolerantFallbackList.inc>
[72] [CITE@en[1133187 – Fallback whitelist update: mid-February 2015]]
([TIME[2015-02-27 17:29:38 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=1133187>
* 歴史
** SSL 1.0
[87] [[SSL/1.0]] は1994年に [[Netscape]] 社内で開発されて、公開されていないと言われています。
** SSL 2.0
[80] 次の版が存在したようです [SRC[>>79, >>73]]。
[FIG(short list)[
- [TIME[1994-11-29]]
- [TIME[1994-12-22]]
- [TIME[1995-01-17]]
- [TIME[1995-01-24]]
- [TIME[1995-02-09]] >>79
- [TIME[1995-04]] >>73
]FIG]
[REFS[
- [79] [CITE[The SSL Protocol]]
([TIME[2015-03-03 23:42:25 +09:00]] 版)
<http://web.archive.org/web/19961027104907/http://www3.netscape.com/newsref/std/SSL_old.html>
- [81] [CITE[Security Issue]]
([TIME[2015-03-03 23:43:53 +09:00]] 版)
<http://web.archive.org/web/19970521032145/http://form.netscape.com/newsref/std/ssl_2.0_certificate.html>
- [73] [CITE@en[draft-hickman-netscape-ssl-00]]
([TIME[2015-03-03 16:21:19 +09:00]] 版)
<https://tools.ietf.org/html/draft-hickman-netscape-ssl-00>
- [88] [CITE[The SSL Protocol]] ([CODE[2007-03-24 01:37:38 +09:00]] 版) <http://wp.netscape.com/eng/security/SSL_2.html>
]REFS]
** PCT 1.0
[REFS[
- [94] [CITE@en[draft-benaloh-pct-00 - The Private Communication Technology Protocol]] ([TIME[2015-01-27 12:51:00 +09:00]] 版) <https://tools.ietf.org/html/draft-benaloh-pct-00>
- [93] [CITE@en[Private Communications Technology - Wikipedia, the free encyclopedia]] ([TIME[2015-02-14 22:05:20 +09:00]] 版) <http://en.wikipedia.org/wiki/Private_Communications_Technology>
]REFS]
[95] [[IE]] が実装していました。
** SSL 3.0
[FIG(short list)[
- [TIME[1995-12]] >>85
- [TIME[1996-03]] >>75, >>84
- [TIME[1996-11-18]] >>86, >>83
- [TIME[2011-01-26]]
- [TIME[2011-02-25]]
- [TIME[2011-04-01]]
- [TIME[2011-04-10]]
- [TIME[2011-05-16]]
- [TIME[2011-06-02]]
- [TIME[2011-06-10]]
- [TIME[2011-08]] >>35
]FIG]
[REFS[
- [85] [CITE@en[draft-freier-ssl-version3-00]] ([TIME[2015-01-18 17:12:30 +09:00]] 版) <https://tools.ietf.org/html/draft-freier-ssl-version3-00>
- [74] [CITE[Introduction to SSL]] ([TIME[2015-03-03 23:31:50 +09:00]] 版) <http://web.archive.org/web/20000616021359/http://devedge.netscape.com/docs/manuals/security/sslin/index.htm>
- [75] [CITE[SSL Protocol V. 3.0]]
([TIME[2015-03-03 23:34:21 +09:00]] 版)
<http://web.archive.org/web/20000229182903/http://home.netscape.com/eng/ssl3/ssl-toc.html>
- [84] [CITE@en[draft-freier-ssl-version3-01]] ([TIME[2015-01-27 10:03:41 +09:00]] 版) <https://tools.ietf.org/html/draft-freier-ssl-version3-01>
- [86] [CITE[The SSL Protocol Version 3.0]] ([TIME[2010-05-30 23:36:12 +09:00]] 版) <http://www7b.biglobe.ne.jp/~k-west/SSLandTLS/draft302.txt>
- [83] [CITE@en[draft-ietf-tls-ssl-version3-00 - The SSL Protocol Version 3.0]] ([TIME[2015-01-18 15:20:43 +09:00]] 版) <https://tools.ietf.org/html/draft-ietf-tls-ssl-version3-00>
- [35] [CITE@en[RFC 6101 - The Secure Sockets Layer (SSL) Protocol Version 3.0]]
( ([TIME[2014-06-02 03:42:59 +09:00]] 版))
<http://tools.ietf.org/html/rfc6101>
]REFS]
[FIG(quote)[
[FIGCAPTION[
[76] [CITE[SSL Version 3.0]]
([TIME[2015-03-03 23:41:10 +09:00]] 版)
<http://web.archive.org/web/19970709162834/http://home.netscape.com/newsref/std/SSL.html>
]FIGCAPTION]
> Netscape expects to ship products that conform to the March specification. Please note that Netscape server products with SSL V3.0 support both SSL 2.0 and SSL 3.0 protocols (SSL 3.0 was designed to allow this for transition purposes). SSL 2.0 has a limited lifetime.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[77] [CITE[Netscape SSLRef 2.0]]
([TIME[2015-03-03 23:41:28 +09:00]] 版)
<http://web.archive.org/web/19970709162841/http://home.netscape.com/newsref/std/sslref.html>
]FIGCAPTION]
> SSLRef is a reference implementation from Netscape Communications of the SSL protocol. Available now and free for noncommercial use, SSLRef is intended to aid and accelerate developers' efforts to provide advanced security within TCP/IP applications using the SSL (Secure Sockets Layer) protocol. Netscape SSLRef consists of a software library distributed in ANSI C source-code form that can be compiled on a wide variety of platforms and operating systems and linked into any TCP/IP application program.
]FIG]
** TLS
@@ XXX
** SSL 2.0 の廃止
[192] [[SSL 3.0]] が実装されてすぐに消滅すると思われた [[SSL 2.0]]
は、結局その後もずるずると使われ続けてしまいます。
[193] 00年代半ば頃になってようやく [[SSL 2.0]] の実装からの削除が始まりました。
[TIME[2011年][2011]]には [[IETF]] から [DFN[RFC 6176]] が出版され、 [[SSL 2.0]]
の利用禁止が明文化されました。
;; [194] これを根拠に [[SSL 2.0]] が[TIME[2011年][2011]]に[[廃止]]されたという人もいますが、
正確な表現ではありません。 [[SSL 3.0]] が発表された95年末ないし96年に改訂により事実上[[廃止]]されたともいえますが、
その後数年 [[SSL 2.0]] の実装が残り続けたことを考えると、それもまた不正確な表現かもしれません。
[REFS[
- [26] [CITE[スラッシュドット ジャパン | FirefoxがSSL 2.0のサポートを廃止へ]] <http://slashdot.jp/security/05/09/06/216212.shtml?topic=51>
([[名無しさん]] [TIME[2005-09-07 16:29:52 +00:00]])
- [89] [CITE[「 Firefox ×?=!」を考えてみる、ブログ。 - 「SSL2.0をわざわざ使わせようとする銀行」のその後]] ([TIME[2007-07-20 00:58:07 +09:00]] 版) <http://d.hatena.ne.jp/firefoxer/20070719/1184860687>
([[名無しさん]] [TIME[2007-07-28 03:25:25 +00:00]])
- [63] [CITE@en[RFC 6176 - Prohibiting Secure Sockets Layer (SSL) Version 2.0]]
( ([TIME[2014-10-28 01:22:56 +09:00]] 版))
<https://tools.ietf.org/html/rfc6176>
]REFS]
** SSL 3.0 の廃止
[196] [[TLS 1.0]]、[[TLS 1.1]]、[[TLS 1.2]] の出版後も、 [[SSL 3.0]]
は古くて相対的に安全性の低いものとなったとはいえ、
危険ではないと認識されていました。[[ガラケー]]や古い [[IE]]
のような更新されない実装が [[TLS 1.0]] に対応していなかったため、
[[SSL 3.0]] は引き続き広く使われていました。
[197] ところが2014年に [[POODLE]] [[脆弱性]]が発見され、
ついに [[SSL 3.0]] は危険であると判明しました。
これをきっかけに急速に [[SSL 3.0]] への対応は打ち切られてゆき、
[[TLS 1.0]] 以上への移行が進みました。
[163] 2015年6月に出版された [DFN[[[RFC 7568]]]] は、 [[SSL 3.0]]
を使っては[['''ならない''']]と規定しています。禁止しているのになぜか[[非推奨]]と称しており、
[[廃止]]ではありません。 [[SSL 3.0]] の [[RFC]] である [[RFC 6101]]
も[[廃止]]はされていませんが、これは元々 [[Historic]] で発行されたものなので[[廃止]]は必要ないという判断なのでしょうか。
;; [195] [[IETF]] の文書が論理性を欠くのは通常営業なので、
あまり細かいことを詮索しても仕方がないかもしれません。
[REFS[
- [59] [CITE@en[Deprecating Secure Sockets Layer Version 3.0]]
( ([TIME[2014-10-30 14:48:29 +09:00]] 版))
<https://unicorn-wg.github.io/sslv3-diediedie/>
- [51] [CITE@en[Google Online Security Blog: This POODLE bites: exploiting the SSL 3.0 fallback]]
( ([TIME[2014-10-16 22:11:46 +09:00]] 版))
<http://googleonlinesecurity.blogspot.jp/2014/10/this-poodle-bites-exploiting-ssl-30.html>
- [52] [CITE[ガラケー - SSLv3で問題になるフィーチャーフォンの対応 - Qiita]]
( ([TIME[2014-10-17 10:37:36 +09:00]] 版))
<http://qiita.com/harukasan/items/dee779c0a3f624758230>
- [65] [CITE@ja[FacebookやTwitterがIE経由で繋がらない原因と対処法 - 道すがら講堂]]
( ([TIME[2014-11-25 23:23:51 +09:00]] 版))
<http://michisugara.jp/archives/2014/hb_tw_noaccess.html>
- [162] [CITE@en[RFC 7568 - Deprecating Secure Sockets Layer Version 3.0]] ([TIME[2015-06-26 06:59:28 +09:00]] 版) <https://tools.ietf.org/html/rfc7568>
]REFS]
** 利用の指針
[154] [DFN[[[BCP 195]]]] ([DFN[[[RFC 7525]]]]) [SRC[>>153]] は、
2015年時点の [[TLS]] と [[DTLS]] の利用に関する推奨事項を規定しています。
[183] [[HTTP/2]] は [[TLS]] の利用に関してかなり踏み込んだ規定を含んでいます。
2015年時点で報告されている[[脆弱性]]などを踏まえて利用できる [[TLS]]
の機能や [[cipher suite]] などに様々な制限を加えています。
** TLS 1.3
[182] [[TLS 1.2]] の改訂版として [DFN[[[TLS 1.3]]]] が [[IETF]]
で開発されています。
[REFS[
- [100] [CITE@en[The Transport Layer Security (TLS) Protocol Version 1.3]] ([TIME[2015-02-13 04:43:44 +09:00]] 版) <http://tlswg.github.io/tls13-spec/>
- [99] [CITE@en[tlswg/tls13-spec]] ([TIME[2015-03-07 19:43:58 +09:00]] 版) <https://github.com/tlswg/tls13-spec>
- [98] [CITE@en[draft-ietf-tls-tls13-04 - The Transport Layer Security (TLS) Protocol Version 1.3]] ([TIME[2015-01-04 16:51:35 +09:00]] 版) <https://tools.ietf.org/html/draft-ietf-tls-tls13-04>
]REFS]
* 関連
[40] [[DTLS]] は [[TLS]] から派生した[[プロトコル]]ですが、
[[TCP]] ではなく [[UDP]] の上で動作します。
;; [[プロトコル要素]]に共通性はありますが、異なるプロトコルです。
[57] [[SSL]] と [[SSH]] は関係ありません。
* メモ
[18] ''SSLの使い方'' <http://pc2.2ch.net/test/read.cgi/php/1016169881/>
[24] 現在は SSL/3.0 が主流らしい。
[25] SSL/TLS は基本的にはどんな[[応用層]]のインターネット・プロトコルとも組み合わせられるみたいですが、よく使われるのは [[HTTP]], [[POP]], [[IMAP]], [[NNTP]], [[FTP]] 辺りです。
[27] [CITE@en[10 years of SSL in Opera - Implementer's notes - by Yngve Nysæter Pettersen]] ([TIME[2007-05-01 10:47:54 +09:00]] 版) <http://my.opera.com/yngve/blog/2007/04/30/10-years-of-ssl-in-opera>
([[名無しさん]] [WEAK[2007-05-01 01:50:56 +00:00]])
[28] [[SSL]] は無理矢理 [[OSI参照モデル]]に合わせて[[セッション層]]の[[プロトコル]]と説明されることもありますが、
実態としては [WEAK[([[TCP]] と組み合わせて成立する)]] [[トランスポート層]]の[[プロトコル]]と説明する方が正しいと思います。
[29] [CITE@ja[作ろうiモードコンテンツ:その他注意点 | サービス・機能 | NTTドコモ]]
([TIME[2010-08-15 16:18:55 +09:00]] 版)
<http://www.nttdocomo.co.jp/service/imode/make/content/ssl/notice/index.html>
[31] [CITE[Geekなぺーじ : イランからGoogleへのSSL通信が傍受されていた疑い。CAから発行された偽証明書が原因]]
([TIME[2011-08-31 14:27:20 +09:00]] 版)
<http://www.geekpage.jp/blog/?id=2011/8/31/1>
[32] [CITE[DigiNotar偽SSL証明書事件、「twitter.com」などにも拡大、全貌は未だ不明 -INTERNET Watch]]
( ([TIME[2011-09-07 00:25:39 +09:00]] 版))
<http://internet.watch.impress.co.jp/docs/news/20110906_475443.html>
[33] [CITE[Microsoft、不正SSL証明書問題に対処 Firefoxは再度更新 - ITmedia エンタープライズ]]
( ([TIME[2011-09-08 21:23:59 +09:00]] 版))
<http://www.itmedia.co.jp/enterprise/articles/1109/07/news017.html>
[34] [CITE@en-US[Certificate Authorities struggle to comply with Baseline Requirements | Netcraft]]
( ([TIME[2013-09-24 01:25:24 +09:00]] 版))
<http://news.netcraft.com/archives/2013/09/23/certificate-authorities-struggle-to-comply-with-baseline-requirements.html>
[1]
[CITE[スラッシュドット ジャパン | ApacheがSSLサーバのシェアでIISに追いついた?]] <http://slashdot.jp/articles/06/04/30/1530241.shtml>
([[名無しさん]] [WEAK[2006-05-01 12:29:50 +00:00]])
[2]
[[SMTP/TLS]] [[RFC 2487]]
[[HTTP/TLS]] [[RFC 2817]]
[[FTP/TLS]] [[RFC 4217]]
([[名無しさん]] [sage])
[3]
[[IMAP]] [[STARTTLS]] [[RFC 2595]]
([[名無しさん]])
[4]
[[POP3]] [CODE@en[[[STLS]]]] [[RFC 2595]]
([[名無しさん]])
[5]
[[ACAP]] [CODE@en[[[STARTTLS]]]] [[RFC 2595]]
([[名無しさん]])
[6]
[[SMTP]] [CODE@en[[[STARTTLS]]]] [[RFC 3207]]
([[名無しさん]])
[7]
[[RFC 3588]]
([[名無しさん]])
[8]
[[COPS/TLS]] [[RFC 4261]]
([[名無しさん]])
[9]
[[NNTP/TLS]] [[RFC 4642]]
([[名無しさん]] [WEAK[2006-10-26 23:34:01 +00:00]])
[10] [CITE[yebo blog: FSFがTLS Authorization ExtentionsのIETF標準化に反対]] ([TIME[2009-02-11 17:05:58 +09:00]] 版) <http://yebo-blog.blogspot.com/2009/02/fsftls-authorization-extentionsietf.html>
[11] [CITE[SSL - Dovecot Wiki]]
([TIME[2009-10-24 20:42:17 +09:00]] 版)
<http://wiki.dovecot.org/SSL>
[13] [CITE[Web Security Context: User Interface Guidelines]]
([TIME[2010-08-04 20:09:50 +09:00]] 版)
<http://www.w3.org/TR/2010/REC-wsc-ui-20100812/>
[15] [CITE[なぜあなたがウェブサイトをHTTPS化するとサイトが遅くなってユーザーが逃げていくのか - 射撃しつつ前転]]
( ([TIME[2013-01-08 05:32:21 +09:00]] 版))
<http://d.hatena.ne.jp/tkng/20130108/1357610340>
[16] [CITE@en[RFC 6066 - Transport Layer Security (TLS) Extensions: Extension Definitions]]
( ([TIME[2013-11-15 13:40:26 +09:00]] 版))
<http://tools.ietf.org/html/rfc6066>
[17] [CITE@en[RFC 6125 - Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)]]
( ([TIME[2014-03-09 08:53:38 +09:00]] 版))
<https://tools.ietf.org/html/rfc6125>
[41] [CITE@en[HTTPS - IndieWebCamp]]
( ([TIME[2014-09-23 23:21:29 +09:00]] 版))
<https://indiewebcamp.com/HTTPS#Why>
[42] [CITE@en-us[Free SSL Certificate for Open Source Projects]]
( ([TIME[2014-09-23 23:54:48 +09:00]] 版))
<https://www.globalsign.com/ssl/ssl-open-source/>
[43] [CITE@en[RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2]]
( ([TIME[2014-09-07 05:06:05 +09:00]] 版))
<http://tools.ietf.org/html/rfc5246>
[44] [CITE@en[RFC 7250 - Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)]]
( ([TIME[2014-06-27 00:54:48 +09:00]] 版))
<http://tools.ietf.org/html/rfc7250>
[45] [CITE@en[Adoption of TLS Extensions]]
( ([[Paul Querna]] 著, [TIME[2014-03-31 14:50:37 +09:00]] 版))
<https://journal.paul.querna.org/articles/2012/09/07/adoption-of-tls-extensions/>
[46] [CITE@en[RFC 5746 - Transport Layer Security (TLS) Renegotiation Indication Extension]]
( ([TIME[2014-07-21 03:11:33 +09:00]] 版))
<http://tools.ietf.org/html/rfc5746>
[47] [CITE[Introducing Universal SSL]]
( ([TIME[2014-09-29 11:15:20 +09:00]] 版))
<https://blog.cloudflare.com/introducing-universal-ssl/>
[48] [CITE[Qualys SSL Labs - Projects / SSL Server Test]]
( ([TIME[2014-10-07 02:30:07 +09:00]] 版))
<https://www.ssllabs.com/ssltest/index.html>
[49] [CITE@en[MySQL :: MySQL Internals Manual :: 14.5 SSL]]
( ([TIME[2014-10-12 04:07:49 +09:00]] 版))
<http://dev.mysql.com/doc/internals/en/ssl.html>
[50] [CITE@en[Security/Server Side TLS - MozillaWiki]]
( ([TIME[2014-10-15 03:48:55 +09:00]] 版))
<https://wiki.mozilla.org/Security/Server_Side_TLS>
[53] [CITE[Issue 244260 - chromium - Security: TLS Truncation attack on HTTP headers, including cookie flags - An open-source project to help move the web forward. - Google Project Hosting]]
( ([TIME[2014-10-18 09:06:03 +09:00]] 版))
<https://code.google.com/p/chromium/issues/detail?id=244260>
[58] [CITE[TLS: browser UI — Anne’s Blog]]
( ([TIME[2014-11-01 03:21:37 +09:00]] 版))
<https://annevankesteren.nl/2014/10/tls-browser-ui>
[60] [CITE@en[RFC 6125 - Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)]]
( ([TIME[2014-10-27 18:05:46 +09:00]] 版))
<http://tools.ietf.org/html/rfc6125>
[61] [CITE@en[draft-balfanz-tls-channelid-01 - Transport Layer Security (TLS) Channel IDs]]
( ([TIME[2014-10-16 11:40:47 +09:00]] 版))
<http://tools.ietf.org/html/draft-balfanz-tls-channelid-01>
[62] [CITE@en[draft-reschke-objsec-01 - A Rationale for Fine-grained Intermediary-aware End-to-End Protocols]]
( ([TIME[2014-10-28 19:04:39 +09:00]] 版))
<https://tools.ietf.org/html/draft-reschke-objsec-01>
[64] [CITE[Qualys SSL Labs - Projects / SSL Server Test]]
( ([TIME[2014-11-22 17:04:29 +09:00]] 版))
<https://www.ssllabs.com/ssltest/index.html>
[68] [CITE@en[RFC 6749 - The OAuth 2.0 Authorization Framework]]
([TIME[2014-12-15 14:15:35 +09:00]] 版)
<http://tools.ietf.org/html/rfc6749#section-1.6>
[78] [CITE[Motoda's - Information about SSL]]
([TIME[2015-03-03 23:41:34 +09:00]] 版)
<http://web.archive.org/web/19990203185646/http://robin.sl.cae.ntt.co.jp/~motoda/SSL/>
[82] [CITE[<ねこだま> SSL関連情報のページ]]
([TIME[2015-03-04 00:24:29 +09:00]] 版)
<http://nekodama.com/SSL/>
[70] [CITE@ja[マイクロソフト セキュリティ アドバイザリ 3046015]]
([TIME[2015-03-06 17:13:04 +09:00]] 版)
<https://technet.microsoft.com/ja-jp/library/security/3046015>
[97] [CITE@ja[Transport Layer Security - Wikipedia]]
([TIME[2015-03-07 15:28:29 +09:00]] 版)
<http://ja.wikipedia.org/wiki/Transport_Layer_Security>
[FIG(quote)[
[FIGCAPTION[
[101] [CITE@ja[Transport Layer Security - Wikipedia]]
([TIME[2015-03-07 15:28:29 +09:00]] 版)
<http://ja.wikipedia.org/wiki/Transport_Layer_Security>
]FIGCAPTION]
> ポート番号を分ける方式をSSL、同一ポート番号で切替える方式(STARTTLS方式)をTLSと呼んでいる実装もある'''['''21''']'''。
]FIG]
[102] [CITE@ja[TLS のひみつ : 迷惑メール対策委員会]]
([TIME[2015-03-07 22:42:18 +09:00]] 版)
<http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/tls-arc/>
[103] [CITE@ja[SSL Protocol]]
([TIME[2015-02-01 16:16:00 +09:00]] 版)
<http://sehermitage.web.fc2.com/crypto/ssl_protocol.html>
[104] [CITE[PKI関連技術に関するコンテンツ]]
([TIME[2013-05-28 21:15:37 +09:00]] 版)
<https://www.ipa.go.jp/security/pki/071.html>
[108] [CITE@en[RFC 7457 - Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)]]
([TIME[2015-02-24 18:52:35 +09:00]] 版)
<https://tools.ietf.org/html/rfc7457>
[125] [CITE@en-US[日本政府機関Webサイト(.go.jp)のTLS対応状況について | Advanced Web Application Laboratory, Keio University]]
([TIME[2015-04-03 19:09:10 +09:00]] 版)
<https://awa.sfc.keio.ac.jp/2015/03/04/survey-of-supporting-tls-at-japanese-governemnts-website/>
[126] [CITE@ja[自堕落な技術者の日記 : go.jpドメインのHTTPSサイトの状況について私もみてみました(2015年3月4日時点) - livedoor Blog(ブログ)]]
([TIME[2015-04-03 19:11:57 +09:00]] 版)
<http://blog.livedoor.jp/k_urushima/archives/1763144.html>
[127] [CITE@en[Trustworthy Internet Movement - SSL Pulse]]
([TIME[2015-03-17 02:45:36 +09:00]] 版)
<https://www.trustworthyinternet.org/ssl-pulse/>
[147] [CITE@ja[ニュース - 米RSAがSSL関連特許訴訟でLeon Stambler氏に勝訴。「同氏の特許は侵害されていない」:ITpro]]
([TIME[2015-05-15 18:01:11 +09:00]] 版)
<http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20030314/8/>
[FIG(quote)[
[FIGCAPTION[
[148] [CITE@en[RFC 7540 - Hypertext Transfer Protocol Version 2 (HTTP/2)]]
([TIME[2015-05-15 10:14:54 +09:00]] 版)
<https://tools.ietf.org/html/rfc7540#section-9.2>
]FIGCAPTION]
> Deployments of HTTP/2 that negotiate TLS 1.3 or higher need only
> support and use the SNI extension
]FIG]
[150] [CITE@en[RFC 7457 - Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)]]
([TIME[2015-05-17 16:41:18 +09:00]] 版)
<https://tools.ietf.org/html/rfc7457>
[FIG(quote)[
[FIGCAPTION[
[159] [CITE[Transport Layer Security (TLS) Extensions]]
([TIME[2015-06-18 17:06:09 +09:00]] 版)
<http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml>
]FIGCAPTION]
>
> 21 padding (TEMPORARY - registered 2014-03-12, expires 2016-03-12) '''['''draft-ietf-tls-padding''']'''
> 23 extended_master_secret (TEMPORARY - registered 2014-09-26, expires 2015-09-26) '''['''draft-ietf-tls-session-hash''']'''
]FIG]
[160] [CITE@en[RFC 7250 - Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)]]
([TIME[2015-04-12 21:42:34 +09:00]] 版)
<http://tools.ietf.org/html/rfc7250>
[164] [CITE@ja[「Yahoo!検索」SSL化のお知らせ - Yahoo!検索ガイド - Yahoo! JAPAN]]
([TIME[2015-08-12 18:38:18 +09:00]] 版)
<http://promo.search.yahoo.co.jp/news/service/SSL.html>
[170] [CITE@en-US[Compare TLS Extensions for Web Browsers]]
([TIME[2015-08-15 18:04:22 +09:00]] 版)
<http://www.vimino.com/2011/07/compare-tls-extensions-for-web-browsers/>
[FIG(quote)[
[FIGCAPTION[
[172] [CITE@en[HTTPS and Keep-Alive Connections - IEInternals - Site Home - MSDN Blogs]]
([TIME[2015-08-16 15:36:55 +09:00]] 版)
<http://blogs.msdn.com/b/ieinternals/archive/2011/03/26/https-and-connection-close-is-your-apache-modssl-server-configuration-set-to-slow.aspx>
]FIGCAPTION]
> Internet Explorer 1.0 didn’t even support SSL at all (SSL was added in 2.0)
]FIG]
[173] [CITE@en[861266 – Implement TLS 1.2 (RFC 5246) in Gecko (Firefox, Thunderbird), on by default]]
([TIME[2015-08-28 11:49:07 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=861266>
[174] [CITE@en[draft-agl-tls-snapstart-00 - Transport Layer Security (TLS) Snap Start]]
([TIME[2015-07-19 21:07:05 +09:00]] 版)
<http://tools.ietf.org/html/draft-agl-tls-snapstart-00>
[175] [CITE[Web Security Context: User Interface Guidelines]]
([TIME[2010-08-04 20:09:50 +09:00]] 版)
<http://www.w3.org/TR/wsc-ui/#sec-tlserrors>
[177] [CITE[各ブラウザの TLS ClientHello - What I’ve found has never been enough@Hatena]]
([TIME[2013-01-03 08:24:39 +09:00]] 版)
<http://d.hatena.ne.jp/nappa_zzz/20111127/1322339838>
[178] [CITE[IE の TLS ClientHello - What I’ve found has never been enough@Hatena]]
([TIME[2013-01-03 08:24:39 +09:00]] 版)
<http://d.hatena.ne.jp/nappa_zzz/20111129/1322515367>
[179] [CITE[WiresharkでSSL通信の中身を覗いてみる - ろば電子が詰まっている]]
([TIME[2015-09-26 23:13:01 +09:00]] 版)
<http://d.hatena.ne.jp/ozuma/20140413/1397397632>
[180] [CITE[HTTP/2から見えるTLS事情 - あどけない話]]
([TIME[2015-09-27 00:32:54 +09:00]] 版)
<http://d.hatena.ne.jp/kazu-yamamoto/20141219/1418976024>
[181] [CITE[Issue 498998 - chromium - Removing TLS 1.0 version fallback support - An open-source project to help move the web forward. - Google Project Hosting]]
([TIME[2015-10-01 21:41:27 +09:00]] 版)
<https://code.google.com/p/chromium/issues/detail?id=498998>
[FIG(quote)[
[FIGCAPTION[
[184] [CITE@en[RFC 7633 - X.509v3 Transport Layer Security (TLS) Feature Extension]]
([TIME[2015-11-01 21:53:27 +09:00]] 版)
<https://tools.ietf.org/html/rfc7633#section-2.2>
]FIGCAPTION]
> In order to avoid the confusion that would occur in attempting to
> specify an X.509 extension describing the use of TLS extensions, in
> this document the term "extension" is reserved to refer to X.509v3
> extensions and the term "TLS feature extension" is used to refer to
> what the TLS specification '''['''RFC5246''']''' refers to as an "extension".
]FIG]
[FIG(quote)[
[FIGCAPTION[
[185] [CITE@ja[News & Trend - Vistaやガラケーで買い物できない? カードセキュリティ新基準が波紋:ITpro]]
([TIME[2015-11-05 21:25:44 +09:00]] 版)
<http://itpro.nikkeibp.co.jp/atcl/column/14/346926/110400370/>
]FIGCAPTION]
> 2016年7月に本格適用されるクレジットカード情報保護のセキュリティ国際基準「PCI DSS(Payment Card Industry Data Security Standard) v3.1」をめぐり、ECサイト事業者から反発の声が高まっている。一部の顧客がECサイトでクレジットカード番号を入力できなくなり、サイトの売り上げを押し下げる可能性があるためだ。
> 基準策定団体のPCI SSC(Payment Card Industry Security Standards Council)も、反発の声が想定外に多いことから、本誌の取材に対して「v 3.1がもたらす影響の実態調査に乗り出す」(PCI SSC インターナショナルディレクターのジェレミー・キング氏)考えを示した。
> 既存ECサイトでは2016年7月からSSL 3.0/TLS 1.0が使用禁止
]FIG]
[FIG(quote)[
[FIGCAPTION[
[186] [CITE@ja[SSL3.0脆弱性への対応としてのアクセス遮断(1/20)]]
([TIME[2015-11-24 11:41:45 +09:00]] 版)
<https://expy.jp/topics/detail/?id=191>
]FIGCAPTION]
> 平成28年1月20日(水)より「SSL3.0」の利用を停止させていただきます。
]FIG]
[187] [CITE[ハッシュ衝突でTLSを破るSLOTH攻撃(CVE-2015-7575)とは何か - ぼちぼち日記]]
([TIME[2016-01-13 10:46:05 +09:00]] 版)
<http://d.hatena.ne.jp/jovi0608/20160113/1452649563>
[188] [CITE[Generate Mozilla Security Recommended Web Server Configuration Files]]
([TIME[2016-01-06 05:59:44 +09:00]] 版)
<https://mozilla.github.io/server-side-tls/ssl-config-generator/>
[FIG(quote)[
[FIGCAPTION[
[189] [CITE[弊社 WEB サイトのセキュリティー強化に伴う、お客様への影響について ]]
([TIME[2016-01-25 19:16:45 +09:00]] 版)
<https://cmypage.kuronekoyamato.co.jp/portal/20160125_information.pdf>
]FIGCAPTION]
> 現在、弊社が提供する WEB サイトでは、お客様の個人情報を保護するため、暗号化通信に SSL を
> 採用しておりますが、より安全に弊社 WEB サイトをご利用いただくため、平成 28 年 4 月 1 日より、
> 下記の通り、セキュリティー対策を強化することとなりましたのでお知らせいたします。
> ・SSL サーバー証明書のバージョンアップ(「SHA-1」から「SHA-2」へ移行)
> ・SSL3.0(旧バージョン)通信を遮断し、より高い暗号化方式「TLS」に切り替え
]FIG]
[190] [CITE@ja[よくある質問 – より安全なメール – 透明性レポート – Google]]
([TIME[2015-10-01 02:33:05 +09:00]] 版)
<https://www.google.com/transparencyreport/saferemail/faq/?hl=ja>
[191] [CITE@ja[Gmail、暗号化されていない通信でメールを受信すると警告を表示 | TechCrunch Japan]]
([[Frederic Lardinois]] 著, [TIME[2016-02-12 14:55:42 +09:00]] 版)
<http://jp.techcrunch.com/2015/11/13/20151112gmail-will-soon-warn-users-when-emails-arrive-over-unencrypted-connections/>
[198] [CITE@ja[SSL3.0アクセス遮断について 平成26年11月10日(月) ''''''[''''''12月15日(月)更新'''''']'''''' | 奈良県立図書情報館]]
([TIME[2016-04-29 11:34:02 +09:00]] 版)