• 形式化、半形式化和非形式化是三种类型的规范风格。

    形式化规范就是用一套基于明确定义的数学概念的符号来书写,并且通常伴随着支持性的解释(非形式化)语句。这些数学概念被用来定义符号的句法和语义,以及支持逻辑推理的证明规则。支持形式化符号的句法和语义规则应该定义如何明确地识别其结构和确定其含义。并且必须有证据表明矛盾不可能产生,支持符号的所有规则都有定义或者引用。

    半形式化规范就是用一种受限制的句法语言来书写,并且通常伴随着支持性的解释(非形式化)语句。...
  • intel网卡芯片的发展历程

    日期:2009-12-17 | 分类:技术文章

    intel网卡是在intel网卡芯片出现了了才出现的,以intel芯片为核心生产出不同型号的intel网卡。intel芯片的不断的升级也造就intel网卡的不段升级 从最初以intel芯片 82557\82559为核心和生产的intel 8460b、intel8460bn等百兆网卡(停产)发展到现在以intel 82598芯片为核心intel expx9501afxlr、intel expx9502afxlr和intel expx9501afxsr intel万兆光纤网卡.

    ...

  • linux下logrotate 配置和理解

    日期:2009-12-09 | 分类:Unix

    对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate 程序用来管理系统中的最新的事件,对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate 程序用来管理系统中的最新的事件。logrotate 还可以用来备份日志文件,本篇将通过以下几部分来介绍
    日志文件的管理:
    1、logrotate 配置
    2、缺省配置 logrotate
    3、使用include 选项读取其他配置文件...
  • shorewall不是一个daemon的程序,它是一个加载iptables指令的套件,所以请别指望使用ps -aux这类的指令来查询它的行程,接下来的部份就分别说明各个设定文件的功能及格式。

          本质上来说,shorewall是Iptables的配置工具。因为Iptables的语法晦涩难懂,命令繁多,难以记忆和理解。所以通过配置相对容易理解的shorewall进行防火墙的配置,之后shorewall会自动的调用Ipt...
  • 常见证书格式及相互转换

    日期:2009-11-30 | 分类:PKI

    PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:
    PKCS#7 Cryptographic Message Syntax Standard
    PKCS#10 Certification Request Standard
    PKCS#12 Personal Information Exchange Syntax Standard

    X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。

    PKCS#7 常用的后缀是: .P7B .P7C .SPC
    PKCS#12 常用的后缀有: .P12 .PFX
    X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT
    X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT
    .cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。
    .pem跟crt/cer的区别是它以Ascii来表示。
    pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式
    p10是证书请求
    p7r是CA对证书请求的回复,只用于导入
    p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。
    —————-
    小美注:
    der,cer文件一般是二进制格式的,只放证书,不含私钥
    crt文件可能是二进制的,也可能是文本格式的,应该以文本格式居多,功能同der/cer
    pem文件一般是文本格式的,可以放证书或者私钥,或者两者都有
    pem如果只含私钥的话,一般用.key扩展名,而且可以有密码保护
    pfx,p12文件是二进制格式,同时含私钥和证书,通常有保护密码
    怎么判断是文本格式还是二进制?用记事本打开,如果是规则的数字字母,如
    —–BEGIN CERTIFICATE—–
    MIIE9jCCA96gAwIBAgIQVXD9d9wgivhJM//a3VIcDjANBgkqhkiG9w0BAQUFADBy
    —–END CERTIFICATE—–
    就是文本的,上面的BEGIN CERTIFICATE,说明这是一个证书
    如果是—–BEGIN RSA PRIVATE KEY—–,说明这是一个私钥
    文本格式的私钥,也可能有密码保护
    文本格式怎么变成二进制? 从程序角度来说,去掉前后的—-行,剩下的去掉回车,用base64解码,就得到二进制了
    不过一般都用命令行openssl完成这个工作
    —————
    一 用openssl
  • 常见证书格式及相互转换

    日期:2009-11-30 | 分类:PKI

    PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:
    PKCS#7 Cryptographic Message Syntax Standard
    PKCS#10 Certification Request Standard
    PKCS#12 Personal Information Exchange Syn...
  • LDAP

    日期:2009-11-30 | 分类:技术文章

    LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

      简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。
    ...
  • X.509证书DN之详解

    日期:2009-11-30 | 分类:PKI

    X.509使用DN(Distinct Name)来唯一标识一个实体,其功能类似我们平常使用的ID,不过不同的是,DN不再是类似 123456 这样得数字标识,而是采用多个字段来标识一个实体,例如”CN=老所,C=CN”,这样做的好处在于方便匹配到诸如LDAP一样的目录服务中。那么,DN的字段是否可以随意增加呢?比如我能否在”CN=老所,O=测试公司”这样一个DN上再增加一个ID属性,变成”CN=老所,O=测试公司,ID=123456&Pri...
  • xauth协议

    日期:2009-11-26 | 分类:PKI

    目前由于宽带接入的快速发展,广泛的中小商用企业部署IPSec VPN网络,构建远程客户端对公司中心资源访问的应用已极为普通。在部署此类远程访问的IPSec VPN应用时,通常是要设置多个客户端连接到VPN中心网络,网管人员的通常做法是为每一个用户设置不同VPN策略和预置密码用以区分每一个用户,此工作量是巨大的,管理也不方便。因此现在市场上主流的IPSec VPN网关设备提供另外一种解决方案,就是在VPN网关中只要配置一条VPN的策略,就可允许多个如高达1000个远程客户端的同时接入,然后只要对远程客...
  • ISO8859-1、UTF-8 与GB2312

    日期:2009-11-26 | 分类:技术文章

    Unicode、UTF-8 和 ISO8859-1到底有什么区别

    1.本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。

    在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示"。

    2....
  • 函数指针和指针函数

    日期:2009-11-25 | 分类:C/C++

    函数指针】

           在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。

    1.函数指针定义

    函数类型 (*指针变量名)(形参列表);

    “函数类型”说明函数...

  • 基于标识的密码技术

    日期:2009-11-18 | 分类:PKI

    IBC(Identity-Based Cryptograph)即基于标识的密码技术,IBC是基于传统的PKI(公开密钥基础设施)基础上发展而来,主要简化在具体安全应用在大量数字证书的交换问题,使安全应用更加易于部署和使用。

      IBC密码技术使用的是非对称密码体系,加密与解密使用两套不同的密钥,每个人的公钥就是他的身份标识,比如email地址,电话号码等。而私钥则以数据的形式由用户自己掌握,密钥管理相当简单,可以很方便的对数据信息进行加解密。

      ...
  • synchronized

    日期:2009-11-18 | 分类:PKI

    1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如:

      public synchronized void accessVal(int newVal);

      synchronized 方法控制对类成员变量的访问:每个类实例对应一把锁,每个 synchronized 方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返...
  • openssl在vs2005下的编译

    日期:2009-10-26 | 分类:PKI

    openssl编译 openssl-0.9.8b 1.下载 ActivePerl-5.8.0.806-MSWin32-x86 并安装     http://221.231.138.20/soft/ActivePerl-5.8.0.806-MSWin32-x86.rar 2.下载 openssl-0.9.8bi 解压到根目录下 。如c:
        http://www.openssl.org/sourc...

  • 五款小巧的Web Server[C语言]

    日期:2009-10-26 | 分类:C/C++

    1、micro_httpd - really small HTTP server
    特点:
        支持安全的 .. 上级目录过滤
        支持通用的MIME类型
        支持简单的目录
        支持目录列表
        支持使用 index.html 作为首页
      &...
  • Linux proc文件系统

    日期:2009-10-21 | 分类:Unix

    proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下:

     

    目录名称 目录内容

    apm 高级电源管理信息
    ...
  • windows 下的信号机制初探

    日期:2009-10-21 | 分类:Windows

    在windows下,信号机制简单来说是通过工作线程实现的,该线程运行于相对优先级THREAD_PRIORITY_HIGHEST,当信号产生时,windows生成该线程执行信号处理逻辑,由于该线程优先级通常主线程,也高于用户自己显式创建的任何线程,windows线程调度逻辑将阻塞其余线程的执行,直到信号处理完毕工作线程退出.

    以下是测试代码

    #include "stdafx.h"
    #include <signal.h>...
  • cygwin关键技术:signal机制

    日期:2009-10-21 | 分类:Windows

    Linux下的程序经常使用signal机制,cygwin对其进行了模仿,下面对它的这一关键技术进行分析。

    1.1    信号量接收线程
    在cygwin初始化的时候,会创建一个叫wait_sig的线程,看看这个线程做了什么:

    /* Process signals by waiting for cyg_signal data to arrive in a pipe.

     &nbs...
  • 在C层优化你的memcpy函数

    日期:2009-10-19 | 分类:C/C++

    在系统设计中,我们经常会用到memcpy函数,尤其是在管理循环缓存时(这时可能就没有DMA能给你使用了,呵呵!)。移动的数据量很大,这时高效率的memcpy就很是重要了。对于SDRAM-->SDRAM的数据搬移,当需要memcopy函数传输超过35个字的时候,先把SDRAM中的数据搬到L1中暂存,然后搬到目的SDRAM中,这样效率会更高,这里我提供了一个在C语言级别优化memcpy函数的例子:

    void memcopy(void *dest, const void *...
  • Linux系统常用系统性能监控工具

    日期:2009-10-19 | 分类:Unix

    高级 Linux 命令精通指南,第 3 部分:资源管理

    在此部分中,了解用于监视物理组件的高级 Linux 命令

    Linux 系统由若干主要物理组件组成,如 CPU、内存、网卡和存储设备。要有效地管理 Linux 环境,您应该能够以合理的精度测量这些资源的各种指标 — 每个组件处理多少资源、是否存在瓶颈等。

    在本系列的其他部分中,您已经学习了处于宏级别的用于测量指标的一些命令。但在此部分中,您将了解专门用于监视...

  • Detour开发包之API拦截技术

    日期:2009-10-14 | 分类:技术文章

         我们截获函数执行最直接的目的就是为函数增添功能,修改返回值,或者为调试以及性能测试加入附加的代码,或者截获函数的输入输 出作研究,破解使用。通过访问源代码,我们可以轻而易举的使用重建(Rebuilding)操作系统或者应用程序的方法在它们中间插入新的功能或者做功能 扩展。然而,在今天这个商业化的开发世界里,以及在只有二进制代码发布的系统中,研究人员几乎没有机会可以得到源代码。本文主要讨论Detour在 Windows二进制PE文件基础上的API截获技...

  • 超级难懂的英文保密协议

    日期:2009-10-13 | 分类:外文资料

    Non-Disclosure Agreement (保密协议)

    Non-Disclosure Agreement


    This AGREEMENT is made on______________ between***** a corporation organized and existing under the laws of Hong Kong and having principal place of business at (Her...
  • 执行力问题已经成为现代企业普遍关注的一个焦点。再好的制度、再好的决策、再好的思路、再伟大的创想如果离开了执行力,一切都没有了意义。

    离开微软之前,比尔-盖茨曾经对媒体记者说:“在未来的10年里,微软所面临的挑战就是执行力。”可见,在盖茨的眼中,执行力决定着微软的兴衰成败。

    确实是这样的。从创业的第一天开始,盖茨就认为,制定正确的战略,拥有伟大的理想固然重要,但更重要的是战略的执行和理想的实施。

    所以,当盖...

  • 我的2009国庆长假

    日期:2009-10-09 | 分类:生活感悟

    2009年10。1长假。

    1号和媳妇回我家了,第一次带女朋友回家,老爸和老妈还挺激动的,热情接待的同时,也给我们下一步的工作以重要指示:两个人在一起,最需要的就是真诚以待,共同进退,我也感受到了爸妈的欣慰,他们知道,我不再是“一个人在战斗”了。

    3号我们俩又去了媳妇家,去接受她爸妈的庄严审阅,在去的前一天晚上,我竟然有点小失眠,像我这种当年高考谈笑风生的,竟然也会这样,看来,我在忐忑的同时,也明白了媳妇在我心里的地位。还好,...
  • Linux动态链接库的创建与使用

    日期:2009-10-09 | 分类:Unix

    1. 介绍 

        使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。 

        程序函数库可分为3种类型:静态函数库(static librari...
  • 7个软件开发原则[转]

    日期:2009-10-09 | 分类:技术文章

     关于代码重复最著名的单词是Kent Beck的Once And Only Once,也就是说软件操作的任何一个片断--不管是一个算法,一个常量集合,用于阅读的文档或者其他东西--应当只出现一次。 软件重复出现至少会导致以下问题:
    · 其中的一个版本会过期
    · 代码的责任会四处散开,导致代码难以理解
    · 当你修改代码时,需要重复修改很多地方,一不小心就会遗漏
    · 你不能很好地进行性能优化...
  • This is detail of how to updating driver for gigabit network card
    [Broadcom TG3:NetXtreme] on fedora core 4.

    1. Download kernel-devel-2.6.11-1.1369_FC4.i686.rpm from :
    ftp://ftp.riken.jp/Linux/fedora/core/4/i386/os/Fedora/RPMS/...

  • 指针(详解)[转]

    日期:2009-09-27 | 分类:技术文章

    第一章。指针的概念

    指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。

    先声明几个指针放着做例子:

    例一:

    (1)int *ptr;

    (2)char *ptr;

    (3)int **ptr; ...

  • 关于网络字节序[转]

    日期:2009-09-27 | 分类:技术文章

    这几天又开始做网络方面的应用了,既然是网络编程,字节序肯定是需要牢记的一个知识点了。贴篇文章,以备忘!

    不同的 CPU 有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序
    最常见的有两种
    1 . Little endian :将低序字节存储在起始地址
    2 . Big endian :将高序字节存储在起始地址

    LE little-endian
    最符合人的思维的字节序
    ...