��ݴ������еİ�ȫ����(safe hidden trouble)
��ݻ�����(security) ���Ĵ��� ����һ������һ������Ƭһ���ڴ��ݹ����������תվ�����Կ�����
��ݵ�������(integrity) ����ڴ���ʱ�м����п��ܽ�ԭ�������Ȼ���ٽ��ĺ����ݴ�������ߡ�
�����֤(authenticaction) ����ݽ���ʱ��ֹ����������ٵġ�����ٵĹ�������ҳ�档
һ����ݻ�����
������ѧ�㷨���������� ת���� ģ�����ݡ���������������ͬ���㷨��ģ������� ת���� �������ݡ����ܱ������һ��ת����������Խ� �������� ת���� һЩ�������µ� ��ݡ�
ת��ǰ����ݳ�Ϊplaintext ת�������ݳ�Ϊciphertext
���ܾ������� �̶��� ת������ �� plaintext ----> ciphertext
���ܾ������� ��ͬ�� ת������ �� ciphertext ----> plaintext
���� ת������(��ѧ�㷨) �Ƚ����������á���Կ��ϵ����ת��������м��ܻ���ܡ�
��� �������� ת������ ���ǹ����Ķ���Կ��ϵͳ��˽�ܵġ�
�Գ�(symmetric)���� ���������ʹ��ͬһ������Կ��������ٶȿ��CPU��ѹ��С�������ڶԴ���ݼ��ܡ�
���ڼ�����ͨѸ����ܶ��ʱ��Ҫ�������"��Կ"��Ӧ��ͬ��ͨѸ����"��Կ����" �ͱȽϸ���(����Ч��"��Կ����")���� A �� B �� ��Կ��δ��䡣
�������(hash)
1��������ͬ�����Ȼ��ͬ
2�������С�ı佫��������ľ�ı䡣ѩ��ЧӦ
3�������������ԭʼ��ݶ����ȶ���ͬ
4����������ͨ�������뻹ԭԭ�����
�������������(���۸�)
����취���õ�������㷨��ȡ��������롣
����A: plaintext:footprint --> B: plaintext:footprint
B: �յ������¼���"������"�Ƚ�����"������"�Ƿ���ͬ���ж�ԭ������ޱ仯��
��������м��˹������м���������Ȼ����ĺ�������ټ���"������"Ȼ���������"������"һ�鷢������ߡ�
����취
A: plaintext:(footprint) ���ͷ���"������"����Ȼ����
B: ���շ��յ����ܺ��"������"�����ĺ����"������"Ȼ����֤���ɡ�
������ A �� B �� ��Կ��δ��䡣
����취Internet Key Change
Diffie-Hellman Э�� �����һ�� IKE���㷨
ԭ��
A��BͨѸҪ��ѡ����ͬ�� P(������) g(���ϵ��)
A�ڱ����ڲ�ѡ��һ�������x B�ڱ����ڲ�ѡ��һ�������y
A�� g^x%P �Ľ�����B ��B�� g^y%P�Ľ�����A
Ȼ��A���յ���(g^y%P)�ټ���(g^y%P)^x
Ȼ��B���յ���(g^x%P)�ټ���(g^x%P)^y
����A��B���Լ������ͬ�Ľ�� g^xy%P �ý��Ϊ��Կ��
A��B˫������ʹ��һ��DH�㷨�������������Կ������Կ����ÿ��һ��ʱ���Ӷ�֤��ȫ��ʵ������Կ����Ч���?����������������Ҳʵ���˷��۸�(��ݵ�������)
���Ϲ��ͨѸ˫���Ѿ�����Ҫ����Լ����Կʹ��DH�㷨�����������Կ����ʵ����ݵ������ԡ�
�����������һ���µ�����ԭʼ������ͨѸ˫����ͨѸǰ����Լ����Կ����˫��Ҳ������֤�Է�����ݡ������ʹ��IKE˫��������Ҫ����Լ����Կ��ͨѸǰ˫������֪����Կ������DH�㷨�������������Կ����ô�����֤�����ʵ��
�������֤
�ǶԳ�(asymmetric)�����㷨 ��Կ�dzɶԳ��ֵļ���Կ(public key) ��˽Կ (secret key��private key)
��Կ��˽Կ��һ�����Ǵ�˽Կ����ȡ�����ġ� (һ���˽Կ���ܳ�512bit 768bit 1024bit 2048bit 4096bit��)���ù�Կ���ܵ���ݱ�����˽Կ���ܡ� ��Ȼ��˽Կ���ܵ����Ҳ�����ö�Ӧ�Ĺ�Կ���н��ܡ�
����ͷ��ý��շ��Ĺ�Կ����ֻ�н��շ�ʹ���Լ���˽Կ�ſ��Խ��ܾ�ʵ������ݵĻ����ԡ�
����ͷ����Լ���˽Կ���м��ܽ��շ���"���ͷ�"�Ĺ�Կ���Գɹ����ܾ�˵���˹�Կ��˽Կ�ĶԳ��Ծ�ʵ���������֤���ܡ�
���ڹ�Կ��˽Կ�ĸ����Ծ���������㷨ռ��CPU��Դ�ٶȽ���ֻ�ʺϼ�����������ݡ�����ٶȱȶԳƼ����㷨��ǧ���������������������֤������ǩ��
����A�ڷ������ʱ���������ʹ�õ�������㷨��ȡ"������"Ȼ�������Լ�A��˽Կ��"������"���м���Ȼ��Ѽ��ܺ��"������"���������һ����B��B�յ�֮��ʹ��A�Ĺ�Կ��"������"���������ܳɹ�֤�������һ����A���͵ļ�����������֤�Ĺ���Ȼ��B�ٴ�ʹ�õ�������㷨���յ���"�������"��ȡ���������Ƚ�����"������"�Ƿ���ͬ�����ͬ��˵��ԭʼ���û�б��۸Ĺ�ʵ������ݵ������ԡ�
���Ϲ���й�Կ�����˹ؼ�����á�
��Ҳ�����һ���µ��������ȷ���Է��Ĺ�Կ�ǶԷ�����
����취 ��������---��֤��
�ġ������(certificate authority)
A���Լ��Ļ�������ɹ�Կ��˽Կ��Ȼ��A����Կ�ύ�������ɵ����Ϊ�ù�Կ����֤(֤�������ʵ�Ժ���Ч��)�������Ϊ�ù�Կ��һ������֤��֤���а�A�˵ĸ�����Ϣ����Կ��Ϣ���Լ���֤���ٴ�ʹ�õ�������㷨��ȡ��֤��������벢���÷�֤���Լ���˽Կ����������ܰѼ��ܺ��������Ҳ��ӵ��û�A��֤���С�
��BҪ��AͨѸʱA�����Ƚ��Լ���֤�鷢��BB�յ�A��֤�����������"����֤��䷢��"�����������A��֤������A�Ĺ�Կ��
B�������A��֤����
B��������"����֤��䷢��"B������"����֤��䷢��"��֤�顣��Bӵ����"��֤��"��֤����ӵ����"��֤��"�Ĺ�Կ�Ϳ�������"��֤��"�Ĺ�Կ����A֤���е�"������"�����ܳɹ���֤����֤��һ����"��֤��"�䷢��Ҳ��֤����A�Ĺ�Կ����ʵ����Ч�ġ�
����һ���µ�������λ��"��֤��"�Ĺ�Կ��λ�ȡ" ��֤��"��֤��"��֤��"��֤������˭�䷢����
֤��䷢���������Լ���ǩ���֤�顣�û����Ե�֤��䷢���ʵ�����һ��U�̽�֤��䷢���֤�鸴�ƻ������뵽�Լ��ļ�����ϡ���Ȼ֤��䷢��Ҳ�������ŷ���֤��䷢��ķ������շѵĶ��ҷ��ýϸߡ�
��ͨѸ�Ĺ����ֻҪ�õ��������֤��Ϳ��Ա�֤��ݵ������Ժ������֤�����û������Ա�ʱֻҪ�û��õ��Ա���֤�鼴����������֤����֤��ݵ������ԡ���ͨ������Ա��Dz���Ҫ��֤�û���ݵ�����֤���ɡ���Ȼֻ���û�������ʱ�Ա�����Ҫ��֤�û���������ʵ��������֧��������м�ƽ̨֧�����������Ա�֤�û����ײ����������ô�û���Ǯ�������ת�˵�֧�ֱ��������֤�û���ݵĹ������ƽ��������С��������������֤�û���ݵ�������Ҫ��ת��ʱʹ��U�ܻ���ܻܶ�ʹ���ֻ���Ϣ������֤�ȡ���ʵU���д洢�ľ���һ�����е�֤�����ʹ��U��ʱ����Ҫ��������֤��ȷ�ϡ�
��ݵĻ�������α�֤��
��ݼ���ʹ�öԳƼ��ܡ�ͨ��˫����ͨѸ֮ǰ���ȡ�Է���֤�顢��ԿȻ��˫��ʹ��IKEЭ�� DH�㷨�������� (�Գ�)���ܵ���Կ�� ���ͷ�����ʹ�õ�����ܽ����������ȡ������Ȼ�������Լ���˽Կ��"������"��������ͷ�������DH�㷨����ĶԳ���Կ �� ԭ�����������ܺ��"������" һ���ټ������ս����ܺ�����ݷ�����շ���
�����շ��յ�֮����������DH�㷨����ĶԳ���Կ�����յ�����ݿ���ܡ�Ȼ�����÷��ͷ��Ĺ�Կ��"������"���ֽ��������ܳɹ�˵�������һ���Ƿ��ͷ����Ķ���ð��������������֤Ȼ�����õ�������㷨�����������ȡ"������"���Ƚ�������"������"�����ͬ��˵������ڴ�������û�б��۸Ĺ�Ӷ�֤����ݵ������ԡ�
���ϵĹ������Ȼʵ���������֤�����ܡ���������Ե�DH�㷨���DZȽϸ��ӵĻ��и�ķ���ʵ�֡�
���Ƿ��ͷ��ڶ������ݼ���ʱʹ����������Ȼ�����ý��շ��Ĺ�Կ���������ܸ����������һ�ݸ���շ������շ��յ�֮�������Լ���˽Կ���������Կ���ܳ���Ȼ�������������Կ���������ݿ�Ȼ�����÷��ͷ��Ĺ�Կ����������Ȼ���Լ����õ�������㷨�����������ȡ���������Ƚ������������Ƿ���ͬ������ͨѸ��
ʵ�ּ��ܡ�����ǩ����������Ի��ơ������ŷ⡢˫������ǩ��Ȳ��ṩӦ�ó���ӿڵ�һ����ݰ�ȫϵͳ��ΪPKI��
PKI�Ļ���� �����PKIϵͳ�������Ȩ����֤��(CA)������֤��⡢��Կ���ݼ��ָ�ϵͳ��֤������ϵͳ��Ӧ�ýӿ�API�Ȼ��ɲ��ֹ���PKIҲ��Χ���������ϵͳ�����ֹ�����
CA֤��䷢���и�CA������CA����CAֻ�����ɷ���֧��CAҪ����֤��Ǽ�-->֤��ַ�-->֤�����-->֤������-->֤�����
���˽Կ��ʧ�ͻ���һЩ���⡣��ʱ�Ϳ�������֤��ʧЧ������Ϊ�˱�֤˽Կ�İ�ȫ����Ҫ��˽Կ�������롣ʹ��CRL ֤������б���������Щ֤���Ѿ�ʧЧ��
�����֤���ʽX509��֤���ʽ�DZ���ʽ��pkcs12��
x509�а�Կ������Ч���ޡ�֤��ĺϷ�ӵ���ߡ�֤�����α�ʹ�á�CA����Ϣ��ʹ��CA��˽Կ����ǩ���У���롣
PKI��ʵ��
1��TLS/SSL ʹ��x509��֤��
2��OpenGPG
������Ӧ�õ���� ����ʵ��֤�������Ʋ�ͬ����Ϣ��ϵ�Ĵ��ݷ�����ͬ��
TLS/SSL��������
Netscape ��˾ Ϊ��ʵ�ְ�ȫͨѸ��TCP ����Ӧ�ò�֮�����һ��SSL�㡣�������һ���⡣
�������ʹӦ�ò������Э��������SSL���װ���ٽ���TCP���ʵ���˰�ȫ����(https ��ftps��pop3s��imap4s��)��
SSL ( Secure Socket Layer) SSL v1 SSL v2 SSL v3 ĿǰӦ����v2 �� v3
���� SSL��������˾�����ļ������Թ�ʱ�����֯Ϊ�˽�һ���Ŀ����Կ�����TLS (Transport Layer Security)Ŀǰ��TLS v1 (�൱��SSL v3)
TLS�������ڴ����ʵ�ֵġ�
��http(tcp)Ϊ��˵��https�Ĺ�����̡� �����Ựǰ ��Ҫ����������ֺ�ֱ��ͨѸ����˫������Э�̽���SSL�Ự(ѡ��SSL�İ汾��TLS v1��ѡ������㷨)��Ȼ��Server�˻Ὣ�Լ���֤�鷢��ͻ���client�յ���Ҫ��֤֤����֤֤�����ʵ�Ժ���Ч�����ɹ���ȡ����Server�Ĺ�Կ��Ȼ��client���һ���Ự��Կ(�ԳƼ��ܷ�ʽ��ʱ��û��ʹ��IKE��Կ��������ʹ�������������һ���Գ���Կ)Ȼ��clientʹ��Server�˵Ĺ�Կ���Ự��Կ���ܲ������Server��Ȼ��Server��ʹ���Լ���˽Կ���ܻỰ��Կ��ʹ�ûỰ��Կ����ݼ������մ����ͻ��ˡ�
����ǶԳ�ʽ���ܱ������ʵ�ּ�����ݡ������֤(�� ��Կ����)
�塢�����㷨(algorithm)
�ԳƼ��ܵ��㷨��DES(��NAS���������㷨ʱIBM��˾�ṩ��Data Encryption Standard)�� DESʹ��56λ����Կ��2000���Ժ�����ʹ�����ܽϺõļ�������ƽ���DES����DES���ٰ�ȫ����Ȼ�����ֿ�����3DES�������ֽ�Ƚ����еļ����㷨������������ŵļ����㷨���������Ұ�ȫ���ٴ����������㷨�ͳ�����AES (Advanced Encryption Standard)������AES��128bit��һЩ���ֵ�AES�㷨������AES 192��AES 256��AES 512�ȵ�Ȼ��ԿԽ��Խ��ȫ���ٶ�Խ��Ȼ���� Blowfish ��RCҲ�ǶԳƼ����㷨��
�������MD4��MD5��SHA1��SHA192��SHA256��SHA384 ����Щ������Կ������������ȡ�
CRC-32 ����У���������һ��У���㷨���ṩ��ȫ�ԡ�
�ǶԳƼ���
����ʵ�������֤(����ǩ��)����ݼ���Ҳ����ʵ����Կ������������㷨��RSA(������������д��Ҳ�ǹ�˾��Ҳ�Ǽ����㷨��)����Լ��ܡ�ǩ��DSA(ֻ��ǩ��)ElGamal (��ҵ�㷨)��
����ֻ������ݰ�ȫ�������������openssl �� openGpGʵ����ݰ�ȫ���ע�����ĵ�
���ij��� ��11462293�� ���ͣ�����ر����˳���http://11472293.blog.51cto.com/11462293/1796617