A requirements engineering driven approach to security architecture design for distributed embedded systems