zoukankan      html  css  js  c++  java
  • 2019-11-26:密码学基础知识,csrf防御

    信息安全的基础是数学--->密码算法--->安全协议(ssl VPN)-->应用(证书 PKI)
    密码学入门
    密码编码学:研究加解密算法的学科
    密码分析学:研究破译密码算法的学科

    加解密分类
    古典密码学
    移位(置换),不改数据内容只是重新排序来隐藏信息,如 栅栏密码、列置换密码
    替换(代替),明文数据被其他字母、数字、或其他符号替换,单表替换,仿射密码,多表替换,维吉尼亚密码

    近现代密码学
    对称密码算法(单钥密码系统),加密和解密的密钥是同一个,其安全性取决于密钥的保密性,常用加密算法AES,DES,3DES,RC4,SM4国密等

    非对称密码算法(公钥密码算法),由加解密的密钥不一样,一般加密是公钥,解密使用私钥,其安全性问题取决于困难性问题,非对称常用密码算法,RSA(困难性在于大整数分解困难性问题),EIGamal(困难性在于离散对数问题),ECC(椭圆曲线离散对数问题),SM2国密(困难问题取决于椭圆曲线离散对数问题)等

    单向散列函数(哈希函数),md4,md5,sha1,sm3国密,将不定长明文数据加密成定长的密文数据,并且解密不出明文,解密利用彩虹表

    csrf依赖关系
    1,web浏览器支持会话相关的功能,如cookie和http认证信息
    2,攻击者知道合法的web应用url
    3,应用程序进行会话管理所需要的信息,浏览器已经获得
    4,直接进行http/https资源访问的html标签,如图像标签,img

    csrf防御
    1,验证Referer头域,验证请求发起的位置,但是Referer可以伪造不算太靠谱
    2,验证tooken
    3,验证用户原始数据,如原密码,邮箱,验证码等

  • 相关阅读:
    Java ExecutorService四种线程池的例子与说明
    当代中国社会划分为十大阶层
    各大公司Java面试题超详细总结
    浅谈Java中的hashcode方法
    Java 9的JDK中值得期待的:不仅仅是模块化
    整理Excel数据,10秒搞定别人半天的工作量
    零基础搭建Hadoop大数据处理-环境
    Java性能优化权威指南第三章虚拟机概览第一部分
    15个顶级Java多线程面试题及答案
    最全面的Java多线程用法解析
  • 原文地址:https://www.cnblogs.com/sym945/p/11939568.html
Copyright © 2011-2022 走看看